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.

Files changed (84) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_AGENT.md +164 -0
  3. claude_mpm/agents/BASE_ENGINEER.md +658 -0
  4. claude_mpm/agents/MEMORY.md +1 -1
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +320 -880
  6. claude_mpm/agents/WORKFLOW.md +5 -254
  7. claude_mpm/agents/agent_loader.py +1 -1
  8. claude_mpm/agents/base_agent.json +31 -0
  9. claude_mpm/cli/commands/agent_state_manager.py +10 -10
  10. claude_mpm/cli/commands/agents.py +9 -9
  11. claude_mpm/cli/commands/auto_configure.py +4 -4
  12. claude_mpm/cli/commands/configure.py +1 -1
  13. claude_mpm/cli/commands/postmortem.py +1 -1
  14. claude_mpm/cli/interactive/agent_wizard.py +2 -2
  15. claude_mpm/cli/startup.py +98 -58
  16. claude_mpm/core/config.py +2 -4
  17. claude_mpm/core/framework/loaders/agent_loader.py +1 -1
  18. claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
  19. claude_mpm/core/unified_agent_registry.py +1 -1
  20. claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
  21. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +1 -0
  22. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +1 -0
  23. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +1 -0
  24. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +1 -0
  25. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +1 -0
  26. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +2 -0
  27. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DjhvlsAc.js +1 -0
  28. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/N4qtv3Hx.js +2 -0
  29. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uj46x2Wr.js +1 -0
  30. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +2 -0
  31. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +1 -0
  32. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.CAGBuiOw.js +1 -0
  33. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +1 -0
  34. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +10 -0
  35. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
  36. claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
  37. claude_mpm/dashboard/static/svelte-build/index.html +36 -0
  38. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  39. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  40. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  41. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  42. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  43. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  44. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  45. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  46. claude_mpm/hooks/claude_hooks/hook_handler.py +149 -1
  47. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  48. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
  49. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  50. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  51. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  52. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  53. claude_mpm/hooks/claude_hooks/services/connection_manager.py +26 -6
  54. claude_mpm/models/git_repository.py +3 -3
  55. claude_mpm/services/agents/cache_git_manager.py +6 -6
  56. claude_mpm/services/agents/deployment/agent_deployment.py +7 -7
  57. claude_mpm/services/agents/deployment/agent_discovery_service.py +2 -2
  58. claude_mpm/services/agents/deployment/agent_template_builder.py +2 -2
  59. claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
  60. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +20 -22
  61. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +55 -53
  62. claude_mpm/services/agents/git_source_manager.py +2 -2
  63. claude_mpm/services/agents/recommender.py +5 -3
  64. claude_mpm/services/agents/single_tier_deployment_service.py +2 -2
  65. claude_mpm/services/agents/sources/git_source_sync_service.py +5 -5
  66. claude_mpm/services/agents/startup_sync.py +22 -2
  67. claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
  68. claude_mpm/services/diagnostics/checks/agent_sources_check.py +1 -1
  69. claude_mpm/services/git/git_operations_service.py +8 -8
  70. claude_mpm/services/monitor/server.py +473 -3
  71. claude_mpm/services/socketio/dashboard_server.py +1 -0
  72. claude_mpm/services/socketio/event_normalizer.py +37 -6
  73. claude_mpm/services/socketio/server/core.py +262 -123
  74. claude_mpm/utils/agent_dependency_loader.py +14 -2
  75. claude_mpm/utils/agent_filters.py +1 -1
  76. claude_mpm/utils/migration.py +4 -4
  77. claude_mpm/utils/robust_installer.py +47 -3
  78. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/METADATA +5 -3
  79. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/RECORD +84 -49
  80. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/WHEEL +0 -0
  81. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/entry_points.txt +0 -0
  82. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/licenses/LICENSE +0 -0
  83. {claude_mpm-5.4.21.dist-info → claude_mpm-5.4.36.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  84. {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
- """Check for legacy cache/agents/ directory and warn user.
63
+ """Deprecated: Legacy cache checking is no longer needed.
65
64
 
66
- WHY: cache/agents/ is deprecated in favor of cache/remote-agents/.
67
- Research confirmed that cache/remote-agents/ is the canonical location
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" / "remote-agents"
447
+ cache_dir = Path.home() / ".claude-mpm" / "cache" / "agents"
480
448
  agent_count = 0
481
449
 
482
450
  if cache_dir.exists():
483
- # Count MD files in cache (agent markdown files from Git)
484
- # BUGFIX: Only count files in agent directories, not docs/templates/READMEs
485
- # Valid agent paths must contain "/agents/" or be in root-level category dirs
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 (from git repos)
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/) to prevent double-counting
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 git repos like bobmatnyc/claude-mpm-agents/agents/)
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 source + built files)
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 repo count for context and removed count if any
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 repo)"
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 repo)"
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 ready - all unchanged, "
612
- f"{removed} removed ({agent_count} available in repo)"
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 ready - all unchanged "
617
- f"({agent_count} available in repo)"
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 the repo, total_available is what's deployed/needed
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} available in repo)"
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 repo)"
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} available in repo)"
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} available in repo)"
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" / "remote-agents"
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} installed / {available_count} available",
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": True,
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/remote-agents/)
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 (HIGHEST PRIORITY)
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
- loaded_content = self.file_loader.try_load_file(
107
- deployed_path, "deployed PM_INSTRUCTIONS_DEPLOYED.md"
108
- )
109
- if loaded_content:
110
- content["framework_instructions"] = loaded_content
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 # Stop here - deployed version takes precedence
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/remote-agents/
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};