claude-mpm 5.4.21__py3-none-any.whl → 5.4.36__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_AGENT.md +164 -0
- claude_mpm/agents/BASE_ENGINEER.md +658 -0
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +320 -880
- claude_mpm/agents/WORKFLOW.md +5 -254
- claude_mpm/agents/agent_loader.py +1 -1
- claude_mpm/agents/base_agent.json +31 -0
- claude_mpm/cli/commands/agent_state_manager.py +10 -10
- claude_mpm/cli/commands/agents.py +9 -9
- claude_mpm/cli/commands/auto_configure.py +4 -4
- claude_mpm/cli/commands/configure.py +1 -1
- claude_mpm/cli/commands/postmortem.py +1 -1
- claude_mpm/cli/interactive/agent_wizard.py +2 -2
- claude_mpm/cli/startup.py +98 -58
- claude_mpm/core/config.py +2 -4
- claude_mpm/core/framework/loaders/agent_loader.py +1 -1
- claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
- claude_mpm/core/unified_agent_registry.py +1 -1
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DjhvlsAc.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/N4qtv3Hx.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uj46x2Wr.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.CAGBuiOw.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/hook_handler.py +149 -1
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +26 -6
- claude_mpm/models/git_repository.py +3 -3
- claude_mpm/services/agents/cache_git_manager.py +6 -6
- claude_mpm/services/agents/deployment/agent_deployment.py +7 -7
- claude_mpm/services/agents/deployment/agent_discovery_service.py +2 -2
- claude_mpm/services/agents/deployment/agent_template_builder.py +2 -2
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +20 -22
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +55 -53
- claude_mpm/services/agents/git_source_manager.py +2 -2
- claude_mpm/services/agents/recommender.py +5 -3
- claude_mpm/services/agents/single_tier_deployment_service.py +2 -2
- claude_mpm/services/agents/sources/git_source_sync_service.py +5 -5
- claude_mpm/services/agents/startup_sync.py +22 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +1 -1
- claude_mpm/services/git/git_operations_service.py +8 -8
- claude_mpm/services/monitor/server.py +473 -3
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +37 -6
- claude_mpm/services/socketio/server/core.py +262 -123
- claude_mpm/utils/agent_dependency_loader.py +14 -2
- claude_mpm/utils/agent_filters.py +1 -1
- claude_mpm/utils/migration.py +4 -4
- claude_mpm/utils/robust_installer.py +47 -3
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/METADATA +5 -3
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/RECORD +84 -49
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/top_level.txt +0 -0
claude_mpm/cli/startup.py
CHANGED
|
@@ -10,7 +10,6 @@ Part of cli/__init__.py refactoring to reduce file size and improve modularity.
|
|
|
10
10
|
|
|
11
11
|
import os
|
|
12
12
|
import sys
|
|
13
|
-
import warnings
|
|
14
13
|
from pathlib import Path
|
|
15
14
|
|
|
16
15
|
|
|
@@ -61,42 +60,11 @@ def sync_hooks_on_startup(quiet: bool = False) -> bool:
|
|
|
61
60
|
|
|
62
61
|
|
|
63
62
|
def check_legacy_cache() -> None:
|
|
64
|
-
"""
|
|
63
|
+
"""Deprecated: Legacy cache checking is no longer needed.
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
with 26 active code references, while cache/agents/ has only 7 legacy references.
|
|
69
|
-
|
|
70
|
-
DESIGN DECISIONS:
|
|
71
|
-
- Non-blocking warning: Doesn't stop execution, just informs user
|
|
72
|
-
- Migration guidance: Provides clear path to migrate
|
|
73
|
-
- One-time check: Only warns if legacy cache contains files
|
|
65
|
+
This function is kept for backward compatibility but does nothing.
|
|
66
|
+
All agent cache operations now use the standardized cache/agents/ directory.
|
|
74
67
|
"""
|
|
75
|
-
home = Path.home()
|
|
76
|
-
legacy_cache = home / ".claude-mpm" / "cache" / "agents"
|
|
77
|
-
canonical_cache = home / ".claude-mpm" / "cache" / "remote-agents"
|
|
78
|
-
migration_marker = home / ".claude-mpm" / "cache" / ".migrated_to_remote_agents"
|
|
79
|
-
|
|
80
|
-
# Skip if already migrated or no legacy cache
|
|
81
|
-
if migration_marker.exists() or not legacy_cache.exists():
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
# Check if legacy cache has actual agent files
|
|
85
|
-
legacy_files = list(legacy_cache.glob("*.md")) + list(legacy_cache.glob("*.json"))
|
|
86
|
-
if not legacy_files:
|
|
87
|
-
return
|
|
88
|
-
|
|
89
|
-
# Only warn if canonical cache doesn't exist (indicating unmigrated system)
|
|
90
|
-
if not canonical_cache.exists():
|
|
91
|
-
warnings.warn(
|
|
92
|
-
f"\n⚠️ DEPRECATION: Legacy cache directory detected\n"
|
|
93
|
-
f" Location: {legacy_cache}\n"
|
|
94
|
-
f" Files found: {len(legacy_files)}\n\n"
|
|
95
|
-
f"The 'cache/agents/' directory is deprecated. Please migrate to 'cache/remote-agents/'.\n"
|
|
96
|
-
f"Run: python scripts/migrate_cache_to_remote_agents.py\n",
|
|
97
|
-
DeprecationWarning,
|
|
98
|
-
stacklevel=2,
|
|
99
|
-
)
|
|
100
68
|
|
|
101
69
|
|
|
102
70
|
def setup_early_environment(argv):
|
|
@@ -476,13 +444,76 @@ def sync_remote_agents_on_startup():
|
|
|
476
444
|
# Count agents in cache to show accurate progress
|
|
477
445
|
from pathlib import Path
|
|
478
446
|
|
|
479
|
-
cache_dir = Path.home() / ".claude-mpm" / "cache" / "
|
|
447
|
+
cache_dir = Path.home() / ".claude-mpm" / "cache" / "agents"
|
|
480
448
|
agent_count = 0
|
|
481
449
|
|
|
482
450
|
if cache_dir.exists():
|
|
483
|
-
#
|
|
484
|
-
#
|
|
485
|
-
#
|
|
451
|
+
# BUGFIX (cache-count-inflation): Clean up stale cache files
|
|
452
|
+
# from old repositories before counting to prevent inflated counts.
|
|
453
|
+
# Issue: Old caches like bobmatnyc/claude-mpm-agents/agents/
|
|
454
|
+
# were counted alongside current agents, inflating count
|
|
455
|
+
# from 44 to 85.
|
|
456
|
+
#
|
|
457
|
+
# Solution: Remove files with nested /agents/ paths
|
|
458
|
+
# (e.g., cache/agents/user/repo/agents/...)
|
|
459
|
+
# Keep only current agents (e.g., cache/agents/engineer/...)
|
|
460
|
+
removed_count = 0
|
|
461
|
+
stale_dirs = set()
|
|
462
|
+
|
|
463
|
+
for md_file in cache_dir.rglob("*.md"):
|
|
464
|
+
# Stale cache files have multiple /agents/ in their path
|
|
465
|
+
# Current: ~/.claude-mpm/cache/agents/engineer/...
|
|
466
|
+
# (1 occurrence)
|
|
467
|
+
# Old: ~/.claude-mpm/cache/agents/bobmatnyc/.../agents/...
|
|
468
|
+
# (2+ occurrences)
|
|
469
|
+
if str(md_file).count("/agents/") > 1:
|
|
470
|
+
# Track parent directory for cleanup
|
|
471
|
+
# Extract subdirectory under cache/agents/
|
|
472
|
+
# (e.g., "bobmatnyc")
|
|
473
|
+
parts = md_file.parts
|
|
474
|
+
cache_agents_idx = parts.index("agents")
|
|
475
|
+
if cache_agents_idx + 1 < len(parts):
|
|
476
|
+
stale_subdir = parts[cache_agents_idx + 1]
|
|
477
|
+
# Only remove if it's not a known category directory
|
|
478
|
+
if stale_subdir not in [
|
|
479
|
+
"engineer",
|
|
480
|
+
"ops",
|
|
481
|
+
"qa",
|
|
482
|
+
"universal",
|
|
483
|
+
"documentation",
|
|
484
|
+
"claude-mpm",
|
|
485
|
+
"security",
|
|
486
|
+
]:
|
|
487
|
+
stale_dirs.add(cache_dir / stale_subdir)
|
|
488
|
+
|
|
489
|
+
md_file.unlink()
|
|
490
|
+
removed_count += 1
|
|
491
|
+
|
|
492
|
+
# Remove empty stale directories
|
|
493
|
+
for stale_dir in stale_dirs:
|
|
494
|
+
if stale_dir.exists() and stale_dir.is_dir():
|
|
495
|
+
try:
|
|
496
|
+
# Remove directory and all contents
|
|
497
|
+
import shutil
|
|
498
|
+
|
|
499
|
+
shutil.rmtree(stale_dir)
|
|
500
|
+
except Exception:
|
|
501
|
+
pass # Ignore cleanup errors
|
|
502
|
+
|
|
503
|
+
if removed_count > 0:
|
|
504
|
+
from loguru import logger
|
|
505
|
+
|
|
506
|
+
logger.info(
|
|
507
|
+
f"Cleaned up {removed_count} stale cache files "
|
|
508
|
+
f"from old repositories"
|
|
509
|
+
)
|
|
510
|
+
|
|
511
|
+
# Count MD files in cache (agent markdown files from
|
|
512
|
+
# current repos)
|
|
513
|
+
# BUGFIX: Only count files in agent directories,
|
|
514
|
+
# not docs/templates/READMEs
|
|
515
|
+
# Valid agent paths must contain "/agents/" exactly ONCE
|
|
516
|
+
# (current structure)
|
|
486
517
|
# Exclude PM templates, BASE-AGENT, and documentation files
|
|
487
518
|
pm_templates = {
|
|
488
519
|
"base-agent.md",
|
|
@@ -505,25 +536,34 @@ def sync_remote_agents_on_startup():
|
|
|
505
536
|
"auto-deploy-index.md",
|
|
506
537
|
}
|
|
507
538
|
|
|
508
|
-
# Find all markdown files
|
|
539
|
+
# Find all markdown files (after cleanup)
|
|
509
540
|
all_md_files = list(cache_dir.rglob("*.md"))
|
|
510
541
|
|
|
511
542
|
# Filter to only agent files:
|
|
512
|
-
# 1. Must have "/agents/" in path
|
|
543
|
+
# 1. Must have "/agents/" in path exactly ONCE
|
|
544
|
+
# (current structure)
|
|
513
545
|
# 2. Must not be in PM templates or doc files
|
|
514
546
|
# 3. Exclude BASE-AGENT.md which is not a deployable agent
|
|
515
|
-
# 4. Exclude build artifacts (dist/, build/, .cache/)
|
|
547
|
+
# 4. Exclude build artifacts (dist/, build/, .cache/)
|
|
548
|
+
# to prevent double-counting
|
|
516
549
|
agent_files = [
|
|
517
550
|
f
|
|
518
551
|
for f in all_md_files
|
|
519
552
|
if (
|
|
520
|
-
# Must be in an agent directory (from
|
|
553
|
+
# Must be in an agent directory (from current
|
|
554
|
+
# cache structure)
|
|
521
555
|
"/agents/" in str(f)
|
|
556
|
+
# NEW: Only ONE /agents/ in path (excludes old
|
|
557
|
+
# nested repos)
|
|
558
|
+
# This prevents counting old caches like
|
|
559
|
+
# bobmatnyc/claude-mpm-agents/agents/...
|
|
560
|
+
and str(f).count("/agents/") == 1
|
|
522
561
|
# Exclude PM templates, doc files, and BASE-AGENT
|
|
523
562
|
and f.name.lower() not in pm_templates
|
|
524
563
|
and f.name.lower() not in doc_files
|
|
525
564
|
and f.name.lower() != "base-agent.md"
|
|
526
|
-
# Exclude build artifacts (prevents double-counting
|
|
565
|
+
# Exclude build artifacts (prevents double-counting
|
|
566
|
+
# source + built files)
|
|
527
567
|
and not any(
|
|
528
568
|
part in str(f).split("/")
|
|
529
569
|
for part in ["dist", "build", ".cache"]
|
|
@@ -594,27 +634,27 @@ def sync_remote_agents_on_startup():
|
|
|
594
634
|
)
|
|
595
635
|
|
|
596
636
|
# Show total configured agents (deployed + updated + already existing)
|
|
597
|
-
# Include
|
|
637
|
+
# Include cache count for context and removed count if any
|
|
598
638
|
if deployed > 0 or updated > 0:
|
|
599
639
|
if removed > 0:
|
|
600
640
|
deploy_progress.finish(
|
|
601
641
|
f"Complete: {deployed} new, {updated} updated, {skipped} unchanged, "
|
|
602
|
-
f"{removed} removed ({total_configured} configured from {agent_count} in
|
|
642
|
+
f"{removed} removed ({total_configured} configured from {agent_count} files in cache)"
|
|
603
643
|
)
|
|
604
644
|
else:
|
|
605
645
|
deploy_progress.finish(
|
|
606
646
|
f"Complete: {deployed} new, {updated} updated, {skipped} unchanged "
|
|
607
|
-
f"({total_configured} configured from {agent_count} in
|
|
647
|
+
f"({total_configured} configured from {agent_count} files in cache)"
|
|
608
648
|
)
|
|
609
649
|
elif removed > 0:
|
|
610
650
|
deploy_progress.finish(
|
|
611
|
-
f"Complete: {total_configured} agents
|
|
612
|
-
f"{removed} removed ({agent_count}
|
|
651
|
+
f"Complete: {total_configured} agents deployed, "
|
|
652
|
+
f"{removed} removed ({agent_count} files in cache)"
|
|
613
653
|
)
|
|
614
654
|
else:
|
|
615
655
|
deploy_progress.finish(
|
|
616
|
-
f"Complete: {total_configured} agents
|
|
617
|
-
f"({agent_count}
|
|
656
|
+
f"Complete: {total_configured} agents deployed "
|
|
657
|
+
f"({agent_count} files in cache)"
|
|
618
658
|
)
|
|
619
659
|
|
|
620
660
|
# Display deployment errors to user (not just logs)
|
|
@@ -841,7 +881,7 @@ def sync_remote_skills_on_startup():
|
|
|
841
881
|
|
|
842
882
|
# Show total available skills (deployed + already existing)
|
|
843
883
|
# Include source indication (user_defined vs agent_referenced)
|
|
844
|
-
# Note: total_skill_count is from
|
|
884
|
+
# Note: total_skill_count is from cache, total_available is what's deployed/needed
|
|
845
885
|
source_label = (
|
|
846
886
|
"user override" if skill_source == "user_defined" else "from agents"
|
|
847
887
|
)
|
|
@@ -850,22 +890,22 @@ def sync_remote_skills_on_startup():
|
|
|
850
890
|
if filtered > 0:
|
|
851
891
|
deploy_progress.finish(
|
|
852
892
|
f"Complete: {deployed} new, {skipped} unchanged "
|
|
853
|
-
f"({total_available} {source_label}, {filtered}
|
|
893
|
+
f"({total_available} {source_label}, {filtered} files in cache)"
|
|
854
894
|
)
|
|
855
895
|
else:
|
|
856
896
|
deploy_progress.finish(
|
|
857
897
|
f"Complete: {deployed} new, {skipped} unchanged "
|
|
858
|
-
f"({total_available} skills {source_label} from {total_skill_count} in
|
|
898
|
+
f"({total_available} skills {source_label} from {total_skill_count} files in cache)"
|
|
859
899
|
)
|
|
860
900
|
elif filtered > 0:
|
|
861
901
|
# Skills filtered means agents require fewer skills than available
|
|
862
902
|
deploy_progress.finish(
|
|
863
|
-
f"No skills needed ({source_label}, {total_skill_count}
|
|
903
|
+
f"No skills needed ({source_label}, {total_skill_count} files in cache)"
|
|
864
904
|
)
|
|
865
905
|
else:
|
|
866
906
|
deploy_progress.finish(
|
|
867
907
|
f"Complete: {total_available} skills {source_label} "
|
|
868
|
-
f"({total_skill_count}
|
|
908
|
+
f"({total_skill_count} files in cache)"
|
|
869
909
|
)
|
|
870
910
|
|
|
871
911
|
# Log deployment errors if any
|
|
@@ -921,7 +961,7 @@ def show_agent_summary():
|
|
|
921
961
|
installed_count = len(agent_files)
|
|
922
962
|
|
|
923
963
|
# Count available agents in cache (from remote sources)
|
|
924
|
-
cache_dir = Path.home() / ".claude-mpm" / "cache" / "
|
|
964
|
+
cache_dir = Path.home() / ".claude-mpm" / "cache" / "agents"
|
|
925
965
|
available_count = 0
|
|
926
966
|
if cache_dir.exists():
|
|
927
967
|
# Use same filtering logic as agent deployment (lines 486-533 in startup.py)
|
|
@@ -966,7 +1006,7 @@ def show_agent_summary():
|
|
|
966
1006
|
# Display summary if we have agents
|
|
967
1007
|
if installed_count > 0 or available_count > 0:
|
|
968
1008
|
print(
|
|
969
|
-
f"✓ Agents: {installed_count}
|
|
1009
|
+
f"✓ Agents: {installed_count} deployed / {available_count} cached",
|
|
970
1010
|
flush=True,
|
|
971
1011
|
)
|
|
972
1012
|
|
claude_mpm/core/config.py
CHANGED
|
@@ -563,7 +563,7 @@ class Config:
|
|
|
563
563
|
# Instruction reinforcement system configuration
|
|
564
564
|
"instruction_reinforcement": {
|
|
565
565
|
"enabled": True,
|
|
566
|
-
"test_mode":
|
|
566
|
+
"test_mode": False,
|
|
567
567
|
"injection_interval": 5,
|
|
568
568
|
"test_messages": [
|
|
569
569
|
"[TEST-REMINDER] This is an injected instruction reminder",
|
|
@@ -603,9 +603,7 @@ class Config:
|
|
|
603
603
|
}
|
|
604
604
|
],
|
|
605
605
|
"sync_interval": "startup", # Options: "startup", "hourly", "daily", "manual"
|
|
606
|
-
"cache_dir": str(
|
|
607
|
-
Path.home() / ".claude-mpm" / "cache" / "remote-agents"
|
|
608
|
-
),
|
|
606
|
+
"cache_dir": str(Path.home() / ".claude-mpm" / "cache" / "agents"),
|
|
609
607
|
},
|
|
610
608
|
}
|
|
611
609
|
|
|
@@ -118,7 +118,7 @@ class AgentLoader:
|
|
|
118
118
|
"""Discover local JSON agent templates.
|
|
119
119
|
|
|
120
120
|
NOTE: This method is kept for backward compatibility but is deprecated.
|
|
121
|
-
The new architecture uses SOURCE (~/.claude-mpm/cache/
|
|
121
|
+
The new architecture uses SOURCE (~/.claude-mpm/cache/agents/)
|
|
122
122
|
and DEPLOYMENT (.claude/agents/) locations only.
|
|
123
123
|
|
|
124
124
|
Returns:
|
|
@@ -88,39 +88,80 @@ class InstructionLoader:
|
|
|
88
88
|
self.packaged_loader.framework_last_modified
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
def _extract_version(self, file_content: str) -> int:
|
|
92
|
+
"""Extract version number from PM_INSTRUCTIONS_VERSION comment.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
file_content: Content of the file to extract version from
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
Version number as integer, or 0 if not found
|
|
99
|
+
"""
|
|
100
|
+
import re
|
|
101
|
+
|
|
102
|
+
match = re.search(r"PM_INSTRUCTIONS_VERSION:\s*(\d+)", file_content)
|
|
103
|
+
if match:
|
|
104
|
+
return int(match.group(1))
|
|
105
|
+
return 0 # No version = oldest
|
|
106
|
+
|
|
91
107
|
def _load_filesystem_framework_instructions(self, content: Dict[str, Any]) -> None:
|
|
92
108
|
"""Load framework instructions from filesystem.
|
|
93
109
|
|
|
94
110
|
Priority order:
|
|
95
|
-
1. Deployed compiled file: .claude-mpm/PM_INSTRUCTIONS_DEPLOYED.md (
|
|
111
|
+
1. Deployed compiled file: .claude-mpm/PM_INSTRUCTIONS_DEPLOYED.md (if version >= source)
|
|
96
112
|
2. Source file (development): src/claude_mpm/agents/PM_INSTRUCTIONS.md
|
|
97
113
|
3. Legacy file (backward compat): src/claude_mpm/agents/INSTRUCTIONS.md
|
|
98
114
|
|
|
115
|
+
Version validation ensures deployed file is never stale compared to source.
|
|
116
|
+
|
|
99
117
|
Args:
|
|
100
118
|
content: Dictionary to update with framework instructions
|
|
101
119
|
"""
|
|
120
|
+
# Define source path for version checking
|
|
121
|
+
pm_instructions_path = (
|
|
122
|
+
self.framework_path / "src" / "claude_mpm" / "agents" / "PM_INSTRUCTIONS.md"
|
|
123
|
+
)
|
|
124
|
+
|
|
102
125
|
# PRIORITY 1: Check for compiled/deployed version in .claude-mpm/
|
|
103
126
|
# This is the merged PM_INSTRUCTIONS.md + WORKFLOW.md + MEMORY.md
|
|
104
127
|
deployed_path = self.current_dir / ".claude-mpm" / "PM_INSTRUCTIONS_DEPLOYED.md"
|
|
105
128
|
if deployed_path.exists():
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
)
|
|
109
|
-
|
|
110
|
-
|
|
129
|
+
# Validate version before using deployed file
|
|
130
|
+
deployed_content = deployed_path.read_text()
|
|
131
|
+
deployed_version = self._extract_version(deployed_content)
|
|
132
|
+
|
|
133
|
+
# Check source version for comparison
|
|
134
|
+
if pm_instructions_path.exists():
|
|
135
|
+
source_content = pm_instructions_path.read_text()
|
|
136
|
+
source_version = self._extract_version(source_content)
|
|
137
|
+
|
|
138
|
+
if deployed_version < source_version:
|
|
139
|
+
self.logger.warning(
|
|
140
|
+
f"Deployed PM instructions v{deployed_version:04d} is stale, "
|
|
141
|
+
f"source is v{source_version:04d}. Using source instead."
|
|
142
|
+
)
|
|
143
|
+
# Fall through to source loading - don't return early
|
|
144
|
+
else:
|
|
145
|
+
# Version OK, use deployed
|
|
146
|
+
content["framework_instructions"] = deployed_content
|
|
147
|
+
content["loaded"] = True
|
|
148
|
+
self.logger.info(
|
|
149
|
+
f"Loaded PM_INSTRUCTIONS_DEPLOYED.md v{deployed_version:04d} from .claude-mpm/"
|
|
150
|
+
)
|
|
151
|
+
return # Stop here - deployed version is current
|
|
152
|
+
else:
|
|
153
|
+
# Source doesn't exist, use deployed even without version check
|
|
154
|
+
content["framework_instructions"] = deployed_content
|
|
111
155
|
content["loaded"] = True
|
|
112
156
|
self.logger.info("Loaded PM_INSTRUCTIONS_DEPLOYED.md from .claude-mpm/")
|
|
113
|
-
return
|
|
157
|
+
return
|
|
114
158
|
|
|
115
159
|
# PRIORITY 2: Development mode - load from source PM_INSTRUCTIONS.md
|
|
116
|
-
pm_instructions_path = (
|
|
117
|
-
self.framework_path / "src" / "claude_mpm" / "agents" / "PM_INSTRUCTIONS.md"
|
|
118
|
-
)
|
|
119
160
|
framework_instructions_path = (
|
|
120
161
|
self.framework_path / "src" / "claude_mpm" / "agents" / "INSTRUCTIONS.md"
|
|
121
162
|
)
|
|
122
163
|
|
|
123
|
-
# Try loading new consolidated file
|
|
164
|
+
# Try loading new consolidated file (pm_instructions_path already defined above)
|
|
124
165
|
if pm_instructions_path.exists():
|
|
125
166
|
loaded_content = self.file_loader.try_load_file(
|
|
126
167
|
pm_instructions_path, "source PM_INSTRUCTIONS.md (development mode)"
|
|
@@ -175,7 +175,7 @@ class UnifiedAgentRegistry:
|
|
|
175
175
|
self.discovery_paths.append(project_path)
|
|
176
176
|
|
|
177
177
|
# NOTE: .claude-mpm/agents/ is deprecated in the simplified architecture
|
|
178
|
-
# Source agents come from ~/.claude-mpm/cache/
|
|
178
|
+
# Source agents come from ~/.claude-mpm/cache/agents/
|
|
179
179
|
# Deployed agents go to .claude/agents/
|
|
180
180
|
|
|
181
181
|
# User-level agents (deprecated in simplified architecture)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const env={}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.static{position:static}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[calc\(100vh-280px\)\]{max-height:calc(100vh - 280px)}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-\[110px_120px_160px_120px_100px\]{grid-template-columns:110px 120px 160px 120px 100px}.grid-cols-\[140px_1fr_80px_100px\]{grid-template-columns:140px 1fr 80px 100px}.grid-cols-\[50px_1fr_100px_120px\]{grid-template-columns:50px 1fr 100px 120px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-red-500\/20{border-color:#ef444433}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-500\/20{border-color:#64748b33}.border-slate-500\/30{border-color:#64748b4d}.border-l-cyan-500{--tw-border-opacity: 1;border-left-color:rgb(6 182 212 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-200{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/5{background-color:#3b82f60d}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/5{background-color:#22c55e0d}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-500\/5{background-color:#a855f70d}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/5{background-color:#ef44440d}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-500\/20{background-color:#64748b33}.bg-slate-500\/5{background-color:#64748b0d}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.opacity-50{opacity:.5}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-cyan-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-code: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-border: #e2e8f0;--color-primary: #0891b2}.dark{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-code: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-border: #334155;--color-primary: #06b6d4}body{margin:0;padding:0;background-color:#0f172a;color:#e2e8f0}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:bg-blue-500\/10:hover{background-color:#3b82f61a}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-purple-500\/10:hover{background-color:#a855f71a}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-500\/10:hover{background-color:#64748b1a}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-cyan-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1))}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(51 65 85 / var(--tw-divide-opacity, 1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-purple-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 33 168 / var(--tw-border-opacity, 1))}.dark\:border-slate-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-l-cyan-400:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.dark\:bg-amber-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-black\/30:is(.dark *){background-color:#0000004d}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-cyan-500\/20:is(.dark *){background-color:#06b6d433}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-purple-900\/20:is(.dark *){background-color:#581c8733}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/20:is(.dark *){background-color:#1e293b33}.dark\:bg-slate-800\/40:is(.dark *){background-color:#1e293b66}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1e293b80}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:placeholder-slate-500:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-slate-500:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.dark\:ring-cyan-500\/30:is(.dark *){--tw-ring-color: rgb(6 182 212 / .3)}.dark\:hover\:border-slate-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-700\/30:hover:is(.dark *){background-color:#3341554d}.dark\:hover\:bg-slate-700\/50:hover:is(.dark *){background-color:#33415580}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
option.active-stream.svelte-1elxaub{font-weight:600;background-color:#22c55e1a}@keyframes svelte-1elxaub-pulse-green{0%,to{opacity:1}50%{opacity:.5}}select.svelte-1elxaub option:where(.svelte-1elxaub):first-child{animation:svelte-1elxaub-pulse-green 2s cubic-bezier(.4,0,.6,1) infinite}.langtag.svelte-167dipq{position:relative}.langtag.svelte-167dipq:after{content:attr(data-language);position:absolute;top:var(--langtag-top, 0);right:var(--langtag-right, 0);display:flex;align-items:center;justify-content:center;background:var(--langtag-background, inherit);color:var(--langtag-color, inherit);border-radius:var(--langtag-border-radius, 0);padding:var(--langtag-padding, 1em)}.file-viewer.svelte-1y85kzg{display:flex;flex-direction:column;height:100%;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.file-viewer.empty.svelte-1y85kzg{display:flex;align-items:center;justify-content:center}.empty-message.svelte-1y85kzg{text-align:center;color:var(--color-text-tertiary);font-size:1rem}.viewer-header.svelte-1y85kzg{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.file-info.svelte-1y85kzg{flex:1;min-width:0}.view-toggle.svelte-1y85kzg{display:flex;gap:0;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.375rem;overflow:hidden}.toggle-btn.svelte-1y85kzg{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.toggle-btn.svelte-1y85kzg:hover:not(.disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.toggle-btn.active.svelte-1y85kzg{background:var(--color-primary);color:#fff}.toggle-btn.disabled.svelte-1y85kzg{opacity:.4;cursor:not-allowed}.toggle-btn.svelte-1y85kzg:not(:last-child){border-right:1px solid var(--color-border)}.file-path.svelte-1y85kzg{margin:0 0 .25rem;font-size:1rem;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:var(--color-text-primary);word-break:break-all}.file-meta.svelte-1y85kzg{margin:0;font-size:.8125rem;color:var(--color-text-secondary)}.viewer-content.svelte-1y85kzg{flex:1;overflow:auto;padding:1rem}.code-container.svelte-1y85kzg{font-size:.875rem;line-height:1.5}.code-container.svelte-1y85kzg pre{margin:0;padding:0!important;border-radius:.375rem;overflow-x:auto}.code-container.svelte-1y85kzg pre code.hljs{display:block;padding:1rem;border-radius:.375rem}.code-container[data-theme=light].svelte-1y85kzg pre code.hljs{background:#fafafa!important;color:#383a42!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-comment,.code-container[data-theme=light].svelte-1y85kzg .hljs-quote{color:#a0a1a7!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-keyword,.code-container[data-theme=light].svelte-1y85kzg .hljs-selector-tag,.code-container[data-theme=light].svelte-1y85kzg .hljs-addition{color:#a626a4!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-number,.code-container[data-theme=light].svelte-1y85kzg .hljs-string,.code-container[data-theme=light].svelte-1y85kzg .hljs-meta .hljs-string,.code-container[data-theme=light].svelte-1y85kzg .hljs-literal,.code-container[data-theme=light].svelte-1y85kzg .hljs-doctag,.code-container[data-theme=light].svelte-1y85kzg .hljs-regexp{color:#50a14f!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-title,.code-container[data-theme=light].svelte-1y85kzg .hljs-section,.code-container[data-theme=light].svelte-1y85kzg .hljs-name,.code-container[data-theme=light].svelte-1y85kzg .hljs-selector-id,.code-container[data-theme=light].svelte-1y85kzg .hljs-selector-class{color:#c18401!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-attribute,.code-container[data-theme=light].svelte-1y85kzg .hljs-attr,.code-container[data-theme=light].svelte-1y85kzg .hljs-variable,.code-container[data-theme=light].svelte-1y85kzg .hljs-template-variable,.code-container[data-theme=light].svelte-1y85kzg .hljs-class .hljs-title,.code-container[data-theme=light].svelte-1y85kzg .hljs-type{color:#986801!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-symbol,.code-container[data-theme=light].svelte-1y85kzg .hljs-bullet,.code-container[data-theme=light].svelte-1y85kzg .hljs-subst,.code-container[data-theme=light].svelte-1y85kzg .hljs-meta,.code-container[data-theme=light].svelte-1y85kzg .hljs-meta .hljs-keyword,.code-container[data-theme=light].svelte-1y85kzg .hljs-selector-attr,.code-container[data-theme=light].svelte-1y85kzg .hljs-selector-pseudo,.code-container[data-theme=light].svelte-1y85kzg .hljs-link{color:#4078f2!important}.code-container[data-theme=light].svelte-1y85kzg .hljs-built_in,.code-container[data-theme=light].svelte-1y85kzg .hljs-deletion{color:#e45649!important}.code-container[data-theme=dark].svelte-1y85kzg pre code.hljs{background:#282c34!important;color:#abb2bf!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-comment,.code-container[data-theme=dark].svelte-1y85kzg .hljs-quote{color:#5c6370!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-keyword,.code-container[data-theme=dark].svelte-1y85kzg .hljs-selector-tag,.code-container[data-theme=dark].svelte-1y85kzg .hljs-addition{color:#c678dd!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-number,.code-container[data-theme=dark].svelte-1y85kzg .hljs-string,.code-container[data-theme=dark].svelte-1y85kzg .hljs-meta .hljs-string,.code-container[data-theme=dark].svelte-1y85kzg .hljs-literal,.code-container[data-theme=dark].svelte-1y85kzg .hljs-doctag,.code-container[data-theme=dark].svelte-1y85kzg .hljs-regexp{color:#98c379!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-title,.code-container[data-theme=dark].svelte-1y85kzg .hljs-section,.code-container[data-theme=dark].svelte-1y85kzg .hljs-name,.code-container[data-theme=dark].svelte-1y85kzg .hljs-selector-id,.code-container[data-theme=dark].svelte-1y85kzg .hljs-selector-class{color:#e5c07b!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-attribute,.code-container[data-theme=dark].svelte-1y85kzg .hljs-attr,.code-container[data-theme=dark].svelte-1y85kzg .hljs-variable,.code-container[data-theme=dark].svelte-1y85kzg .hljs-template-variable,.code-container[data-theme=dark].svelte-1y85kzg .hljs-class .hljs-title,.code-container[data-theme=dark].svelte-1y85kzg .hljs-type{color:#d19a66!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-symbol,.code-container[data-theme=dark].svelte-1y85kzg .hljs-bullet,.code-container[data-theme=dark].svelte-1y85kzg .hljs-subst,.code-container[data-theme=dark].svelte-1y85kzg .hljs-meta,.code-container[data-theme=dark].svelte-1y85kzg .hljs-meta .hljs-keyword,.code-container[data-theme=dark].svelte-1y85kzg .hljs-selector-attr,.code-container[data-theme=dark].svelte-1y85kzg .hljs-selector-pseudo,.code-container[data-theme=dark].svelte-1y85kzg .hljs-link{color:#61afef!important}.code-container[data-theme=dark].svelte-1y85kzg .hljs-built_in,.code-container[data-theme=dark].svelte-1y85kzg .hljs-deletion{color:#e06c75!important}.code-container.svelte-1y85kzg .plaintext:where(.svelte-1y85kzg){margin:0;padding:1rem;border-radius:.375rem;overflow-x:auto;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.875rem;line-height:1.5}.image-container.svelte-1y85kzg{display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg-secondary);min-height:300px}.image-preview.svelte-1y85kzg{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;box-shadow:0 4px 6px #0000001a}.no-content.svelte-1y85kzg{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-style:italic}.loading-state.svelte-1y85kzg{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--color-text-secondary)}.spinner.svelte-1y85kzg{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:svelte-1y85kzg-spin .8s linear infinite}@keyframes svelte-1y85kzg-spin{to{transform:rotate(360deg)}}.diff-container.svelte-1y85kzg{font-size:.875rem;line-height:1.5;height:100%;overflow:auto}.commit-selector.svelte-1y85kzg{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.commit-selector.svelte-1y85kzg label:where(.svelte-1y85kzg){font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.commit-selector.svelte-1y85kzg select:where(.svelte-1y85kzg){flex:1;padding:.375rem .75rem;font-size:.8125rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:all .15s ease}.commit-selector.svelte-1y85kzg select:where(.svelte-1y85kzg):hover{border-color:var(--color-primary)}.commit-selector.svelte-1y85kzg select:where(.svelte-1y85kzg):focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.diff-content.svelte-1y85kzg{margin:0;padding:1rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto;white-space:pre;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.diff-content.svelte-1y85kzg .diff-header{color:#a78bfa;font-weight:600}.diff-content.svelte-1y85kzg .diff-file{color:#8b5cf6;font-weight:600}.diff-content.svelte-1y85kzg .diff-hunk{color:#0891b2;background-color:#0891b21a;font-weight:600}.diff-content.svelte-1y85kzg .diff-add{background-color:#22c55e26;color:#22c55e}.diff-content.svelte-1y85kzg .diff-remove{background-color:#ef444426;color:#ef4444}.diff-content.svelte-1y85kzg .diff-context{color:var(--color-text-secondary)}.diff-content.svelte-1y85kzg .diff-index{color:var(--color-text-tertiary);font-size:.8125rem}.dark .diff-content.svelte-1y85kzg .diff-add{background-color:#22c55e33;color:#4ade80}.dark .diff-content.svelte-1y85kzg .diff-remove{background-color:#ef444433;color:#f87171}.dark .diff-content.svelte-1y85kzg .diff-hunk{background-color:#0891b226}.tab.svelte-1uha8ag{padding:.5rem 1.5rem;font-size:.875rem;font-weight:600;background-color:#475569;color:#94a3b8;border-top-left-radius:.375rem;border-top-right-radius:.375rem;transition:all .2s;cursor:pointer;border:none;outline:none}.dark .tab.svelte-1uha8ag{background-color:#475569}.tab.svelte-1uha8ag:hover:not(.active){background-color:#64748b;color:#cbd5e1}.tab.active.svelte-1uha8ag{background-color:#0891b2;color:#fff}.divider.svelte-1uha8ag{width:6px;background:#cbd5e1;cursor:col-resize;transition:background .2s;flex-shrink:0}.dark .divider.svelte-1uha8ag{background:#334155}.divider.svelte-1uha8ag:hover,.divider.dragging.svelte-1uha8ag{background:#0891b2}body.dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize!important}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var te=Object.defineProperty;var F=s=>{throw TypeError(s)};var ie=(s,e,r)=>e in s?te(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var C=(s,e,r)=>ie(s,typeof e!="symbol"?e+"":e,r),K=(s,e,r)=>e.has(s)||F("Cannot "+r);var a=(s,e,r)=>(K(s,e,"read from private field"),r?r.call(s):e.get(s)),_=(s,e,r)=>e.has(s)?F("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,r),$=(s,e,r,t)=>(K(s,e,"write to private field"),t?t.call(s,r):e.set(s,r),r);import{D as j,F as ne,G as T,H as ae,A as q,I as z,x as D,y as fe,J as ue,K as ce,L as le,z as oe,M as de,N as he,O as pe,P as _e,C as ve,Q as G,R as be,S as Se,b as V,U as Pe,V as N,W as H,X as ge,Y as we,Z as W,_ as ye,g as y,$ as Oe,a0 as Ae,a1 as m,a2 as Ee,a3 as X,f as Re,a4 as xe,a5 as Ie,a6 as Te,w as L,a7 as De,a8 as me,a9 as Me,aa as Ne,ab as Le,ac as Be,ad as k,ae as Ue,af as Z,ag as J,ah as w}from"./DjhvlsAc.js";var d,h,o,v,O,A,x;class Ye{constructor(e,r=!0){C(this,"anchor");_(this,d,new Map);_(this,h,new Map);_(this,o,new Map);_(this,v,new Set);_(this,O,!0);_(this,A,()=>{var e=j;if(a(this,d).has(e)){var r=a(this,d).get(e),t=a(this,h).get(r);if(t)ne(t),a(this,v).delete(r);else{var i=a(this,o).get(r);i&&(a(this,h).set(r,i.effect),a(this,o).delete(r),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),t=i.effect)}for(const[n,u]of a(this,d)){if(a(this,d).delete(n),n===e)break;const f=a(this,o).get(u);f&&(T(f.effect),a(this,o).delete(u))}for(const[n,u]of a(this,h)){if(n===r||a(this,v).has(n))continue;const f=()=>{if(Array.from(a(this,d).values()).includes(n)){var p=document.createDocumentFragment();ue(u,p),p.append(q()),a(this,o).set(n,{effect:u,fragment:p})}else T(u);a(this,v).delete(n),a(this,h).delete(n)};a(this,O)||!t?(a(this,v).add(n),ae(u,f,!1)):f()}}});_(this,x,e=>{a(this,d).delete(e);const r=Array.from(a(this,d).values());for(const[t,i]of a(this,o))r.includes(t)||(T(i.effect),a(this,o).delete(t))});this.anchor=e,$(this,O,r)}ensure(e,r){var t=j,i=ce();if(r&&!a(this,h).has(e)&&!a(this,o).has(e))if(i){var n=document.createDocumentFragment(),u=q();n.append(u),a(this,o).set(e,{effect:z(()=>r(u)),fragment:n})}else a(this,h).set(e,z(()=>r(this.anchor)));if(a(this,d).set(t,e),i){for(const[f,c]of a(this,h))f===e?t.skipped_effects.delete(c):t.skipped_effects.add(c);for(const[f,c]of a(this,o))f===e?t.skipped_effects.delete(c.effect):t.skipped_effects.add(c.effect);t.oncommit(a(this,A)),t.ondiscard(a(this,x))}else D&&(this.anchor=fe),a(this,A).call(this)}}d=new WeakMap,h=new WeakMap,o=new WeakMap,v=new WeakMap,O=new WeakMap,A=new WeakMap,x=new WeakMap;function ze(s,e,r=!1){D&&oe();var t=new Ye(s),i=r?de:0;function n(u,f){if(D){const p=he(s)===pe;if(u===p){var c=_e();ve(c),t.anchor=c,G(!1),t.ensure(u,f),G(!0);return}}t.ensure(u,f)}le(()=>{var u=!1;e((f,c=!0)=>{u=!0,n(c,f)}),u||n(!1,null)},i)}function Q(s,e){return s===e||(s==null?void 0:s[N])===e}function Ge(s={},e,r,t){return be(()=>{var i,n;return Se(()=>{i=n,n=[],V(()=>{s!==r(...n)&&(e(s,...n),i&&Q(r(...i),s)&&e(null,...i))})}),()=>{Pe(()=>{n&&Q(r(...n),s)&&e(null,...n)})}}),s}let R=!1,M=Symbol();function He(s,e,r){const t=r[e]??(r[e]={store:null,source:ge(void 0),unsubscribe:H});if(t.store!==s&&!(M in r))if(t.unsubscribe(),t.store=s??null,s==null)t.source.v=void 0,t.unsubscribe=H;else{var i=!0;t.unsubscribe=we(s,n=>{i?t.source.v=n:W(t.source,n)}),i=!1}return s&&M in r?ye(s):y(t.source)}function Ze(s,e){return s.set(e),e}function Je(){const s={};function e(){Oe(()=>{for(var r in s)s[r].unsubscribe();Ae(s,M,{enumerable:!1,value:!0})})}return[s,e]}function Fe(s){var e=R;try{return R=!1,[s(),R]}finally{R=e}}const Ce={get(s,e){if(!s.exclude.includes(e))return y(s.version),e in s.special?s.special[e]():s.props[e]},set(s,e,r){if(!(e in s.special)){var t=L;try{J(s.parent_effect),s.special[e]=$e({get[e](){return s.props[e]}},e,X)}finally{J(t)}}return s.special[e](r),Z(s.version),!0},getOwnPropertyDescriptor(s,e){if(!s.exclude.includes(e)&&e in s.props)return{enumerable:!0,configurable:!0,value:s.props[e]}},deleteProperty(s,e){return s.exclude.includes(e)||(s.exclude.push(e),Z(s.version)),!0},has(s,e){return s.exclude.includes(e)?!1:e in s.props},ownKeys(s){return Reflect.ownKeys(s.props).filter(e=>!s.exclude.includes(e))}};function Qe(s,e){return new Proxy({props:s,exclude:e,special:{},version:Ue(0),parent_effect:L},Ce)}const Ke={get(s,e){let r=s.props.length;for(;r--;){let t=s.props[r];if(w(t)&&(t=t()),typeof t=="object"&&t!==null&&e in t)return t[e]}},set(s,e,r){let t=s.props.length;for(;t--;){let i=s.props[t];w(i)&&(i=i());const n=m(i,e);if(n&&n.set)return n.set(r),!0}return!1},getOwnPropertyDescriptor(s,e){let r=s.props.length;for(;r--;){let t=s.props[r];if(w(t)&&(t=t()),typeof t=="object"&&t!==null&&e in t){const i=m(t,e);return i&&!i.configurable&&(i.configurable=!0),i}}},has(s,e){if(e===N||e===k)return!1;for(let r of s.props)if(w(r)&&(r=r()),r!=null&&e in r)return!0;return!1},ownKeys(s){const e=[];for(let r of s.props)if(w(r)&&(r=r()),!!r){for(const t in r)e.includes(t)||e.push(t);for(const t of Object.getOwnPropertySymbols(r))e.includes(t)||e.push(t)}return e}};function Ve(...s){return new Proxy({props:s},Ke)}function $e(s,e,r,t){var U;var i=!Me||(r&Ne)!==0,n=(r&me)!==0,u=(r&Be)!==0,f=t,c=!0,p=()=>(c&&(c=!1,f=u?V(t):t),f),S;if(n){var ee=N in s||k in s;S=((U=m(s,e))==null?void 0:U.set)??(ee&&e in s?l=>s[e]=l:void 0)}var P,B=!1;n?[P,B]=Fe(()=>s[e]):P=s[e],P===void 0&&t!==void 0&&(P=p(),S&&(i&&Ee(),S(P)));var b;if(i?b=()=>{var l=s[e];return l===void 0?p():(c=!0,l)}:b=()=>{var l=s[e];return l!==void 0&&(f=void 0),l===void 0?f:l},i&&(r&X)===0)return b;if(S){var se=s.$$legacy;return(function(l,E){return arguments.length>0?((!i||!E||se||B)&&S(E?b():l),l):b()})}var I=!1,g=((r&Le)!==0?Re:xe)(()=>(I=!1,b()));n&&y(g);var re=L;return(function(l,E){if(arguments.length>0){const Y=E?y(g):i&&n?Ie(l):l;return W(g,Y),I=!0,f!==void 0&&(f=Y),l}return Te&&I||(re.f&De)!==0?g.v:y(g)})}export{Ye as B,Je as a,Ge as b,Ze as c,Ve as d,ze as i,Qe as l,$e as p,He as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var Xt=t=>{throw TypeError(t)};var Pe=(t,e,n)=>e.has(t)||Xt("Cannot "+n);var w=(t,e,n)=>(Pe(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?Xt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{aL as Ct,o as Zt,aJ as T,g as I,Z as O,aK as ht,bh as Qt,bi as $e}from"./DjhvlsAc.js";class jt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Nt{constructor(e,n){this.status=e,this.location=n}}class Dt extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}new URL("sveltekit-internal://");function Ce(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function je(t){return t.split("%25").map(decodeURI).join("%25")}function Ne(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function xt({href:t}){return t.split("#")[0]}function De(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function Ve(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const qe=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&W.delete(Vt(t)),qe(t,e));const W=new Map;function Ke(t,e){const n=Vt(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&W.set(n,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=Ve(a)),Promise.resolve(new Response(a,s))}return window.fetch(t,e)}function ze(t,e,n){if(W.size>0){const r=Vt(t,n),a=W.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);W.delete(r)}}return window.fetch(e,n)}function Vt(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${De(...a)}"]`}return r}const Be=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Me(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${Ge(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Lt(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Lt(String.fromCharCode(...c.slice(2).split("-").map(_=>parseInt(_,16))));const d=Be.exec(c),[,u,y,f,h]=d;return e.push({name:f,matcher:h,optional:!!u,rest:!!y,chained:y?l===1&&o[0]==="":!1}),y?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Lt(c)}).join("")}).join("")}/?$`),params:e}}function Fe(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Ge(t){return t.slice(1).split("/").filter(Fe)}function We(t,e,n){const r={},a=t.slice(1),s=a.filter(i=>i!==void 0);let o=0;for(let i=0;i<e.length;i+=1){const c=e[i];let l=a[i-o];if(c.chained&&c.rest&&o&&(l=a.slice(i-o,i+1).filter(d=>d).join("/"),o=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){r[c.name]=l;const d=e[i+1],u=a[i+1];d&&!d.rest&&d.optional&&u&&c.chained&&(o=0),!d&&!u&&Object.keys(r).length===s.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return r}function Lt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ye({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([i,[c,l,d]])=>{const{pattern:u,params:y}=Me(i),f={id:i,exec:h=>{const _=u.exec(h);if(_)return We(_,y,r)},errors:[1,...d||[]].map(h=>t[h]),layouts:[0,...l||[]].map(o),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(i){const c=i<0;return c&&(i=~i),[c,t[i]]}function o(i){return i===void 0?i:[a.has(i),t[i]]}}function de(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function te(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var ie;const A=((ie=globalThis.__sveltekit_16ujgvz)==null?void 0:ie.base)??"";var ce;const Je=((ce=globalThis.__sveltekit_16ujgvz)==null?void 0:ce.assets)??A??"",He="1766527382432",he="sveltekit:snapshot",pe="sveltekit:scroll",ge="sveltekit:states",Xe="sveltekit:pageurl",M="sveltekit:history",J="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},qt=location.origin;function me(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function kt(){return{x:pageXOffset,y:pageYOffset}}function B(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ee={...D,"":D.hover};function _e(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function we(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=_e(t)}}function Tt(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,s=!r||!!a||St(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===qt&&t.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function pt(t){let e=null,n=null,r=null,a=null,s=null,o=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=B(i,"preload-code")),a===null&&(a=B(i,"preload-data")),e===null&&(e=B(i,"keepfocus")),n===null&&(n=B(i,"noscroll")),s===null&&(s=B(i,"reload")),o===null&&(o=B(i,"replacestate")),i=_e(i);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ee[r??"off"],preload_data:ee[a??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(o)}}function ne(t){const e=Ct(t);let n=!0;function r(){n=!0,e.update(o=>o)}function a(o){n=!1,e.set(o)}function s(o){let i;return e.subscribe(c=>{(i===void 0||n&&c!==i)&&o(i=c)})}return{notify:r,set:a,subscribe:s}}const ve={v:()=>{}};function Ze(){const{set:t,subscribe:e}=Ct(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Je}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==He;return o&&(t(!0),ve.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function St(t,e,n){return t.origin!==qt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function xn(t){}const ye=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ye];const Qe=new Set([...ye]);[...Qe];function tn(t){return t.filter(e=>e!=null)}function Kt(t){return t instanceof jt||t instanceof Dt?t.status:500}function en(t){return t instanceof Dt?t.text:"Internal Error"}let R,H,At;const nn=Zt.toString().includes("$$")||/function \w+\(\) \{\}/.test(Zt.toString());var et,nt,at,rt,ot,st,it,ct,le,lt,fe,ft,ue;nn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},H={current:null},At={current:!1}):(R=new(le=class{constructor(){U(this,et,T({}));U(this,nt,T(null));U(this,at,T(null));U(this,rt,T({}));U(this,ot,T({id:null}));U(this,st,T({}));U(this,it,T(-1));U(this,ct,T(new URL("https://example.com")))}get data(){return I(w(this,et))}set data(e){O(w(this,et),e)}get form(){return I(w(this,nt))}set form(e){O(w(this,nt),e)}get error(){return I(w(this,at))}set error(e){O(w(this,at),e)}get params(){return I(w(this,rt))}set params(e){O(w(this,rt),e)}get route(){return I(w(this,ot))}set route(e){O(w(this,ot),e)}get state(){return I(w(this,st))}set state(e){O(w(this,st),e)}get status(){return I(w(this,it))}set status(e){O(w(this,it),e)}get url(){return I(w(this,ct))}set url(e){O(w(this,ct),e)}},et=new WeakMap,nt=new WeakMap,at=new WeakMap,rt=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ct=new WeakMap,le),H=new(fe=class{constructor(){U(this,lt,T(null))}get current(){return I(w(this,lt))}set current(e){O(w(this,lt),e)}},lt=new WeakMap,fe),At=new(ue=class{constructor(){U(this,ft,T(!1))}get current(){return I(w(this,ft))}set current(e){O(w(this,ft),e)}},ft=new WeakMap,ue),ve.v=()=>At.current=!0);function be(t){Object.assign(R,t)}const an=new Set(["icon","shortcut icon","apple-touch-icon"]),q=de(pe)??{},X=de(he)??{},N={url:ne({}),page:ne({}),navigating:Ct(null),updated:Ze()};function zt(t){q[t]=kt()}function rn(t,e){let n=t+1;for(;q[n];)delete q[n],n+=1;for(n=e+1;X[n];)delete X[n],n+=1}function Z(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function ke(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(A||"/");t&&await t.update()}}function ae(){}let Bt,It,gt,$,Ot,b;const mt=[],_t=[];let v=null;function Pt(){var t;(t=v==null?void 0:v.fork)==null||t.then(e=>e==null?void 0:e.discard()),v=null}const dt=new Map,Se=new Set,on=new Set,Y=new Set;let m={branch:[],error:null,url:null},Ee=!1,wt=!1,re=!0,Q=!1,G=!1,Re=!1,Mt=!1,Ft,S,L,V;const vt=new Set,oe=new Map;async function Tn(t,e,n){var s,o,i,c,l;(s=globalThis.__sveltekit_16ujgvz)!=null&&s.data&&globalThis.__sveltekit_16ujgvz.data,document.URL!==location.href&&(location.href=location.href),b=t,await((i=(o=t.hooks).init)==null?void 0:i.call(o)),Bt=Ye(t),$=document.documentElement,Ot=e,It=t.nodes[0],gt=t.nodes[1],It(),gt(),S=(c=history.state)==null?void 0:c[M],L=(l=history.state)==null?void 0:l[J],S||(S=L=Date.now(),history.replaceState({...history.state,[M]:S,[J]:L},""));const r=q[S];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await yn(Ot,n)):(await F({type:"enter",url:me(b.hash?Sn(new URL(location.href)):location.href),replace_state:!0}),a()),vn()}function sn(){mt.length=0,Mt=!1}function xe(t){_t.some(e=>e==null?void 0:e.snapshot)&&(X[t]=_t.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Le(t){var e;(e=X[t])==null||e.forEach((n,r)=>{var a,s;(s=(a=_t[r])==null?void 0:a.snapshot)==null||s.restore(n)})}function se(){zt(S),te(pe,q),xe(L),te(he,X)}async function cn(t,e,n,r){let a;e.invalidateAll&&Pt(),await F({type:"goto",url:me(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{e.invalidateAll&&(Mt=!0,a=[...oe.keys()]),e.invalidate&&e.invalidate.forEach(wn)}}),e.invalidateAll&&ht().then(ht).then(()=>{oe.forEach(({resource:s},o)=>{var i;a!=null&&a.includes(o)&&((i=s.refresh)==null||i.call(s))})})}async function ln(t){if(t.id!==(v==null?void 0:v.id)){Pt();const e={};if(vt.add(e),v={id:t.id,token:e,promise:Ue({...t,preload:e}).then(n=>(vt.delete(e),n.type==="loaded"&&n.state.error&&Pt(),n)),fork:null},Qt){const n=v;n.fork=n.promise.then(r=>{if(n===v&&r.type==="loaded")try{return Qt(()=>{Ft.$set(r.props),be(r.props.page)})}catch{}return null})}}return v.promise}async function Ut(t){var n;const e=(n=await Et(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(r=>r==null?void 0:r[1]()))}async function Ae(t,e,n){var a;m=t.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Ft=new b.root({target:e,props:{...t.props,stores:N,components:_t},hydrate:n,sync:!1}),await Promise.resolve(),Le(L),n){const s={from:null,to:{params:m.params,route:{id:((a=m.route)==null?void 0:a.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};Y.forEach(o=>o(s))}wt=!0}function yt({url:t,params:e,branch:n,status:r,error:a,route:s,form:o}){let i="never";if(A&&(t.pathname===A||t.pathname===A+"/"))i="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(i=f.slash);t.pathname=Ce(t.pathname,i),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:a,route:s},props:{constructors:tn(n).map(f=>f.node.component),page:Ht(R)}};o!==void 0&&(c.props.form=o);let l={},d=!R,u=0;for(let f=0;f<Math.max(n.length,m.branch.length);f+=1){const h=n[f],_=m.branch[f];(h==null?void 0:h.data)!==(_==null?void 0:_.data)&&(d=!0),h&&(l={...l,...h.data},d&&(c.props[`data_${u}`]=l),u+=1)}return(!m.url||t.href!==m.url.href||m.error!==a||o!==void 0&&o!==R.form||d)&&(c.props.page={error:a,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(t),form:o??null,data:d?l:R.data}),c}async function Gt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:s}){var l,d;let o=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();return{node:c,loader:t,server:s,universal:(l=c.universal)!=null&&l.load?{type:"data",data:o,uses:i}:null,data:o??(s==null?void 0:s.data)??null,slash:((d=c.universal)==null?void 0:d.trailingSlash)??(s==null?void 0:s.slash)}}function fn(t,e,n){let r=t instanceof Request?t.url:t;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=wt?ze(r,a.href,e):Ke(r,e);return{resolved:a,promise:s}}function un(t,e,n,r,a,s){if(Mt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==m.params[o])return!0;for(const o of a.dependencies)if(mt.some(i=>i(new URL(o))))return!0;return!1}function Wt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function dn(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),s=e.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&n.delete(r)}return n}function hn({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:Ht(R),constructors:[]}}}async function Ue({id:t,invalidating:e,url:n,params:r,route:a,preload:s}){if((v==null?void 0:v.id)===t)return vt.delete(v.token),v.promise;const{errors:o,layouts:i,leaf:c}=a,l=[...i,c];o.forEach(g=>g==null?void 0:g().catch(()=>{})),l.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));const d=m.url?t!==bt(m.url):!1,u=m.route?a.id!==m.route.id:!1,y=dn(m.url,n);let f=!1;const h=l.map(async(g,p)=>{var C;if(!g)return;const k=m.branch[p];return g[1]===(k==null?void 0:k.loader)&&!un(f,u,d,y,(C=k.universal)==null?void 0:C.uses,r)?k:(f=!0,Gt({loader:g[1],url:n,params:r,route:a,parent:async()=>{var ut;const P={};for(let K=0;K<p;K+=1)Object.assign(P,(ut=await h[K])==null?void 0:ut.data);return P},server_data_node:Wt(g[0]?{type:"skip"}:null,g[0]?k==null?void 0:k.server:void 0)}))});for(const g of h)g.catch(()=>{});const _=[];for(let g=0;g<l.length;g+=1)if(l[g])try{_.push(await h[g])}catch(p){if(p instanceof Nt)return{type:"redirect",location:p.location};if(vt.has(s))return hn({error:await tt(p,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let k=Kt(p),x;if(p instanceof jt)x=p.body;else{if(await N.updated.check())return await ke(),await Z(n);x=await tt(p,{params:r,url:n,route:{id:a.id}})}const C=await pn(g,_,o);return C?yt({url:n,params:r,branch:_.slice(0,C.idx).concat(C.node),status:k,error:x,route:a}):await Ie(n,{id:a.id},x,k)}else _.push(void 0);return yt({url:n,params:r,branch:_,status:200,error:null,route:a,form:e?void 0:null})}async function pn(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function Yt({status:t,error:e,url:n,route:r}){const a={};let s=null;try{const o=await Gt({loader:It,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Wt(s)}),i={node:await gt(),loader:gt,universal:null,server:null,data:null};return yt({url:n,params:a,branch:[o,i],status:t,error:e,route:null})}catch(o){if(o instanceof Nt)return cn(new URL(o.location,location.href),{},0);throw o}}async function gn(t){const e=t.href;if(dt.has(e))return dt.get(e);let n;try{const r=(async()=>{let a=await b.hooks.reroute({url:new URL(t),fetch:async(s,o)=>fn(s,o,t).promise})??t;if(typeof a=="string"){const s=new URL(t);b.hash?s.hash=a:s.pathname=a,a=s}return a})();dt.set(e,r),n=await r}catch{dt.delete(e);return}return n}async function Et(t,e){if(t&&!St(t,A,b.hash)){const n=await gn(t);if(!n)return;const r=mn(n);for(const a of Bt){const s=a.exec(r);if(s)return{id:bt(t),invalidating:e,route:a,params:Ne(s),url:t}}}}function mn(t){return je(b.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(A.length))||"/"}function bt(t){return(b.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Te({url:t,type:e,intent:n,delta:r,event:a}){let s=!1;const o=Jt(m,n,t,e);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const i={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return Q||Se.forEach(c=>c(i)),s?null:o}async function F({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:i=0,nav_token:c={},accept:l=ae,block:d=ae,event:u}){var K;const y=V;V=c;const f=await Et(e,!1),h=t==="enter"?Jt(m,f,e,t):Te({url:e,type:t,delta:n==null?void 0:n.delta,intent:f,event:u});if(!h){d(),V===c&&(V=y);return}const _=S,g=L;l(),Q=!0,wt&&h.navigation.type!=="enter"&&N.navigating.set(H.current=h.navigation);let p=f&&await Ue(f);if(!p){if(St(e,A,b.hash))return await Z(e,s);p=await Ie(e,{id:null},await tt(new Dt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,s)}if(e=(f==null?void 0:f.url)||e,V!==c)return h.reject(new Error("navigation aborted")),!1;if(p.type==="redirect"){if(i<20){await F({type:t,url:new URL(p.location,e),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o,redirect_count:i+1,nav_token:c}),h.fulfil(void 0);return}p=await Yt({status:500,error:await tt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else p.props.page.status>=400&&await N.updated.check()&&(await ke(),await Z(e,s));if(sn(),zt(_),xe(g),p.props.page.url.pathname!==e.pathname&&(e.pathname=p.props.page.url.pathname),o=n?n.state:o,!n){const E=s?0:1,z={[M]:S+=E,[J]:L+=E,[ge]:o};(s?history.replaceState:history.pushState).call(history,z,"",e),s||rn(S,L)}const k=f&&(v==null?void 0:v.id)===f.id?v.fork:null;v=null,p.props.page.state=o;let x;if(wt){const E=(await Promise.all(Array.from(on,j=>j(h.navigation)))).filter(j=>typeof j=="function");if(E.length>0){let j=function(){E.forEach(Rt=>{Y.delete(Rt)})};E.push(j),E.forEach(Rt=>{Y.add(Rt)})}m=p.state,p.props.page&&(p.props.page.url=e);const z=k&&await k;z?x=z.commit():(Ft.$set(p.props),be(p.props.page),x=(K=$e)==null?void 0:K()),Re=!0}else await Ae(p,Ot,!1);const{activeElement:C}=document;await x,await ht(),await ht();let P=n?n.scroll:a?kt():null;if(re){const E=e.hash&&document.getElementById(Oe(e));if(P)scrollTo(P.x,P.y);else if(E){E.scrollIntoView();const{top:z,left:j}=E.getBoundingClientRect();P={x:pageXOffset+j,y:pageYOffset+z}}else scrollTo(0,0)}const ut=document.activeElement!==C&&document.activeElement!==document.body;!r&&!ut&&kn(e,P),re=!0,p.props.page&&Object.assign(R,p.props.page),Q=!1,t==="popstate"&&Le(L),h.fulfil(void 0),Y.forEach(E=>E(h.navigation)),N.navigating.set(H.current=null)}async function Ie(t,e,n,r,a){return t.origin===qt&&t.pathname===location.pathname&&!Ee?await Yt({status:r,error:n,url:t,route:e}):await Z(t,a)}function _n(){let t,e,n;$.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(t),t=setTimeout(()=>{s(c,D.hover)},20)});function r(i){i.defaultPrevented||s(i.composedPath()[0],D.tap)}$.addEventListener("mousedown",r),$.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(Ut(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(i,c){const l=we(i,$),d=l===e&&c>=n;if(!l||d)return;const{url:u,external:y,download:f}=Tt(l,A,b.hash);if(y||f)return;const h=pt(l),_=u&&bt(m.url)===bt(u);if(!(h.reload||_))if(c<=h.preload_data){e=l,n=D.tap;const g=await Et(u,!1);if(!g)return;ln(g)}else c<=h.preload_code&&(e=l,n=c,Ut(u))}function o(){a.disconnect();for(const i of $.querySelectorAll("a")){const{url:c,external:l,download:d}=Tt(i,A,b.hash);if(l||d)continue;const u=pt(i);u.reload||(u.preload_code===D.viewport&&a.observe(i),u.preload_code===D.eager&&Ut(c))}}Y.add(o),o()}function tt(t,e){if(t instanceof jt)return t.body;const n=Kt(t),r=en(t);return b.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function wn(t){if(typeof t=="function")mt.push(t);else{const{href:e}=new URL(t,location.href);mt.push(n=>n.href===e)}}function vn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let r=!1;if(se(),!Q){const a=Jt(m,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Se.forEach(o=>o(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&se()}),(e=navigator.connection)!=null&&e.saveData||_n(),$.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=we(n.composedPath()[0],$);if(!r)return;const{url:a,external:s,target:o,download:i}=Tt(r,A,b.hash);if(!a)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const c=pt(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||i)return;const[d,u]=(b.hash?a.hash.replace(/^#/,""):a.href).split("#"),y=d===xt(location);if(s||c.reload&&(!y||!u)){Te({url:a,type:"link",event:n})?Q=!0:n.preventDefault();return}if(u!==void 0&&y){const[,f]=m.url.href.split("#");if(f===u){if(n.preventDefault(),u===""||u==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const h=r.ownerDocument.getElementById(decodeURIComponent(u));h&&(h.scrollIntoView(),h.focus())}return}if(G=!0,zt(S),t(a),!c.replace_state)return;G=!1}n.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await F({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href,event:n})}),$.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(St(i,A,!1))return;const c=n.target,l=pt(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(c,a);i.search=new URLSearchParams(d).toString(),F({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href,event:n})}),addEventListener("popstate",async n=>{var r;if(!$t){if((r=n.state)!=null&&r[M]){const a=n.state[M];if(V={},a===S)return;const s=q[a],o=n.state[ge]??{},i=new URL(n.state[Xe]??location.href),c=n.state[J],l=m.url?xt(location)===xt(m.url):!1;if(c===L&&(Re||l)){o!==R.state&&(R.state=o),t(i),q[S]=kt(),s&&scrollTo(s.x,s.y),S=a;return}const u=a-S;await F({type:"popstate",url:i,popped:{state:o,scroll:s,delta:u},accept:()=>{S=a,L=c},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!G){const a=new URL(location.href);t(a),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[M]:++S,[J]:L},"",location.href))});for(const n of document.querySelectorAll("link"))an.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(H.current=null)});function t(n){m.url=R.url=n,N.page.set(Ht(R)),N.page.notify()}}async function yn(t,{status:e=200,error:n,node_ids:r,params:a,route:s,server_route:o,data:i,form:c}){Ee=!0;const l=new URL(location.href);let d;({params:a={},route:s={id:null}}=await Et(l,!1)||{}),d=Bt.find(({id:f})=>f===s.id);let u,y=!0;try{const f=r.map(async(_,g)=>{const p=i[g];return p!=null&&p.uses&&(p.uses=bn(p.uses)),Gt({loader:b.nodes[_],url:l,params:a,route:s,parent:async()=>{const k={};for(let x=0;x<g;x+=1)Object.assign(k,(await f[x]).data);return k},server_data_node:Wt(p)})}),h=await Promise.all(f);if(d){const _=d.layouts;for(let g=0;g<_.length;g++)_[g]||h.splice(g,0,void 0)}u=yt({url:l,params:a,branch:h,status:e,error:n,form:c,route:d??null})}catch(f){if(f instanceof Nt){await Z(new URL(f.location,location.href));return}u=await Yt({status:Kt(f),error:await tt(f,{url:l,params:a,route:s}),url:l,route:s}),t.textContent="",y=!1}u.props.page&&(u.props.page.state={}),await Ae(u,t,y)}function bn(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let $t=!1;function kn(t,e=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=Oe(t);if(r&&document.getElementById(r)){const{x:s,y:o}=e??kt();setTimeout(()=>{const i=history.state;$t=!0,location.replace(`#${r}`),b.hash&&location.replace(t.hash),history.replaceState(i,"",t.hash),scrollTo(s,o),$t=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let o=0;o<a.rangeCount;o+=1)s.push(a.getRangeAt(o));setTimeout(()=>{if(a.rangeCount===s.length){for(let o=0;o<a.rangeCount;o+=1){const i=s[o],c=a.getRangeAt(o);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}a.removeAllRanges()}})}}}function Jt(t,e,n,r){var c,l;let a,s;const o=new Promise((d,u)=>{a=d,s=u});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((l=e==null?void 0:e.route)==null?void 0:l.id)??null},url:n},willUnload:!e,type:r,complete:o},fulfil:a,reject:s}}function Ht(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Sn(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Oe(t){let e;if(b.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{Tn as a,xn as l,R as p,N as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as d,q as E,T as h,v as T,w as m,x as f,y as o,E as g,z as N,A as v,B as w,C as y}from"./DjhvlsAc.js";function p(r){var n=document.createElement("template");return n.innerHTML=r.replaceAll("<!>","<!---->"),n.content}function a(r,n){var e=m;e.nodes===null&&(e.nodes={start:r,end:n,a:null,t:null})}function M(r,n){var e=(n&h)!==0,l=(n&T)!==0,t,i=!r.startsWith("<!>");return()=>{if(f)return a(o,null),o;t===void 0&&(t=p(i?r:"<!>"+r),e||(t=d(t)));var s=l||E?document.importNode(t,!0):t.cloneNode(!0);if(e){var _=d(s),u=s.lastChild;a(_,u)}else a(s,s);return s}}function x(r,n,e="svg"){var l=!r.startsWith("<!>"),t=`<${e}>${l?r:"<!>"+r}</${e}>`,i;return()=>{if(f)return a(o,null),o;if(!i){var s=p(t),_=d(s);i=d(_)}var u=i.cloneNode(!0);return a(u,u),u}}function F(r,n){return x(r,n,"svg")}function L(r=""){if(!f){var n=v(r+"");return a(n,n),n}var e=o;return e.nodeType!==w&&(e.before(e=v()),y(e)),a(e,e),e}function O(){if(f)return a(o,null),o;var r=document.createDocumentFragment(),n=document.createComment(""),e=v();return r.append(n,e),a(n,e),r}function P(r,n){if(f){var e=m;((e.f&g)===0||e.nodes.end===null)&&(e.nodes.end=o),N();return}r!==null&&r.before(n)}const A="5";var c;typeof window<"u"&&((c=window.__svelte??(window.__svelte={})).v??(c.v=new Set)).add(A);export{P as a,a as b,O as c,p as d,F as e,M as f,L as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var kt=Object.defineProperty;var ht=e=>{throw TypeError(e)};var St=(e,t,i)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var ct=(e,t,i)=>St(e,typeof t!="symbol"?t+"":t,i),K=(e,t,i)=>t.has(e)||ht("Cannot "+i);var s=(e,t,i)=>(K(e,t,"read from private field"),i?i.call(e):t.get(e)),u=(e,t,i)=>t.has(e)?ht("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),n=(e,t,i,a)=>(K(e,t,"write to private field"),a?a.call(e,i):t.set(e,i),i),_=(e,t,i)=>(K(e,t,"access private method"),i);import{ai as At,g as gt,ae as vt,S as Rt,b as Nt,aj as ft,U as ot,y as L,x as O,w as x,L as Dt,z as Lt,ak as lt,O as Ot,I as D,al as j,H as X,A as yt,ag as U,am as V,an as dt,ao as Ct,ap as tt,c as bt,J as Ft,aq as It,G as Z,C as $,ar as Mt,P as Pt,as as _t,at as Vt,M as Bt,au as Ht,av as xt,aw as Wt,$ as Yt,ax as jt,a0 as qt,ay as et,n as zt,az as Gt,aA as Ut,aB as st,Q as q,aC as $t,aD as Jt,aE as Qt,aF as Kt,p as Xt,aG as Zt,aH as te,i as ee}from"./DjhvlsAc.js";import{b as se}from"./CWc5urbQ.js";function ie(e){let t=0,i=vt(0),a;return()=>{At()&&(gt(i),Rt(()=>(t===0&&(a=Nt(()=>e(()=>ft(i)))),t+=1,()=>{ot(()=>{t-=1,t===0&&(a==null||a(),a=void 0,ft(i))})})))}}var re=Bt|Ht|xt;function ne(e,t,i){new ae(e,t,i)}var g,p,W,E,C,m,v,d,w,S,A,F,R,I,N,J,l,Et,mt,it,z,G,rt;class ae{constructor(t,i,a){u(this,l);ct(this,"parent");u(this,g,!1);u(this,p);u(this,W,O?L:null);u(this,E);u(this,C);u(this,m);u(this,v,null);u(this,d,null);u(this,w,null);u(this,S,null);u(this,A,null);u(this,F,0);u(this,R,0);u(this,I,!1);u(this,N,null);u(this,J,ie(()=>(n(this,N,vt(s(this,F))),()=>{n(this,N,null)})));n(this,p,t),n(this,E,i),n(this,C,a),this.parent=x.b,n(this,g,!!s(this,E).pending),n(this,m,Dt(()=>{if(x.b=this,O){const r=s(this,W);Lt(),r.nodeType===lt&&r.data===Ot?_(this,l,mt).call(this):_(this,l,Et).call(this)}else{var o=_(this,l,it).call(this);try{n(this,v,D(()=>a(o)))}catch(r){this.error(r)}s(this,R)>0?_(this,l,G).call(this):n(this,g,!1)}return()=>{var r;(r=s(this,A))==null||r.remove()}},re)),O&&n(this,p,L)}is_pending(){return s(this,g)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!s(this,E).pending}update_pending_count(t){_(this,l,rt).call(this,t),n(this,F,s(this,F)+t),s(this,N)&&It(s(this,N),s(this,F))}get_effect_pending(){return s(this,J).call(this),gt(s(this,N))}error(t){var i=s(this,E).onerror;let a=s(this,E).failed;if(s(this,I)||!i&&!a)throw t;s(this,v)&&(Z(s(this,v)),n(this,v,null)),s(this,d)&&(Z(s(this,d)),n(this,d,null)),s(this,w)&&(Z(s(this,w)),n(this,w,null)),O&&($(s(this,W)),Mt(),$(Pt()));var o=!1,r=!1;const h=()=>{if(o){Wt();return}o=!0,r&&Vt(),j.ensure(),n(this,F,0),s(this,w)!==null&&X(s(this,w),()=>{n(this,w,null)}),n(this,g,this.has_pending_snippet()),n(this,v,_(this,l,z).call(this,()=>(n(this,I,!1),D(()=>s(this,C).call(this,s(this,p)))))),s(this,R)>0?_(this,l,G).call(this):n(this,g,!1)};var b=tt;try{V(null),r=!0,i==null||i(t,h),r=!1}catch(y){_t(y,s(this,m)&&s(this,m).parent)}finally{V(b)}a&&ot(()=>{n(this,w,_(this,l,z).call(this,()=>{j.ensure(),n(this,I,!0);try{return D(()=>{a(s(this,p),()=>t,()=>h)})}catch(y){return _t(y,s(this,m).parent),null}finally{n(this,I,!1)}}))})}}g=new WeakMap,p=new WeakMap,W=new WeakMap,E=new WeakMap,C=new WeakMap,m=new WeakMap,v=new WeakMap,d=new WeakMap,w=new WeakMap,S=new WeakMap,A=new WeakMap,F=new WeakMap,R=new WeakMap,I=new WeakMap,N=new WeakMap,J=new WeakMap,l=new WeakSet,Et=function(){try{n(this,v,D(()=>s(this,C).call(this,s(this,p))))}catch(t){this.error(t)}n(this,g,!1)},mt=function(){const t=s(this,E).pending;t&&(n(this,d,D(()=>t(s(this,p)))),j.enqueue(()=>{var i=_(this,l,it).call(this);n(this,v,_(this,l,z).call(this,()=>(j.ensure(),D(()=>s(this,C).call(this,i))))),s(this,R)>0?_(this,l,G).call(this):(X(s(this,d),()=>{n(this,d,null)}),n(this,g,!1))}))},it=function(){var t=s(this,p);return s(this,g)&&(n(this,A,yt()),s(this,p).before(s(this,A)),t=s(this,A)),t},z=function(t){var i=x,a=tt,o=bt;U(s(this,m)),V(s(this,m)),dt(s(this,m).ctx);try{return t()}catch(r){return Ct(r),null}finally{U(i),V(a),dt(o)}},G=function(){const t=s(this,E).pending;s(this,v)!==null&&(n(this,S,document.createDocumentFragment()),s(this,S).append(s(this,A)),Ft(s(this,v),s(this,S))),s(this,d)===null&&n(this,d,D(()=>t(s(this,p))))},rt=function(t){var i;if(!this.has_pending_snippet()){this.parent&&_(i=this.parent,l,rt).call(i,t);return}n(this,R,s(this,R)+t),s(this,R)===0&&(n(this,g,!1),s(this,d)&&X(s(this,d),()=>{n(this,d,null)}),s(this,S)&&(s(this,p).before(s(this,S)),n(this,S,null)))};function ge(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const oe=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ve(e){return oe.includes(e)}const le={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function ye(e){return e=e.toLowerCase(),le[e]??e}const ue=["touchstart","touchmove"];function he(e){return ue.includes(e)}const wt=new Set,nt=new Set;function ce(e,t,i,a={}){function o(r){if(a.capture||H.call(t,r),!r.cancelBubble)return jt(()=>i==null?void 0:i.call(this,r))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ot(()=>{t.addEventListener(e,o,a)}):t.addEventListener(e,o,a),o}function be(e,t,i,a,o){var r={capture:a,passive:o},h=ce(e,t,i,r);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Yt(()=>{t.removeEventListener(e,h,r)})}function Ee(e){for(var t=0;t<e.length;t++)wt.add(e[t]);for(var i of nt)i(e)}let pt=null;function H(e){var ut;var t=this,i=t.ownerDocument,a=e.type,o=((ut=e.composedPath)==null?void 0:ut.call(e))||[],r=o[0]||e.target;pt=e;var h=0,b=pt===e&&e.__root;if(b){var y=o.indexOf(b);if(y!==-1&&(t===document||t===window)){e.__root=t;return}var M=o.indexOf(t);if(M===-1)return;y<=M&&(h=y)}if(r=o[h]||e.target,r!==t){qt(e,"currentTarget",{configurable:!0,get(){return r||i}});var Q=tt,T=x;V(null),U(null);try{for(var c,f=[];r!==null;){var k=r.assignedSlot||r.parentNode||r.host||null;try{var B=r["__"+a];B!=null&&(!r.disabled||e.target===r)&&B.call(r,e)}catch(Y){c?f.push(Y):c=Y}if(e.cancelBubble||k===t||k===null)break;r=k}if(c){for(let Y of f)queueMicrotask(()=>{throw Y});throw c}}finally{e.__root=t,delete e.currentTarget,V(Q),U(T)}}}function me(e,t){var i=t==null?"":typeof t=="object"?t+"":t;i!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=i,e.nodeValue=i+"")}function fe(e,t){return Tt(e,t)}function we(e,t){et(),t.intro=t.intro??!1;const i=t.target,a=O,o=L;try{for(var r=zt(i);r&&(r.nodeType!==lt||r.data!==Gt);)r=Ut(r);if(!r)throw st;q(!0),$(r);const h=Tt(e,{...t,anchor:r});return q(!1),h}catch(h){if(h instanceof Error&&h.message.split(`
|
|
2
|
+
`).some(b=>b.startsWith("https://svelte.dev/e/")))throw h;return h!==st&&console.warn("Failed to hydrate: ",h),t.recover===!1&&$t(),et(),Jt(i),q(!1),fe(e,t)}finally{q(a),$(o)}}const P=new Map;function Tt(e,{target:t,anchor:i,props:a={},events:o,context:r,intro:h=!0}){et();var b=new Set,y=T=>{for(var c=0;c<T.length;c++){var f=T[c];if(!b.has(f)){b.add(f);var k=he(f);t.addEventListener(f,H,{passive:k});var B=P.get(f);B===void 0?(document.addEventListener(f,H,{passive:k}),P.set(f,1)):P.set(f,B+1)}}};y(Qt(wt)),nt.add(y);var M=void 0,Q=Kt(()=>{var T=i??t.appendChild(yt());return ne(T,{pending:()=>{}},c=>{if(r){Xt({});var f=bt;f.c=r}if(o&&(a.$$events=o),O&&se(c,null),M=e(c,a)||{},O&&(x.nodes.end=L,L===null||L.nodeType!==lt||L.data!==Zt))throw te(),st;r&&ee()}),()=>{var k;for(var c of b){t.removeEventListener(c,H);var f=P.get(c);--f===0?(document.removeEventListener(c,H),P.delete(c)):P.set(c,f)}nt.delete(y),T!==i&&((k=T.parentNode)==null||k.removeChild(T))}});return at.set(M,Q),M}let at=new WeakMap;function Te(e,t){const i=at.get(e);return i?(at.delete(e),i(t)):Promise.resolve()}export{ve as a,ce as c,Ee as d,be as e,we as h,ge as i,fe as m,ye as n,me as s,Te as u};
|