diff --git a/.github/workflows/check-chinese-content.yml b/.github/workflows/check-chinese-content.yml
new file mode 100644
index 0000000000..2382a9d0fc
--- /dev/null
+++ b/.github/workflows/check-chinese-content.yml
@@ -0,0 +1,80 @@
+# Copyright 2024-2026 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+name: Check Chinese Content in Jmanus
+
+on:
+ pull_request:
+ paths:
+ - 'spring-ai-alibaba-jmanus/src/main/java/**/*.java'
+
+jobs:
+ check-chinese-content:
+ runs-on: ubuntu-latest
+ name: Check for Chinese content in Java files
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.9'
+
+ - name: Check Chinese content in Jmanus Java files
+ run: |
+ cd spring-ai-alibaba-jmanus
+ echo "🔍 Checking for Chinese content in Java files..."
+ echo ""
+
+ if python scripts/check-chinese-content.py --dir src/main/java --fail-on-found; then
+ echo "✅ No Chinese content found - Check passed!"
+ else
+ echo ""
+ echo "## 🚨 Chinese Content Detected"
+ echo ""
+ echo "Chinese content has been detected in Java files under spring-ai-alibaba-jmanus/src/main/java directory."
+ echo ""
+ echo "### Detailed Check Results:"
+ python scripts/check-chinese-content.py --dir src/main/java
+ echo ""
+ echo "### Modification Suggestions:"
+ echo ""
+ echo "1. **Chinese Comments** → Change to English Comments"
+ echo " Example:"
+ echo " // ❌ Incorrect: // 这是一个用户服务类"
+ echo " // ✅ Correct: // This is a user service class"
+ echo ""
+ echo "2. **Chinese Strings** → Extract to resource files or use English"
+ echo " Example:"
+ echo " // ❌ Incorrect: throw new RuntimeException(\"用户不存在\");"
+ echo " // ✅ Correct: throw new RuntimeException(\"User not found\");"
+ echo ""
+ echo "3. **Chinese Identifiers** → Change to English Identifiers"
+ echo " Example:"
+ echo " // ❌ Incorrect: String 用户名 = \"admin\";"
+ echo " // ✅ Correct: String username = \"admin\";"
+ echo ""
+ echo "### Why Avoid Chinese Content?"
+ echo ""
+ echo "- 🌍 Internationalization Friendly: Facilitates project internationalization"
+ echo "- 🔧 Development Environment Compatibility: Avoids encoding issues"
+ echo "- 👥 Team Collaboration: Enables international team members to understand code"
+ echo "- 📚 Code Standards: Follows open source project best practices"
+ echo ""
+ echo "❌ Please modify the relevant files and resubmit."
+ exit 1
+ fi
diff --git a/spring-ai-alibaba-jmanus/scripts/check-chinese-content.py b/spring-ai-alibaba-jmanus/scripts/check-chinese-content.py
new file mode 100644
index 0000000000..18b1a0d099
--- /dev/null
+++ b/spring-ai-alibaba-jmanus/scripts/check-chinese-content.py
@@ -0,0 +1,220 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+#
+# Copyright 2024-2026 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""
+Spring AI Alibaba Jmanus Chinese Content Checker
+Tool for checking Chinese content in Java code for GitHub Actions
+"""
+
+import os
+import re
+import sys
+import json
+import argparse
+from pathlib import Path
+from typing import List, Dict, Set
+from collections import defaultdict
+
+class ChineseContentChecker:
+ def __init__(self, target_dir: str):
+ self.target_dir = Path(target_dir)
+ # Detect Chinese characters, excluding Chinese punctuation to avoid false positives
+ self.chinese_pattern = re.compile(r'[\u4e00-\u9fff]')
+ # Chinese punctuation detection
+ self.chinese_punctuation = re.compile(r',。!?;:""()【】《》')
+
+ # Exclude common English phrases to avoid false positives
+ self.exclude_patterns = [
+ r'\bAS IS\b', # "AS IS" in Apache License
+ r'\bIS NULL\b', # "IS NULL" in SQL
+ r'\bIS NOT\b', # "IS NOT" in SQL
+ r'@author\s+\w+', # Author information
+ r'@time\s+\d{4}/\d{1,2}/\d{1,2}', # Time information
+ ]
+
+ self.issues = []
+
+ def has_real_chinese_content(self, text: str) -> bool:
+ """Check if text contains real Chinese content (excluding false positives)"""
+ # First check if there are Chinese characters or Chinese punctuation
+ if not (self.chinese_pattern.search(text) or self.chinese_punctuation.search(text)):
+ return False
+
+ # Exclude common English phrases
+ for pattern in self.exclude_patterns:
+ if re.search(pattern, text, re.IGNORECASE):
+ # If matched exclude pattern, further check if it really contains Chinese
+ temp_text = re.sub(pattern, '', text, flags=re.IGNORECASE)
+ if not (self.chinese_pattern.search(temp_text) or self.chinese_punctuation.search(temp_text)):
+ return False
+
+ return True
+
+ def check_file(self, file_path: Path) -> List[Dict]:
+ """Check single file for Chinese content, return list of issues"""
+ issues = []
+
+ try:
+ with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
+ lines = f.readlines()
+
+ in_multiline_comment = False
+
+ for line_num, line in enumerate(lines, 1):
+ original_line = line.rstrip()
+ line_stripped = line.strip()
+
+ if not line_stripped:
+ continue
+
+ # Check if contains real Chinese content
+ if not self.has_real_chinese_content(line_stripped):
+ continue
+
+ # Analyze the type of location where Chinese content appears
+ content_type = self._analyze_content_type(line_stripped, in_multiline_comment)
+
+ # Update multiline comment status
+ if '/*' in line_stripped:
+ in_multiline_comment = True
+ if '*/' in line_stripped:
+ in_multiline_comment = False
+
+ issues.append({
+ 'file': str(file_path.relative_to(self.target_dir.parent)),
+ 'line': line_num,
+ 'content': original_line,
+ 'type': content_type,
+ 'message': f"Found Chinese content in {content_type}"
+ })
+
+ except Exception as e:
+ print(f"Warning: Unable to read file {file_path}: {e}", file=sys.stderr)
+
+ return issues
+
+ def _analyze_content_type(self, line: str, in_multiline_comment: bool) -> str:
+ """Analyze the type of Chinese content location"""
+ if in_multiline_comment or line.startswith('/*'):
+ return "multiline comment"
+
+ if line.startswith('//'):
+ return "single line comment"
+
+ if '//' in line:
+ comment_part = line[line.find('//'):]
+ if self.has_real_chinese_content(comment_part):
+ return "inline comment"
+
+ # Check string literals
+ string_matches = re.finditer(r'"([^"]*)"', line)
+ for match in string_matches:
+ if self.has_real_chinese_content(match.group(1)):
+ return "string literal"
+
+ # Check character literals
+ char_matches = re.finditer(r"'([^']*)'", line)
+ for match in char_matches:
+ if self.has_real_chinese_content(match.group(1)):
+ return "character literal"
+
+ # Check identifiers
+ temp_line = re.sub(r'"[^"]*"', '', line) # Remove strings
+ temp_line = re.sub(r"'[^']*'", '', temp_line) # Remove characters
+ temp_line = re.sub(r'//.*$', '', temp_line) # Remove single line comments
+
+ if self.has_real_chinese_content(temp_line):
+ return "identifier or code"
+
+ return "unknown location"
+
+ def check_directory(self) -> bool:
+ """Check entire directory, return whether there are issues"""
+ if not self.target_dir.exists():
+ print(f"::error::Directory does not exist: {self.target_dir}")
+ return False
+
+ java_files = list(self.target_dir.rglob("*.java"))
+
+ if not java_files:
+ print(f"::notice::No Java files found in {self.target_dir}")
+ return True
+
+ print(f"::notice::Found {len(java_files)} Java files, starting check...")
+
+ for java_file in java_files:
+ file_issues = self.check_file(java_file)
+ self.issues.extend(file_issues)
+
+ return len(self.issues) == 0
+
+ def report_issues(self) -> None:
+ """Report discovered issues"""
+ if not self.issues:
+ print("::notice::✅ No Java files with Chinese content found")
+ return
+
+ print(f"::error::❌ Found {len(self.issues)} Chinese content issues")
+
+ # Group issues by file
+ files_with_issues = defaultdict(list)
+ for issue in self.issues:
+ files_with_issues[issue['file']].append(issue)
+
+ for file_path, file_issues in files_with_issues.items():
+ print(f"::error file={file_path}::File contains {len(file_issues)} Chinese content issues")
+
+ for issue in file_issues:
+ print(f"::error file={file_path},line={issue['line']}::{issue['message']}: {issue['content'][:100]}")
+
+ # Output modification suggestions
+ print("\n::notice::Modification suggestions:")
+ print("::notice::1. Change Chinese comments to English comments")
+ print("::notice::2. Extract Chinese strings to resource files or configuration files")
+ print("::notice::3. Change Chinese identifiers to English identifiers")
+ print("::notice::4. For test data, consider using English or placeholders")
+
+def main():
+ parser = argparse.ArgumentParser(description='Check Chinese content in Java code')
+ parser.add_argument('--dir', '-d',
+ default='src/main/java',
+ help='Directory path to check (relative to current directory)')
+ parser.add_argument('--fail-on-found', '-f',
+ action='store_true',
+ help='Return non-zero exit code when Chinese content is found')
+
+ args = parser.parse_args()
+
+ try:
+ checker = ChineseContentChecker(args.dir)
+ is_clean = checker.check_directory()
+ checker.report_issues()
+
+ if args.fail_on_found and not is_clean:
+ print(f"::error::Check failed: Found {len(checker.issues)} Chinese content issues")
+ return 1
+
+ return 0
+
+ except Exception as e:
+ print(f"::error::Error occurred during check: {e}")
+ return 1
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/ManusProperties.java b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/ManusProperties.java
index df9639b187..b724e26215 100644
--- a/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/ManusProperties.java
+++ b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/ManusProperties.java
@@ -35,8 +35,10 @@ public class ManusProperties implements IManusProperties {
// Begin-------------------------------------------------------------------------------------------
@ConfigProperty(group = "manus", subGroup = "browser", key = "headless", path = "manus.browser.headless",
- description = "是否使用无头浏览器模式", defaultValue = "false", inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ description = "manus.browser.headless.description", defaultValue = "false",
+ inputType = ConfigInputType.CHECKBOX,
+ options = { @ConfigOption(value = "true", label = "manus.browser.headless.option.true"),
+ @ConfigOption(value = "false", label = "manus.browser.headless.option.false") })
private volatile Boolean browserHeadless;
public Boolean getBrowserHeadless() {
@@ -53,8 +55,8 @@ public void setBrowserHeadless(Boolean browserHeadless) {
}
@ConfigProperty(group = "manus", subGroup = "browser", key = "requestTimeout",
- path = "manus.browser.requestTimeout", description = "浏览器请求超时时间(秒)", defaultValue = "180",
- inputType = ConfigInputType.NUMBER)
+ path = "manus.browser.requestTimeout", description = "manus.browser.requestTimeout.description",
+ defaultValue = "180", inputType = ConfigInputType.NUMBER)
private volatile Integer browserRequestTimeout;
public Integer getBrowserRequestTimeout() {
@@ -71,9 +73,10 @@ public void setBrowserRequestTimeout(Integer browserRequestTimeout) {
}
@ConfigProperty(group = "manus", subGroup = "general", key = "debugDetail", path = "manus.general.debugDetail",
- description = "debug模式 :会要求模型输出更多内容,方便查找问题,但速度更慢", defaultValue = "false",
+ description = "manus.general.debugDetail.description", defaultValue = "false",
inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ options = { @ConfigOption(value = "true", label = "manus.general.debugDetail.option.true"),
+ @ConfigOption(value = "false", label = "manus.general.debugDetail.option.false") })
private volatile Boolean debugDetail;
public Boolean getDebugDetail() {
@@ -95,8 +98,10 @@ public void setDebugDetail(Boolean debugDetail) {
// Interaction Settings
// Begin---------------------------------------------------------------------------------------
@ConfigProperty(group = "manus", subGroup = "interaction", key = "openBrowser", path = "manus.openBrowserAuto",
- description = "启动时自动打开浏览器", defaultValue = "true", inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ description = "manus.interaction.openBrowser.description", defaultValue = "true",
+ inputType = ConfigInputType.CHECKBOX,
+ options = { @ConfigOption(value = "true", label = "manus.interaction.openBrowser.option.true"),
+ @ConfigOption(value = "false", label = "manus.interaction.openBrowser.option.false") })
private volatile Boolean openBrowserAuto;
public Boolean getOpenBrowserAuto() {
@@ -119,7 +124,7 @@ public void setOpenBrowserAuto(Boolean openBrowserAuto) {
// Begin---------------------------------------------------------------------------------------------
@ConfigProperty(group = "manus", subGroup = "agent", key = "maxSteps", path = "manus.maxSteps",
- description = "智能体执行最大步数", defaultValue = "20", inputType = ConfigInputType.NUMBER)
+ description = "manus.agent.maxSteps.description", defaultValue = "20", inputType = ConfigInputType.NUMBER)
private volatile Integer maxSteps;
public Integer getMaxSteps() {
@@ -136,9 +141,10 @@ public void setMaxSteps(Integer maxSteps) {
}
@ConfigProperty(group = "manus", subGroup = "agents", key = "forceOverrideFromYaml",
- path = "manus.agents.forceOverrideFromYaml", description = "强制使用YAML配置文件覆盖同名Agent", defaultValue = "true",
- inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ path = "manus.agents.forceOverrideFromYaml", description = "manus.agent.forceOverrideFromYaml.description",
+ defaultValue = "true", inputType = ConfigInputType.CHECKBOX,
+ options = { @ConfigOption(value = "true", label = "manus.agent.forceOverrideFromYaml.option.true"),
+ @ConfigOption(value = "false", label = "manus.agent.forceOverrideFromYaml.option.false") })
private volatile Boolean forceOverrideFromYaml;
public Boolean getForceOverrideFromYaml() {
@@ -155,8 +161,8 @@ public void setForceOverrideFromYaml(Boolean forceOverrideFromYaml) {
}
@ConfigProperty(group = "manus", subGroup = "agent", key = "userInputTimeout",
- path = "manus.agent.userInputTimeout", description = "用户输入表单等待超时时间(秒)", defaultValue = "300",
- inputType = ConfigInputType.NUMBER)
+ path = "manus.agent.userInputTimeout", description = "manus.agent.userInputTimeout.description",
+ defaultValue = "300", inputType = ConfigInputType.NUMBER)
private volatile Integer userInputTimeout;
public Integer getUserInputTimeout() {
@@ -180,7 +186,8 @@ public void setUserInputTimeout(Integer userInputTimeout) {
}
@ConfigProperty(group = "manus", subGroup = "agent", key = "maxMemory", path = "manus.agent.maxMemory",
- description = "能记住的最大消息数", defaultValue = "1000", inputType = ConfigInputType.NUMBER)
+ description = "manus.agent.maxMemory.description", defaultValue = "1000",
+ inputType = ConfigInputType.NUMBER)
private volatile Integer maxMemory;
public Integer getMaxMemory() {
@@ -200,9 +207,10 @@ public void setMaxMemory(Integer maxMemory) {
}
@ConfigProperty(group = "manus", subGroup = "agent", key = "parallelToolCalls",
- path = "manus.agent.parallelToolCalls", description = "并行工具调用", defaultValue = "false",
- inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ path = "manus.agent.parallelToolCalls", description = "manus.agent.parallelToolCalls.description",
+ defaultValue = "false", inputType = ConfigInputType.CHECKBOX,
+ options = { @ConfigOption(value = "true", label = "manus.agent.parallelToolCalls.option.true"),
+ @ConfigOption(value = "false", label = "manus.agent.parallelToolCalls.option.false") })
private volatile Boolean parallelToolCalls;
public Boolean getParallelToolCalls() {
@@ -228,7 +236,7 @@ public void setParallelToolCalls(Boolean parallelToolCalls) {
// Begin--------------------------------------------------------------------------------------------
@ConfigProperty(group = "manus", subGroup = "general", key = "baseDir", path = "manus.baseDir",
- description = "manus根目录", defaultValue = "", inputType = ConfigInputType.TEXT)
+ description = "manus.general.baseDir.description", defaultValue = "", inputType = ConfigInputType.TEXT)
private volatile String baseDir = "";
public String getBaseDir() {
@@ -249,9 +257,10 @@ public void setBaseDir(String baseDir) {
// Infinite Context SubGroup
@ConfigProperty(group = "manus", subGroup = "infiniteContext", key = "enabled",
- path = "manus.infiniteContext.enabled", description = "是否开启无限上下文", defaultValue = "true",
- inputType = ConfigInputType.CHECKBOX,
- options = { @ConfigOption(value = "true", label = "是"), @ConfigOption(value = "false", label = "否") })
+ path = "manus.infiniteContext.enabled", description = "manus.infiniteContext.enabled.description",
+ defaultValue = "true", inputType = ConfigInputType.CHECKBOX,
+ options = { @ConfigOption(value = "true", label = "manus.infiniteContext.enabled.option.true"),
+ @ConfigOption(value = "false", label = "manus.infiniteContext.enabled.option.false") })
private volatile Boolean infiniteContextEnabled;
public Boolean getInfiniteContextEnabled() {
@@ -268,7 +277,8 @@ public void setInfiniteContextEnabled(Boolean infiniteContextEnabled) {
}
@ConfigProperty(group = "manus", subGroup = "infiniteContext", key = "parallelThreads",
- path = "manus.infiniteContext.parallelThreads", description = "并行处理线程数", defaultValue = "4",
+ path = "manus.infiniteContext.parallelThreads",
+ description = "manus.infiniteContext.parallelThreads.description", defaultValue = "4",
inputType = ConfigInputType.NUMBER)
private volatile Integer infiniteContextParallelThreads;
@@ -290,7 +300,8 @@ public void setInfiniteContextParallelThreads(Integer infiniteContextParallelThr
}
@ConfigProperty(group = "manus", subGroup = "infiniteContext", key = "taskContextSize",
- path = "manus.infiniteContext.taskContextSize", description = "触发无限上下文的字符数阈值(字符数)", defaultValue = "20000",
+ path = "manus.infiniteContext.taskContextSize",
+ description = "manus.infiniteContext.taskContextSize.description", defaultValue = "20000",
inputType = ConfigInputType.NUMBER)
private volatile Integer infiniteContextTaskContextSize;
@@ -340,7 +351,8 @@ public void setAllowExternalAccess(Boolean allowExternalAccess) {
// Begin--------------------------------------------------------------------------------------------
@ConfigProperty(group = "manus", subGroup = "mcpServiceLoader", key = "connectionTimeoutSeconds",
- path = "manus.mcpServiceLoader.connectionTimeoutSeconds", description = "MCP连接超时时间(秒)", defaultValue = "20",
+ path = "manus.mcpServiceLoader.connectionTimeoutSeconds",
+ description = "manus.mcpServiceLoader.connectionTimeoutSeconds.description", defaultValue = "20",
inputType = ConfigInputType.NUMBER)
private volatile Integer mcpConnectionTimeoutSeconds;
@@ -362,7 +374,8 @@ public void setMcpConnectionTimeoutSeconds(Integer mcpConnectionTimeoutSeconds)
}
@ConfigProperty(group = "manus", subGroup = "mcpServiceLoader", key = "maxRetryCount",
- path = "manus.mcpServiceLoader.maxRetryCount", description = "MCP连接最大重试次数", defaultValue = "3",
+ path = "manus.mcpServiceLoader.maxRetryCount",
+ description = "manus.mcpServiceLoader.maxRetryCount.description", defaultValue = "3",
inputType = ConfigInputType.NUMBER)
private volatile Integer mcpMaxRetryCount;
@@ -384,7 +397,8 @@ public void setMcpMaxRetryCount(Integer mcpMaxRetryCount) {
}
@ConfigProperty(group = "manus", subGroup = "mcpServiceLoader", key = "maxConcurrentConnections",
- path = "manus.mcpServiceLoader.maxConcurrentConnections", description = "MCP最大并发连接数", defaultValue = "10",
+ path = "manus.mcpServiceLoader.maxConcurrentConnections",
+ description = "manus.mcpServiceLoader.maxConcurrentConnections.description", defaultValue = "10",
inputType = ConfigInputType.NUMBER)
private volatile Integer mcpMaxConcurrentConnections;
diff --git a/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/PromptDescriptionConfig.java b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/PromptDescriptionConfig.java
new file mode 100644
index 0000000000..8a8eb94cee
--- /dev/null
+++ b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/config/PromptDescriptionConfig.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.cloud.ai.example.manus.config;
+
+import com.alibaba.cloud.ai.example.manus.dynamic.prompt.model.enums.PromptEnum;
+import com.alibaba.cloud.ai.example.manus.prompt.PromptDescriptionLoader;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+
+import jakarta.annotation.PostConstruct;
+
+/**
+ * Configuration class to initialize the prompt description loader
+ */
+@Configuration
+public class PromptDescriptionConfig {
+
+ @Autowired
+ private PromptDescriptionLoader promptDescriptionLoader;
+
+ @PostConstruct
+ public void initializeDescriptionLoader() {
+ PromptEnum.setDescriptionLoader(promptDescriptionLoader);
+ }
+
+}
diff --git a/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/dynamic/agent/controller/AgentManagementController.java b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/dynamic/agent/controller/AgentManagementController.java
new file mode 100644
index 0000000000..f34f91af6e
--- /dev/null
+++ b/spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/dynamic/agent/controller/AgentManagementController.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.cloud.ai.example.manus.dynamic.agent.controller;
+
+import com.alibaba.cloud.ai.example.manus.dynamic.agent.entity.DynamicAgentEntity;
+import com.alibaba.cloud.ai.example.manus.dynamic.agent.model.enums.AgentEnum;
+import com.alibaba.cloud.ai.example.manus.dynamic.agent.service.AgentInitializationService;
+import com.alibaba.cloud.ai.example.manus.dynamic.agent.service.IDynamicAgentLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Agent management REST API controller
+ */
+@RestController
+@RequestMapping("/api/agent-management")
+@CrossOrigin(origins = "*")
+public class AgentManagementController {
+
+ private static final Logger logger = LoggerFactory.getLogger(AgentManagementController.class);
+
+ @Autowired
+ private AgentInitializationService agentInitializationService;
+
+ @Autowired
+ private IDynamicAgentLoader agentLoader;
+
+ @Value("${namespace.value}")
+ private String namespace;
+
+ /**
+ * Get all agents for current namespace
+ */
+ @GetMapping
+ public ResponseEntity> getAllAgents() {
+ try {
+ List
"),t.includes("
")&&(t=`
${t}
`),t},I=async a=>{var t;if(!((t=a.planExecution)!=null&&t.currentPlanId)||!a.planExecution.userInputWaitState){console.error("[ChatComponent] 缺少planExecution.currentPlanId或userInputWaitState");return}try{const r={},d=a.planExecution.userInputWaitState.formInputs;d&&d.length>0?Object.entries(G[a.id]).forEach(([N,Z])=>{var M;const j=parseInt(N,10),H=((M=d[j])==null?void 0:M.label)||`input_${N}`;r[H]=Z}):r.genericInput=a.genericInput??"",console.log("[ChatComponent] 提交用户输入:",r);const W=await qe.submitFormInput(a.planExecution.currentPlanId,r);delete a.planExecution.userInputWaitState,delete a.genericInput,delete G[a.id],_.startPolling(),console.log("[ChatComponent] 用户输入提交成功:",W)}catch(r){console.error("[ChatComponent] 用户输入提交失败:",r),alert(`提交失败: ${(r==null?void 0:r.message)||"未知错误"}`)}};return $e(()=>u.initialPrompt,(a,t)=>{console.log("[ChatComponent] initialPrompt changed from:",t,"to:",a),a&&typeof a=="string"&&a.trim()&&a!==t&&(console.log("[ChatComponent] Processing changed initial prompt:",a),ne(()=>{C(a)}))},{immediate:!1}),Se(()=>{console.log("[ChatComponent] Mounted, setting up event listeners"),oe.setEventCallbacks({onPlanUpdate:me,onPlanCompleted:v,onDialogRoundStart:se,onChatInputUpdateState:a=>{console.log("[ChatComponent] Chat input state update for rootPlanId:",a)},onChatInputClear:()=>{console.log("[ChatComponent] Chat input clear requested")},onPlanError:c}),ne(()=>{ce()}),u.initialPrompt&&typeof u.initialPrompt=="string"&&u.initialPrompt.trim()&&(console.log("[ChatComponent] Processing initial prompt:",u.initialPrompt),ne(()=>{C(u.initialPrompt)}))}),De(()=>{console.log("[ChatComponent] Unmounting, cleaning up resources"),be(),B.value&&clearInterval(B.value),_.cleanup(),Object.keys(G).forEach(a=>delete G[a])}),n({handleSendMessage:C,handlePlanUpdate:me,handlePlanCompleted:v,handleDialogRoundStart:se,addMessage:o,handlePlanError:c}),(a,t)=>(p(),g("div",Ns,[e("div",{class:"messages",ref_key:"messagesRef",ref:x},[(p(!0),g(ge,null,ve($.value,r=>{var d,W,N,Z,j,H,M,z,ae;return p(),g("div",{key:r.id,class:te(["message",{user:r.type==="user",assistant:r.type==="assistant"}])},[e("div",Us,[r.type==="user"?(p(),g("div",Ls,i(r.content),1)):(p(),g("div",Vs,[r.thinking||((d=r.planExecution)==null?void 0:d.progress)!==void 0||(((N=(W=r.planExecution)==null?void 0:W.steps)==null?void 0:N.length)??0)>0?(p(),g("div",qs,[e("div",Fs,[e("div",Os,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"})]),e("div",Bs,i(a.$t("chat.thinkingLabel")),1)]),e("div",Ws,[r.thinking?(p(),g("div",js,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"}),e("span",null,i(r.thinking),1)])):q("",!0),((Z=r.planExecution)==null?void 0:Z.progress)!==void 0?(p(),g("div",Hs,[e("div",zs,[e("div",{class:"progress-fill",style:Ue({width:r.planExecution.progress+"%"})},null,4)]),e("span",Js,i(r.planExecution.progressText??a.$t("chat.processing")+"..."),1)])):q("",!0),(((H=(j=r.planExecution)==null?void 0:j.steps)==null?void 0:H.length)??0)>0?(p(),g("div",Gs,[e("h4",Xs,i(a.$t("chat.stepExecutionDetails")),1),(p(!0),g(ge,null,ve((M=r.planExecution)==null?void 0:M.steps,(Ee,J)=>{var Me,Fe,Oe,Be,We,je,He,ze,Je,Ge,Xe,Ke,Qe,Ye,Ze,et,tt,nt,st;return p(),g("div",{key:J,class:te(["ai-section",{running:S(r,J)==="RUNNING",completed:S(r,J)==="FINISHED",pending:S(r,J)==="IDLE"}]),onClick:ie(pe=>L(r,J),["stop"])},[e("div",Qs,[e("span",Ys,i(S(r,J)==="FINISHED"?"✓":S(r,J)==="RUNNING"?"▶":"○"),1),e("span",Zs,i(Ee||`${a.$t("chat.step")} ${J+1}`),1),S(r,J)==="RUNNING"?(p(),g("span",eo,i(a.$t("chat.status.executing")),1)):S(r,J)==="FINISHED"?(p(),g("span",to,i(a.$t("chat.status.completed")),1)):(p(),g("span",no,i(a.$t("chat.status.pending")),1))]),r.stepActions&&r.stepActions[J]?(p(),g("div",so,[e("div",oo,[e("span",ao,i(((Me=r.stepActions[J])==null?void 0:Me.status)==="current"?"🔄":((Fe=r.stepActions[J])==null?void 0:Fe.status)==="completed"?"✓":"⏳"),1),e("strong",null,i((Oe=r.stepActions[J])==null?void 0:Oe.actionDescription),1)]),(Be=r.stepActions[J])!=null&&Be.toolParameters?(p(),g("div",lo,[t[0]||(t[0]=e("span",{class:"tool-icon"},"⚙️",-1)),e("span",io,i(a.$t("common.parameters"))+":",1),e("pre",co,i((We=r.stepActions[J])==null?void 0:We.toolParameters),1)])):q("",!0),(je=r.stepActions[J])!=null&&je.thinkOutput?(p(),g("div",ro,[e("div",uo,[t[1]||(t[1]=e("span",{class:"think-icon"},"💭",-1)),e("span",po,i(a.$t("chat.thinkingOutput"))+":",1)]),e("div",ho,[e("pre",go,i((He=r.stepActions[J])==null?void 0:He.thinkOutput),1)])])):q("",!0)])):q("",!0),((ze=R(r,J))==null?void 0:ze.length)>0?(p(),g("div",mo,[e("div",vo,[b(l(P),{icon:"carbon:tree-view",class:"sub-plan-icon"}),t[2]||(t[2]=e("span",{class:"sub-plan-title"},"子执行计划",-1))]),e("div",fo,[(p(!0),g(ge,null,ve(R(r,J),(pe,le)=>(p(),g("div",{key:`sub-${J}-${le}`,class:te(["sub-plan-step-item",{completed:E(r,J,le)==="completed",current:E(r,J,le)==="current",pending:E(r,J,le)==="pending"}]),onClick:ie(ot=>A(r,J,le),["stop"])},[e("div",ko,[e("span",_o,i(E(r,J,le)==="completed"?"✓":E(r,J,le)==="current"?"▶":"○"),1),e("span",$o,i(le+1),1)]),e("div",Po,[e("span",Co,i(pe),1),t[3]||(t[3]=e("span",{class:"sub-step-badge"},"子步骤",-1))])],10,bo))),128))])])):q("",!0),(Je=r.planExecution)!=null&&Je.userInputWaitState&&S(r,J)==="RUNNING"?(p(),g("div",So,[e("p",yo,i(((Xe=(Ge=r.planExecution)==null?void 0:Ge.userInputWaitState)==null?void 0:Xe.message)??a.$t("chat.userInput.message")),1),(Qe=(Ke=r.planExecution)==null?void 0:Ke.userInputWaitState)!=null&&Qe.formDescription?(p(),g("p",Eo,i((Ze=(Ye=r.planExecution)==null?void 0:Ye.userInputWaitState)==null?void 0:Ze.formDescription),1)):q("",!0),e("form",{onSubmit:ie(pe=>I(r),["prevent"]),class:"user-input-form"},[(tt=(et=r.planExecution)==null?void 0:et.userInputWaitState)!=null&&tt.formInputs&&r.planExecution.userInputWaitState.formInputs.length>0?(p(!0),g(ge,{key:0},ve((st=(nt=r.planExecution)==null?void 0:nt.userInputWaitState)==null?void 0:st.formInputs,(pe,le)=>(p(),g("div",{key:le,class:"form-group"},[e("label",{for:`form-input-${pe.label.replace(/\W+/g,"_")}`},i(pe.label)+": ",9,To),de(e("input",{type:"text",id:`form-input-${pe.label.replace(/\W+/g,"_")}`,name:pe.label,"onUpdate:modelValue":ot=>G[r.id][le]=ot,class:"form-input"},null,8,Io),[[fe,G[r.id][le]]])]))),128)):(p(),g("div",Do,[e("label",xo,i(a.$t("common.input"))+":",1),de(e("input",{type:"text",id:"form-input-genericInput",name:"genericInput","onUpdate:modelValue":pe=>r.genericInput=pe,class:"form-input"},null,8,Ro),[[fe,r.genericInput]])])),e("button",Ao,i(a.$t("chat.userInput.submit")),1)],40,wo)])):q("",!0)],10,Ks)}),128))])):!r.content&&(r.thinking||((z=r.planExecution)==null?void 0:z.progress)!==void 0&&(((ae=r.planExecution)==null?void 0:ae.progress)??0)<100)?(p(),g("div",Mo,[e("div",No,[t[4]||(t[4]=e("div",{class:"thinking-dots"},[e("span"),e("span"),e("span")],-1)),e("span",null,i(r.thinking??a.$t("chat.thinkingProcessing")),1)])])):q("",!0)])])):q("",!0),e("div",Uo,[e("div",Lo,[e("div",Vo,[b(l(P),{icon:"carbon:bot",class:"bot-icon"})]),e("div",qo,i(a.$t("chat.botName")),1)]),e("div",Fo,[r.content?(p(),g("div",Oo,[e("div",{class:"response-text",innerHTML:k(r.content)},null,8,Bo)])):(p(),g("div",Wo,[e("div",jo,[t[5]||(t[5]=e("div",{class:"typing-dots"},[e("span"),e("span"),e("span")],-1)),e("span",Ho,i(a.$t("chat.thinkingResponse")),1)])]))])])]))])],2)}),128)),F.value?(p(),g("div",zo,[e("div",Jo,[e("div",Go,[e("div",Xo,[e("div",Ko,[e("div",Qo,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"})]),e("div",Yo,i(a.$t("chat.thinkingLabel")),1)]),e("div",Zo,[e("div",ea,[e("div",ta,[t[6]||(t[6]=e("div",{class:"thinking-dots"},[e("span"),e("span"),e("span")],-1)),e("span",null,i(a.$t("chat.thinking")),1)])])])]),e("div",na,[e("div",sa,[e("div",oa,[b(l(P),{icon:"carbon:bot",class:"bot-icon"})]),e("div",aa,i(a.$t("chat.botName")),1)]),e("div",la,[e("div",ia,[e("div",ca,[t[7]||(t[7]=e("div",{class:"typing-dots"},[e("span"),e("span"),e("span")],-1)),e("span",ra,i(a.$t("chat.thinkingResponse")),1)])])])])])])])):q("",!0)],512),X.value?(p(),g("div",{key:0,class:"scroll-to-bottom-btn",onClick:O,title:a.$t("chat.scrollToBottom")},[b(l(P),{icon:"carbon:chevron-down"})],8,ua)):q("",!0)]))}}),pa=ye(da,[["__scopeId","data-v-46f87864"]]),ha={class:"input-area"},ga={class:"input-container"},ma={class:"attach-btn",title:"附加文件"},va=["placeholder","disabled"],fa=["title"],ba=["disabled","title"],ka=Ce({__name:"index",props:{placeholder:{default:""},disabled:{type:Boolean,default:!1},initialValue:{default:""}},emits:["send","clear","update-state","plan-mode-clicked"],setup(w,{expose:n,emit:s}){const{t:u}=Ie(),T=w,f=s,_=D(),x=D(""),F=_e(()=>T.placeholder||u("input.placeholder")),$=D(F.value),B=_e(()=>!!T.disabled),X=()=>{ne(()=>{_.value&&(_.value.style.height="auto",_.value.style.height=Math.min(_.value.scrollHeight,120)+"px")})},G=O=>{O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),o())},o=()=>{if(!x.value.trim()||B.value)return;const O=x.value.trim();f("send",O),y()},h=()=>{f("plan-mode-clicked")},y=()=>{x.value="",X(),f("clear")},K=(O,Q)=>{Q&&($.value=O?Q:u("input.waiting")),f("update-state",O,Q)},U=O=>{x.value=O,X()},V=()=>x.value.trim();return $e(()=>T.initialValue,O=>{O&&O.trim()&&(x.value=O,X())},{immediate:!0}),n({clearInput:y,updateState:K,setInputValue:U,getQuery:V,focus:()=>{var O;return(O=_.value)==null?void 0:O.focus()}}),Se(()=>{}),De(()=>{}),(O,Q)=>(p(),g("div",ha,[e("div",ga,[e("button",ma,[b(l(P),{icon:"carbon:attachment"})]),de(e("textarea",{"onUpdate:modelValue":Q[0]||(Q[0]=ce=>x.value=ce),ref_key:"inputRef",ref:_,class:"chat-input",placeholder:$.value,disabled:B.value,onKeydown:G,onInput:X},null,40,va),[[fe,x.value]]),e("button",{class:"plan-mode-btn",title:O.$t("input.planMode"),onClick:h},[b(l(P),{icon:"carbon:document"}),Y(" "+i(O.$t("input.planMode")),1)],8,fa),e("button",{class:"send-button",disabled:!x.value.trim()||B.value,onClick:o,title:O.$t("input.send")},[b(l(P),{icon:"carbon:send-alt"}),Y(" "+i(O.$t("input.send")),1)],8,ba)])]))}}),_a=ye(ka,[["__scopeId","data-v-639c8b2a"]]);class we{static async getAllCronTasks(){try{const n=await fetch(this.BASE_URL);return await(await this.handleResponse(n)).json()}catch(n){throw console.error("Failed to get cron tasks:",n),n}}static async getCronTaskById(n){try{const s=await fetch(`${this.BASE_URL}/${n}`);return await(await this.handleResponse(s)).json()}catch(s){throw console.error("Failed to get cron task by id:",s),s}}static async createCronTask(n){try{const s=await fetch(this.BASE_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});return await(await this.handleResponse(s)).json()}catch(s){throw console.error("Failed to create cron task:",s),s}}static async updateCronTask(n,s){try{const u=await fetch(`${this.BASE_URL}/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});return await(await this.handleResponse(u)).json()}catch(u){throw console.error("Failed to update cron task:",u),u}}static async updateTaskStatus(n,s){try{const u=await fetch(`${this.BASE_URL}/${n}/status?status=${s}`,{method:"PUT"});await this.handleResponse(u)}catch(u){throw console.error("Failed to update task status:",u),u}}static async deleteCronTask(n){try{const s=await fetch(`${this.BASE_URL}/${n}`,{method:"DELETE"});await this.handleResponse(s)}catch(s){throw console.error("Failed to delete cron task:",s),s}}static async handleResponse(n){if(!n.ok)try{const s=await n.json();throw new Error(s.message||`API request failed: ${n.status}`)}catch{throw new Error(`API request failed: ${n.status} ${n.statusText}`)}return n}}he(we,"BASE_URL","/api/cron-tasks");const Te={validateCronExpression(w){const n=w.trim().split(/\s+/);return n.length>=5&&n.length<=6},formatTime(w){return new Date(w).toLocaleString()},async saveTask(w){try{let n;return w.id?n=await we.updateCronTask(Number(w.id),w):n=await we.createCronTask(w),n}catch(n){throw console.error("Failed to save cron task:",n),n}},async deleteTask(w){try{await we.deleteCronTask(String(w))}catch(n){throw console.error("Failed to delete cron task:",n),n}},async toggleTaskStatus(w){if(!w.id)throw new Error("Task ID is required");const n=w.status===0?1:0;return await we.updateCronTask(Number(w.id),{...w,status:n})},prepareTaskExecution(w){return w.planTemplateId?{useTemplate:!0,planData:{title:w.cronName||"定时任务执行",planData:{id:w.planTemplateId,planTemplateId:w.planTemplateId,planId:w.planTemplateId},params:w.executionParams||void 0}}:{useTemplate:!1,taskContent:w.planDesc||w.cronName||""}}},$a={class:"modal-header"},Pa={class:"header-actions"},Ca={class:"status-switch"},Sa={class:"status-label"},ya={class:"toggle-switch"},Ea=["checked"],wa={class:"modal-content"},Ta={class:"form-group"},Ia={class:"form-label"},Da=["placeholder"],xa={class:"form-group"},Ra={class:"form-label"},Aa=["placeholder"],Ma={class:"form-help"},Na={class:"form-group"},Ua={class:"form-label"},La=["placeholder"],Va={class:"form-group"},qa={class:"form-label"},Fa={class:"template-toggle"},Oa={key:0,class:"template-selector"},Ba={value:""},Wa=["value"],ja={class:"form-help"},Ha={key:0,class:"form-group"},za={class:"time-info"},Ja={class:"time-label"},Ga={class:"time-value"},Xa={key:1,class:"form-group"},Ka={class:"time-info"},Qa={class:"time-label"},Ya={class:"time-value"},Za={class:"modal-footer"},el=["disabled"],tl=Ce({__name:"TaskDetailModal",props:{modelValue:{type:Boolean},task:{}},emits:["update:modelValue","save"],setup(w,{emit:n}){const s=w,u=n,T=D(!1),f=D([]),_=D({cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""});Se(async()=>{try{const o=await Ae.getAllPlanTemplates();o&&o.templates&&(f.value=o.templates.map(h=>({id:h.id,name:h.title||"Unnamed Template"})))}catch(o){console.error("Failed to get template list:",o)}});const F=o=>{o.target===o.currentTarget&&u("update:modelValue",!1)},$=()=>{_.value.linkTemplate=!1,_.value.templateId="",_.value.planTemplateId=""},B=()=>_.value.cronName.trim()?_.value.cronTime.trim()?Te.validateCronExpression(_.value.cronTime)?_.value.planDesc.trim()?_.value.linkTemplate&&!_.value.templateId?(alert("Please select a plan template"),!1):!0:(alert("Task description cannot be empty"),!1):(alert("Invalid Cron expression format, should be 5-6 parts separated by spaces"),!1):(alert("Cron expression cannot be empty"),!1):(alert("Task name cannot be empty"),!1),X=o=>Te.formatTime(o),G=async()=>{var o;if(B()){T.value=!0;try{const h={..._.value,...((o=s.task)==null?void 0:o.id)!==void 0&&{id:s.task.id},cronName:_.value.cronName.trim(),cronTime:_.value.cronTime.trim(),planDesc:_.value.planDesc.trim(),status:_.value.status,planTemplateId:_.value.linkTemplate&&_.value.templateId||""};u("save",h)}finally{T.value=!1}}};return $e(()=>s.task,o=>{if(o){const h=o.templateId||o.planTemplateId||"";_.value={cronName:o.cronName||"",cronTime:o.cronTime||"",planDesc:o.planDesc||"",status:o.status??1,linkTemplate:!!h,templateId:h,planTemplateId:h}}else _.value={cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""}},{immediate:!0}),$e(()=>s.modelValue,o=>{o||(_.value={cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""})}),(o,h)=>(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>{var y,K,U;return[o.modelValue?(p(),g("div",{key:0,class:"modal-overlay",onClick:F},[e("div",{class:"modal-container",onClick:h[8]||(h[8]=ie(()=>{},["stop"]))},[e("div",$a,[e("h3",null,i(o.$t("cronTask.taskDetail")),1),e("div",Pa,[e("div",Ca,[e("span",Sa,i(o.$t("cronTask.taskStatus")),1),e("label",ya,[e("input",{type:"checkbox",checked:_.value.status===0,onChange:h[0]||(h[0]=V=>_.value.status=_.value.status===0?1:0)},null,40,Ea),h[9]||(h[9]=e("span",{class:"toggle-slider"},null,-1))])]),e("button",{class:"close-btn",onClick:h[1]||(h[1]=V=>o.$emit("update:modelValue",!1))},[b(l(P),{icon:"carbon:close"})])])]),e("div",wa,[e("form",{onSubmit:ie(G,["prevent"]),class:"task-form"},[e("div",Ta,[e("label",Ia,i(o.$t("cronTask.taskName")),1),de(e("input",{"onUpdate:modelValue":h[2]||(h[2]=V=>_.value.cronName=V),type:"text",class:"form-input",placeholder:o.$t("cronTask.taskNamePlaceholder"),required:""},null,8,Da),[[fe,_.value.cronName]])]),e("div",xa,[e("label",Ra,i(o.$t("cronTask.cronExpression")),1),de(e("input",{"onUpdate:modelValue":h[3]||(h[3]=V=>_.value.cronTime=V),type:"text",class:"form-input",placeholder:o.$t("cronTask.cronExpressionPlaceholder"),required:""},null,8,Aa),[[fe,_.value.cronTime]]),e("div",Ma,i(o.$t("cronTask.cronExpressionHelp")),1)]),e("div",Na,[e("label",Ua,i(o.$t("cronTask.taskDescription")),1),de(e("textarea",{"onUpdate:modelValue":h[4]||(h[4]=V=>_.value.planDesc=V),class:"form-textarea",placeholder:o.$t("cronTask.taskDescriptionPlaceholder"),rows:"4",required:""},null,8,La),[[fe,_.value.planDesc]])]),e("div",Va,[e("label",qa,i(o.$t("cronTask.planTemplate")),1),e("div",Fa,[e("button",{type:"button",class:te(["template-btn",_.value.linkTemplate?"active":""]),onClick:h[5]||(h[5]=V=>_.value.linkTemplate=!0)},[b(l(P),{icon:"carbon:checkmark"}),Y(" "+i(o.$t("cronTask.linkTemplate")),1)],2),e("button",{type:"button",class:te(["template-btn",_.value.linkTemplate?"":"active"]),onClick:$},[b(l(P),{icon:"carbon:close"}),Y(" "+i(o.$t("cronTask.noTemplate")),1)],2)]),_.value.linkTemplate?(p(),g("div",Oa,[de(e("select",{"onUpdate:modelValue":h[6]||(h[6]=V=>_.value.templateId=V),class:"form-select"},[e("option",Ba,i(o.$t("cronTask.selectTemplate")),1),(p(!0),g(ge,null,ve(f.value,V=>(p(),g("option",{key:V.id,value:V.id},i(V.name),9,Wa))),128))],512),[[ut,_.value.templateId]]),e("div",ja,i(o.$t("cronTask.templateHelpText")),1)])):q("",!0)]),(y=o.task)!=null&&y.createTime?(p(),g("div",Ha,[e("div",za,[e("span",Ja,i(o.$t("cronTask.createTime"))+":",1),e("span",Ga,i(X(o.task.createTime)),1)])])):q("",!0),(K=o.task)!=null&&K.updateTime?(p(),g("div",Xa,[e("div",Ka,[e("span",Qa,i(o.$t("cronTask.updateTime"))+":",1),e("span",Ya,i(X(o.task.updateTime)),1)])])):q("",!0)],32)]),e("div",Za,[e("button",{type:"button",class:"cancel-btn",onClick:h[7]||(h[7]=V=>o.$emit("update:modelValue",!1))},i(o.$t("common.cancel")),1),e("button",{type:"button",class:"save-btn",onClick:G,disabled:T.value},[T.value?(p(),ue(l(P),{key:0,icon:"carbon:loading",class:"loading-icon"})):q("",!0),Y(" "+i((U=s.task)!=null&&U.id?o.$t("common.save"):o.$t("common.create")),1)],8,el)])])])):q("",!0)]}),_:1})]))}}),nl=ye(tl,[["__scopeId","data-v-c9380237"]]),sl={class:"modal-header"},ol={class:"header-actions"},al={class:"modal-content"},ll={key:0,class:"loading-container"},il={key:1,class:"empty-container"},cl={key:2,class:"task-list"},rl=["onClick"],ul={class:"task-main"},dl={class:"task-info"},pl={class:"task-header"},hl={class:"task-name"},gl={class:"task-description"},ml={class:"task-time"},vl=["onClick"],fl=["onClick","disabled","title"],bl=["onClick","title"],kl={class:"dropdown-menu"},_l=["onClick"],$l=["onClick","disabled"],Pl=["onClick","disabled"],Cl={class:"confirm-header"},Sl={class:"confirm-content"},yl={class:"confirm-actions"},El=["disabled"],wl={class:"confirm-header"},Tl={class:"confirm-content"},Il={class:"create-options"},Dl={class:"option-content"},xl={class:"option-title"},Rl={class:"option-desc"},Al={class:"option-content"},Ml={class:"option-title"},Nl={class:"option-desc"},Ul={class:"confirm-actions"},Ll=Ce({__name:"index",props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(w,{emit:n}){const s=lt(),u=it(),T=mt(),{t:f}=Ie(),_=w,x=n,F=D([]),$=D(!1),B=D(null),X=D(null),G=D(null),o=D(null),h=D(!1),y=D(null),K=D(!1),U=D(null),V=D(!1),O=c=>{c.target===c.currentTarget&&x("update:modelValue",!1)},Q=async()=>{$.value=!0;try{F.value=await we.getAllCronTasks()}catch(c){console.error("Failed to load cron tasks:",c),T.error(`Failed to load tasks: ${c instanceof Error?c.message:String(c)}`)}finally{$.value=!1}},ce=async c=>{B.value=c;try{const k=F.value.find(t=>t.id===c);if(!k){console.error("Task not found:",c);return}x("update:modelValue",!1);const I=Date.now().toString();await s.push({name:"direct",params:{id:I}}),await new Promise(t=>setTimeout(t,100));const a=Te.prepareTaskExecution(k);a.useTemplate&&a.planData?u.emitPlanExecutionRequested(a.planData):a.taskContent&&u.setTask(a.taskContent)}catch(k){console.error("Failed to execute task:",k),T.error(`Execution failed: ${k instanceof Error?k.message:String(k)}`)}finally{B.value=null}},be=c=>{y.value={...c},h.value=!0,o.value=null},C=async c=>{try{await Te.saveTask(c),await Q(),h.value=!1,T.success("Task saved successfully")}catch(k){console.error("Failed to save task:",k),T.error(`Save failed: ${k instanceof Error?k.message:String(k)}`)}},S=c=>{U.value=c,K.value=!0},L=async()=>{var c;if((c=U.value)!=null&&c.id){X.value=U.value.id;try{await Te.deleteTask(U.value.id),await Q(),K.value=!1,U.value=null,T.success("Task deleted successfully")}catch(k){console.error("Failed to delete task:",k),T.error(`Delete failed: ${k instanceof Error?k.message:String(k)}`)}finally{X.value=null}}},R=()=>{K.value=!1,U.value=null},E=c=>{o.value=o.value===c?null:c},A=async c=>{if(c.id){G.value=c.id;try{await Te.toggleTaskStatus(c),await Q(),o.value=null,T.success(`Task ${c.status===0?"disabled":"enabled"} successfully`)}catch(k){console.error("Failed to toggle task status:",k),T.error(`Status toggle failed: ${k instanceof Error?k.message:String(k)}`)}finally{G.value=null}}},ee=async c=>{try{await navigator.clipboard.writeText(c),T.success("Cron expression copied successfully")}catch(k){T.error(`Copy failed: ${k instanceof Error?k.message:String(k)}`)}},se=()=>{V.value=!0},me=()=>{V.value=!1;try{x("update:modelValue",!1);const c=f("cronTask.template");u.setTaskToInput(c);const k=Date.now().toString();s.push({name:"direct",params:{id:k}})}catch(c){console.error("Error in createWithJmanus:",c),T.error(`Creation failed: ${c instanceof Error?c.message:String(c)}`)}},ke=()=>{V.value=!1,y.value={cronName:"",cronTime:"",planDesc:"",status:0,planTemplateId:""},h.value=!0},re=()=>{V.value=!1},v=c=>{const k=c.target;!k.closest(".action-dropdown")&&!k.closest(".dropdown-menu")&&(o.value=null)};return Se(()=>{document.addEventListener("click",v,!0)}),De(()=>{document.removeEventListener("click",v,!0)}),$e(()=>_.modelValue,c=>{c&&Q()}),(c,k)=>(p(),g(ge,null,[(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>[w.modelValue?(p(),g("div",{key:0,class:"modal-overlay",onClick:O},[e("div",{class:"modal-container",onClick:k[3]||(k[3]=ie(()=>{},["stop"]))},[e("div",sl,[e("h3",null,i(c.$t("cronTask.title")),1),e("div",ol,[e("button",{class:"add-task-btn",onClick:[se,k[0]||(k[0]=ie(()=>{},["stop"]))]},[b(l(P),{icon:"carbon:add"}),Y(" "+i(c.$t("cronTask.addTask")),1)]),e("button",{class:"close-btn",onClick:k[1]||(k[1]=I=>c.$emit("update:modelValue",!1))},[b(l(P),{icon:"carbon:close"})])])]),e("div",al,[$.value?(p(),g("div",ll,[b(l(P),{icon:"carbon:loading",class:"loading-icon"}),e("span",null,i(c.$t("common.loading")),1)])):F.value.length===0?(p(),g("div",il,[b(l(P),{icon:"carbon:time",class:"empty-icon"}),e("span",null,i(c.$t("cronTask.noTasks")),1)])):(p(),g("div",cl,[(p(!0),g(ge,null,ve(F.value,I=>(p(),g("div",{key:I.id||"",class:"task-item",onClick:a=>be(I)},[e("div",ul,[e("div",dl,[e("div",pl,[e("div",hl,i(I.cronName),1),e("div",{class:te(["task-status-badge",I.status===0?"active":"inactive"])},[b(l(P),{icon:I.status===0?"carbon:checkmark-filled":"carbon:pause-filled"},null,8,["icon"]),e("span",null,i(I.status===0?c.$t("cronTask.active"):c.$t("cronTask.inactive")),1)],2)]),e("div",gl,i(I.planDesc),1),e("div",ml,[b(l(P),{icon:"carbon:time"}),e("span",{class:"cron-readable",style:{cursor:"pointer"},onClick:ie(a=>ee(I.cronTime),["stop"])},i(I.cronTime),9,vl)])])]),e("div",{class:"task-actions",onClick:k[2]||(k[2]=ie(()=>{},["stop"]))},[e("button",{class:"action-btn execute-btn",onClick:a=>ce(I.id),disabled:B.value===I.id,title:c.$t("cronTask.executeOnce")},[b(l(P),{icon:B.value===I.id?"carbon:loading":"carbon:play-filled"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.executeOnce")),1)],8,fl),e("div",{class:te(["action-dropdown",{active:o.value===I.id}])},[e("button",{class:"action-btn dropdown-btn",onClick:a=>E(I.id),title:c.$t("cronTask.operations")},[b(l(P),{icon:"carbon:overflow-menu-horizontal"}),Y(" "+i(c.$t("cronTask.operations")),1)],8,bl),de(e("div",kl,[e("button",{class:"dropdown-item edit-btn",onClick:a=>be(I)},[b(l(P),{icon:"carbon:edit"}),Y(" "+i(c.$t("cronTask.edit")),1)],8,_l),e("button",{class:"dropdown-item toggle-btn",onClick:a=>A(I),disabled:G.value===I.id},[b(l(P),{icon:G.value===I.id?"carbon:loading":I.status===0?"carbon:pause-filled":"carbon:play-filled"},null,8,["icon"]),Y(" "+i(I.status===0?c.$t("cronTask.disable"):c.$t("cronTask.enable")),1)],8,$l),e("button",{class:"dropdown-item delete-btn",onClick:a=>S(I),disabled:X.value===I.id},[b(l(P),{icon:X.value===I.id?"carbon:loading":"carbon:trash-can"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.delete")),1)],8,Pl)],512),[[dt,o.value===I.id]])],2)])],8,rl))),128))]))])])])):q("",!0)]),_:1})])),b(nl,{modelValue:h.value,"onUpdate:modelValue":k[4]||(k[4]=I=>h.value=I),task:y.value,onSave:C},null,8,["modelValue","task"]),(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>{var I,a,t,r;return[K.value?(p(),g("div",{key:0,class:"modal-overlay",onClick:R},[e("div",{class:"confirm-modal",onClick:k[5]||(k[5]=ie(()=>{},["stop"]))},[e("div",Cl,[b(l(P),{icon:"carbon:warning",class:"warning-icon"}),e("h3",null,i(c.$t("cronTask.deleteConfirm")),1)]),e("div",Sl,[e("p",null,i(c.$t("cronTask.deleteConfirmMessage",{taskName:((I=U.value)==null?void 0:I.cronName)||((a=U.value)==null?void 0:a.planDesc)||""})),1)]),e("div",yl,[e("button",{class:"confirm-btn cancel-btn",onClick:R},i(c.$t("common.cancel")),1),e("button",{class:"confirm-btn delete-btn",onClick:L,disabled:X.value===((t=U.value)==null?void 0:t.id)},[b(l(P),{icon:X.value===((r=U.value)==null?void 0:r.id)?"carbon:loading":"carbon:trash-can"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.delete")),1)],8,El)])])])):q("",!0)]}),_:1})])),(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>[V.value?(p(),g("div",{key:0,class:"modal-overlay",onClick:re},[e("div",{class:"confirm-modal create-options-modal",onClick:k[6]||(k[6]=ie(()=>{},["stop"]))},[e("div",wl,[b(l(P),{icon:"carbon:time",class:"create-icon"}),e("h3",null,i(c.$t("cronTask.createTask")),1)]),e("div",Tl,[e("p",null,i(c.$t("cronTask.selectCreateMethod")),1),e("div",Il,[e("button",{class:"create-option-btn jmanus-btn",onClick:me},[b(l(P),{icon:"carbon:ai-status"}),e("div",Dl,[e("span",xl,i(c.$t("cronTask.createWithJmanus")),1),e("span",Rl,i(c.$t("cronTask.createWithJmanusDesc")),1)])]),e("button",{class:"create-option-btn manual-btn",onClick:ke},[b(l(P),{icon:"carbon:edit"}),e("div",Al,[e("span",Ml,i(c.$t("cronTask.createManually")),1),e("span",Nl,i(c.$t("cronTask.createManuallyDesc")),1)])])])]),e("div",Ul,[e("button",{class:"confirm-btn cancel-btn",onClick:re},i(c.$t("common.cancel")),1)])])])):q("",!0)]),_:1})]))],64))}}),Vl=ye(Ll,[["__scopeId","data-v-f31a9ce7"]]),ql={class:"direct-page"},Fl={class:"direct-chat"},Ol={class:"chat-header"},Bl={class:"header-actions"},Wl=["title"],jl=["title"],Hl={class:"chat-content"},zl=["title"],Jl={class:"message-content"},Gl=Ce({__name:"index",setup(w){const n=pt(),s=lt(),u=it(),{t:T}=Ie(),{message:f}=vt(),_=D(""),x=D(""),F=D(),$=D(),B=D(),X=D(!1),G=D(!1),o=D(null),h=D(!1),y=D(50),K=D(!1),U=D(0),V=D(0);Se(()=>{if(console.log("[Direct] onMounted called"),console.log("[Direct] taskStore.currentTask:",u.currentTask),console.log("[Direct] taskStore.hasUnprocessedTask():",u.hasUnprocessedTask()),oe.setEventCallbacks({onPlanUpdate:c=>{console.log("[Direct] Plan update event received for rootPlanId:",c),C(c)&&(console.log("[Direct] Processing plan update for current rootPlanId:",c),$.value&&typeof $.value.handlePlanUpdate=="function"?(console.log("[Direct] Calling chatRef.handlePlanUpdate with rootPlanId:",c),$.value.handlePlanUpdate(c)):console.warn("[Direct] chatRef.handlePlanUpdate method not available"),F.value&&typeof F.value.updateDisplayedPlanProgress=="function"?(console.log("[Direct] Calling rightPanelRef.updateDisplayedPlanProgress with rootPlanId:",c),F.value.updateDisplayedPlanProgress(c)):console.warn("[Direct] rightPanelRef.updateDisplayedPlanProgress method not available"))},onPlanCompleted:c=>{if(console.log("[Direct] Plan completed event received for rootPlanId:",c),!!C(c)){if(console.log("[Direct] Processing plan completion for current rootPlanId:",c),$.value&&typeof $.value.handlePlanCompleted=="function"){const k=oe.getCachedPlanRecord(c);console.log("[Direct] Calling chatRef.handlePlanCompleted with details:",k),$.value.handlePlanCompleted(k??{planId:c})}else console.warn("[Direct] chatRef.handlePlanCompleted method not available");o.value=null,console.log("[Direct] Cleared currentRootPlanId after plan completion")}},onDialogRoundStart:c=>{console.log("[Direct] Dialog round start event received for rootPlanId:",c),o.value=c,console.log("[Direct] Set currentRootPlanId to:",c),$.value&&typeof $.value.handleDialogRoundStart=="function"?(console.log("[Direct] Calling chatRef.handleDialogRoundStart with planId:",c),$.value.handleDialogRoundStart(c)):console.warn("[Direct] chatRef.handleDialogRoundStart method not available")},onChatInputClear:()=>{console.log("[Direct] Chat input clear event received"),L()},onChatInputUpdateState:c=>{if(console.log("[Direct] Chat input update state event received for rootPlanId:",c),!C(c,!0))return;const k=oe.getCachedUIState(c);k&&E(k.enabled,k.placeholder)},onPlanError:c=>{$.value.handlePlanError(c)}}),console.log("[Direct] Event callbacks registered to planExecutionManager"),m.loadPlanTemplateList(),u.hasUnprocessedTask()&&u.currentTask){const c=u.currentTask.prompt;console.log("[Direct] Found unprocessed task from store:",c),u.markTaskAsProcessed(),ne(()=>{$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[Direct] Directly executing task via chatRef.handleSendMessage:",c),$.value.handleSendMessage(c)):(console.warn("[Direct] chatRef.handleSendMessage method not available, falling back to prompt"),_.value=c)})}else{const c=u.getAndClearTaskToInput();c?(x.value=c,console.log("[Direct] Setting inputOnlyContent for input only:",x.value)):(_.value=n.query.prompt||"",console.log("[Direct] Received task from URL:",_.value),console.log("[Direct] No unprocessed task in store"))}const v=localStorage.getItem("directPanelWidth");v&&(y.value=parseFloat(v)),console.log("[Direct] Final prompt value:",_.value),x.value&&ne(()=>{B.value&&typeof B.value.setInputValue=="function"&&(B.value.setInputValue(x.value),console.log("[Direct] Set input value:",x.value),x.value="")}),window.addEventListener("plan-execution-requested",c=>{console.log("[DirectView] Received plan-execution-requested event:",c.detail),re(c.detail)})}),$e(()=>u.currentTask,v=>{if(console.log("[Direct] Watch taskStore.currentTask triggered, newTask:",v),v&&!v.processed){const c=v.prompt;u.markTaskAsProcessed(),console.log("[Direct] Received new task from store:",c),ne(()=>{$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[Direct] Directly executing new task via chatRef.handleSendMessage:",c),$.value.handleSendMessage(c)):console.warn("[Direct] chatRef.handleSendMessage method not available for new task")})}else console.log("[Direct] Task is null or already processed, ignoring")},{immediate:!1}),$e(()=>_.value,(v,c)=>{console.log("[Direct] prompt value changed from:",c,"to:",v)},{immediate:!1}),$e(()=>u.taskToInput,v=>{console.log("[Direct] Watch taskStore.taskToInput triggered, newTaskToInput:",v),v&&v.trim()&&(console.log("[Direct] Setting input value from taskToInput:",v),ne(()=>{B.value&&typeof B.value.setInputValue=="function"&&(B.value.setInputValue(v.trim()),console.log("[Direct] Input value set from taskToInput watch:",v.trim()),u.getAndClearTaskToInput())}))},{immediate:!1}),De(()=>{console.log("[Direct] onUnmounted called, cleaning up resources"),o.value=null,oe.cleanup(),document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ce),window.removeEventListener("plan-execution-requested",v=>{re(v.detail)})});const O=v=>{K.value=!0,U.value=v.clientX,V.value=y.value,document.addEventListener("mousemove",Q),document.addEventListener("mouseup",ce),document.body.style.cursor="col-resize",document.body.style.userSelect="none",v.preventDefault()},Q=v=>{if(!K.value)return;const c=window.innerWidth,I=(v.clientX-U.value)/c*100;let a=V.value+I;a=Math.max(20,Math.min(80,a)),y.value=a},ce=()=>{K.value=!1,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ce),document.body.style.cursor="",document.body.style.userSelect="",localStorage.setItem("directPanelWidth",y.value.toString())},be=()=>{y.value=50,localStorage.setItem("directPanelWidth","50")},C=(v,c=!1)=>!o.value||v===o.value||c&&(v==="ui-state"||v==="error")?!0:(console.log("[Direct] Ignoring event for non-current rootPlanId:",v,"current:",o.value),!1),S=v=>{console.log("[DirectView] Send message from input:",v),$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[DirectView] Calling chatRef.handleSendMessage:",v),$.value.handleSendMessage(v)):console.warn("[DirectView] chatRef.handleSendMessage method not available")},L=()=>{console.log("[DirectView] Input cleared"),B.value&&typeof B.value.clear=="function"&&B.value.clear()},R=()=>{console.log("[DirectView] Input focused")},E=(v,c)=>{console.log("[DirectView] Input state updated:",v,c),G.value=!v},A=(v,c)=>{console.log("[DirectView] Step selected:",v,c),F.value&&typeof F.value.handleStepSelected=="function"?(console.log("[DirectView] Forwarding step selection to right panel:",v,c),F.value.handleStepSelected(v,c)):console.warn("[DirectView] rightPanelRef.handleStepSelected method not available")},ee=(v,c,k,I)=>{console.log("[DirectView] Sub plan step selected:",{parentPlanId:v,subPlanId:c,stepIndex:k,subStepIndex:I}),F.value&&typeof F.value.handleSubPlanStepSelected=="function"?(console.log("[DirectView] Forwarding sub plan step selection to right panel:",{parentPlanId:v,subPlanId:c,stepIndex:k,subStepIndex:I}),F.value.handleSubPlanStepSelected(v,c,k,I)):console.warn("[DirectView] rightPanelRef.handleSubPlanStepSelected method not available")},se=()=>{console.log("[DirectView] Plan mode button clicked"),m.toggleSidebar(),console.log("[DirectView] Sidebar toggled, isCollapsed:",m.isCollapsed)},me=()=>{s.push("/home")},ke=()=>{s.push("/configs")},re=async v=>{var k,I,a,t;if(console.log("[DirectView] Plan execution requested:",v),X.value){console.log("[DirectView] Plan execution already in progress, ignoring request");return}X.value=!0;let c=!1;$.value&&typeof $.value.addMessage=="function"?(console.log("[DirectView] Calling chatRef.addMessage for plan execution:",v.title),$.value.addMessage("user",v.title),c=!0):console.warn("[DirectView] chatRef.addMessage method not available");try{const r=((k=v.planData)==null?void 0:k.planTemplateId)||((I=v.planData)==null?void 0:I.id)||((a=v.planData)==null?void 0:a.planId);if(!r)throw new Error("没有找到计划模板ID");console.log("[Direct] Executing plan with templateId:",r,"params:",v.params),console.log("[Direct] About to call PlanActApiService.executePlan");let d;if((t=v.params)!=null&&t.trim()?(console.log("[Direct] Calling executePlan with params:",v.params.trim()),d=await Ae.executePlan(r,v.params.trim())):(console.log("[Direct] Calling executePlan without params"),d=await Ae.executePlan(r)),console.log("[Direct] Plan execution API response:",d),d.planId)console.log("[Direct] Got planId from response:",d.planId,"starting plan execution"),o.value=d.planId,console.log("[Direct] Set currentRootPlanId to:",d.planId),console.log("[Direct] Delegating plan execution to planExecutionManager"),oe.handlePlanExecutionRequested(d.planId,v.title);else throw console.error("[Direct] No planId in response:",d),new Error("执行计划失败:未返回有效的计划ID")}catch(r){console.error("[Direct] Plan execution failed:",r),console.error("[Direct] Error details:",{message:r.message,stack:r.stack}),o.value=null,$.value&&typeof $.value.addMessage=="function"?(console.log("[Direct] Adding error messages to chat"),c||$.value.addMessage("user",v.title),$.value.addMessage("assistant",`执行计划失败: ${r.message||"未知错误"}`,{thinking:void 0})):(console.error("[Direct] Chat ref not available, showing alert"),alert(`执行计划失败: ${r.message||"未知错误"}`))}finally{console.log("[Direct] Plan execution finished, resetting isExecutingPlan flag"),X.value=!1}};return(v,c)=>(p(),g("div",ql,[e("div",Fl,[b(fn,{onPlanExecutionRequested:re}),e("div",{class:"left-panel",style:Ue({width:y.value+"%"})},[e("div",Ol,[e("button",{class:"back-button",onClick:me},[b(l(P),{icon:"carbon:arrow-left"})]),e("h2",null,i(v.$t("conversation")),1),e("div",Bl,[b(gt),e("button",{class:"config-button",onClick:ke,title:v.$t("direct.configuration")},[b(l(P),{icon:"carbon:settings-adjust",width:"20"})],8,Wl),e("button",{class:"cron-task-btn",onClick:c[0]||(c[0]=k=>h.value=!0),title:v.$t("cronTask.title")},[b(l(P),{icon:"carbon:alarm",width:"20"})],8,jl)])]),e("div",Hl,[b(pa,{ref_key:"chatRef",ref:$,mode:"direct","initial-prompt":_.value||"",onStepSelected:A,onSubPlanStepSelected:ee},null,8,["initial-prompt"])]),(p(),ue(_a,{key:v.$i18n.locale,ref_key:"inputRef",ref:B,disabled:G.value,placeholder:G.value?l(T)("input.waiting"):l(T)("input.placeholder"),"initial-value":_.value,onSend:S,onClear:L,onFocus:R,onUpdateState:E,onPlanModeClicked:se},null,8,["disabled","placeholder","initial-value"]))],4),e("div",{class:"panel-resizer",onMousedown:O,onDblclick:be,title:v.$t("direct.panelResizeHint")},c[2]||(c[2]=[e("div",{class:"resizer-line"},null,-1)]),40,zl),b(As,{ref_key:"rightPanelRef",ref:F,style:Ue({width:100-y.value+"%"})},null,8,["style"])]),b(Vl,{modelValue:h.value,"onUpdate:modelValue":c[1]||(c[1]=k=>h.value=k)},null,8,["modelValue"]),l(f).show?(p(),g("div",{key:0,class:te(["message-toast",l(f).type])},[e("div",Jl,[e("span",null,i(l(f).text),1)])],2)):q("",!0)]))}}),si=ye(Gl,[["__scopeId","data-v-ea79c7eb"]]);export{si as default}; diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-C_qcY8JP.js b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BPwnW1su.js similarity index 83% rename from spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-C_qcY8JP.js rename to spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BPwnW1su.js index c9237f4372..02ceeed882 100644 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-C_qcY8JP.js +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BPwnW1su.js @@ -1 +1 @@ -import{d as L,u as E,r as p,c as v,Q as $,o as B,A as I,a as r,b as l,e as t,f as g,g as h,x as u,t as d,h as x,F as D,l as F,n as N,s as w,m as U}from"./index-B-dUWZe2.js";import{I as i}from"./iconify-BDg1LCM7.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"language-switcher"},O=["title"],S={class:"current-lang"},z={class:"dropdown-header"},A={class:"language-options"},K=["disabled","onClick"],Q={class:"lang-code"},j={class:"lang-name"},q=L({__name:"index",setup(G){const{locale:_}=E(),a=p(!1),o=v(()=>_.value),f=v(()=>$.opts),b=v(()=>{const e=f.value.find(n=>n.value===o.value);return e?e.title:"Unknown"}),y=()=>{a.value=!a.value},c=p(!1),C=async e=>{if(!(c.value||o.value===e))try{c.value=!0,await U(e),a.value=!1}catch(n){console.error("Failed to change language:",n),a.value=!1}finally{c.value=!1}},k=e=>{e.target.closest(".language-switcher")||(a.value=!1)},m=e=>{e.key==="Escape"&&(a.value=!1)};return B(()=>{document.addEventListener("click",k),document.addEventListener("keydown",m)}),I(()=>{document.removeEventListener("click",k),document.removeEventListener("keydown",m)}),(e,n)=>(l(),r("div",M,[t("button",{class:"language-btn",onClick:y,title:e.$t("language.switch")},[h(u(i),{icon:"carbon:translate",width:"18"}),t("span",S,d(b.value),1),h(u(i),{icon:a.value?"carbon:chevron-up":"carbon:chevron-down",width:"14",class:"chevron"},null,8,["icon"])],8,O),a.value?(l(),r("div",{key:0,class:"language-dropdown",onClick:n[1]||(n[1]=x(()=>{},["stop"]))},[t("div",z,[t("span",null,d(e.$t("language.switch")),1),t("button",{class:"close-btn",onClick:n[0]||(n[0]=s=>a.value=!1)},[h(u(i),{icon:"carbon:close",width:"16"})])]),t("div",A,[(l(!0),r(D,null,F(f.value,s=>(l(),r("button",{key:s.value,class:N(["language-option",{active:o.value===s.value,loading:c.value&&o.value!==s.value}]),disabled:c.value,onClick:H=>C(s.value)},[t("span",Q,d(s.value.toUpperCase()),1),t("span",j,d(s.title),1),c.value&&o.value!==s.value?(l(),w(u(i),{key:0,icon:"carbon:circle-dash",width:"16",class:"loading-icon"})):o.value===s.value?(l(),w(u(i),{key:1,icon:"carbon:checkmark",width:"16",class:"check-icon"})):g("",!0)],10,K))),128))])])):g("",!0),a.value?(l(),r("div",{key:1,class:"backdrop",onClick:n[2]||(n[2]=s=>a.value=!1)})):g("",!0)]))}}),T=V(q,[["__scopeId","data-v-8dd61fe2"]]);export{T as L}; +import{d as L,u as E,r as p,c as v,Q as $,o as B,A as I,a as r,b as l,e as t,f as g,g as h,x as u,t as d,h as x,F as D,l as F,n as N,s as w,R as U}from"./index-SarmArA2.js";import{I as i}from"./iconify-B5kZhuXP.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"language-switcher"},O=["title"],S={class:"current-lang"},z={class:"dropdown-header"},A={class:"language-options"},K=["disabled","onClick"],Q={class:"lang-code"},R={class:"lang-name"},j=L({__name:"index",setup(q){const{locale:_}=E(),a=p(!1),o=v(()=>_.value),f=v(()=>$.opts),b=v(()=>{const e=f.value.find(n=>n.value===o.value);return e?e.title:"Unknown"}),y=()=>{a.value=!a.value},c=p(!1),C=async e=>{if(!(c.value||o.value===e))try{c.value=!0,await U(e),a.value=!1}catch(n){console.error("Failed to change language:",n),a.value=!1}finally{c.value=!1}},k=e=>{e.target.closest(".language-switcher")||(a.value=!1)},m=e=>{e.key==="Escape"&&(a.value=!1)};return B(()=>{document.addEventListener("click",k),document.addEventListener("keydown",m)}),I(()=>{document.removeEventListener("click",k),document.removeEventListener("keydown",m)}),(e,n)=>(l(),r("div",M,[t("button",{class:"language-btn",onClick:y,title:e.$t("language.switch")},[h(u(i),{icon:"carbon:translate",width:"18"}),t("span",S,d(b.value),1),h(u(i),{icon:a.value?"carbon:chevron-up":"carbon:chevron-down",width:"14",class:"chevron"},null,8,["icon"])],8,O),a.value?(l(),r("div",{key:0,class:"language-dropdown",onClick:n[1]||(n[1]=x(()=>{},["stop"]))},[t("div",z,[t("span",null,d(e.$t("language.switch")),1),t("button",{class:"close-btn",onClick:n[0]||(n[0]=s=>a.value=!1)},[h(u(i),{icon:"carbon:close",width:"16"})])]),t("div",A,[(l(!0),r(D,null,F(f.value,s=>(l(),r("button",{key:s.value,class:N(["language-option",{active:o.value===s.value,loading:c.value&&o.value!==s.value}]),disabled:c.value,onClick:G=>C(s.value)},[t("span",Q,d(s.value.toUpperCase()),1),t("span",R,d(s.title),1),c.value&&o.value!==s.value?(l(),w(u(i),{key:0,icon:"carbon:circle-dash",width:"16",class:"loading-icon"})):o.value===s.value?(l(),w(u(i),{key:1,icon:"carbon:checkmark",width:"16",class:"check-icon"})):g("",!0)],10,K))),128))])])):g("",!0),a.value?(l(),r("div",{key:1,class:"backdrop",onClick:n[2]||(n[2]=s=>a.value=!1)})):g("",!0)]))}}),T=V(j,[["__scopeId","data-v-8dd61fe2"]]);export{T as L}; diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BSRSmj5D.css b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BSRSmj5D.css new file mode 100644 index 0000000000..0bed525dba --- /dev/null +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BSRSmj5D.css @@ -0,0 +1 @@ +.switch[data-v-d484b4a3]{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input[data-v-d484b4a3]{opacity:0;width:0;height:0}.switch .slider[data-v-d484b4a3]{position:relative;display:inline-block;width:40px;height:20px;background:#ea66661a;border:1px solid rgba(234,102,102,.2);border-radius:20px;transition:all .3s;flex-shrink:0;vertical-align:middle}.switch .slider[data-v-d484b4a3]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:1px;background:#ea6666;border-radius:50%;transition:all .3s}.switch .switch-label[data-v-d484b4a3]{margin-left:8px;font-size:14px;line-height:20px;height:20px;color:#fff9;transition:color .3s}.switch .checkbox-label[data-v-d484b4a3]{display:flex;align-items:center;gap:8px;cursor:pointer}.switch .checkbox-label input[type=checkbox][data-v-d484b4a3]{width:16px;height:16px}.switch input:checked+.slider[data-v-d484b4a3]{background:#667eea1a;border-color:#667eea33}.switch input:checked+.slider[data-v-d484b4a3]:before{transform:translate(20px);background:#667eea}.switch input:checked+.slider+.switch-label[data-v-d484b4a3]{color:#667eea}.switch input:not(:checked)+.slider+.switch-label[data-v-d484b4a3]{color:#ea6666}.config-panel[data-v-5e6536ac]{position:relative}.config-header[data-v-5e6536ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.config-header h2[data-v-5e6536ac]{margin:0;font-size:20px;font-weight:500}.config-actions[data-v-5e6536ac]{display:flex;gap:12px}.loading-container[data-v-5e6536ac]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-spinner[data-v-5e6536ac]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin-5e6536ac 1s linear infinite;margin-bottom:16px}@keyframes spin-5e6536ac{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.config-groups[data-v-5e6536ac]{display:flex;flex-direction:column;gap:32px}.config-group[data-v-5e6536ac]{background:#ffffff08;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.config-group[data-v-5e6536ac]:hover{background:#ffffff0d;border-color:#ffffff26}.group-header[data-v-5e6536ac]{display:flex;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.group-icon[data-v-5e6536ac]{font-size:20px;margin-right:12px;opacity:.8}.group-divider[data-v-5e6536ac]{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,transparent 100%);margin-left:16px}.config-items[data-v-5e6536ac]{display:flex;flex-direction:column;gap:20px;padding:16px}.config-item[data-v-5e6536ac]{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:16px;transition:all .3s ease}.config-item[data-v-5e6536ac]:hover{border-color:#ffffff26;background:#ffffff05}.config-item.modified[data-v-5e6536ac]{border-left:3px solid #f9a825}.config-item-content[data-v-5e6536ac]{padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.config-item-content.vertical-layout[data-v-5e6536ac]{flex-direction:column;align-items:stretch;gap:12px}.config-item-content.vertical-layout .config-item-info[data-v-5e6536ac]{width:100%}.config-item-content.vertical-layout .config-control[data-v-5e6536ac]{width:100%;min-width:auto}.config-item-header[data-v-5e6536ac]{display:flex;flex-direction:column;gap:6px}.config-item-info[data-v-5e6536ac]{flex:1;min-width:0}.config-label[data-v-5e6536ac]{font-weight:500;color:#ffffffe6;margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.vertical-layout .config-label[data-v-5e6536ac]{margin-bottom:0;font-size:14px;line-height:1.4}.config-key[data-v-5e6536ac]{display:block;font-size:12px;color:#ffffff80;margin-bottom:6px;font-family:monospace;background:#ffffff0d;padding:2px 6px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertical-layout .config-key[data-v-5e6536ac]{margin-bottom:0;display:inline-block;max-width:fit-content}.config-description[data-v-5e6536ac]{font-size:13px;color:#ffffffb3;margin:6px 0;line-height:1.4}.type-badge[data-v-5e6536ac]{font-size:12px;padding:2px 6px;border-radius:3px;color:#ffffffe6;font-weight:400}.type-badge.boolean[data-v-5e6536ac]{background:#2196f333;color:#90caf9}.type-badge.number[data-v-5e6536ac]{background:#4caf5033;color:#a5d6a7}.type-badge.string[data-v-5e6536ac]{background:#9c27b033;color:#ce93d8}.type-badge.select[data-v-5e6536ac]{background:#ff980033;color:#ffcc80}.modified-badge[data-v-5e6536ac]{background:#f9a82533;color:#ffcc80;font-size:12px;padding:2px 6px;border-radius:3px;font-weight:400}.range-info[data-v-5e6536ac]{font-size:12px;color:#fff9;background:#ffffff0d;padding:3px 8px;border-radius:4px;display:inline-block;margin-top:6px;font-family:monospace}.config-control[data-v-5e6536ac]{min-width:160px}.vertical-layout .config-control[data-v-5e6536ac]{min-width:auto;max-width:400px}.config-input[data-v-5e6536ac]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:8px 12px;color:#ffffffe6;transition:all .3s}.config-input[data-v-5e6536ac]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-input[data-v-5e6536ac]::placeholder{color:#fff6}.config-input.number-input[data-v-5e6536ac]{font-family:monospace;text-align:right}.empty-state[data-v-5e6536ac]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80}.message-toast[data-v-5e6536ac]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;color:#fff;font-weight:500;z-index:1000;box-shadow:0 4px 12px #0000004d;transform:translate(100%);animation:slide-in-5e6536ac .3s ease-out forwards}.message-toast.success[data-v-5e6536ac]{background:#10b981}.message-toast.error[data-v-5e6536ac]{background:#ef4444}.message-fade-enter-active[data-v-5e6536ac],.message-fade-leave-active[data-v-5e6536ac]{transition:all .3s ease}.message-fade-enter-from[data-v-5e6536ac],.message-fade-leave-to[data-v-5e6536ac]{transform:translate(100%);opacity:0}@keyframes slide-in-5e6536ac{0%{transform:translate(100%)}to{transform:translate(0)}}.sub-group[data-v-5e6536ac]{margin-bottom:24px;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;background:#ffffff05}.sub-group-header[data-v-5e6536ac]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease}.sub-group-header[data-v-5e6536ac]:hover{background:#ffffff14}.sub-group-info[data-v-5e6536ac]{display:flex;align-items:center;gap:8px}.sub-group-icon[data-v-5e6536ac]{font-size:14px}.sub-group-title[data-v-5e6536ac]{margin:0;font-size:14px;font-weight:500;color:#ffffffe6}.item-count[data-v-5e6536ac]{font-size:12px;color:#fff9;background:#ffffff1a;padding:2px 6px;border-radius:10px}.collapse-icon[data-v-5e6536ac]{font-size:12px;color:#fff9;transition:transform .3s ease}.collapse-icon.collapsed[data-v-5e6536ac]{transform:rotate(-90deg)}.config-stats[data-v-5e6536ac]{margin-top:24px;color:#fff9}.header-left[data-v-5e6536ac],.header-right[data-v-5e6536ac]{display:flex;align-items:center}.config-stats[data-v-5e6536ac]{display:flex;margin-left:16px;gap:12px}.stat-item[data-v-5e6536ac]{display:flex;align-items:center;background:#ffffff0d;padding:4px 8px;border-radius:4px;font-size:12px}.stat-label[data-v-5e6536ac]{color:#fff9;margin-right:4px}.stat-value[data-v-5e6536ac]{color:#ffffffe6;font-weight:500}.stat-value.modified[data-v-5e6536ac]{color:#f9a825}.search-box[data-v-5e6536ac]{position:relative;margin-right:16px}.search-input[data-v-5e6536ac]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 12px 6px 32px;color:#ffffffe6;width:220px;font-size:14px;transition:all .3s}.search-input[data-v-5e6536ac]:focus{outline:none;border-color:#667eea80;background:#ffffff14;width:260px}.search-input[data-v-5e6536ac]::placeholder{color:#fff6}.search-icon[data-v-5e6536ac]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.toggle-btn[data-v-5e6536ac]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffb3;padding:6px 12px;margin-right:12px;font-size:14px;cursor:pointer;transition:all .3s}.toggle-btn[data-v-5e6536ac]:hover{background:#ffffff26;color:#ffffffe6}.toggle-btn.active[data-v-5e6536ac]{background:#667eea33;border-color:#667eea80;color:#667eea}.group-info[data-v-5e6536ac]{display:flex;align-items:center}.group-actions[data-v-5e6536ac]{display:flex;gap:8px;margin-left:auto;margin-right:16px}.reset-btn[data-v-5e6536ac]{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#ef5350;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .3s}.reset-btn[data-v-5e6536ac]:hover:not(:disabled){background:#f4433633;border-color:#f4433680}.reset-btn[data-v-5e6536ac]:disabled{opacity:.5;cursor:not-allowed}.import-export-actions[data-v-5e6536ac]{display:flex;gap:8px;margin-right:16px}.action-btn[data-v-5e6536ac]{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fffc;padding:6px 10px;font-size:12px;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.action-btn[data-v-5e6536ac]:hover{background:#ffffff1f;color:#fffffff2;border-color:#ffffff40}.config-config[data-v-c91688e7]{height:100%;overflow:hidden;display:flex;flex-direction:column}.panel-header[data-v-c91688e7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.panel-actions[data-v-c91688e7]{display:flex;gap:12px}[data-v-c91688e7] .panel-header h2{margin-bottom:0!important}.modal-overlay[data-v-baaf1c89]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-baaf1c89]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-baaf1c89]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-baaf1c89]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.close-btn[data-v-baaf1c89]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-baaf1c89]:hover{color:#ffffffe6}.modal-content[data-v-baaf1c89]{padding:24px}.modal-footer[data-v-baaf1c89]{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-baaf1c89],.confirm-btn[data-v-baaf1c89]{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.cancel-btn[data-v-baaf1c89]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.cancel-btn[data-v-baaf1c89]:hover{background:#ffffff1a}.confirm-btn[data-v-baaf1c89]{background:#667eea1a;border:1px solid rgba(102,126,234,.2);color:#667eea}.confirm-btn[data-v-baaf1c89]:hover{background:#667eea33}.modal-enter-active[data-v-baaf1c89],.modal-leave-active[data-v-baaf1c89]{transition:opacity .3s ease}.modal-enter-from[data-v-baaf1c89],.modal-leave-to[data-v-baaf1c89]{opacity:0}.tool-selection-content[data-v-79f6a572]{min-height:400px;max-height:600px;overflow-y:auto}.tool-controls[data-v-79f6a572]{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.search-container[data-v-79f6a572]{flex:1}.search-input[data-v-79f6a572]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#ffffffe6;font-size:14px;transition:all .3s}.search-input[data-v-79f6a572]:focus{outline:none;border-color:#667eea80;background:#ffffff1a}.search-input[data-v-79f6a572]::placeholder{color:#ffffff80}.sort-container[data-v-79f6a572]{min-width:140px}.sort-select[data-v-79f6a572]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#ffffffe6;font-size:14px;cursor:pointer}.tool-summary[data-v-79f6a572]{margin-bottom:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-text[data-v-79f6a572]{color:#ffffffb3;font-size:13px}.tool-group[data-v-79f6a572]{border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;margin-bottom:8px}.tool-group-header[data-v-79f6a572]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;cursor:pointer;transition:all .3s;border-bottom:1px solid rgba(255,255,255,.1)}.tool-group-header[data-v-79f6a572]:hover{background:#ffffff14}.tool-group-header.collapsed[data-v-79f6a572]{border-bottom:none}.group-title-area[data-v-79f6a572]{display:flex;align-items:center;gap:8px;flex:1}.collapse-icon[data-v-79f6a572]{color:#fff9;transition:transform .3s}.group-icon[data-v-79f6a572]{color:#fffc}.group-name[data-v-79f6a572]{font-weight:500;color:#ffffffe6}.group-count[data-v-79f6a572]{color:#fff9;font-size:13px}.group-actions[data-v-79f6a572]{display:flex;align-items:center}.group-enable-all[data-v-79f6a572]{display:flex;align-items:center;gap:6px;cursor:pointer;color:#fffc;font-size:13px}.group-enable-checkbox[data-v-79f6a572]{cursor:pointer}.tool-group-content[data-v-79f6a572]{max-height:300px;overflow-y:auto;transition:all .3s}.tool-group-content.collapsed[data-v-79f6a572]{max-height:0;overflow:hidden}.tool-selection-item[data-v-79f6a572]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .3s}.tool-selection-item[data-v-79f6a572]:hover{background:#ffffff08}.tool-selection-item[data-v-79f6a572]:last-child{border-bottom:none}.tool-info[data-v-79f6a572]{flex:1}.tool-selection-name[data-v-79f6a572]{font-weight:500;color:#ffffffe6;margin-bottom:4px}.tool-selection-desc[data-v-79f6a572]{color:#fff9;font-size:13px;line-height:1.4}.tool-actions[data-v-79f6a572]{margin-left:12px}.tool-enable-switch[data-v-79f6a572]{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.tool-enable-checkbox[data-v-79f6a572]{opacity:0;width:0;height:0}.tool-enable-slider[data-v-79f6a572]{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;border-radius:24px;transition:all .3s}.tool-enable-slider[data-v-79f6a572]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s}.tool-enable-checkbox:checked+.tool-enable-slider[data-v-79f6a572]{background:#667eeacc}.tool-enable-checkbox:checked+.tool-enable-slider[data-v-79f6a572]:before{transform:translate(20px)}.empty-state[data-v-79f6a572]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80}.empty-icon[data-v-79f6a572]{font-size:48px;margin-bottom:16px;opacity:.6}.agent-layout[data-v-0eaff650]{display:flex;gap:30px;flex:1;min-height:0}.agent-list[data-v-0eaff650]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-0eaff650]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-0eaff650]{margin:0;font-size:18px}.agent-count[data-v-0eaff650]{color:#fff9;font-size:14px}.agents-container[data-v-0eaff650]{flex:1;overflow-y:auto;margin-bottom:16px}.loading-state[data-v-0eaff650]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.empty-state[data-v-0eaff650]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-0eaff650]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-0eaff650]{font-size:14px;margin-top:8px}.agent-card[data-v-0eaff650]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.agent-card[data-v-0eaff650]:hover{background:#ffffff0d;border-color:#fff3}.agent-card.active[data-v-0eaff650]{border-color:#667eea;background:#667eea1a}.agent-card-header[data-v-0eaff650]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.agent-name[data-v-0eaff650]{font-weight:500;font-size:16px}.agent-desc[data-v-0eaff650]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:12px}.agent-model[data-v-0eaff650]{display:flex;flex-wrap:wrap;gap:6px}.model-tag[data-v-0eaff650]{display:inline-block;padding:4px 8px;margin-bottom:10px;background:#b566ea33;border-radius:4px;font-size:12px;color:#a8b3ff}.agent-tools[data-v-0eaff650]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-0eaff650]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-0eaff650]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-0eaff650]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-0eaff650]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-0eaff650]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.agent-detail[data-v-0eaff650]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.no-selection[data-v-0eaff650]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-0eaff650]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-0eaff650]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-0eaff650]{margin:0;font-size:20px}.detail-actions[data-v-0eaff650]{display:flex;gap:12px}.form-section[data-v-0eaff650]{margin-bottom:32px}.form-item[data-v-0eaff650]{margin-bottom:20px}.form-item label[data-v-0eaff650]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-0eaff650],.form-item textarea[data-v-0eaff650]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-0eaff650]:focus,.form-item textarea[data-v-0eaff650]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-0eaff650]::placeholder,.form-item textarea[data-v-0eaff650]::placeholder{color:#fff6}.form-item textarea[data-v-0eaff650]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-0eaff650]{color:#ff6b6b}.model-section h4[data-v-0eaff650],.tools-section h4[data-v-0eaff650]{margin:0 0 20px;font-size:18px;color:#ffffffe6}.section-header[data-v-0eaff650]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-0eaff650]{font-weight:500;color:#fffc}.tools-grid[data-v-0eaff650]{display:flex;flex-direction:column;gap:8px}.tool-item[data-v-0eaff650]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .3s ease}.tool-item.assigned[data-v-0eaff650]{border-color:#667eea4d;background:#667eea1a}.tool-info[data-v-0eaff650]{flex:1}.tool-info .tool-name[data-v-0eaff650]{display:block;font-weight:500;margin-bottom:4px}.tool-info .tool-desc[data-v-0eaff650]{font-size:12px;color:#fff9;line-height:1.3}.no-tools[data-v-0eaff650]{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:#fff6;font-style:italic}.action-btn[data-v-0eaff650]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-0eaff650]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-0eaff650]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-0eaff650]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-0eaff650]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-0eaff650]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-0eaff650]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-0eaff650]{padding:6px 12px;font-size:12px}.modal-form[data-v-0eaff650]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-0eaff650]{text-align:center;padding:20px 0}.delete-confirm p[data-v-0eaff650]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-0eaff650]{color:#fff9;font-size:14px}.warning-icon[data-v-0eaff650]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-0eaff650],.cancel-btn[data-v-0eaff650]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-0eaff650],.cancel-btn.danger[data-v-0eaff650]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-0eaff650]:hover,.cancel-btn.danger[data-v-0eaff650]:hover{background:#ea66664d}.cancel-btn[data-v-0eaff650]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-0eaff650]:hover{background:#ffffff1a}.error-toast[data-v-0eaff650],.success-toast[data-v-0eaff650]{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;color:#fff;cursor:pointer;z-index:1000;animation:slideIn-0eaff650 .3s ease}.error-toast[data-v-0eaff650]{background:#ea6666e6;border:1px solid rgba(234,102,102,.5)}.success-toast[data-v-0eaff650]{background:#66ea66e6;border:1px solid rgba(102,234,102,.5)}@keyframes slideIn-0eaff650{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.model-chooser[data-v-0eaff650]{position:relative;display:inline-block}.model-btn[data-v-0eaff650]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1.5px solid #667eea;border-radius:8px;color:#8da2fb;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.model-btn[data-v-0eaff650]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.model-btn[data-v-0eaff650]:focus{box-shadow:0 0 0 3px #667eea80}.current-model[data-v-0eaff650]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none}.chevron[data-v-0eaff650]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.model-dropdown[data-v-0eaff650]{position:absolute;top:100%;left:0;z-index:9999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px;animation:slideDown-0eaff650 .2s ease}.dropdown-header[data-v-0eaff650]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-0eaff650]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-0eaff650]:hover{background:#ffffff1a;color:#fffc}.model-options[data-v-0eaff650]{padding:8px 0}.model-option[data-v-0eaff650]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.model-option[data-v-0eaff650]:hover{background:#ffffff0d;color:#ffffffe6}.model-option.active[data-v-0eaff650]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.model-type[data-v-0eaff650]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.model-name[data-v-0eaff650]{flex:1;font-size:14px;font-weight:500}.check-icon[data-v-0eaff650]{color:#667eea;opacity:.8}.spacer[data-v-0eaff650]{display:inline-block;width:12px}.backdrop[data-v-0eaff650]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}@keyframes slideDown-0eaff650{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.multi-language-content[data-v-0eaff650]{display:flex;flex-direction:column;gap:20px;padding:20px 0}.stats-section[data-v-0eaff650]{display:flex;gap:20px;padding:15px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.stat-item[data-v-0eaff650]{display:flex;flex-direction:column;gap:5px}.stat-label[data-v-0eaff650]{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-0eaff650]{font-size:16px;font-weight:600;color:#fff}.language-selection[data-v-0eaff650]{display:flex;flex-direction:column;gap:10px}.selection-label[data-v-0eaff650]{font-size:14px;font-weight:500;color:#fffc}.language-select[data-v-0eaff650]{padding:10px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;outline:none;transition:all .2s ease}.language-select[data-v-0eaff650]:focus{border-color:#007acc;background:#ffffff26}.language-select option[data-v-0eaff650]{background:#2d2d2d;color:#fff}.warning-section[data-v-0eaff650]{margin:10px 0}.warning-box[data-v-0eaff650]{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px}.warning-icon[data-v-0eaff650]{color:#ffc107;font-size:20px;flex-shrink:0;margin-top:2px}.warning-text[data-v-0eaff650]{flex:1}.warning-text p[data-v-0eaff650]{margin:0;color:#ffffffe6;font-size:14px;line-height:1.5}.loading-icon[data-v-0eaff650]{animation:spin-0eaff650 1s linear infinite}@keyframes spin-0eaff650{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.model-dropdown[data-v-0eaff650]{right:-8px;left:-8px;width:auto;min-width:auto}.model-btn[data-v-0eaff650]{padding:6px 10px;font-size:13px}.current-model[data-v-0eaff650]{min-width:35px}}@media (prefers-color-scheme: light){.model-dropdown[data-v-0eaff650]{background:#fffffff2;border-color:#0000001a;box-shadow:0 8px 32px #0000001a}.dropdown-header[data-v-0eaff650]{color:#000c;border-bottom-color:#0000001a}.close-btn[data-v-0eaff650]{color:#0009}.close-btn[data-v-0eaff650]:hover{background:#0000001a;color:#000c}.model-option[data-v-0eaff650]{color:#000000b3}.model-option[data-v-0eaff650]:hover{background:#0000000d;color:#000000e6}}.custom-select[data-v-579d8359]{position:relative;display:inline-block}.select-btn[data-v-579d8359]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1.5px solid #667eea;border-radius:8px;color:#8da2fb;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.select-btn[data-v-579d8359]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.select-btn[data-v-579d8359]:focus{box-shadow:0 0 0 3px #667eea80}.current-option[data-v-579d8359]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none;display:flex;align-items:center;gap:0}.current-option .option-icon[data-v-579d8359]{color:inherit;opacity:.8}.chevron[data-v-579d8359]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.select-dropdown[data-v-579d8359]{position:absolute;top:100%;z-index:99999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px}.select-dropdown.dropdown-top[data-v-579d8359]{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.dropdown-header[data-v-579d8359]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-579d8359]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-579d8359]:hover{background:#ffffff1a;color:#fffc}.select-options[data-v-579d8359]{padding:8px 0}.select-option[data-v-579d8359]{display:flex;align-items:center;gap:0;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.select-option[data-v-579d8359]:hover{background:#ffffff0d;color:#ffffffe6}.select-option.active[data-v-579d8359]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.option-type[data-v-579d8359]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.option-name[data-v-579d8359]{flex:1;font-size:14px;font-weight:500}.option-icon[data-v-579d8359]{color:#fff9;margin-right:0}.check-icon[data-v-579d8359]{color:#667eea;opacity:.8}.spacer[data-v-579d8359]{display:inline-block;width:12px}.backdrop[data-v-579d8359]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99998;background:transparent}.slideDown-enter-active[data-v-579d8359],.slideDown-leave-active[data-v-579d8359]{transition:all .2s ease;transform-origin:top}.slideDown-enter-from[data-v-579d8359],.slideDown-leave-to[data-v-579d8359]{opacity:0;transform:translateY(-8px) scale(.95)}.grouped-select[data-v-8fbda373]{position:relative;width:100%}.select-btn[data-v-8fbda373]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;font-size:14px}.select-btn[data-v-8fbda373]:hover{background:#ffffff1a;border-color:#fff3}.selected-text[data-v-8fbda373]{display:flex;align-items:center;gap:8px;flex:1}.placeholder-text[data-v-8fbda373]{color:#ffffff80;flex:1}.model-category[data-v-8fbda373]{color:#a8b3ff;font-size:12px;font-weight:500}.chevron[data-v-8fbda373]{color:#fff9;transition:transform .3s ease}.chevron.rotated[data-v-8fbda373]{transform:rotate(180deg)}.dropdown-overlay[data-v-8fbda373]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.dropdown-content[data-v-8fbda373]{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:1000;max-height:500px;overflow:hidden;display:flex;flex-direction:column}.dropdown-header[data-v-8fbda373]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-header h3[data-v-8fbda373]{margin:0;color:#ffffffe6;font-size:16px;font-weight:600}.close-btn[data-v-8fbda373]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease}.close-btn[data-v-8fbda373]:hover{background:#ffffff1a;color:#ffffffe6}.search-container[data-v-8fbda373]{position:relative;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.search-input[data-v-8fbda373]{width:100%;padding:8px 12px 8px 36px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;font-size:14px;outline:none;transition:all .3s ease}.search-input[data-v-8fbda373]:focus{border-color:#a8b3ff;background:#ffffff1a}.search-input[data-v-8fbda373]::placeholder{color:#ffffff80}.search-icon[data-v-8fbda373]{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:#ffffff80;font-size:16px}.groups-container[data-v-8fbda373]{flex:1;overflow-y:auto;padding:8px}.model-group[data-v-8fbda373]{margin-bottom:16px}.group-header[data-v-8fbda373]{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 8px}.group-title[data-v-8fbda373]{color:#a8b3ff;font-weight:600;font-size:14px}.group-count[data-v-8fbda373]{color:#ffffff80;font-size:12px}.models-grid[data-v-8fbda373]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:0 8px}.model-option[data-v-8fbda373]{display:flex;flex-direction:column;align-items:flex-start;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .3s ease;text-align:left;min-height:60px}.model-option[data-v-8fbda373]:hover{background:#ffffff1a;border-color:#fff3}.model-option.selected[data-v-8fbda373]{background:#a8b3ff33;border-color:#a8b3ff}.model-info[data-v-8fbda373]{flex:1;width:100%}.model-name[data-v-8fbda373]{font-weight:500;font-size:14px;margin-bottom:4px;color:#ffffffe6}.model-description[data-v-8fbda373]{font-size:12px;color:#fff9;line-height:1.3}.model-category-tag[data-v-8fbda373]{align-self:flex-end;color:#a8b3ff;font-size:11px;font-weight:500;margin-top:4px}@media (max-width: 768px){.models-grid[data-v-8fbda373]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 480px){.models-grid[data-v-8fbda373]{grid-template-columns:1fr}}.model-layout[data-v-31d9fbd5]{display:flex;gap:30px;flex:1;min-height:0}.model-list[data-v-31d9fbd5]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-31d9fbd5]{margin:0;font-size:18px}.model-count[data-v-31d9fbd5]{color:#fff9;font-size:14px}.models-container[data-v-31d9fbd5]{flex:1;overflow-y:auto;margin-bottom:16px}.loading-state[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.empty-state[data-v-31d9fbd5]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-31d9fbd5]{font-size:48px;margin-bottom:16px;opacity:.4}.model-card[data-v-31d9fbd5]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.model-card[data-v-31d9fbd5]:hover{background:#ffffff0d;border-color:#fff3}.model-card.active[data-v-31d9fbd5]{border-color:#667eea;background:#667eea1a}.model-card-header[data-v-31d9fbd5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.model-name[data-v-31d9fbd5]{font-weight:500;font-size:16px}.model-desc[data-v-31d9fbd5]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:12px}.add-btn[data-v-31d9fbd5]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-31d9fbd5]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.model-detail[data-v-31d9fbd5]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.no-selection[data-v-31d9fbd5]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-31d9fbd5]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-31d9fbd5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-31d9fbd5]{margin:0;font-size:20px}.detail-actions[data-v-31d9fbd5]{display:flex;gap:12px}.form-item[data-v-31d9fbd5]{margin-bottom:20px}.form-item label[data-v-31d9fbd5]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-31d9fbd5],.form-item textarea[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-31d9fbd5]:focus,.form-item textarea[data-v-31d9fbd5]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-31d9fbd5]::placeholder,.form-item textarea[data-v-31d9fbd5]::placeholder{color:#fff6}.form-item textarea[data-v-31d9fbd5]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-31d9fbd5]{color:#ff6b6b}.action-btn[data-v-31d9fbd5]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-31d9fbd5]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-31d9fbd5]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-31d9fbd5]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-31d9fbd5]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-31d9fbd5]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-31d9fbd5]{padding:6px 12px;font-size:12px}.modal-form[data-v-31d9fbd5]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-31d9fbd5]{text-align:center;padding:20px 0}.delete-confirm p[data-v-31d9fbd5]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-31d9fbd5]{color:#fff9;font-size:14px}.warning-icon[data-v-31d9fbd5]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-31d9fbd5],.cancel-btn[data-v-31d9fbd5]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-31d9fbd5],.cancel-btn.danger[data-v-31d9fbd5]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-31d9fbd5]:hover,.cancel-btn.danger[data-v-31d9fbd5]:hover{background:#ea66664d}.cancel-btn[data-v-31d9fbd5]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-31d9fbd5]:hover{background:#ffffff1a}.model-type[data-v-31d9fbd5]{display:flex;flex-wrap:wrap;gap:6px}.model-tag[data-v-31d9fbd5]{display:inline-block;padding:4px 8px;background:#b566ea33;border-radius:4px;font-size:12px;color:#a8b3ff}.model-status[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px}.default-badge[data-v-31d9fbd5]{display:flex;align-items:center;gap:4px;padding:2px 6px;background:#ffc10733;border:1px solid rgba(255,193,7,.3);border-radius:12px;font-size:11px;color:#ffc107;font-weight:500}.current-default[data-v-31d9fbd5]{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#ffc10733;border:1px solid rgba(255,193,7,.3);border-radius:8px;font-size:12px;color:#ffc107;font-weight:500}.action-btn.default[data-v-31d9fbd5]{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107}.action-btn.default[data-v-31d9fbd5]:hover:not(:disabled){background:#ffc10733;border-color:#ffc10780}.action-btn.default[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.api-key-container[data-v-31d9fbd5]{display:flex;gap:8px;align-items:center}.api-key-container input[data-v-31d9fbd5]{flex:1}.check-btn[data-v-31d9fbd5]{padding:12px 16px;background:#a8b3ff1a;border:1px solid rgba(168,179,255,.3);border-radius:8px;color:#a8b3ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:48px}.check-btn[data-v-31d9fbd5]:hover:not(:disabled){background:#a8b3ff33;border-color:#a8b3ff80}.check-btn[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.loading-icon[data-v-31d9fbd5]{animation:spin-31d9fbd5 1s linear infinite}@keyframes spin-31d9fbd5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-toast[data-v-31d9fbd5],.success-toast[data-v-31d9fbd5]{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;color:#fff;cursor:pointer;z-index:1000;animation:slideIn-31d9fbd5 .3s ease}.error-toast[data-v-31d9fbd5]{background:#ea6666e6;border:1px solid rgba(234,102,102,.5)}.success-toast[data-v-31d9fbd5]{background:#66ea66e6;border:1px solid rgba(102,234,102,.5)}@keyframes slideIn-31d9fbd5{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.readonly-field[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:14px;min-height:48px;display:flex;align-items:center;cursor:default;-webkit-user-select:none;user-select:none}.readonly-field.description-field[data-v-31d9fbd5]{min-height:80px;align-items:flex-start;padding-top:12px;line-height:1.5;white-space:pre-wrap}.description-field[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:14px;min-height:80px;resize:vertical;transition:all .3s ease;font-family:inherit}.description-field[data-v-31d9fbd5]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.description-field[data-v-31d9fbd5]::placeholder{color:#fff6}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px var(--vscode-tab-inactiveBackground) solid}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px var(--vscode-notebook-focusedCellBorder) solid}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px var(--vscode-tab-inactiveBackground) solid}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px var(--vscode-sideBarSectionHeader-border) solid;border-top:1px var(--vscode-sideBarSectionHeader-border) solid;border-left:2px var(--vscode-editor-background) solid}.monaco-component .multiDiffEntry.focused .header{border-left:2px var(--vscode-notebook-focusedCellBorder) solid}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}@font-face{font-family:codicon;font-display:block;src:url(/ui/assets/codicon-Hscy-R9e.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-number,.monaco-editor .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.monaco-editor-container[data-v-df421d9b]{position:relative;border:none;border-radius:0;overflow:hidden;background:#ffffff0d}.editor-wrapper[data-v-df421d9b]{height:100%;min-height:300px}[data-v-df421d9b] .monaco-editor{border-radius:0}[data-v-df421d9b] .monaco-editor .margin{background-color:#ffffff0d!important}[data-v-df421d9b] .monaco-editor .line-numbers{color:#9ca3afcc!important}[data-v-df421d9b] .monaco-editor .current-line{background-color:#37415180!important}[data-v-df421d9b] .monaco-editor .selection{background-color:#3b82f64d!important}[data-v-df421d9b] .monaco-editor .cursor{border-left-color:#f9fafbe6!important}[data-v-df421d9b] .monaco-editor .scrollbar .slider{background-color:#9ca3af4d!important}[data-v-df421d9b] .monaco-editor .scrollbar .slider:hover{background-color:#9ca3af80!important}[data-v-df421d9b] .monaco-editor .scrollbar .slider.active{background-color:#9ca3afb3!important}.mcp-config-form[data-v-c7dc6c11]{width:100%}.form-item[data-v-c7dc6c11]{margin-bottom:20px}.form-item label[data-v-c7dc6c11]{display:block;margin-bottom:8px;font-weight:500;color:#e5e7eb}.required[data-v-c7dc6c11]{color:#ef4444}.config-input[data-v-c7dc6c11],.config-textarea[data-v-c7dc6c11]{width:100%;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#ffffff0d;color:#ffffffe6;font-size:14px;transition:all .3s}.config-input[data-v-c7dc6c11]:focus,.config-textarea[data-v-c7dc6c11]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-textarea[data-v-c7dc6c11]{resize:vertical;min-height:80px}.config-input[data-v-c7dc6c11]::placeholder,.config-textarea[data-v-c7dc6c11]::placeholder{color:#fff6}.usage-instructions[data-v-c7dc6c11]{margin-top:24px;padding:16px;background:#ffffff08;border:1px solid rgba(102,126,234,.5);border-radius:8px;box-shadow:0 2px 8px #0000001a;position:relative}.usage-instructions[data-v-c7dc6c11]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#667eeacc;border-radius:8px 8px 0 0}.instructions-header[data-v-c7dc6c11]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.instructions-icon[data-v-c7dc6c11]{font-size:16px;color:#667eea}.instructions-header h4[data-v-c7dc6c11]{margin:0;font-size:16px;font-weight:600;color:#ffffffe6}.instructions-content[data-v-c7dc6c11]{color:#fffc;line-height:1.5;font-size:14px}.instructions-list[data-v-c7dc6c11]{margin:0;padding-left:16px}.instructions-list>li[data-v-c7dc6c11]{margin-bottom:12px;position:relative;padding-left:4px}.instructions-list>li[data-v-c7dc6c11]::marker{color:#667eea;font-weight:600;font-size:14px}.instructions-list>li[data-v-c7dc6c11]:last-child{margin-bottom:0}.instructions-list strong[data-v-c7dc6c11]{color:#fffffff2;font-weight:600;display:block;margin-bottom:6px;font-size:14px}.instructions-list ul[data-v-c7dc6c11]{margin:6px 0 0;padding-left:16px;list-style-type:disc}.instructions-list ul li[data-v-c7dc6c11]{margin-bottom:3px;color:#ffffffbf;font-size:13px;line-height:1.4}.instructions-list ul li strong[data-v-c7dc6c11]{color:#ffffffe6;font-weight:500;display:inline;margin-bottom:0}.instructions-list code[data-v-c7dc6c11]{background:#667eea26;color:#a8b3ff;padding:1px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;border:1px solid rgba(102,126,234,.2)}@media (max-width: 768px){.usage-instructions[data-v-c7dc6c11]{margin-top:20px;padding:12px}.instructions-header h4[data-v-c7dc6c11]{font-size:15px}.instructions-content[data-v-c7dc6c11]{font-size:13px}.instructions-list[data-v-c7dc6c11]{padding-left:12px}.instructions-list>li[data-v-c7dc6c11]{margin-bottom:10px}.instructions-list ul li[data-v-c7dc6c11]{font-size:12px}}.tab-panel[data-v-dd5c9237]{width:100%}.tab-header[data-v-dd5c9237]{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.tab-button[data-v-dd5c9237]{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button[data-v-dd5c9237]:hover{color:#fffc;background-color:#ffffff0d}.tab-button.active[data-v-dd5c9237]{color:#3b82f6;border-bottom-color:#3b82f6;background-color:#ffffff08}.tab-content[data-v-dd5c9237]{min-height:200px;background-color:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:16px}.tab-pane[data-v-dd5c9237]{width:100%}.json-import-panel[data-v-db4635ee]{height:100%;display:flex;flex-direction:column}.form-item[data-v-db4635ee]{flex:1;display:flex;flex-direction:column}.json-tab-panel[data-v-db4635ee]{margin-top:8px}.validation-errors[data-v-db4635ee]{margin-top:12px;padding:12px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:4px}.error-item[data-v-db4635ee]{color:#f44;font-size:14px;margin-bottom:4px}.error-item[data-v-db4635ee]:last-child{margin-bottom:0}.example-json[data-v-db4635ee]{margin:0;padding:12px;background:#ffffff08;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4}.example-json code[data-v-db4635ee]{color:#ffffffe6;background:none;padding:0;border:none;border-radius:0;font-family:inherit;font-size:inherit}.example-json .string[data-v-db4635ee]{color:#a78bfa}.example-json .number[data-v-db4635ee]{color:#fbbf24}.example-json .boolean[data-v-db4635ee]{color:#f87171}.example-json .null[data-v-db4635ee]{color:#fff9}.example-json .key[data-v-db4635ee]{color:#34d399}.json-config-container[data-v-db4635ee]{display:flex;flex-direction:column;height:100%}.usage-instructions[data-v-db4635ee]{margin-top:16px;padding:16px;background:#ffffff08;border:1px solid rgba(102,126,234,.5);border-radius:8px;box-shadow:0 2px 8px #0000001a;position:relative}.usage-instructions[data-v-db4635ee]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#667eeacc;border-radius:8px 8px 0 0}.instructions-header[data-v-db4635ee]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.instructions-icon[data-v-db4635ee]{font-size:16px;color:#667eea}.instructions-header h4[data-v-db4635ee]{margin:0;font-size:16px;font-weight:600;color:#ffffffe6}.instructions-content[data-v-db4635ee]{color:#fffc;line-height:1.5;font-size:14px}.instructions-list[data-v-db4635ee]{margin:0;padding-left:16px}.instructions-list>li[data-v-db4635ee]{margin-bottom:12px;position:relative;padding-left:4px}.instructions-list>li[data-v-db4635ee]::marker{color:#667eea;font-weight:600;font-size:14px}.instructions-list>li[data-v-db4635ee]:last-child{margin-bottom:0}.instructions-list strong[data-v-db4635ee]{color:#fffffff2;font-weight:600;display:block;margin-bottom:6px;font-size:14px}.instructions-list ul[data-v-db4635ee]{margin:6px 0 0;padding-left:16px;list-style-type:disc}.instructions-list ul li[data-v-db4635ee]{margin-bottom:3px;color:#ffffffbf;font-size:13px;line-height:1.4}.instructions-list ul li strong[data-v-db4635ee]{color:#ffffffe6;font-weight:500;display:inline;margin-bottom:0}.instructions-list code[data-v-db4635ee]{background:#667eea26;color:#a8b3ff;padding:1px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;border:1px solid rgba(102,126,234,.2)}.mcp-config-panel[data-v-163c5416]{position:relative}.mcp-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mcp-header h2[data-v-163c5416]{margin:0;font-size:20px;font-weight:500}.header-left[data-v-163c5416],.header-right[data-v-163c5416]{display:flex;align-items:center}.mcp-stats[data-v-163c5416]{display:flex;margin-left:16px;gap:12px}.stat-item[data-v-163c5416]{display:flex;align-items:center;background:#ffffff0d;padding:4px 8px;border-radius:4px;font-size:12px}.stat-label[data-v-163c5416]{color:#fff9;margin-right:4px}.stat-value[data-v-163c5416]{color:#ffffffe6;font-weight:500}.loading-container[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-spinner[data-v-163c5416]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin-163c5416 1s linear infinite;margin-bottom:16px}@keyframes spin-163c5416{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcp-layout[data-v-163c5416]{display:flex;gap:30px;flex:1;min-height:0}.server-list[data-v-163c5416]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-163c5416]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-163c5416]{margin:0;font-size:18px}.server-count[data-v-163c5416]{font-size:14px;color:#fff9}.search-box[data-v-163c5416]{position:relative;margin-bottom:20px}.search-input[data-v-163c5416]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 12px 6px 32px;color:#ffffffe6;width:100%;font-size:14px;transition:all .3s}.search-input[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14;width:100%}.search-input[data-v-163c5416]::placeholder{color:#fff6}.search-icon[data-v-163c5416]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.servers-container[data-v-163c5416]{flex:1;overflow-y:auto;margin-bottom:16px}.servers-container[data-v-163c5416]::-webkit-scrollbar{width:6px}.servers-container[data-v-163c5416]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.servers-container[data-v-163c5416]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.servers-container[data-v-163c5416]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.server-card[data-v-163c5416]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:8px}.server-card[data-v-163c5416]:hover:not(.active){background:#ffffff0d;border-color:#fff3}.server-card.active[data-v-163c5416]{border-color:#667eea;background:#667eea1a}.server-card-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:500;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:10px}.server-name[data-v-163c5416]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-connection-type[data-v-163c5416]{font-size:12px;color:#ffffffb3;display:flex;align-items:center;gap:6px}.connection-type-icon[data-v-163c5416]{font-size:14px;opacity:.8}.connection-type-badge[data-v-163c5416]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#9e9e9e33;color:#bdbdbd}.connection-type-badge.studio[data-v-163c5416]{background:#2196f333;color:#90caf9}.connection-type-badge.sse[data-v-163c5416]{background:#4caf5033;color:#a5d6a7}.connection-type-badge.streaming[data-v-163c5416]{background:#9c27b033;color:#ce93d8}.server-config-summary[data-v-163c5416]{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.config-item[data-v-163c5416]{display:flex;align-items:flex-start;margin-bottom:6px;font-size:12px;line-height:1.4}.config-label[data-v-163c5416]{color:#fff9;font-weight:500;min-width:50px;margin-right:8px}.config-value[data-v-163c5416]{color:#fffc;word-break:break-all;flex:1}.server-config-preview[data-v-163c5416]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;max-height:120px;overflow-y:auto;overflow-x:auto}.config-preview[data-v-163c5416]{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:10px;line-height:1.3;color:#ffffffe6;white-space:pre-wrap;word-break:break-all}.config-preview .json-key[data-v-163c5416]{color:#90caf9}.config-preview .json-string[data-v-163c5416]{color:#a5d6a7}.config-preview .json-number[data-v-163c5416]{color:#f39c12}.config-preview .json-boolean[data-v-163c5416]{color:#e74c3c}.config-preview .json-null[data-v-163c5416]{color:#95a5a6}.loading-state[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-icon[data-v-163c5416]{font-size:32px;margin-bottom:16px}.empty-state[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#ffffff80;text-align:center}.empty-icon[data-v-163c5416]{font-size:48px;margin-bottom:16px;opacity:.5}.add-config-button-container[data-v-163c5416]{margin-top:0}.add-btn[data-v-163c5416]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-163c5416]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.add-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.add-btn.primary[data-v-163c5416]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.add-btn.primary[data-v-163c5416]:hover:not(:disabled){background:#667eea4d}.add-btn.danger[data-v-163c5416]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.add-btn.danger[data-v-163c5416]:hover:not(:disabled){background:#ea666633}.add-btn.small[data-v-163c5416]{padding:6px 12px;font-size:12px}.form-row[data-v-163c5416]{display:flex;gap:20px}.form-actions[data-v-163c5416]{display:flex;gap:12px;justify-content:flex-end}.server-detail[data-v-163c5416]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.detail-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-163c5416]{margin:0;font-size:20px}.detail-actions[data-v-163c5416]{display:flex;gap:12px}.detail-content[data-v-163c5416]{display:flex;flex-direction:column;gap:20px;flex:1;overflow-y:auto;padding-right:4px}.detail-content[data-v-163c5416]::-webkit-scrollbar{width:6px}.detail-content[data-v-163c5416]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.detail-content[data-v-163c5416]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.detail-content[data-v-163c5416]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.action-btn[data-v-163c5416]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-163c5416]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-163c5416]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-163c5416]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-163c5416]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-163c5416]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-163c5416]{padding:6px 12px;font-size:12px}.form-item[data-v-163c5416]{margin-bottom:20px}.form-item label[data-v-163c5416]{display:block;margin-bottom:8px;font-weight:500;color:#ffffffe6;font-size:14px}.form-item .required[data-v-163c5416]{color:#ef5350;margin-left:4px}.json-editor-container[data-v-163c5416]{position:relative}.json-editor-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.json-status[data-v-163c5416]{font-size:12px;padding:8px 12px;border-radius:4px;font-weight:500;max-width:400px;word-wrap:break-word;white-space:pre-line;line-height:1.4;min-height:20px}.json-status.valid[data-v-163c5416]{background:#10b98133;color:#34d399}.json-status.invalid[data-v-163c5416]{background:#ef444433;color:#f87171}.format-btn[data-v-163c5416]{display:flex;align-items:center;gap:4px;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:4px;color:#a8b3ff;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .3s}.format-btn[data-v-163c5416]:hover:not(:disabled){background:#667eea33;border-color:#667eea80}.format-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.format-icon[data-v-163c5416]{font-size:12px}.json-editor-wrapper[data-v-163c5416]{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:4px;overflow:hidden;background:#ffffff0d;min-height:300px}.json-editor[data-v-163c5416]{height:100%;min-height:280px}.config-textarea[data-v-163c5416]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ffffffe6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;resize:vertical;transition:all .3s}.config-textarea[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-textarea[data-v-163c5416]::placeholder{color:#fff6}.config-input[data-v-163c5416]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ffffffe6;font-size:14px;transition:all .3s}.config-input[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-input[data-v-163c5416]::placeholder{color:#fff6}.no-selection[data-v-163c5416]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80;text-align:center}.placeholder-icon[data-v-163c5416]{font-size:48px;margin-bottom:16px;opacity:.5}.message-toast[data-v-163c5416]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;color:#fff;font-weight:500;z-index:9999;box-shadow:0 4px 12px #0000004d;max-width:400px;word-wrap:break-word;white-space:pre-line;line-height:1.4}.message-toast.success[data-v-163c5416]{background:#10b981}.message-toast.error[data-v-163c5416]{background:#ef4444}.message-toast.info[data-v-163c5416]{background:#667eea}.message-fade-enter-active[data-v-163c5416],.message-fade-leave-active[data-v-163c5416]{transition:all .3s ease}.message-fade-enter-from[data-v-163c5416],.message-fade-leave-to[data-v-163c5416]{transform:translate(100%);opacity:0}@media (max-width: 1200px){.mcp-layout[data-v-163c5416]{flex-direction:column}.server-list[data-v-163c5416],.server-detail[data-v-163c5416]{width:100%}.server-list[data-v-163c5416]{order:2}.server-detail[data-v-163c5416]{order:1}}.wide-modal[data-v-163c5416]{width:80vw!important;max-width:1200px!important}.form-row[data-v-163c5416]{display:flex;gap:20px;margin-bottom:20px}.form-row .form-item[data-v-163c5416]{flex:1}.narrow-input[data-v-163c5416]{width:70%}.narrow-input .config-input[data-v-163c5416],.narrow-input .config-textarea[data-v-163c5416]{width:100%}.status-toggle-container[data-v-163c5416]{display:flex;align-items:center}.status-toggle[data-v-163c5416]{position:relative;width:60px;height:30px;background:#6b7280;border-radius:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.status-toggle.enabled[data-v-163c5416]{background:#10b981}.toggle-thumb[data-v-163c5416]{position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.status-toggle.enabled .toggle-thumb[data-v-163c5416]{left:33px}.toggle-label[data-v-163c5416]{color:#fff;font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none}.server-status-toggle[data-v-163c5416]{display:flex;align-items:center}.server-card-header .status-toggle[data-v-163c5416]{width:50px;height:24px}.server-card-header .toggle-thumb[data-v-163c5416]{width:18px;height:18px;top:3px;left:3px}.server-card-header .status-toggle.enabled .toggle-thumb[data-v-163c5416]{left:29px}.server-card-header .toggle-label[data-v-163c5416]{font-size:10px}@media (max-width: 768px){.mcp-header[data-v-163c5416]{flex-direction:column;gap:16px;align-items:stretch}.search-input[data-v-163c5416]{width:100%}.search-input[data-v-163c5416]:focus{width:100%}.mcp-table-wrapper[data-v-163c5416]{overflow-x:scroll}.mcp-table[data-v-163c5416]{min-width:600px}.connection-type-options[data-v-163c5416],.mcp-form-actions[data-v-163c5416]{flex-direction:column;gap:12px}.mcp-form-actions button[data-v-163c5416]{width:100%}.form-row[data-v-163c5416]{flex-direction:column;gap:15px}.narrow-input[data-v-163c5416]{width:100%}.server-detail[data-v-163c5416]{padding:16px}.detail-header[data-v-163c5416]{margin-bottom:16px}.detail-content[data-v-163c5416]{gap:16px}.form-row[data-v-163c5416]{flex-direction:column;gap:16px}.form-actions[data-v-163c5416]{flex-direction:column;gap:8px}.form-actions .action-btn[data-v-163c5416]{width:100%}}.json-actions[data-v-163c5416]{display:flex;gap:8px;align-items:center}.json-import-form[data-v-163c5416]{height:100%;display:flex;flex-direction:column}.json-import-form .form-item[data-v-163c5416]{flex:1;display:flex;flex-direction:column}.json-import-form .form-item label[data-v-163c5416]{margin-bottom:8px}.json-import-form .monaco-editor[data-v-163c5416]{flex:1;min-height:600px;border:none;border-radius:0}.validation-errors[data-v-163c5416]{margin-top:12px;padding:12px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:4px}.error-item[data-v-163c5416]{color:#f44;font-size:14px;margin-bottom:4px}.error-item[data-v-163c5416]:last-child{margin-bottom:0}.json-tab-panel[data-v-163c5416]{margin-top:8px}.example-json[data-v-163c5416]{margin:0;padding:12px;background:#ffffff08;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4}.example-json code[data-v-163c5416]{color:#ffffffe6;background:none;padding:0;border:none;border-radius:0;font-family:inherit;font-size:inherit}.example-json .string[data-v-163c5416]{color:#a78bfa}.example-json .number[data-v-163c5416]{color:#fbbf24}.example-json .boolean[data-v-163c5416]{color:#f87171}.example-json .null[data-v-163c5416]{color:#fff9}.example-json .key[data-v-163c5416]{color:#34d399}.custom-select[data-v-4c6d676f]{position:relative;display:inline-block}.select-btn[data-v-4c6d676f]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(80 78 78);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.select-btn[data-v-4c6d676f]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.select-btn[data-v-4c6d676f]:focus{box-shadow:0 0 0 3px #667eea80}.current-option[data-v-4c6d676f]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none}.chevron[data-v-4c6d676f]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.select-dropdown[data-v-4c6d676f]{position:absolute;top:100%;left:0;z-index:9999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px}.dropdown-header[data-v-4c6d676f]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-4c6d676f]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-4c6d676f]:hover{background:#ffffff1a;color:#fffc}.select-options[data-v-4c6d676f]{padding:8px 0}.select-option[data-v-4c6d676f]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.select-option[data-v-4c6d676f]:hover{background:#ffffff0d;color:#ffffffe6}.select-option.active[data-v-4c6d676f]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.option-type[data-v-4c6d676f]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.option-name[data-v-4c6d676f]{flex:1;font-size:14px;font-weight:500}.check-icon[data-v-4c6d676f]{color:#667eea;opacity:.8}.spacer[data-v-4c6d676f]{display:inline-block;width:12px}.backdrop[data-v-4c6d676f]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}.slideDown-enter-active[data-v-4c6d676f],.slideDown-leave-active[data-v-4c6d676f]{transition:all .2s ease;transform-origin:top}.slideDown-enter-from[data-v-4c6d676f],.slideDown-leave-to[data-v-4c6d676f]{opacity:0;transform:translateY(-8px) scale(.95)}.actions-container[data-v-86dcf751]{display:flex;align-items:center;gap:16px}.action-btn.warning[data-v-86dcf751]{background:#f59e0b;color:#fff}.action-btn.warning[data-v-86dcf751]:hover{background:#d97706}.action-btn.info[data-v-86dcf751]{background:#3b82f6;color:#fff}.action-btn.info[data-v-86dcf751]:hover{background:#2563eb}.import-language-dropdown[data-v-86dcf751]{display:inline-block}.language-select-modal[data-v-86dcf751]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#fff;font-size:14px;outline:none}.language-select-modal[data-v-86dcf751]:focus{border-color:#409eff}.warning-notice[data-v-86dcf751]{display:flex;align-items:flex-start;gap:8px;padding:12px;margin-top:16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px}.warning-icon-small[data-v-86dcf751]{color:#f59e0b;font-size:16px;margin-top:2px;flex-shrink:0}.warning-notice p[data-v-86dcf751]{margin:0;font-size:14px;color:#fffc}.prompt-layout[data-v-86dcf751]{display:flex;gap:12px;flex:1;min-height:0}.prompt-list[data-v-86dcf751]{width:336px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-86dcf751]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-86dcf751]{margin:0;font-size:18px}.prompt-count[data-v-86dcf751]{color:#fff9;font-size:14px}.prompts-container[data-v-86dcf751]{flex:1;overflow-y:auto;margin-bottom:16px;padding-right:6px}.loading-state[data-v-86dcf751]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.loading-icon[data-v-86dcf751]{animation:spin-86dcf751 1s linear infinite}@keyframes spin-86dcf751{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-86dcf751]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-86dcf751]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-86dcf751]{font-size:14px;margin-top:8px}.prompt-card[data-v-86dcf751]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.prompt-card[data-v-86dcf751]:hover{background:#ffffff0d;border-color:#fff3}.prompt-card.active[data-v-86dcf751]{border-color:#667eea;background:#667eea1a}.prompt-card-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center}.prompt-name[data-v-86dcf751]{font-weight:500;font-size:16px}.prompt-desc[data-v-86dcf751]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:0;margin-top:8px}.prompt-tools[data-v-86dcf751]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-86dcf751]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-86dcf751]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-86dcf751]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-86dcf751]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-86dcf751]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.prompt-detail[data-v-86dcf751]{flex:1;background:#ffffff08;border-radius:12px;padding:12px 24px;overflow-y:auto}.no-selection[data-v-86dcf751]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-86dcf751]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-86dcf751]{margin:0;font-size:20px}.detail-actions[data-v-86dcf751]{display:flex;gap:12px}.form-section[data-v-86dcf751]{margin-bottom:32px}.form-item[data-v-86dcf751]{margin-bottom:20px}.form-item label[data-v-86dcf751]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-86dcf751],.form-item textarea[data-v-86dcf751]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-86dcf751]:focus,.form-item textarea[data-v-86dcf751]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-86dcf751]::placeholder,.form-item textarea[data-v-86dcf751]::placeholder{color:#fff6}.form-item input[data-v-86dcf751]:disabled,.form-item textarea[data-v-86dcf751]:disabled{cursor:not-allowed;background:#ffffff08;color:#fff;border-color:#ffffff0d;opacity:.6}.form-item textarea[data-v-86dcf751]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-86dcf751]{color:#ff6b6b}.section-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-86dcf751]{font-weight:500;color:#fffc}.action-btn[data-v-86dcf751]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-86dcf751]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-86dcf751]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-86dcf751]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-86dcf751]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-86dcf751]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-86dcf751]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-86dcf751]{padding:6px 12px;font-size:12px}.modal-form[data-v-86dcf751]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-86dcf751]{text-align:center;padding:20px 0}.delete-confirm p[data-v-86dcf751]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-86dcf751]{color:#fff9;font-size:14px}.warning-icon[data-v-86dcf751]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-86dcf751],.cancel-btn[data-v-86dcf751]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-86dcf751],.cancel-btn.danger[data-v-86dcf751]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-86dcf751]:hover,.cancel-btn.danger[data-v-86dcf751]:hover{background:#ea66664d}.tags[data-v-86dcf751]{margin-top:8px}.tags .tag[data-v-86dcf751]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.cancel-btn[data-v-86dcf751]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-86dcf751]:hover{background:#ffffff1a}@keyframes slideIn-86dcf751{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.namespace-layout[data-v-c4f8fbf9]{display:flex;gap:12px;flex:1;min-height:0}.namespace-list[data-v-c4f8fbf9]{width:336px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-c4f8fbf9]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-c4f8fbf9]{margin:0;font-size:18px}.namespace-count[data-v-c4f8fbf9]{color:#fff9;font-size:14px}.namespaces-container[data-v-c4f8fbf9]{flex:1;overflow-y:auto;margin-bottom:16px;padding-right:6px}.loading-state[data-v-c4f8fbf9]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.loading-icon[data-v-c4f8fbf9]{animation:spin-c4f8fbf9 1s linear infinite}@keyframes spin-c4f8fbf9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-c4f8fbf9]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-c4f8fbf9]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-c4f8fbf9]{font-size:14px;margin-top:8px}.namespace-card[data-v-c4f8fbf9]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.namespace-card[data-v-c4f8fbf9]:hover{background:#ffffff0d;border-color:#fff3}.namespace-card.active[data-v-c4f8fbf9]{border-color:#667eea;background:#667eea1a}.namespace-card-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center}.namespace-name[data-v-c4f8fbf9]{font-weight:500;font-size:16px}.namespace-desc[data-v-c4f8fbf9]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:0;margin-top:8px}.namespace-tools[data-v-c4f8fbf9]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-c4f8fbf9]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-c4f8fbf9]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-c4f8fbf9]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-c4f8fbf9]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-c4f8fbf9]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.namespace-detail[data-v-c4f8fbf9]{flex:1;background:#ffffff08;border-radius:12px;padding:12px 24px;overflow-y:auto}.no-selection[data-v-c4f8fbf9]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-c4f8fbf9]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-c4f8fbf9]{margin:0;font-size:20px}.detail-actions[data-v-c4f8fbf9]{display:flex;gap:12px}.form-section[data-v-c4f8fbf9]{margin-bottom:32px}.form-item[data-v-c4f8fbf9]{margin-bottom:20px}.form-item label[data-v-c4f8fbf9]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-c4f8fbf9],.form-item textarea[data-v-c4f8fbf9]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-c4f8fbf9]:focus,.form-item textarea[data-v-c4f8fbf9]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-c4f8fbf9]::placeholder,.form-item textarea[data-v-c4f8fbf9]::placeholder{color:#fff6}.form-item input[data-v-c4f8fbf9]:disabled,.form-item textarea[data-v-c4f8fbf9]:disabled{cursor:not-allowed;background:#ffffff08;color:#fff;border-color:#ffffff0d;opacity:.6}.form-item textarea[data-v-c4f8fbf9]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-c4f8fbf9]{color:#ff6b6b}.section-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-c4f8fbf9]{font-weight:500;color:#fffc}.action-btn[data-v-c4f8fbf9]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-c4f8fbf9]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-c4f8fbf9]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-c4f8fbf9]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-c4f8fbf9]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-c4f8fbf9]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-c4f8fbf9]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-c4f8fbf9]{padding:6px 12px;font-size:12px}.modal-form[data-v-c4f8fbf9]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-c4f8fbf9]{text-align:center;padding:20px 0}.delete-confirm p[data-v-c4f8fbf9]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-c4f8fbf9]{color:#fff9;font-size:14px}.warning-icon[data-v-c4f8fbf9]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-c4f8fbf9],.cancel-btn[data-v-c4f8fbf9]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-c4f8fbf9],.cancel-btn.danger[data-v-c4f8fbf9]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-c4f8fbf9]:hover,.cancel-btn.danger[data-v-c4f8fbf9]:hover{background:#ea66664d}.tags[data-v-c4f8fbf9]{margin-top:8px}.tags .tag[data-v-c4f8fbf9]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.cancel-btn[data-v-c4f8fbf9]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-c4f8fbf9]:hover{background:#ffffff1a}@keyframes slideIn-c4f8fbf9{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.setting-icon[data-v-4727c0a4]{color:#667eea;margin-left:4px;cursor:pointer}.config-container[data-v-29da4edc]{height:100vh;background:#ffffff05;color:#fff}.config-header[data-v-29da4edc]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.header-actions[data-v-29da4edc]{display:flex;justify-content:space-between;align-items:center;width:100%}.header-actions-left[data-v-29da4edc]{display:flex;align-items:center;gap:14px}.config-header h1[data-v-29da4edc]{background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:24px;font-weight:600}.config-content[data-v-29da4edc]{display:flex;height:calc(100vh - 80px)}.config-nav[data-v-29da4edc]{width:242px;padding:20px;border-right:1px solid rgba(255,255,255,.1)}.nav-item[data-v-29da4edc]{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:8px;border-radius:8px;cursor:pointer;transition:all .3s}.nav-item[data-v-29da4edc]:hover{background:#ffffff0d}.nav-item.active[data-v-29da4edc]{background:#667eea1a;border:1px solid rgba(102,126,234,.2)}.config-details[data-v-29da4edc]{flex:1;padding:24px 30px;overflow-y:auto}.action-btn[data-v-29da4edc]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s}.action-btn[data-v-29da4edc]:hover{background:#ffffff1a} diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BijJLnMN.js b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BijJLnMN.js new file mode 100644 index 0000000000..718df0a902 --- /dev/null +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BijJLnMN.js @@ -0,0 +1,3 @@ +var ct=Object.defineProperty;var rt=(w,n,s)=>n in w?ct(w,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):w[n]=s;var he=(w,n,s)=>rt(w,typeof n!="symbol"?n+"":n,s);import{d as Ce,u as Ie,c as _e,o as Se,a as g,b as p,n as te,x as l,e,f as q,t as i,g as b,i as Y,F as ge,l as ve,h as ie,w as de,j as fe,z as at,r as D,y as ne,A as De,s as ue,T as xe,k as Re,B as $e,q as Ue,C as Ne,D as ut,E as dt,p as lt,G as pt}from"./index-SarmArA2.js";import{I as P}from"./iconify-B5kZhuXP.js";import{s as m,P as Ae,u as it}from"./sidebar-EjrN4Sj7.js";import{_ as ye}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{L as ht}from"./llm-check-D2idVWhZ.js";import{L as gt}from"./index-BPwnW1su.js";import{u as mt,a as vt}from"./useMessage-BDFqrfR1.js";const ft={class:"sidebar-content"},bt={class:"sidebar-content-header"},kt={class:"sidebar-content-title"},_t={class:"tab-switcher"},$t=["disabled"],Pt={key:0,class:"tab-content"},Ct={class:"new-task-section"},St={class:"sidebar-content-list"},yt={key:0,class:"loading-state"},Et={key:1,class:"error-state"},wt={key:2,class:"empty-state"},Tt=["onClick"],It={class:"task-icon"},Dt={class:"task-details"},xt={class:"task-title"},Rt={class:"task-preview"},At={class:"task-time"},Mt={class:"task-actions"},Nt=["title","onClick"],Ut={key:1,class:"tab-content config-tab"},Lt={key:0,class:"config-container"},Vt={class:"template-info-header"},qt={class:"template-info"},Ft={class:"template-id"},Ot={class:"config-section"},Bt={class:"section-header"},Wt={class:"generator-content"},jt=["placeholder"],Ht={class:"generator-actions"},zt=["disabled"],Jt=["disabled"],Gt={class:"config-section"},Xt={class:"section-header"},Kt={class:"section-actions"},Qt=["disabled","title"],Yt=["disabled","title"],Zt=["disabled"],en=["placeholder"],tn={class:"config-section"},nn={class:"section-header"},sn={class:"execution-content"},on={class:"params-input-group"},an={class:"params-help-text"},ln={class:"params-input-container"},cn=["placeholder"],rn=["title"],un={class:"api-url-display"},dn={class:"api-url-label"},pn={class:"api-url"},hn={class:"api-url-display"},gn={class:"api-url-label"},mn=["disabled"],vn=Ce({__name:"index",emits:["planExecutionRequested"],setup(w,{expose:n,emit:s}){const{t:u}=Ie(),T=["currentPlanId","userRequest","rootPlanId"],f=_e({get(){try{if(!m.jsonContent)return"";const h={...JSON.parse(m.jsonContent)};return T.forEach(y=>{delete h[y]}),JSON.stringify(h,null,2)}catch{return m.jsonContent}},set(o){try{if(!o.trim()){m.jsonContent="";return}const h=JSON.parse(o);let y={};try{y=JSON.parse(m.jsonContent||"{}")}catch{}const K={...h};T.forEach(U=>{y[U]!==void 0&&(K[U]=y[U])}),m.jsonContent=JSON.stringify(K)}catch{m.jsonContent=o}}}),_=s,x=async()=>{try{const o=await m.saveTemplate();o!=null&&o.duplicate?alert(u("sidebar.saveCompleted",{message:o.message,versionCount:o.versionCount})):o!=null&&o.saved?alert(u("sidebar.saveSuccess",{message:o.message,versionCount:o.versionCount})):o!=null&&o.message&&alert(u("sidebar.saveStatus",{message:o.message}))}catch(o){console.error("Failed to save plan modifications:",o),alert(o.message||u("sidebar.saveFailed"))}},F=async()=>{var o;try{await m.generatePlan(),alert(u("sidebar.generateSuccess",{templateId:((o=m.selectedTemplate)==null?void 0:o.id)??u("sidebar.unknown")}))}catch(h){console.error("Failed to generate plan:",h),alert(u("sidebar.generateFailed")+": "+h.message)}},$=async()=>{try{await m.updatePlan(),alert(u("sidebar.updateSuccess"))}catch(o){console.error("Failed to update plan:",o),alert(u("sidebar.updateFailed")+": "+o.message)}},B=async()=>{console.log("[Sidebar] handleExecutePlan called");try{const o=m.preparePlanExecution();if(!o){console.log("[Sidebar] No plan data available, returning");return}console.log("[Sidebar] Triggering plan execution request:",o),console.log("[Sidebar] Emitting planExecutionRequested event"),_("planExecutionRequested",o),console.log("[Sidebar] Event emitted")}catch(o){console.error("Error executing plan:",o),alert(u("sidebar.executeFailed")+": "+o.message)}finally{m.finishPlanExecution()}},X=o=>{if(isNaN(o.getTime()))return console.warn("Invalid date received:",o),u("time.unknown");const y=new Date().getTime()-o.getTime(),K=Math.floor(y/6e4),U=Math.floor(y/36e5),V=Math.floor(y/864e5);return K<1?u("time.now"):K<60?u("time.minuteAgo",{count:K}):U<24?u("time.hourAgo",{count:U}):V<30?u("time.dayAgo",{count:V}):o.toLocaleDateString("zh-CN")},G=(o,h)=>!o||o.length<=h?o:o.substring(0,h)+"...";return Se(()=>{m.loadPlanTemplateList()}),n({loadPlanTemplateList:m.loadPlanTemplateList,toggleSidebar:m.toggleSidebar,currentPlanTemplateId:m.currentPlanTemplateId}),(o,h)=>(p(),g("div",{class:te(["sidebar-wrapper",{"sidebar-wrapper-collapsed":l(m).isCollapsed}])},[e("div",ft,[e("div",bt,[e("div",kt,i(o.$t("sidebar.title")),1)]),e("div",_t,[e("button",{class:te(["tab-button",{active:l(m).currentTab==="list"}]),onClick:h[0]||(h[0]=y=>l(m).switchToTab("list"))},[b(l(P),{icon:"carbon:list",width:"16"}),Y(" "+i(o.$t("sidebar.templateList")),1)],2),e("button",{class:te(["tab-button",{active:l(m).currentTab==="config"}]),onClick:h[1]||(h[1]=y=>l(m).switchToTab("config")),disabled:!l(m).selectedTemplate},[b(l(P),{icon:"carbon:settings",width:"16"}),Y(" "+i(o.$t("sidebar.configuration")),1)],10,$t)]),l(m).currentTab==="list"?(p(),g("div",Pt,[e("div",Ct,[e("button",{class:"new-task-btn",onClick:h[2]||(h[2]=y=>l(m).createNewTemplate())},[b(l(P),{icon:"carbon:add",width:"16"}),Y(" "+i(o.$t("sidebar.newPlan"))+" ",1),h[11]||(h[11]=e("span",{class:"shortcut"},"⌘ K",-1))])]),e("div",St,[l(m).isLoading?(p(),g("div",yt,[b(l(P),{icon:"carbon:circle-dash",width:"20",class:"spinning"}),e("span",null,i(o.$t("sidebar.loading")),1)])):l(m).errorMessage?(p(),g("div",Et,[b(l(P),{icon:"carbon:warning",width:"20"}),e("span",null,i(l(m).errorMessage),1),e("button",{onClick:h[3]||(h[3]=(...y)=>l(m).loadPlanTemplateList&&l(m).loadPlanTemplateList(...y)),class:"retry-btn"},i(o.$t("sidebar.retry")),1)])):l(m).planTemplateList.length===0?(p(),g("div",wt,[b(l(P),{icon:"carbon:document",width:"32"}),e("span",null,i(o.$t("sidebar.noTemplates")),1)])):(p(!0),g(ge,{key:3},ve(l(m).sortedTemplates,y=>(p(),g("div",{key:y.id,class:te(["sidebar-content-list-item",{"sidebar-content-list-item-active":y.id===l(m).currentPlanTemplateId}]),onClick:K=>l(m).selectTemplate(y)},[e("div",It,[b(l(P),{icon:"carbon:document",width:"20"})]),e("div",Dt,[e("div",xt,i(y.title||o.$t("sidebar.unnamedPlan")),1),e("div",Rt,i(G(y.description||o.$t("sidebar.noDescription"),40)),1)]),e("div",At,i(X(l(m).parseDateTime(y.updateTime||y.createTime))),1),e("div",Mt,[e("button",{class:"delete-task-btn",title:o.$t("sidebar.deleteTemplate"),onClick:ie(K=>l(m).deleteTemplate(y),["stop"])},[b(l(P),{icon:"carbon:close",width:"16"})],8,Nt)])],10,Tt))),128))])])):l(m).currentTab==="config"?(p(),g("div",Ut,[l(m).selectedTemplate?(p(),g("div",Lt,[e("div",Vt,[e("div",qt,[e("h3",null,i(l(m).selectedTemplate.title||o.$t("sidebar.unnamedPlan")),1),e("span",Ft,"ID: "+i(l(m).selectedTemplate.id),1)]),e("button",{class:"back-to-list-btn",onClick:h[4]||(h[4]=y=>l(m).switchToTab("list"))},[b(l(P),{icon:"carbon:arrow-left",width:"16"})])]),e("div",Ot,[e("div",Bt,[b(l(P),{icon:"carbon:generate",width:"16"}),e("span",null,i(o.$t("sidebar.planGenerator")),1)]),e("div",Wt,[de(e("textarea",{"onUpdate:modelValue":h[5]||(h[5]=y=>l(m).generatorPrompt=y),class:"prompt-input",placeholder:o.$t("sidebar.generatorPlaceholder"),rows:"3"},null,8,jt),[[fe,l(m).generatorPrompt]]),e("div",Ht,[e("button",{class:"btn btn-primary btn-sm",onClick:F,disabled:l(m).isGenerating||!l(m).generatorPrompt.trim()},[b(l(P),{icon:l(m).isGenerating?"carbon:circle-dash":"carbon:generate",width:"14",class:te({spinning:l(m).isGenerating})},null,8,["icon","class"]),Y(" "+i(l(m).isGenerating?o.$t("sidebar.generating"):o.$t("sidebar.generatePlan")),1)],8,zt),e("button",{class:"btn btn-secondary btn-sm",onClick:$,disabled:l(m).isGenerating||!l(m).generatorPrompt.trim()||!l(m).jsonContent.trim()},[b(l(P),{icon:"carbon:edit",width:"14"}),Y(" "+i(o.$t("sidebar.updatePlan")),1)],8,Jt)])])]),e("div",Gt,[e("div",Xt,[b(l(P),{icon:"carbon:code",width:"16"}),e("span",null,i(o.$t("sidebar.jsonTemplate")),1),e("div",Kt,[e("button",{class:"btn btn-sm",onClick:h[6]||(h[6]=(...y)=>l(m).rollbackVersion&&l(m).rollbackVersion(...y)),disabled:!l(m).canRollback,title:o.$t("sidebar.rollback")},[b(l(P),{icon:"carbon:undo",width:"14"})],8,Qt),e("button",{class:"btn btn-sm",onClick:h[7]||(h[7]=(...y)=>l(m).restoreVersion&&l(m).restoreVersion(...y)),disabled:!l(m).canRestore,title:o.$t("sidebar.restore")},[b(l(P),{icon:"carbon:redo",width:"14"})],8,Yt),e("button",{class:"btn btn-primary btn-sm",onClick:x,disabled:l(m).isGenerating||l(m).isExecuting},[b(l(P),{icon:"carbon:save",width:"14"})],8,Zt)])]),de(e("textarea",{"onUpdate:modelValue":h[8]||(h[8]=y=>f.value=y),class:"json-editor",placeholder:o.$t("sidebar.jsonPlaceholder"),rows:"12"},null,8,en),[[fe,f.value]])]),e("div",tn,[e("div",nn,[b(l(P),{icon:"carbon:play",width:"16"}),e("span",null,i(o.$t("sidebar.executionController")),1)]),e("div",sn,[e("div",on,[e("label",null,i(o.$t("sidebar.executionParams")),1),e("div",an,i(o.$t("sidebar.executionParamsHelp")),1),e("div",ln,[de(e("input",{"onUpdate:modelValue":h[9]||(h[9]=y=>l(m).executionParams=y),class:"params-input",placeholder:o.$t("sidebar.executionParamsPlaceholder")},null,8,cn),[[fe,l(m).executionParams]]),e("button",{class:"clear-params-btn",onClick:h[10]||(h[10]=(...y)=>l(m).clearExecutionParams&&l(m).clearExecutionParams(...y)),title:o.$t("sidebar.clearParams")},[b(l(P),{icon:"carbon:close",width:"12"})],8,rn)])]),e("div",un,[e("span",dn,i(o.$t("sidebar.apiUrl"))+":",1),e("code",pn,i(l(m).computedApiUrl),1)]),e("div",hn,[e("span",gn,i(o.$t("sidebar.statusApiUrl"))+":",1),h[12]||(h[12]=e("code",{class:"api-url"},"/api/executor/details/{planId}",-1))]),e("button",{class:"btn btn-primary execute-btn",onClick:B,disabled:l(m).isExecuting||l(m).isGenerating},[b(l(P),{icon:l(m).isExecuting?"carbon:circle-dash":"carbon:play",width:"16",class:te({spinning:l(m).isExecuting})},null,8,["icon","class"]),Y(" "+i(l(m).isExecuting?o.$t("sidebar.executing"):o.$t("sidebar.executePlan")),1)],8,mn)])])])):q("",!0)])):q("",!0)])],2))}}),fn=ye(vn,[["__scopeId","data-v-a66d585a"]]);class Ve{static async sendMessage(n){return ht.withLlmCheck(async()=>{const s=await fetch(`${this.BASE_URL}/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n})});if(!s.ok)throw new Error(`API request failed: ${s.status}`);return await s.json()})}}he(Ve,"BASE_URL","/api/executor");class qe{static async getDetails(n){try{const s=await fetch(`${this.BASE_URL}/details/${n}`);if(s.status===404)return null;if(!s.ok){const f=await s.text();throw new Error(`Failed to get detailed information: ${s.status} - ${f}`)}const u=await s.text(),T=JSON.parse(u);return T&&typeof T=="object"&&!T.currentPlanId&&(T.currentPlanId=n),T}catch(s){return console.error("[CommonApiService] Failed to get plan details:",s),{currentPlanId:n,status:"failed",message:s instanceof Error?s.message:"Failed to save, please retry"}}}static async submitFormInput(n,s){const u=await fetch(`${this.BASE_URL}/submit-input/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!u.ok){let f;try{f=await u.json()}catch{f={message:`Failed to submit form input: ${u.status}`}}throw new Error(f.message||`Failed to submit form input: ${u.status}`)}const T=u.headers.get("content-type");return T&&T.indexOf("application/json")!==-1?await u.json():{success:!0}}static async getAllPrompts(){try{const n=await fetch(this.BASE_URL);return await(await this.handleResponse(n)).json()}catch(n){throw console.error("Failed to get Prompt list:",n),n}}static async handleResponse(n){if(!n.ok)try{const s=await n.json();throw new Error(s.message||`API request failed: ${n.status}`)}catch{throw new Error(`API request failed: ${n.status} ${n.statusText}`)}return n}}he(qe,"BASE_URL","/api/executor");const Pe=class Pe{constructor(){he(this,"POLL_INTERVAL",5e3);he(this,"state",at({activePlanId:null,lastSequenceSize:0,isPolling:!1,pollTimer:null}));he(this,"callbacks",{});he(this,"planExecutionCache",new Map);he(this,"uiStateCache",new Map);console.log("[PlanExecutionManager] Initialized with callback-based event system")}getCachedPlanRecord(n){return this.planExecutionCache.get(n)}getCachedUIState(n){return this.uiStateCache.get(n)}setCachedUIState(n,s){this.uiStateCache.set(n,s),console.log(`[PlanExecutionManager] Cached UI state for rootPlanId: ${n}`)}getAllCachedRecords(){return new Map(this.planExecutionCache)}hasCachedPlanRecord(n){return this.planExecutionCache.has(n)}setCachedPlanRecord(n,s){this.planExecutionCache.set(n,s),console.log(`[PlanExecutionManager] Cached plan execution record for rootPlanId: ${n}`)}clearCachedPlanRecord(n){const s=this.planExecutionCache.delete(n);return s&&console.log(`[PlanExecutionManager] Cleared cached plan execution record for rootPlanId: ${n}`),s}clearAllCachedRecords(){const n=this.planExecutionCache.size,s=this.uiStateCache.size;this.planExecutionCache.clear(),this.uiStateCache.clear(),console.log(`[PlanExecutionManager] Cleared all caches - Plans: ${n}, UI States: ${s}`)}static getInstance(){return Pe.instance||(Pe.instance=new Pe),Pe.instance}getActivePlanId(){return this.state.activePlanId}getState(){return this.state}setEventCallbacks(n){this.callbacks={...this.callbacks,...n},console.log("[PlanExecutionManager] Event callbacks set:",Object.keys(n))}async handleUserMessageSendRequested(n){if(this.validateAndPrepareUIForNewRequest(n))try{if(await this.sendUserMessageAndSetPlanId(n),this.state.activePlanId)this.initiatePlanExecutionSequence(n,this.state.activePlanId);else throw new Error("Failed to get valid plan ID")}catch(s){console.error("[PlanExecutionManager] Failed to send user message:",s);const u=this.state.activePlanId??"error";this.setCachedUIState(u,{enabled:!0}),this.emitChatInputUpdateState(u),this.state.activePlanId=null}}handlePlanExecutionRequested(n,s){console.log("[PlanExecutionManager] Received plan execution request:",{planId:n,query:s}),n?(this.state.activePlanId=n,this.initiatePlanExecutionSequence(s??"执行计划",n)):console.error("[PlanExecutionManager] Invalid plan execution request: missing planId")}handleCachedPlanExecution(n,s){const u=this.getCachedPlanRecord(n);return u!=null&&u.currentPlanId?(console.log(`[PlanExecutionManager] Found cached plan execution record for rootPlanId: ${n}`),this.handlePlanExecutionRequested(u.currentPlanId,s),!0):(console.log(`[PlanExecutionManager] No cached plan execution record found for rootPlanId: ${n}`),!1)}validateAndPrepareUIForNewRequest(n){if(!n)return console.warn("[PlanExecutionManager] Query is empty"),!1;if(this.state.activePlanId)return!1;this.emitChatInputClear();const s=this.state.activePlanId??"ui-state";return this.setCachedUIState(s,{enabled:!1,placeholder:"Processing..."}),this.emitChatInputUpdateState(s),!0}async sendUserMessageAndSetPlanId(n){try{const s=await Ve.sendMessage(n);if(s!=null&&s.planId)return this.state.activePlanId=s.planId,s;if(s!=null&&s.planTemplateId)return this.state.activePlanId=s.planTemplateId,{...s,planId:s.planTemplateId};throw console.error("[PlanExecutionManager] Failed to get planId from response:",s),new Error("Failed to get valid planId from API response")}catch(s){throw console.error("[PlanExecutionManager] API call failed:",s),s}}initiatePlanExecutionSequence(n,s){console.log(`[PlanExecutionManager] Starting plan execution sequence for query: "${n}", planId: ${s}`);const u=s;this.emitDialogRoundStart(u),this.startPolling()}handlePlanCompletion(n){this.emitPlanCompleted(n.rootPlanId??""),this.state.lastSequenceSize=0,this.stopPolling();try{setTimeout(async()=>{if(this.state.activePlanId)try{await Ae.deletePlanTemplate(this.state.activePlanId),console.log(`[PlanExecutionManager] Plan template ${this.state.activePlanId} deleted successfully`)}catch(s){console.log(`Delete plan execution record failed: ${s.message}`)}},5e3)}catch(s){console.log(`Delete plan execution record failed: ${s.message}`)}n.completed&&(this.state.activePlanId=null,this.emitChatInputUpdateState(n.rootPlanId??""))}handlePlanError(n){this.emitPlanError(n.message??""),this.state.lastSequenceSize=0,this.stopPolling();try{setTimeout(async()=>{if(this.state.activePlanId)try{await Ae.deletePlanTemplate(this.state.activePlanId),console.log(`[PlanExecutionManager] Plan template ${this.state.activePlanId} deleted successfully`)}catch(s){console.log(`Delete plan execution record failed: ${s.message}`)}},5e3)}catch(s){console.log(`Delete plan execution record failed: ${s.message}`)}}async pollPlanStatus(){if(this.state.activePlanId){if(this.state.isPolling){console.log("[PlanExecutionManager] Previous polling still in progress, skipping");return}try{this.state.isPolling=!0;const n=await this.getPlanDetails(this.state.activePlanId);if(!n){console.warn("[PlanExecutionManager] No details received from API");return}if(n.status&&n.status==="failed"){this.handlePlanError(n);return}if(n.rootPlanId&&this.setCachedPlanRecord(n.rootPlanId,n),!n.steps||n.steps.length===0){console.log("[PlanExecutionManager] Simple response without steps detected, handling as completed"),this.emitPlanUpdate(n.rootPlanId??""),this.handlePlanCompletion(n);return}this.emitPlanUpdate(n.rootPlanId??""),n.completed&&this.handlePlanCompletion(n)}catch(n){console.error("[PlanExecutionManager] Failed to poll plan status:",n)}finally{this.state.isPolling=!1}}}async getPlanDetails(n){try{const s=await qe.getDetails(n);return s!=null&&s.rootPlanId&&(this.planExecutionCache.set(s.rootPlanId,s),console.log(`[PlanExecutionManager] Cached plan execution record for rootPlanId: ${s.rootPlanId}`)),s}catch(s){return console.error("[PlanExecutionManager] Failed to get plan details:",s),{currentPlanId:n,status:"failed",message:s instanceof Error?s.message:"Failed to get plan"}}}startPolling(){this.state.pollTimer&&clearInterval(this.state.pollTimer),this.state.pollTimer=window.setInterval(()=>{this.pollPlanStatus()},this.POLL_INTERVAL),console.log("[PlanExecutionManager] Started polling")}async pollPlanStatusImmediately(){console.log("[PlanExecutionManager] Polling plan status immediately"),await this.pollPlanStatus()}stopPolling(){this.state.pollTimer&&(clearInterval(this.state.pollTimer),this.state.pollTimer=null),console.log("[PlanExecutionManager] Stopped polling")}cleanup(){this.stopPolling(),this.state.activePlanId=null,this.state.lastSequenceSize=0,this.state.isPolling=!1,this.clearAllCachedRecords()}emitChatInputClear(){this.callbacks.onChatInputClear&&this.callbacks.onChatInputClear()}emitChatInputUpdateState(n){this.callbacks.onChatInputUpdateState&&this.callbacks.onChatInputUpdateState(n)}emitDialogRoundStart(n){this.callbacks.onDialogRoundStart&&this.callbacks.onDialogRoundStart(n)}emitPlanUpdate(n){this.callbacks.onPlanUpdate&&this.callbacks.onPlanUpdate(n)}emitPlanCompleted(n){this.callbacks.onPlanCompleted&&this.callbacks.onPlanCompleted(n)}emitPlanError(n){this.callbacks.onPlanError&&this.callbacks.onPlanError(n)}};he(Pe,"instance",null);let Le=Pe;const oe=Le.getInstance(),bn={class:"right-panel"},kn={class:"preview-header"},_n={class:"preview-tabs"},$n={class:"tab-button active"},Pn={class:"preview-content"},Cn={class:"step-details"},Sn={key:0,class:"step-info-fixed"},yn={key:0,class:"agent-info"},En={class:"info-item"},wn={class:"label"},Tn={class:"value"},In={class:"info-item"},Dn={class:"label"},xn={class:"value"},Rn={class:"info-item"},An={class:"label"},Mn={class:"value"},Nn={class:"info-item"},Un={class:"label"},Ln={class:"value"},Vn={class:"info-item"},qn={class:"label"},Fn={class:"execution-status"},On={class:"status-item"},Bn={class:"status-text"},Wn={key:0},jn={key:0,class:"think-act-steps"},Hn={class:"steps-container"},zn={class:"step-header"},Jn={class:"step-number"},Gn={class:"think-section"},Xn={class:"think-content"},Kn={class:"input"},Qn={class:"label"},Yn={class:"output"},Zn={class:"label"},es={key:0,class:"action-section"},ts={class:"action-content"},ns={class:"tool-info"},ss={class:"label"},os={class:"value"},as={class:"input"},ls={class:"label"},is={class:"output"},cs={class:"label"},rs={key:0,class:"sub-plan-section"},us={class:"sub-plan-content"},ds={class:"sub-plan-header"},ps={class:"sub-plan-info"},hs={class:"value"},gs={key:0,class:"sub-plan-info"},ms={class:"value"},vs={class:"sub-plan-status"},fs={class:"status-text"},bs={key:0,class:"no-steps-message"},ks={key:1,class:"no-execution-message"},_s={class:"step-basic-info"},$s={class:"info-item"},Ps={class:"label"},Cs={class:"value"},Ss={key:0,class:"info-item"},ys={class:"value"},Es={class:"info-item"},ws={class:"no-execution-hint"},Ts={key:2,class:"execution-indicator"},Is={class:"execution-text"},Ds={key:1,class:"no-selection"},xs=["title"],Rs=Ce({__name:"index",setup(w,{expose:n}){const{t:s}=Ie(),u=D(),T=D(),f=D(),_=D(null),x=D(!1),F=D(!0),$=D(!0),B=_e(()=>f.value?f.value.completed?s("rightPanel.status.completed"):f.value.current?s("rightPanel.status.executing"):s("rightPanel.status.waiting"):""),X=C=>{var L;if(console.log(`[RightPanel] updateDisplayedPlanProgress called with rootPlanId: ${C}`),f.value&&_.value){const R=_.value.rootPlanId??T.value;if(R&&R!==C){console.log(`[RightPanel] Plan ID mismatch - skipping update. Current: ${R}, Requested: ${C}`);return}}console.log(`[RightPanel] Plan ID validation passed - proceeding with update for rootPlanId: ${C}`);const S=oe.getCachedPlanRecord(C);if(!S){console.warn(`[RightPanel] Plan data not found for rootPlanId: ${C}`);return}if(S.steps&&S.steps.length>0){const R=S.steps.length,E=(S.currentStepIndex??0)+1;console.log(`[RightPanel] Progress: ${E} / ${R}`)}if(f.value&&T.value&&(T.value===C||((L=_.value)==null?void 0:L.rootPlanId)===C)&&(console.log(`[RightPanel] Refreshing selected step details for plan: ${C}`),_.value)){const E=_.value,A=o(E.planId,E.rootPlanId,E.subPlanId);A?(h(A,E.stepIndex,E.planId,E.isSubPlan),O()):console.warn("[RightPanel] Could not find plan record for refresh:",E)}},G=(C,S,L,R,E)=>{console.log("[RightPanel] Step selected:",{planId:C,stepIndex:S,rootPlanId:L,subPlanId:R,subStepIndex:E});const A=!!(L&&R&&E!==void 0);_.value={planId:C,stepIndex:S,isSubPlan:A,...A&&{rootPlanId:L,subPlanId:R,subStepIndex:E}};const ee=o(C,L,R);if(!ee){console.warn("[RightPanel] Plan data not found:",{planId:C,rootPlanId:L,subPlanId:R}),f.value=null,_.value=null;return}h(ee,S,C,A)},o=(C,S,L)=>{var A;if(!S||!L)return oe.getCachedPlanRecord(C)??null;const R=oe.getCachedPlanRecord(C);if(R)return R;const E=oe.getCachedPlanRecord(S);if(!(E!=null&&E.agentExecutionSequence))return null;for(const ee of E.agentExecutionSequence)if(ee.thinkActSteps){for(const se of ee.thinkActSteps)if(((A=se.subPlanExecutionRecord)==null?void 0:A.currentPlanId)===L)return se.subPlanExecutionRecord}return null},h=(C,S,L,R)=>{var ke,re,v,c,k;if(!C.steps||S>=C.steps.length){f.value=null,_.value=null,console.warn("[RightPanel] Invalid step data:",{planId:L,stepIndex:S,hasSteps:!!C.steps,stepsLength:(ke=C.steps)==null?void 0:ke.length,message:"Invalid step index"});return}T.value=L;const E=C.steps[S],A=(re=C.agentExecutionSequence)==null?void 0:re[S];console.log("[RightPanel] Step data details:",{planId:L,stepIndex:S,step:E,hasAgentExecutionSequence:!!C.agentExecutionSequence,agentExecutionSequenceLength:(v=C.agentExecutionSequence)==null?void 0:v.length,agentExecution:A,hasThinkActSteps:!!(A!=null&&A.thinkActSteps),thinkActStepsLength:(c=A==null?void 0:A.thinkActSteps)==null?void 0:c.length,isSubPlan:R});const ee=(A==null?void 0:A.status)==="FINISHED",se=!ee&&S===C.currentStepIndex&&!C.completed,me={planId:L,index:S,title:typeof E=="string"?E:E.title||E.description||E.name||`${R?"子":""}步骤 ${S+1}`,description:typeof E=="string"?E:E.description||E,completed:ee,current:se};A&&(me.agentExecution=A),f.value=me,console.log("[RightPanel] Step details updated:",{planId:L,stepIndex:S,stepTitle:f.value.title,hasAgentExecution:!!A,hasThinkActSteps:(((k=A==null?void 0:A.thinkActSteps)==null?void 0:k.length)??0)>0,completed:ee,current:se,planCurrentStep:C.currentStepIndex,planCompleted:C.completed,isSubPlan:R}),A!=null&&A.thinkActSteps&&A.thinkActSteps.forEach((I,a)=>{I.subPlanExecutionRecord&&console.log(`[RightPanel] Found sub-plan in thinkActStep ${a}:`,I.subPlanExecutionRecord)}),setTimeout(()=>{U()},100),O()},y=(C,S,L,R)=>{console.log("[RightPanel] Sub plan step selected (delegating to unified handler):",{rootPlanId:C,subPlanId:S,stepIndex:L,subStepIndex:R}),G(S,R,C,S,R)},K=C=>{u.value=C??void 0},U=()=>{if(!u.value)return;const{scrollTop:C,scrollHeight:S,clientHeight:L}=u.value,R=S-C-L<50,E=S>L;F.value=R,x.value=E&&!R,R?$.value=!0:S-C-L>100&&($.value=!1),console.log("[RightPanel] Scroll state check:",{scrollTop:C,scrollHeight:S,clientHeight:L,isAtBottom:R,hasScrollableContent:E,showButton:x.value,shouldAutoScroll:$.value})},V=()=>{u.value&&(u.value.scrollTo({top:u.value.scrollHeight,behavior:"smooth"}),ne(()=>{$.value=!0,U()}))},O=()=>{!$.value||!u.value||ne(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight,console.log("[RightPanel] Auto scroll to bottom"))})},Q=C=>{if(C===null||typeof C>"u"||C==="")return"N/A";try{const S=typeof C=="object"?C:JSON.parse(C);return JSON.stringify(S,null,2)}catch{return String(C)}},ce=()=>{f.value=null,T.value=void 0,$.value=!0,u.value&&u.value.removeEventListener("scroll",U)},be=()=>{const C=()=>{const S=u.value;return S?(K(S),S.addEventListener("scroll",U),$.value=!0,U(),console.log("[RightPanel] Scroll listener initialized successfully"),!0):(console.log("[RightPanel] Scroll container not found, retrying..."),!1)};ne(()=>{C()||setTimeout(()=>{C()},100)})};return Se(()=>{console.log("[RightPanel] Component mounted"),ne(()=>{be()})}),De(()=>{console.log("[RightPanel] Component unmounting, cleaning up..."),_.value=null,ce()}),n({updateDisplayedPlanProgress:X,handleStepSelected:G,handleSubPlanStepSelected:y}),(C,S)=>{var L,R;return p(),g("div",bn,[e("div",kn,[e("div",_n,[e("button",$n,[b(l(P),{icon:"carbon:events"}),Y(" "+i(l(s)("rightPanel.stepExecutionDetails")),1)])])]),e("div",Pn,[e("div",Cn,[f.value?(p(),g("div",Sn,[e("h3",null,i(f.value.title||f.value.description||l(s)("rightPanel.defaultStepTitle",{number:f.value.index+1})),1),f.value.agentExecution?(p(),g("div",yn,[e("div",En,[e("span",wn,i(l(s)("rightPanel.executingAgent"))+":",1),e("span",Tn,i(f.value.agentExecution.agentName),1)]),e("div",In,[e("span",Dn,i(l(s)("rightPanel.description"))+":",1),e("span",xn,i(f.value.agentExecution.agentDescription||""),1)]),e("div",Rn,[e("span",An,i(l(s)("rightPanel.callingModel"))+":",1),e("span",Mn,i(f.value.agentExecution.modelName),1)]),e("div",Nn,[e("span",Un,i(l(s)("rightPanel.request"))+":",1),e("span",Ln,i(f.value.agentExecution.agentRequest||""),1)]),e("div",Vn,[e("span",qn,i(l(s)("rightPanel.executionResult"))+":",1),e("span",{class:te(["value",{success:f.value.agentExecution.status==="FINISHED"}])},i(f.value.agentExecution.status||l(s)("rightPanel.executing")),3)])])):q("",!0),e("div",Fn,[e("div",On,[f.value.completed?(p(),ue(l(P),{key:0,icon:"carbon:checkmark-filled",class:"status-icon success"})):f.value.current?(p(),ue(l(P),{key:1,icon:"carbon:in-progress",class:"status-icon progress"})):(p(),ue(l(P),{key:2,icon:"carbon:time",class:"status-icon pending"})),e("span",Bn,i(B.value),1)])])])):q("",!0),e("div",{ref_key:"scrollContainer",ref:u,class:"step-details-scroll-container",onScroll:U},[f.value?(p(),g("div",Wn,[(L=f.value.agentExecution)!=null&&L.thinkActSteps&&f.value.agentExecution.thinkActSteps.length>0?(p(),g("div",jn,[e("h4",null,i(l(s)("rightPanel.thinkAndActionSteps")),1),e("div",Hn,[(p(!0),g(ge,null,ve(f.value.agentExecution.thinkActSteps,(E,A)=>(p(),g("div",{key:A,class:"think-act-step"},[e("div",zn,[e("span",Jn,"#"+i(A+1),1),e("span",{class:te(["step-status",E.status])},i(E.status||l(s)("rightPanel.executing")),3)]),e("div",Gn,[e("h5",null,[b(l(P),{icon:"carbon:thinking"}),Y(" "+i(l(s)("rightPanel.thinking")),1)]),e("div",Xn,[e("div",Kn,[e("span",Qn,i(l(s)("rightPanel.input"))+":",1),e("pre",null,i(Q(E.thinkInput)),1)]),e("div",Yn,[e("span",Zn,i(l(s)("rightPanel.output"))+":",1),e("pre",null,i(Q(E.thinkOutput)),1)])])]),E.actionNeeded?(p(),g("div",es,[e("h5",null,[b(l(P),{icon:"carbon:play"}),Y(" "+i(l(s)("rightPanel.action")),1)]),e("div",ts,[(p(!0),g(ge,null,ve(E.actToolInfoList,(ee,se)=>(p(),g("div",{key:se},[e("div",ns,[e("span",ss,i(l(s)("rightPanel.tool"))+":",1),e("span",os,i(ee.name||""),1)]),e("div",as,[e("span",ls,i(l(s)("rightPanel.toolParameters"))+":",1),e("pre",null,i(Q(ee.parameters)),1)]),e("div",is,[e("span",cs,i(l(s)("rightPanel.executionResult"))+":",1),e("pre",null,i(Q(ee.result)),1)])]))),128))]),E.subPlanExecutionRecord?(p(),g("div",rs,[e("h5",null,[b(l(P),{icon:"carbon:tree-view"}),Y(" "+i(l(s)("rightPanel.subPlan")),1)]),e("div",us,[e("div",ds,[e("div",ps,[S[0]||(S[0]=e("span",{class:"label"},"子计划ID:",-1)),e("span",hs,i(E.subPlanExecutionRecord.currentPlanId),1)]),E.subPlanExecutionRecord.title?(p(),g("div",gs,[S[1]||(S[1]=e("span",{class:"label"},"标题:",-1)),e("span",ms,i(E.subPlanExecutionRecord.title),1)])):q("",!0),e("div",vs,[E.subPlanExecutionRecord.completed?(p(),ue(l(P),{key:0,icon:"carbon:checkmark-filled",class:"status-icon success"})):(p(),ue(l(P),{key:1,icon:"carbon:in-progress",class:"status-icon progress"})),e("span",fs,i(E.subPlanExecutionRecord.completed?"已完成":"执行中"),1)])])])])):q("",!0)])):q("",!0)]))),128))]),f.value.agentExecution&&!((R=f.value.agentExecution.thinkActSteps)!=null&&R.length)?(p(),g("div",bs,[e("p",null,i(l(s)("rightPanel.noStepDetails")),1)])):f.value.agentExecution?q("",!0):(p(),g("div",ks,[b(l(P),{icon:"carbon:information",class:"info-icon"}),e("h4",null,i(l(s)("rightPanel.stepInfo")),1),e("div",_s,[e("div",$s,[e("span",Ps,i(l(s)("rightPanel.stepName"))+":",1),e("span",Cs,i(f.value.title||f.value.description||`步骤 ${f.value.index+1}`),1)]),f.value.description?(p(),g("div",Ss,[S[2]||(S[2]=e("span",{class:"label"},"描述:",-1)),e("span",ys,i(f.value.description),1)])):q("",!0),e("div",Es,[S[3]||(S[3]=e("span",{class:"label"},"状态:",-1)),e("span",{class:te(["value",{"status-completed":f.value.completed,"status-current":f.value.current,"status-pending":!f.value.completed&&!f.value.current}])},i(f.value.completed?"已完成":f.value.current?"执行中":"待执行"),3)])]),e("p",ws,i(l(s)("rightPanel.noExecutionInfo")),1)])),f.value.current&&!f.value.completed?(p(),g("div",Ts,[S[4]||(S[4]=e("div",{class:"execution-waves"},[e("div",{class:"wave wave-1"}),e("div",{class:"wave wave-2"}),e("div",{class:"wave wave-3"})],-1)),e("p",Is,[b(l(P),{icon:"carbon:in-progress",class:"rotating-icon"}),Y(" "+i(l(s)("rightPanel.stepExecuting")),1)])])):q("",!0)])):(p(),g("div",Ds,[b(l(P),{icon:"carbon:events",class:"empty-icon"}),e("h3",null,i(l(s)("rightPanel.noStepSelected")),1),e("p",null,i(l(s)("rightPanel.selectStepHint")),1)]))])):q("",!0),b(xe,{name:"scroll-button"},{default:Re(()=>[x.value?(p(),g("button",{key:0,onClick:V,class:"scroll-to-bottom-btn",title:l(s)("rightPanel.scrollToBottom")},[b(l(P),{icon:"carbon:chevron-down"})],8,xs)):q("",!0)]),_:1})],544)])])])}}}),As=ye(Rs,[["__scopeId","data-v-e90596ce"]]);function Ms(){const w=oe,n=_e(()=>w.getActivePlanId()),s=_e(()=>w.getState()),u=_e(()=>s.value.isPolling),T=_e(()=>!!n.value),f=($,B)=>{w.initiatePlanExecutionSequence($,B)},_=()=>{w.stopPolling()},x=()=>{w.startPolling()},F=()=>{w.cleanup()};return De(()=>{F()}),{activePlanId:n,state:s,isPolling:u,hasActivePlan:T,startExecution:f,stopPolling:_,startPolling:x,cleanup:F}}const Ns={class:"chat-container"},Us={class:"message-content"},Ls={key:0,class:"user-message"},Vs={key:1,class:"assistant-message"},qs={key:0,class:"thinking-section"},Fs={class:"thinking-header"},Os={class:"thinking-avatar"},Bs={class:"thinking-label"},Ws={class:"thinking-content"},js={key:0,class:"thinking"},Hs={key:1,class:"progress"},zs={class:"progress-bar"},Js={class:"progress-text"},Gs={key:2,class:"steps-container"},Xs={class:"steps-title"},Ks=["onClick"],Qs={class:"section-header"},Ys={class:"step-icon"},Zs={class:"step-title"},eo={key:0,class:"step-status current"},to={key:1,class:"step-status completed"},no={key:2,class:"step-status pending"},so={key:0,class:"action-info"},oo={class:"action-description"},ao={class:"action-icon"},lo={key:0,class:"tool-params"},io={class:"param-label"},co={class:"param-content"},ro={key:1,class:"think-details"},uo={class:"think-header"},po={class:"think-label"},ho={class:"think-output"},go={class:"think-content"},mo={key:1,class:"sub-plan-steps"},vo={class:"sub-plan-header"},fo={class:"sub-plan-step-list"},bo=["onClick"],ko={class:"sub-step-indicator"},_o={class:"sub-step-icon"},$o={class:"sub-step-number"},Po={class:"sub-step-content"},Co={class:"sub-step-title"},So={key:2,class:"user-input-form-container"},yo={class:"user-input-message"},Eo={key:0,class:"form-description"},wo=["onSubmit"],To=["for"],Io=["id","name","onUpdate:modelValue"],Do={key:1,class:"form-group"},xo={for:"form-input-genericInput"},Ro=["onUpdate:modelValue"],Ao={type:"submit",class:"submit-user-input-btn"},Mo={key:3,class:"default-processing"},No={class:"processing-indicator"},Uo={class:"response-section"},Lo={class:"response-header"},Vo={class:"response-avatar"},qo={class:"response-name"},Fo={class:"response-content"},Oo={key:0,class:"final-response"},Bo=["innerHTML"],Wo={key:1,class:"response-placeholder"},jo={class:"typing-indicator"},Ho={class:"typing-text"},zo={key:0,class:"message assistant"},Jo={class:"message-content"},Go={class:"assistant-message"},Xo={class:"thinking-section"},Ko={class:"thinking-header"},Qo={class:"thinking-avatar"},Yo={class:"thinking-label"},Zo={class:"thinking-content"},ea={class:"default-processing"},ta={class:"processing-indicator"},na={class:"response-section"},sa={class:"response-header"},oa={class:"response-avatar"},aa={class:"response-name"},la={class:"response-content"},ia={class:"response-placeholder"},ca={class:"typing-indicator"},ra={class:"typing-text"},ua=["title"],da=Ce({__name:"index",props:{mode:{default:"plan"},initialPrompt:{default:""}},emits:["step-selected","sub-plan-step-selected"],setup(w,{expose:n,emit:s}){const u=w,T=s,{t:f}=Ie(),_=Ms(),x=D(),F=D(!1),$=D([]),B=D(),X=D(!1),G=at({}),o=(a,t,r)=>{const d={id:Date.now().toString(),type:a,content:t,timestamp:new Date,...r};return a==="assistant"&&!d.thinking&&!d.content&&(d.thinking=f("chat.thinking")),$.value.push(d),d},h=a=>{const t=$.value[$.value.length-1];t.type==="assistant"&&Object.assign(t,a)},y=async a=>{try{F.value=!0;const t=o("assistant","",{thinking:"正在理解您的请求并准备回复..."}),r=await Ve.sendMessage(a);if(r.planId)console.log("[ChatComponent] Received planId from direct execution:",r.planId),t.planExecution||(t.planExecution={}),t.planExecution.currentPlanId=r.planId,oe.handlePlanExecutionRequested(r.planId,a),delete t.thinking,console.log("[ChatComponent] Started polling for plan execution updates");else{delete t.thinking;const d=K(r,a);t.content=d}}catch(t){console.error("Direct mode error:",t),h({content:U(t)})}finally{F.value=!1}},K=(a,t)=>a.result??a.message??a.content??"",U=a=>{const t=(a==null?void 0:a.message)??(a==null?void 0:a.toString())??"未知错误";return t.includes("网络")||t.includes("network")||t.includes("timeout")?"抱歉,似乎网络连接有些问题。请检查您的网络连接后再试一次,或者稍等几分钟再重新提问。":t.includes("认证")||t.includes("权限")||t.includes("auth")?"抱歉,访问权限出现了问题。这可能是系统配置的问题,请联系管理员或稍后再试。":t.includes("格式")||t.includes("参数")||t.includes("invalid")?"抱歉,您的请求格式可能有些问题。能否请您重新表述一下您的需求?我会尽力理解并帮助您。":`抱歉,处理您的请求时遇到了一些问题(${t})。请稍后再试,或者换个方式表达您的需求,我会尽力帮助您的。`},V=(a=!1)=>{ne(()=>{if(x.value){const t=x.value;(a||t.scrollHeight-t.scrollTop-t.clientHeight<150)&&t.scrollTo({top:t.scrollHeight,behavior:a?"auto":"smooth"})}})},O=()=>{V(!0),X.value=!1},Q=()=>{if(x.value){const a=x.value,t=a.scrollHeight-a.scrollTop-a.clientHeight<150;X.value=!t&&$.value.length>0}},ce=()=>{x.value&&x.value.addEventListener("scroll",Q)},be=()=>{x.value&&x.value.removeEventListener("scroll",Q)},C=a=>{o("user",a),u.mode==="plan"?console.log("[ChatComponent] Plan mode message sent, parent should handle:",a):y(a)},S=(a,t)=>{var W;const r=((W=a.planExecution)==null?void 0:W.agentExecutionSequence)??[];return t<0||t>=r.length?"IDLE":r[t].status??"IDLE"},L=(a,t)=>{var r,d;if(!((r=a.planExecution)!=null&&r.currentPlanId)){console.warn("[ChatComponent] Cannot handle step click: missing currentPlanId");return}console.log("[ChatComponent] Step clicked:",{planId:a.planExecution.currentPlanId,stepIndex:t,stepTitle:(d=a.planExecution.steps)==null?void 0:d[t]}),T("step-selected",a.planExecution.currentPlanId,t)},R=(a,t)=>{var r;try{const d=(r=a.planExecution)==null?void 0:r.agentExecutionSequence;if(!(d!=null&&d.length))return console.log("[ChatComponent] No agentExecutionSequence found"),[];const W=d[t];if(!W)return console.log(`[ChatComponent] No agentExecution found for step ${t}`),[];if(!W.thinkActSteps)return console.log(`[ChatComponent] No thinkActSteps found for step ${t}`),[];for(const N of W.thinkActSteps)if(N.subPlanExecutionRecord)return console.log(`[ChatComponent] Found sub-plan for step ${t}:`,N.subPlanExecutionRecord),(N.subPlanExecutionRecord.steps??[]).map(j=>typeof j=="string"?j:typeof j=="object"&&j!==null&&(j.title||j.description)||"子步骤");return[]}catch(d){return console.warn("[ChatComponent] Error getting sub-plan steps:",d),[]}},E=(a,t,r)=>{var d;try{const W=(d=a.planExecution)==null?void 0:d.agentExecutionSequence;if(!(W!=null&&W.length))return"pending";const N=W[t];if(!N||!N.thinkActSteps)return"pending";let Z=null;for(const H of N.thinkActSteps)if(H.subPlanExecutionRecord){Z=H.subPlanExecutionRecord;break}if(!Z)return"pending";const j=Z.currentStepIndex;return Z.completed?"completed":j==null?r===0?"current":"pending":r"),t.includes("
")&&(t=`
${t}
`),t},I=async a=>{var t;if(!((t=a.planExecution)!=null&&t.currentPlanId)||!a.planExecution.userInputWaitState){console.error("[ChatComponent] 缺少planExecution.currentPlanId或userInputWaitState");return}try{const r={},d=a.planExecution.userInputWaitState.formInputs;d&&d.length>0?Object.entries(G[a.id]).forEach(([N,Z])=>{var M;const j=parseInt(N,10),H=((M=d[j])==null?void 0:M.label)||`input_${N}`;r[H]=Z}):r.genericInput=a.genericInput??"",console.log("[ChatComponent] 提交用户输入:",r);const W=await qe.submitFormInput(a.planExecution.currentPlanId,r);delete a.planExecution.userInputWaitState,delete a.genericInput,delete G[a.id],_.startPolling(),console.log("[ChatComponent] 用户输入提交成功:",W)}catch(r){console.error("[ChatComponent] 用户输入提交失败:",r),alert(`提交失败: ${(r==null?void 0:r.message)||"未知错误"}`)}};return $e(()=>u.initialPrompt,(a,t)=>{console.log("[ChatComponent] initialPrompt changed from:",t,"to:",a),a&&typeof a=="string"&&a.trim()&&a!==t&&(console.log("[ChatComponent] Processing changed initial prompt:",a),ne(()=>{C(a)}))},{immediate:!1}),Se(()=>{console.log("[ChatComponent] Mounted, setting up event listeners"),oe.setEventCallbacks({onPlanUpdate:me,onPlanCompleted:v,onDialogRoundStart:se,onChatInputUpdateState:a=>{console.log("[ChatComponent] Chat input state update for rootPlanId:",a)},onChatInputClear:()=>{console.log("[ChatComponent] Chat input clear requested")},onPlanError:c}),ne(()=>{ce()}),u.initialPrompt&&typeof u.initialPrompt=="string"&&u.initialPrompt.trim()&&(console.log("[ChatComponent] Processing initial prompt:",u.initialPrompt),ne(()=>{C(u.initialPrompt)}))}),De(()=>{console.log("[ChatComponent] Unmounting, cleaning up resources"),be(),B.value&&clearInterval(B.value),_.cleanup(),Object.keys(G).forEach(a=>delete G[a])}),n({handleSendMessage:C,handlePlanUpdate:me,handlePlanCompleted:v,handleDialogRoundStart:se,addMessage:o,handlePlanError:c}),(a,t)=>(p(),g("div",Ns,[e("div",{class:"messages",ref_key:"messagesRef",ref:x},[(p(!0),g(ge,null,ve($.value,r=>{var d,W,N,Z,j,H,M,z,ae;return p(),g("div",{key:r.id,class:te(["message",{user:r.type==="user",assistant:r.type==="assistant"}])},[e("div",Us,[r.type==="user"?(p(),g("div",Ls,i(r.content),1)):(p(),g("div",Vs,[r.thinking||((d=r.planExecution)==null?void 0:d.progress)!==void 0||(((N=(W=r.planExecution)==null?void 0:W.steps)==null?void 0:N.length)??0)>0?(p(),g("div",qs,[e("div",Fs,[e("div",Os,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"})]),e("div",Bs,i(a.$t("chat.thinkingLabel")),1)]),e("div",Ws,[r.thinking?(p(),g("div",js,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"}),e("span",null,i(r.thinking),1)])):q("",!0),((Z=r.planExecution)==null?void 0:Z.progress)!==void 0?(p(),g("div",Hs,[e("div",zs,[e("div",{class:"progress-fill",style:Ue({width:r.planExecution.progress+"%"})},null,4)]),e("span",Js,i(r.planExecution.progressText??a.$t("chat.processing")+"..."),1)])):q("",!0),(((H=(j=r.planExecution)==null?void 0:j.steps)==null?void 0:H.length)??0)>0?(p(),g("div",Gs,[e("h4",Xs,i(a.$t("chat.stepExecutionDetails")),1),(p(!0),g(ge,null,ve((M=r.planExecution)==null?void 0:M.steps,(Ee,J)=>{var Me,Fe,Oe,Be,We,je,He,ze,Je,Ge,Xe,Ke,Qe,Ye,Ze,et,tt,nt,st;return p(),g("div",{key:J,class:te(["ai-section",{running:S(r,J)==="RUNNING",completed:S(r,J)==="FINISHED",pending:S(r,J)==="IDLE"}]),onClick:ie(pe=>L(r,J),["stop"])},[e("div",Qs,[e("span",Ys,i(S(r,J)==="FINISHED"?"✓":S(r,J)==="RUNNING"?"▶":"○"),1),e("span",Zs,i(Ee||`${a.$t("chat.step")} ${J+1}`),1),S(r,J)==="RUNNING"?(p(),g("span",eo,i(a.$t("chat.status.executing")),1)):S(r,J)==="FINISHED"?(p(),g("span",to,i(a.$t("chat.status.completed")),1)):(p(),g("span",no,i(a.$t("chat.status.pending")),1))]),r.stepActions&&r.stepActions[J]?(p(),g("div",so,[e("div",oo,[e("span",ao,i(((Me=r.stepActions[J])==null?void 0:Me.status)==="current"?"🔄":((Fe=r.stepActions[J])==null?void 0:Fe.status)==="completed"?"✓":"⏳"),1),e("strong",null,i((Oe=r.stepActions[J])==null?void 0:Oe.actionDescription),1)]),(Be=r.stepActions[J])!=null&&Be.toolParameters?(p(),g("div",lo,[t[0]||(t[0]=e("span",{class:"tool-icon"},"⚙️",-1)),e("span",io,i(a.$t("common.parameters"))+":",1),e("pre",co,i((We=r.stepActions[J])==null?void 0:We.toolParameters),1)])):q("",!0),(je=r.stepActions[J])!=null&&je.thinkOutput?(p(),g("div",ro,[e("div",uo,[t[1]||(t[1]=e("span",{class:"think-icon"},"💭",-1)),e("span",po,i(a.$t("chat.thinkingOutput"))+":",1)]),e("div",ho,[e("pre",go,i((He=r.stepActions[J])==null?void 0:He.thinkOutput),1)])])):q("",!0)])):q("",!0),((ze=R(r,J))==null?void 0:ze.length)>0?(p(),g("div",mo,[e("div",vo,[b(l(P),{icon:"carbon:tree-view",class:"sub-plan-icon"}),t[2]||(t[2]=e("span",{class:"sub-plan-title"},"子执行计划",-1))]),e("div",fo,[(p(!0),g(ge,null,ve(R(r,J),(pe,le)=>(p(),g("div",{key:`sub-${J}-${le}`,class:te(["sub-plan-step-item",{completed:E(r,J,le)==="completed",current:E(r,J,le)==="current",pending:E(r,J,le)==="pending"}]),onClick:ie(ot=>A(r,J,le),["stop"])},[e("div",ko,[e("span",_o,i(E(r,J,le)==="completed"?"✓":E(r,J,le)==="current"?"▶":"○"),1),e("span",$o,i(le+1),1)]),e("div",Po,[e("span",Co,i(pe),1),t[3]||(t[3]=e("span",{class:"sub-step-badge"},"子步骤",-1))])],10,bo))),128))])])):q("",!0),(Je=r.planExecution)!=null&&Je.userInputWaitState&&S(r,J)==="RUNNING"?(p(),g("div",So,[e("p",yo,i(((Xe=(Ge=r.planExecution)==null?void 0:Ge.userInputWaitState)==null?void 0:Xe.message)??a.$t("chat.userInput.message")),1),(Qe=(Ke=r.planExecution)==null?void 0:Ke.userInputWaitState)!=null&&Qe.formDescription?(p(),g("p",Eo,i((Ze=(Ye=r.planExecution)==null?void 0:Ye.userInputWaitState)==null?void 0:Ze.formDescription),1)):q("",!0),e("form",{onSubmit:ie(pe=>I(r),["prevent"]),class:"user-input-form"},[(tt=(et=r.planExecution)==null?void 0:et.userInputWaitState)!=null&&tt.formInputs&&r.planExecution.userInputWaitState.formInputs.length>0?(p(!0),g(ge,{key:0},ve((st=(nt=r.planExecution)==null?void 0:nt.userInputWaitState)==null?void 0:st.formInputs,(pe,le)=>(p(),g("div",{key:le,class:"form-group"},[e("label",{for:`form-input-${pe.label.replace(/\W+/g,"_")}`},i(pe.label)+": ",9,To),de(e("input",{type:"text",id:`form-input-${pe.label.replace(/\W+/g,"_")}`,name:pe.label,"onUpdate:modelValue":ot=>G[r.id][le]=ot,class:"form-input"},null,8,Io),[[fe,G[r.id][le]]])]))),128)):(p(),g("div",Do,[e("label",xo,i(a.$t("common.input"))+":",1),de(e("input",{type:"text",id:"form-input-genericInput",name:"genericInput","onUpdate:modelValue":pe=>r.genericInput=pe,class:"form-input"},null,8,Ro),[[fe,r.genericInput]])])),e("button",Ao,i(a.$t("chat.userInput.submit")),1)],40,wo)])):q("",!0)],10,Ks)}),128))])):!r.content&&(r.thinking||((z=r.planExecution)==null?void 0:z.progress)!==void 0&&(((ae=r.planExecution)==null?void 0:ae.progress)??0)<100)?(p(),g("div",Mo,[e("div",No,[t[4]||(t[4]=e("div",{class:"thinking-dots"},[e("span"),e("span"),e("span")],-1)),e("span",null,i(r.thinking??a.$t("chat.thinkingProcessing")),1)])])):q("",!0)])])):q("",!0),e("div",Uo,[e("div",Lo,[e("div",Vo,[b(l(P),{icon:"carbon:bot",class:"bot-icon"})]),e("div",qo,i(a.$t("chat.botName")),1)]),e("div",Fo,[r.content?(p(),g("div",Oo,[e("div",{class:"response-text",innerHTML:k(r.content)},null,8,Bo)])):(p(),g("div",Wo,[e("div",jo,[t[5]||(t[5]=e("div",{class:"typing-dots"},[e("span"),e("span"),e("span")],-1)),e("span",Ho,i(a.$t("chat.thinkingResponse")),1)])]))])])]))])],2)}),128)),F.value?(p(),g("div",zo,[e("div",Jo,[e("div",Go,[e("div",Xo,[e("div",Ko,[e("div",Qo,[b(l(P),{icon:"carbon:thinking",class:"thinking-icon"})]),e("div",Yo,i(a.$t("chat.thinkingLabel")),1)]),e("div",Zo,[e("div",ea,[e("div",ta,[t[6]||(t[6]=e("div",{class:"thinking-dots"},[e("span"),e("span"),e("span")],-1)),e("span",null,i(a.$t("chat.thinking")),1)])])])]),e("div",na,[e("div",sa,[e("div",oa,[b(l(P),{icon:"carbon:bot",class:"bot-icon"})]),e("div",aa,i(a.$t("chat.botName")),1)]),e("div",la,[e("div",ia,[e("div",ca,[t[7]||(t[7]=e("div",{class:"typing-dots"},[e("span"),e("span"),e("span")],-1)),e("span",ra,i(a.$t("chat.thinkingResponse")),1)])])])])])])])):q("",!0)],512),X.value?(p(),g("div",{key:0,class:"scroll-to-bottom-btn",onClick:O,title:a.$t("chat.scrollToBottom")},[b(l(P),{icon:"carbon:chevron-down"})],8,ua)):q("",!0)]))}}),pa=ye(da,[["__scopeId","data-v-46f87864"]]),ha={class:"input-area"},ga={class:"input-container"},ma={class:"attach-btn",title:"附加文件"},va=["placeholder","disabled"],fa=["title"],ba=["disabled","title"],ka=Ce({__name:"index",props:{placeholder:{default:""},disabled:{type:Boolean,default:!1},initialValue:{default:""}},emits:["send","clear","update-state","plan-mode-clicked"],setup(w,{expose:n,emit:s}){const{t:u}=Ie(),T=w,f=s,_=D(),x=D(""),F=_e(()=>T.placeholder||u("input.placeholder")),$=D(F.value),B=_e(()=>!!T.disabled),X=()=>{ne(()=>{_.value&&(_.value.style.height="auto",_.value.style.height=Math.min(_.value.scrollHeight,120)+"px")})},G=O=>{O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),o())},o=()=>{if(!x.value.trim()||B.value)return;const O=x.value.trim();f("send",O),y()},h=()=>{f("plan-mode-clicked")},y=()=>{x.value="",X(),f("clear")},K=(O,Q)=>{Q&&($.value=O?Q:u("input.waiting")),f("update-state",O,Q)},U=O=>{x.value=O,X()},V=()=>x.value.trim();return $e(()=>T.initialValue,O=>{O&&O.trim()&&(x.value=O,X())},{immediate:!0}),n({clearInput:y,updateState:K,setInputValue:U,getQuery:V,focus:()=>{var O;return(O=_.value)==null?void 0:O.focus()}}),Se(()=>{}),De(()=>{}),(O,Q)=>(p(),g("div",ha,[e("div",ga,[e("button",ma,[b(l(P),{icon:"carbon:attachment"})]),de(e("textarea",{"onUpdate:modelValue":Q[0]||(Q[0]=ce=>x.value=ce),ref_key:"inputRef",ref:_,class:"chat-input",placeholder:$.value,disabled:B.value,onKeydown:G,onInput:X},null,40,va),[[fe,x.value]]),e("button",{class:"plan-mode-btn",title:O.$t("input.planMode"),onClick:h},[b(l(P),{icon:"carbon:document"}),Y(" "+i(O.$t("input.planMode")),1)],8,fa),e("button",{class:"send-button",disabled:!x.value.trim()||B.value,onClick:o,title:O.$t("input.send")},[b(l(P),{icon:"carbon:send-alt"}),Y(" "+i(O.$t("input.send")),1)],8,ba)])]))}}),_a=ye(ka,[["__scopeId","data-v-639c8b2a"]]);class we{static async getAllCronTasks(){try{const n=await fetch(this.BASE_URL);return await(await this.handleResponse(n)).json()}catch(n){throw console.error("Failed to get cron tasks:",n),n}}static async getCronTaskById(n){try{const s=await fetch(`${this.BASE_URL}/${n}`);return await(await this.handleResponse(s)).json()}catch(s){throw console.error("Failed to get cron task by id:",s),s}}static async createCronTask(n){try{const s=await fetch(this.BASE_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});return await(await this.handleResponse(s)).json()}catch(s){throw console.error("Failed to create cron task:",s),s}}static async updateCronTask(n,s){try{const u=await fetch(`${this.BASE_URL}/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});return await(await this.handleResponse(u)).json()}catch(u){throw console.error("Failed to update cron task:",u),u}}static async updateTaskStatus(n,s){try{const u=await fetch(`${this.BASE_URL}/${n}/status?status=${s}`,{method:"PUT"});await this.handleResponse(u)}catch(u){throw console.error("Failed to update task status:",u),u}}static async deleteCronTask(n){try{const s=await fetch(`${this.BASE_URL}/${n}`,{method:"DELETE"});await this.handleResponse(s)}catch(s){throw console.error("Failed to delete cron task:",s),s}}static async handleResponse(n){if(!n.ok)try{const s=await n.json();throw new Error(s.message||`API request failed: ${n.status}`)}catch{throw new Error(`API request failed: ${n.status} ${n.statusText}`)}return n}}he(we,"BASE_URL","/api/cron-tasks");const Te={validateCronExpression(w){const n=w.trim().split(/\s+/);return n.length>=5&&n.length<=6},formatTime(w){return new Date(w).toLocaleString()},async saveTask(w){try{let n;return w.id?n=await we.updateCronTask(Number(w.id),w):n=await we.createCronTask(w),n}catch(n){throw console.error("Failed to save cron task:",n),n}},async deleteTask(w){try{await we.deleteCronTask(String(w))}catch(n){throw console.error("Failed to delete cron task:",n),n}},async toggleTaskStatus(w){if(!w.id)throw new Error("Task ID is required");const n=w.status===0?1:0;return await we.updateCronTask(Number(w.id),{...w,status:n})},prepareTaskExecution(w){return w.planTemplateId?{useTemplate:!0,planData:{title:w.cronName||"定时任务执行",planData:{id:w.planTemplateId,planTemplateId:w.planTemplateId,planId:w.planTemplateId},params:w.executionParams||void 0}}:{useTemplate:!1,taskContent:w.planDesc||w.cronName||""}}},$a={class:"modal-header"},Pa={class:"header-actions"},Ca={class:"status-switch"},Sa={class:"status-label"},ya={class:"toggle-switch"},Ea=["checked"],wa={class:"modal-content"},Ta={class:"form-group"},Ia={class:"form-label"},Da=["placeholder"],xa={class:"form-group"},Ra={class:"form-label"},Aa=["placeholder"],Ma={class:"form-help"},Na={class:"form-group"},Ua={class:"form-label"},La=["placeholder"],Va={class:"form-group"},qa={class:"form-label"},Fa={class:"template-toggle"},Oa={key:0,class:"template-selector"},Ba={value:""},Wa=["value"],ja={class:"form-help"},Ha={key:0,class:"form-group"},za={class:"time-info"},Ja={class:"time-label"},Ga={class:"time-value"},Xa={key:1,class:"form-group"},Ka={class:"time-info"},Qa={class:"time-label"},Ya={class:"time-value"},Za={class:"modal-footer"},el=["disabled"],tl=Ce({__name:"TaskDetailModal",props:{modelValue:{type:Boolean},task:{}},emits:["update:modelValue","save"],setup(w,{emit:n}){const s=w,u=n,T=D(!1),f=D([]),_=D({cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""});Se(async()=>{try{const o=await Ae.getAllPlanTemplates();o&&o.templates&&(f.value=o.templates.map(h=>({id:h.id,name:h.title||"Unnamed Template"})))}catch(o){console.error("Failed to get template list:",o)}});const F=o=>{o.target===o.currentTarget&&u("update:modelValue",!1)},$=()=>{_.value.linkTemplate=!1,_.value.templateId="",_.value.planTemplateId=""},B=()=>_.value.cronName.trim()?_.value.cronTime.trim()?Te.validateCronExpression(_.value.cronTime)?_.value.planDesc.trim()?_.value.linkTemplate&&!_.value.templateId?(alert("Please select a plan template"),!1):!0:(alert("Task description cannot be empty"),!1):(alert("Invalid Cron expression format, should be 5-6 parts separated by spaces"),!1):(alert("Cron expression cannot be empty"),!1):(alert("Task name cannot be empty"),!1),X=o=>Te.formatTime(o),G=async()=>{var o;if(B()){T.value=!0;try{const h={..._.value,...((o=s.task)==null?void 0:o.id)!==void 0&&{id:s.task.id},cronName:_.value.cronName.trim(),cronTime:_.value.cronTime.trim(),planDesc:_.value.planDesc.trim(),status:_.value.status,planTemplateId:_.value.linkTemplate&&_.value.templateId||""};u("save",h)}finally{T.value=!1}}};return $e(()=>s.task,o=>{if(o){const h=o.templateId||o.planTemplateId||"";_.value={cronName:o.cronName||"",cronTime:o.cronTime||"",planDesc:o.planDesc||"",status:o.status??1,linkTemplate:!!h,templateId:h,planTemplateId:h}}else _.value={cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""}},{immediate:!0}),$e(()=>s.modelValue,o=>{o||(_.value={cronName:"",cronTime:"",planDesc:"",status:1,linkTemplate:!1,templateId:"",planTemplateId:""})}),(o,h)=>(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>{var y,K,U;return[o.modelValue?(p(),g("div",{key:0,class:"modal-overlay",onClick:F},[e("div",{class:"modal-container",onClick:h[8]||(h[8]=ie(()=>{},["stop"]))},[e("div",$a,[e("h3",null,i(o.$t("cronTask.taskDetail")),1),e("div",Pa,[e("div",Ca,[e("span",Sa,i(o.$t("cronTask.taskStatus")),1),e("label",ya,[e("input",{type:"checkbox",checked:_.value.status===0,onChange:h[0]||(h[0]=V=>_.value.status=_.value.status===0?1:0)},null,40,Ea),h[9]||(h[9]=e("span",{class:"toggle-slider"},null,-1))])]),e("button",{class:"close-btn",onClick:h[1]||(h[1]=V=>o.$emit("update:modelValue",!1))},[b(l(P),{icon:"carbon:close"})])])]),e("div",wa,[e("form",{onSubmit:ie(G,["prevent"]),class:"task-form"},[e("div",Ta,[e("label",Ia,i(o.$t("cronTask.taskName")),1),de(e("input",{"onUpdate:modelValue":h[2]||(h[2]=V=>_.value.cronName=V),type:"text",class:"form-input",placeholder:o.$t("cronTask.taskNamePlaceholder"),required:""},null,8,Da),[[fe,_.value.cronName]])]),e("div",xa,[e("label",Ra,i(o.$t("cronTask.cronExpression")),1),de(e("input",{"onUpdate:modelValue":h[3]||(h[3]=V=>_.value.cronTime=V),type:"text",class:"form-input",placeholder:o.$t("cronTask.cronExpressionPlaceholder"),required:""},null,8,Aa),[[fe,_.value.cronTime]]),e("div",Ma,i(o.$t("cronTask.cronExpressionHelp")),1)]),e("div",Na,[e("label",Ua,i(o.$t("cronTask.taskDescription")),1),de(e("textarea",{"onUpdate:modelValue":h[4]||(h[4]=V=>_.value.planDesc=V),class:"form-textarea",placeholder:o.$t("cronTask.taskDescriptionPlaceholder"),rows:"4",required:""},null,8,La),[[fe,_.value.planDesc]])]),e("div",Va,[e("label",qa,i(o.$t("cronTask.planTemplate")),1),e("div",Fa,[e("button",{type:"button",class:te(["template-btn",_.value.linkTemplate?"active":""]),onClick:h[5]||(h[5]=V=>_.value.linkTemplate=!0)},[b(l(P),{icon:"carbon:checkmark"}),Y(" "+i(o.$t("cronTask.linkTemplate")),1)],2),e("button",{type:"button",class:te(["template-btn",_.value.linkTemplate?"":"active"]),onClick:$},[b(l(P),{icon:"carbon:close"}),Y(" "+i(o.$t("cronTask.noTemplate")),1)],2)]),_.value.linkTemplate?(p(),g("div",Oa,[de(e("select",{"onUpdate:modelValue":h[6]||(h[6]=V=>_.value.templateId=V),class:"form-select"},[e("option",Ba,i(o.$t("cronTask.selectTemplate")),1),(p(!0),g(ge,null,ve(f.value,V=>(p(),g("option",{key:V.id,value:V.id},i(V.name),9,Wa))),128))],512),[[ut,_.value.templateId]]),e("div",ja,i(o.$t("cronTask.templateHelpText")),1)])):q("",!0)]),(y=o.task)!=null&&y.createTime?(p(),g("div",Ha,[e("div",za,[e("span",Ja,i(o.$t("cronTask.createTime"))+":",1),e("span",Ga,i(X(o.task.createTime)),1)])])):q("",!0),(K=o.task)!=null&&K.updateTime?(p(),g("div",Xa,[e("div",Ka,[e("span",Qa,i(o.$t("cronTask.updateTime"))+":",1),e("span",Ya,i(X(o.task.updateTime)),1)])])):q("",!0)],32)]),e("div",Za,[e("button",{type:"button",class:"cancel-btn",onClick:h[7]||(h[7]=V=>o.$emit("update:modelValue",!1))},i(o.$t("common.cancel")),1),e("button",{type:"button",class:"save-btn",onClick:G,disabled:T.value},[T.value?(p(),ue(l(P),{key:0,icon:"carbon:loading",class:"loading-icon"})):q("",!0),Y(" "+i((U=s.task)!=null&&U.id?o.$t("common.save"):o.$t("common.create")),1)],8,el)])])])):q("",!0)]}),_:1})]))}}),nl=ye(tl,[["__scopeId","data-v-5b32448e"]]),sl={class:"modal-header"},ol={class:"header-actions"},al={class:"modal-content"},ll={key:0,class:"loading-container"},il={key:1,class:"empty-container"},cl={key:2,class:"task-list"},rl=["onClick"],ul={class:"task-main"},dl={class:"task-info"},pl={class:"task-header"},hl={class:"task-name"},gl={class:"task-description"},ml={class:"task-time"},vl=["onClick"],fl=["onClick","disabled","title"],bl=["onClick","title"],kl={class:"dropdown-menu"},_l=["onClick"],$l=["onClick","disabled"],Pl=["onClick","disabled"],Cl={class:"confirm-header"},Sl={class:"confirm-content"},yl={class:"confirm-actions"},El=["disabled"],wl={class:"confirm-header"},Tl={class:"confirm-content"},Il={class:"create-options"},Dl={class:"option-content"},xl={class:"option-title"},Rl={class:"option-desc"},Al={class:"option-content"},Ml={class:"option-title"},Nl={class:"option-desc"},Ul={class:"confirm-actions"},Ll=Ce({__name:"index",props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(w,{emit:n}){const s=lt(),u=it(),T=mt(),{t:f}=Ie(),_=w,x=n,F=D([]),$=D(!1),B=D(null),X=D(null),G=D(null),o=D(null),h=D(!1),y=D(null),K=D(!1),U=D(null),V=D(!1),O=c=>{c.target===c.currentTarget&&x("update:modelValue",!1)},Q=async()=>{$.value=!0;try{F.value=await we.getAllCronTasks()}catch(c){console.error("Failed to load cron tasks:",c),T.error(`Failed to load tasks: ${c instanceof Error?c.message:String(c)}`)}finally{$.value=!1}},ce=async c=>{B.value=c;try{const k=F.value.find(t=>t.id===c);if(!k){console.error("Task not found:",c);return}x("update:modelValue",!1);const I=Date.now().toString();await s.push({name:"direct",params:{id:I}}),await new Promise(t=>setTimeout(t,100));const a=Te.prepareTaskExecution(k);a.useTemplate&&a.planData?u.emitPlanExecutionRequested(a.planData):a.taskContent&&u.setTask(a.taskContent)}catch(k){console.error("Failed to execute task:",k),T.error(`Execution failed: ${k instanceof Error?k.message:String(k)}`)}finally{B.value=null}},be=c=>{y.value={...c},h.value=!0,o.value=null},C=async c=>{try{await Te.saveTask(c),await Q(),h.value=!1,T.success("Task saved successfully")}catch(k){console.error("Failed to save task:",k),T.error(`Save failed: ${k instanceof Error?k.message:String(k)}`)}},S=c=>{U.value=c,K.value=!0},L=async()=>{var c;if((c=U.value)!=null&&c.id){X.value=U.value.id;try{await Te.deleteTask(U.value.id),await Q(),K.value=!1,U.value=null,T.success("Task deleted successfully")}catch(k){console.error("Failed to delete task:",k),T.error(`Delete failed: ${k instanceof Error?k.message:String(k)}`)}finally{X.value=null}}},R=()=>{K.value=!1,U.value=null},E=c=>{o.value=o.value===c?null:c},A=async c=>{if(c.id){G.value=c.id;try{await Te.toggleTaskStatus(c),await Q(),o.value=null,T.success(`Task ${c.status===0?"disabled":"enabled"} successfully`)}catch(k){console.error("Failed to toggle task status:",k),T.error(`Status toggle failed: ${k instanceof Error?k.message:String(k)}`)}finally{G.value=null}}},ee=async c=>{try{await navigator.clipboard.writeText(c),T.success("Cron expression copied successfully")}catch(k){T.error(`Copy failed: ${k instanceof Error?k.message:String(k)}`)}},se=()=>{V.value=!0},me=()=>{V.value=!1;try{x("update:modelValue",!1);const c=f("cronTask.template");u.setTaskToInput(c);const k=Date.now().toString();s.push({name:"direct",params:{id:k}})}catch(c){console.error("Error in createWithJmanus:",c),T.error(`Creation failed: ${c instanceof Error?c.message:String(c)}`)}},ke=()=>{V.value=!1,y.value={cronName:"",cronTime:"",planDesc:"",status:0,planTemplateId:""},h.value=!0},re=()=>{V.value=!1},v=c=>{const k=c.target;!k.closest(".action-dropdown")&&!k.closest(".dropdown-menu")&&(o.value=null)};return Se(()=>{document.addEventListener("click",v,!0)}),De(()=>{document.removeEventListener("click",v,!0)}),$e(()=>_.modelValue,c=>{c&&Q()}),(c,k)=>(p(),g(ge,null,[(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>[w.modelValue?(p(),g("div",{key:0,class:"modal-overlay",onClick:O},[e("div",{class:"modal-container",onClick:k[3]||(k[3]=ie(()=>{},["stop"]))},[e("div",sl,[e("h3",null,i(c.$t("cronTask.title")),1),e("div",ol,[e("button",{class:"add-task-btn",onClick:[se,k[0]||(k[0]=ie(()=>{},["stop"]))]},[b(l(P),{icon:"carbon:add"}),Y(" "+i(c.$t("cronTask.addTask")),1)]),e("button",{class:"close-btn",onClick:k[1]||(k[1]=I=>c.$emit("update:modelValue",!1))},[b(l(P),{icon:"carbon:close"})])])]),e("div",al,[$.value?(p(),g("div",ll,[b(l(P),{icon:"carbon:loading",class:"loading-icon"}),e("span",null,i(c.$t("common.loading")),1)])):F.value.length===0?(p(),g("div",il,[b(l(P),{icon:"carbon:time",class:"empty-icon"}),e("span",null,i(c.$t("cronTask.noTasks")),1)])):(p(),g("div",cl,[(p(!0),g(ge,null,ve(F.value,I=>(p(),g("div",{key:I.id||"",class:"task-item",onClick:a=>be(I)},[e("div",ul,[e("div",dl,[e("div",pl,[e("div",hl,i(I.cronName),1),e("div",{class:te(["task-status-badge",I.status===0?"active":"inactive"])},[b(l(P),{icon:I.status===0?"carbon:checkmark-filled":"carbon:pause-filled"},null,8,["icon"]),e("span",null,i(I.status===0?c.$t("cronTask.active"):c.$t("cronTask.inactive")),1)],2)]),e("div",gl,i(I.planDesc),1),e("div",ml,[b(l(P),{icon:"carbon:time"}),e("span",{class:"cron-readable",style:{cursor:"pointer"},onClick:ie(a=>ee(I.cronTime),["stop"])},i(I.cronTime),9,vl)])])]),e("div",{class:"task-actions",onClick:k[2]||(k[2]=ie(()=>{},["stop"]))},[e("button",{class:"action-btn execute-btn",onClick:a=>ce(I.id),disabled:B.value===I.id,title:c.$t("cronTask.executeOnce")},[b(l(P),{icon:B.value===I.id?"carbon:loading":"carbon:play-filled"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.executeOnce")),1)],8,fl),e("div",{class:te(["action-dropdown",{active:o.value===I.id}])},[e("button",{class:"action-btn dropdown-btn",onClick:a=>E(I.id),title:c.$t("cronTask.operations")},[b(l(P),{icon:"carbon:overflow-menu-horizontal"}),Y(" "+i(c.$t("cronTask.operations")),1)],8,bl),de(e("div",kl,[e("button",{class:"dropdown-item edit-btn",onClick:a=>be(I)},[b(l(P),{icon:"carbon:edit"}),Y(" "+i(c.$t("cronTask.edit")),1)],8,_l),e("button",{class:"dropdown-item toggle-btn",onClick:a=>A(I),disabled:G.value===I.id},[b(l(P),{icon:G.value===I.id?"carbon:loading":I.status===0?"carbon:pause-filled":"carbon:play-filled"},null,8,["icon"]),Y(" "+i(I.status===0?c.$t("cronTask.disable"):c.$t("cronTask.enable")),1)],8,$l),e("button",{class:"dropdown-item delete-btn",onClick:a=>S(I),disabled:X.value===I.id},[b(l(P),{icon:X.value===I.id?"carbon:loading":"carbon:trash-can"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.delete")),1)],8,Pl)],512),[[dt,o.value===I.id]])],2)])],8,rl))),128))]))])])])):q("",!0)]),_:1})])),b(nl,{modelValue:h.value,"onUpdate:modelValue":k[4]||(k[4]=I=>h.value=I),task:y.value,onSave:C},null,8,["modelValue","task"]),(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>{var I,a,t,r;return[K.value?(p(),g("div",{key:0,class:"modal-overlay",onClick:R},[e("div",{class:"confirm-modal",onClick:k[5]||(k[5]=ie(()=>{},["stop"]))},[e("div",Cl,[b(l(P),{icon:"carbon:warning",class:"warning-icon"}),e("h3",null,i(c.$t("cronTask.deleteConfirm")),1)]),e("div",Sl,[e("p",null,i(c.$t("cronTask.deleteConfirmMessage",{taskName:((I=U.value)==null?void 0:I.cronName)||((a=U.value)==null?void 0:a.planDesc)||""})),1)]),e("div",yl,[e("button",{class:"confirm-btn cancel-btn",onClick:R},i(c.$t("common.cancel")),1),e("button",{class:"confirm-btn delete-btn",onClick:L,disabled:X.value===((t=U.value)==null?void 0:t.id)},[b(l(P),{icon:X.value===((r=U.value)==null?void 0:r.id)?"carbon:loading":"carbon:trash-can"},null,8,["icon"]),Y(" "+i(c.$t("cronTask.delete")),1)],8,El)])])])):q("",!0)]}),_:1})])),(p(),ue(Ne,{to:"body"},[b(xe,{name:"modal"},{default:Re(()=>[V.value?(p(),g("div",{key:0,class:"modal-overlay",onClick:re},[e("div",{class:"confirm-modal create-options-modal",onClick:k[6]||(k[6]=ie(()=>{},["stop"]))},[e("div",wl,[b(l(P),{icon:"carbon:time",class:"create-icon"}),e("h3",null,i(c.$t("cronTask.createTask")),1)]),e("div",Tl,[e("p",null,i(c.$t("cronTask.selectCreateMethod")),1),e("div",Il,[e("button",{class:"create-option-btn jmanus-btn",onClick:me},[b(l(P),{icon:"carbon:ai-status"}),e("div",Dl,[e("span",xl,i(c.$t("cronTask.createWithJmanus")),1),e("span",Rl,i(c.$t("cronTask.createWithJmanusDesc")),1)])]),e("button",{class:"create-option-btn manual-btn",onClick:ke},[b(l(P),{icon:"carbon:edit"}),e("div",Al,[e("span",Ml,i(c.$t("cronTask.createManually")),1),e("span",Nl,i(c.$t("cronTask.createManuallyDesc")),1)])])])]),e("div",Ul,[e("button",{class:"confirm-btn cancel-btn",onClick:re},i(c.$t("common.cancel")),1)])])])):q("",!0)]),_:1})]))],64))}}),Vl=ye(Ll,[["__scopeId","data-v-f31a9ce7"]]),ql={class:"direct-page"},Fl={class:"direct-chat"},Ol={class:"chat-header"},Bl={class:"header-actions"},Wl=["title"],jl=["title"],Hl={class:"chat-content"},zl=["title"],Jl={class:"message-content"},Gl=Ce({__name:"index",setup(w){const n=pt(),s=lt(),u=it(),{t:T}=Ie(),{message:f}=vt(),_=D(""),x=D(""),F=D(),$=D(),B=D(),X=D(!1),G=D(!1),o=D(null),h=D(!1),y=D(50),K=D(!1),U=D(0),V=D(0);Se(()=>{if(console.log("[Direct] onMounted called"),console.log("[Direct] taskStore.currentTask:",u.currentTask),console.log("[Direct] taskStore.hasUnprocessedTask():",u.hasUnprocessedTask()),oe.setEventCallbacks({onPlanUpdate:c=>{console.log("[Direct] Plan update event received for rootPlanId:",c),C(c)&&(console.log("[Direct] Processing plan update for current rootPlanId:",c),$.value&&typeof $.value.handlePlanUpdate=="function"?(console.log("[Direct] Calling chatRef.handlePlanUpdate with rootPlanId:",c),$.value.handlePlanUpdate(c)):console.warn("[Direct] chatRef.handlePlanUpdate method not available"),F.value&&typeof F.value.updateDisplayedPlanProgress=="function"?(console.log("[Direct] Calling rightPanelRef.updateDisplayedPlanProgress with rootPlanId:",c),F.value.updateDisplayedPlanProgress(c)):console.warn("[Direct] rightPanelRef.updateDisplayedPlanProgress method not available"))},onPlanCompleted:c=>{if(console.log("[Direct] Plan completed event received for rootPlanId:",c),!!C(c)){if(console.log("[Direct] Processing plan completion for current rootPlanId:",c),$.value&&typeof $.value.handlePlanCompleted=="function"){const k=oe.getCachedPlanRecord(c);console.log("[Direct] Calling chatRef.handlePlanCompleted with details:",k),$.value.handlePlanCompleted(k??{planId:c})}else console.warn("[Direct] chatRef.handlePlanCompleted method not available");o.value=null,console.log("[Direct] Cleared currentRootPlanId after plan completion")}},onDialogRoundStart:c=>{console.log("[Direct] Dialog round start event received for rootPlanId:",c),o.value=c,console.log("[Direct] Set currentRootPlanId to:",c),$.value&&typeof $.value.handleDialogRoundStart=="function"?(console.log("[Direct] Calling chatRef.handleDialogRoundStart with planId:",c),$.value.handleDialogRoundStart(c)):console.warn("[Direct] chatRef.handleDialogRoundStart method not available")},onChatInputClear:()=>{console.log("[Direct] Chat input clear event received"),L()},onChatInputUpdateState:c=>{if(console.log("[Direct] Chat input update state event received for rootPlanId:",c),!C(c,!0))return;const k=oe.getCachedUIState(c);k&&E(k.enabled,k.placeholder)},onPlanError:c=>{$.value.handlePlanError(c)}}),console.log("[Direct] Event callbacks registered to planExecutionManager"),m.loadPlanTemplateList(),u.hasUnprocessedTask()&&u.currentTask){const c=u.currentTask.prompt;console.log("[Direct] Found unprocessed task from store:",c),u.markTaskAsProcessed(),ne(()=>{$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[Direct] Directly executing task via chatRef.handleSendMessage:",c),$.value.handleSendMessage(c)):(console.warn("[Direct] chatRef.handleSendMessage method not available, falling back to prompt"),_.value=c)})}else{const c=u.getAndClearTaskToInput();c?(x.value=c,console.log("[Direct] Setting inputOnlyContent for input only:",x.value)):(_.value=n.query.prompt||"",console.log("[Direct] Received task from URL:",_.value),console.log("[Direct] No unprocessed task in store"))}const v=localStorage.getItem("directPanelWidth");v&&(y.value=parseFloat(v)),console.log("[Direct] Final prompt value:",_.value),x.value&&ne(()=>{B.value&&typeof B.value.setInputValue=="function"&&(B.value.setInputValue(x.value),console.log("[Direct] Set input value:",x.value),x.value="")}),window.addEventListener("plan-execution-requested",c=>{console.log("[DirectView] Received plan-execution-requested event:",c.detail),re(c.detail)})}),$e(()=>u.currentTask,v=>{if(console.log("[Direct] Watch taskStore.currentTask triggered, newTask:",v),v&&!v.processed){const c=v.prompt;u.markTaskAsProcessed(),console.log("[Direct] Received new task from store:",c),ne(()=>{$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[Direct] Directly executing new task via chatRef.handleSendMessage:",c),$.value.handleSendMessage(c)):console.warn("[Direct] chatRef.handleSendMessage method not available for new task")})}else console.log("[Direct] Task is null or already processed, ignoring")},{immediate:!1}),$e(()=>_.value,(v,c)=>{console.log("[Direct] prompt value changed from:",c,"to:",v)},{immediate:!1}),$e(()=>u.taskToInput,v=>{console.log("[Direct] Watch taskStore.taskToInput triggered, newTaskToInput:",v),v&&v.trim()&&(console.log("[Direct] Setting input value from taskToInput:",v),ne(()=>{B.value&&typeof B.value.setInputValue=="function"&&(B.value.setInputValue(v.trim()),console.log("[Direct] Input value set from taskToInput watch:",v.trim()),u.getAndClearTaskToInput())}))},{immediate:!1}),De(()=>{console.log("[Direct] onUnmounted called, cleaning up resources"),o.value=null,oe.cleanup(),document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ce),window.removeEventListener("plan-execution-requested",v=>{re(v.detail)})});const O=v=>{K.value=!0,U.value=v.clientX,V.value=y.value,document.addEventListener("mousemove",Q),document.addEventListener("mouseup",ce),document.body.style.cursor="col-resize",document.body.style.userSelect="none",v.preventDefault()},Q=v=>{if(!K.value)return;const c=window.innerWidth,I=(v.clientX-U.value)/c*100;let a=V.value+I;a=Math.max(20,Math.min(80,a)),y.value=a},ce=()=>{K.value=!1,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ce),document.body.style.cursor="",document.body.style.userSelect="",localStorage.setItem("directPanelWidth",y.value.toString())},be=()=>{y.value=50,localStorage.setItem("directPanelWidth","50")},C=(v,c=!1)=>!o.value||v===o.value||c&&(v==="ui-state"||v==="error")?!0:(console.log("[Direct] Ignoring event for non-current rootPlanId:",v,"current:",o.value),!1),S=v=>{console.log("[DirectView] Send message from input:",v),$.value&&typeof $.value.handleSendMessage=="function"?(console.log("[DirectView] Calling chatRef.handleSendMessage:",v),$.value.handleSendMessage(v)):console.warn("[DirectView] chatRef.handleSendMessage method not available")},L=()=>{console.log("[DirectView] Input cleared"),B.value&&typeof B.value.clear=="function"&&B.value.clear()},R=()=>{console.log("[DirectView] Input focused")},E=(v,c)=>{console.log("[DirectView] Input state updated:",v,c),G.value=!v},A=(v,c)=>{console.log("[DirectView] Step selected:",v,c),F.value&&typeof F.value.handleStepSelected=="function"?(console.log("[DirectView] Forwarding step selection to right panel:",v,c),F.value.handleStepSelected(v,c)):console.warn("[DirectView] rightPanelRef.handleStepSelected method not available")},ee=(v,c,k,I)=>{console.log("[DirectView] Sub plan step selected:",{parentPlanId:v,subPlanId:c,stepIndex:k,subStepIndex:I}),F.value&&typeof F.value.handleSubPlanStepSelected=="function"?(console.log("[DirectView] Forwarding sub plan step selection to right panel:",{parentPlanId:v,subPlanId:c,stepIndex:k,subStepIndex:I}),F.value.handleSubPlanStepSelected(v,c,k,I)):console.warn("[DirectView] rightPanelRef.handleSubPlanStepSelected method not available")},se=()=>{console.log("[DirectView] Plan mode button clicked"),m.toggleSidebar(),console.log("[DirectView] Sidebar toggled, isCollapsed:",m.isCollapsed)},me=()=>{s.push("/home")},ke=()=>{s.push("/configs")},re=async v=>{var k,I,a,t;if(console.log("[DirectView] Plan execution requested:",v),X.value){console.log("[DirectView] Plan execution already in progress, ignoring request");return}X.value=!0;let c=!1;$.value&&typeof $.value.addMessage=="function"?(console.log("[DirectView] Calling chatRef.addMessage for plan execution:",v.title),$.value.addMessage("user",v.title),c=!0):console.warn("[DirectView] chatRef.addMessage method not available");try{const r=((k=v.planData)==null?void 0:k.planTemplateId)||((I=v.planData)==null?void 0:I.id)||((a=v.planData)==null?void 0:a.planId);if(!r)throw new Error("没有找到计划模板ID");console.log("[Direct] Executing plan with templateId:",r,"params:",v.params),console.log("[Direct] About to call PlanActApiService.executePlan");let d;if((t=v.params)!=null&&t.trim()?(console.log("[Direct] Calling executePlan with params:",v.params.trim()),d=await Ae.executePlan(r,v.params.trim())):(console.log("[Direct] Calling executePlan without params"),d=await Ae.executePlan(r)),console.log("[Direct] Plan execution API response:",d),d.planId)console.log("[Direct] Got planId from response:",d.planId,"starting plan execution"),o.value=d.planId,console.log("[Direct] Set currentRootPlanId to:",d.planId),console.log("[Direct] Delegating plan execution to planExecutionManager"),oe.handlePlanExecutionRequested(d.planId,v.title);else throw console.error("[Direct] No planId in response:",d),new Error("执行计划失败:未返回有效的计划ID")}catch(r){console.error("[Direct] Plan execution failed:",r),console.error("[Direct] Error details:",{message:r.message,stack:r.stack}),o.value=null,$.value&&typeof $.value.addMessage=="function"?(console.log("[Direct] Adding error messages to chat"),c||$.value.addMessage("user",v.title),$.value.addMessage("assistant",`执行计划失败: ${r.message||"未知错误"}`,{thinking:void 0})):(console.error("[Direct] Chat ref not available, showing alert"),alert(`执行计划失败: ${r.message||"未知错误"}`))}finally{console.log("[Direct] Plan execution finished, resetting isExecutingPlan flag"),X.value=!1}};return(v,c)=>(p(),g("div",ql,[e("div",Fl,[b(fn,{onPlanExecutionRequested:re}),e("div",{class:"left-panel",style:Ue({width:y.value+"%"})},[e("div",Ol,[e("button",{class:"back-button",onClick:me},[b(l(P),{icon:"carbon:arrow-left"})]),e("h2",null,i(v.$t("conversation")),1),e("div",Bl,[b(gt),e("button",{class:"config-button",onClick:ke,title:v.$t("direct.configuration")},[b(l(P),{icon:"carbon:settings-adjust",width:"20"})],8,Wl),e("button",{class:"cron-task-btn",onClick:c[0]||(c[0]=k=>h.value=!0),title:v.$t("cronTask.title")},[b(l(P),{icon:"carbon:alarm",width:"20"})],8,jl)])]),e("div",Hl,[b(pa,{ref_key:"chatRef",ref:$,mode:"direct","initial-prompt":_.value||"",onStepSelected:A,onSubPlanStepSelected:ee},null,8,["initial-prompt"])]),(p(),ue(_a,{key:v.$i18n.locale,ref_key:"inputRef",ref:B,disabled:G.value,placeholder:G.value?l(T)("input.waiting"):l(T)("input.placeholder"),"initial-value":_.value,onSend:S,onClear:L,onFocus:R,onUpdateState:E,onPlanModeClicked:se},null,8,["disabled","placeholder","initial-value"]))],4),e("div",{class:"panel-resizer",onMousedown:O,onDblclick:be,title:v.$t("direct.panelResizeHint")},c[2]||(c[2]=[e("div",{class:"resizer-line"},null,-1)]),40,zl),b(As,{ref_key:"rightPanelRef",ref:F,style:Ue({width:100-y.value+"%"})},null,8,["style"])]),b(Vl,{modelValue:h.value,"onUpdate:modelValue":c[1]||(c[1]=k=>h.value=k)},null,8,["modelValue"]),l(f).show?(p(),g("div",{key:0,class:te(["message-toast",l(f).type])},[e("div",Jl,[e("span",null,i(l(f).text),1)])],2)):q("",!0)]))}}),si=ye(Gl,[["__scopeId","data-v-ea79c7eb"]]);export{si as default}; diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Bod2l4oy.js b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Clz_zCtn.js similarity index 96% rename from spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Bod2l4oy.js rename to spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Clz_zCtn.js index 9d1a898875..615e07f9ec 100644 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Bod2l4oy.js +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Clz_zCtn.js @@ -1 +1 @@ -import{d as q,u as T,r as f,c as A,o as I,L as R,a as u,b as c,e,f as m,g as k,t,n as g,w as p,v as y,h as z,i as b,j as h,k as U,T as K,F as P,l as E,m as F,p as O}from"./index-B-dUWZe2.js";import{L as j}from"./llm-check-D2idVWhZ.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H={class:"init-container"},J={class:"init-card"},G={class:"init-header"},Q={class:"description"},W={class:"step-indicator"},X={class:"step-label"},Y={class:"step-label"},Z={key:0,class:"init-form language-selection"},x={class:"form-group"},ee={class:"form-label"},se={class:"language-options"},ae={class:"form-actions single"},le=["disabled"],te={key:1,class:"init-form"},oe={class:"form-group"},ie={class:"form-label"},ne={class:"config-mode-selection"},de={class:"radio-text"},re={class:"radio-text"},ue={key:0,class:"form-group"},ce={for:"apiKey",class:"form-label"},pe=["placeholder","disabled"],me={class:"form-hint"},ve={href:"https://bailian.console.aliyun.com/?tab=model#/api-key",target:"_blank",class:"help-link"},fe={key:1,class:"custom-config-section"},ge={class:"form-group"},be={for:"baseUrl",class:"form-label"},he=["placeholder","disabled"],ye={class:"form-hint"},_e={class:"form-group"},Ne={for:"customApiKey",class:"form-label"},$e=["placeholder","disabled"],Me={class:"form-group"},ke={for:"modelName",class:"form-label"},Ue=["placeholder","disabled"],Ke={class:"form-hint"},Le={class:"form-group"},Se={for:"modelDisplayName",class:"form-label"},we=["placeholder","disabled"],Ce={class:"form-actions"},De=["disabled"],Ve=["disabled"],qe={key:0,class:"loading-spinner"},Te={key:0,class:"error-message"},Ae={key:0,class:"success-message"},Ie={class:"background-animation"},Re=q({__name:"index",setup(ze){const{t:v,locale:N}=T(),_=O(),n=f(1),d=f(N.value||"en"),l=f({configMode:"dashscope",apiKey:"",baseUrl:"",modelName:"",modelDisplayName:""}),i=f(!1),r=f(""),$=f(!1),L=A(()=>l.value.apiKey.trim()?l.value.configMode==="custom"?l.value.baseUrl.trim()&&l.value.modelName.trim():!0:!1),S=async()=>{if(d.value)try{i.value=!0,await F(d.value),n.value=2}catch(s){console.warn("Failed to switch language:",s),n.value=2}finally{i.value=!1}},w=()=>{n.value=1},M=()=>{l.value.apiKey="",l.value.baseUrl="",l.value.modelName="",l.value.modelDisplayName="",r.value=""},C=()=>{if(!l.value.apiKey.trim())return r.value=v("init.apiKeyRequired"),!1;if(l.value.configMode==="custom"){if(!l.value.baseUrl.trim())return r.value=v("init.baseUrlRequired"),!1;if(!l.value.modelName.trim())return r.value=v("init.modelNameRequired"),!1}return!0},D=async()=>{if(C())try{i.value=!0,r.value="";const s={configMode:l.value.configMode,apiKey:l.value.apiKey.trim()};l.value.configMode==="custom"&&(s.baseUrl=l.value.baseUrl.trim(),s.modelName=l.value.modelName.trim(),s.modelDisplayName=l.value.modelDisplayName.trim()||l.value.modelName.trim());const o=await(await fetch("/api/init/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})).json();o.success?($.value=!0,localStorage.setItem("hasInitialized","true"),localStorage.setItem("hasVisitedHome","true"),j.clearCache(),o.requiresRestart?setTimeout(()=>{confirm(v("init.restartRequired"))?window.location.reload():_.push("/home")},2e3):setTimeout(()=>{_.push("/home")},2e3)):r.value=o.error||v("init.saveFailed")}catch(s){console.error("Save config failed:",s),r.value=v("init.networkError")}finally{i.value=!1}},V=async()=>{try{const a=await(await fetch("/api/init/status")).json();a.success&&a.initialized&&(localStorage.setItem("hasInitialized","true"),_.push("/home"))}catch(s){console.error("Check init status failed:",s)}};return I(()=>{const s=localStorage.getItem(R);s&&(s==="zh"||s==="en")&&(d.value=s,N.value=s),V()}),(s,a)=>(c(),u("div",H,[e("div",J,[e("div",G,[a[9]||(a[9]=e("div",{class:"logo"},[e("h1",null,"🤖 JManus")],-1)),e("h2",null,t(n.value===1?s.$t("init.welcomeStep"):s.$t("init.welcome")),1),e("p",Q,t(n.value===1?s.$t("init.languageStepDescription"):s.$t("init.description")),1)]),e("div",W,[e("div",{class:g(["step",{active:n.value>=1,completed:n.value>1}])},[a[10]||(a[10]=e("span",{class:"step-number"},"1",-1)),e("span",X,t(s.$t("init.stepLanguage")),1)],2),a[12]||(a[12]=e("div",{class:"step-divider"},null,-1)),e("div",{class:g(["step",{active:n.value>=2,completed:n.value>2}])},[a[11]||(a[11]=e("span",{class:"step-number"},"2",-1)),e("span",Y,t(s.$t("init.stepModel")),1)],2)]),n.value===1?(c(),u("div",Z,[e("div",x,[e("label",ee,t(s.$t("init.selectLanguageLabel")),1),e("div",se,[e("label",{class:g(["language-option",{active:d.value==="zh"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[0]||(a[0]=o=>d.value=o),value:"zh"},null,512),[[y,d.value]]),a[13]||(a[13]=e("span",{class:"language-content"},[e("span",{class:"language-flag"},"🇨🇳"),e("span",{class:"language-text"},[e("strong",null,"中文"),e("small",null,"简体中文")])],-1))],2),e("label",{class:g(["language-option",{active:d.value==="en"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[1]||(a[1]=o=>d.value=o),value:"en"},null,512),[[y,d.value]]),a[14]||(a[14]=e("span",{class:"language-content"},[e("span",{class:"language-flag"},"🇺🇸"),e("span",{class:"language-text"},[e("strong",null,"English"),e("small",null,"English (US)")])],-1))],2)])]),e("div",ae,[e("button",{type:"button",class:"submit-btn",disabled:!d.value,onClick:S},t(s.$t("init.continueToModel")),9,le)])])):m("",!0),n.value===2?(c(),u("div",te,[e("form",{onSubmit:z(D,["prevent"])},[e("div",oe,[e("label",ie,t(s.$t("init.configModeLabel")),1),e("div",ne,[e("label",{class:g(["radio-option",{active:l.value.configMode==="dashscope"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[2]||(a[2]=o=>l.value.configMode=o),value:"dashscope",onChange:M},null,544),[[y,l.value.configMode]]),e("span",de,[e("strong",null,t(s.$t("init.dashscopeMode")),1),e("small",null,t(s.$t("init.dashscopeModeDesc")),1)])],2),e("label",{class:g(["radio-option",{active:l.value.configMode==="custom"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[3]||(a[3]=o=>l.value.configMode=o),value:"custom",onChange:M},null,544),[[y,l.value.configMode]]),e("span",re,[e("strong",null,t(s.$t("init.customMode")),1),e("small",null,t(s.$t("init.customModeDesc")),1)])],2)])]),l.value.configMode==="dashscope"?(c(),u("div",ue,[e("label",ce,[b(t(s.$t("init.apiKeyLabel"))+" ",1),a[15]||(a[15]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"apiKey","onUpdate:modelValue":a[4]||(a[4]=o=>l.value.apiKey=o),type:"password",class:"form-input",placeholder:s.$t("init.apiKeyPlaceholder"),disabled:i.value,required:""},null,8,pe),[[h,l.value.apiKey]]),e("div",me,[b(t(s.$t("init.apiKeyHint"))+" ",1),e("a",ve,t(s.$t("init.getApiKey")),1)])])):m("",!0),l.value.configMode==="custom"?(c(),u("div",fe,[e("div",ge,[e("label",be,[b(t(s.$t("init.baseUrlLabel"))+" ",1),a[16]||(a[16]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"baseUrl","onUpdate:modelValue":a[5]||(a[5]=o=>l.value.baseUrl=o),type:"url",class:"form-input",placeholder:s.$t("init.baseUrlPlaceholder"),disabled:i.value,required:""},null,8,he),[[h,l.value.baseUrl]]),e("div",ye,t(s.$t("init.baseUrlHint")),1)]),e("div",_e,[e("label",Ne,[b(t(s.$t("init.customApiKeyLabel"))+" ",1),a[17]||(a[17]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"customApiKey","onUpdate:modelValue":a[6]||(a[6]=o=>l.value.apiKey=o),type:"password",class:"form-input",placeholder:s.$t("init.customApiKeyPlaceholder"),disabled:i.value,required:""},null,8,$e),[[h,l.value.apiKey]])]),e("div",Me,[e("label",ke,[b(t(s.$t("init.modelNameLabel"))+" ",1),a[18]||(a[18]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"modelName","onUpdate:modelValue":a[7]||(a[7]=o=>l.value.modelName=o),type:"text",class:"form-input",placeholder:s.$t("init.modelNamePlaceholder"),disabled:i.value,required:""},null,8,Ue),[[h,l.value.modelName]]),e("div",Ke,t(s.$t("init.modelNameHint")),1)]),e("div",Le,[e("label",Se,t(s.$t("init.modelDisplayNameLabel")),1),p(e("input",{id:"modelDisplayName","onUpdate:modelValue":a[8]||(a[8]=o=>l.value.modelDisplayName=o),type:"text",class:"form-input",placeholder:s.$t("init.modelDisplayNamePlaceholder"),disabled:i.value},null,8,we),[[h,l.value.modelDisplayName]])])])):m("",!0),e("div",Ce,[e("button",{type:"button",class:"back-btn",onClick:w,disabled:i.value},t(s.$t("init.back")),9,De),e("button",{type:"submit",class:"submit-btn",disabled:i.value||!L.value},[i.value?(c(),u("span",qe)):m("",!0),b(" "+t(i.value?s.$t("init.saving"):s.$t("init.saveAndContinue")),1)],8,Ve)])],32)])):m("",!0),k(K,{name:"error-fade"},{default:U(()=>[r.value?(c(),u("div",Te,t(r.value),1)):m("",!0)]),_:1}),k(K,{name:"success-fade"},{default:U(()=>[$.value?(c(),u("div",Ae,t(s.$t("init.successMessage")),1)):m("",!0)]),_:1})]),e("div",Ie,[(c(),u(P,null,E(6,o=>e("div",{class:"floating-shape",key:o})),64))]),a[19]||(a[19]=e("div",{class:"background-effects"},[e("div",{class:"gradient-orb orb-1"}),e("div",{class:"gradient-orb orb-2"}),e("div",{class:"gradient-orb orb-3"})],-1))]))}}),Oe=B(Re,[["__scopeId","data-v-4a70901c"]]);export{Oe as default}; +import{d as q,u as T,r as f,c as A,o as I,L as R,a as u,b as c,e,f as m,g as k,t,n as g,w as p,v as y,h as z,i as b,j as h,k as U,T as K,F as P,l as E,m as F,p as O}from"./index-SarmArA2.js";import{L as j}from"./llm-check-D2idVWhZ.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H={class:"init-container"},J={class:"init-card"},G={class:"init-header"},W={class:"description"},Q={class:"step-indicator"},X={class:"step-label"},Y={class:"step-label"},Z={key:0,class:"init-form language-selection"},x={class:"form-group"},ee={class:"form-label"},se={class:"language-options"},ae={class:"form-actions single"},le=["disabled"],te={key:1,class:"init-form"},oe={class:"form-group"},ie={class:"form-label"},ne={class:"config-mode-selection"},de={class:"radio-text"},re={class:"radio-text"},ue={key:0,class:"form-group"},ce={for:"apiKey",class:"form-label"},pe=["placeholder","disabled"],me={class:"form-hint"},ve={href:"https://bailian.console.aliyun.com/?tab=model#/api-key",target:"_blank",class:"help-link"},fe={key:1,class:"custom-config-section"},ge={class:"form-group"},be={for:"baseUrl",class:"form-label"},he=["placeholder","disabled"],ye={class:"form-hint"},_e={class:"form-group"},Ne={for:"customApiKey",class:"form-label"},$e=["placeholder","disabled"],Me={class:"form-group"},ke={for:"modelName",class:"form-label"},Ue=["placeholder","disabled"],Ke={class:"form-hint"},Le={class:"form-group"},Se={for:"modelDisplayName",class:"form-label"},we=["placeholder","disabled"],Ce={class:"form-actions"},De=["disabled"],Ve=["disabled"],qe={key:0,class:"loading-spinner"},Te={key:0,class:"error-message"},Ae={key:0,class:"success-message"},Ie={class:"background-animation"},Re=q({__name:"index",setup(ze){const{t:v,locale:N}=T(),_=O(),n=f(1),d=f(N.value||"en"),l=f({configMode:"dashscope",apiKey:"",baseUrl:"",modelName:"",modelDisplayName:""}),i=f(!1),r=f(""),$=f(!1),L=A(()=>l.value.apiKey.trim()?l.value.configMode==="custom"?l.value.baseUrl.trim()&&l.value.modelName.trim():!0:!1),S=async()=>{if(d.value)try{i.value=!0,await F(d.value),n.value=2}catch(s){console.warn("Failed to switch language:",s),n.value=2}finally{i.value=!1}},w=()=>{n.value=1},M=()=>{l.value.apiKey="",l.value.baseUrl="",l.value.modelName="",l.value.modelDisplayName="",r.value=""},C=()=>{if(!l.value.apiKey.trim())return r.value=v("init.apiKeyRequired"),!1;if(l.value.configMode==="custom"){if(!l.value.baseUrl.trim())return r.value=v("init.baseUrlRequired"),!1;if(!l.value.modelName.trim())return r.value=v("init.modelNameRequired"),!1}return!0},D=async()=>{if(C())try{i.value=!0,r.value="";const s={configMode:l.value.configMode,apiKey:l.value.apiKey.trim()};l.value.configMode==="custom"&&(s.baseUrl=l.value.baseUrl.trim(),s.modelName=l.value.modelName.trim(),s.modelDisplayName=l.value.modelDisplayName.trim()||l.value.modelName.trim());const o=await(await fetch("/api/init/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})).json();o.success?($.value=!0,localStorage.setItem("hasInitialized","true"),localStorage.setItem("hasVisitedHome","true"),j.clearCache(),o.requiresRestart?setTimeout(()=>{confirm(v("init.restartRequired"))?window.location.reload():_.push("/home")},2e3):setTimeout(()=>{_.push("/home")},2e3)):r.value=o.error||v("init.saveFailed")}catch(s){console.error("Save config failed:",s),r.value=v("init.networkError")}finally{i.value=!1}},V=async()=>{try{const a=await(await fetch("/api/init/status")).json();a.success&&a.initialized&&(localStorage.setItem("hasInitialized","true"),_.push("/home"))}catch(s){console.error("Check init status failed:",s)}};return I(()=>{const s=localStorage.getItem(R);s&&(s==="zh"||s==="en")&&(d.value=s,N.value=s),V()}),(s,a)=>(c(),u("div",H,[e("div",J,[e("div",G,[a[9]||(a[9]=e("div",{class:"logo"},[e("h1",null,"🤖 JManus")],-1)),e("h2",null,t(n.value===1?s.$t("init.welcomeStep"):s.$t("init.welcome")),1),e("p",W,t(n.value===1?s.$t("init.languageStepDescription"):s.$t("init.description")),1)]),e("div",Q,[e("div",{class:g(["step",{active:n.value>=1,completed:n.value>1}])},[a[10]||(a[10]=e("span",{class:"step-number"},"1",-1)),e("span",X,t(s.$t("init.stepLanguage")),1)],2),a[12]||(a[12]=e("div",{class:"step-divider"},null,-1)),e("div",{class:g(["step",{active:n.value>=2,completed:n.value>2}])},[a[11]||(a[11]=e("span",{class:"step-number"},"2",-1)),e("span",Y,t(s.$t("init.stepModel")),1)],2)]),n.value===1?(c(),u("div",Z,[e("div",x,[e("label",ee,t(s.$t("init.selectLanguageLabel")),1),e("div",se,[e("label",{class:g(["language-option",{active:d.value==="zh"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[0]||(a[0]=o=>d.value=o),value:"zh"},null,512),[[y,d.value]]),a[13]||(a[13]=e("span",{class:"language-content"},[e("span",{class:"language-flag"},"🇨🇳"),e("span",{class:"language-text"},[e("strong",null,"中文"),e("small",null,"简体中文")])],-1))],2),e("label",{class:g(["language-option",{active:d.value==="en"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[1]||(a[1]=o=>d.value=o),value:"en"},null,512),[[y,d.value]]),a[14]||(a[14]=e("span",{class:"language-content"},[e("span",{class:"language-flag"},"🇺🇸"),e("span",{class:"language-text"},[e("strong",null,"English"),e("small",null,"English (US)")])],-1))],2)])]),e("div",ae,[e("button",{type:"button",class:"submit-btn",disabled:!d.value,onClick:S},t(s.$t("init.continueToModel")),9,le)])])):m("",!0),n.value===2?(c(),u("div",te,[e("form",{onSubmit:z(D,["prevent"])},[e("div",oe,[e("label",ie,t(s.$t("init.configModeLabel")),1),e("div",ne,[e("label",{class:g(["radio-option",{active:l.value.configMode==="dashscope"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[2]||(a[2]=o=>l.value.configMode=o),value:"dashscope",onChange:M},null,544),[[y,l.value.configMode]]),e("span",de,[e("strong",null,t(s.$t("init.dashscopeMode")),1),e("small",null,t(s.$t("init.dashscopeModeDesc")),1)])],2),e("label",{class:g(["radio-option",{active:l.value.configMode==="custom"}])},[p(e("input",{type:"radio","onUpdate:modelValue":a[3]||(a[3]=o=>l.value.configMode=o),value:"custom",onChange:M},null,544),[[y,l.value.configMode]]),e("span",re,[e("strong",null,t(s.$t("init.customMode")),1),e("small",null,t(s.$t("init.customModeDesc")),1)])],2)])]),l.value.configMode==="dashscope"?(c(),u("div",ue,[e("label",ce,[b(t(s.$t("init.apiKeyLabel"))+" ",1),a[15]||(a[15]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"apiKey","onUpdate:modelValue":a[4]||(a[4]=o=>l.value.apiKey=o),type:"password",class:"form-input",placeholder:s.$t("init.apiKeyPlaceholder"),disabled:i.value,required:""},null,8,pe),[[h,l.value.apiKey]]),e("div",me,[b(t(s.$t("init.apiKeyHint"))+" ",1),e("a",ve,t(s.$t("init.getApiKey")),1)])])):m("",!0),l.value.configMode==="custom"?(c(),u("div",fe,[e("div",ge,[e("label",be,[b(t(s.$t("init.baseUrlLabel"))+" ",1),a[16]||(a[16]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"baseUrl","onUpdate:modelValue":a[5]||(a[5]=o=>l.value.baseUrl=o),type:"url",class:"form-input",placeholder:s.$t("init.baseUrlPlaceholder"),disabled:i.value,required:""},null,8,he),[[h,l.value.baseUrl]]),e("div",ye,t(s.$t("init.baseUrlHint")),1)]),e("div",_e,[e("label",Ne,[b(t(s.$t("init.customApiKeyLabel"))+" ",1),a[17]||(a[17]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"customApiKey","onUpdate:modelValue":a[6]||(a[6]=o=>l.value.apiKey=o),type:"password",class:"form-input",placeholder:s.$t("init.customApiKeyPlaceholder"),disabled:i.value,required:""},null,8,$e),[[h,l.value.apiKey]])]),e("div",Me,[e("label",ke,[b(t(s.$t("init.modelNameLabel"))+" ",1),a[18]||(a[18]=e("span",{class:"required"},"*",-1))]),p(e("input",{id:"modelName","onUpdate:modelValue":a[7]||(a[7]=o=>l.value.modelName=o),type:"text",class:"form-input",placeholder:s.$t("init.modelNamePlaceholder"),disabled:i.value,required:""},null,8,Ue),[[h,l.value.modelName]]),e("div",Ke,t(s.$t("init.modelNameHint")),1)]),e("div",Le,[e("label",Se,t(s.$t("init.modelDisplayNameLabel")),1),p(e("input",{id:"modelDisplayName","onUpdate:modelValue":a[8]||(a[8]=o=>l.value.modelDisplayName=o),type:"text",class:"form-input",placeholder:s.$t("init.modelDisplayNamePlaceholder"),disabled:i.value},null,8,we),[[h,l.value.modelDisplayName]])])])):m("",!0),e("div",Ce,[e("button",{type:"button",class:"back-btn",onClick:w,disabled:i.value},t(s.$t("init.back")),9,De),e("button",{type:"submit",class:"submit-btn",disabled:i.value||!L.value},[i.value?(c(),u("span",qe)):m("",!0),b(" "+t(i.value?s.$t("init.saving"):s.$t("init.saveAndContinue")),1)],8,Ve)])],32)])):m("",!0),k(K,{name:"error-fade"},{default:U(()=>[r.value?(c(),u("div",Te,t(r.value),1)):m("",!0)]),_:1}),k(K,{name:"success-fade"},{default:U(()=>[$.value?(c(),u("div",Ae,t(s.$t("init.successMessage")),1)):m("",!0)]),_:1})]),e("div",Ie,[(c(),u(P,null,E(6,o=>e("div",{class:"floating-shape",key:o})),64))]),a[19]||(a[19]=e("div",{class:"background-effects"},[e("div",{class:"gradient-orb orb-1"}),e("div",{class:"gradient-orb orb-2"}),e("div",{class:"gradient-orb orb-3"})],-1))]))}}),Oe=B(Re,[["__scopeId","data-v-104afced"]]);export{Oe as default}; diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-CnhqGt7S.css b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-CnhqGt7S.css deleted file mode 100644 index 641f5cd1a5..0000000000 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-CnhqGt7S.css +++ /dev/null @@ -1 +0,0 @@ -.switch[data-v-d484b4a3]{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input[data-v-d484b4a3]{opacity:0;width:0;height:0}.switch .slider[data-v-d484b4a3]{position:relative;display:inline-block;width:40px;height:20px;background:#ea66661a;border:1px solid rgba(234,102,102,.2);border-radius:20px;transition:all .3s;flex-shrink:0;vertical-align:middle}.switch .slider[data-v-d484b4a3]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:1px;background:#ea6666;border-radius:50%;transition:all .3s}.switch .switch-label[data-v-d484b4a3]{margin-left:8px;font-size:14px;line-height:20px;height:20px;color:#fff9;transition:color .3s}.switch .checkbox-label[data-v-d484b4a3]{display:flex;align-items:center;gap:8px;cursor:pointer}.switch .checkbox-label input[type=checkbox][data-v-d484b4a3]{width:16px;height:16px}.switch input:checked+.slider[data-v-d484b4a3]{background:#667eea1a;border-color:#667eea33}.switch input:checked+.slider[data-v-d484b4a3]:before{transform:translate(20px);background:#667eea}.switch input:checked+.slider+.switch-label[data-v-d484b4a3]{color:#667eea}.switch input:not(:checked)+.slider+.switch-label[data-v-d484b4a3]{color:#ea6666}.config-panel[data-v-5e6536ac]{position:relative}.config-header[data-v-5e6536ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.config-header h2[data-v-5e6536ac]{margin:0;font-size:20px;font-weight:500}.config-actions[data-v-5e6536ac]{display:flex;gap:12px}.loading-container[data-v-5e6536ac]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-spinner[data-v-5e6536ac]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin-5e6536ac 1s linear infinite;margin-bottom:16px}@keyframes spin-5e6536ac{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.config-groups[data-v-5e6536ac]{display:flex;flex-direction:column;gap:32px}.config-group[data-v-5e6536ac]{background:#ffffff08;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.config-group[data-v-5e6536ac]:hover{background:#ffffff0d;border-color:#ffffff26}.group-header[data-v-5e6536ac]{display:flex;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.group-icon[data-v-5e6536ac]{font-size:20px;margin-right:12px;opacity:.8}.group-divider[data-v-5e6536ac]{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,transparent 100%);margin-left:16px}.config-items[data-v-5e6536ac]{display:flex;flex-direction:column;gap:20px;padding:16px}.config-item[data-v-5e6536ac]{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:16px;transition:all .3s ease}.config-item[data-v-5e6536ac]:hover{border-color:#ffffff26;background:#ffffff05}.config-item.modified[data-v-5e6536ac]{border-left:3px solid #f9a825}.config-item-content[data-v-5e6536ac]{padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.config-item-content.vertical-layout[data-v-5e6536ac]{flex-direction:column;align-items:stretch;gap:12px}.config-item-content.vertical-layout .config-item-info[data-v-5e6536ac]{width:100%}.config-item-content.vertical-layout .config-control[data-v-5e6536ac]{width:100%;min-width:auto}.config-item-header[data-v-5e6536ac]{display:flex;flex-direction:column;gap:6px}.config-item-info[data-v-5e6536ac]{flex:1;min-width:0}.config-label[data-v-5e6536ac]{font-weight:500;color:#ffffffe6;margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.vertical-layout .config-label[data-v-5e6536ac]{margin-bottom:0;font-size:14px;line-height:1.4}.config-key[data-v-5e6536ac]{display:block;font-size:12px;color:#ffffff80;margin-bottom:6px;font-family:monospace;background:#ffffff0d;padding:2px 6px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertical-layout .config-key[data-v-5e6536ac]{margin-bottom:0;display:inline-block;max-width:fit-content}.config-description[data-v-5e6536ac]{font-size:13px;color:#ffffffb3;margin:6px 0;line-height:1.4}.type-badge[data-v-5e6536ac]{font-size:12px;padding:2px 6px;border-radius:3px;color:#ffffffe6;font-weight:400}.type-badge.boolean[data-v-5e6536ac]{background:#2196f333;color:#90caf9}.type-badge.number[data-v-5e6536ac]{background:#4caf5033;color:#a5d6a7}.type-badge.string[data-v-5e6536ac]{background:#9c27b033;color:#ce93d8}.type-badge.select[data-v-5e6536ac]{background:#ff980033;color:#ffcc80}.modified-badge[data-v-5e6536ac]{background:#f9a82533;color:#ffcc80;font-size:12px;padding:2px 6px;border-radius:3px;font-weight:400}.range-info[data-v-5e6536ac]{font-size:12px;color:#fff9;background:#ffffff0d;padding:3px 8px;border-radius:4px;display:inline-block;margin-top:6px;font-family:monospace}.config-control[data-v-5e6536ac]{min-width:160px}.vertical-layout .config-control[data-v-5e6536ac]{min-width:auto;max-width:400px}.config-input[data-v-5e6536ac]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:8px 12px;color:#ffffffe6;transition:all .3s}.config-input[data-v-5e6536ac]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-input[data-v-5e6536ac]::placeholder{color:#fff6}.config-input.number-input[data-v-5e6536ac]{font-family:monospace;text-align:right}.empty-state[data-v-5e6536ac]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80}.message-toast[data-v-5e6536ac]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;color:#fff;font-weight:500;z-index:1000;box-shadow:0 4px 12px #0000004d;transform:translate(100%);animation:slide-in-5e6536ac .3s ease-out forwards}.message-toast.success[data-v-5e6536ac]{background:#10b981}.message-toast.error[data-v-5e6536ac]{background:#ef4444}.message-fade-enter-active[data-v-5e6536ac],.message-fade-leave-active[data-v-5e6536ac]{transition:all .3s ease}.message-fade-enter-from[data-v-5e6536ac],.message-fade-leave-to[data-v-5e6536ac]{transform:translate(100%);opacity:0}@keyframes slide-in-5e6536ac{0%{transform:translate(100%)}to{transform:translate(0)}}.sub-group[data-v-5e6536ac]{margin-bottom:24px;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;background:#ffffff05}.sub-group-header[data-v-5e6536ac]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease}.sub-group-header[data-v-5e6536ac]:hover{background:#ffffff14}.sub-group-info[data-v-5e6536ac]{display:flex;align-items:center;gap:8px}.sub-group-icon[data-v-5e6536ac]{font-size:14px}.sub-group-title[data-v-5e6536ac]{margin:0;font-size:14px;font-weight:500;color:#ffffffe6}.item-count[data-v-5e6536ac]{font-size:12px;color:#fff9;background:#ffffff1a;padding:2px 6px;border-radius:10px}.collapse-icon[data-v-5e6536ac]{font-size:12px;color:#fff9;transition:transform .3s ease}.collapse-icon.collapsed[data-v-5e6536ac]{transform:rotate(-90deg)}.config-stats[data-v-5e6536ac]{margin-top:24px;color:#fff9}.header-left[data-v-5e6536ac],.header-right[data-v-5e6536ac]{display:flex;align-items:center}.config-stats[data-v-5e6536ac]{display:flex;margin-left:16px;gap:12px}.stat-item[data-v-5e6536ac]{display:flex;align-items:center;background:#ffffff0d;padding:4px 8px;border-radius:4px;font-size:12px}.stat-label[data-v-5e6536ac]{color:#fff9;margin-right:4px}.stat-value[data-v-5e6536ac]{color:#ffffffe6;font-weight:500}.stat-value.modified[data-v-5e6536ac]{color:#f9a825}.search-box[data-v-5e6536ac]{position:relative;margin-right:16px}.search-input[data-v-5e6536ac]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 12px 6px 32px;color:#ffffffe6;width:220px;font-size:14px;transition:all .3s}.search-input[data-v-5e6536ac]:focus{outline:none;border-color:#667eea80;background:#ffffff14;width:260px}.search-input[data-v-5e6536ac]::placeholder{color:#fff6}.search-icon[data-v-5e6536ac]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.toggle-btn[data-v-5e6536ac]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffb3;padding:6px 12px;margin-right:12px;font-size:14px;cursor:pointer;transition:all .3s}.toggle-btn[data-v-5e6536ac]:hover{background:#ffffff26;color:#ffffffe6}.toggle-btn.active[data-v-5e6536ac]{background:#667eea33;border-color:#667eea80;color:#667eea}.group-info[data-v-5e6536ac]{display:flex;align-items:center}.group-actions[data-v-5e6536ac]{display:flex;gap:8px;margin-left:auto;margin-right:16px}.reset-btn[data-v-5e6536ac]{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#ef5350;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .3s}.reset-btn[data-v-5e6536ac]:hover:not(:disabled){background:#f4433633;border-color:#f4433680}.reset-btn[data-v-5e6536ac]:disabled{opacity:.5;cursor:not-allowed}.import-export-actions[data-v-5e6536ac]{display:flex;gap:8px;margin-right:16px}.action-btn[data-v-5e6536ac]{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fffc;padding:6px 10px;font-size:12px;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.action-btn[data-v-5e6536ac]:hover{background:#ffffff1f;color:#fffffff2;border-color:#ffffff40}.config-config[data-v-c91688e7]{height:100%;overflow:hidden;display:flex;flex-direction:column}.panel-header[data-v-c91688e7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.panel-actions[data-v-c91688e7]{display:flex;gap:12px}[data-v-c91688e7] .panel-header h2{margin-bottom:0!important}.modal-overlay[data-v-baaf1c89]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-baaf1c89]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-baaf1c89]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-baaf1c89]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.close-btn[data-v-baaf1c89]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-baaf1c89]:hover{color:#ffffffe6}.modal-content[data-v-baaf1c89]{padding:24px}.modal-footer[data-v-baaf1c89]{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-baaf1c89],.confirm-btn[data-v-baaf1c89]{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.cancel-btn[data-v-baaf1c89]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.cancel-btn[data-v-baaf1c89]:hover{background:#ffffff1a}.confirm-btn[data-v-baaf1c89]{background:#667eea1a;border:1px solid rgba(102,126,234,.2);color:#667eea}.confirm-btn[data-v-baaf1c89]:hover{background:#667eea33}.modal-enter-active[data-v-baaf1c89],.modal-leave-active[data-v-baaf1c89]{transition:opacity .3s ease}.modal-enter-from[data-v-baaf1c89],.modal-leave-to[data-v-baaf1c89]{opacity:0}.tool-selection-content[data-v-79f6a572]{min-height:400px;max-height:600px;overflow-y:auto}.tool-controls[data-v-79f6a572]{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.search-container[data-v-79f6a572]{flex:1}.search-input[data-v-79f6a572]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#ffffffe6;font-size:14px;transition:all .3s}.search-input[data-v-79f6a572]:focus{outline:none;border-color:#667eea80;background:#ffffff1a}.search-input[data-v-79f6a572]::placeholder{color:#ffffff80}.sort-container[data-v-79f6a572]{min-width:140px}.sort-select[data-v-79f6a572]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#ffffffe6;font-size:14px;cursor:pointer}.tool-summary[data-v-79f6a572]{margin-bottom:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-text[data-v-79f6a572]{color:#ffffffb3;font-size:13px}.tool-group[data-v-79f6a572]{border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;margin-bottom:8px}.tool-group-header[data-v-79f6a572]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;cursor:pointer;transition:all .3s;border-bottom:1px solid rgba(255,255,255,.1)}.tool-group-header[data-v-79f6a572]:hover{background:#ffffff14}.tool-group-header.collapsed[data-v-79f6a572]{border-bottom:none}.group-title-area[data-v-79f6a572]{display:flex;align-items:center;gap:8px;flex:1}.collapse-icon[data-v-79f6a572]{color:#fff9;transition:transform .3s}.group-icon[data-v-79f6a572]{color:#fffc}.group-name[data-v-79f6a572]{font-weight:500;color:#ffffffe6}.group-count[data-v-79f6a572]{color:#fff9;font-size:13px}.group-actions[data-v-79f6a572]{display:flex;align-items:center}.group-enable-all[data-v-79f6a572]{display:flex;align-items:center;gap:6px;cursor:pointer;color:#fffc;font-size:13px}.group-enable-checkbox[data-v-79f6a572]{cursor:pointer}.tool-group-content[data-v-79f6a572]{max-height:300px;overflow-y:auto;transition:all .3s}.tool-group-content.collapsed[data-v-79f6a572]{max-height:0;overflow:hidden}.tool-selection-item[data-v-79f6a572]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .3s}.tool-selection-item[data-v-79f6a572]:hover{background:#ffffff08}.tool-selection-item[data-v-79f6a572]:last-child{border-bottom:none}.tool-info[data-v-79f6a572]{flex:1}.tool-selection-name[data-v-79f6a572]{font-weight:500;color:#ffffffe6;margin-bottom:4px}.tool-selection-desc[data-v-79f6a572]{color:#fff9;font-size:13px;line-height:1.4}.tool-actions[data-v-79f6a572]{margin-left:12px}.tool-enable-switch[data-v-79f6a572]{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.tool-enable-checkbox[data-v-79f6a572]{opacity:0;width:0;height:0}.tool-enable-slider[data-v-79f6a572]{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;border-radius:24px;transition:all .3s}.tool-enable-slider[data-v-79f6a572]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s}.tool-enable-checkbox:checked+.tool-enable-slider[data-v-79f6a572]{background:#667eeacc}.tool-enable-checkbox:checked+.tool-enable-slider[data-v-79f6a572]:before{transform:translate(20px)}.empty-state[data-v-79f6a572]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80}.empty-icon[data-v-79f6a572]{font-size:48px;margin-bottom:16px;opacity:.6}.agent-layout[data-v-c5a48db6]{display:flex;gap:30px;flex:1;min-height:0}.agent-list[data-v-c5a48db6]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-c5a48db6]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-c5a48db6]{margin:0;font-size:18px}.agent-count[data-v-c5a48db6]{color:#fff9;font-size:14px}.agents-container[data-v-c5a48db6]{flex:1;overflow-y:auto;margin-bottom:16px}.loading-state[data-v-c5a48db6]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.loading-icon[data-v-c5a48db6]{animation:spin-c5a48db6 1s linear infinite}@keyframes spin-c5a48db6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-c5a48db6]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-c5a48db6]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-c5a48db6]{font-size:14px;margin-top:8px}.agent-card[data-v-c5a48db6]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.agent-card[data-v-c5a48db6]:hover{background:#ffffff0d;border-color:#fff3}.agent-card.active[data-v-c5a48db6]{border-color:#667eea;background:#667eea1a}.agent-card-header[data-v-c5a48db6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.agent-name[data-v-c5a48db6]{font-weight:500;font-size:16px}.agent-desc[data-v-c5a48db6]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:12px}.agent-model[data-v-c5a48db6]{display:flex;flex-wrap:wrap;gap:6px}.model-tag[data-v-c5a48db6]{display:inline-block;padding:4px 8px;margin-bottom:10px;background:#b566ea33;border-radius:4px;font-size:12px;color:#a8b3ff}.agent-tools[data-v-c5a48db6]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-c5a48db6]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-c5a48db6]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-c5a48db6]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-c5a48db6]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-c5a48db6]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.agent-detail[data-v-c5a48db6]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.no-selection[data-v-c5a48db6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-c5a48db6]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-c5a48db6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-c5a48db6]{margin:0;font-size:20px}.detail-actions[data-v-c5a48db6]{display:flex;gap:12px}.form-section[data-v-c5a48db6]{margin-bottom:32px}.form-item[data-v-c5a48db6]{margin-bottom:20px}.form-item label[data-v-c5a48db6]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-c5a48db6],.form-item textarea[data-v-c5a48db6]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-c5a48db6]:focus,.form-item textarea[data-v-c5a48db6]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-c5a48db6]::placeholder,.form-item textarea[data-v-c5a48db6]::placeholder{color:#fff6}.form-item textarea[data-v-c5a48db6]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-c5a48db6]{color:#ff6b6b}.model-section h4[data-v-c5a48db6],.tools-section h4[data-v-c5a48db6]{margin:0 0 20px;font-size:18px;color:#ffffffe6}.section-header[data-v-c5a48db6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-c5a48db6]{font-weight:500;color:#fffc}.tools-grid[data-v-c5a48db6]{display:flex;flex-direction:column;gap:8px}.tool-item[data-v-c5a48db6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .3s ease}.tool-item.assigned[data-v-c5a48db6]{border-color:#667eea4d;background:#667eea1a}.tool-info[data-v-c5a48db6]{flex:1}.tool-info .tool-name[data-v-c5a48db6]{display:block;font-weight:500;margin-bottom:4px}.tool-info .tool-desc[data-v-c5a48db6]{font-size:12px;color:#fff9;line-height:1.3}.no-tools[data-v-c5a48db6]{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:#fff6;font-style:italic}.action-btn[data-v-c5a48db6]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-c5a48db6]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-c5a48db6]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-c5a48db6]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-c5a48db6]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-c5a48db6]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-c5a48db6]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-c5a48db6]{padding:6px 12px;font-size:12px}.modal-form[data-v-c5a48db6]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-c5a48db6]{text-align:center;padding:20px 0}.delete-confirm p[data-v-c5a48db6]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-c5a48db6]{color:#fff9;font-size:14px}.warning-icon[data-v-c5a48db6]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-c5a48db6],.cancel-btn[data-v-c5a48db6]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-c5a48db6],.cancel-btn.danger[data-v-c5a48db6]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-c5a48db6]:hover,.cancel-btn.danger[data-v-c5a48db6]:hover{background:#ea66664d}.cancel-btn[data-v-c5a48db6]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-c5a48db6]:hover{background:#ffffff1a}.error-toast[data-v-c5a48db6],.success-toast[data-v-c5a48db6]{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;color:#fff;cursor:pointer;z-index:1000;animation:slideIn-c5a48db6 .3s ease}.error-toast[data-v-c5a48db6]{background:#ea6666e6;border:1px solid rgba(234,102,102,.5)}.success-toast[data-v-c5a48db6]{background:#66ea66e6;border:1px solid rgba(102,234,102,.5)}@keyframes slideIn-c5a48db6{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.model-chooser[data-v-c5a48db6]{position:relative;display:inline-block}.model-btn[data-v-c5a48db6]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1.5px solid #667eea;border-radius:8px;color:#8da2fb;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.model-btn[data-v-c5a48db6]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.model-btn[data-v-c5a48db6]:focus{box-shadow:0 0 0 3px #667eea80}.current-model[data-v-c5a48db6]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none}.chevron[data-v-c5a48db6]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.model-dropdown[data-v-c5a48db6]{position:absolute;top:100%;left:0;z-index:9999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px;animation:slideDown-c5a48db6 .2s ease}.dropdown-header[data-v-c5a48db6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-c5a48db6]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-c5a48db6]:hover{background:#ffffff1a;color:#fffc}.model-options[data-v-c5a48db6]{padding:8px 0}.model-option[data-v-c5a48db6]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.model-option[data-v-c5a48db6]:hover{background:#ffffff0d;color:#ffffffe6}.model-option.active[data-v-c5a48db6]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.model-type[data-v-c5a48db6]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.model-name[data-v-c5a48db6]{flex:1;font-size:14px;font-weight:500}.check-icon[data-v-c5a48db6]{color:#667eea;opacity:.8}.spacer[data-v-c5a48db6]{display:inline-block;width:12px}.backdrop[data-v-c5a48db6]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}@keyframes slideDown-c5a48db6{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.model-dropdown[data-v-c5a48db6]{right:-8px;left:-8px;width:auto;min-width:auto}.model-btn[data-v-c5a48db6]{padding:6px 10px;font-size:13px}.current-model[data-v-c5a48db6]{min-width:35px}}@media (prefers-color-scheme: light){.model-dropdown[data-v-c5a48db6]{background:#fffffff2;border-color:#0000001a;box-shadow:0 8px 32px #0000001a}.dropdown-header[data-v-c5a48db6]{color:#000c;border-bottom-color:#0000001a}.close-btn[data-v-c5a48db6]{color:#0009}.close-btn[data-v-c5a48db6]:hover{background:#0000001a;color:#000c}.model-option[data-v-c5a48db6]{color:#000000b3}.model-option[data-v-c5a48db6]:hover{background:#0000000d;color:#000000e6}}.custom-select[data-v-579d8359]{position:relative;display:inline-block}.select-btn[data-v-579d8359]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1.5px solid #667eea;border-radius:8px;color:#8da2fb;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.select-btn[data-v-579d8359]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.select-btn[data-v-579d8359]:focus{box-shadow:0 0 0 3px #667eea80}.current-option[data-v-579d8359]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none;display:flex;align-items:center;gap:0}.current-option .option-icon[data-v-579d8359]{color:inherit;opacity:.8}.chevron[data-v-579d8359]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.select-dropdown[data-v-579d8359]{position:absolute;top:100%;z-index:99999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px}.select-dropdown.dropdown-top[data-v-579d8359]{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.dropdown-header[data-v-579d8359]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-579d8359]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-579d8359]:hover{background:#ffffff1a;color:#fffc}.select-options[data-v-579d8359]{padding:8px 0}.select-option[data-v-579d8359]{display:flex;align-items:center;gap:0;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.select-option[data-v-579d8359]:hover{background:#ffffff0d;color:#ffffffe6}.select-option.active[data-v-579d8359]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.option-type[data-v-579d8359]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.option-name[data-v-579d8359]{flex:1;font-size:14px;font-weight:500}.option-icon[data-v-579d8359]{color:#fff9;margin-right:0}.check-icon[data-v-579d8359]{color:#667eea;opacity:.8}.spacer[data-v-579d8359]{display:inline-block;width:12px}.backdrop[data-v-579d8359]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99998;background:transparent}.slideDown-enter-active[data-v-579d8359],.slideDown-leave-active[data-v-579d8359]{transition:all .2s ease;transform-origin:top}.slideDown-enter-from[data-v-579d8359],.slideDown-leave-to[data-v-579d8359]{opacity:0;transform:translateY(-8px) scale(.95)}.grouped-select[data-v-8fbda373]{position:relative;width:100%}.select-btn[data-v-8fbda373]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;font-size:14px}.select-btn[data-v-8fbda373]:hover{background:#ffffff1a;border-color:#fff3}.selected-text[data-v-8fbda373]{display:flex;align-items:center;gap:8px;flex:1}.placeholder-text[data-v-8fbda373]{color:#ffffff80;flex:1}.model-category[data-v-8fbda373]{color:#a8b3ff;font-size:12px;font-weight:500}.chevron[data-v-8fbda373]{color:#fff9;transition:transform .3s ease}.chevron.rotated[data-v-8fbda373]{transform:rotate(180deg)}.dropdown-overlay[data-v-8fbda373]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.dropdown-content[data-v-8fbda373]{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:1000;max-height:500px;overflow:hidden;display:flex;flex-direction:column}.dropdown-header[data-v-8fbda373]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-header h3[data-v-8fbda373]{margin:0;color:#ffffffe6;font-size:16px;font-weight:600}.close-btn[data-v-8fbda373]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease}.close-btn[data-v-8fbda373]:hover{background:#ffffff1a;color:#ffffffe6}.search-container[data-v-8fbda373]{position:relative;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.search-input[data-v-8fbda373]{width:100%;padding:8px 12px 8px 36px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;font-size:14px;outline:none;transition:all .3s ease}.search-input[data-v-8fbda373]:focus{border-color:#a8b3ff;background:#ffffff1a}.search-input[data-v-8fbda373]::placeholder{color:#ffffff80}.search-icon[data-v-8fbda373]{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:#ffffff80;font-size:16px}.groups-container[data-v-8fbda373]{flex:1;overflow-y:auto;padding:8px}.model-group[data-v-8fbda373]{margin-bottom:16px}.group-header[data-v-8fbda373]{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 8px}.group-title[data-v-8fbda373]{color:#a8b3ff;font-weight:600;font-size:14px}.group-count[data-v-8fbda373]{color:#ffffff80;font-size:12px}.models-grid[data-v-8fbda373]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:0 8px}.model-option[data-v-8fbda373]{display:flex;flex-direction:column;align-items:flex-start;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .3s ease;text-align:left;min-height:60px}.model-option[data-v-8fbda373]:hover{background:#ffffff1a;border-color:#fff3}.model-option.selected[data-v-8fbda373]{background:#a8b3ff33;border-color:#a8b3ff}.model-info[data-v-8fbda373]{flex:1;width:100%}.model-name[data-v-8fbda373]{font-weight:500;font-size:14px;margin-bottom:4px;color:#ffffffe6}.model-description[data-v-8fbda373]{font-size:12px;color:#fff9;line-height:1.3}.model-category-tag[data-v-8fbda373]{align-self:flex-end;color:#a8b3ff;font-size:11px;font-weight:500;margin-top:4px}@media (max-width: 768px){.models-grid[data-v-8fbda373]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 480px){.models-grid[data-v-8fbda373]{grid-template-columns:1fr}}.model-layout[data-v-31d9fbd5]{display:flex;gap:30px;flex:1;min-height:0}.model-list[data-v-31d9fbd5]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-31d9fbd5]{margin:0;font-size:18px}.model-count[data-v-31d9fbd5]{color:#fff9;font-size:14px}.models-container[data-v-31d9fbd5]{flex:1;overflow-y:auto;margin-bottom:16px}.loading-state[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.empty-state[data-v-31d9fbd5]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-31d9fbd5]{font-size:48px;margin-bottom:16px;opacity:.4}.model-card[data-v-31d9fbd5]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.model-card[data-v-31d9fbd5]:hover{background:#ffffff0d;border-color:#fff3}.model-card.active[data-v-31d9fbd5]{border-color:#667eea;background:#667eea1a}.model-card-header[data-v-31d9fbd5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.model-name[data-v-31d9fbd5]{font-weight:500;font-size:16px}.model-desc[data-v-31d9fbd5]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:12px}.add-btn[data-v-31d9fbd5]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-31d9fbd5]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.model-detail[data-v-31d9fbd5]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.no-selection[data-v-31d9fbd5]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-31d9fbd5]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-31d9fbd5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-31d9fbd5]{margin:0;font-size:20px}.detail-actions[data-v-31d9fbd5]{display:flex;gap:12px}.form-item[data-v-31d9fbd5]{margin-bottom:20px}.form-item label[data-v-31d9fbd5]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-31d9fbd5],.form-item textarea[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-31d9fbd5]:focus,.form-item textarea[data-v-31d9fbd5]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-31d9fbd5]::placeholder,.form-item textarea[data-v-31d9fbd5]::placeholder{color:#fff6}.form-item textarea[data-v-31d9fbd5]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-31d9fbd5]{color:#ff6b6b}.action-btn[data-v-31d9fbd5]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-31d9fbd5]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-31d9fbd5]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-31d9fbd5]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-31d9fbd5]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-31d9fbd5]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-31d9fbd5]{padding:6px 12px;font-size:12px}.modal-form[data-v-31d9fbd5]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-31d9fbd5]{text-align:center;padding:20px 0}.delete-confirm p[data-v-31d9fbd5]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-31d9fbd5]{color:#fff9;font-size:14px}.warning-icon[data-v-31d9fbd5]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-31d9fbd5],.cancel-btn[data-v-31d9fbd5]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-31d9fbd5],.cancel-btn.danger[data-v-31d9fbd5]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-31d9fbd5]:hover,.cancel-btn.danger[data-v-31d9fbd5]:hover{background:#ea66664d}.cancel-btn[data-v-31d9fbd5]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-31d9fbd5]:hover{background:#ffffff1a}.model-type[data-v-31d9fbd5]{display:flex;flex-wrap:wrap;gap:6px}.model-tag[data-v-31d9fbd5]{display:inline-block;padding:4px 8px;background:#b566ea33;border-radius:4px;font-size:12px;color:#a8b3ff}.model-status[data-v-31d9fbd5]{display:flex;align-items:center;gap:8px}.default-badge[data-v-31d9fbd5]{display:flex;align-items:center;gap:4px;padding:2px 6px;background:#ffc10733;border:1px solid rgba(255,193,7,.3);border-radius:12px;font-size:11px;color:#ffc107;font-weight:500}.current-default[data-v-31d9fbd5]{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#ffc10733;border:1px solid rgba(255,193,7,.3);border-radius:8px;font-size:12px;color:#ffc107;font-weight:500}.action-btn.default[data-v-31d9fbd5]{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107}.action-btn.default[data-v-31d9fbd5]:hover:not(:disabled){background:#ffc10733;border-color:#ffc10780}.action-btn.default[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.api-key-container[data-v-31d9fbd5]{display:flex;gap:8px;align-items:center}.api-key-container input[data-v-31d9fbd5]{flex:1}.check-btn[data-v-31d9fbd5]{padding:12px 16px;background:#a8b3ff1a;border:1px solid rgba(168,179,255,.3);border-radius:8px;color:#a8b3ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:48px}.check-btn[data-v-31d9fbd5]:hover:not(:disabled){background:#a8b3ff33;border-color:#a8b3ff80}.check-btn[data-v-31d9fbd5]:disabled{opacity:.5;cursor:not-allowed}.loading-icon[data-v-31d9fbd5]{animation:spin-31d9fbd5 1s linear infinite}@keyframes spin-31d9fbd5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-toast[data-v-31d9fbd5],.success-toast[data-v-31d9fbd5]{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;color:#fff;cursor:pointer;z-index:1000;animation:slideIn-31d9fbd5 .3s ease}.error-toast[data-v-31d9fbd5]{background:#ea6666e6;border:1px solid rgba(234,102,102,.5)}.success-toast[data-v-31d9fbd5]{background:#66ea66e6;border:1px solid rgba(102,234,102,.5)}@keyframes slideIn-31d9fbd5{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.readonly-field[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:14px;min-height:48px;display:flex;align-items:center;cursor:default;-webkit-user-select:none;user-select:none}.readonly-field.description-field[data-v-31d9fbd5]{min-height:80px;align-items:flex-start;padding-top:12px;line-height:1.5;white-space:pre-wrap}.description-field[data-v-31d9fbd5]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:14px;min-height:80px;resize:vertical;transition:all .3s ease;font-family:inherit}.description-field[data-v-31d9fbd5]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.description-field[data-v-31d9fbd5]::placeholder{color:#fff6}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px var(--vscode-tab-inactiveBackground) solid}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px var(--vscode-notebook-focusedCellBorder) solid}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px var(--vscode-tab-inactiveBackground) solid}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px var(--vscode-sideBarSectionHeader-border) solid;border-top:1px var(--vscode-sideBarSectionHeader-border) solid;border-left:2px var(--vscode-editor-background) solid}.monaco-component .multiDiffEntry.focused .header{border-left:2px var(--vscode-notebook-focusedCellBorder) solid}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}@font-face{font-family:codicon;font-display:block;src:url(/ui/assets/codicon-Hscy-R9e.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-number,.monaco-editor .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.monaco-editor-container[data-v-d520c639]{position:relative;border:none;border-radius:0;overflow:hidden;background:#ffffff0d}.editor-wrapper[data-v-d520c639]{height:100%;min-height:300px}[data-v-d520c639] .monaco-editor{border-radius:0}[data-v-d520c639] .monaco-editor .margin{background-color:#ffffff0d!important}[data-v-d520c639] .monaco-editor .line-numbers{color:#9ca3afcc!important}[data-v-d520c639] .monaco-editor .current-line{background-color:#37415180!important}[data-v-d520c639] .monaco-editor .selection{background-color:#3b82f64d!important}[data-v-d520c639] .monaco-editor .cursor{border-left-color:#f9fafbe6!important}[data-v-d520c639] .monaco-editor .scrollbar .slider{background-color:#9ca3af4d!important}[data-v-d520c639] .monaco-editor .scrollbar .slider:hover{background-color:#9ca3af80!important}[data-v-d520c639] .monaco-editor .scrollbar .slider.active{background-color:#9ca3afb3!important}.mcp-config-form[data-v-c7dc6c11]{width:100%}.form-item[data-v-c7dc6c11]{margin-bottom:20px}.form-item label[data-v-c7dc6c11]{display:block;margin-bottom:8px;font-weight:500;color:#e5e7eb}.required[data-v-c7dc6c11]{color:#ef4444}.config-input[data-v-c7dc6c11],.config-textarea[data-v-c7dc6c11]{width:100%;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#ffffff0d;color:#ffffffe6;font-size:14px;transition:all .3s}.config-input[data-v-c7dc6c11]:focus,.config-textarea[data-v-c7dc6c11]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-textarea[data-v-c7dc6c11]{resize:vertical;min-height:80px}.config-input[data-v-c7dc6c11]::placeholder,.config-textarea[data-v-c7dc6c11]::placeholder{color:#fff6}.usage-instructions[data-v-c7dc6c11]{margin-top:24px;padding:16px;background:#ffffff08;border:1px solid rgba(102,126,234,.5);border-radius:8px;box-shadow:0 2px 8px #0000001a;position:relative}.usage-instructions[data-v-c7dc6c11]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#667eeacc;border-radius:8px 8px 0 0}.instructions-header[data-v-c7dc6c11]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.instructions-icon[data-v-c7dc6c11]{font-size:16px;color:#667eea}.instructions-header h4[data-v-c7dc6c11]{margin:0;font-size:16px;font-weight:600;color:#ffffffe6}.instructions-content[data-v-c7dc6c11]{color:#fffc;line-height:1.5;font-size:14px}.instructions-list[data-v-c7dc6c11]{margin:0;padding-left:16px}.instructions-list>li[data-v-c7dc6c11]{margin-bottom:12px;position:relative;padding-left:4px}.instructions-list>li[data-v-c7dc6c11]::marker{color:#667eea;font-weight:600;font-size:14px}.instructions-list>li[data-v-c7dc6c11]:last-child{margin-bottom:0}.instructions-list strong[data-v-c7dc6c11]{color:#fffffff2;font-weight:600;display:block;margin-bottom:6px;font-size:14px}.instructions-list ul[data-v-c7dc6c11]{margin:6px 0 0;padding-left:16px;list-style-type:disc}.instructions-list ul li[data-v-c7dc6c11]{margin-bottom:3px;color:#ffffffbf;font-size:13px;line-height:1.4}.instructions-list ul li strong[data-v-c7dc6c11]{color:#ffffffe6;font-weight:500;display:inline;margin-bottom:0}.instructions-list code[data-v-c7dc6c11]{background:#667eea26;color:#a8b3ff;padding:1px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;border:1px solid rgba(102,126,234,.2)}@media (max-width: 768px){.usage-instructions[data-v-c7dc6c11]{margin-top:20px;padding:12px}.instructions-header h4[data-v-c7dc6c11]{font-size:15px}.instructions-content[data-v-c7dc6c11]{font-size:13px}.instructions-list[data-v-c7dc6c11]{padding-left:12px}.instructions-list>li[data-v-c7dc6c11]{margin-bottom:10px}.instructions-list ul li[data-v-c7dc6c11]{font-size:12px}}.tab-panel[data-v-dd5c9237]{width:100%}.tab-header[data-v-dd5c9237]{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.tab-button[data-v-dd5c9237]{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button[data-v-dd5c9237]:hover{color:#fffc;background-color:#ffffff0d}.tab-button.active[data-v-dd5c9237]{color:#3b82f6;border-bottom-color:#3b82f6;background-color:#ffffff08}.tab-content[data-v-dd5c9237]{min-height:200px;background-color:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:16px}.tab-pane[data-v-dd5c9237]{width:100%}.json-import-panel[data-v-db4635ee]{height:100%;display:flex;flex-direction:column}.form-item[data-v-db4635ee]{flex:1;display:flex;flex-direction:column}.json-tab-panel[data-v-db4635ee]{margin-top:8px}.validation-errors[data-v-db4635ee]{margin-top:12px;padding:12px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:4px}.error-item[data-v-db4635ee]{color:#f44;font-size:14px;margin-bottom:4px}.error-item[data-v-db4635ee]:last-child{margin-bottom:0}.example-json[data-v-db4635ee]{margin:0;padding:12px;background:#ffffff08;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4}.example-json code[data-v-db4635ee]{color:#ffffffe6;background:none;padding:0;border:none;border-radius:0;font-family:inherit;font-size:inherit}.example-json .string[data-v-db4635ee]{color:#a78bfa}.example-json .number[data-v-db4635ee]{color:#fbbf24}.example-json .boolean[data-v-db4635ee]{color:#f87171}.example-json .null[data-v-db4635ee]{color:#fff9}.example-json .key[data-v-db4635ee]{color:#34d399}.json-config-container[data-v-db4635ee]{display:flex;flex-direction:column;height:100%}.usage-instructions[data-v-db4635ee]{margin-top:16px;padding:16px;background:#ffffff08;border:1px solid rgba(102,126,234,.5);border-radius:8px;box-shadow:0 2px 8px #0000001a;position:relative}.usage-instructions[data-v-db4635ee]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#667eeacc;border-radius:8px 8px 0 0}.instructions-header[data-v-db4635ee]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.instructions-icon[data-v-db4635ee]{font-size:16px;color:#667eea}.instructions-header h4[data-v-db4635ee]{margin:0;font-size:16px;font-weight:600;color:#ffffffe6}.instructions-content[data-v-db4635ee]{color:#fffc;line-height:1.5;font-size:14px}.instructions-list[data-v-db4635ee]{margin:0;padding-left:16px}.instructions-list>li[data-v-db4635ee]{margin-bottom:12px;position:relative;padding-left:4px}.instructions-list>li[data-v-db4635ee]::marker{color:#667eea;font-weight:600;font-size:14px}.instructions-list>li[data-v-db4635ee]:last-child{margin-bottom:0}.instructions-list strong[data-v-db4635ee]{color:#fffffff2;font-weight:600;display:block;margin-bottom:6px;font-size:14px}.instructions-list ul[data-v-db4635ee]{margin:6px 0 0;padding-left:16px;list-style-type:disc}.instructions-list ul li[data-v-db4635ee]{margin-bottom:3px;color:#ffffffbf;font-size:13px;line-height:1.4}.instructions-list ul li strong[data-v-db4635ee]{color:#ffffffe6;font-weight:500;display:inline;margin-bottom:0}.instructions-list code[data-v-db4635ee]{background:#667eea26;color:#a8b3ff;padding:1px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;border:1px solid rgba(102,126,234,.2)}.mcp-config-panel[data-v-163c5416]{position:relative}.mcp-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mcp-header h2[data-v-163c5416]{margin:0;font-size:20px;font-weight:500}.header-left[data-v-163c5416],.header-right[data-v-163c5416]{display:flex;align-items:center}.mcp-stats[data-v-163c5416]{display:flex;margin-left:16px;gap:12px}.stat-item[data-v-163c5416]{display:flex;align-items:center;background:#ffffff0d;padding:4px 8px;border-radius:4px;font-size:12px}.stat-label[data-v-163c5416]{color:#fff9;margin-right:4px}.stat-value[data-v-163c5416]{color:#ffffffe6;font-weight:500}.loading-container[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-spinner[data-v-163c5416]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin-163c5416 1s linear infinite;margin-bottom:16px}@keyframes spin-163c5416{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcp-layout[data-v-163c5416]{display:flex;gap:30px;flex:1;min-height:0}.server-list[data-v-163c5416]{width:320px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-163c5416]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-163c5416]{margin:0;font-size:18px}.server-count[data-v-163c5416]{font-size:14px;color:#fff9}.search-box[data-v-163c5416]{position:relative;margin-bottom:20px}.search-input[data-v-163c5416]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 12px 6px 32px;color:#ffffffe6;width:100%;font-size:14px;transition:all .3s}.search-input[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14;width:100%}.search-input[data-v-163c5416]::placeholder{color:#fff6}.search-icon[data-v-163c5416]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.servers-container[data-v-163c5416]{flex:1;overflow-y:auto;margin-bottom:16px}.servers-container[data-v-163c5416]::-webkit-scrollbar{width:6px}.servers-container[data-v-163c5416]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.servers-container[data-v-163c5416]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.servers-container[data-v-163c5416]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.server-card[data-v-163c5416]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:8px}.server-card[data-v-163c5416]:hover:not(.active){background:#ffffff0d;border-color:#fff3}.server-card.active[data-v-163c5416]{border-color:#667eea;background:#667eea1a}.server-card-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:500;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:10px}.server-name[data-v-163c5416]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-connection-type[data-v-163c5416]{font-size:12px;color:#ffffffb3;display:flex;align-items:center;gap:6px}.connection-type-icon[data-v-163c5416]{font-size:14px;opacity:.8}.connection-type-badge[data-v-163c5416]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#9e9e9e33;color:#bdbdbd}.connection-type-badge.studio[data-v-163c5416]{background:#2196f333;color:#90caf9}.connection-type-badge.sse[data-v-163c5416]{background:#4caf5033;color:#a5d6a7}.connection-type-badge.streaming[data-v-163c5416]{background:#9c27b033;color:#ce93d8}.server-config-summary[data-v-163c5416]{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.config-item[data-v-163c5416]{display:flex;align-items:flex-start;margin-bottom:6px;font-size:12px;line-height:1.4}.config-label[data-v-163c5416]{color:#fff9;font-weight:500;min-width:50px;margin-right:8px}.config-value[data-v-163c5416]{color:#fffc;word-break:break-all;flex:1}.server-config-preview[data-v-163c5416]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;max-height:120px;overflow-y:auto;overflow-x:auto}.config-preview[data-v-163c5416]{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:10px;line-height:1.3;color:#ffffffe6;white-space:pre-wrap;word-break:break-all}.config-preview .json-key[data-v-163c5416]{color:#90caf9}.config-preview .json-string[data-v-163c5416]{color:#a5d6a7}.config-preview .json-number[data-v-163c5416]{color:#f39c12}.config-preview .json-boolean[data-v-163c5416]{color:#e74c3c}.config-preview .json-null[data-v-163c5416]{color:#95a5a6}.loading-state[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.loading-icon[data-v-163c5416]{font-size:32px;margin-bottom:16px}.empty-state[data-v-163c5416]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#ffffff80;text-align:center}.empty-icon[data-v-163c5416]{font-size:48px;margin-bottom:16px;opacity:.5}.add-config-button-container[data-v-163c5416]{margin-top:0}.add-btn[data-v-163c5416]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-163c5416]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.add-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.add-btn.primary[data-v-163c5416]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.add-btn.primary[data-v-163c5416]:hover:not(:disabled){background:#667eea4d}.add-btn.danger[data-v-163c5416]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.add-btn.danger[data-v-163c5416]:hover:not(:disabled){background:#ea666633}.add-btn.small[data-v-163c5416]{padding:6px 12px;font-size:12px}.form-row[data-v-163c5416]{display:flex;gap:20px}.form-actions[data-v-163c5416]{display:flex;gap:12px;justify-content:flex-end}.server-detail[data-v-163c5416]{flex:1;background:#ffffff08;border-radius:12px;padding:24px;overflow-y:auto}.detail-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-163c5416]{margin:0;font-size:20px}.detail-actions[data-v-163c5416]{display:flex;gap:12px}.detail-content[data-v-163c5416]{display:flex;flex-direction:column;gap:20px;flex:1;overflow-y:auto;padding-right:4px}.detail-content[data-v-163c5416]::-webkit-scrollbar{width:6px}.detail-content[data-v-163c5416]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.detail-content[data-v-163c5416]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.detail-content[data-v-163c5416]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.action-btn[data-v-163c5416]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-163c5416]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-163c5416]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-163c5416]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-163c5416]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-163c5416]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-163c5416]{padding:6px 12px;font-size:12px}.form-item[data-v-163c5416]{margin-bottom:20px}.form-item label[data-v-163c5416]{display:block;margin-bottom:8px;font-weight:500;color:#ffffffe6;font-size:14px}.form-item .required[data-v-163c5416]{color:#ef5350;margin-left:4px}.json-editor-container[data-v-163c5416]{position:relative}.json-editor-header[data-v-163c5416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.json-status[data-v-163c5416]{font-size:12px;padding:8px 12px;border-radius:4px;font-weight:500;max-width:400px;word-wrap:break-word;white-space:pre-line;line-height:1.4;min-height:20px}.json-status.valid[data-v-163c5416]{background:#10b98133;color:#34d399}.json-status.invalid[data-v-163c5416]{background:#ef444433;color:#f87171}.format-btn[data-v-163c5416]{display:flex;align-items:center;gap:4px;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:4px;color:#a8b3ff;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .3s}.format-btn[data-v-163c5416]:hover:not(:disabled){background:#667eea33;border-color:#667eea80}.format-btn[data-v-163c5416]:disabled{opacity:.5;cursor:not-allowed}.format-icon[data-v-163c5416]{font-size:12px}.json-editor-wrapper[data-v-163c5416]{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:4px;overflow:hidden;background:#ffffff0d;min-height:300px}.json-editor[data-v-163c5416]{height:100%;min-height:280px}.config-textarea[data-v-163c5416]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ffffffe6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;resize:vertical;transition:all .3s}.config-textarea[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-textarea[data-v-163c5416]::placeholder{color:#fff6}.config-input[data-v-163c5416]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ffffffe6;font-size:14px;transition:all .3s}.config-input[data-v-163c5416]:focus{outline:none;border-color:#667eea80;background:#ffffff14}.config-input[data-v-163c5416]::placeholder{color:#fff6}.no-selection[data-v-163c5416]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff80;text-align:center}.placeholder-icon[data-v-163c5416]{font-size:48px;margin-bottom:16px;opacity:.5}.message-toast[data-v-163c5416]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;color:#fff;font-weight:500;z-index:9999;box-shadow:0 4px 12px #0000004d;max-width:400px;word-wrap:break-word;white-space:pre-line;line-height:1.4}.message-toast.success[data-v-163c5416]{background:#10b981}.message-toast.error[data-v-163c5416]{background:#ef4444}.message-toast.info[data-v-163c5416]{background:#667eea}.message-fade-enter-active[data-v-163c5416],.message-fade-leave-active[data-v-163c5416]{transition:all .3s ease}.message-fade-enter-from[data-v-163c5416],.message-fade-leave-to[data-v-163c5416]{transform:translate(100%);opacity:0}@media (max-width: 1200px){.mcp-layout[data-v-163c5416]{flex-direction:column}.server-list[data-v-163c5416],.server-detail[data-v-163c5416]{width:100%}.server-list[data-v-163c5416]{order:2}.server-detail[data-v-163c5416]{order:1}}.wide-modal[data-v-163c5416]{width:80vw!important;max-width:1200px!important}.form-row[data-v-163c5416]{display:flex;gap:20px;margin-bottom:20px}.form-row .form-item[data-v-163c5416]{flex:1}.narrow-input[data-v-163c5416]{width:70%}.narrow-input .config-input[data-v-163c5416],.narrow-input .config-textarea[data-v-163c5416]{width:100%}.status-toggle-container[data-v-163c5416]{display:flex;align-items:center}.status-toggle[data-v-163c5416]{position:relative;width:60px;height:30px;background:#6b7280;border-radius:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.status-toggle.enabled[data-v-163c5416]{background:#10b981}.toggle-thumb[data-v-163c5416]{position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.status-toggle.enabled .toggle-thumb[data-v-163c5416]{left:33px}.toggle-label[data-v-163c5416]{color:#fff;font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none}.server-status-toggle[data-v-163c5416]{display:flex;align-items:center}.server-card-header .status-toggle[data-v-163c5416]{width:50px;height:24px}.server-card-header .toggle-thumb[data-v-163c5416]{width:18px;height:18px;top:3px;left:3px}.server-card-header .status-toggle.enabled .toggle-thumb[data-v-163c5416]{left:29px}.server-card-header .toggle-label[data-v-163c5416]{font-size:10px}@media (max-width: 768px){.mcp-header[data-v-163c5416]{flex-direction:column;gap:16px;align-items:stretch}.search-input[data-v-163c5416]{width:100%}.search-input[data-v-163c5416]:focus{width:100%}.mcp-table-wrapper[data-v-163c5416]{overflow-x:scroll}.mcp-table[data-v-163c5416]{min-width:600px}.connection-type-options[data-v-163c5416],.mcp-form-actions[data-v-163c5416]{flex-direction:column;gap:12px}.mcp-form-actions button[data-v-163c5416]{width:100%}.form-row[data-v-163c5416]{flex-direction:column;gap:15px}.narrow-input[data-v-163c5416]{width:100%}.server-detail[data-v-163c5416]{padding:16px}.detail-header[data-v-163c5416]{margin-bottom:16px}.detail-content[data-v-163c5416]{gap:16px}.form-row[data-v-163c5416]{flex-direction:column;gap:16px}.form-actions[data-v-163c5416]{flex-direction:column;gap:8px}.form-actions .action-btn[data-v-163c5416]{width:100%}}.json-actions[data-v-163c5416]{display:flex;gap:8px;align-items:center}.json-import-form[data-v-163c5416]{height:100%;display:flex;flex-direction:column}.json-import-form .form-item[data-v-163c5416]{flex:1;display:flex;flex-direction:column}.json-import-form .form-item label[data-v-163c5416]{margin-bottom:8px}.json-import-form .monaco-editor[data-v-163c5416]{flex:1;min-height:600px;border:none;border-radius:0}.validation-errors[data-v-163c5416]{margin-top:12px;padding:12px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:4px}.error-item[data-v-163c5416]{color:#f44;font-size:14px;margin-bottom:4px}.error-item[data-v-163c5416]:last-child{margin-bottom:0}.json-tab-panel[data-v-163c5416]{margin-top:8px}.example-json[data-v-163c5416]{margin:0;padding:12px;background:#ffffff08;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4}.example-json code[data-v-163c5416]{color:#ffffffe6;background:none;padding:0;border:none;border-radius:0;font-family:inherit;font-size:inherit}.example-json .string[data-v-163c5416]{color:#a78bfa}.example-json .number[data-v-163c5416]{color:#fbbf24}.example-json .boolean[data-v-163c5416]{color:#f87171}.example-json .null[data-v-163c5416]{color:#fff9}.example-json .key[data-v-163c5416]{color:#34d399}.custom-select[data-v-4c6d676f]{position:relative;display:inline-block}.select-btn[data-v-4c6d676f]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(80 78 78);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;outline:none}.select-btn[data-v-4c6d676f]:hover{background:#667eea26;border-color:#7c9eff;color:#a3bffa;box-shadow:0 0 15px #667eea33}.select-btn[data-v-4c6d676f]:focus{box-shadow:0 0 0 3px #667eea80}.current-option[data-v-4c6d676f]{color:inherit;font-weight:600;min-width:40px;text-align:left;text-shadow:none}.chevron[data-v-4c6d676f]{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.9;filter:none}.select-dropdown[data-v-4c6d676f]{position:absolute;top:100%;left:0;z-index:9999;margin-top:4px;background:linear-gradient(135deg,#282832f2,#1e1e28f2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(102,126,234,.3);border-radius:8px;box-shadow:0 8px 32px #0006,0 0 0 1px #667eea33;min-width:300px}.dropdown-header[data-v-4c6d676f]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(102,126,234,.2);font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea1a,#667eea0d)}.close-btn[data-v-4c6d676f]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn[data-v-4c6d676f]:hover{background:#ffffff1a;color:#fffc}.select-options[data-v-4c6d676f]{padding:8px 0}.select-option[data-v-4c6d676f]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-align:left}.select-option[data-v-4c6d676f]:hover{background:#ffffff0d;color:#ffffffe6}.select-option.active[data-v-4c6d676f]{background:linear-gradient(135deg,#667eea33,#667eea1a);color:#7c9eff;border-left:3px solid #667eea;padding-left:13px}.option-type[data-v-4c6d676f]{display:inline-block;min-width:24px;font-size:12px;font-weight:600;opacity:.8}.option-name[data-v-4c6d676f]{flex:1;font-size:14px;font-weight:500}.check-icon[data-v-4c6d676f]{color:#667eea;opacity:.8}.spacer[data-v-4c6d676f]{display:inline-block;width:12px}.backdrop[data-v-4c6d676f]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}.slideDown-enter-active[data-v-4c6d676f],.slideDown-leave-active[data-v-4c6d676f]{transition:all .2s ease;transform-origin:top}.slideDown-enter-from[data-v-4c6d676f],.slideDown-leave-to[data-v-4c6d676f]{opacity:0;transform:translateY(-8px) scale(.95)}.actions-container[data-v-86dcf751]{display:flex;align-items:center;gap:16px}.action-btn.warning[data-v-86dcf751]{background:#f59e0b;color:#fff}.action-btn.warning[data-v-86dcf751]:hover{background:#d97706}.action-btn.info[data-v-86dcf751]{background:#3b82f6;color:#fff}.action-btn.info[data-v-86dcf751]:hover{background:#2563eb}.import-language-dropdown[data-v-86dcf751]{display:inline-block}.language-select-modal[data-v-86dcf751]{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#fff;font-size:14px;outline:none}.language-select-modal[data-v-86dcf751]:focus{border-color:#409eff}.warning-notice[data-v-86dcf751]{display:flex;align-items:flex-start;gap:8px;padding:12px;margin-top:16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px}.warning-icon-small[data-v-86dcf751]{color:#f59e0b;font-size:16px;margin-top:2px;flex-shrink:0}.warning-notice p[data-v-86dcf751]{margin:0;font-size:14px;color:#fffc}.prompt-layout[data-v-86dcf751]{display:flex;gap:12px;flex:1;min-height:0}.prompt-list[data-v-86dcf751]{width:336px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-86dcf751]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-86dcf751]{margin:0;font-size:18px}.prompt-count[data-v-86dcf751]{color:#fff9;font-size:14px}.prompts-container[data-v-86dcf751]{flex:1;overflow-y:auto;margin-bottom:16px;padding-right:6px}.loading-state[data-v-86dcf751]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.loading-icon[data-v-86dcf751]{animation:spin-86dcf751 1s linear infinite}@keyframes spin-86dcf751{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-86dcf751]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-86dcf751]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-86dcf751]{font-size:14px;margin-top:8px}.prompt-card[data-v-86dcf751]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.prompt-card[data-v-86dcf751]:hover{background:#ffffff0d;border-color:#fff3}.prompt-card.active[data-v-86dcf751]{border-color:#667eea;background:#667eea1a}.prompt-card-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center}.prompt-name[data-v-86dcf751]{font-weight:500;font-size:16px}.prompt-desc[data-v-86dcf751]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:0;margin-top:8px}.prompt-tools[data-v-86dcf751]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-86dcf751]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-86dcf751]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-86dcf751]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-86dcf751]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-86dcf751]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.prompt-detail[data-v-86dcf751]{flex:1;background:#ffffff08;border-radius:12px;padding:12px 24px;overflow-y:auto}.no-selection[data-v-86dcf751]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-86dcf751]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-86dcf751]{margin:0;font-size:20px}.detail-actions[data-v-86dcf751]{display:flex;gap:12px}.form-section[data-v-86dcf751]{margin-bottom:32px}.form-item[data-v-86dcf751]{margin-bottom:20px}.form-item label[data-v-86dcf751]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-86dcf751],.form-item textarea[data-v-86dcf751]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-86dcf751]:focus,.form-item textarea[data-v-86dcf751]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-86dcf751]::placeholder,.form-item textarea[data-v-86dcf751]::placeholder{color:#fff6}.form-item input[data-v-86dcf751]:disabled,.form-item textarea[data-v-86dcf751]:disabled{cursor:not-allowed;background:#ffffff08;color:#fff;border-color:#ffffff0d;opacity:.6}.form-item textarea[data-v-86dcf751]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-86dcf751]{color:#ff6b6b}.section-header[data-v-86dcf751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-86dcf751]{font-weight:500;color:#fffc}.action-btn[data-v-86dcf751]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-86dcf751]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-86dcf751]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-86dcf751]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-86dcf751]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-86dcf751]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-86dcf751]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-86dcf751]{padding:6px 12px;font-size:12px}.modal-form[data-v-86dcf751]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-86dcf751]{text-align:center;padding:20px 0}.delete-confirm p[data-v-86dcf751]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-86dcf751]{color:#fff9;font-size:14px}.warning-icon[data-v-86dcf751]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-86dcf751],.cancel-btn[data-v-86dcf751]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-86dcf751],.cancel-btn.danger[data-v-86dcf751]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-86dcf751]:hover,.cancel-btn.danger[data-v-86dcf751]:hover{background:#ea66664d}.tags[data-v-86dcf751]{margin-top:8px}.tags .tag[data-v-86dcf751]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.cancel-btn[data-v-86dcf751]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-86dcf751]:hover{background:#ffffff1a}@keyframes slideIn-86dcf751{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.namespace-layout[data-v-c4f8fbf9]{display:flex;gap:12px;flex:1;min-height:0}.namespace-list[data-v-c4f8fbf9]{width:336px;flex-shrink:0;display:flex;flex-direction:column}.list-header[data-v-c4f8fbf9]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-header h3[data-v-c4f8fbf9]{margin:0;font-size:18px}.namespace-count[data-v-c4f8fbf9]{color:#fff9;font-size:14px}.namespaces-container[data-v-c4f8fbf9]{flex:1;overflow-y:auto;margin-bottom:16px;padding-right:6px}.loading-state[data-v-c4f8fbf9]{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:#fff9}.loading-icon[data-v-c4f8fbf9]{animation:spin-c4f8fbf9 1s linear infinite}@keyframes spin-c4f8fbf9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-c4f8fbf9]{text-align:center;padding:60px 20px;color:#fff9}.empty-icon[data-v-c4f8fbf9]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-tip[data-v-c4f8fbf9]{font-size:14px;margin-top:8px}.namespace-card[data-v-c4f8fbf9]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.namespace-card[data-v-c4f8fbf9]:hover{background:#ffffff0d;border-color:#fff3}.namespace-card.active[data-v-c4f8fbf9]{border-color:#667eea;background:#667eea1a}.namespace-card-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center}.namespace-name[data-v-c4f8fbf9]{font-weight:500;font-size:16px}.namespace-desc[data-v-c4f8fbf9]{color:#ffffffb3;font-size:14px;line-height:1.4;margin-bottom:0;margin-top:8px}.namespace-tools[data-v-c4f8fbf9]{display:flex;flex-wrap:wrap;gap:6px}.tool-tag[data-v-c4f8fbf9]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.tool-more[data-v-c4f8fbf9]{color:#ffffff80;font-size:12px;padding:4px 8px}.no-tools-indicator[data-v-c4f8fbf9]{color:#fff6;font-size:12px;font-style:italic}.add-btn[data-v-c4f8fbf9]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:14px}.add-btn[data-v-c4f8fbf9]:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.namespace-detail[data-v-c4f8fbf9]{flex:1;background:#ffffff08;border-radius:12px;padding:12px 24px;overflow-y:auto}.no-selection[data-v-c4f8fbf9]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff9}.placeholder-icon[data-v-c4f8fbf9]{font-size:64px;margin-bottom:24px;opacity:.3}.detail-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header h3[data-v-c4f8fbf9]{margin:0;font-size:20px}.detail-actions[data-v-c4f8fbf9]{display:flex;gap:12px}.form-section[data-v-c4f8fbf9]{margin-bottom:32px}.form-item[data-v-c4f8fbf9]{margin-bottom:20px}.form-item label[data-v-c4f8fbf9]{display:block;margin-bottom:8px;color:#ffffffe6;font-weight:500}.form-item input[data-v-c4f8fbf9],.form-item textarea[data-v-c4f8fbf9]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-item input[data-v-c4f8fbf9]:focus,.form-item textarea[data-v-c4f8fbf9]:focus{border-color:#667eea;outline:none;background:#ffffff14}.form-item input[data-v-c4f8fbf9]::placeholder,.form-item textarea[data-v-c4f8fbf9]::placeholder{color:#fff6}.form-item input[data-v-c4f8fbf9]:disabled,.form-item textarea[data-v-c4f8fbf9]:disabled{cursor:not-allowed;background:#ffffff08;color:#fff;border-color:#ffffff0d;opacity:.6}.form-item textarea[data-v-c4f8fbf9]{resize:vertical;min-height:80px;line-height:1.5}.required[data-v-c4f8fbf9]{color:#ff6b6b}.section-header[data-v-c4f8fbf9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header span[data-v-c4f8fbf9]{font-weight:500;color:#fffc}.action-btn[data-v-c4f8fbf9]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.action-btn[data-v-c4f8fbf9]:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.action-btn[data-v-c4f8fbf9]:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary[data-v-c4f8fbf9]{background:#667eea33;border-color:#667eea4d;color:#a8b3ff}.action-btn.primary[data-v-c4f8fbf9]:hover:not(:disabled){background:#667eea4d}.action-btn.danger[data-v-c4f8fbf9]{background:#ea66661a;border-color:#ea666633;color:#ff8a8a}.action-btn.danger[data-v-c4f8fbf9]:hover:not(:disabled){background:#ea666633}.action-btn.small[data-v-c4f8fbf9]{padding:6px 12px;font-size:12px}.modal-form[data-v-c4f8fbf9]{display:flex;flex-direction:column;gap:16px}.delete-confirm[data-v-c4f8fbf9]{text-align:center;padding:20px 0}.delete-confirm p[data-v-c4f8fbf9]{color:#fffc;margin:8px 0}.delete-confirm .warning-text[data-v-c4f8fbf9]{color:#fff9;font-size:14px}.warning-icon[data-v-c4f8fbf9]{font-size:48px;color:#ffa726;margin-bottom:16px}.confirm-btn[data-v-c4f8fbf9],.cancel-btn[data-v-c4f8fbf9]{padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.confirm-btn.danger[data-v-c4f8fbf9],.cancel-btn.danger[data-v-c4f8fbf9]{background:#ea666633;border:1px solid rgba(234,102,102,.3);color:#ff8a8a}.confirm-btn.danger[data-v-c4f8fbf9]:hover,.cancel-btn.danger[data-v-c4f8fbf9]:hover{background:#ea66664d}.tags[data-v-c4f8fbf9]{margin-top:8px}.tags .tag[data-v-c4f8fbf9]{display:inline-block;padding:4px 8px;background:#667eea33;border-radius:4px;font-size:12px;color:#a8b3ff}.cancel-btn[data-v-c4f8fbf9]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.cancel-btn[data-v-c4f8fbf9]:hover{background:#ffffff1a}@keyframes slideIn-c4f8fbf9{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.setting-icon[data-v-4727c0a4]{color:#667eea;margin-left:4px;cursor:pointer}.config-container[data-v-29da4edc]{height:100vh;background:#ffffff05;color:#fff}.config-header[data-v-29da4edc]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.header-actions[data-v-29da4edc]{display:flex;justify-content:space-between;align-items:center;width:100%}.header-actions-left[data-v-29da4edc]{display:flex;align-items:center;gap:14px}.config-header h1[data-v-29da4edc]{background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:24px;font-weight:600}.config-content[data-v-29da4edc]{display:flex;height:calc(100vh - 80px)}.config-nav[data-v-29da4edc]{width:242px;padding:20px;border-right:1px solid rgba(255,255,255,.1)}.nav-item[data-v-29da4edc]{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:8px;border-radius:8px;cursor:pointer;transition:all .3s}.nav-item[data-v-29da4edc]:hover{background:#ffffff0d}.nav-item.active[data-v-29da4edc]{background:#667eea1a;border:1px solid rgba(102,126,234,.2)}.config-details[data-v-29da4edc]{flex:1;padding:24px 30px;overflow-y:auto}.action-btn[data-v-29da4edc]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .3s}.action-btn[data-v-29da4edc]:hover{background:#ffffff1a} diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Cre7phQP.css b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Cre7phQP.css deleted file mode 100644 index d47bac9551..0000000000 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Cre7phQP.css +++ /dev/null @@ -1 +0,0 @@ -.init-container[data-v-4a70901c]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;position:relative;padding:40px 20px}.init-card[data-v-4a70901c]{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;width:100%;max-width:480px;box-shadow:0 20px 40px #0000004d;position:relative;z-index:10;margin:auto;max-height:none}.init-header[data-v-4a70901c]{text-align:center;margin-bottom:40px}.logo h1[data-v-4a70901c]{font-size:48px;margin:0 0 16px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.init-header h2[data-v-4a70901c]{font-size:28px;color:#fff;margin:0 0 12px;font-weight:600}.description[data-v-4a70901c]{color:#888;font-size:16px;line-height:1.6;margin:0}.init-form[data-v-4a70901c]{margin-bottom:24px}.step-indicator[data-v-4a70901c]{display:flex;align-items:center;justify-content:center;margin:32px 0;padding:0 20px}.step[data-v-4a70901c]{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;transition:all .3s ease}.step.active[data-v-4a70901c],.step.completed[data-v-4a70901c]{opacity:1}.step-number[data-v-4a70901c]{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;transition:all .3s ease}.step.active .step-number[data-v-4a70901c]{background:#667eea;border-color:#667eea;color:#fff}.step.completed .step-number[data-v-4a70901c]{background:#4ade80;border-color:#4ade80;color:#fff}.step-label[data-v-4a70901c]{font-size:14px;color:#888;text-align:center;transition:all .3s ease}.step.active .step-label[data-v-4a70901c]{color:#fff;font-weight:500}.step.completed .step-label[data-v-4a70901c]{color:#4ade80}.step-divider[data-v-4a70901c]{width:60px;height:2px;background:#fff3;margin:0 20px}.language-selection[data-v-4a70901c]{margin-bottom:0}.language-options[data-v-4a70901c]{display:flex;flex-direction:column;gap:16px}.language-option[data-v-4a70901c]{display:flex;align-items:center;padding:20px;border:2px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;background:#ffffff05}.language-option[data-v-4a70901c]:hover{border-color:#667eea66;background:#ffffff0d;transform:translateY(-2px)}.language-option.active[data-v-4a70901c]{border-color:#667eea;background:#667eea1a;transform:translateY(-2px)}.language-option input[type=radio][data-v-4a70901c]{margin:0 16px 0 0;width:20px;height:20px;accent-color:#667eea}.language-content[data-v-4a70901c]{display:flex;align-items:center;gap:16px}.language-flag[data-v-4a70901c]{font-size:32px;line-height:1}.language-text[data-v-4a70901c]{display:flex;flex-direction:column;gap:4px}.language-text strong[data-v-4a70901c]{color:#fff;font-size:18px;font-weight:600}.language-text small[data-v-4a70901c]{color:#888;font-size:14px}.form-group[data-v-4a70901c]{margin-bottom:24px}.form-label[data-v-4a70901c]{display:block;font-weight:500;color:#fff;margin-bottom:8px;font-size:14px}.required[data-v-4a70901c]{color:#e53e3e;margin-left:4px}.form-input[data-v-4a70901c]{width:100%;padding:12px 16px;border:2px solid rgba(255,255,255,.2);border-radius:8px;font-size:16px;transition:all .3s ease;background:#ffffff0d;color:#fff;box-sizing:border-box}.form-input[data-v-4a70901c]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33;background:#ffffff14}.form-input[data-v-4a70901c]:disabled{background:#ffffff05;cursor:not-allowed;opacity:.6}.form-input[data-v-4a70901c]::placeholder{color:#666}.config-mode-selection[data-v-4a70901c]{display:flex;flex-direction:column;gap:16px}.radio-option[data-v-4a70901c]{display:flex;align-items:flex-start;padding:16px;border:2px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;background:#ffffff05}.radio-option[data-v-4a70901c]:hover{border-color:#667eea66;background:#ffffff0d}.radio-option.active[data-v-4a70901c]{border-color:#667eea;background:#667eea1a}.radio-option input[type=radio][data-v-4a70901c]{margin:4px 12px 0 0;width:16px;height:16px;accent-color:#667eea}.radio-text[data-v-4a70901c]{display:flex;flex-direction:column;gap:4px}.radio-text strong[data-v-4a70901c]{color:#fff;font-size:16px;font-weight:600}.radio-text small[data-v-4a70901c]{color:#888;font-size:14px;line-height:1.4}.custom-config-section[data-v-4a70901c]{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;background:#ffffff05;margin-top:8px}.form-hint[data-v-4a70901c]{font-size:13px;color:#888;margin-top:6px;line-height:1.4}.help-link[data-v-4a70901c]{color:#667eea;text-decoration:none;font-weight:500}.help-link[data-v-4a70901c]:hover{text-decoration:underline;color:#8b9cf0}.form-actions[data-v-4a70901c]{display:flex;gap:16px;justify-content:center;align-items:center}.form-actions.single[data-v-4a70901c]{justify-content:center}.back-btn[data-v-4a70901c]{padding:12px 32px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:120px}.back-btn[data-v-4a70901c]:hover:not(:disabled){border-color:#667eea;background:#667eea1a;transform:translateY(-2px)}.back-btn[data-v-4a70901c]:disabled{opacity:.5;cursor:not-allowed}.submit-btn[data-v-4a70901c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.submit-btn[data-v-4a70901c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.submit-btn[data-v-4a70901c]:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner[data-v-4a70901c]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-4a70901c 1s linear infinite}@keyframes spin-4a70901c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-4a70901c]{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;border:1px solid #feb2b2;font-size:14px;margin-top:16px}.success-message[data-v-4a70901c]{background:#c6f6d5;color:#2f855a;padding:12px 16px;border-radius:8px;border:1px solid #9ae6b4;font-size:14px;margin-top:16px}.error-fade-enter-active[data-v-4a70901c],.error-fade-leave-active[data-v-4a70901c],.success-fade-enter-active[data-v-4a70901c],.success-fade-leave-active[data-v-4a70901c]{transition:all .3s ease}.error-fade-enter-from[data-v-4a70901c],.error-fade-leave-to[data-v-4a70901c],.success-fade-enter-from[data-v-4a70901c],.success-fade-leave-to[data-v-4a70901c]{opacity:0;transform:translateY(-10px)}.background-animation[data-v-4a70901c]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.floating-shape[data-v-4a70901c]{position:absolute;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:50%;animation:float-4a70901c 20s infinite linear}.floating-shape[data-v-4a70901c]:nth-child(1){width:80px;height:80px;left:10%;animation-duration:25s;animation-delay:0s}.floating-shape[data-v-4a70901c]:nth-child(2){width:120px;height:120px;left:20%;animation-duration:30s;animation-delay:5s}.floating-shape[data-v-4a70901c]:nth-child(3){width:60px;height:60px;left:70%;animation-duration:22s;animation-delay:10s}.floating-shape[data-v-4a70901c]:nth-child(4){width:100px;height:100px;left:80%;animation-duration:28s;animation-delay:15s}.floating-shape[data-v-4a70901c]:nth-child(5){width:40px;height:40px;left:40%;animation-duration:35s;animation-delay:20s}.floating-shape[data-v-4a70901c]:nth-child(6){width:90px;height:90px;left:60%;animation-duration:24s;animation-delay:8s}@keyframes float-4a70901c{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.1}90%{opacity:.1}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.background-effects[data-v-4a70901c]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.gradient-orb[data-v-4a70901c]{position:absolute;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);opacity:.1;animation:orbit-4a70901c 20s infinite linear}.orb-1[data-v-4a70901c]{width:400px;height:400px;top:-200px;left:-200px;animation-duration:25s}.orb-2[data-v-4a70901c]{width:300px;height:300px;bottom:-150px;right:-150px;animation-duration:30s;animation-direction:reverse}.orb-3[data-v-4a70901c]{width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);animation-duration:35s}@keyframes orbit-4a70901c{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@media (max-height: 800px){.init-container[data-v-4a70901c]{align-items:flex-start;padding:20px 0 40px}.init-card[data-v-4a70901c]{margin:20px auto}.init-header[data-v-4a70901c]{margin-bottom:30px}.logo h1[data-v-4a70901c]{font-size:36px}.init-header h2[data-v-4a70901c]{font-size:24px}}@media (max-width: 768px){.init-container[data-v-4a70901c]{padding:20px}.init-card[data-v-4a70901c]{padding:30px 24px}.logo h1[data-v-4a70901c]{font-size:40px}.init-header h2[data-v-4a70901c]{font-size:24px}.description[data-v-4a70901c]{font-size:15px}.step-indicator[data-v-4a70901c]{margin:24px 0;padding:0 10px}.step-divider[data-v-4a70901c]{width:40px;margin:0 15px}.language-flag[data-v-4a70901c]{font-size:28px}.language-text strong[data-v-4a70901c]{font-size:16px}.form-actions[data-v-4a70901c]{flex-direction:column}.back-btn[data-v-4a70901c],.submit-btn[data-v-4a70901c]{width:100%;min-width:auto}}@media (max-width: 640px){.init-container[data-v-4a70901c]{padding:15px}.init-card[data-v-4a70901c]{padding:24px;margin:0;border-radius:16px}.logo h1[data-v-4a70901c]{font-size:32px}.init-header h2[data-v-4a70901c]{font-size:22px}.description[data-v-4a70901c]{font-size:14px}.step-indicator[data-v-4a70901c]{margin:20px 0;padding:0 5px}.step-number[data-v-4a70901c]{width:36px;height:36px;font-size:14px}.step-label[data-v-4a70901c]{font-size:12px}.step-divider[data-v-4a70901c]{width:30px;margin:0 10px}.language-option[data-v-4a70901c]{padding:16px}.language-flag[data-v-4a70901c]{font-size:24px}.language-text strong[data-v-4a70901c]{font-size:16px}.language-text small[data-v-4a70901c]{font-size:13px}} diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BWtFaKEl.css b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D55Gujbf.css similarity index 84% rename from spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BWtFaKEl.css rename to spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D55Gujbf.css index a59cea49a1..ef85bc59e2 100644 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-BWtFaKEl.css +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D55Gujbf.css @@ -1 +1 @@ -.sidebar-wrapper[data-v-6a8987dc]{position:relative;width:600px;height:100vh;background:#ffffff0d;border-right:1px solid rgba(255,255,255,.1);transition:all .3s ease-in-out;overflow:hidden}.sidebar-wrapper-collapsed[data-v-6a8987dc]{border-right:none;width:0}.sidebar-wrapper-collapsed .sidebar-content[data-v-6a8987dc]{opacity:0;pointer-events:none}.sidebar-content[data-v-6a8987dc]{height:100%;width:100%;padding:12px 0 12px 12px;display:flex;flex-direction:column;transition:all .3s ease-in-out}.sidebar-content .sidebar-content-header[data-v-6a8987dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;overflow:hidden}.sidebar-content .sidebar-content-header .sidebar-content-title[data-v-6a8987dc]{font-size:20px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .tab-switcher[data-v-6a8987dc]{display:flex;margin-bottom:16px;background:#ffffff0d;border-radius:8px;padding:4px}.sidebar-content .tab-switcher .tab-button[data-v-6a8987dc]{flex:1;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:#ffffffb3;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.sidebar-content .tab-switcher .tab-button[data-v-6a8987dc]:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.sidebar-content .tab-switcher .tab-button.active[data-v-6a8987dc]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sidebar-content .tab-switcher .tab-button[data-v-6a8987dc]:disabled{opacity:.5;cursor:not-allowed}.sidebar-content .tab-content[data-v-6a8987dc]{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-content .config-tab .config-container[data-v-6a8987dc]{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:12px}.sidebar-content .config-tab .config-container .template-info-header[data-v-6a8987dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:8px}.sidebar-content .config-tab .config-container .template-info-header .template-info[data-v-6a8987dc]{flex:1;min-width:0}.sidebar-content .config-tab .config-container .template-info-header .template-info h3[data-v-6a8987dc]{margin:0 0 4px;font-size:14px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .config-tab .config-container .template-info-header .template-info .template-id[data-v-6a8987dc]{font-size:11px;color:#ffffff80}.sidebar-content .config-tab .config-container .template-info-header .back-to-list-btn[data-v-6a8987dc]{width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-content .config-tab .config-container .template-info-header .back-to-list-btn[data-v-6a8987dc]:hover{background:#ffffff1a;color:#fff}.sidebar-content .config-tab .config-container .config-section[data-v-6a8987dc]{margin-bottom:16px;background:#ffffff0d;border-radius:8px;padding:12px}.sidebar-content .config-tab .config-container .config-section .section-header[data-v-6a8987dc]{display:flex;align-items:center;margin-bottom:12px;color:#667eea;font-size:13px;font-weight:600;gap:8px}.sidebar-content .config-tab .config-container .config-section .section-header .section-actions[data-v-6a8987dc]{margin-left:auto;display:flex;gap:6px}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-6a8987dc],.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-6a8987dc],.sidebar-content .config-tab .config-container .config-section .params-input[data-v-6a8987dc]{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;padding:8px;resize:vertical;min-height:100px}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-6a8987dc]:focus,.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-6a8987dc]:focus,.sidebar-content .config-tab .config-container .config-section .params-input[data-v-6a8987dc]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-6a8987dc]::placeholder,.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-6a8987dc]::placeholder,.sidebar-content .config-tab .config-container .config-section .params-input[data-v-6a8987dc]::placeholder{color:#fff6}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-6a8987dc]{min-height:200px;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;-moz-tab-size:2;tab-size:2;font-variant-ligatures:none}.sidebar-content .config-tab .config-container .config-section .generator-content[data-v-6a8987dc]{display:flex;flex-direction:column;gap:8px}.sidebar-content .config-tab .config-container .config-section .generator-content .generator-actions[data-v-6a8987dc]{display:flex;gap:8px}.sidebar-content .config-tab .config-container .config-section .execution-content[data-v-6a8987dc]{display:flex;flex-direction:column;gap:12px}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group label[data-v-6a8987dc]{display:block;margin-bottom:6px;font-size:12px;color:#fffc;font-weight:500}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container[data-v-6a8987dc]{position:relative;display:flex;align-items:center}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .params-input[data-v-6a8987dc]{min-height:auto;padding-right:32px}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .clear-params-btn[data-v-6a8987dc]{position:absolute;right:8px;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .clear-params-btn[data-v-6a8987dc]:hover{background:#f003;color:#ff6b6b}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-help-text[data-v-6a8987dc]{margin-bottom:6px;font-size:11px;color:#fff9;line-height:1.4;padding:6px 8px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:4px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display[data-v-6a8987dc]{padding:8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:11px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display .api-url-label[data-v-6a8987dc]{color:#ffffffb3;margin-right:8px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display .api-url[data-v-6a8987dc]{color:#64b5f6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all}.sidebar-content .config-tab .config-container .config-section .execution-content .execute-btn[data-v-6a8987dc]{padding:10px 16px;font-size:13px;font-weight:500}.sidebar-content .btn[data-v-6a8987dc]{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.sidebar-content .btn.btn-sm[data-v-6a8987dc]{padding:4px 8px;font-size:11px}.sidebar-content .btn.btn-primary[data-v-6a8987dc]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-content .btn.btn-primary[data-v-6a8987dc]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.sidebar-content .btn.btn-secondary[data-v-6a8987dc]{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.sidebar-content .btn.btn-secondary[data-v-6a8987dc]:hover:not(:disabled){background:#fff3;color:#fff}.sidebar-content .btn[data-v-6a8987dc]:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.sidebar-content .btn .spinning[data-v-6a8987dc]{animation:spin-6a8987dc 1s linear infinite}.sidebar-content .new-task-section[data-v-6a8987dc]{margin-bottom:16px;padding-right:12px}.sidebar-content .new-task-section .new-task-btn[data-v-6a8987dc]{width:100%;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.sidebar-content .new-task-section .new-task-btn[data-v-6a8987dc]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.sidebar-content .new-task-section .new-task-btn .shortcut[data-v-6a8987dc]{font-size:12px;opacity:.8;margin-left:auto}.sidebar-content .sidebar-content-list[data-v-6a8987dc]{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding-right:12px}.sidebar-content .sidebar-content-list .loading-state[data-v-6a8987dc],.sidebar-content .sidebar-content-list .error-state[data-v-6a8987dc],.sidebar-content .sidebar-content-list .empty-state[data-v-6a8987dc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#fff9;font-size:14px;text-align:center;gap:12px}.sidebar-content .sidebar-content-list .loading-state .spinning[data-v-6a8987dc],.sidebar-content .sidebar-content-list .error-state .spinning[data-v-6a8987dc],.sidebar-content .sidebar-content-list .empty-state .spinning[data-v-6a8987dc]{animation:spin-6a8987dc 1s linear infinite}.sidebar-content .sidebar-content-list .loading-state .retry-btn[data-v-6a8987dc],.sidebar-content .sidebar-content-list .error-state .retry-btn[data-v-6a8987dc],.sidebar-content .sidebar-content-list .empty-state .retry-btn[data-v-6a8987dc]{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:12px;transition:background-color .2s ease}.sidebar-content .sidebar-content-list .loading-state .retry-btn[data-v-6a8987dc]:hover,.sidebar-content .sidebar-content-list .error-state .retry-btn[data-v-6a8987dc]:hover,.sidebar-content .sidebar-content-list .empty-state .retry-btn[data-v-6a8987dc]:hover{background:#fff3}.sidebar-content .sidebar-content-list .sidebar-content-list-item[data-v-6a8987dc]{display:flex;align-items:flex-start;padding:12px;margin-bottom:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-content .sidebar-content-list .sidebar-content-list-item[data-v-6a8987dc]:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.sidebar-content .sidebar-content-list .sidebar-content-list-item.sidebar-content-list-item-active[data-v-6a8987dc]{border:2px solid #667eea;background:#667eea1a}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-icon[data-v-6a8987dc]{margin-right:12px;color:#667eea;flex-shrink:0;margin-top:2px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details[data-v-6a8987dc]{flex:1;min-width:0}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details .task-title[data-v-6a8987dc]{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details .task-preview[data-v-6a8987dc]{font-size:12px;color:#ffffffb3;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-time[data-v-6a8987dc]{font-size:11px;color:#ffffff80;margin-left:8px;flex-shrink:0;position:absolute;top:12px;right:40px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions[data-v-6a8987dc]{display:flex;align-items:center;margin-left:8px;flex-shrink:0}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions .delete-task-btn[data-v-6a8987dc]{width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:absolute;top:12px;right:12px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions .delete-task-btn[data-v-6a8987dc]:hover{background:#f003;color:#ff6b6b}@keyframes spin-6a8987dc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.right-panel[data-v-e90596ce]{width:50%;display:flex;flex-direction:column}.preview-header[data-v-e90596ce]{padding:20px 24px;border-bottom:1px solid #1a1a1a;background:#ffffff05}.preview-header .tab-button[data-v-e90596ce]{padding:8px 16px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea;color:#667eea;cursor:default;display:flex;align-items:center;gap:6px;font-size:14px}.preview-content[data-v-e90596ce]{flex:1;display:flex;flex-direction:column;min-height:0}.step-details[data-v-e90596ce]{flex:1;position:relative;display:flex;flex-direction:column;min-height:0}.step-info-fixed[data-v-e90596ce]{position:sticky;top:0;z-index:10;background:#292a2df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:20px;margin:0 20px;border-radius:8px 8px 0 0}.step-info-fixed h3[data-v-e90596ce]{color:#fff;margin:0 0 16px;font-size:18px;font-weight:600;padding-bottom:8px;border-bottom:2px solid #667eea}.step-details-scroll-container[data-v-e90596ce]{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;margin:0 20px 20px;background:#ffffff03;border-radius:0 0 8px 8px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar{width:6px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.agent-info[data-v-e90596ce]{margin-bottom:16px}.agent-info .info-item[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:14px;line-height:1.4}.agent-info .info-item .label[data-v-e90596ce]{min-width:100px;font-weight:600;color:#888;flex-shrink:0}.agent-info .info-item .value[data-v-e90596ce]{flex:1;color:#ccc;word-break:break-word}.agent-info .info-item .value.success[data-v-e90596ce]{color:#27ae60}.execution-status[data-v-e90596ce]{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.execution-status .status-item[data-v-e90596ce]{display:flex;align-items:center;gap:8px}.execution-status .status-item .status-icon[data-v-e90596ce]{font-size:16px}.execution-status .status-item .status-icon.success[data-v-e90596ce]{color:#27ae60}.execution-status .status-item .status-icon.progress[data-v-e90596ce]{color:#3498db}.execution-status .status-item .status-icon.pending[data-v-e90596ce]{color:#f39c12}.execution-status .status-item .status-text[data-v-e90596ce]{color:#ccc;font-weight:500}.no-steps-message[data-v-e90596ce]{text-align:center;color:#666;font-style:italic;margin-top:16px}.no-steps-message p[data-v-e90596ce]{margin:0}.no-execution-message[data-v-e90596ce]{padding:20px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:16px}.no-execution-message .info-icon[data-v-e90596ce]{color:#6c757d;font-size:20px;margin-bottom:8px}.no-execution-message h4[data-v-e90596ce]{margin:0 0 16px;color:#495057;font-size:16px;font-weight:500}.no-execution-message .step-basic-info .info-item[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:14px}.no-execution-message .step-basic-info .info-item .label[data-v-e90596ce]{font-weight:500;color:#6c757d;min-width:80px;margin-right:8px}.no-execution-message .step-basic-info .info-item .value[data-v-e90596ce]{color:#333;flex:1}.no-execution-message .step-basic-info .info-item .value.status-completed[data-v-e90596ce]{color:#28a745;font-weight:500}.no-execution-message .step-basic-info .info-item .value.status-current[data-v-e90596ce]{color:#007bff;font-weight:500}.no-execution-message .step-basic-info .info-item .value.status-pending[data-v-e90596ce]{color:#6c757d}.no-execution-message .no-execution-hint[data-v-e90596ce]{margin:16px 0 0;color:#6c757d;font-style:italic;font-size:13px;text-align:center}.execution-indicator[data-v-e90596ce]{margin-top:20px;padding:20px;background:#4a90e21a;border:1px solid rgba(74,144,226,.3);border-radius:8px;text-align:center;position:relative;overflow:hidden}.execution-waves[data-v-e90596ce]{position:relative;height:4px;margin-bottom:16px;background:#4a90e233;border-radius:2px;overflow:hidden}.wave[data-v-e90596ce]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(74,144,226,.6),transparent);border-radius:2px}.wave-1[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite}.wave-2[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite .6s}.wave-3[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite 1.2s}@keyframes wave-animation-e90596ce{0%{left:-100%}50%{left:100%}to{left:100%}}.execution-text[data-v-e90596ce]{color:#4a90e2;font-size:14px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px}.rotating-icon[data-v-e90596ce]{animation:rotate-animation-e90596ce 1s linear infinite}@keyframes rotate-animation-e90596ce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-info h3[data-v-e90596ce]{color:#fff;margin:0 0 20px;font-size:18px;font-weight:600}.think-act-steps[data-v-e90596ce]{margin-top:20px}.think-act-steps h4[data-v-e90596ce]{color:#fff;margin:0 0 16px;font-size:16px;font-weight:600;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.steps-container[data-v-e90596ce]{display:flex;flex-direction:column;gap:12px}.think-act-step[data-v-e90596ce]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.think-act-step .step-header[data-v-e90596ce]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.think-act-step .step-header .step-number[data-v-e90596ce]{font-weight:600;color:#667eea;font-size:14px}.think-act-step .step-header .step-status[data-v-e90596ce]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.think-act-step .step-header .step-status.completed[data-v-e90596ce]{background:#27ae6033;color:#27ae60}.think-act-step .step-header .step-status.running[data-v-e90596ce]{background:#3498db33;color:#3498db}.think-act-step .step-header .step-status.pending[data-v-e90596ce]{background:#f39c1233;color:#f39c12}.think-act-step .think-section[data-v-e90596ce],.think-act-step .action-section[data-v-e90596ce],.think-act-step .sub-plan-section[data-v-e90596ce]{margin-bottom:16px}.think-act-step .think-section[data-v-e90596ce]:last-child,.think-act-step .action-section[data-v-e90596ce]:last-child,.think-act-step .sub-plan-section[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .think-section h5[data-v-e90596ce],.think-act-step .action-section h5[data-v-e90596ce],.think-act-step .sub-plan-section h5[data-v-e90596ce]{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:600;color:#fff}.think-act-step .think-content .input[data-v-e90596ce],.think-act-step .action-content .input[data-v-e90596ce],.think-act-step .think-content .output[data-v-e90596ce],.think-act-step .action-content .output[data-v-e90596ce],.think-act-step .think-content .tool-info[data-v-e90596ce],.think-act-step .action-content .tool-info[data-v-e90596ce]{margin-bottom:12px}.think-act-step .think-content .input[data-v-e90596ce]:last-child,.think-act-step .action-content .input[data-v-e90596ce]:last-child,.think-act-step .think-content .output[data-v-e90596ce]:last-child,.think-act-step .action-content .output[data-v-e90596ce]:last-child,.think-act-step .think-content .tool-info[data-v-e90596ce]:last-child,.think-act-step .action-content .tool-info[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .think-content .input .label[data-v-e90596ce],.think-act-step .action-content .input .label[data-v-e90596ce],.think-act-step .think-content .output .label[data-v-e90596ce],.think-act-step .action-content .output .label[data-v-e90596ce],.think-act-step .think-content .tool-info .label[data-v-e90596ce],.think-act-step .action-content .tool-info .label[data-v-e90596ce]{display:block;font-weight:600;color:#888;margin-bottom:4px;font-size:12px}.think-act-step .think-content .input .value[data-v-e90596ce],.think-act-step .action-content .input .value[data-v-e90596ce],.think-act-step .think-content .output .value[data-v-e90596ce],.think-act-step .action-content .output .value[data-v-e90596ce],.think-act-step .think-content .tool-info .value[data-v-e90596ce],.think-act-step .action-content .tool-info .value[data-v-e90596ce]{color:#ccc;font-size:14px}.think-act-step .think-content .input pre[data-v-e90596ce],.think-act-step .action-content .input pre[data-v-e90596ce],.think-act-step .think-content .output pre[data-v-e90596ce],.think-act-step .action-content .output pre[data-v-e90596ce],.think-act-step .think-content .tool-info pre[data-v-e90596ce],.think-act-step .action-content .tool-info pre[data-v-e90596ce]{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ccc;font-size:12px;overflow-x:auto;white-space:pre-wrap;margin:0;line-height:1.4;max-height:200px;overflow-y:auto}.think-act-step .sub-plan-content .sub-plan-header[data-v-e90596ce]{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:6px;padding:12px;margin-bottom:12px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:12px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info .label[data-v-e90596ce]{min-width:80px;font-weight:600;color:#888;flex-shrink:0}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info .value[data-v-e90596ce]{flex:1;color:#ccc;word-break:break-word}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status[data-v-e90596ce]{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon[data-v-e90596ce]{font-size:14px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon.success[data-v-e90596ce]{color:#27ae60}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon.progress[data-v-e90596ce]{color:#3498db}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-text[data-v-e90596ce]{color:#ccc;font-size:12px;font-weight:500}.no-selection[data-v-e90596ce]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666}.no-selection .empty-icon[data-v-e90596ce]{font-size:48px;margin-bottom:16px;color:#444}.no-selection h3[data-v-e90596ce]{margin:0 0 8px;font-size:18px;color:#888}.no-selection p[data-v-e90596ce]{margin:0;font-size:14px;text-align:center;max-width:300px;line-height:1.5}.scroll-to-bottom-btn[data-v-e90596ce]{position:fixed;bottom:40px;right:40px;width:40px;height:40px;border-radius:50%;background:#4a90e2e6;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;z-index:100}.scroll-to-bottom-btn[data-v-e90596ce]:hover{background:#4a90e2;transform:translateY(-2px);box-shadow:0 6px 16px #0006}.scroll-to-bottom-btn[data-v-e90596ce]:active{transform:translateY(0)}.scroll-button-enter-active[data-v-e90596ce],.scroll-button-leave-active[data-v-e90596ce]{transition:all .3s ease}.scroll-button-enter-from[data-v-e90596ce],.scroll-button-leave-to[data-v-e90596ce]{opacity:0;transform:translateY(20px) scale(.8)}.chat-container[data-v-46f87864]{flex:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.messages[data-v-46f87864]{padding:24px;flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.messages[data-v-46f87864]::-webkit-scrollbar{width:8px}.messages[data-v-46f87864]::-webkit-scrollbar-track{background:transparent}.messages[data-v-46f87864]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.messages[data-v-46f87864]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.message[data-v-46f87864]{display:flex}.message.user[data-v-46f87864]{justify-content:flex-end}.message.user .message-content[data-v-46f87864]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;max-width:80%}.message.assistant[data-v-46f87864]{justify-content:flex-start}.message.assistant .message-content[data-v-46f87864]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;max-width:85%}.message-content[data-v-46f87864]{padding:16px 20px;border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.user-message[data-v-46f87864]{line-height:1.5}.assistant-message .thinking-section[data-v-46f87864]{margin-bottom:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff05;overflow:hidden}.assistant-message .thinking-section .thinking-header[data-v-46f87864]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#667eea1a;border-bottom:1px solid rgba(255,255,255,.1)}.assistant-message .thinking-section .thinking-header .thinking-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%}.assistant-message .thinking-section .thinking-header .thinking-avatar .thinking-icon[data-v-46f87864]{font-size:16px;color:#fff;animation:pulse-46f87864 2s infinite}.assistant-message .thinking-section .thinking-header .thinking-label[data-v-46f87864]{font-weight:600;font-size:14px;color:#f59e0b;letter-spacing:.5px}.assistant-message .thinking-section .thinking-content[data-v-46f87864]{padding:16px}.assistant-message .thinking-section .thinking[data-v-46f87864]{display:flex;align-items:center;gap:8px;color:#ccc;font-size:14px;margin-bottom:12px;padding:12px;background:#0003;border-radius:8px;border-left:3px solid #f59e0b}.assistant-message .thinking-section .thinking .thinking-icon[data-v-46f87864]{animation:pulse-46f87864 2s infinite}.assistant-message .thinking-section .default-processing[data-v-46f87864]{padding:16px;text-align:center}.assistant-message .thinking-section .default-processing .processing-indicator[data-v-46f87864]{display:flex;align-items:center;justify-content:center;gap:12px;color:#ccc;font-size:14px}.assistant-message .response-section[data-v-46f87864]{border:1px solid rgba(255,255,255,.2);border-radius:18px;background:linear-gradient(135deg,#ffffff1f,#ffffff0f);overflow:hidden;box-shadow:0 6px 20px #00000026;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:16px;transition:all .3s ease}.assistant-message .response-section[data-v-46f87864]:hover{transform:translateY(-1px);box-shadow:0 8px 25px #0003}.assistant-message .response-section .response-header[data-v-46f87864]{display:flex;align-items:center;gap:14px;padding:18px 24px 14px;background:linear-gradient(135deg,#667eea2e,#764ba21f);border-bottom:1px solid rgba(255,255,255,.15)}.assistant-message .response-section .response-header .response-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 3px 12px #667eea66;transition:transform .2s ease}.assistant-message .response-section .response-header .response-avatar[data-v-46f87864]:hover{transform:scale(1.05)}.assistant-message .response-section .response-header .response-avatar .bot-icon[data-v-46f87864]{font-size:20px;color:#fff}.assistant-message .response-section .response-header .response-name[data-v-46f87864]{font-weight:700;font-size:17px;color:#667eea;letter-spacing:.8px;text-shadow:0 2px 4px rgba(0,0,0,.1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.assistant-message .response-section .response-content[data-v-46f87864]{padding:24px}.assistant-message .response-section .response-content .final-response .response-text[data-v-46f87864]{word-break:break-all;line-height:1.8;color:#fff;font-size:15px;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.1);letter-spacing:.4px;word-spacing:1.2px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.assistant-message .response-section .response-content .final-response .response-text p[data-v-46f87864]{margin:0 0 12px}.assistant-message .response-section .response-content .final-response .response-text p[data-v-46f87864]:last-child{margin-bottom:0}.assistant-message .response-section .response-content .final-response .response-text strong[data-v-46f87864]{color:#f8fafc;font-weight:600}.assistant-message .response-section .response-content .final-response .response-text em[data-v-46f87864]{color:#e2e8f0;font-style:italic}.assistant-message .response-section .response-content .response-placeholder[data-v-46f87864]{display:flex;align-items:center;justify-content:center;min-height:90px}.assistant-message .response-section .response-content .response-placeholder .typing-indicator[data-v-46f87864]{display:flex;align-items:center;gap:14px}.assistant-message .response-section .response-content .response-placeholder .typing-indicator .typing-text[data-v-46f87864]{color:#cbd5e0;font-style:italic;font-size:14px;opacity:.9;letter-spacing:.3px}.assistant-message .assistant-header[data-v-46f87864]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.assistant-message .assistant-header .assistant-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%}.assistant-message .assistant-header .assistant-avatar .bot-icon[data-v-46f87864]{font-size:18px;color:#fff}.assistant-message .assistant-header .assistant-name[data-v-46f87864]{font-weight:600;font-size:14px;color:#667eea;letter-spacing:.5px}.assistant-message .response[data-v-46f87864]{line-height:1.5;white-space:pre-line}.assistant-message .progress[data-v-46f87864]{margin-top:12px}.assistant-message .progress .progress-bar[data-v-46f87864]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:8px}.assistant-message .progress .progress-bar .progress-fill[data-v-46f87864]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.assistant-message .progress .progress-text[data-v-46f87864]{font-size:12px;color:#888}.assistant-message .steps-container[data-v-46f87864]{margin-top:16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.assistant-message .steps-container .steps-title[data-v-46f87864]{margin:0;padding:10px 16px;font-size:14px;font-weight:600;color:#fff;background:#667eea26;border-bottom:1px solid rgba(255,255,255,.08)}.assistant-message .steps-container .ai-section[data-v-46f87864]{border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease}.assistant-message .steps-container .ai-section[data-v-46f87864]:last-child{border-bottom:none}.assistant-message .steps-container .ai-section[data-v-46f87864]:hover{background:#ffffff0d}.assistant-message .steps-container .ai-section.running[data-v-46f87864]{background:#667eea1a;border-left:3px solid #667eea}.assistant-message .steps-container .ai-section.completed[data-v-46f87864]{border-left:3px solid rgba(34,197,94,.6)}.assistant-message .steps-container .ai-section.pending[data-v-46f87864]{opacity:.7}.assistant-message .steps-container .ai-section .section-header[data-v-46f87864]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff05}.assistant-message .steps-container .ai-section .section-header .step-icon[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#667eea33;border-radius:50%;font-size:12px;font-weight:700;color:#667eea}.assistant-message .steps-container .ai-section .section-header .step-title[data-v-46f87864]{flex:1;font-weight:500;color:#fff}.assistant-message .steps-container .ai-section .section-header .step-status[data-v-46f87864]{font-size:12px;padding:4px 8px;border-radius:12px}.assistant-message .steps-container .ai-section .section-header .step-status.completed[data-v-46f87864]{background:#22c55e33;color:#22c55e}.assistant-message .steps-container .ai-section .section-header .step-status.running[data-v-46f87864]{background:#667eea33;color:#667eea}.assistant-message .steps-container .ai-section .section-header .step-status.pending[data-v-46f87864]{background:#9ca3af33;color:#9ca3af}.assistant-message .steps-container .ai-section .action-info[data-v-46f87864]{padding:12px 16px;background:#0003;border-top:1px dashed rgba(255,255,255,.1)}.assistant-message .steps-container .ai-section .action-info .action-description[data-v-46f87864]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.assistant-message .steps-container .ai-section .action-info .action-description .action-icon[data-v-46f87864]{font-size:16px}.assistant-message .steps-container .ai-section .action-info .tool-params[data-v-46f87864]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px}.assistant-message .steps-container .ai-section .action-info .tool-params .tool-icon[data-v-46f87864]{margin-top:2px}.assistant-message .steps-container .ai-section .action-info .tool-params .param-label[data-v-46f87864]{color:#aaa;margin-right:4px}.assistant-message .steps-container .ai-section .action-info .tool-params .param-content[data-v-46f87864]{margin:0;padding:6px;background:#0003;border-radius:4px;font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:100px;overflow-y:auto}.assistant-message .steps-container .ai-section .action-info .think-details[data-v-46f87864]{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.1)}.assistant-message .steps-container .ai-section .action-info .think-details .think-header[data-v-46f87864]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.assistant-message .steps-container .ai-section .action-info .think-details .think-header .think-icon[data-v-46f87864]{font-size:14px}.assistant-message .steps-container .ai-section .action-info .think-details .think-header .think-label[data-v-46f87864]{color:#aaa;font-size:13px}.assistant-message .steps-container .ai-section .action-info .think-details .think-output .think-content[data-v-46f87864]{margin:0;padding:8px;background:#00000026;border-radius:4px;font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:120px;overflow-y:auto;color:#bbb}.assistant-message .steps-container .ai-section .sub-plan-steps[data-v-46f87864]{margin-top:8px;padding:8px 16px;background:#667eea0d;border-top:1px solid rgba(102,126,234,.2)}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header[data-v-46f87864]{display:flex;align-items:center;gap:6px;margin-bottom:8px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header .sub-plan-icon[data-v-46f87864]{font-size:14px;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header .sub-plan-title[data-v-46f87864]{font-size:13px;font-weight:600;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-list[data-v-46f87864]{display:flex;flex-direction:column;gap:4px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item[data-v-46f87864]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:4px;cursor:pointer;transition:all .2s ease;margin-left:20px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item[data-v-46f87864]:hover{background:#ffffff0d;border-color:#667eea4d}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.completed[data-v-46f87864]{background:#22c55e0d;border-color:#22c55e33}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.running[data-v-46f87864]{background:#667eea0d;border-color:#667eea4d;box-shadow:0 0 4px #667eea33}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.pending[data-v-46f87864]{opacity:.6}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator[data-v-46f87864]{display:flex;align-items:center;gap:4px;flex-shrink:0}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator .sub-step-icon[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#667eea1a;border-radius:50%;font-size:10px;font-weight:700;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator .sub-step-number[data-v-46f87864]{font-size:10px;color:#888;font-weight:500;min-width:12px;text-align:center}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content[data-v-46f87864]{flex:1;display:flex;align-items:center;justify-content:space-between;min-width:0}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content .sub-step-title[data-v-46f87864]{color:#ccc;font-size:12px;line-height:1.3;word-break:break-word;flex:1}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content .sub-step-badge[data-v-46f87864]{background:#667eea26;color:#667eea;font-size:9px;padding:1px 4px;border-radius:8px;font-weight:500;flex-shrink:0;margin-left:6px}.thinking-dots[data-v-46f87864]{display:flex;gap:4px}.thinking-dots span[data-v-46f87864]{width:4px;height:4px;background:#667eea;border-radius:50%;animation:thinking-46f87864 1.4s infinite ease-in-out}.thinking-dots span[data-v-46f87864]:nth-child(1){animation-delay:-.32s}.thinking-dots span[data-v-46f87864]:nth-child(2){animation-delay:-.16s}.thinking-dots span[data-v-46f87864]:nth-child(3){animation-delay:0s}.typing-dots[data-v-46f87864]{display:flex;gap:3px}.typing-dots span[data-v-46f87864]{width:6px;height:6px;background:#667eea;border-radius:50%;animation:typing-46f87864 1.2s infinite ease-in-out}.typing-dots span[data-v-46f87864]:nth-child(1){animation-delay:0s}.typing-dots span[data-v-46f87864]:nth-child(2){animation-delay:.2s}.typing-dots span[data-v-46f87864]:nth-child(3){animation-delay:.4s}@keyframes thinking-46f87864{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes typing-46f87864{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}@keyframes pulse-46f87864{0%,to{opacity:1}50%{opacity:.5}}.user-input-form-container[data-v-46f87864]{margin-top:12px;padding:16px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px}.user-input-form-container .user-input-message[data-v-46f87864]{margin-bottom:12px;font-weight:500;color:#fff;font-size:14px}.user-input-form-container .form-description[data-v-46f87864]{margin-bottom:16px;color:#aaa;font-size:13px;line-height:1.4}.user-input-form-container .user-input-form .form-group[data-v-46f87864]{margin-bottom:16px}.user-input-form-container .user-input-form .form-group label[data-v-46f87864]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#fff}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]{width:100%;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;transition:border-color .2s ease}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]::placeholder{color:#888}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]:active{transform:translateY(0)}.scroll-to-bottom-btn[data-v-46f87864]{position:absolute;bottom:120px;right:24px;width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;box-shadow:0 6px 16px #667eea66;transition:all .3s ease;animation:pulse-glow-46f87864 2s infinite}.scroll-to-bottom-btn[data-v-46f87864]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea80}.scroll-to-bottom-btn[data-v-46f87864]:active{transform:translateY(0)}.scroll-to-bottom-btn svg[data-v-46f87864]{font-size:20px;color:#fff}@keyframes pulse-glow-46f87864{0%,to{box-shadow:0 6px 16px #667eea66}50%{box-shadow:0 6px 20px #667eea99}}.input-area[data-v-639c8b2a]{min-height:112px;padding:20px 24px;border-top:1px solid #1a1a1a;background:#ffffff05;flex-shrink:0;position:sticky;bottom:0;z-index:100;box-shadow:0 -4px 12px #0000001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-container[data-v-639c8b2a]{display:flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px}.input-container[data-v-639c8b2a]:focus-within{border-color:#667eea}.attach-btn[data-v-639c8b2a]{flex-shrink:0;width:32px;height:32px;border:none;border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.attach-btn[data-v-639c8b2a]:hover{background:#ffffff1a;transform:translateY(-1px)}.chat-input[data-v-639c8b2a]{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;line-height:1.5;resize:none;min-height:20px;max-height:120px}.chat-input[data-v-639c8b2a]::placeholder{color:#666}.chat-input[data-v-639c8b2a]:disabled{opacity:.5;cursor:not-allowed}.chat-input[data-v-639c8b2a]:disabled::placeholder{color:#444}.plan-mode-btn[data-v-639c8b2a]{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.plan-mode-btn[data-v-639c8b2a]:hover{background:#ffffff1a;border-color:#667eea;transform:translateY(-1px)}.send-button[data-v-639c8b2a]{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.send-button[data-v-639c8b2a]:hover:not(:disabled){transform:translateY(-1px)}.send-button[data-v-639c8b2a]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-c9380237]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001}.modal-container[data-v-c9380237]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-c9380237]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-c9380237]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.header-actions[data-v-c9380237]{display:flex;align-items:center;gap:16px}.status-switch[data-v-c9380237]{display:flex;align-items:center;gap:8px}.status-label[data-v-c9380237]{font-size:14px;color:#ffffffb3}.close-btn[data-v-c9380237]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-c9380237]:hover{color:#ffffffe6}.modal-content[data-v-c9380237]{padding:24px}.task-form[data-v-c9380237]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-c9380237]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-c9380237]{font-size:14px;font-weight:500;color:#ffffffe6}.form-input[data-v-c9380237],.form-textarea[data-v-c9380237],.form-select[data-v-c9380237]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#ffffffe6;font-size:14px;transition:all .3s}.form-input[data-v-c9380237]:focus,.form-textarea[data-v-c9380237]:focus,.form-select[data-v-c9380237]:focus{outline:none;border-color:#667eea80;box-shadow:0 0 0 2px #667eea1a}.form-input[data-v-c9380237]::placeholder,.form-textarea[data-v-c9380237]::placeholder{color:#fff6}.form-textarea[data-v-c9380237]{resize:vertical;min-height:80px}.form-help[data-v-c9380237]{font-size:12px;color:#ffffff80;margin-top:4px}.time-info[data-v-c9380237]{display:flex;align-items:center;gap:8px;padding:8px 0}.time-label[data-v-c9380237]{font-size:14px;font-weight:500;color:#ffffffb3}.time-value[data-v-c9380237]{font-size:14px;color:#ffffffe6}.template-toggle[data-v-c9380237]{display:flex;gap:8px}.template-btn[data-v-c9380237]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}.template-btn.active[data-v-c9380237]{background:#667eea33;border-color:#667eea4d;color:#667eea}.template-btn[data-v-c9380237]:hover{background:#ffffff1a}.template-btn.active[data-v-c9380237]:hover{background:#667eea4d}.template-selector[data-v-c9380237]{margin-top:8px}.form-select[data-v-c9380237]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.modal-footer[data-v-c9380237]{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-c9380237],.save-btn[data-v-c9380237]{padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px}.cancel-btn[data-v-c9380237]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.cancel-btn[data-v-c9380237]:hover{background:#ffffff1a}.save-btn[data-v-c9380237]{background:#667eea33;border:1px solid rgba(102,126,234,.3);color:#667eea}.save-btn[data-v-c9380237]:hover:not(:disabled){background:#667eea4d}.save-btn[data-v-c9380237]:disabled{opacity:.5;cursor:not-allowed}.loading-icon[data-v-c9380237]{animation:spin-c9380237 1s linear infinite}@keyframes spin-c9380237{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-enter-active[data-v-c9380237],.modal-leave-active[data-v-c9380237]{transition:opacity .3s ease}.modal-enter-from[data-v-c9380237],.modal-leave-to[data-v-c9380237]{opacity:0}.toggle-switch[data-v-c9380237]{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input[data-v-c9380237]{opacity:0;width:0;height:0}.toggle-slider[data-v-c9380237]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#fff3;transition:.4s;border-radius:24px}.toggle-slider[data-v-c9380237]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider[data-v-c9380237]{background-color:#667eea99}input:focus+.toggle-slider[data-v-c9380237]{box-shadow:0 0 1px #667eea99}input:checked+.toggle-slider[data-v-c9380237]:before{transform:translate(26px)}.modal-overlay[data-v-f31a9ce7]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-f31a9ce7]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-f31a9ce7]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-f31a9ce7]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.header-actions[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px}.add-task-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:#22c55e;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.add-task-btn[data-v-f31a9ce7]:hover{background:#22c55e33;border-color:#22c55e4d;transform:translateY(-1px)}.close-btn[data-v-f31a9ce7]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-f31a9ce7]:hover{color:#ffffffe6}.modal-content[data-v-f31a9ce7]{padding:24px;min-height:300px}.loading-container[data-v-f31a9ce7],.empty-container[data-v-f31a9ce7]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff9;gap:12px}.loading-icon[data-v-f31a9ce7]{font-size:24px;animation:spin-f31a9ce7 1s linear infinite}.empty-icon[data-v-f31a9ce7]{font-size:48px;opacity:.5}@keyframes spin-f31a9ce7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.task-list[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:16px}.task-item[data-v-f31a9ce7]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s ease;gap:20px;cursor:pointer}.task-item[data-v-f31a9ce7]:hover{background:#667eea26;border-color:#667eea66;transform:translateY(-3px);box-shadow:0 8px 32px #667eea33}.task-main[data-v-f31a9ce7]{flex:1;display:flex;flex-direction:column;gap:16px}.task-info[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:10px}.task-header[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.task-name[data-v-f31a9ce7]{font-size:20px;font-weight:700;color:#fffffff2;line-height:1.3;background:linear-gradient(135deg,#fffffff2,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.task-status-badge[data-v-f31a9ce7]{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid transparent;white-space:nowrap}.task-status-badge.active[data-v-f31a9ce7]{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.task-status-badge.inactive[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.task-description[data-v-f31a9ce7]{font-size:14px;color:#ffffffb3;line-height:1.5;margin:4px 0;max-width:80%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-time[data-v-f31a9ce7]{display:flex;align-items:center;gap:8px;color:#fff9;font-size:13px;padding:6px 10px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.task-time[data-v-f31a9ce7]:hover{background:#ffffff0f;border-color:#ffffff1a}.cron-readable[data-v-f31a9ce7]{color:#ffffffd9;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.task-actions[data-v-f31a9ce7]{display:flex;flex-direction:row;gap:8px;min-width:200px;align-items:flex-start;margin-left:auto;justify-content:flex-end}.action-btn[data-v-f31a9ce7]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap;border:1px solid transparent}.execute-btn[data-v-f31a9ce7]{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.execute-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f64d}.execute-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.delete-btn[data-v-f31a9ce7]{background:#ef44441a;border-color:#ef444433;color:#ef4444}.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef444433;border-color:#ef44444d}.delete-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.dropdown-btn[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.dropdown-btn[data-v-f31a9ce7]:hover{background:#9ca3af33;border-color:#9ca3af4d}.action-dropdown[data-v-f31a9ce7]{position:relative}.dropdown-menu[data-v-f31a9ce7]{position:absolute;top:100%;right:0;background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;min-width:140px;margin-top:4px}.dropdown-item[data-v-f31a9ce7]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;color:#fffc;font-size:13px;cursor:pointer;transition:all .2s;text-align:left}.dropdown-item[data-v-f31a9ce7]:first-child{border-radius:8px 8px 0 0}.dropdown-item[data-v-f31a9ce7]:last-child{border-radius:0 0 8px 8px}.dropdown-item[data-v-f31a9ce7]:hover:not(:disabled){background:#ffffff1a;color:#fffffff2}.dropdown-item.edit-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#3b82f61a;color:#3b82f6}.dropdown-item.toggle-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#f973161a;color:#f97316}.dropdown-item.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef44441a;color:#ef4444}.dropdown-item[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.modal-enter-active[data-v-f31a9ce7],.modal-leave-active[data-v-f31a9ce7]{transition:opacity .3s ease}.modal-enter-from[data-v-f31a9ce7],.modal-leave-to[data-v-f31a9ce7]{opacity:0}.confirm-modal[data-v-f31a9ce7]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 32px #0006;overflow:hidden}.confirm-header[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.warning-icon[data-v-f31a9ce7]{font-size:24px;color:#f59e0b}.confirm-header h3[data-v-f31a9ce7]{margin:0;font-size:18px;font-weight:600;color:#ffffffe6}.confirm-content[data-v-f31a9ce7]{padding:20px 24px}.confirm-content p[data-v-f31a9ce7]{margin:0;color:#fffc;line-height:1.6;font-size:14px}.confirm-actions[data-v-f31a9ce7]{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.confirm-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;border:1px solid transparent;min-width:80px;justify-content:center}.confirm-btn.cancel-btn[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.confirm-btn.cancel-btn[data-v-f31a9ce7]:hover{background:#9ca3af33;border-color:#9ca3af4d}.confirm-btn.delete-btn[data-v-f31a9ce7]{background:#ef44441a;border-color:#ef444433;color:#ef4444}.confirm-btn.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef444433;border-color:#ef44444d}.confirm-btn.delete-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.create-options-modal[data-v-f31a9ce7]{max-width:520px}.create-icon[data-v-f31a9ce7]{font-size:24px;color:#3b82f6}.create-options[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:16px;margin-top:20px}.create-option-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:16px;padding:16px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s;text-align:left}.create-option-btn[data-v-f31a9ce7]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.create-option-btn .iconify[data-v-f31a9ce7]{font-size:24px}.jmanus-btn[data-v-f31a9ce7]{color:#3b82f6}.jmanus-btn[data-v-f31a9ce7]:hover{background:#3b82f61a;border-color:#3b82f64d}.jmanus-btn .iconify[data-v-f31a9ce7]{color:#3b82f6}.manual-btn[data-v-f31a9ce7]{color:#10b981}.manual-btn[data-v-f31a9ce7]:hover{background:#10b9811a;border-color:#10b9814d}.manual-btn .iconify[data-v-f31a9ce7]{color:#10b981}.option-content[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:4px}.option-title[data-v-f31a9ce7]{font-size:16px;font-weight:600}.option-desc[data-v-f31a9ce7]{font-size:13px;color:#fff9}.direct-page[data-v-ea79c7eb]{width:100%;display:flex;position:relative}.direct-chat[data-v-ea79c7eb]{height:100vh;width:100%;background:#0a0a0a;display:flex}.left-panel[data-v-ea79c7eb]{position:relative;border-right:none;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:width .1s ease}.panel-resizer[data-v-ea79c7eb]{width:6px;height:100vh;background:#1a1a1a;cursor:col-resize;position:relative;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.panel-resizer[data-v-ea79c7eb]:hover{background:#2a2a2a}.panel-resizer:hover .resizer-line[data-v-ea79c7eb]{background:#4a90e2;width:2px}.panel-resizer[data-v-ea79c7eb]:active{background:#3a3a3a}.resizer-line[data-v-ea79c7eb]{width:1px;height:40px;background:#3a3a3a;border-radius:1px;transition:all .2s ease}[data-v-ea79c7eb] .right-panel{transition:width .1s ease}.chat-header[data-v-ea79c7eb]{padding:20px 24px;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;gap:16px;background:#ffffff05;flex-shrink:0;position:sticky;top:0;z-index:100}.chat-header h2[data-v-ea79c7eb]{flex:1;margin:0;font-size:18px;font-weight:600;color:#fff}.chat-content[data-v-ea79c7eb]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.header-actions[data-v-ea79c7eb]{display:flex;align-items:center;gap:12px}.back-button[data-v-ea79c7eb]{padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;font-size:14px}.back-button[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.config-button[data-v-ea79c7eb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease}.config-button[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.cron-task-btn[data-v-ea79c7eb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease}.cron-task-btn[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.loading-prompt[data-v-ea79c7eb]{flex:1;display:flex;align-items:center;justify-content:center;color:#888;font-size:16px;padding:50px}.message-toast[data-v-ea79c7eb]{position:fixed;top:80px;right:24px;z-index:9999;min-width:320px;max-width:480px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideInRight .3s ease-out;font-size:14px;font-weight:500}.message-toast.error[data-v-ea79c7eb]{color:#fff2f0;background-color:#ff4d4f}.message-content[data-v-ea79c7eb]{display:flex;align-items:center;gap:8px;flex:1;word-break:break-all}.message-content i[data-v-ea79c7eb]{font-size:16px} +.sidebar-wrapper[data-v-a66d585a]{position:relative;width:600px;height:100vh;background:#ffffff0d;border-right:1px solid rgba(255,255,255,.1);transition:all .3s ease-in-out;overflow:hidden}.sidebar-wrapper-collapsed[data-v-a66d585a]{border-right:none;width:0}.sidebar-wrapper-collapsed .sidebar-content[data-v-a66d585a]{opacity:0;pointer-events:none}.sidebar-content[data-v-a66d585a]{height:100%;width:100%;padding:12px 0 12px 12px;display:flex;flex-direction:column;transition:all .3s ease-in-out}.sidebar-content .sidebar-content-header[data-v-a66d585a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;overflow:hidden}.sidebar-content .sidebar-content-header .sidebar-content-title[data-v-a66d585a]{font-size:20px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .tab-switcher[data-v-a66d585a]{display:flex;margin-bottom:16px;background:#ffffff0d;border-radius:8px;padding:4px}.sidebar-content .tab-switcher .tab-button[data-v-a66d585a]{flex:1;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:#ffffffb3;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.sidebar-content .tab-switcher .tab-button[data-v-a66d585a]:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.sidebar-content .tab-switcher .tab-button.active[data-v-a66d585a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sidebar-content .tab-switcher .tab-button[data-v-a66d585a]:disabled{opacity:.5;cursor:not-allowed}.sidebar-content .tab-content[data-v-a66d585a]{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-content .config-tab .config-container[data-v-a66d585a]{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:12px}.sidebar-content .config-tab .config-container .template-info-header[data-v-a66d585a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:8px}.sidebar-content .config-tab .config-container .template-info-header .template-info[data-v-a66d585a]{flex:1;min-width:0}.sidebar-content .config-tab .config-container .template-info-header .template-info h3[data-v-a66d585a]{margin:0 0 4px;font-size:14px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .config-tab .config-container .template-info-header .template-info .template-id[data-v-a66d585a]{font-size:11px;color:#ffffff80}.sidebar-content .config-tab .config-container .template-info-header .back-to-list-btn[data-v-a66d585a]{width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-content .config-tab .config-container .template-info-header .back-to-list-btn[data-v-a66d585a]:hover{background:#ffffff1a;color:#fff}.sidebar-content .config-tab .config-container .config-section[data-v-a66d585a]{margin-bottom:16px;background:#ffffff0d;border-radius:8px;padding:12px}.sidebar-content .config-tab .config-container .config-section .section-header[data-v-a66d585a]{display:flex;align-items:center;margin-bottom:12px;color:#667eea;font-size:13px;font-weight:600;gap:8px}.sidebar-content .config-tab .config-container .config-section .section-header .section-actions[data-v-a66d585a]{margin-left:auto;display:flex;gap:6px}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-a66d585a],.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-a66d585a],.sidebar-content .config-tab .config-container .config-section .params-input[data-v-a66d585a]{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;padding:8px;resize:vertical;min-height:100px}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-a66d585a]:focus,.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-a66d585a]:focus,.sidebar-content .config-tab .config-container .config-section .params-input[data-v-a66d585a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-a66d585a]::placeholder,.sidebar-content .config-tab .config-container .config-section .prompt-input[data-v-a66d585a]::placeholder,.sidebar-content .config-tab .config-container .config-section .params-input[data-v-a66d585a]::placeholder{color:#fff6}.sidebar-content .config-tab .config-container .config-section .json-editor[data-v-a66d585a]{min-height:200px;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;-moz-tab-size:2;tab-size:2;font-variant-ligatures:none}.sidebar-content .config-tab .config-container .config-section .generator-content[data-v-a66d585a]{display:flex;flex-direction:column;gap:8px}.sidebar-content .config-tab .config-container .config-section .generator-content .generator-actions[data-v-a66d585a]{display:flex;gap:8px}.sidebar-content .config-tab .config-container .config-section .execution-content[data-v-a66d585a]{display:flex;flex-direction:column;gap:12px}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group label[data-v-a66d585a]{display:block;margin-bottom:6px;font-size:12px;color:#fffc;font-weight:500}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container[data-v-a66d585a]{position:relative;display:flex;align-items:center}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .params-input[data-v-a66d585a]{min-height:auto;padding-right:32px}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .clear-params-btn[data-v-a66d585a]{position:absolute;right:8px;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-input-container .clear-params-btn[data-v-a66d585a]:hover{background:#f003;color:#ff6b6b}.sidebar-content .config-tab .config-container .config-section .execution-content .params-input-group .params-help-text[data-v-a66d585a]{margin-bottom:6px;font-size:11px;color:#fff9;line-height:1.4;padding:6px 8px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:4px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display[data-v-a66d585a]{padding:8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:11px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display .api-url-label[data-v-a66d585a]{color:#ffffffb3;margin-right:8px}.sidebar-content .config-tab .config-container .config-section .execution-content .api-url-display .api-url[data-v-a66d585a]{color:#64b5f6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all}.sidebar-content .config-tab .config-container .config-section .execution-content .execute-btn[data-v-a66d585a]{padding:10px 16px;font-size:13px;font-weight:500}.sidebar-content .btn[data-v-a66d585a]{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.sidebar-content .btn.btn-sm[data-v-a66d585a]{padding:4px 8px;font-size:11px}.sidebar-content .btn.btn-primary[data-v-a66d585a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-content .btn.btn-primary[data-v-a66d585a]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.sidebar-content .btn.btn-secondary[data-v-a66d585a]{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.sidebar-content .btn.btn-secondary[data-v-a66d585a]:hover:not(:disabled){background:#fff3;color:#fff}.sidebar-content .btn[data-v-a66d585a]:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.sidebar-content .btn .spinning[data-v-a66d585a]{animation:spin-a66d585a 1s linear infinite}.sidebar-content .new-task-section[data-v-a66d585a]{margin-bottom:16px;padding-right:12px}.sidebar-content .new-task-section .new-task-btn[data-v-a66d585a]{width:100%;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.sidebar-content .new-task-section .new-task-btn[data-v-a66d585a]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.sidebar-content .new-task-section .new-task-btn .shortcut[data-v-a66d585a]{font-size:12px;opacity:.8;margin-left:auto}.sidebar-content .sidebar-content-list[data-v-a66d585a]{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding-right:12px}.sidebar-content .sidebar-content-list .loading-state[data-v-a66d585a],.sidebar-content .sidebar-content-list .error-state[data-v-a66d585a],.sidebar-content .sidebar-content-list .empty-state[data-v-a66d585a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#fff9;font-size:14px;text-align:center;gap:12px}.sidebar-content .sidebar-content-list .loading-state .spinning[data-v-a66d585a],.sidebar-content .sidebar-content-list .error-state .spinning[data-v-a66d585a],.sidebar-content .sidebar-content-list .empty-state .spinning[data-v-a66d585a]{animation:spin-a66d585a 1s linear infinite}.sidebar-content .sidebar-content-list .loading-state .retry-btn[data-v-a66d585a],.sidebar-content .sidebar-content-list .error-state .retry-btn[data-v-a66d585a],.sidebar-content .sidebar-content-list .empty-state .retry-btn[data-v-a66d585a]{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:12px;transition:background-color .2s ease}.sidebar-content .sidebar-content-list .loading-state .retry-btn[data-v-a66d585a]:hover,.sidebar-content .sidebar-content-list .error-state .retry-btn[data-v-a66d585a]:hover,.sidebar-content .sidebar-content-list .empty-state .retry-btn[data-v-a66d585a]:hover{background:#fff3}.sidebar-content .sidebar-content-list .sidebar-content-list-item[data-v-a66d585a]{display:flex;align-items:flex-start;padding:12px;margin-bottom:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-content .sidebar-content-list .sidebar-content-list-item[data-v-a66d585a]:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.sidebar-content .sidebar-content-list .sidebar-content-list-item.sidebar-content-list-item-active[data-v-a66d585a]{border:2px solid #667eea;background:#667eea1a}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-icon[data-v-a66d585a]{margin-right:12px;color:#667eea;flex-shrink:0;margin-top:2px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details[data-v-a66d585a]{flex:1;min-width:0}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details .task-title[data-v-a66d585a]{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-details .task-preview[data-v-a66d585a]{font-size:12px;color:#ffffffb3;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-time[data-v-a66d585a]{font-size:11px;color:#ffffff80;margin-left:8px;flex-shrink:0;position:absolute;top:12px;right:40px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions[data-v-a66d585a]{display:flex;align-items:center;margin-left:8px;flex-shrink:0}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions .delete-task-btn[data-v-a66d585a]{width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:absolute;top:12px;right:12px}.sidebar-content .sidebar-content-list .sidebar-content-list-item .task-actions .delete-task-btn[data-v-a66d585a]:hover{background:#f003;color:#ff6b6b}@keyframes spin-a66d585a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.right-panel[data-v-e90596ce]{width:50%;display:flex;flex-direction:column}.preview-header[data-v-e90596ce]{padding:20px 24px;border-bottom:1px solid #1a1a1a;background:#ffffff05}.preview-header .tab-button[data-v-e90596ce]{padding:8px 16px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea;color:#667eea;cursor:default;display:flex;align-items:center;gap:6px;font-size:14px}.preview-content[data-v-e90596ce]{flex:1;display:flex;flex-direction:column;min-height:0}.step-details[data-v-e90596ce]{flex:1;position:relative;display:flex;flex-direction:column;min-height:0}.step-info-fixed[data-v-e90596ce]{position:sticky;top:0;z-index:10;background:#292a2df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:20px;margin:0 20px;border-radius:8px 8px 0 0}.step-info-fixed h3[data-v-e90596ce]{color:#fff;margin:0 0 16px;font-size:18px;font-weight:600;padding-bottom:8px;border-bottom:2px solid #667eea}.step-details-scroll-container[data-v-e90596ce]{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;margin:0 20px 20px;background:#ffffff03;border-radius:0 0 8px 8px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar{width:6px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.step-details-scroll-container[data-v-e90596ce]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.agent-info[data-v-e90596ce]{margin-bottom:16px}.agent-info .info-item[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:14px;line-height:1.4}.agent-info .info-item .label[data-v-e90596ce]{min-width:100px;font-weight:600;color:#888;flex-shrink:0}.agent-info .info-item .value[data-v-e90596ce]{flex:1;color:#ccc;word-break:break-word}.agent-info .info-item .value.success[data-v-e90596ce]{color:#27ae60}.execution-status[data-v-e90596ce]{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.execution-status .status-item[data-v-e90596ce]{display:flex;align-items:center;gap:8px}.execution-status .status-item .status-icon[data-v-e90596ce]{font-size:16px}.execution-status .status-item .status-icon.success[data-v-e90596ce]{color:#27ae60}.execution-status .status-item .status-icon.progress[data-v-e90596ce]{color:#3498db}.execution-status .status-item .status-icon.pending[data-v-e90596ce]{color:#f39c12}.execution-status .status-item .status-text[data-v-e90596ce]{color:#ccc;font-weight:500}.no-steps-message[data-v-e90596ce]{text-align:center;color:#666;font-style:italic;margin-top:16px}.no-steps-message p[data-v-e90596ce]{margin:0}.no-execution-message[data-v-e90596ce]{padding:20px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:16px}.no-execution-message .info-icon[data-v-e90596ce]{color:#6c757d;font-size:20px;margin-bottom:8px}.no-execution-message h4[data-v-e90596ce]{margin:0 0 16px;color:#495057;font-size:16px;font-weight:500}.no-execution-message .step-basic-info .info-item[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:14px}.no-execution-message .step-basic-info .info-item .label[data-v-e90596ce]{font-weight:500;color:#6c757d;min-width:80px;margin-right:8px}.no-execution-message .step-basic-info .info-item .value[data-v-e90596ce]{color:#333;flex:1}.no-execution-message .step-basic-info .info-item .value.status-completed[data-v-e90596ce]{color:#28a745;font-weight:500}.no-execution-message .step-basic-info .info-item .value.status-current[data-v-e90596ce]{color:#007bff;font-weight:500}.no-execution-message .step-basic-info .info-item .value.status-pending[data-v-e90596ce]{color:#6c757d}.no-execution-message .no-execution-hint[data-v-e90596ce]{margin:16px 0 0;color:#6c757d;font-style:italic;font-size:13px;text-align:center}.execution-indicator[data-v-e90596ce]{margin-top:20px;padding:20px;background:#4a90e21a;border:1px solid rgba(74,144,226,.3);border-radius:8px;text-align:center;position:relative;overflow:hidden}.execution-waves[data-v-e90596ce]{position:relative;height:4px;margin-bottom:16px;background:#4a90e233;border-radius:2px;overflow:hidden}.wave[data-v-e90596ce]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(74,144,226,.6),transparent);border-radius:2px}.wave-1[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite}.wave-2[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite .6s}.wave-3[data-v-e90596ce]{animation:wave-animation-e90596ce 2s ease-in-out infinite 1.2s}@keyframes wave-animation-e90596ce{0%{left:-100%}50%{left:100%}to{left:100%}}.execution-text[data-v-e90596ce]{color:#4a90e2;font-size:14px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px}.rotating-icon[data-v-e90596ce]{animation:rotate-animation-e90596ce 1s linear infinite}@keyframes rotate-animation-e90596ce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-info h3[data-v-e90596ce]{color:#fff;margin:0 0 20px;font-size:18px;font-weight:600}.think-act-steps[data-v-e90596ce]{margin-top:20px}.think-act-steps h4[data-v-e90596ce]{color:#fff;margin:0 0 16px;font-size:16px;font-weight:600;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.steps-container[data-v-e90596ce]{display:flex;flex-direction:column;gap:12px}.think-act-step[data-v-e90596ce]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.think-act-step .step-header[data-v-e90596ce]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.think-act-step .step-header .step-number[data-v-e90596ce]{font-weight:600;color:#667eea;font-size:14px}.think-act-step .step-header .step-status[data-v-e90596ce]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.think-act-step .step-header .step-status.completed[data-v-e90596ce]{background:#27ae6033;color:#27ae60}.think-act-step .step-header .step-status.running[data-v-e90596ce]{background:#3498db33;color:#3498db}.think-act-step .step-header .step-status.pending[data-v-e90596ce]{background:#f39c1233;color:#f39c12}.think-act-step .think-section[data-v-e90596ce],.think-act-step .action-section[data-v-e90596ce],.think-act-step .sub-plan-section[data-v-e90596ce]{margin-bottom:16px}.think-act-step .think-section[data-v-e90596ce]:last-child,.think-act-step .action-section[data-v-e90596ce]:last-child,.think-act-step .sub-plan-section[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .think-section h5[data-v-e90596ce],.think-act-step .action-section h5[data-v-e90596ce],.think-act-step .sub-plan-section h5[data-v-e90596ce]{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:600;color:#fff}.think-act-step .think-content .input[data-v-e90596ce],.think-act-step .action-content .input[data-v-e90596ce],.think-act-step .think-content .output[data-v-e90596ce],.think-act-step .action-content .output[data-v-e90596ce],.think-act-step .think-content .tool-info[data-v-e90596ce],.think-act-step .action-content .tool-info[data-v-e90596ce]{margin-bottom:12px}.think-act-step .think-content .input[data-v-e90596ce]:last-child,.think-act-step .action-content .input[data-v-e90596ce]:last-child,.think-act-step .think-content .output[data-v-e90596ce]:last-child,.think-act-step .action-content .output[data-v-e90596ce]:last-child,.think-act-step .think-content .tool-info[data-v-e90596ce]:last-child,.think-act-step .action-content .tool-info[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .think-content .input .label[data-v-e90596ce],.think-act-step .action-content .input .label[data-v-e90596ce],.think-act-step .think-content .output .label[data-v-e90596ce],.think-act-step .action-content .output .label[data-v-e90596ce],.think-act-step .think-content .tool-info .label[data-v-e90596ce],.think-act-step .action-content .tool-info .label[data-v-e90596ce]{display:block;font-weight:600;color:#888;margin-bottom:4px;font-size:12px}.think-act-step .think-content .input .value[data-v-e90596ce],.think-act-step .action-content .input .value[data-v-e90596ce],.think-act-step .think-content .output .value[data-v-e90596ce],.think-act-step .action-content .output .value[data-v-e90596ce],.think-act-step .think-content .tool-info .value[data-v-e90596ce],.think-act-step .action-content .tool-info .value[data-v-e90596ce]{color:#ccc;font-size:14px}.think-act-step .think-content .input pre[data-v-e90596ce],.think-act-step .action-content .input pre[data-v-e90596ce],.think-act-step .think-content .output pre[data-v-e90596ce],.think-act-step .action-content .output pre[data-v-e90596ce],.think-act-step .think-content .tool-info pre[data-v-e90596ce],.think-act-step .action-content .tool-info pre[data-v-e90596ce]{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:12px;color:#ccc;font-size:12px;overflow-x:auto;white-space:pre-wrap;margin:0;line-height:1.4;max-height:200px;overflow-y:auto}.think-act-step .sub-plan-content .sub-plan-header[data-v-e90596ce]{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:6px;padding:12px;margin-bottom:12px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info[data-v-e90596ce]{display:flex;margin-bottom:8px;font-size:12px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info[data-v-e90596ce]:last-child{margin-bottom:0}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info .label[data-v-e90596ce]{min-width:80px;font-weight:600;color:#888;flex-shrink:0}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-info .value[data-v-e90596ce]{flex:1;color:#ccc;word-break:break-word}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status[data-v-e90596ce]{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon[data-v-e90596ce]{font-size:14px}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon.success[data-v-e90596ce]{color:#27ae60}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-icon.progress[data-v-e90596ce]{color:#3498db}.think-act-step .sub-plan-content .sub-plan-header .sub-plan-status .status-text[data-v-e90596ce]{color:#ccc;font-size:12px;font-weight:500}.no-selection[data-v-e90596ce]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666}.no-selection .empty-icon[data-v-e90596ce]{font-size:48px;margin-bottom:16px;color:#444}.no-selection h3[data-v-e90596ce]{margin:0 0 8px;font-size:18px;color:#888}.no-selection p[data-v-e90596ce]{margin:0;font-size:14px;text-align:center;max-width:300px;line-height:1.5}.scroll-to-bottom-btn[data-v-e90596ce]{position:fixed;bottom:40px;right:40px;width:40px;height:40px;border-radius:50%;background:#4a90e2e6;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;z-index:100}.scroll-to-bottom-btn[data-v-e90596ce]:hover{background:#4a90e2;transform:translateY(-2px);box-shadow:0 6px 16px #0006}.scroll-to-bottom-btn[data-v-e90596ce]:active{transform:translateY(0)}.scroll-button-enter-active[data-v-e90596ce],.scroll-button-leave-active[data-v-e90596ce]{transition:all .3s ease}.scroll-button-enter-from[data-v-e90596ce],.scroll-button-leave-to[data-v-e90596ce]{opacity:0;transform:translateY(20px) scale(.8)}.chat-container[data-v-46f87864]{flex:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.messages[data-v-46f87864]{padding:24px;flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.messages[data-v-46f87864]::-webkit-scrollbar{width:8px}.messages[data-v-46f87864]::-webkit-scrollbar-track{background:transparent}.messages[data-v-46f87864]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.messages[data-v-46f87864]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.message[data-v-46f87864]{display:flex}.message.user[data-v-46f87864]{justify-content:flex-end}.message.user .message-content[data-v-46f87864]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;max-width:80%}.message.assistant[data-v-46f87864]{justify-content:flex-start}.message.assistant .message-content[data-v-46f87864]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;max-width:85%}.message-content[data-v-46f87864]{padding:16px 20px;border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.user-message[data-v-46f87864]{line-height:1.5}.assistant-message .thinking-section[data-v-46f87864]{margin-bottom:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff05;overflow:hidden}.assistant-message .thinking-section .thinking-header[data-v-46f87864]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#667eea1a;border-bottom:1px solid rgba(255,255,255,.1)}.assistant-message .thinking-section .thinking-header .thinking-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%}.assistant-message .thinking-section .thinking-header .thinking-avatar .thinking-icon[data-v-46f87864]{font-size:16px;color:#fff;animation:pulse-46f87864 2s infinite}.assistant-message .thinking-section .thinking-header .thinking-label[data-v-46f87864]{font-weight:600;font-size:14px;color:#f59e0b;letter-spacing:.5px}.assistant-message .thinking-section .thinking-content[data-v-46f87864]{padding:16px}.assistant-message .thinking-section .thinking[data-v-46f87864]{display:flex;align-items:center;gap:8px;color:#ccc;font-size:14px;margin-bottom:12px;padding:12px;background:#0003;border-radius:8px;border-left:3px solid #f59e0b}.assistant-message .thinking-section .thinking .thinking-icon[data-v-46f87864]{animation:pulse-46f87864 2s infinite}.assistant-message .thinking-section .default-processing[data-v-46f87864]{padding:16px;text-align:center}.assistant-message .thinking-section .default-processing .processing-indicator[data-v-46f87864]{display:flex;align-items:center;justify-content:center;gap:12px;color:#ccc;font-size:14px}.assistant-message .response-section[data-v-46f87864]{border:1px solid rgba(255,255,255,.2);border-radius:18px;background:linear-gradient(135deg,#ffffff1f,#ffffff0f);overflow:hidden;box-shadow:0 6px 20px #00000026;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:16px;transition:all .3s ease}.assistant-message .response-section[data-v-46f87864]:hover{transform:translateY(-1px);box-shadow:0 8px 25px #0003}.assistant-message .response-section .response-header[data-v-46f87864]{display:flex;align-items:center;gap:14px;padding:18px 24px 14px;background:linear-gradient(135deg,#667eea2e,#764ba21f);border-bottom:1px solid rgba(255,255,255,.15)}.assistant-message .response-section .response-header .response-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 3px 12px #667eea66;transition:transform .2s ease}.assistant-message .response-section .response-header .response-avatar[data-v-46f87864]:hover{transform:scale(1.05)}.assistant-message .response-section .response-header .response-avatar .bot-icon[data-v-46f87864]{font-size:20px;color:#fff}.assistant-message .response-section .response-header .response-name[data-v-46f87864]{font-weight:700;font-size:17px;color:#667eea;letter-spacing:.8px;text-shadow:0 2px 4px rgba(0,0,0,.1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.assistant-message .response-section .response-content[data-v-46f87864]{padding:24px}.assistant-message .response-section .response-content .final-response .response-text[data-v-46f87864]{word-break:break-all;line-height:1.8;color:#fff;font-size:15px;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.1);letter-spacing:.4px;word-spacing:1.2px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.assistant-message .response-section .response-content .final-response .response-text p[data-v-46f87864]{margin:0 0 12px}.assistant-message .response-section .response-content .final-response .response-text p[data-v-46f87864]:last-child{margin-bottom:0}.assistant-message .response-section .response-content .final-response .response-text strong[data-v-46f87864]{color:#f8fafc;font-weight:600}.assistant-message .response-section .response-content .final-response .response-text em[data-v-46f87864]{color:#e2e8f0;font-style:italic}.assistant-message .response-section .response-content .response-placeholder[data-v-46f87864]{display:flex;align-items:center;justify-content:center;min-height:90px}.assistant-message .response-section .response-content .response-placeholder .typing-indicator[data-v-46f87864]{display:flex;align-items:center;gap:14px}.assistant-message .response-section .response-content .response-placeholder .typing-indicator .typing-text[data-v-46f87864]{color:#cbd5e0;font-style:italic;font-size:14px;opacity:.9;letter-spacing:.3px}.assistant-message .assistant-header[data-v-46f87864]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.assistant-message .assistant-header .assistant-avatar[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%}.assistant-message .assistant-header .assistant-avatar .bot-icon[data-v-46f87864]{font-size:18px;color:#fff}.assistant-message .assistant-header .assistant-name[data-v-46f87864]{font-weight:600;font-size:14px;color:#667eea;letter-spacing:.5px}.assistant-message .response[data-v-46f87864]{line-height:1.5;white-space:pre-line}.assistant-message .progress[data-v-46f87864]{margin-top:12px}.assistant-message .progress .progress-bar[data-v-46f87864]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:8px}.assistant-message .progress .progress-bar .progress-fill[data-v-46f87864]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.assistant-message .progress .progress-text[data-v-46f87864]{font-size:12px;color:#888}.assistant-message .steps-container[data-v-46f87864]{margin-top:16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.assistant-message .steps-container .steps-title[data-v-46f87864]{margin:0;padding:10px 16px;font-size:14px;font-weight:600;color:#fff;background:#667eea26;border-bottom:1px solid rgba(255,255,255,.08)}.assistant-message .steps-container .ai-section[data-v-46f87864]{border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease}.assistant-message .steps-container .ai-section[data-v-46f87864]:last-child{border-bottom:none}.assistant-message .steps-container .ai-section[data-v-46f87864]:hover{background:#ffffff0d}.assistant-message .steps-container .ai-section.running[data-v-46f87864]{background:#667eea1a;border-left:3px solid #667eea}.assistant-message .steps-container .ai-section.completed[data-v-46f87864]{border-left:3px solid rgba(34,197,94,.6)}.assistant-message .steps-container .ai-section.pending[data-v-46f87864]{opacity:.7}.assistant-message .steps-container .ai-section .section-header[data-v-46f87864]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff05}.assistant-message .steps-container .ai-section .section-header .step-icon[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#667eea33;border-radius:50%;font-size:12px;font-weight:700;color:#667eea}.assistant-message .steps-container .ai-section .section-header .step-title[data-v-46f87864]{flex:1;font-weight:500;color:#fff}.assistant-message .steps-container .ai-section .section-header .step-status[data-v-46f87864]{font-size:12px;padding:4px 8px;border-radius:12px}.assistant-message .steps-container .ai-section .section-header .step-status.completed[data-v-46f87864]{background:#22c55e33;color:#22c55e}.assistant-message .steps-container .ai-section .section-header .step-status.running[data-v-46f87864]{background:#667eea33;color:#667eea}.assistant-message .steps-container .ai-section .section-header .step-status.pending[data-v-46f87864]{background:#9ca3af33;color:#9ca3af}.assistant-message .steps-container .ai-section .action-info[data-v-46f87864]{padding:12px 16px;background:#0003;border-top:1px dashed rgba(255,255,255,.1)}.assistant-message .steps-container .ai-section .action-info .action-description[data-v-46f87864]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.assistant-message .steps-container .ai-section .action-info .action-description .action-icon[data-v-46f87864]{font-size:16px}.assistant-message .steps-container .ai-section .action-info .tool-params[data-v-46f87864]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px}.assistant-message .steps-container .ai-section .action-info .tool-params .tool-icon[data-v-46f87864]{margin-top:2px}.assistant-message .steps-container .ai-section .action-info .tool-params .param-label[data-v-46f87864]{color:#aaa;margin-right:4px}.assistant-message .steps-container .ai-section .action-info .tool-params .param-content[data-v-46f87864]{margin:0;padding:6px;background:#0003;border-radius:4px;font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:100px;overflow-y:auto}.assistant-message .steps-container .ai-section .action-info .think-details[data-v-46f87864]{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.1)}.assistant-message .steps-container .ai-section .action-info .think-details .think-header[data-v-46f87864]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.assistant-message .steps-container .ai-section .action-info .think-details .think-header .think-icon[data-v-46f87864]{font-size:14px}.assistant-message .steps-container .ai-section .action-info .think-details .think-header .think-label[data-v-46f87864]{color:#aaa;font-size:13px}.assistant-message .steps-container .ai-section .action-info .think-details .think-output .think-content[data-v-46f87864]{margin:0;padding:8px;background:#00000026;border-radius:4px;font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:120px;overflow-y:auto;color:#bbb}.assistant-message .steps-container .ai-section .sub-plan-steps[data-v-46f87864]{margin-top:8px;padding:8px 16px;background:#667eea0d;border-top:1px solid rgba(102,126,234,.2)}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header[data-v-46f87864]{display:flex;align-items:center;gap:6px;margin-bottom:8px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header .sub-plan-icon[data-v-46f87864]{font-size:14px;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-header .sub-plan-title[data-v-46f87864]{font-size:13px;font-weight:600;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-list[data-v-46f87864]{display:flex;flex-direction:column;gap:4px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item[data-v-46f87864]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:4px;cursor:pointer;transition:all .2s ease;margin-left:20px}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item[data-v-46f87864]:hover{background:#ffffff0d;border-color:#667eea4d}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.completed[data-v-46f87864]{background:#22c55e0d;border-color:#22c55e33}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.running[data-v-46f87864]{background:#667eea0d;border-color:#667eea4d;box-shadow:0 0 4px #667eea33}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item.pending[data-v-46f87864]{opacity:.6}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator[data-v-46f87864]{display:flex;align-items:center;gap:4px;flex-shrink:0}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator .sub-step-icon[data-v-46f87864]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#667eea1a;border-radius:50%;font-size:10px;font-weight:700;color:#667eea}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-indicator .sub-step-number[data-v-46f87864]{font-size:10px;color:#888;font-weight:500;min-width:12px;text-align:center}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content[data-v-46f87864]{flex:1;display:flex;align-items:center;justify-content:space-between;min-width:0}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content .sub-step-title[data-v-46f87864]{color:#ccc;font-size:12px;line-height:1.3;word-break:break-word;flex:1}.assistant-message .steps-container .ai-section .sub-plan-steps .sub-plan-step-item .sub-step-content .sub-step-badge[data-v-46f87864]{background:#667eea26;color:#667eea;font-size:9px;padding:1px 4px;border-radius:8px;font-weight:500;flex-shrink:0;margin-left:6px}.thinking-dots[data-v-46f87864]{display:flex;gap:4px}.thinking-dots span[data-v-46f87864]{width:4px;height:4px;background:#667eea;border-radius:50%;animation:thinking-46f87864 1.4s infinite ease-in-out}.thinking-dots span[data-v-46f87864]:nth-child(1){animation-delay:-.32s}.thinking-dots span[data-v-46f87864]:nth-child(2){animation-delay:-.16s}.thinking-dots span[data-v-46f87864]:nth-child(3){animation-delay:0s}.typing-dots[data-v-46f87864]{display:flex;gap:3px}.typing-dots span[data-v-46f87864]{width:6px;height:6px;background:#667eea;border-radius:50%;animation:typing-46f87864 1.2s infinite ease-in-out}.typing-dots span[data-v-46f87864]:nth-child(1){animation-delay:0s}.typing-dots span[data-v-46f87864]:nth-child(2){animation-delay:.2s}.typing-dots span[data-v-46f87864]:nth-child(3){animation-delay:.4s}@keyframes thinking-46f87864{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes typing-46f87864{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}@keyframes pulse-46f87864{0%,to{opacity:1}50%{opacity:.5}}.user-input-form-container[data-v-46f87864]{margin-top:12px;padding:16px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px}.user-input-form-container .user-input-message[data-v-46f87864]{margin-bottom:12px;font-weight:500;color:#fff;font-size:14px}.user-input-form-container .form-description[data-v-46f87864]{margin-bottom:16px;color:#aaa;font-size:13px;line-height:1.4}.user-input-form-container .user-input-form .form-group[data-v-46f87864]{margin-bottom:16px}.user-input-form-container .user-input-form .form-group label[data-v-46f87864]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#fff}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]{width:100%;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;transition:border-color .2s ease}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.user-input-form-container .user-input-form .form-group .form-input[data-v-46f87864]::placeholder{color:#888}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.user-input-form-container .user-input-form .submit-user-input-btn[data-v-46f87864]:active{transform:translateY(0)}.scroll-to-bottom-btn[data-v-46f87864]{position:absolute;bottom:120px;right:24px;width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;box-shadow:0 6px 16px #667eea66;transition:all .3s ease;animation:pulse-glow-46f87864 2s infinite}.scroll-to-bottom-btn[data-v-46f87864]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea80}.scroll-to-bottom-btn[data-v-46f87864]:active{transform:translateY(0)}.scroll-to-bottom-btn svg[data-v-46f87864]{font-size:20px;color:#fff}@keyframes pulse-glow-46f87864{0%,to{box-shadow:0 6px 16px #667eea66}50%{box-shadow:0 6px 20px #667eea99}}.input-area[data-v-639c8b2a]{min-height:112px;padding:20px 24px;border-top:1px solid #1a1a1a;background:#ffffff05;flex-shrink:0;position:sticky;bottom:0;z-index:100;box-shadow:0 -4px 12px #0000001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-container[data-v-639c8b2a]{display:flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px}.input-container[data-v-639c8b2a]:focus-within{border-color:#667eea}.attach-btn[data-v-639c8b2a]{flex-shrink:0;width:32px;height:32px;border:none;border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.attach-btn[data-v-639c8b2a]:hover{background:#ffffff1a;transform:translateY(-1px)}.chat-input[data-v-639c8b2a]{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;line-height:1.5;resize:none;min-height:20px;max-height:120px}.chat-input[data-v-639c8b2a]::placeholder{color:#666}.chat-input[data-v-639c8b2a]:disabled{opacity:.5;cursor:not-allowed}.chat-input[data-v-639c8b2a]:disabled::placeholder{color:#444}.plan-mode-btn[data-v-639c8b2a]{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0d;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.plan-mode-btn[data-v-639c8b2a]:hover{background:#ffffff1a;border-color:#667eea;transform:translateY(-1px)}.send-button[data-v-639c8b2a]{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.send-button[data-v-639c8b2a]:hover:not(:disabled){transform:translateY(-1px)}.send-button[data-v-639c8b2a]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-5b32448e]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001}.modal-container[data-v-5b32448e]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-5b32448e]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-5b32448e]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.header-actions[data-v-5b32448e]{display:flex;align-items:center;gap:16px}.status-switch[data-v-5b32448e]{display:flex;align-items:center;gap:8px}.status-label[data-v-5b32448e]{font-size:14px;color:#ffffffb3}.close-btn[data-v-5b32448e]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-5b32448e]:hover{color:#ffffffe6}.modal-content[data-v-5b32448e]{padding:24px}.task-form[data-v-5b32448e]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-5b32448e]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-5b32448e]{font-size:14px;font-weight:500;color:#ffffffe6}.form-input[data-v-5b32448e],.form-textarea[data-v-5b32448e],.form-select[data-v-5b32448e]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#ffffffe6;font-size:14px;transition:all .3s}.form-input[data-v-5b32448e]:focus,.form-textarea[data-v-5b32448e]:focus,.form-select[data-v-5b32448e]:focus{outline:none;border-color:#667eea80;box-shadow:0 0 0 2px #667eea1a}.form-input[data-v-5b32448e]::placeholder,.form-textarea[data-v-5b32448e]::placeholder{color:#fff6}.form-textarea[data-v-5b32448e]{resize:vertical;min-height:80px}.form-help[data-v-5b32448e]{font-size:12px;color:#ffffff80;margin-top:4px}.time-info[data-v-5b32448e]{display:flex;align-items:center;gap:8px;padding:8px 0}.time-label[data-v-5b32448e]{font-size:14px;font-weight:500;color:#ffffffb3}.time-value[data-v-5b32448e]{font-size:14px;color:#ffffffe6}.template-toggle[data-v-5b32448e]{display:flex;gap:8px}.template-btn[data-v-5b32448e]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}.template-btn.active[data-v-5b32448e]{background:#667eea33;border-color:#667eea4d;color:#667eea}.template-btn[data-v-5b32448e]:hover{background:#ffffff1a}.template-btn.active[data-v-5b32448e]:hover{background:#667eea4d}.template-selector[data-v-5b32448e]{margin-top:8px}.form-select[data-v-5b32448e]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.modal-footer[data-v-5b32448e]{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-5b32448e],.save-btn[data-v-5b32448e]{padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px}.cancel-btn[data-v-5b32448e]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.cancel-btn[data-v-5b32448e]:hover{background:#ffffff1a}.save-btn[data-v-5b32448e]{background:#667eea33;border:1px solid rgba(102,126,234,.3);color:#667eea}.save-btn[data-v-5b32448e]:hover:not(:disabled){background:#667eea4d}.save-btn[data-v-5b32448e]:disabled{opacity:.5;cursor:not-allowed}.loading-icon[data-v-5b32448e]{animation:spin-5b32448e 1s linear infinite}@keyframes spin-5b32448e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-enter-active[data-v-5b32448e],.modal-leave-active[data-v-5b32448e]{transition:opacity .3s ease}.modal-enter-from[data-v-5b32448e],.modal-leave-to[data-v-5b32448e]{opacity:0}.toggle-switch[data-v-5b32448e]{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input[data-v-5b32448e]{opacity:0;width:0;height:0}.toggle-slider[data-v-5b32448e]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#fff3;transition:.4s;border-radius:24px}.toggle-slider[data-v-5b32448e]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider[data-v-5b32448e]{background-color:#667eea99}input:focus+.toggle-slider[data-v-5b32448e]{box-shadow:0 0 1px #667eea99}input:checked+.toggle-slider[data-v-5b32448e]:before{transform:translate(26px)}.modal-overlay[data-v-f31a9ce7]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-f31a9ce7]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header[data-v-f31a9ce7]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-f31a9ce7]{margin:0;font-size:18px;font-weight:500;color:#ffffffe6}.header-actions[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px}.add-task-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:#22c55e;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.add-task-btn[data-v-f31a9ce7]:hover{background:#22c55e33;border-color:#22c55e4d;transform:translateY(-1px)}.close-btn[data-v-f31a9ce7]{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-btn[data-v-f31a9ce7]:hover{color:#ffffffe6}.modal-content[data-v-f31a9ce7]{padding:24px;min-height:300px}.loading-container[data-v-f31a9ce7],.empty-container[data-v-f31a9ce7]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff9;gap:12px}.loading-icon[data-v-f31a9ce7]{font-size:24px;animation:spin-f31a9ce7 1s linear infinite}.empty-icon[data-v-f31a9ce7]{font-size:48px;opacity:.5}@keyframes spin-f31a9ce7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.task-list[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:16px}.task-item[data-v-f31a9ce7]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s ease;gap:20px;cursor:pointer}.task-item[data-v-f31a9ce7]:hover{background:#667eea26;border-color:#667eea66;transform:translateY(-3px);box-shadow:0 8px 32px #667eea33}.task-main[data-v-f31a9ce7]{flex:1;display:flex;flex-direction:column;gap:16px}.task-info[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:10px}.task-header[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.task-name[data-v-f31a9ce7]{font-size:20px;font-weight:700;color:#fffffff2;line-height:1.3;background:linear-gradient(135deg,#fffffff2,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.task-status-badge[data-v-f31a9ce7]{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid transparent;white-space:nowrap}.task-status-badge.active[data-v-f31a9ce7]{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.task-status-badge.inactive[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.task-description[data-v-f31a9ce7]{font-size:14px;color:#ffffffb3;line-height:1.5;margin:4px 0;max-width:80%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-time[data-v-f31a9ce7]{display:flex;align-items:center;gap:8px;color:#fff9;font-size:13px;padding:6px 10px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.task-time[data-v-f31a9ce7]:hover{background:#ffffff0f;border-color:#ffffff1a}.cron-readable[data-v-f31a9ce7]{color:#ffffffd9;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.task-actions[data-v-f31a9ce7]{display:flex;flex-direction:row;gap:8px;min-width:200px;align-items:flex-start;margin-left:auto;justify-content:flex-end}.action-btn[data-v-f31a9ce7]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap;border:1px solid transparent}.execute-btn[data-v-f31a9ce7]{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.execute-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f64d}.execute-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.delete-btn[data-v-f31a9ce7]{background:#ef44441a;border-color:#ef444433;color:#ef4444}.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef444433;border-color:#ef44444d}.delete-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.dropdown-btn[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.dropdown-btn[data-v-f31a9ce7]:hover{background:#9ca3af33;border-color:#9ca3af4d}.action-dropdown[data-v-f31a9ce7]{position:relative}.dropdown-menu[data-v-f31a9ce7]{position:absolute;top:100%;right:0;background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;min-width:140px;margin-top:4px}.dropdown-item[data-v-f31a9ce7]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;color:#fffc;font-size:13px;cursor:pointer;transition:all .2s;text-align:left}.dropdown-item[data-v-f31a9ce7]:first-child{border-radius:8px 8px 0 0}.dropdown-item[data-v-f31a9ce7]:last-child{border-radius:0 0 8px 8px}.dropdown-item[data-v-f31a9ce7]:hover:not(:disabled){background:#ffffff1a;color:#fffffff2}.dropdown-item.edit-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#3b82f61a;color:#3b82f6}.dropdown-item.toggle-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#f973161a;color:#f97316}.dropdown-item.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef44441a;color:#ef4444}.dropdown-item[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.modal-enter-active[data-v-f31a9ce7],.modal-leave-active[data-v-f31a9ce7]{transition:opacity .3s ease}.modal-enter-from[data-v-f31a9ce7],.modal-leave-to[data-v-f31a9ce7]{opacity:0}.confirm-modal[data-v-f31a9ce7]{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 32px #0006;overflow:hidden}.confirm-header[data-v-f31a9ce7]{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.warning-icon[data-v-f31a9ce7]{font-size:24px;color:#f59e0b}.confirm-header h3[data-v-f31a9ce7]{margin:0;font-size:18px;font-weight:600;color:#ffffffe6}.confirm-content[data-v-f31a9ce7]{padding:20px 24px}.confirm-content p[data-v-f31a9ce7]{margin:0;color:#fffc;line-height:1.6;font-size:14px}.confirm-actions[data-v-f31a9ce7]{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.confirm-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;border:1px solid transparent;min-width:80px;justify-content:center}.confirm-btn.cancel-btn[data-v-f31a9ce7]{background:#9ca3af1a;border-color:#9ca3af33;color:#9ca3af}.confirm-btn.cancel-btn[data-v-f31a9ce7]:hover{background:#9ca3af33;border-color:#9ca3af4d}.confirm-btn.delete-btn[data-v-f31a9ce7]{background:#ef44441a;border-color:#ef444433;color:#ef4444}.confirm-btn.delete-btn[data-v-f31a9ce7]:hover:not(:disabled){background:#ef444433;border-color:#ef44444d}.confirm-btn.delete-btn[data-v-f31a9ce7]:disabled{opacity:.5;cursor:not-allowed}.create-options-modal[data-v-f31a9ce7]{max-width:520px}.create-icon[data-v-f31a9ce7]{font-size:24px;color:#3b82f6}.create-options[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:16px;margin-top:20px}.create-option-btn[data-v-f31a9ce7]{display:flex;align-items:center;gap:16px;padding:16px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s;text-align:left}.create-option-btn[data-v-f31a9ce7]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.create-option-btn .iconify[data-v-f31a9ce7]{font-size:24px}.jmanus-btn[data-v-f31a9ce7]{color:#3b82f6}.jmanus-btn[data-v-f31a9ce7]:hover{background:#3b82f61a;border-color:#3b82f64d}.jmanus-btn .iconify[data-v-f31a9ce7]{color:#3b82f6}.manual-btn[data-v-f31a9ce7]{color:#10b981}.manual-btn[data-v-f31a9ce7]:hover{background:#10b9811a;border-color:#10b9814d}.manual-btn .iconify[data-v-f31a9ce7]{color:#10b981}.option-content[data-v-f31a9ce7]{display:flex;flex-direction:column;gap:4px}.option-title[data-v-f31a9ce7]{font-size:16px;font-weight:600}.option-desc[data-v-f31a9ce7]{font-size:13px;color:#fff9}.direct-page[data-v-ea79c7eb]{width:100%;display:flex;position:relative}.direct-chat[data-v-ea79c7eb]{height:100vh;width:100%;background:#0a0a0a;display:flex}.left-panel[data-v-ea79c7eb]{position:relative;border-right:none;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:width .1s ease}.panel-resizer[data-v-ea79c7eb]{width:6px;height:100vh;background:#1a1a1a;cursor:col-resize;position:relative;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.panel-resizer[data-v-ea79c7eb]:hover{background:#2a2a2a}.panel-resizer:hover .resizer-line[data-v-ea79c7eb]{background:#4a90e2;width:2px}.panel-resizer[data-v-ea79c7eb]:active{background:#3a3a3a}.resizer-line[data-v-ea79c7eb]{width:1px;height:40px;background:#3a3a3a;border-radius:1px;transition:all .2s ease}[data-v-ea79c7eb] .right-panel{transition:width .1s ease}.chat-header[data-v-ea79c7eb]{padding:20px 24px;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;gap:16px;background:#ffffff05;flex-shrink:0;position:sticky;top:0;z-index:100}.chat-header h2[data-v-ea79c7eb]{flex:1;margin:0;font-size:18px;font-weight:600;color:#fff}.chat-content[data-v-ea79c7eb]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.header-actions[data-v-ea79c7eb]{display:flex;align-items:center;gap:12px}.back-button[data-v-ea79c7eb]{padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;font-size:14px}.back-button[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.config-button[data-v-ea79c7eb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease}.config-button[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.cron-task-btn[data-v-ea79c7eb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s ease}.cron-task-btn[data-v-ea79c7eb]:hover{background:#ffffff1a;border-color:#fff3}.loading-prompt[data-v-ea79c7eb]{flex:1;display:flex;align-items:center;justify-content:center;color:#888;font-size:16px;padding:50px}.message-toast[data-v-ea79c7eb]{position:fixed;top:80px;right:24px;z-index:9999;min-width:320px;max-width:480px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideInRight .3s ease-out;font-size:14px;font-weight:500}.message-toast.error[data-v-ea79c7eb]{color:#fff2f0;background-color:#ff4d4f}.message-content[data-v-ea79c7eb]{display:flex;align-items:center;gap:8px;flex:1;word-break:break-all}.message-content i[data-v-ea79c7eb]{font-size:16px} diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-DMO0RmCc.js b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Da6ed0Wm.js similarity index 96% rename from spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-DMO0RmCc.js rename to spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Da6ed0Wm.js index 32873031ae..74b6250a95 100644 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-DMO0RmCc.js +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-Da6ed0Wm.js @@ -1 +1 @@ -import{d as I,a as u,b as m,q as $,s as L,f as C,x as E,e as t,t as i,r as x,u as j,c as y,o as F,g as f,w as M,j as R,F as V,l as A,p as G,y as H}from"./index-B-dUWZe2.js";import{_ as K}from"./Java-AI-BYpq8IxI.js";import{I as N}from"./iconify-BDg1LCM7.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{L as O}from"./index-C_qcY8JP.js";import{u as W,s as r}from"./sidebar-DDf1Zcjj.js";import"./llm-check-D2idVWhZ.js";const X={key:1,class:"blur-card-content"},z=I({__name:"index",props:{content:{},wrapperStyle:{}},emits:["clickCard"],setup(S,{emit:d}){const n=S,l=d,c=()=>{console.log("[BlurCard] handleClick called with content:",n.content),l("clickCard",n.content),console.log("[BlurCard] clickCard event emitted")};return(a,w)=>{var p,h,g,v,_;return m(),u("button",{class:"blur-card",onClick:c,style:$(a.wrapperStyle)},[(p=a.content)!=null&&p.icon?(m(),L(E(N),{key:0,icon:a.content.icon,class:"blur-card-icon"},null,8,["icon"])):C("",!0),(h=a.content)!=null&&h.title||(g=a.content)!=null&&g.description?(m(),u("div",X,[t("h3",null,i((v=a.content)==null?void 0:v.title),1),t("p",null,i((_=a.content)==null?void 0:_.description),1)])):C("",!0)],4)}}}),U=P(z,[["__scopeId","data-v-48da0039"]]),Q={class:"home-page"},Y={class:"welcome-container"},Z={class:"header"},ee={class:"header-top"},oe={class:"logo-container"},te={class:"tagline"},ae={class:"main-content"},se={class:"conversation-container"},ne={class:"welcome-section"},le={class:"welcome-title"},re={class:"welcome-subtitle"},ce={class:"input-section"},ie={class:"input-container"},de=["placeholder"],me=["disabled"],pe={class:"examples-section"},ue={class:"examples-grid"},he={class:"card-type"},ge=I({__name:"index",setup(S){const d=G(),n=W(),l=x(""),c=x(),{t:a}=j(),w=()=>{const o=Date.now().toString();d.push({name:"direct",params:{id:o}}).then(()=>{console.log("[Home] jump to direct page"+a("common.success"))}).catch(e=>{console.error("[Home] jump to direct page"+a("common.error"),e)})},p=y(()=>[{title:a("home.examples.stockPrice.title"),type:"message",description:a("home.examples.stockPrice.description"),icon:"carbon:chart-line-data",prompt:a("home.examples.stockPrice.prompt")},{title:a("home.examples.weather.title"),type:"message",description:a("home.examples.weather.description"),icon:"carbon:partly-cloudy",prompt:a("home.examples.weather.prompt")}]),h=y(()=>[{title:a("home.examples.queryplan.title"),type:"plan-act",description:a("home.examples.queryplan.description"),icon:"carbon:plan",prompt:a("home.examples.queryplan.prompt"),planJson:{planType:"simple",title:"查询 沈询 阿里的所有信息(用于展示无限上下文能力)",steps:[{stepRequirement:"[BROWSER_AGENT] 通过 百度 查询 沈询 阿里 , 获取第一页的html 百度数据,合并聚拢 到 html_data 的目录里",terminateColumns:"存放的目录路径"},{stepRequirement:"[BROWSER_AGENT] 从 html_data 目录中找到所有的有效关于沈询 阿里 的网页链接,输出到 link.md里面",terminateColumns:"url地址,说明"}],planId:"planTemplate-1749200517403"}},{title:a("home.examples.ainovel.title"),type:"plan-act",description:a("home.examples.ainovel.description"),icon:"carbon:document-tasks",prompt:a("home.examples.ainovel.prompt"),planJson:{planType:"simple",title:"人工智能逐步击败人类小说创作计划",steps:[{stepRequirement:"[TEXT_FILE_AGENT] 创建小说的大标题和子章节标题的文件,期望是一有10个子章节的的小说,提纲输出到novel.md里,每一个子章节用二级标题,在当前步骤只需要写章节的标题即可,小说的大标题是《人工智能逐步击败人类》",terminateColumns:"文件的名字"},{stepRequirement:"[TEXT_FILE_AGENT] 从novel.md文件获取子标题信息,然后依次完善每一个章节的具体内容,每个轮次只完善一个子章节的内容,用replace来更新内容,每个章节要求有3000字的内容,不要每更新一个章节就查询一下文档的全部内容",terminateColumns:"文件的名字"}],planId:"planTemplate-1753622676988"}}]),g=y(()=>[...p.value,...h.value]),v=o=>{o.type==="message"?D(o):o.type==="plan-act"&&J(o)};F(()=>{console.log("[Home] onMounted called"),console.log("[Home] taskStore:",n),console.log("[Home] examples:",p),n.markHomeVisited(),console.log("[Home] Home visited marked")});const _=async o=>{try{r.createNewTemplate(),r.jsonContent=JSON.stringify(o);const e=await r.saveTemplate();e!=null&&e.duplicate?console.log("[Sidebar] "+a("sidebar.saveCompleted",{message:e.message,versionCount:e.versionCount})):e!=null&&e.saved?console.log("[Sidebar] "+a("sidebar.saveSuccess",{message:e.message,versionCount:e.versionCount})):e!=null&&e.message&&console.log("[Sidebar] "+a("sidebar.saveStatus",{message:e.message}))}catch(e){console.error("[Sidebar] Failed to save the plan to the template library:",e),alert(e.message||a("sidebar.saveFailed"))}},B=()=>{H(()=>{c.value&&(c.value.style.height="auto",c.value.style.height=Math.min(c.value.scrollHeight,200)+"px")})},q=o=>{console.log("[Home] handleKeydown called, key:",o.key),o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),console.log("[Home] Enter key pressed, calling handleSend"),T())},T=()=>{if(console.log("[Home] handleSend called, userInput:",l.value),!l.value.trim()){console.log("[Home] handleSend aborted - empty input");return}const o=l.value.trim();console.log("[Home] Setting task to store:",o),n.setTask(o),console.log("[Home] Task set to store, current task:",n.currentTask);const e=Date.now().toString();console.log("[Home] Navigating to direct page with chatId:",e),d.push({name:"direct",params:{id:e}}).then(()=>{console.log("[Home] Navigation to direct page completed")}).catch(s=>{console.error("[Home] Navigation error:",s)})},D=o=>{console.log("[Home] selectExample called with example:",o),console.log("[Home] Example prompt:",o.prompt),n.setTask(o.prompt),console.log("[Home] Task set to store from example, current task:",n.currentTask);const e=Date.now().toString();console.log("[Home] Navigating to direct page with chatId:",e),d.push({name:"direct",params:{id:e}}).then(()=>{console.log("[Home] Navigation to direct page completed (from example)")}).catch(s=>{console.error("[Home] Navigation error (from example):",s)})},J=async o=>{console.log("[Home] selectPlan called with plan:",o);try{await _(o.planJson),console.log("[Home] Plan saved to templates");const e=Date.now().toString();await d.push({name:"direct",params:{id:e}}),H(async()=>{await new Promise(k=>setTimeout(k,300)),r.isCollapsed?(await r.toggleSidebar(),console.log("[Sidebar] Sidebar toggled")):console.log("[Sidebar] Sidebar is already open"),await r.loadPlanTemplateList(),console.log("[Sidebar] Template list loaded");const s=r.planTemplateList.find(k=>k.id===o.planJson.planId);if(!s){console.error("[Sidebar] Template not found");return}await r.selectTemplate(s),console.log("[Sidebar] Template selected:",s.title);const b=document.querySelector(".execute-btn");b.disabled?console.error("[Sidebar] Execute button not found or disabled"):(console.log("[Sidebar] Triggering execute button click"),b.click())})}catch(e){console.error("[Home] Error in selectPlan:",e)}};return(o,e)=>(m(),u("div",Q,[t("div",Y,[e[2]||(e[2]=t("div",{class:"background-effects"},[t("div",{class:"gradient-orb orb-1"}),t("div",{class:"gradient-orb orb-2"}),t("div",{class:"gradient-orb orb-3"})],-1)),t("header",Z,[t("div",ee,[f(O)]),t("div",oe,[e[1]||(e[1]=t("div",{class:"logo"},[t("img",{src:K,alt:"JManus",class:"java-logo"}),t("h1",null,"JManus")],-1)),t("span",te,i(o.$t("home.tagline")),1)])]),t("main",ae,[t("div",se,[t("div",ne,[t("h2",le,i(o.$t("home.welcomeTitle")),1),t("p",re,i(o.$t("home.welcomeSubtitle")),1),t("button",{class:"direct-button",onClick:w},i(o.$t("home.directButton")),1)]),t("div",ce,[t("div",ie,[M(t("textarea",{"onUpdate:modelValue":e[0]||(e[0]=s=>l.value=s),ref_key:"textareaRef",ref:c,class:"main-input",placeholder:o.$t("home.inputPlaceholder"),onKeydown:q,onInput:B},null,40,de),[[R,l.value]]),t("button",{class:"send-button",disabled:!l.value.trim(),onClick:T},[f(E(N),{icon:"carbon:send-alt"})],8,me)])]),t("div",pe,[t("div",ue,[(m(!0),u(V,null,A(g.value,s=>(m(),u("div",{key:s.title,class:"card-with-type"},[f(U,{content:s,onClickCard:b=>v(s)},null,8,["content","onClickCard"]),t("span",he,i(s.type),1)]))),128))])])])])])]))}}),we=P(ge,[["__scopeId","data-v-8a1c50e1"]]);export{we as default}; +import{d as I,a as u,b as m,q as $,s as L,f as C,x as E,e as t,t as i,r as x,u as j,c as y,o as F,g as f,w as M,j as R,F as V,l as A,p as G,y as H}from"./index-SarmArA2.js";import{_ as K}from"./Java-AI-BYpq8IxI.js";import{I as N}from"./iconify-B5kZhuXP.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{L as O}from"./index-BPwnW1su.js";import{u as W,s as r}from"./sidebar-EjrN4Sj7.js";import"./llm-check-D2idVWhZ.js";const X={key:1,class:"blur-card-content"},z=I({__name:"index",props:{content:{},wrapperStyle:{}},emits:["clickCard"],setup(S,{emit:d}){const n=S,l=d,c=()=>{console.log("[BlurCard] handleClick called with content:",n.content),l("clickCard",n.content),console.log("[BlurCard] clickCard event emitted")};return(a,w)=>{var p,h,g,v,_;return m(),u("button",{class:"blur-card",onClick:c,style:$(a.wrapperStyle)},[(p=a.content)!=null&&p.icon?(m(),L(E(N),{key:0,icon:a.content.icon,class:"blur-card-icon"},null,8,["icon"])):C("",!0),(h=a.content)!=null&&h.title||(g=a.content)!=null&&g.description?(m(),u("div",X,[t("h3",null,i((v=a.content)==null?void 0:v.title),1),t("p",null,i((_=a.content)==null?void 0:_.description),1)])):C("",!0)],4)}}}),U=P(z,[["__scopeId","data-v-48da0039"]]),Q={class:"home-page"},Y={class:"welcome-container"},Z={class:"header"},ee={class:"header-top"},oe={class:"logo-container"},te={class:"tagline"},ae={class:"main-content"},se={class:"conversation-container"},ne={class:"welcome-section"},le={class:"welcome-title"},re={class:"welcome-subtitle"},ce={class:"input-section"},ie={class:"input-container"},de=["placeholder"],me=["disabled"],pe={class:"examples-section"},ue={class:"examples-grid"},he={class:"card-type"},ge=I({__name:"index",setup(S){const d=G(),n=W(),l=x(""),c=x(),{t:a}=j(),w=()=>{const o=Date.now().toString();d.push({name:"direct",params:{id:o}}).then(()=>{console.log("[Home] jump to direct page"+a("common.success"))}).catch(e=>{console.error("[Home] jump to direct page"+a("common.error"),e)})},p=y(()=>[{title:a("home.examples.stockPrice.title"),type:"message",description:a("home.examples.stockPrice.description"),icon:"carbon:chart-line-data",prompt:a("home.examples.stockPrice.prompt")},{title:a("home.examples.weather.title"),type:"message",description:a("home.examples.weather.description"),icon:"carbon:partly-cloudy",prompt:a("home.examples.weather.prompt")}]),h=y(()=>[{title:a("home.examples.queryplan.title"),type:"plan-act",description:a("home.examples.queryplan.description"),icon:"carbon:plan",prompt:a("home.examples.queryplan.prompt"),planJson:{planType:"simple",title:"查询 沈询 阿里的所有信息(用于展示无限上下文能力)",steps:[{stepRequirement:"[BROWSER_AGENT] 通过 百度 查询 沈询 阿里 , 获取第一页的html 百度数据,合并聚拢 到 html_data 的目录里",terminateColumns:"存放的目录路径"},{stepRequirement:"[BROWSER_AGENT] 从 html_data 目录中找到所有的有效关于沈询 阿里 的网页链接,输出到 link.md里面",terminateColumns:"url地址,说明"}],planId:"planTemplate-1749200517403"}},{title:a("home.examples.ainovel.title"),type:"plan-act",description:a("home.examples.ainovel.description"),icon:"carbon:document-tasks",prompt:a("home.examples.ainovel.prompt"),planJson:{planType:"simple",title:"人工智能逐步击败人类小说创作计划",steps:[{stepRequirement:"[TEXT_FILE_AGENT] 创建小说的大标题和子章节标题的文件,期望是一有10个子章节的的小说,提纲输出到novel.md里,每一个子章节用二级标题,在当前步骤只需要写章节的标题即可,小说的大标题是《人工智能逐步击败人类》",terminateColumns:"文件的名字"},{stepRequirement:"[TEXT_FILE_AGENT] 从novel.md文件获取子标题信息,然后依次完善每一个章节的具体内容,每个轮次只完善一个子章节的内容,用replace来更新内容,每个章节要求有3000字的内容,不要每更新一个章节就查询一下文档的全部内容",terminateColumns:"文件的名字"}],planId:"planTemplate-1753622676988"}}]),g=y(()=>[...p.value,...h.value]),v=o=>{o.type==="message"?D(o):o.type==="plan-act"&&J(o)};F(()=>{console.log("[Home] onMounted called"),console.log("[Home] taskStore:",n),console.log("[Home] examples:",p),n.markHomeVisited(),console.log("[Home] Home visited marked")});const _=async o=>{try{r.createNewTemplate(),r.jsonContent=JSON.stringify(o);const e=await r.saveTemplate();e!=null&&e.duplicate?console.log("[Sidebar] "+a("sidebar.saveCompleted",{message:e.message,versionCount:e.versionCount})):e!=null&&e.saved?console.log("[Sidebar] "+a("sidebar.saveSuccess",{message:e.message,versionCount:e.versionCount})):e!=null&&e.message&&console.log("[Sidebar] "+a("sidebar.saveStatus",{message:e.message}))}catch(e){console.error("[Sidebar] Failed to save the plan to the template library:",e),alert(e.message||a("sidebar.saveFailed"))}},B=()=>{H(()=>{c.value&&(c.value.style.height="auto",c.value.style.height=Math.min(c.value.scrollHeight,200)+"px")})},q=o=>{console.log("[Home] handleKeydown called, key:",o.key),o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),console.log("[Home] Enter key pressed, calling handleSend"),T())},T=()=>{if(console.log("[Home] handleSend called, userInput:",l.value),!l.value.trim()){console.log("[Home] handleSend aborted - empty input");return}const o=l.value.trim();console.log("[Home] Setting task to store:",o),n.setTask(o),console.log("[Home] Task set to store, current task:",n.currentTask);const e=Date.now().toString();console.log("[Home] Navigating to direct page with chatId:",e),d.push({name:"direct",params:{id:e}}).then(()=>{console.log("[Home] Navigation to direct page completed")}).catch(s=>{console.error("[Home] Navigation error:",s)})},D=o=>{console.log("[Home] selectExample called with example:",o),console.log("[Home] Example prompt:",o.prompt),n.setTask(o.prompt),console.log("[Home] Task set to store from example, current task:",n.currentTask);const e=Date.now().toString();console.log("[Home] Navigating to direct page with chatId:",e),d.push({name:"direct",params:{id:e}}).then(()=>{console.log("[Home] Navigation to direct page completed (from example)")}).catch(s=>{console.error("[Home] Navigation error (from example):",s)})},J=async o=>{console.log("[Home] selectPlan called with plan:",o);try{await _(o.planJson),console.log("[Home] Plan saved to templates");const e=Date.now().toString();await d.push({name:"direct",params:{id:e}}),H(async()=>{await new Promise(k=>setTimeout(k,300)),r.isCollapsed?(await r.toggleSidebar(),console.log("[Sidebar] Sidebar toggled")):console.log("[Sidebar] Sidebar is already open"),await r.loadPlanTemplateList(),console.log("[Sidebar] Template list loaded");const s=r.planTemplateList.find(k=>k.id===o.planJson.planId);if(!s){console.error("[Sidebar] Template not found");return}await r.selectTemplate(s),console.log("[Sidebar] Template selected:",s.title);const b=document.querySelector(".execute-btn");b.disabled?console.error("[Sidebar] Execute button not found or disabled"):(console.log("[Sidebar] Triggering execute button click"),b.click())})}catch(e){console.error("[Home] Error in selectPlan:",e)}};return(o,e)=>(m(),u("div",Q,[t("div",Y,[e[2]||(e[2]=t("div",{class:"background-effects"},[t("div",{class:"gradient-orb orb-1"}),t("div",{class:"gradient-orb orb-2"}),t("div",{class:"gradient-orb orb-3"})],-1)),t("header",Z,[t("div",ee,[f(O)]),t("div",oe,[e[1]||(e[1]=t("div",{class:"logo"},[t("img",{src:K,alt:"JManus",class:"java-logo"}),t("h1",null,"JManus")],-1)),t("span",te,i(o.$t("home.tagline")),1)])]),t("main",ae,[t("div",se,[t("div",ne,[t("h2",le,i(o.$t("home.welcomeTitle")),1),t("p",re,i(o.$t("home.welcomeSubtitle")),1),t("button",{class:"direct-button",onClick:w},i(o.$t("home.directButton")),1)]),t("div",ce,[t("div",ie,[M(t("textarea",{"onUpdate:modelValue":e[0]||(e[0]=s=>l.value=s),ref_key:"textareaRef",ref:c,class:"main-input",placeholder:o.$t("home.inputPlaceholder"),onKeydown:q,onInput:B},null,40,de),[[R,l.value]]),t("button",{class:"send-button",disabled:!l.value.trim(),onClick:T},[f(E(N),{icon:"carbon:send-alt"})],8,me)])]),t("div",pe,[t("div",ue,[(m(!0),u(V,null,A(g.value,s=>(m(),u("div",{key:s.title,class:"card-with-type"},[f(U,{content:s,onClickCard:b=>v(s)},null,8,["content","onClickCard"]),t("span",he,i(s.type),1)]))),128))])])])])])]))}}),we=P(ge,[["__scopeId","data-v-8a1c50e1"]]);export{we as default}; diff --git a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D7jBxd18.js b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-H3fwLZKf.js similarity index 56% rename from spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D7jBxd18.js rename to spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-H3fwLZKf.js index fb0ecfce85..4579d3467c 100644 --- a/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-D7jBxd18.js +++ b/spring-ai-alibaba-jmanus/src/main/resources/static/ui/assets/index-H3fwLZKf.js @@ -1,38 +1,38 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/freemarker2-BOQAwzwv.js","assets/index-B-dUWZe2.js","assets/index-DN-vOy2S.css","assets/iconify-BDg1LCM7.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/useMessage-BBito0HT.js","assets/useMessage-B772OobR.css","assets/prompt-api-service-coSOT7Zc.js","assets/index-C_qcY8JP.js","assets/index-TjSmldwt.css","assets/handlebars-3OB9DvOF.js","assets/html-D1OU-hRR.js","assets/javascript-CArKst2u.js","assets/typescript-Cku-J0Gq.js","assets/liquid-D9RGCvMp.js","assets/mdx-iuSV3C7-.js","assets/python-COrkDaY2.js","assets/razor-J4jOx_8l.js","assets/xml-Dwu0j0X8.js","assets/yaml-Da7Bv7BA.js","assets/cssMode-CnRBMiyj.js","assets/htmlMode-Bp2KaBbq.js","assets/jsonMode-BUz0tyas.js","assets/tsMode-XbashWcc.js"])))=>i.map(i=>d[i]); -var Dz=Object.defineProperty;var xz=(o,e,t)=>e in o?Dz(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var di=(o,e,t)=>xz(o,typeof e!="symbol"?e+"":e,t);import{d as Ss,a as ce,b as re,e as x,t as z,u as Pa,r as Qe,z as or,c as Xn,o as jd,g as ye,f as at,i as Me,w as $t,j as ti,F as an,l as hn,n as En,E as iy,s as kn,k as Yt,T as qb,J as Gf,C as kz,x as O,h as Zh,B as dr,D as Tk,y as k9,H as Iz,K as K2,q as Ez,A as I9,_ as Pe,M as Nz,N as Tz,p as E9,G as N9,O as Mz}from"./index-B-dUWZe2.js";import{I as Re}from"./iconify-BDg1LCM7.js";import{_ as us}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{a as Az,u as T9}from"./useMessage-BBito0HT.js";import{PromptApiService as ec}from"./prompt-api-service-coSOT7Zc.js";import{L as Rz}from"./index-C_qcY8JP.js";const Pz={class:"switch"},Oz=["checked"],Fz={class:"switch-label"},Bz=Ss({__name:"index",props:{enabled:{type:Boolean},label:{}},emits:["update:switchValue"],setup(o,{emit:e}){const t=e,i=n=>{const s=n.target.checked;t("update:switchValue",s)};return(n,s)=>(re(),ce("label",Pz,[x("input",{type:"checkbox",checked:n.enabled,onChange:i},null,40,Oz),s[0]||(s[0]=x("span",{class:"slider"},null,-1)),x("span",Fz,z(n.label),1)]))}}),Wz=us(Bz,[["__scopeId","data-v-d484b4a3"]]);class u_{static async getConfigsByGroup(e){try{const t=await fetch(`${this.BASE_URL}/group/${e}`);if(!t.ok)throw new Error(`Failed to get ${e} group configuration: ${t.status}`);return await t.json()}catch(t){throw console.error(`Failed to get ${e} group configuration:`,t),t}}static async batchUpdateConfigs(e){if(e.length===0)return{success:!0,message:"No configuration needs to be updated"};try{const t=await fetch(`${this.BASE_URL}/batch-update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`Batch update configuration failed: ${t.status}`);return{success:!0,message:"Configuration saved successfully"}}catch(t){return console.error("Batch update configuration failed:",t),{success:!1,message:t instanceof Error?t.message:"Update failed, please try again"}}}static async getConfigById(e){try{const t=await fetch(`${this.BASE_URL}/${e}`);if(!t.ok)throw new Error(`Failed to get configuration item: ${t.status}`);return await t.json()}catch(t){throw console.error(`Failed to get configuration item[${e}]:`,t),t}}static async updateConfig(e){try{const t=await fetch(`${this.BASE_URL}/${e.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`Failed to update configuration item: ${t.status}`);return{success:!0,message:"Configuration updated successfully"}}catch(t){return console.error("Failed to update configuration item:",t),{success:!1,message:t instanceof Error?t.message:"Update failed, please try again"}}}}di(u_,"BASE_URL","/api/config");const Vz={class:"config-panel"},Hz={class:"config-header"},zz={class:"header-left"},$z={class:"config-stats"},Uz={class:"stat-item"},jz={class:"stat-label"},Kz={class:"stat-value"},qz={key:0,class:"stat-item"},Gz={class:"stat-label"},Zz={class:"stat-value modified"},Yz={class:"header-right"},Xz={class:"import-export-actions"},Qz=["title"],Jz=["title"],e$={class:"search-box"},t$=["placeholder"],i$={key:0,class:"loading-container"},n$={key:1,class:"config-groups"},s$={class:"group-header"},o$={class:"group-info"},r$={class:"group-icon"},a$={class:"group-actions"},l$=["onClick","disabled","title"],d$={class:"sub-groups"},c$=["onClick"],u$={class:"sub-group-info"},h$={class:"sub-group-title"},g$={class:"item-count"},f$={class:"config-items"},p$={key:0,class:"config-item-content vertical-layout"},m$={class:"config-item-info"},_$={class:"config-item-header"},v$={class:"config-label"},b$={class:"type-badge boolean"},C$={key:0,class:"modified-badge"},w$=["title"],S$={class:"config-control"},y$=["value","onChange"],L$=["value"],D$={key:1,class:"config-item-content vertical-layout"},x$={class:"config-item-info"},k$={class:"config-item-header"},I$={class:"config-label"},E$={class:"type-badge select"},N$={key:0,class:"modified-badge"},T$=["title"],M$={class:"config-control"},A$=["value","onChange"],R$=["value"],P$={key:2,class:"config-item-content vertical-layout"},O$={class:"config-item-info"},F$={class:"config-item-header"},B$={class:"config-label"},W$={class:"type-badge textarea"},V$={key:0,class:"modified-badge"},H$=["title"],z$={class:"config-control"},$$=["value","onInput"],U$={key:3,class:"config-item-content vertical-layout"},j$={class:"config-item-info"},K$={class:"config-item-header"},q$={class:"config-label"},G$={class:"type-badge number"},Z$={key:0,class:"modified-badge"},Y$=["title"],X$={key:0,class:"config-meta"},Q$={class:"range-info"},J$={class:"config-control"},eU=["value","onInput","min","max"],tU={key:4,class:"config-item-content vertical-layout"},iU={class:"config-item-info"},nU={class:"config-item-header"},sU={class:"config-label"},oU={class:"type-badge string"},rU={key:0,class:"modified-badge"},aU=["title"],lU={class:"config-control"},dU=["value","onInput"],cU={key:2,class:"empty-state"},uU=Ss({__name:"basicConfig",setup(o){const{t:e}=Pa(),t=Qe(!0),i=Qe(!1),n=Qe([]),s=Qe(new Map),r=Qe(new Set),a=or({show:!1,text:"",type:"success"}),l=Qe(""),d={headless:"config.basicConfig.browserSettings.headless",requestTimeout:"config.basicConfig.browserSettings.requestTimeout",debugDetail:"config.basicConfig.general.debugDetail",baseDir:"config.basicConfig.general.baseDir",openBrowser:"config.basicConfig.interactionSettings.openBrowser",maxSteps:"config.basicConfig.agentSettings.maxSteps",userInputTimeout:"config.basicConfig.agentSettings.userInputTimeout",maxMemory:"config.basicConfig.agentSettings.maxMemory",parallelToolCalls:"config.basicConfig.agentSettings.parallelToolCalls",forceOverrideFromYaml:"config.basicConfig.agents.forceOverrideFromYaml",enabled:"config.basicConfig.infiniteContext.enabled",parallelThreads:"config.basicConfig.infiniteContext.parallelThreads",taskContextSize:"config.basicConfig.infiniteContext.taskContextSize",allowExternalAccess:"config.basicConfig.fileSystem.allowExternalAccess",connectionTimeoutSeconds:"config.basicConfig.mcpServiceLoader.connectionTimeoutSeconds",maxRetryCount:"config.basicConfig.mcpServiceLoader.maxRetryCount",maxConcurrentConnections:"config.basicConfig.mcpServiceLoader.maxConcurrentConnections"},c={manus:"config.basicConfig.groupDisplayNames.manus"},u={manus:"🤖",browser:"🌐",interaction:"🖥️",system:"⚙️",performance:"⚡"},h={agent:"config.subGroupDisplayNames.agent",browser:"config.subGroupDisplayNames.browser",interaction:"config.subGroupDisplayNames.interaction",agents:"config.subGroupDisplayNames.agents",infiniteContext:"config.subGroupDisplayNames.infiniteContext",general:"config.subGroupDisplayNames.general",filesystem:"config.subGroupDisplayNames.filesystem",mcpServiceLoader:"config.subGroupDisplayNames.mcpServiceLoader"},g=Xn(()=>n.value.some(B=>B.subGroups.some(W=>W.items.some(V=>s.value.get(V.id)!==V.configValue)))),f=B=>B==="true",m=B=>parseFloat(B)||0,v=B=>({maxSteps:1,browserTimeout:1,maxThreads:1,timeoutSeconds:5,maxMemory:1})[B]||1,_=B=>({maxSteps:100,browserTimeout:600,maxThreads:32,timeoutSeconds:300,maxMemory:1e3})[B]||1e4,b=B=>typeof B=="string"?B:B.value,C=B=>typeof B=="string"?B:B.label,w=(B,W)=>{if(typeof W=="boolean")return W.toString();if(typeof W=="string"){if(B.options&&B.options.length>0){const V=B.options.find(Z=>(typeof Z=="string"?Z:Z.label)===W||(typeof Z=="string"?Z:Z.value)===W);if(V)return typeof V=="string"?V:V.value}return W}return String(W)},S=(B,W,V=!1)=>{let Z;B.inputType==="BOOLEAN"||B.inputType==="CHECKBOX"?Z=w(B,W):Z=String(W),B.configValue!==Z&&(B.configValue=Z,B._modified=!0,(V||B.inputType==="BOOLEAN"||B.inputType==="CHECKBOX"||B.inputType==="SELECT")&&y())};let D=null;const y=()=>{D&&clearTimeout(D),D=window.setTimeout(()=>{P()},500)},I=(B,W="success")=>{a.text=B,a.type=W,a.show=!0,setTimeout(()=>{a.show=!1},3e3)},E=async()=>{try{t.value=!0;const W=["manus"].map(async Z=>{try{const X=await u_.getConfigsByGroup(Z);if(X.length===0)return null;const Ve=X.map(Ye=>({...Ye,displayName:d[Ye.configKey]||Ye.configKey,min:v(Ye.configKey),max:_(Ye.configKey)}));Ve.forEach(Ye=>{s.value.set(Ye.id,Ye.configValue)});const ft=new Map;Ve.forEach(Ye=>{const Ee=Ye.configSubGroup??"general";ft.has(Ee)||ft.set(Ee,[]),ft.get(Ee).push(Ye)});const Ft=Array.from(ft.entries()).map(([Ye,Ee])=>({name:Ye,displayName:h[Ye]||Ye,items:Ee}));return{name:Z,displayName:c[Z]||Z,subGroups:Ft}}catch(X){return console.warn(`加载配置组 ${Z} 失败,跳过:`,X),null}}),V=await Promise.all(W);n.value=V.filter(Z=>Z!==null),console.log(e("config.basicConfig.loadConfigSuccess"),n.value)}catch(B){console.error(e("config.basicConfig.loadConfigFailed"),B),I(e("config.basicConfig.loadConfigFailed"),"error")}finally{t.value=!1}},P=async()=>{if(!(i.value||!g.value))try{i.value=!0;const B=[];if(n.value.forEach(V=>{V.subGroups.forEach(Z=>{const X=Z.items.filter(Ve=>Ve._modified);B.push(...X)})}),B.length===0){I(e("config.basicConfig.noModified"));return}const W=await u_.batchUpdateConfigs(B);W.success?(B.forEach(V=>{s.value.set(V.id,V.configValue),V._modified=!1}),I(e("config.basicConfig.saveSuccess"))):I(W.message||e("config.basicConfig.saveFailed"),"error")}catch(B){console.error(e("config.basicConfig.saveFailed"),B),I(e("config.basicConfig.saveFailed"),"error")}finally{i.value=!1}},q=async B=>{if(confirm(e("config.basicConfig.resetGroupConfirm",c[B]||B)))try{i.value=!0;const V=n.value.find(Ve=>Ve.name===B);if(!V)return;const Z=[];if(V.subGroups.forEach(Ve=>{Ve.items.forEach(ft=>{const Ft=R(ft.configKey);Ft!==ft.configValue&&Z.push({...ft,configValue:Ft})})}),Z.length===0){I(e("config.basicConfig.isDefault"));return}const X=await u_.batchUpdateConfigs(Z);X.success?(await E(),I(e("config.basicConfig.resetSuccess",Z.length))):I(X.message||e("config.basicConfig.resetFailed"),"error")}catch(V){console.error(e("config.basicConfig.resetFailed"),V),I(e("config.basicConfig.resetFailed"),"error")}finally{i.value=!1}},R=B=>({systemName:"JManus",language:"zh-CN",maxThreads:"8",timeoutSeconds:"60",autoOpenBrowser:"false",headlessBrowser:"true",maxMemory:"1000"})[B]||"",j=(B,W)=>{const V=`${B}-${W}`;r.value.has(V)?r.value.delete(V):r.value.add(V)},G=(B,W)=>r.value.has(`${B}-${W}`),oe=Xn(()=>{const B=n.value.reduce((V,Z)=>V+Z.subGroups.reduce((X,Ve)=>X+Ve.items.length,0),0),W=n.value.reduce((V,Z)=>V+Z.subGroups.reduce((X,Ve)=>X+Ve.items.filter(ft=>s.value.get(ft.id)!==ft.configValue).length,0),0);return{total:B,modified:W}}),we=Xn(()=>{if(!l.value.trim())return n.value;const B=l.value.toLowerCase();return n.value.map(W=>({...W,subGroups:W.subGroups.map(V=>({...V,items:V.items.filter(Z=>Z.displayName.toLowerCase().includes(B)||Z.configKey.toLowerCase().includes(B)||Z.description&&Z.description.toLowerCase().includes(B))})).filter(V=>V.items.length>0)})).filter(W=>W.subGroups.length>0)}),ee=()=>{try{const B={timestamp:new Date().toISOString(),version:"1.0",configs:n.value.reduce((X,Ve)=>(Ve.subGroups.forEach(ft=>{ft.items.forEach(Ft=>{X[Ft.configKey]=Ft.configValue})}),X),{})},W=JSON.stringify(B,null,2),V=new Blob([W],{type:"application/json"}),Z=document.createElement("a");Z.href=URL.createObjectURL(V),Z.download=`config-export-${new Date().toISOString().split("T")[0]}.json`,Z.click(),I(e("config.basicConfig.exportSuccess"))}catch(B){console.error(e("config.basicConfig.exportFailed"),B),I(e("config.basicConfig.exportFailed"),"error")}},U=B=>{var X;const W=B.target,V=(X=W.files)==null?void 0:X[0];if(!V)return;const Z=new FileReader;Z.onload=async Ve=>{var ft;try{const Ft=JSON.parse((ft=Ve.target)==null?void 0:ft.result);if(!Ft.configs)throw new Error(e("config.basicConfig.invalidFormat"));if(!confirm(e("config.importConfirm")))return;i.value=!0;const Ee=[];if(n.value.forEach(Te=>{Te.subGroups.forEach(ke=>{ke.items.forEach(Nt=>{Object.prototype.hasOwnProperty.call(Ft.configs,Nt.configKey)&&Ee.push({...Nt,configValue:Ft.configs[Nt.configKey]})})})}),Ee.length===0){I(e("config.basicConfig.notFound"));return}const Ae=await u_.batchUpdateConfigs(Ee);Ae.success?(await E(),I(e("config.basicConfig.importSuccess"))):I(Ae.message||e("config.basicConfig.importFailed"),"error")}catch(Ft){console.error(e("config.basicConfig.importFailed"),Ft),I(e("config.basicConfig.importFailed"),"error")}finally{i.value=!1,W.value=""}},Z.readAsText(V)};return jd(()=>{E()}),(B,W)=>(re(),ce("div",Vz,[x("div",Hz,[x("div",zz,[x("h2",null,z(B.$t("config.basicConfig.title")),1),x("div",$z,[x("span",Uz,[x("span",jz,z(B.$t("config.basicConfig.totalConfigs"))+":",1),x("span",Kz,z(oe.value.total),1)]),oe.value.modified>0?(re(),ce("span",qz,[x("span",Gz,z(B.$t("config.basicConfig.modified"))+":",1),x("span",Zz,z(oe.value.modified),1)])):at("",!0)])]),x("div",Yz,[x("div",Xz,[x("button",{onClick:ee,class:"action-btn",title:B.$t("config.basicConfig.exportConfigs")}," 📤 ",8,Qz),x("label",{class:"action-btn",title:B.$t("config.basicConfig.importConfigs")},[W[1]||(W[1]=Me(" 📥 ")),x("input",{type:"file",accept:".json",onChange:U,style:{display:"none"}},null,32)],8,Jz)]),x("div",e$,[$t(x("input",{"onUpdate:modelValue":W[0]||(W[0]=V=>l.value=V),type:"text",placeholder:B.$t("config.search"),class:"search-input"},null,8,t$),[[ti,l.value]]),W[2]||(W[2]=x("span",{class:"search-icon"},"🔍",-1))])])]),t.value?(re(),ce("div",i$,[W[3]||(W[3]=x("div",{class:"loading-spinner"},null,-1)),x("p",null,z(B.$t("config.loading")),1)])):we.value.length>0?(re(),ce("div",n$,[(re(!0),ce(an,null,hn(we.value,V=>(re(),ce("div",{key:V.name,class:"config-group"},[x("div",s$,[x("div",o$,[x("span",r$,z(u[V.name]||"⚙️"),1)]),x("div",a$,[x("button",{onClick:Z=>q(V.name),class:"reset-btn",disabled:i.value,title:B.$t("config.resetGroupConfirm")},z(B.$t("config.reset")),9,l$)]),W[4]||(W[4]=x("div",{class:"group-divider"},null,-1))]),x("div",d$,[(re(!0),ce(an,null,hn(V.subGroups,Z=>(re(),ce("div",{key:Z.name,class:"sub-group"},[x("div",{class:"sub-group-header",onClick:X=>j(V.name,Z.name)},[x("div",u$,[W[5]||(W[5]=x("span",{class:"sub-group-icon"},"📁",-1)),x("h4",h$,z(B.$t(Z.displayName)),1),x("span",g$,"("+z(Z.items.length)+")",1)]),x("span",{class:En(["collapse-icon",{collapsed:G(V.name,Z.name)}])}," ▼ ",2)],8,c$),$t(x("div",f$,[(re(!0),ce(an,null,hn(Z.items,X=>(re(),ce("div",{key:X.id,class:En(["config-item",{modified:s.value.get(X.id)!==X.configValue}])},[X.inputType==="BOOLEAN"||X.inputType==="CHECKBOX"?(re(),ce("div",p$,[x("div",m$,[x("div",_$,[x("label",v$,[Me(z(B.$t(X.displayName)||X.description)+" ",1),x("span",b$,z(X.inputType==="CHECKBOX"?B.$t("config.types.checkbox"):B.$t("config.types.boolean")),1),s.value.get(X.id)!==X.configValue?(re(),ce("span",C$,z(B.$t("config.modified")),1)):at("",!0)]),x("span",{class:"config-key",title:X.configKey},z(X.configKey),9,w$)])]),x("div",S$,[X.options&&X.options.length>0?(re(),ce("select",{key:0,class:"config-input select-input",value:X.configValue,onChange:Ve=>{var ft;return S(X,((ft=Ve.target)==null?void 0:ft.value)||"")}},[(re(!0),ce(an,null,hn(X.options,Ve=>(re(),ce("option",{key:b(Ve),value:b(Ve)},z(C(Ve)),9,L$))),128))],40,y$)):(re(),kn(Wz,{key:1,enabled:f(X.configValue),label:"","onUpdate:switchValue":Ve=>S(X,Ve)},null,8,["enabled","onUpdate:switchValue"]))])])):X.inputType==="SELECT"?(re(),ce("div",D$,[x("div",x$,[x("div",k$,[x("label",I$,[Me(z(B.$t(X.displayName)||X.description)+" ",1),x("span",E$,z(B.$t("config.types.select")),1),s.value.get(X.id)!==X.configValue?(re(),ce("span",N$,z(B.$t("config.modified")),1)):at("",!0)]),x("span",{class:"config-key",title:X.configKey},z(X.configKey),9,T$)])]),x("div",M$,[x("select",{class:"config-input select-input",value:X.configValue,onChange:Ve=>{var ft;return S(X,((ft=Ve.target)==null?void 0:ft.value)||"")}},[(re(!0),ce(an,null,hn(X.options||[],Ve=>(re(),ce("option",{key:b(Ve),value:b(Ve)},z(C(Ve)),9,R$))),128))],40,A$)])])):X.inputType==="TEXTAREA"?(re(),ce("div",P$,[x("div",O$,[x("div",F$,[x("label",B$,[Me(z(B.$t(X.displayName)||X.description)+" ",1),x("span",W$,z(B.$t("config.types.textarea")),1),s.value.get(X.id)!==X.configValue?(re(),ce("span",V$,z(B.$t("config.modified")),1)):at("",!0)]),x("span",{class:"config-key",title:X.configKey},z(X.configKey),9,H$)])]),x("div",z$,[x("textarea",{class:"config-input textarea-input",value:X.configValue,onInput:Ve=>{var ft;return S(X,((ft=Ve.target)==null?void 0:ft.value)||"")},onBlur:y,rows:"3"},null,40,$$)])])):X.inputType==="NUMBER"?(re(),ce("div",U$,[x("div",j$,[x("div",K$,[x("label",q$,[Me(z(B.$t(X.displayName)||X.description)+" ",1),x("span",G$,z(B.$t("config.types.number")),1),s.value.get(X.id)!==X.configValue?(re(),ce("span",Z$,z(B.$t("config.modified")),1)):at("",!0)]),x("span",{class:"config-key",title:X.configKey},z(X.configKey),9,Y$),X.min||X.max?(re(),ce("div",X$,[x("span",Q$,z(B.$t("config.range"))+": "+z(X.min||0)+" - "+z(X.max||"∞"),1)])):at("",!0)])]),x("div",J$,[x("input",{type:"number",class:"config-input number-input",value:m(X.configValue),onInput:Ve=>{var ft;return S(X,((ft=Ve.target)==null?void 0:ft.value)||"")},onBlur:y,min:X.min||1,max:X.max||1e4},null,40,eU)])])):(re(),ce("div",tU,[x("div",iU,[x("div",nU,[x("label",sU,[Me(z(B.$t(X.displayName)||X.description)+" ",1),x("span",oU,z(X.inputType==="TEXT"?B.$t("config.types.text"):B.$t("config.types.string")),1),s.value.get(X.id)!==X.configValue?(re(),ce("span",rU,z(B.$t("config.modified")),1)):at("",!0)]),x("span",{class:"config-key",title:X.configKey},z(X.configKey),9,aU)])]),x("div",lU,[x("input",{type:"text",class:"config-input text-input",value:X.configValue,onInput:Ve=>{var ft;return S(X,((ft=Ve.target)==null?void 0:ft.value)||"")},onBlur:y},null,40,dU)])]))],2))),128))],512),[[iy,!G(V.name,Z.name)]])]))),128))])]))),128))])):(re(),ce("div",cU,[x("p",null,z(B.$t("config.notFound")),1)])),ye(qb,{name:"message-fade"},{default:Yt(()=>[a.show?(re(),ce("div",{key:0,class:En(["message-toast",a.type])},z(a.text),3)):at("",!0)]),_:1})]))}}),DP=us(uU,[["__scopeId","data-v-5e6536ac"]]),hU={},gU={class:"config-config"},fU={class:"panel-header"},pU={class:"panel-actions"};function mU(o,e){return re(),ce("div",gU,[x("div",fU,[Gf(o.$slots,"title",{},void 0),x("div",pU,[Gf(o.$slots,"actions",{},void 0)])]),Gf(o.$slots,"default",{},void 0)])}const Gb=us(hU,[["render",mU],["__scopeId","data-v-c91688e7"]]),_U={class:"modal-header"},vU={class:"modal-content"},bU={class:"modal-footer"},CU=Ss({__name:"index",props:{modelValue:{type:Boolean,required:!0},title:{type:String,default:""}},emits:["update:modelValue","confirm"],setup(o){const e=t=>{t.target===t.currentTarget&&(t.stopPropagation(),t.preventDefault())};return(t,i)=>(re(),kn(kz,{to:"body"},[ye(qb,{name:"modal"},{default:Yt(()=>[o.modelValue?(re(),ce("div",{key:0,class:"modal-overlay",onClick:e},[x("div",{class:"modal-container",onClick:i[3]||(i[3]=Zh(()=>{},["stop"]))},[x("div",_U,[x("h3",null,z(o.title),1),x("button",{class:"close-btn",onClick:i[0]||(i[0]=n=>t.$emit("update:modelValue",!1))},[ye(O(Re),{icon:"carbon:close"})])]),x("div",vU,[Gf(t.$slots,"default",{},void 0,!0)]),x("div",bU,[Gf(t.$slots,"footer",{},()=>[x("button",{class:"cancel-btn",onClick:i[1]||(i[1]=n=>t.$emit("update:modelValue",!1))},z(t.$t("common.cancel")),1),x("button",{class:"confirm-btn",onClick:i[2]||(i[2]=n=>t.$emit("confirm"))},z(t.$t("common.confirm")),1)],!0)])])])):at("",!0)]),_:3})]))}}),rr=us(CU,[["__scopeId","data-v-baaf1c89"]]),wU={class:"tool-selection-content"},SU={class:"tool-controls"},yU={class:"search-container"},LU={class:"sort-container"},DU={class:"tool-summary"},xU={class:"summary-text"},kU={key:0,class:"tool-groups"},IU=["onClick"],EU={class:"group-title-area"},NU={class:"group-name"},TU={class:"group-count"},MU={class:"group-enable-all"},AU=["checked","onChange","data-group"],RU={class:"tool-info"},PU={class:"tool-selection-name"},OU={key:0,class:"tool-selection-desc"},FU={class:"tool-actions"},BU=["checked","onChange"],WU={key:1,class:"empty-state"},VU=Ss({__name:"index",props:{modelValue:{type:Boolean},tools:{},selectedToolIds:{}},emits:["update:modelValue","confirm"],setup(o,{emit:e}){const t=o,i=e,n=Xn({get:()=>t.modelValue,set:D=>i("update:modelValue",D)}),s=Qe(""),r=Qe("group"),a=Qe(new Set),l=Qe([]),d=(D,y)=>{const I=document.querySelector(`input[data-group="${D}"]`);I&&(I.indeterminate=_(y))};dr(()=>t.selectedToolIds,D=>{l.value=[...D]},{immediate:!0});const c=Xn(()=>{let D=t.tools.filter(y=>y.key);if(s.value){const y=s.value.toLowerCase();D=D.filter(I=>{var E;return I.name.toLowerCase().includes(y)||I.description.toLowerCase().includes(y)||(((E=I.serviceGroup)==null?void 0:E.toLowerCase().includes(y))??!1)})}switch(r.value){case"name":D=[...D].sort((y,I)=>y.name.localeCompare(I.name));break;case"enabled":D=[...D].sort((y,I)=>{const E=l.value.includes(y.key),P=l.value.includes(I.key);return E&&!P?-1:!E&&P?1:y.name.localeCompare(I.name)});break;case"group":default:D=[...D].sort((y,I)=>{const E=y.serviceGroup??"未分组",P=I.serviceGroup??"未分组";return E!==P?E.localeCompare(P):y.name.localeCompare(I.name)});break}return D}),u=Xn(()=>{const D=new Map;return c.value.forEach(y=>{const I=y.serviceGroup??"未分组";D.has(I)||D.set(I,[]),D.get(I).push(y)}),new Map([...D.entries()].sort())}),h=Xn(()=>c.value.length);dr([l,u],()=>{k9(()=>{for(const[D,y]of u.value)d(D,y)})},{flush:"post",deep:!1});const g=D=>l.value.includes(D),f=(D,y)=>{y.stopPropagation();const E=y.target.checked;if(!D){console.error("toolKey is undefined, cannot proceed");return}E?l.value.includes(D)||(l.value=[...l.value,D]):l.value=l.value.filter(P=>P!==D)},m=D=>D.filter(y=>l.value.includes(y.key)),v=D=>D.length>0&&D.every(y=>l.value.includes(y.key)),_=D=>{const y=m(D).length;return y>0&&y.001){y=!1;break}}let E=!0;return y&&b.width!==I&&(E=!1),b.width>_.width&&(E=!1),new NI({pixelRatio:yv.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,fontVariationSettings:e.fontVariationSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:y,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:E,spaceWidth:r.width,middotWidth:C.width,wsmiddotWidth:w.width,maxDigitWidth:D},!0)}}class $P{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const TI=new nY;var wa;(function(o){o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=e})(wa||(wa={}));const Ke=vt("instantiationService");function sY(o,e,t){e[wa.DI_TARGET]===e?e[wa.DI_DEPENDENCIES].push({id:o,index:t}):(e[wa.DI_DEPENDENCIES]=[{id:o,index:t}],e[wa.DI_TARGET]=e)}function vt(o){if(wa.serviceIds.has(o))return wa.serviceIds.get(o);const e=function(t,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");sY(e,t,n)};return e.toString=()=>o,wa.serviceIds.set(o,e),e}const Pt=vt("codeEditorService"),Si=vt("modelService"),Xs=vt("textModelService");class Rs extends Y{constructor(e,t="",i="",n=!0,s){super(),this._onDidChange=this._register(new H),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=s}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class tg extends Y{constructor(){super(...arguments),this._onWillRun=this._register(new H),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new H),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class Tn{constructor(){this.id=Tn.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new Tn,...i]:t=i);return t}async run(){}}Tn.ID="vs.actions.separator";class xp{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}class dy extends Rs{constructor(){super(dy.ID,p("submenu.empty","(empty)"),void 0,!1)}}dy.ID="vs.actions.empty";function Qf(o){var e,t;return{id:o.id,label:o.label,class:o.class,enabled:(e=o.enabled)!==null&&e!==void 0?e:!0,checked:(t=o.checked)!==null&&t!==void 0?t:!1,run:async(...i)=>o.run(...i),tooltip:o.label}}var MI;(function(o){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}o.isThemeColor=e})(MI||(MI={}));var $e;(function(o){o.iconNameSegment="[A-Za-z0-9]+",o.iconNameExpression="[A-Za-z0-9-]+",o.iconModifierExpression="~[A-Za-z]+",o.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${o.iconNameExpression})(${o.iconModifierExpression})?$`);function t(h){const g=e.exec(h.id);if(!g)return t(me.error);const[,f,m]=g,v=["codicon","codicon-"+f];return m&&v.push("codicon-modifier-"+m.substring(1)),v}o.asClassNameArray=t;function i(h){return t(h).join(" ")}o.asClassName=i;function n(h){return"."+t(h).join(".")}o.asCSSSelector=n;function s(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(typeof h.color>"u"||MI.isThemeColor(h.color))}o.isThemeIcon=s;const r=new RegExp(`^\\$\\((${o.iconNameExpression}(?:${o.iconModifierExpression})?)\\)$`);function a(h){const g=r.exec(h);if(!g)return;const[,f]=g;return{id:f}}o.fromString=a;function l(h){return{id:h}}o.fromId=l;function d(h,g){let f=h.id;const m=f.lastIndexOf("~");return m!==-1&&(f=f.substring(0,m)),g&&(f=`${f}~${g}`),{id:f}}o.modify=d;function c(h){const g=h.id.lastIndexOf("~");if(g!==-1)return h.id.substring(g+1)}o.getModifier=c;function u(h,g){var f,m;return h.id===g.id&&((f=h.color)===null||f===void 0?void 0:f.id)===((m=g.color)===null||m===void 0?void 0:m.id)}o.isEqual=u})($e||($e={}));const Ri=vt("commandService"),kt=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new H,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(o,e){if(!o)throw new Error("invalid command");if(typeof o=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:o,handler:e})}if(o.metadata&&Array.isArray(o.metadata.args)){const r=[];for(const l of o.metadata.args)r.push(l.constraint);const a=o.handler;o.handler=function(l,...d){return Wq(d,r),a(l,...d)}}const{id:t}=o;let i=this._commands.get(t);i||(i=new Ns,this._commands.set(t,i));const n=i.unshift(o),s=Ue(()=>{n();const r=this._commands.get(t);r!=null&&r.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),s}registerCommandAlias(o,e){return kt.registerCommand(o,(t,...i)=>t.get(Ri).executeCommand(e,...i))}getCommand(o){const e=this._commands.get(o);if(!(!e||e.isEmpty()))return bt.first(e)}getCommands(){const o=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&o.set(e,t)}return o}};kt.registerCommand("noop",()=>{});function TD(...o){switch(o.length){case 1:return p("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",o[0]);case 2:return p("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",o[0],o[1]);case 3:return p("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",o[0],o[1],o[2]);default:return}}const oY=p("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),rY=p("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let mh=class AI{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw eM(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(TD("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(TD("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(TD("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=AI._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(oY);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(rY);return}const s=this._input.charCodeAt(e);if(t)t=!1;else if(s===47&&!i){e++;break}else s===91?i=!0:s===92?t=!0:s===93&&(i=!1);e++}for(;e=this._input.length}};mh._regexFlags=new Set(["i","g","s","m","y","u"].map(o=>o.charCodeAt(0)));mh._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const cs=new Map;cs.set("false",!1);cs.set("true",!0);cs.set("isMac",xt);cs.set("isLinux",ws);cs.set("isWindows",is);cs.set("isWeb",Tu);cs.set("isMacNative",xt&&!Tu);cs.set("isEdge",iG);cs.set("isFirefox",eG);cs.set("isChrome",j9);cs.set("isSafari",tG);const aY=Object.prototype.hasOwnProperty,lY={regexParsingWithErrorRecovery:!0},dY=p("contextkey.parser.error.emptyString","Empty context key expression"),cY=p("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),uY=p("contextkey.parser.error.noInAfterNot","'in' after 'not'."),UP=p("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),hY=p("contextkey.parser.error.unexpectedToken","Unexpected token"),gY=p("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),fY=p("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),pY=p("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let S7=class h_{constructor(e=lY){this._config=e,this._scanner=new mh,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:dY,offset:0,lexeme:"",additionalInfo:cY});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),n=i.type===17?gY:void 0;throw this._parsingErrors.push({message:hY,offset:i.offset,lexeme:mh.getLexeme(i),additionalInfo:n}),h_._parseError}return t}catch(t){if(t!==h_._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:ae.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:ae.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),Ps.INSTANCE;case 12:return this._advance(),qs.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,UP),t==null?void 0:t.negate()}case 17:return this._advance(),Tg.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),ae.true();case 12:return this._advance(),ae.false();case 0:{this._advance();const t=this._expr();return this._consume(1,UP),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);const s=n.lexeme,r=s.lastIndexOf("/"),a=r===s.length-1?void 0:this._removeFlagsGY(s.substring(r+1));let l;try{l=new RegExp(s.substring(1,r),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Lv.create(t,l)}switch(n.type){case 10:case 19:{const s=[n.lexeme];this._advance();let r=this._peek(),a=0;for(let h=0;h =0){const d=s.slice(a+1,l),c=s[l+1]==="i"?"i":"";try{r=new RegExp(d,c)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(r===null)throw this._errExpectedButGot("REGEX",n);return Lv.create(t,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,uY);const n=this._value();return ae.notIn(t,n)}switch(this._peek().type){case 3:{this._advance();const n=this._value();if(this._previous().type===18)return ae.equals(t,n);switch(n){case"true":return ae.has(t);case"false":return ae.not(t);default:return ae.equals(t,n)}}case 4:{this._advance();const n=this._value();if(this._previous().type===18)return ae.notEquals(t,n);switch(n){case"true":return ae.not(t);case"false":return ae.has(t);default:return ae.notEquals(t,n)}}case 5:return this._advance(),my.create(t,this._value());case 6:return this._advance(),_y.create(t,this._value());case 7:return this._advance(),fy.create(t,this._value());case 8:return this._advance(),py.create(t,this._value());case 13:return this._advance(),ae.in(t,this._value());default:return ae.has(t)}}case 20:throw this._parsingErrors.push({message:fY,offset:e.offset,lexeme:"",additionalInfo:pY}),h_._parseError;default:throw this._errExpectedButGot(`true | false | KEY +`))}}class kD{constructor(e){this.value=e}}const CZ=2;let W=class{constructor(e){var t,i,n,s,r;this._size=0,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new bZ((n=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&n!==void 0?n:vZ):void 0,this._perfMon=!((s=this._options)===null||s===void 0)&&s._profName?new yp(this._options._profName):void 0,this._deliveryQueue=(r=this._options)===null||r===void 0?void 0:r.deliveryQueue}dispose(){var e,t,i,n;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)===null||e===void 0?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(n=this._leakageMon)===null||n===void 0||n.dispose())}get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event=(t,i,n)=>{var s,r,a,l,d;if(this._leakageMon&&this._size>this._leakageMon.threshold*3)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),q.None;if(this._disposed)return q.None;i&&(t=t.bind(i));const c=new kD(t);let u;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(c.stack=sM.create(),u=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof kD?((d=this._deliveryQueue)!==null&&d!==void 0||(this._deliveryQueue=new Q9),this._listeners=[this._listeners,c]):this._listeners.push(c):((r=(s=this._options)===null||s===void 0?void 0:s.onWillAddFirstListener)===null||r===void 0||r.call(s,this),this._listeners=c,(l=(a=this._options)===null||a===void 0?void 0:a.onDidAddFirstListener)===null||l===void 0||l.call(a,this)),this._size++;const h=je(()=>{u==null||u(),this._removeListener(c)});return n instanceof de?n.add(h):Array.isArray(n)&&n.push(h),h}),this._event}_removeListener(e){var t,i,n,s;if((i=(t=this._options)===null||t===void 0?void 0:t.onWillRemoveListener)===null||i===void 0||i.call(t,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(s=(n=this._options)===null||n===void 0?void 0:n.onDidRemoveLastListener)===null||s===void 0||s.call(n,this),this._size=0;return}const r=this._listeners,a=r.indexOf(e);if(a===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,r[a]=void 0;const l=this._deliveryQueue.current===this;if(this._size*CZ<=r.length){let d=0;for(let c=0;c 0}};const wZ=()=>new Q9;class Q9{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class Yh extends W{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Ns,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class J9 extends Yh{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class SZ extends W{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class yZ{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new W({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),je(su(()=>{this.hasListeners&&this.unhook(t);const n=this.events.indexOf(t);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){e.listener&&e.listener.dispose(),e.listener=null}dispose(){this.emitter.dispose()}}class oM{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,n)=>e(s=>{const r=this.buffers[this.buffers.length-1];r?r.push(()=>t.call(i,s)):t.call(i,s)},void 0,n)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(n=>n()),i}}class FP{constructor(){this.listening=!1,this.inputEvent=ye.None,this.inputEventListener=q.None,this.emitter=new W({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const e7=Object.freeze(function(o,e){const t=setTimeout(o.bind(e),0);return{dispose(){clearTimeout(t)}}});var vt;(function(o){function e(t){return t===o.None||t===o.Cancelled||t instanceof f1?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}o.isCancellationToken=e,o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ye.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:e7})})(vt||(vt={}));class f1{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?e7:(this._emitter||(this._emitter=new W),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let tn=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new f1),this._token}cancel(){this._token?this._token instanceof f1&&this._token.cancel():this._token=vt.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof f1&&this._token.dispose():this._token=vt.None}};class rM{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const p1=new rM,Ok=new rM,Fk=new rM,t7=new Array(230),LZ=Object.create(null),DZ=Object.create(null),aM=[];for(let o=0;o<=193;o++)aM[o]=-1;(function(){const o="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",o,o],[1,1,"Hyper",0,o,0,o,o,o],[1,2,"Super",0,o,0,o,o,o],[1,3,"Fn",0,o,0,o,o,o],[1,4,"FnLock",0,o,0,o,o,o],[1,5,"Suspend",0,o,0,o,o,o],[1,6,"Resume",0,o,0,o,o,o],[1,7,"Turbo",0,o,0,o,o,o],[1,8,"Sleep",0,o,0,"VK_SLEEP",o,o],[1,9,"WakeUp",0,o,0,o,o,o],[0,10,"KeyA",31,"A",65,"VK_A",o,o],[0,11,"KeyB",32,"B",66,"VK_B",o,o],[0,12,"KeyC",33,"C",67,"VK_C",o,o],[0,13,"KeyD",34,"D",68,"VK_D",o,o],[0,14,"KeyE",35,"E",69,"VK_E",o,o],[0,15,"KeyF",36,"F",70,"VK_F",o,o],[0,16,"KeyG",37,"G",71,"VK_G",o,o],[0,17,"KeyH",38,"H",72,"VK_H",o,o],[0,18,"KeyI",39,"I",73,"VK_I",o,o],[0,19,"KeyJ",40,"J",74,"VK_J",o,o],[0,20,"KeyK",41,"K",75,"VK_K",o,o],[0,21,"KeyL",42,"L",76,"VK_L",o,o],[0,22,"KeyM",43,"M",77,"VK_M",o,o],[0,23,"KeyN",44,"N",78,"VK_N",o,o],[0,24,"KeyO",45,"O",79,"VK_O",o,o],[0,25,"KeyP",46,"P",80,"VK_P",o,o],[0,26,"KeyQ",47,"Q",81,"VK_Q",o,o],[0,27,"KeyR",48,"R",82,"VK_R",o,o],[0,28,"KeyS",49,"S",83,"VK_S",o,o],[0,29,"KeyT",50,"T",84,"VK_T",o,o],[0,30,"KeyU",51,"U",85,"VK_U",o,o],[0,31,"KeyV",52,"V",86,"VK_V",o,o],[0,32,"KeyW",53,"W",87,"VK_W",o,o],[0,33,"KeyX",54,"X",88,"VK_X",o,o],[0,34,"KeyY",55,"Y",89,"VK_Y",o,o],[0,35,"KeyZ",56,"Z",90,"VK_Z",o,o],[0,36,"Digit1",22,"1",49,"VK_1",o,o],[0,37,"Digit2",23,"2",50,"VK_2",o,o],[0,38,"Digit3",24,"3",51,"VK_3",o,o],[0,39,"Digit4",25,"4",52,"VK_4",o,o],[0,40,"Digit5",26,"5",53,"VK_5",o,o],[0,41,"Digit6",27,"6",54,"VK_6",o,o],[0,42,"Digit7",28,"7",55,"VK_7",o,o],[0,43,"Digit8",29,"8",56,"VK_8",o,o],[0,44,"Digit9",30,"9",57,"VK_9",o,o],[0,45,"Digit0",21,"0",48,"VK_0",o,o],[1,46,"Enter",3,"Enter",13,"VK_RETURN",o,o],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",o,o],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",o,o],[1,49,"Tab",2,"Tab",9,"VK_TAB",o,o],[1,50,"Space",10,"Space",32,"VK_SPACE",o,o],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,o,0,o,o,o],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",o,o],[1,64,"F1",59,"F1",112,"VK_F1",o,o],[1,65,"F2",60,"F2",113,"VK_F2",o,o],[1,66,"F3",61,"F3",114,"VK_F3",o,o],[1,67,"F4",62,"F4",115,"VK_F4",o,o],[1,68,"F5",63,"F5",116,"VK_F5",o,o],[1,69,"F6",64,"F6",117,"VK_F6",o,o],[1,70,"F7",65,"F7",118,"VK_F7",o,o],[1,71,"F8",66,"F8",119,"VK_F8",o,o],[1,72,"F9",67,"F9",120,"VK_F9",o,o],[1,73,"F10",68,"F10",121,"VK_F10",o,o],[1,74,"F11",69,"F11",122,"VK_F11",o,o],[1,75,"F12",70,"F12",123,"VK_F12",o,o],[1,76,"PrintScreen",0,o,0,o,o,o],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",o,o],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",o,o],[1,79,"Insert",19,"Insert",45,"VK_INSERT",o,o],[1,80,"Home",14,"Home",36,"VK_HOME",o,o],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",o,o],[1,82,"Delete",20,"Delete",46,"VK_DELETE",o,o],[1,83,"End",13,"End",35,"VK_END",o,o],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",o,o],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",o],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",o],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",o],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",o],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",o,o],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",o,o],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",o,o],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",o,o],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",o,o],[1,94,"NumpadEnter",3,o,0,o,o,o],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",o,o],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",o,o],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",o,o],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",o,o],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",o,o],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",o,o],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",o,o],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",o,o],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",o,o],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",o,o],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",o,o],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",o,o],[1,107,"ContextMenu",58,"ContextMenu",93,o,o,o],[1,108,"Power",0,o,0,o,o,o],[1,109,"NumpadEqual",0,o,0,o,o,o],[1,110,"F13",71,"F13",124,"VK_F13",o,o],[1,111,"F14",72,"F14",125,"VK_F14",o,o],[1,112,"F15",73,"F15",126,"VK_F15",o,o],[1,113,"F16",74,"F16",127,"VK_F16",o,o],[1,114,"F17",75,"F17",128,"VK_F17",o,o],[1,115,"F18",76,"F18",129,"VK_F18",o,o],[1,116,"F19",77,"F19",130,"VK_F19",o,o],[1,117,"F20",78,"F20",131,"VK_F20",o,o],[1,118,"F21",79,"F21",132,"VK_F21",o,o],[1,119,"F22",80,"F22",133,"VK_F22",o,o],[1,120,"F23",81,"F23",134,"VK_F23",o,o],[1,121,"F24",82,"F24",135,"VK_F24",o,o],[1,122,"Open",0,o,0,o,o,o],[1,123,"Help",0,o,0,o,o,o],[1,124,"Select",0,o,0,o,o,o],[1,125,"Again",0,o,0,o,o,o],[1,126,"Undo",0,o,0,o,o,o],[1,127,"Cut",0,o,0,o,o,o],[1,128,"Copy",0,o,0,o,o,o],[1,129,"Paste",0,o,0,o,o,o],[1,130,"Find",0,o,0,o,o,o],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",o,o],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",o,o],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",o,o],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",o,o],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",o,o],[1,136,"KanaMode",0,o,0,o,o,o],[0,137,"IntlYen",0,o,0,o,o,o],[1,138,"Convert",0,o,0,o,o,o],[1,139,"NonConvert",0,o,0,o,o,o],[1,140,"Lang1",0,o,0,o,o,o],[1,141,"Lang2",0,o,0,o,o,o],[1,142,"Lang3",0,o,0,o,o,o],[1,143,"Lang4",0,o,0,o,o,o],[1,144,"Lang5",0,o,0,o,o,o],[1,145,"Abort",0,o,0,o,o,o],[1,146,"Props",0,o,0,o,o,o],[1,147,"NumpadParenLeft",0,o,0,o,o,o],[1,148,"NumpadParenRight",0,o,0,o,o,o],[1,149,"NumpadBackspace",0,o,0,o,o,o],[1,150,"NumpadMemoryStore",0,o,0,o,o,o],[1,151,"NumpadMemoryRecall",0,o,0,o,o,o],[1,152,"NumpadMemoryClear",0,o,0,o,o,o],[1,153,"NumpadMemoryAdd",0,o,0,o,o,o],[1,154,"NumpadMemorySubtract",0,o,0,o,o,o],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",o,o],[1,156,"NumpadClearEntry",0,o,0,o,o,o],[1,0,o,5,"Ctrl",17,"VK_CONTROL",o,o],[1,0,o,4,"Shift",16,"VK_SHIFT",o,o],[1,0,o,6,"Alt",18,"VK_MENU",o,o],[1,0,o,57,"Meta",91,"VK_COMMAND",o,o],[1,157,"ControlLeft",5,o,0,"VK_LCONTROL",o,o],[1,158,"ShiftLeft",4,o,0,"VK_LSHIFT",o,o],[1,159,"AltLeft",6,o,0,"VK_LMENU",o,o],[1,160,"MetaLeft",57,o,0,"VK_LWIN",o,o],[1,161,"ControlRight",5,o,0,"VK_RCONTROL",o,o],[1,162,"ShiftRight",4,o,0,"VK_RSHIFT",o,o],[1,163,"AltRight",6,o,0,"VK_RMENU",o,o],[1,164,"MetaRight",57,o,0,"VK_RWIN",o,o],[1,165,"BrightnessUp",0,o,0,o,o,o],[1,166,"BrightnessDown",0,o,0,o,o,o],[1,167,"MediaPlay",0,o,0,o,o,o],[1,168,"MediaRecord",0,o,0,o,o,o],[1,169,"MediaFastForward",0,o,0,o,o,o],[1,170,"MediaRewind",0,o,0,o,o,o],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",o,o],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",o,o],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",o,o],[1,174,"Eject",0,o,0,o,o,o],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",o,o],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",o,o],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",o,o],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",o,o],[1,179,"LaunchApp1",0,o,0,"VK_MEDIA_LAUNCH_APP1",o,o],[1,180,"SelectTask",0,o,0,o,o,o],[1,181,"LaunchScreenSaver",0,o,0,o,o,o],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",o,o],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",o,o],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",o,o],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",o,o],[1,186,"BrowserStop",0,o,0,"VK_BROWSER_STOP",o,o],[1,187,"BrowserRefresh",0,o,0,"VK_BROWSER_REFRESH",o,o],[1,188,"BrowserFavorites",0,o,0,"VK_BROWSER_FAVORITES",o,o],[1,189,"ZoomToggle",0,o,0,o,o,o],[1,190,"MailReply",0,o,0,o,o,o],[1,191,"MailForward",0,o,0,o,o,o],[1,192,"MailSend",0,o,0,o,o,o],[1,0,o,114,"KeyInComposition",229,o,o,o],[1,0,o,116,"ABNT_C2",194,"VK_ABNT_C2",o,o],[1,0,o,96,"OEM_8",223,"VK_OEM_8",o,o],[1,0,o,0,o,0,"VK_KANA",o,o],[1,0,o,0,o,0,"VK_HANGUL",o,o],[1,0,o,0,o,0,"VK_JUNJA",o,o],[1,0,o,0,o,0,"VK_FINAL",o,o],[1,0,o,0,o,0,"VK_HANJA",o,o],[1,0,o,0,o,0,"VK_KANJI",o,o],[1,0,o,0,o,0,"VK_CONVERT",o,o],[1,0,o,0,o,0,"VK_NONCONVERT",o,o],[1,0,o,0,o,0,"VK_ACCEPT",o,o],[1,0,o,0,o,0,"VK_MODECHANGE",o,o],[1,0,o,0,o,0,"VK_SELECT",o,o],[1,0,o,0,o,0,"VK_PRINT",o,o],[1,0,o,0,o,0,"VK_EXECUTE",o,o],[1,0,o,0,o,0,"VK_SNAPSHOT",o,o],[1,0,o,0,o,0,"VK_HELP",o,o],[1,0,o,0,o,0,"VK_APPS",o,o],[1,0,o,0,o,0,"VK_PROCESSKEY",o,o],[1,0,o,0,o,0,"VK_PACKET",o,o],[1,0,o,0,o,0,"VK_DBE_SBCSCHAR",o,o],[1,0,o,0,o,0,"VK_DBE_DBCSCHAR",o,o],[1,0,o,0,o,0,"VK_ATTN",o,o],[1,0,o,0,o,0,"VK_CRSEL",o,o],[1,0,o,0,o,0,"VK_EXSEL",o,o],[1,0,o,0,o,0,"VK_EREOF",o,o],[1,0,o,0,o,0,"VK_PLAY",o,o],[1,0,o,0,o,0,"VK_ZOOM",o,o],[1,0,o,0,o,0,"VK_NONAME",o,o],[1,0,o,0,o,0,"VK_PA1",o,o],[1,0,o,0,o,0,"VK_OEM_CLEAR",o,o]],t=[],i=[];for(const n of e){const[s,r,a,l,d,c,u,h,g]=n;if(i[r]||(i[r]=!0,LZ[a]=r,DZ[a.toLowerCase()]=r,s&&(aM[r]=l)),!t[l]){if(t[l]=!0,!d)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);p1.define(l,d),Ok.define(l,h||d),Fk.define(l,g||h||d)}c&&(t7[c]=l)}})();var vd;(function(o){function e(a){return p1.keyCodeToStr(a)}o.toString=e;function t(a){return p1.strToKeyCode(a)}o.fromString=t;function i(a){return Ok.keyCodeToStr(a)}o.toUserSettingsUS=i;function n(a){return Fk.keyCodeToStr(a)}o.toUserSettingsGeneral=n;function s(a){return Ok.strToKeyCode(a)||Fk.strToKeyCode(a)}o.fromUserSettings=s;function r(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return p1.keyCodeToStr(a)}o.toElectronAccelerator=r})(vd||(vd={}));function fn(o,e){const t=(e&65535)<<16>>>0;return(o|t)>>>0}var BP={};let Xf;const ID=globalThis.vscode;if(typeof ID<"u"&&typeof ID.process<"u"){const o=ID.process;Xf={get platform(){return o.platform},get arch(){return o.arch},get env(){return o.env},cwd(){return o.cwd()}}}else typeof process<"u"?Xf={get platform(){return process.platform},get arch(){return process.arch},get env(){return BP},cwd(){return BP.VSCODE_CWD||process.cwd()}}:Xf={get platform(){return is?"win32":It?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const nw=Xf.cwd,sw=Xf.env,xZ=Xf.platform,kZ=65,IZ=97,EZ=90,NZ=122,Wc=46,ms=47,Do=92,tc=58,TZ=63;class i7 extends Error{constructor(e,t,i){let n;typeof t=="string"&&t.indexOf("not ")===0?(n="must not be",t=t.replace(/^not /,"")):n="must be";const s=e.indexOf(".")!==-1?"property":"argument";let r=`The "${e}" ${s} ${n} of type ${t}`;r+=`. Received type ${typeof i}`,super(r),this.code="ERR_INVALID_ARG_TYPE"}}function MZ(o,e){if(o===null||typeof o!="object")throw new i7(e,"Object",o)}function xn(o,e){if(typeof o!="string")throw new i7(e,"string",o)}const Au=xZ==="win32";function Kt(o){return o===ms||o===Do}function Bk(o){return o===ms}function ic(o){return o>=kZ&&o<=EZ||o>=IZ&&o<=NZ}function ow(o,e,t,i){let n="",s=0,r=-1,a=0,l=0;for(let d=0;d<=o.length;++d){if(d 2){const c=n.lastIndexOf(t);c===-1?(n="",s=0):(n=n.slice(0,c),s=n.length-1-n.lastIndexOf(t)),r=d,a=0;continue}else if(n.length!==0){n="",s=0,r=d,a=0;continue}}e&&(n+=n.length>0?`${t}..`:"..",s=2)}else n.length>0?n+=`${t}${o.slice(r+1,d)}`:n=o.slice(r+1,d),s=d-r-1;r=d,a=0}else l===Wc&&a!==-1?++a:a=-1}return n}function n7(o,e){MZ(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${i}`:`${t}${o}${i}`:i}const ao={resolve(...o){let e="",t="",i=!1;for(let n=o.length-1;n>=-1;n--){let s;if(n>=0){if(s=o[n],xn(s,"path"),s.length===0)continue}else e.length===0?s=nw():(s=sw[`=${e}`]||nw(),(s===void 0||s.slice(0,2).toLowerCase()!==e.toLowerCase()&&s.charCodeAt(2)===Do)&&(s=`${e}\\`));const r=s.length;let a=0,l="",d=!1;const c=s.charCodeAt(0);if(r===1)Kt(c)&&(a=1,d=!0);else if(Kt(c))if(d=!0,Kt(s.charCodeAt(1))){let u=2,h=u;for(;u 2&&Kt(s.charCodeAt(2))&&(d=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${s.slice(a)}\\${t}`,i=d,d&&e.length>0)break}return t=ow(t,!i,"\\",Kt),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(o){xn(o,"path");const e=o.length;if(e===0)return".";let t=0,i,n=!1;const s=o.charCodeAt(0);if(e===1)return Bk(s)?"\\":o;if(Kt(s))if(n=!0,Kt(o.charCodeAt(1))){let a=2,l=a;for(;a 2&&Kt(o.charCodeAt(2))&&(n=!0,t=3));let r=t 0&&Kt(o.charCodeAt(e-1))&&(r+="\\"),i===void 0?n?`\\${r}`:r:n?`${i}\\${r}`:`${i}${r}`},isAbsolute(o){xn(o,"path");const e=o.length;if(e===0)return!1;const t=o.charCodeAt(0);return Kt(t)||e>2&&ic(t)&&o.charCodeAt(1)===tc&&Kt(o.charCodeAt(2))},join(...o){if(o.length===0)return".";let e,t;for(let s=0;s 0&&(e===void 0?e=t=r:e+=`\\${r}`)}if(e===void 0)return".";let i=!0,n=0;if(typeof t=="string"&&Kt(t.charCodeAt(0))){++n;const s=t.length;s>1&&Kt(t.charCodeAt(1))&&(++n,s>2&&(Kt(t.charCodeAt(2))?++n:i=!1))}if(i){for(;n =2&&(e=`\\${e.slice(n)}`)}return ao.normalize(e)},relative(o,e){if(xn(o,"from"),xn(e,"to"),o===e)return"";const t=ao.resolve(o),i=ao.resolve(e);if(t===i||(o=t.toLowerCase(),e=i.toLowerCase(),o===e))return"";let n=0;for(;n n&&o.charCodeAt(s-1)===Do;)s--;const r=s-n;let a=0;for(;a a&&e.charCodeAt(l-1)===Do;)l--;const d=l-a,c=r c){if(e.charCodeAt(a+h)===Do)return i.slice(a+h+1);if(h===2)return i.slice(a+h)}r>c&&(o.charCodeAt(n+h)===Do?u=h:h===2&&(u=3)),u===-1&&(u=0)}let g="";for(h=n+u+1;h<=s;++h)(h===s||o.charCodeAt(h)===Do)&&(g+=g.length===0?"..":"\\..");return a+=u,g.length>0?`${g}${i.slice(a,l)}`:(i.charCodeAt(a)===Do&&++a,i.slice(a,l))},toNamespacedPath(o){if(typeof o!="string"||o.length===0)return o;const e=ao.resolve(o);if(e.length<=2)return o;if(e.charCodeAt(0)===Do){if(e.charCodeAt(1)===Do){const t=e.charCodeAt(2);if(t!==TZ&&t!==Wc)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(ic(e.charCodeAt(0))&&e.charCodeAt(1)===tc&&e.charCodeAt(2)===Do)return`\\\\?\\${e}`;return o},dirname(o){xn(o,"path");const e=o.length;if(e===0)return".";let t=-1,i=0;const n=o.charCodeAt(0);if(e===1)return Kt(n)?o:".";if(Kt(n)){if(t=i=1,Kt(o.charCodeAt(1))){let a=2,l=a;for(;a 2&&Kt(o.charCodeAt(2))?3:2,i=t);let s=-1,r=!0;for(let a=e-1;a>=i;--a)if(Kt(o.charCodeAt(a))){if(!r){s=a;break}}else r=!1;if(s===-1){if(t===-1)return".";s=t}return o.slice(0,s)},basename(o,e){e!==void 0&&xn(e,"ext"),xn(o,"path");let t=0,i=-1,n=!0,s;if(o.length>=2&&ic(o.charCodeAt(0))&&o.charCodeAt(1)===tc&&(t=2),e!==void 0&&e.length>0&&e.length<=o.length){if(e===o)return"";let r=e.length-1,a=-1;for(s=o.length-1;s>=t;--s){const l=o.charCodeAt(s);if(Kt(l)){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=s):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=o.length),o.slice(t,i)}for(s=o.length-1;s>=t;--s)if(Kt(o.charCodeAt(s))){if(!n){t=s+1;break}}else i===-1&&(n=!1,i=s+1);return i===-1?"":o.slice(t,i)},extname(o){xn(o,"path");let e=0,t=-1,i=0,n=-1,s=!0,r=0;o.length>=2&&o.charCodeAt(1)===tc&&ic(o.charCodeAt(0))&&(e=i=2);for(let a=o.length-1;a>=e;--a){const l=o.charCodeAt(a);if(Kt(l)){if(!s){i=a+1;break}continue}n===-1&&(s=!1,n=a+1),l===Wc?t===-1?t=a:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||n===-1||r===0||r===1&&t===n-1&&t===i+1?"":o.slice(t,n)},format:n7.bind(null,"\\"),parse(o){xn(o,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return e;const t=o.length;let i=0,n=o.charCodeAt(0);if(t===1)return Kt(n)?(e.root=e.dir=o,e):(e.base=e.name=o,e);if(Kt(n)){if(i=1,Kt(o.charCodeAt(1))){let u=2,h=u;for(;u 0&&(e.root=o.slice(0,i));let s=-1,r=i,a=-1,l=!0,d=o.length-1,c=0;for(;d>=i;--d){if(n=o.charCodeAt(d),Kt(n)){if(!l){r=d+1;break}continue}a===-1&&(l=!1,a=d+1),n===Wc?s===-1?s=d:c!==1&&(c=1):s!==-1&&(c=-1)}return a!==-1&&(s===-1||c===0||c===1&&s===a-1&&s===r+1?e.base=e.name=o.slice(r,a):(e.name=o.slice(r,s),e.base=o.slice(r,a),e.ext=o.slice(s,a))),r>0&&r!==i?e.dir=o.slice(0,r-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},AZ=(()=>{if(Au){const o=/\\/g;return()=>{const e=nw().replace(o,"/");return e.slice(e.indexOf("/"))}}return()=>nw()})(),hn={resolve(...o){let e="",t=!1;for(let i=o.length-1;i>=-1&&!t;i--){const n=i>=0?o[i]:AZ();xn(n,"path"),n.length!==0&&(e=`${n}/${e}`,t=n.charCodeAt(0)===ms)}return e=ow(e,!t,"/",Bk),t?`/${e}`:e.length>0?e:"."},normalize(o){if(xn(o,"path"),o.length===0)return".";const e=o.charCodeAt(0)===ms,t=o.charCodeAt(o.length-1)===ms;return o=ow(o,!e,"/",Bk),o.length===0?e?"/":t?"./":".":(t&&(o+="/"),e?`/${o}`:o)},isAbsolute(o){return xn(o,"path"),o.length>0&&o.charCodeAt(0)===ms},join(...o){if(o.length===0)return".";let e;for(let t=0;t 0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":hn.normalize(e)},relative(o,e){if(xn(o,"from"),xn(e,"to"),o===e||(o=hn.resolve(o),e=hn.resolve(e),o===e))return"";const t=1,i=o.length,n=i-t,s=1,r=e.length-s,a=n a){if(e.charCodeAt(s+d)===ms)return e.slice(s+d+1);if(d===0)return e.slice(s+d)}else n>a&&(o.charCodeAt(t+d)===ms?l=d:d===0&&(l=0));let c="";for(d=t+l+1;d<=i;++d)(d===i||o.charCodeAt(d)===ms)&&(c+=c.length===0?"..":"/..");return`${c}${e.slice(s+l)}`},toNamespacedPath(o){return o},dirname(o){if(xn(o,"path"),o.length===0)return".";const e=o.charCodeAt(0)===ms;let t=-1,i=!0;for(let n=o.length-1;n>=1;--n)if(o.charCodeAt(n)===ms){if(!i){t=n;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":o.slice(0,t)},basename(o,e){e!==void 0&&xn(e,"ext"),xn(o,"path");let t=0,i=-1,n=!0,s;if(e!==void 0&&e.length>0&&e.length<=o.length){if(e===o)return"";let r=e.length-1,a=-1;for(s=o.length-1;s>=0;--s){const l=o.charCodeAt(s);if(l===ms){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=s):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=o.length),o.slice(t,i)}for(s=o.length-1;s>=0;--s)if(o.charCodeAt(s)===ms){if(!n){t=s+1;break}}else i===-1&&(n=!1,i=s+1);return i===-1?"":o.slice(t,i)},extname(o){xn(o,"path");let e=-1,t=0,i=-1,n=!0,s=0;for(let r=o.length-1;r>=0;--r){const a=o.charCodeAt(r);if(a===ms){if(!n){t=r+1;break}continue}i===-1&&(n=!1,i=r+1),a===Wc?e===-1?e=r:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||i===-1||s===0||s===1&&e===i-1&&e===t+1?"":o.slice(e,i)},format:n7.bind(null,"/"),parse(o){xn(o,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return e;const t=o.charCodeAt(0)===ms;let i;t?(e.root="/",i=1):i=0;let n=-1,s=0,r=-1,a=!0,l=o.length-1,d=0;for(;l>=i;--l){const c=o.charCodeAt(l);if(c===ms){if(!a){s=l+1;break}continue}r===-1&&(a=!1,r=l+1),c===Wc?n===-1?n=l:d!==1&&(d=1):n!==-1&&(d=-1)}if(r!==-1){const c=s===0&&t?1:s;n===-1||d===0||d===1&&n===r-1&&n===s+1?e.base=e.name=o.slice(c,r):(e.name=o.slice(c,n),e.base=o.slice(c,r),e.ext=o.slice(n,r))}return s>0?e.dir=o.slice(0,s-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};hn.win32=ao.win32=ao;hn.posix=ao.posix=hn;const s7=Au?ao.normalize:hn.normalize,RZ=Au?ao.resolve:hn.resolve,PZ=Au?ao.relative:hn.relative,o7=Au?ao.dirname:hn.dirname,Vc=Au?ao.basename:hn.basename,OZ=Au?ao.extname:hn.extname,La=Au?ao.sep:hn.sep,FZ=/^\w[\w\d+.-]*$/,BZ=/^\//,WZ=/^\/\//;function VZ(o,e){if(!o.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${o.authority}", path: "${o.path}", query: "${o.query}", fragment: "${o.fragment}"}`);if(o.scheme&&!FZ.test(o.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(o.path){if(o.authority){if(!BZ.test(o.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(WZ.test(o.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function HZ(o,e){return!o&&!e?"file":o}function zZ(o,e){switch(o){case"https":case"http":case"file":e?e[0]!==ga&&(e=ga+e):e=ga;break}return e}const Yi="",ga="/",$Z=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ze{static isUri(e){return e instanceof ze?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,n,s,r=!1){typeof e=="object"?(this.scheme=e.scheme||Yi,this.authority=e.authority||Yi,this.path=e.path||Yi,this.query=e.query||Yi,this.fragment=e.fragment||Yi):(this.scheme=HZ(e,r),this.authority=t||Yi,this.path=zZ(this.scheme,i||Yi),this.query=n||Yi,this.fragment=s||Yi,VZ(this,r))}get fsPath(){return rw(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:s,fragment:r}=e;return t===void 0?t=this.scheme:t===null&&(t=Yi),i===void 0?i=this.authority:i===null&&(i=Yi),n===void 0?n=this.path:n===null&&(n=Yi),s===void 0?s=this.query:s===null&&(s=Yi),r===void 0?r=this.fragment:r===null&&(r=Yi),t===this.scheme&&i===this.authority&&n===this.path&&s===this.query&&r===this.fragment?this:new Gg(t,i,n,s,r)}static parse(e,t=!1){const i=$Z.exec(e);return i?new Gg(i[2]||Yi,K0(i[4]||Yi),K0(i[5]||Yi),K0(i[7]||Yi),K0(i[9]||Yi),t):new Gg(Yi,Yi,Yi,Yi,Yi)}static file(e){let t=Yi;if(is&&(e=e.replace(/\\/g,ga)),e[0]===ga&&e[1]===ga){const i=e.indexOf(ga,2);i===-1?(t=e.substring(2),e=ga):(t=e.substring(2,i),e=e.substring(i)||ga)}return new Gg("file",t,e,Yi,Yi)}static from(e,t){return new Gg(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return is&&e.scheme==="file"?i=ze.file(ao.join(rw(e,!0),...t)).path:i=hn.join(e.path,...t),e.with({path:i})}toString(e=!1){return Wk(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof ze)return e;{const n=new Gg(e);return n._formatted=(t=e.external)!==null&&t!==void 0?t:null,n._fsPath=e._sep===r7&&(i=e.fsPath)!==null&&i!==void 0?i:null,n}}else return e}}const r7=is?1:void 0;let Gg=class extends ze{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=rw(this,!1)),this._fsPath}toString(e=!1){return e?Wk(this,!0):(this._formatted||(this._formatted=Wk(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=r7),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const a7={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function WP(o,e,t){let i,n=-1;for(let s=0;s =97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===46||r===95||r===126||e&&r===47||t&&r===91||t&&r===93||t&&r===58)n!==-1&&(i+=encodeURIComponent(o.substring(n,s)),n=-1),i!==void 0&&(i+=o.charAt(s));else{i===void 0&&(i=o.substr(0,s));const a=a7[r];a!==void 0?(n!==-1&&(i+=encodeURIComponent(o.substring(n,s)),n=-1),i+=a):n===-1&&(n=s)}}return n!==-1&&(i+=encodeURIComponent(o.substring(n))),i!==void 0?i:o}function UZ(o){let e;for(let t=0;t 1&&o.scheme==="file"?t=`//${o.authority}${o.path}`:o.path.charCodeAt(0)===47&&(o.path.charCodeAt(1)>=65&&o.path.charCodeAt(1)<=90||o.path.charCodeAt(1)>=97&&o.path.charCodeAt(1)<=122)&&o.path.charCodeAt(2)===58?e?t=o.path.substr(1):t=o.path[1].toLowerCase()+o.path.substr(2):t=o.path,is&&(t=t.replace(/\//g,"\\")),t}function Wk(o,e){const t=e?UZ:WP;let i="",{scheme:n,authority:s,path:r,query:a,fragment:l}=o;if(n&&(i+=n,i+=":"),(s||n==="file")&&(i+=ga,i+=ga),s){let d=s.indexOf("@");if(d!==-1){const c=s.substr(0,d);s=s.substr(d+1),d=c.lastIndexOf(":"),d===-1?i+=t(c,!1,!1):(i+=t(c.substr(0,d),!1,!1),i+=":",i+=t(c.substr(d+1),!1,!0)),i+="@"}s=s.toLowerCase(),d=s.lastIndexOf(":"),d===-1?i+=t(s,!1,!0):(i+=t(s.substr(0,d),!1,!0),i+=s.substr(d))}if(r){if(r.length>=3&&r.charCodeAt(0)===47&&r.charCodeAt(2)===58){const d=r.charCodeAt(1);d>=65&&d<=90&&(r=`/${String.fromCharCode(d+32)}:${r.substr(3)}`)}else if(r.length>=2&&r.charCodeAt(1)===58){const d=r.charCodeAt(0);d>=65&&d<=90&&(r=`${String.fromCharCode(d+32)}:${r.substr(2)}`)}i+=t(r,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:WP(l,!1,!1)),i}function l7(o){try{return decodeURIComponent(o)}catch{return o.length>3?o.substr(0,3)+l7(o.substr(3)):o}}const VP=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function K0(o){return o.match(VP)?o.replace(VP,e=>l7(e)):o}let z=class lh{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new lh(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return lh.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return lh.isBefore(this,e)}static isBefore(e,t){return e.lineNumber i||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return Pn.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Pn.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column e.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumber e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Pn.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn e.endColumn)}strictContainsRange(e){return Pn.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Pn.plusRange(this,e)}static plusRange(e,t){let i,n,s,r;return t.startLineNumber e.endLineNumber?(s=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,r=e.endColumn),new Pn(i,n,s,r)}intersectRanges(e){return Pn.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,d=t.endLineNumber,c=t.endColumn;return id?(s=d,r=c):s===d&&(r=Math.min(r,c)),i>s||i===s&&n>r?null:new Pn(i,n,s,r)}equalsRange(e){return Pn.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Pn.getEndPosition(this)}static getEndPosition(e){return new z(e.endLineNumber,e.endColumn)}getStartPosition(){return Pn.getStartPosition(this)}static getStartPosition(e){return new z(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Pn(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Pn(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Pn.collapseToStart(this)}static collapseToStart(e){return new Pn(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Pn.collapseToEnd(this)}static collapseToEnd(e){return new Pn(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Pn(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Pn(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Pn(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumber e.startLineNumber}toJSON(){return this}},Re=class Er extends k{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Er.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new Er(this.startLineNumber,this.startColumn,e,t):new Er(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new z(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new z(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new Er(e,t,this.endLineNumber,this.endColumn):new Er(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new Er(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new Er(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Er(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Er(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i {this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const n=new KZ(this,e,t);return this._factories.set(e,n),je(()=>{const s=this._factories.get(e);!s||s!==n||(this._factories.delete(e),s.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class KZ extends q{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let bv=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class lM{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class ly{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var Cv;(function(o){const e=new Map;e.set(0,ve.symbolMethod),e.set(1,ve.symbolFunction),e.set(2,ve.symbolConstructor),e.set(3,ve.symbolField),e.set(4,ve.symbolVariable),e.set(5,ve.symbolClass),e.set(6,ve.symbolStruct),e.set(7,ve.symbolInterface),e.set(8,ve.symbolModule),e.set(9,ve.symbolProperty),e.set(10,ve.symbolEvent),e.set(11,ve.symbolOperator),e.set(12,ve.symbolUnit),e.set(13,ve.symbolValue),e.set(15,ve.symbolEnum),e.set(14,ve.symbolConstant),e.set(15,ve.symbolEnum),e.set(16,ve.symbolEnumMember),e.set(17,ve.symbolKeyword),e.set(27,ve.symbolSnippet),e.set(18,ve.symbolText),e.set(19,ve.symbolColor),e.set(20,ve.symbolFile),e.set(21,ve.symbolReference),e.set(22,ve.symbolCustomColor),e.set(23,ve.symbolFolder),e.set(24,ve.symbolTypeParameter),e.set(25,ve.account),e.set(26,ve.issues);function t(s){let r=e.get(s);return r||(console.info("No codicon found for CompletionItemKind "+s),r=ve.symbolProperty),r}o.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function n(s,r){let a=i.get(s);return typeof a>"u"&&!r&&(a=9),a}o.fromString=n})(Cv||(Cv={}));var Rd;(function(o){o[o.Automatic=0]="Automatic",o[o.Explicit=1]="Explicit"})(Rd||(Rd={}));class c7{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=n}equals(e){return k.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var xl;(function(o){o[o.Invoke=1]="Invoke",o[o.TriggerCharacter=2]="TriggerCharacter",o[o.ContentChange=3]="ContentChange"})(xl||(xl={}));var wv;(function(o){o[o.Text=0]="Text",o[o.Read=1]="Read",o[o.Write=2]="Write"})(wv||(wv={}));function qZ(o){return o&&ze.isUri(o.uri)&&k.isIRange(o.range)&&(k.isIRange(o.originSelectionRange)||k.isIRange(o.targetSelectionRange))}const GZ={17:p("Array","array"),16:p("Boolean","boolean"),4:p("Class","class"),13:p("Constant","constant"),8:p("Constructor","constructor"),9:p("Enum","enumeration"),21:p("EnumMember","enumeration member"),23:p("Event","event"),7:p("Field","field"),0:p("File","file"),11:p("Function","function"),10:p("Interface","interface"),19:p("Key","key"),5:p("Method","method"),1:p("Module","module"),2:p("Namespace","namespace"),20:p("Null","null"),15:p("Number","number"),18:p("Object","object"),24:p("Operator","operator"),3:p("Package","package"),6:p("Property","property"),14:p("String","string"),22:p("Struct","struct"),25:p("TypeParameter","type parameter"),12:p("Variable","variable")};function ZZ(o,e){return p("symbolAriaLabel","{0} ({1})",o,GZ[e])}var aw;(function(o){const e=new Map;e.set(0,ve.symbolFile),e.set(1,ve.symbolModule),e.set(2,ve.symbolNamespace),e.set(3,ve.symbolPackage),e.set(4,ve.symbolClass),e.set(5,ve.symbolMethod),e.set(6,ve.symbolProperty),e.set(7,ve.symbolField),e.set(8,ve.symbolConstructor),e.set(9,ve.symbolEnum),e.set(10,ve.symbolInterface),e.set(11,ve.symbolFunction),e.set(12,ve.symbolVariable),e.set(13,ve.symbolConstant),e.set(14,ve.symbolString),e.set(15,ve.symbolNumber),e.set(16,ve.symbolBoolean),e.set(17,ve.symbolArray),e.set(18,ve.symbolObject),e.set(19,ve.symbolKey),e.set(20,ve.symbolNull),e.set(21,ve.symbolEnumMember),e.set(22,ve.symbolStruct),e.set(23,ve.symbolEvent),e.set(24,ve.symbolOperator),e.set(25,ve.symbolTypeParameter);function t(i){let n=e.get(i);return n||(console.info("No codicon found for SymbolKind "+i),n=ve.symbolProperty),n}o.toIcon=t})(aw||(aw={}));class Ts{static fromValue(e){switch(e){case"comment":return Ts.Comment;case"imports":return Ts.Imports;case"region":return Ts.Region}return new Ts(e)}constructor(e){this.value=e}}Ts.Comment=new Ts("comment");Ts.Imports=new Ts("imports");Ts.Region=new Ts("region");var Hk;(function(o){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}o.is=e})(Hk||(Hk={}));var lw;(function(o){o[o.Type=1]="Type",o[o.Parameter=2]="Parameter"})(lw||(lw={}));class YZ{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Ei=new jZ;var zk;(function(o){o[o.Unknown=0]="Unknown",o[o.Disabled=1]="Disabled",o[o.Enabled=2]="Enabled"})(zk||(zk={}));var $k;(function(o){o[o.Invoke=1]="Invoke",o[o.Auto=2]="Auto"})($k||($k={}));var Uk;(function(o){o[o.None=0]="None",o[o.KeepWhitespace=1]="KeepWhitespace",o[o.InsertAsSnippet=4]="InsertAsSnippet"})(Uk||(Uk={}));var jk;(function(o){o[o.Method=0]="Method",o[o.Function=1]="Function",o[o.Constructor=2]="Constructor",o[o.Field=3]="Field",o[o.Variable=4]="Variable",o[o.Class=5]="Class",o[o.Struct=6]="Struct",o[o.Interface=7]="Interface",o[o.Module=8]="Module",o[o.Property=9]="Property",o[o.Event=10]="Event",o[o.Operator=11]="Operator",o[o.Unit=12]="Unit",o[o.Value=13]="Value",o[o.Constant=14]="Constant",o[o.Enum=15]="Enum",o[o.EnumMember=16]="EnumMember",o[o.Keyword=17]="Keyword",o[o.Text=18]="Text",o[o.Color=19]="Color",o[o.File=20]="File",o[o.Reference=21]="Reference",o[o.Customcolor=22]="Customcolor",o[o.Folder=23]="Folder",o[o.TypeParameter=24]="TypeParameter",o[o.User=25]="User",o[o.Issue=26]="Issue",o[o.Snippet=27]="Snippet"})(jk||(jk={}));var Kk;(function(o){o[o.Deprecated=1]="Deprecated"})(Kk||(Kk={}));var qk;(function(o){o[o.Invoke=0]="Invoke",o[o.TriggerCharacter=1]="TriggerCharacter",o[o.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(qk||(qk={}));var Gk;(function(o){o[o.EXACT=0]="EXACT",o[o.ABOVE=1]="ABOVE",o[o.BELOW=2]="BELOW"})(Gk||(Gk={}));var Zk;(function(o){o[o.NotSet=0]="NotSet",o[o.ContentFlush=1]="ContentFlush",o[o.RecoverFromMarkers=2]="RecoverFromMarkers",o[o.Explicit=3]="Explicit",o[o.Paste=4]="Paste",o[o.Undo=5]="Undo",o[o.Redo=6]="Redo"})(Zk||(Zk={}));var Yk;(function(o){o[o.LF=1]="LF",o[o.CRLF=2]="CRLF"})(Yk||(Yk={}));var Xk;(function(o){o[o.Text=0]="Text",o[o.Read=1]="Read",o[o.Write=2]="Write"})(Xk||(Xk={}));var Qk;(function(o){o[o.None=0]="None",o[o.Keep=1]="Keep",o[o.Brackets=2]="Brackets",o[o.Advanced=3]="Advanced",o[o.Full=4]="Full"})(Qk||(Qk={}));var Jk;(function(o){o[o.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",o[o.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",o[o.accessibilitySupport=2]="accessibilitySupport",o[o.accessibilityPageSize=3]="accessibilityPageSize",o[o.ariaLabel=4]="ariaLabel",o[o.ariaRequired=5]="ariaRequired",o[o.autoClosingBrackets=6]="autoClosingBrackets",o[o.autoClosingComments=7]="autoClosingComments",o[o.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",o[o.autoClosingDelete=9]="autoClosingDelete",o[o.autoClosingOvertype=10]="autoClosingOvertype",o[o.autoClosingQuotes=11]="autoClosingQuotes",o[o.autoIndent=12]="autoIndent",o[o.automaticLayout=13]="automaticLayout",o[o.autoSurround=14]="autoSurround",o[o.bracketPairColorization=15]="bracketPairColorization",o[o.guides=16]="guides",o[o.codeLens=17]="codeLens",o[o.codeLensFontFamily=18]="codeLensFontFamily",o[o.codeLensFontSize=19]="codeLensFontSize",o[o.colorDecorators=20]="colorDecorators",o[o.colorDecoratorsLimit=21]="colorDecoratorsLimit",o[o.columnSelection=22]="columnSelection",o[o.comments=23]="comments",o[o.contextmenu=24]="contextmenu",o[o.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",o[o.cursorBlinking=26]="cursorBlinking",o[o.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",o[o.cursorStyle=28]="cursorStyle",o[o.cursorSurroundingLines=29]="cursorSurroundingLines",o[o.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",o[o.cursorWidth=31]="cursorWidth",o[o.disableLayerHinting=32]="disableLayerHinting",o[o.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",o[o.domReadOnly=34]="domReadOnly",o[o.dragAndDrop=35]="dragAndDrop",o[o.dropIntoEditor=36]="dropIntoEditor",o[o.emptySelectionClipboard=37]="emptySelectionClipboard",o[o.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",o[o.extraEditorClassName=39]="extraEditorClassName",o[o.fastScrollSensitivity=40]="fastScrollSensitivity",o[o.find=41]="find",o[o.fixedOverflowWidgets=42]="fixedOverflowWidgets",o[o.folding=43]="folding",o[o.foldingStrategy=44]="foldingStrategy",o[o.foldingHighlight=45]="foldingHighlight",o[o.foldingImportsByDefault=46]="foldingImportsByDefault",o[o.foldingMaximumRegions=47]="foldingMaximumRegions",o[o.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",o[o.fontFamily=49]="fontFamily",o[o.fontInfo=50]="fontInfo",o[o.fontLigatures=51]="fontLigatures",o[o.fontSize=52]="fontSize",o[o.fontWeight=53]="fontWeight",o[o.fontVariations=54]="fontVariations",o[o.formatOnPaste=55]="formatOnPaste",o[o.formatOnType=56]="formatOnType",o[o.glyphMargin=57]="glyphMargin",o[o.gotoLocation=58]="gotoLocation",o[o.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",o[o.hover=60]="hover",o[o.inDiffEditor=61]="inDiffEditor",o[o.inlineSuggest=62]="inlineSuggest",o[o.letterSpacing=63]="letterSpacing",o[o.lightbulb=64]="lightbulb",o[o.lineDecorationsWidth=65]="lineDecorationsWidth",o[o.lineHeight=66]="lineHeight",o[o.lineNumbers=67]="lineNumbers",o[o.lineNumbersMinChars=68]="lineNumbersMinChars",o[o.linkedEditing=69]="linkedEditing",o[o.links=70]="links",o[o.matchBrackets=71]="matchBrackets",o[o.minimap=72]="minimap",o[o.mouseStyle=73]="mouseStyle",o[o.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",o[o.mouseWheelZoom=75]="mouseWheelZoom",o[o.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",o[o.multiCursorModifier=77]="multiCursorModifier",o[o.multiCursorPaste=78]="multiCursorPaste",o[o.multiCursorLimit=79]="multiCursorLimit",o[o.occurrencesHighlight=80]="occurrencesHighlight",o[o.overviewRulerBorder=81]="overviewRulerBorder",o[o.overviewRulerLanes=82]="overviewRulerLanes",o[o.padding=83]="padding",o[o.pasteAs=84]="pasteAs",o[o.parameterHints=85]="parameterHints",o[o.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",o[o.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",o[o.quickSuggestions=88]="quickSuggestions",o[o.quickSuggestionsDelay=89]="quickSuggestionsDelay",o[o.readOnly=90]="readOnly",o[o.readOnlyMessage=91]="readOnlyMessage",o[o.renameOnType=92]="renameOnType",o[o.renderControlCharacters=93]="renderControlCharacters",o[o.renderFinalNewline=94]="renderFinalNewline",o[o.renderLineHighlight=95]="renderLineHighlight",o[o.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",o[o.renderValidationDecorations=97]="renderValidationDecorations",o[o.renderWhitespace=98]="renderWhitespace",o[o.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",o[o.roundedSelection=100]="roundedSelection",o[o.rulers=101]="rulers",o[o.scrollbar=102]="scrollbar",o[o.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",o[o.scrollBeyondLastLine=104]="scrollBeyondLastLine",o[o.scrollPredominantAxis=105]="scrollPredominantAxis",o[o.selectionClipboard=106]="selectionClipboard",o[o.selectionHighlight=107]="selectionHighlight",o[o.selectOnLineNumbers=108]="selectOnLineNumbers",o[o.showFoldingControls=109]="showFoldingControls",o[o.showUnused=110]="showUnused",o[o.snippetSuggestions=111]="snippetSuggestions",o[o.smartSelect=112]="smartSelect",o[o.smoothScrolling=113]="smoothScrolling",o[o.stickyScroll=114]="stickyScroll",o[o.stickyTabStops=115]="stickyTabStops",o[o.stopRenderingLineAfter=116]="stopRenderingLineAfter",o[o.suggest=117]="suggest",o[o.suggestFontSize=118]="suggestFontSize",o[o.suggestLineHeight=119]="suggestLineHeight",o[o.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",o[o.suggestSelection=121]="suggestSelection",o[o.tabCompletion=122]="tabCompletion",o[o.tabIndex=123]="tabIndex",o[o.unicodeHighlighting=124]="unicodeHighlighting",o[o.unusualLineTerminators=125]="unusualLineTerminators",o[o.useShadowDOM=126]="useShadowDOM",o[o.useTabStops=127]="useTabStops",o[o.wordBreak=128]="wordBreak",o[o.wordSeparators=129]="wordSeparators",o[o.wordWrap=130]="wordWrap",o[o.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",o[o.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",o[o.wordWrapColumn=133]="wordWrapColumn",o[o.wordWrapOverride1=134]="wordWrapOverride1",o[o.wordWrapOverride2=135]="wordWrapOverride2",o[o.wrappingIndent=136]="wrappingIndent",o[o.wrappingStrategy=137]="wrappingStrategy",o[o.showDeprecated=138]="showDeprecated",o[o.inlayHints=139]="inlayHints",o[o.editorClassName=140]="editorClassName",o[o.pixelRatio=141]="pixelRatio",o[o.tabFocusMode=142]="tabFocusMode",o[o.layoutInfo=143]="layoutInfo",o[o.wrappingInfo=144]="wrappingInfo",o[o.defaultColorDecorators=145]="defaultColorDecorators",o[o.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",o[o.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"})(Jk||(Jk={}));var eI;(function(o){o[o.TextDefined=0]="TextDefined",o[o.LF=1]="LF",o[o.CRLF=2]="CRLF"})(eI||(eI={}));var tI;(function(o){o[o.LF=0]="LF",o[o.CRLF=1]="CRLF"})(tI||(tI={}));var iI;(function(o){o[o.Left=1]="Left",o[o.Right=2]="Right"})(iI||(iI={}));var nI;(function(o){o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent"})(nI||(nI={}));var sI;(function(o){o[o.Both=0]="Both",o[o.Right=1]="Right",o[o.Left=2]="Left",o[o.None=3]="None"})(sI||(sI={}));var oI;(function(o){o[o.Type=1]="Type",o[o.Parameter=2]="Parameter"})(oI||(oI={}));var rI;(function(o){o[o.Automatic=0]="Automatic",o[o.Explicit=1]="Explicit"})(rI||(rI={}));var aI;(function(o){o[o.DependsOnKbLayout=-1]="DependsOnKbLayout",o[o.Unknown=0]="Unknown",o[o.Backspace=1]="Backspace",o[o.Tab=2]="Tab",o[o.Enter=3]="Enter",o[o.Shift=4]="Shift",o[o.Ctrl=5]="Ctrl",o[o.Alt=6]="Alt",o[o.PauseBreak=7]="PauseBreak",o[o.CapsLock=8]="CapsLock",o[o.Escape=9]="Escape",o[o.Space=10]="Space",o[o.PageUp=11]="PageUp",o[o.PageDown=12]="PageDown",o[o.End=13]="End",o[o.Home=14]="Home",o[o.LeftArrow=15]="LeftArrow",o[o.UpArrow=16]="UpArrow",o[o.RightArrow=17]="RightArrow",o[o.DownArrow=18]="DownArrow",o[o.Insert=19]="Insert",o[o.Delete=20]="Delete",o[o.Digit0=21]="Digit0",o[o.Digit1=22]="Digit1",o[o.Digit2=23]="Digit2",o[o.Digit3=24]="Digit3",o[o.Digit4=25]="Digit4",o[o.Digit5=26]="Digit5",o[o.Digit6=27]="Digit6",o[o.Digit7=28]="Digit7",o[o.Digit8=29]="Digit8",o[o.Digit9=30]="Digit9",o[o.KeyA=31]="KeyA",o[o.KeyB=32]="KeyB",o[o.KeyC=33]="KeyC",o[o.KeyD=34]="KeyD",o[o.KeyE=35]="KeyE",o[o.KeyF=36]="KeyF",o[o.KeyG=37]="KeyG",o[o.KeyH=38]="KeyH",o[o.KeyI=39]="KeyI",o[o.KeyJ=40]="KeyJ",o[o.KeyK=41]="KeyK",o[o.KeyL=42]="KeyL",o[o.KeyM=43]="KeyM",o[o.KeyN=44]="KeyN",o[o.KeyO=45]="KeyO",o[o.KeyP=46]="KeyP",o[o.KeyQ=47]="KeyQ",o[o.KeyR=48]="KeyR",o[o.KeyS=49]="KeyS",o[o.KeyT=50]="KeyT",o[o.KeyU=51]="KeyU",o[o.KeyV=52]="KeyV",o[o.KeyW=53]="KeyW",o[o.KeyX=54]="KeyX",o[o.KeyY=55]="KeyY",o[o.KeyZ=56]="KeyZ",o[o.Meta=57]="Meta",o[o.ContextMenu=58]="ContextMenu",o[o.F1=59]="F1",o[o.F2=60]="F2",o[o.F3=61]="F3",o[o.F4=62]="F4",o[o.F5=63]="F5",o[o.F6=64]="F6",o[o.F7=65]="F7",o[o.F8=66]="F8",o[o.F9=67]="F9",o[o.F10=68]="F10",o[o.F11=69]="F11",o[o.F12=70]="F12",o[o.F13=71]="F13",o[o.F14=72]="F14",o[o.F15=73]="F15",o[o.F16=74]="F16",o[o.F17=75]="F17",o[o.F18=76]="F18",o[o.F19=77]="F19",o[o.F20=78]="F20",o[o.F21=79]="F21",o[o.F22=80]="F22",o[o.F23=81]="F23",o[o.F24=82]="F24",o[o.NumLock=83]="NumLock",o[o.ScrollLock=84]="ScrollLock",o[o.Semicolon=85]="Semicolon",o[o.Equal=86]="Equal",o[o.Comma=87]="Comma",o[o.Minus=88]="Minus",o[o.Period=89]="Period",o[o.Slash=90]="Slash",o[o.Backquote=91]="Backquote",o[o.BracketLeft=92]="BracketLeft",o[o.Backslash=93]="Backslash",o[o.BracketRight=94]="BracketRight",o[o.Quote=95]="Quote",o[o.OEM_8=96]="OEM_8",o[o.IntlBackslash=97]="IntlBackslash",o[o.Numpad0=98]="Numpad0",o[o.Numpad1=99]="Numpad1",o[o.Numpad2=100]="Numpad2",o[o.Numpad3=101]="Numpad3",o[o.Numpad4=102]="Numpad4",o[o.Numpad5=103]="Numpad5",o[o.Numpad6=104]="Numpad6",o[o.Numpad7=105]="Numpad7",o[o.Numpad8=106]="Numpad8",o[o.Numpad9=107]="Numpad9",o[o.NumpadMultiply=108]="NumpadMultiply",o[o.NumpadAdd=109]="NumpadAdd",o[o.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",o[o.NumpadSubtract=111]="NumpadSubtract",o[o.NumpadDecimal=112]="NumpadDecimal",o[o.NumpadDivide=113]="NumpadDivide",o[o.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",o[o.ABNT_C1=115]="ABNT_C1",o[o.ABNT_C2=116]="ABNT_C2",o[o.AudioVolumeMute=117]="AudioVolumeMute",o[o.AudioVolumeUp=118]="AudioVolumeUp",o[o.AudioVolumeDown=119]="AudioVolumeDown",o[o.BrowserSearch=120]="BrowserSearch",o[o.BrowserHome=121]="BrowserHome",o[o.BrowserBack=122]="BrowserBack",o[o.BrowserForward=123]="BrowserForward",o[o.MediaTrackNext=124]="MediaTrackNext",o[o.MediaTrackPrevious=125]="MediaTrackPrevious",o[o.MediaStop=126]="MediaStop",o[o.MediaPlayPause=127]="MediaPlayPause",o[o.LaunchMediaPlayer=128]="LaunchMediaPlayer",o[o.LaunchMail=129]="LaunchMail",o[o.LaunchApp2=130]="LaunchApp2",o[o.Clear=131]="Clear",o[o.MAX_VALUE=132]="MAX_VALUE"})(aI||(aI={}));var lI;(function(o){o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error"})(lI||(lI={}));var dI;(function(o){o[o.Unnecessary=1]="Unnecessary",o[o.Deprecated=2]="Deprecated"})(dI||(dI={}));var cI;(function(o){o[o.Inline=1]="Inline",o[o.Gutter=2]="Gutter"})(cI||(cI={}));var uI;(function(o){o[o.UNKNOWN=0]="UNKNOWN",o[o.TEXTAREA=1]="TEXTAREA",o[o.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",o[o.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",o[o.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",o[o.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",o[o.CONTENT_TEXT=6]="CONTENT_TEXT",o[o.CONTENT_EMPTY=7]="CONTENT_EMPTY",o[o.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",o[o.CONTENT_WIDGET=9]="CONTENT_WIDGET",o[o.OVERVIEW_RULER=10]="OVERVIEW_RULER",o[o.SCROLLBAR=11]="SCROLLBAR",o[o.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",o[o.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(uI||(uI={}));var hI;(function(o){o[o.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",o[o.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",o[o.TOP_CENTER=2]="TOP_CENTER"})(hI||(hI={}));var gI;(function(o){o[o.Left=1]="Left",o[o.Center=2]="Center",o[o.Right=4]="Right",o[o.Full=7]="Full"})(gI||(gI={}));var fI;(function(o){o[o.Left=0]="Left",o[o.Right=1]="Right",o[o.None=2]="None",o[o.LeftOfInjectedText=3]="LeftOfInjectedText",o[o.RightOfInjectedText=4]="RightOfInjectedText"})(fI||(fI={}));var pI;(function(o){o[o.Off=0]="Off",o[o.On=1]="On",o[o.Relative=2]="Relative",o[o.Interval=3]="Interval",o[o.Custom=4]="Custom"})(pI||(pI={}));var mI;(function(o){o[o.None=0]="None",o[o.Text=1]="Text",o[o.Blocks=2]="Blocks"})(mI||(mI={}));var _I;(function(o){o[o.Smooth=0]="Smooth",o[o.Immediate=1]="Immediate"})(_I||(_I={}));var vI;(function(o){o[o.Auto=1]="Auto",o[o.Hidden=2]="Hidden",o[o.Visible=3]="Visible"})(vI||(vI={}));var bI;(function(o){o[o.LTR=0]="LTR",o[o.RTL=1]="RTL"})(bI||(bI={}));var CI;(function(o){o.Off="off",o.OnCode="onCode",o.On="on"})(CI||(CI={}));var wI;(function(o){o[o.Invoke=1]="Invoke",o[o.TriggerCharacter=2]="TriggerCharacter",o[o.ContentChange=3]="ContentChange"})(wI||(wI={}));var SI;(function(o){o[o.File=0]="File",o[o.Module=1]="Module",o[o.Namespace=2]="Namespace",o[o.Package=3]="Package",o[o.Class=4]="Class",o[o.Method=5]="Method",o[o.Property=6]="Property",o[o.Field=7]="Field",o[o.Constructor=8]="Constructor",o[o.Enum=9]="Enum",o[o.Interface=10]="Interface",o[o.Function=11]="Function",o[o.Variable=12]="Variable",o[o.Constant=13]="Constant",o[o.String=14]="String",o[o.Number=15]="Number",o[o.Boolean=16]="Boolean",o[o.Array=17]="Array",o[o.Object=18]="Object",o[o.Key=19]="Key",o[o.Null=20]="Null",o[o.EnumMember=21]="EnumMember",o[o.Struct=22]="Struct",o[o.Event=23]="Event",o[o.Operator=24]="Operator",o[o.TypeParameter=25]="TypeParameter"})(SI||(SI={}));var yI;(function(o){o[o.Deprecated=1]="Deprecated"})(yI||(yI={}));var LI;(function(o){o[o.Hidden=0]="Hidden",o[o.Blink=1]="Blink",o[o.Smooth=2]="Smooth",o[o.Phase=3]="Phase",o[o.Expand=4]="Expand",o[o.Solid=5]="Solid"})(LI||(LI={}));var DI;(function(o){o[o.Line=1]="Line",o[o.Block=2]="Block",o[o.Underline=3]="Underline",o[o.LineThin=4]="LineThin",o[o.BlockOutline=5]="BlockOutline",o[o.UnderlineThin=6]="UnderlineThin"})(DI||(DI={}));var xI;(function(o){o[o.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",o[o.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",o[o.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",o[o.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(xI||(xI={}));var kI;(function(o){o[o.None=0]="None",o[o.Same=1]="Same",o[o.Indent=2]="Indent",o[o.DeepIndent=3]="DeepIndent"})(kI||(kI={}));let Yb=class{static chord(e,t){return fn(e,t)}};Yb.CtrlCmd=2048;Yb.Shift=1024;Yb.Alt=512;Yb.WinCtrl=256;function u7(){return{editor:void 0,languages:void 0,CancellationTokenSource:tn,Emitter:W,KeyCode:aI,KeyMod:Yb,Position:z,Range:k,Selection:Re,SelectionDirection:bI,MarkerSeverity:lI,MarkerTag:dI,Uri:ze,Token:bv}}function XZ(o,e){const t=o;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const Ai=window,kl=Ai;class QZ{constructor(e){this.fn=e,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}class HP{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class Ru{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Lp;function h7(o){return!o||typeof o!="string"?!0:o.trim().length===0}const JZ=/{(\d+)}/g;function Xh(o,...e){return e.length===0?o:o.replace(JZ,function(t,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=e.length?t:e[n]})}function dw(o){return o.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function qo(o){return o.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function eY(o,e=" "){const t=Xb(o,e);return g7(t,e)}function Xb(o,e){if(!o||!e)return o;const t=e.length;if(t===0||o.length===0)return o;let i=0;for(;o.indexOf(e,i)===i;)i=i+t;return o.substring(i)}function g7(o,e){if(!o||!e)return o;const t=e.length,i=o.length;if(t===0||i===0)return o;let n=i,s=-1;for(;s=o.lastIndexOf(e,n-1),!(s===-1||s+t!==n);){if(s===0)return"";n=s}return o.substring(0,n)}function tY(o){return o.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function iY(o){return o.replace(/\*/g,"")}function f7(o,e,t={}){if(!o)throw new Error("Cannot create regex from empty string");e||(o=qo(o)),t.wholeWord&&(/\B/.test(o.charAt(0))||(o="\\b"+o),/\B/.test(o.charAt(o.length-1))||(o=o+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(o,i)}function nY(o){return o.source==="^"||o.source==="^$"||o.source==="$"||o.source==="^\\s*$"?!1:!!(o.exec("")&&o.lastIndex===0)}function Rl(o){return o.split(/\r\n|\r|\n/)}function Cs(o){for(let e=0,t=o.length;e =0;t--){const i=o.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function Sv(o,e){return o e?1:0}function dM(o,e,t=0,i=o.length,n=0,s=e.length){for(;td)return 1}const r=i-t,a=s-n;return ra?1:0}function II(o,e){return Qb(o,e,0,o.length,0,e.length)}function Qb(o,e,t=0,i=o.length,n=0,s=e.length){for(;t=128||d>=128)return dM(o.toLowerCase(),e.toLowerCase(),t,i,n,s);Dc(l)&&(l-=32),Dc(d)&&(d-=32);const c=l-d;if(c!==0)return c}const r=i-t,a=s-n;return ra?1:0}function q0(o){return o>=48&&o<=57}function Dc(o){return o>=97&&o<=122}function el(o){return o>=65&&o<=90}function yf(o,e){return o.length===e.length&&Qb(o,e)===0}function cM(o,e){const t=e.length;return e.length>o.length?!1:Qb(o,e,0,t)===0}function Qh(o,e){const t=Math.min(o.length,e.length);let i;for(i=0;i 1){const i=o.charCodeAt(e-2);if(bn(i))return uM(i,t)}return t}class hM{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=sY(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=uw(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class hw{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new hM(e,t)}nextGraphemeLength(){const e=xc.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const s=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(zP(n,r)){t.setOffset(s);break}n=r}return t.offset-i}prevGraphemeLength(){const e=xc.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const s=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(zP(r,n)){t.setOffset(s);break}n=r}return i-t.offset}eol(){return this._iterator.eol()}}function gM(o,e){return new hw(o,e).nextGraphemeLength()}function p7(o,e){return new hw(o,e).prevGraphemeLength()}function oY(o,e){e>0&&Jh(o.charCodeAt(e))&&e--;const t=e+gM(o,e);return[t-p7(o,t),t]}let ED;function rY(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function Dp(o){return ED||(ED=rY()),ED.test(o)}const aY=/^[\t\n\r\x20-\x7E]*$/;function Jb(o){return aY.test(o)}const m7=/[\u2028\u2029]/;function _7(o){return m7.test(o)}function ou(o){return o>=11904&&o<=55215||o>=63744&&o<=64255||o>=65281&&o<=65374}function fM(o){return o>=127462&&o<=127487||o===8986||o===8987||o===9200||o===9203||o>=9728&&o<=10175||o===11088||o===11093||o>=127744&&o<=128591||o>=128640&&o<=128764||o>=128992&&o<=129008||o>=129280&&o<=129535||o>=129648&&o<=129782}const lY="\uFEFF";function pM(o){return!!(o&&o.length>0&&o.charCodeAt(0)===65279)}function dY(o,e=!1){return o?(e&&(o=o.replace(/\\./g,"")),o.toLowerCase()!==o):!1}function v7(o){return o=o%(2*26),o<26?String.fromCharCode(97+o):String.fromCharCode(65+o-26)}function zP(o,e){return o===0?e!==5&&e!==7:o===2&&e===3?!1:o===4||o===2||o===3||e===4||e===2||e===3?!0:!(o===8&&(e===8||e===9||e===11||e===12)||(o===11||o===9)&&(e===9||e===10)||(o===12||o===10)&&e===10||e===5||e===13||e===7||o===1||o===13&&e===14||o===6&&e===6)}class xc{static getInstance(){return xc._INSTANCE||(xc._INSTANCE=new xc),xc._INSTANCE}constructor(){this._data=cY()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(e t[3*n+1])n=2*n+1;else return t[3*n+2];return 0}}xc._INSTANCE=null;function cY(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function uY(o,e){if(o===0)return 0;const t=hY(o,e);if(t!==void 0)return t;const i=new hM(e,o);return i.prevCodePoint(),i.offset}function hY(o,e){const t=new hM(e,o);let i=t.prevCodePoint();for(;gY(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!fM(i))return;let n=t.offset;return n>0&&t.prevCodePoint()===8205&&(n=t.offset),n}function gY(o){return 127995<=o&&o<=127999}const b7=" ";class eg{static getInstance(e){return Lp.cache.get(Array.from(e))}static getLocales(){return Lp._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Lp=eg;eg.ambiguousCharacterData=new Ru(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'));eg.cache=new QZ(o=>{function e(d){const c=new Map;for(let u=0;u !d.startsWith("_")&&d in n);s.length===0&&(s=["_default"]);let r;for(const d of s){const c=e(n[d]);r=i(r,c)}const a=e(n._common),l=t(a,r);return new Lp(l)});eg._locales=new Ru(()=>Object.keys(Lp.ambiguousCharacterData.value).filter(o=>!o.startsWith("_")));class Il{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Il.getRawData())),this._data}static isInvisibleCharacter(e){return Il.getData().has(e)}static get codePoints(){return Il.getData()}}Il._data=void 0;class EI{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}EI.INSTANCE=new EI;class fY extends q{constructor(){super(),this._onDidChange=this._register(new W),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(e){var t;(t=this._mediaQueryList)===null||t===void 0||t.removeEventListener("change",this._listener),this._mediaQueryList=kl.matchMedia(`(resolution: ${kl.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),e&&this._onDidChange.fire()}}class pY extends q{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new W),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const e=this._register(new fY);this._register(e.onDidChange(()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)}))}_getPixelRatio(){const e=document.createElement("canvas").getContext("2d"),t=kl.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/i}}class mY{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new pY),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}}function C7(o,e){typeof o=="string"&&(o=kl.matchMedia(o)),o.addEventListener("change",e)}const yv=new mY;function _Y(){return EI.INSTANCE.getZoomFactor()}const hm=navigator.userAgent,pr=hm.indexOf("Firefox")>=0,dy=hm.indexOf("AppleWebKit")>=0,mM=hm.indexOf("Chrome")>=0,ru=!mM&&hm.indexOf("Safari")>=0,w7=!mM&&!ru&&dy;hm.indexOf("Electron/")>=0;const $P=hm.indexOf("Android")>=0;let ND=!1;if(kl.matchMedia){const o=kl.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=kl.matchMedia("(display-mode: fullscreen)");ND=o.matches,C7(o,({matches:t})=>{ND&&e.matches||(ND=t)})}class S7{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=ea(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=ea(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=ea(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=ea(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=ea(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=ea(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=ea(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=ea(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=ea(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=ea(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=ea(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function ea(o){return typeof o=="number"?`${o}px`:o}function Ht(o){return new S7(o)}function Jn(o,e){o instanceof S7?(o.setFontFamily(e.getMassagedFontFamily()),o.setFontWeight(e.fontWeight),o.setFontSize(e.fontSize),o.setFontFeatureSettings(e.fontFeatureSettings),o.setFontVariationSettings(e.fontVariationSettings),o.setLineHeight(e.lineHeight),o.setLetterSpacing(e.letterSpacing)):(o.style.fontFamily=e.getMassagedFontFamily(),o.style.fontWeight=e.fontWeight,o.style.fontSize=e.fontSize+"px",o.style.fontFeatureSettings=e.fontFeatureSettings,o.style.fontVariationSettings=e.fontVariationSettings,o.style.lineHeight=e.lineHeight+"px",o.style.letterSpacing=e.letterSpacing+"px")}class vY{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class _M{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(){this._createDomElements(),kl.document.body.appendChild(this._container),this._readFromDomElements(),kl.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Jn(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Jn(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");Jn(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const s=[];for(const r of this._requests){let a;r.type===0&&(a=t),r.type===2&&(a=i),r.type===1&&(a=n),a.appendChild(document.createElement("br"));const l=document.createElement("span");_M._render(l,r),a.appendChild(l),s.push(l)}this._container=e,this._testElements=s}static _render(e,t){if(t.chr===" "){let i=" ";for(let n=0;n<8;n++)i+=i;e.innerText=i}else{let i=t.chr;for(let n=0;n<8;n++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e {this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const e=this._cache.getValues();let t=!1;for(const i of e)i.isTrusted||(t=!0,this._cache.remove(i));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new NI({pixelRatio:yv.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,i,n){const s=new vY(e,t);return i.push(s),n==null||n.push(s),s}_actualReadFontInfo(e){const t=[],i=[],n=this._createRequest("n",0,t,i),s=this._createRequest("m",0,t,null),r=this._createRequest(" ",0,t,i),a=this._createRequest("0",0,t,i),l=this._createRequest("1",0,t,i),d=this._createRequest("2",0,t,i),c=this._createRequest("3",0,t,i),u=this._createRequest("4",0,t,i),h=this._createRequest("5",0,t,i),g=this._createRequest("6",0,t,i),f=this._createRequest("7",0,t,i),m=this._createRequest("8",0,t,i),v=this._createRequest("9",0,t,i),_=this._createRequest("→",0,t,i),b=this._createRequest("→",0,t,null),C=this._createRequest("·",0,t,i),w=this._createRequest("⸱",0,t,null),S="|/-_ilm%";for(let R=0,j=S.length;R .001){y=!1;break}}let E=!0;return y&&b.width!==I&&(E=!1),b.width>_.width&&(E=!1),new NI({pixelRatio:yv.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,fontVariationSettings:e.fontVariationSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:y,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:E,spaceWidth:r.width,middotWidth:C.width,wsmiddotWidth:w.width,maxDigitWidth:x},!0)}}class UP{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const TI=new SY;var wa;(function(o){o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=e})(wa||(wa={}));const qe=bt("instantiationService");function yY(o,e,t){e[wa.DI_TARGET]===e?e[wa.DI_DEPENDENCIES].push({id:o,index:t}):(e[wa.DI_DEPENDENCIES]=[{id:o,index:t}],e[wa.DI_TARGET]=e)}function bt(o){if(wa.serviceIds.has(o))return wa.serviceIds.get(o);const e=function(t,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");yY(e,t,n)};return e.toString=()=>o,wa.serviceIds.set(o,e),e}const Ot=bt("codeEditorService"),Si=bt("modelService"),Xs=bt("textModelService");class Rs extends q{constructor(e,t="",i="",n=!0,s){super(),this._onDidChange=this._register(new W),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=s}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class tg extends q{constructor(){super(...arguments),this._onWillRun=this._register(new W),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new W),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class Mn{constructor(){this.id=Mn.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new Mn,...i]:t=i);return t}async run(){}}Mn.ID="vs.actions.separator";class xp{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}class cy extends Rs{constructor(){super(cy.ID,p("submenu.empty","(empty)"),void 0,!1)}}cy.ID="vs.actions.empty";function Qf(o){var e,t;return{id:o.id,label:o.label,class:o.class,enabled:(e=o.enabled)!==null&&e!==void 0?e:!0,checked:(t=o.checked)!==null&&t!==void 0?t:!1,run:async(...i)=>o.run(...i),tooltip:o.label}}var MI;(function(o){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}o.isThemeColor=e})(MI||(MI={}));var Ue;(function(o){o.iconNameSegment="[A-Za-z0-9]+",o.iconNameExpression="[A-Za-z0-9-]+",o.iconModifierExpression="~[A-Za-z]+",o.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${o.iconNameExpression})(${o.iconModifierExpression})?$`);function t(h){const g=e.exec(h.id);if(!g)return t(ve.error);const[,f,m]=g,v=["codicon","codicon-"+f];return m&&v.push("codicon-modifier-"+m.substring(1)),v}o.asClassNameArray=t;function i(h){return t(h).join(" ")}o.asClassName=i;function n(h){return"."+t(h).join(".")}o.asCSSSelector=n;function s(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(typeof h.color>"u"||MI.isThemeColor(h.color))}o.isThemeIcon=s;const r=new RegExp(`^\\$\\((${o.iconNameExpression}(?:${o.iconModifierExpression})?)\\)$`);function a(h){const g=r.exec(h);if(!g)return;const[,f]=g;return{id:f}}o.fromString=a;function l(h){return{id:h}}o.fromId=l;function d(h,g){let f=h.id;const m=f.lastIndexOf("~");return m!==-1&&(f=f.substring(0,m)),g&&(f=`${f}~${g}`),{id:f}}o.modify=d;function c(h){const g=h.id.lastIndexOf("~");if(g!==-1)return h.id.substring(g+1)}o.getModifier=c;function u(h,g){var f,m;return h.id===g.id&&((f=h.color)===null||f===void 0?void 0:f.id)===((m=g.color)===null||m===void 0?void 0:m.id)}o.isEqual=u})(Ue||(Ue={}));const Ri=bt("commandService"),Et=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new W,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(o,e){if(!o)throw new Error("invalid command");if(typeof o=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:o,handler:e})}if(o.metadata&&Array.isArray(o.metadata.args)){const r=[];for(const l of o.metadata.args)r.push(l.constraint);const a=o.handler;o.handler=function(l,...d){return sG(d,r),a(l,...d)}}const{id:t}=o;let i=this._commands.get(t);i||(i=new Ns,this._commands.set(t,i));const n=i.unshift(o),s=je(()=>{n();const r=this._commands.get(t);r!=null&&r.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),s}registerCommandAlias(o,e){return Et.registerCommand(o,(t,...i)=>t.get(Ri).executeCommand(e,...i))}getCommand(o){const e=this._commands.get(o);if(!(!e||e.isEmpty()))return wt.first(e)}getCommands(){const o=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&o.set(e,t)}return o}};Et.registerCommand("noop",()=>{});function MD(...o){switch(o.length){case 1:return p("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",o[0]);case 2:return p("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",o[0],o[1]);case 3:return p("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",o[0],o[1],o[2]);default:return}}const LY=p("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),DY=p("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let mh=class AI{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw tM(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(MD("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(MD("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(MD("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=AI._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(LY);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(DY);return}const s=this._input.charCodeAt(e);if(t)t=!1;else if(s===47&&!i){e++;break}else s===91?i=!0:s===92?t=!0:s===93&&(i=!1);e++}for(;e =this._input.length}};mh._regexFlags=new Set(["i","g","s","m","y","u"].map(o=>o.charCodeAt(0)));mh._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const cs=new Map;cs.set("false",!1);cs.set("true",!0);cs.set("isMac",It);cs.set("isLinux",ws);cs.set("isWindows",is);cs.set("isWeb",Tu);cs.set("isMacNative",It&&!Tu);cs.set("isEdge",wG);cs.set("isFirefox",bG);cs.set("isChrome",K9);cs.set("isSafari",CG);const xY=Object.prototype.hasOwnProperty,kY={regexParsingWithErrorRecovery:!0},IY=p("contextkey.parser.error.emptyString","Empty context key expression"),EY=p("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),NY=p("contextkey.parser.error.noInAfterNot","'in' after 'not'."),jP=p("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),TY=p("contextkey.parser.error.unexpectedToken","Unexpected token"),MY=p("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),AY=p("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),RY=p("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let y7=class h_{constructor(e=kY){this._config=e,this._scanner=new mh,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:IY,offset:0,lexeme:"",additionalInfo:EY});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),n=i.type===17?MY:void 0;throw this._parsingErrors.push({message:TY,offset:i.offset,lexeme:mh.getLexeme(i),additionalInfo:n}),h_._parseError}return t}catch(t){if(t!==h_._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:ae.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:ae.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),Ps.INSTANCE;case 12:return this._advance(),qs.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,jP),t==null?void 0:t.negate()}case 17:return this._advance(),Tg.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),ae.true();case 12:return this._advance(),ae.false();case 0:{this._advance();const t=this._expr();return this._consume(1,jP),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);const s=n.lexeme,r=s.lastIndexOf("/"),a=r===s.length-1?void 0:this._removeFlagsGY(s.substring(r+1));let l;try{l=new RegExp(s.substring(1,r),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Lv.create(t,l)}switch(n.type){case 10:case 19:{const s=[n.lexeme];this._advance();let r=this._peek(),a=0;for(let h=0;h =0){const d=s.slice(a+1,l),c=s[l+1]==="i"?"i":"";try{r=new RegExp(d,c)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(r===null)throw this._errExpectedButGot("REGEX",n);return Lv.create(t,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,NY);const n=this._value();return ae.notIn(t,n)}switch(this._peek().type){case 3:{this._advance();const n=this._value();if(this._previous().type===18)return ae.equals(t,n);switch(n){case"true":return ae.has(t);case"false":return ae.not(t);default:return ae.equals(t,n)}}case 4:{this._advance();const n=this._value();if(this._previous().type===18)return ae.notEquals(t,n);switch(n){case"true":return ae.not(t);case"false":return ae.has(t);default:return ae.notEquals(t,n)}}case 5:return this._advance(),_y.create(t,this._value());case 6:return this._advance(),vy.create(t,this._value());case 7:return this._advance(),py.create(t,this._value());case 8:return this._advance(),my.create(t,this._value());case 13:return this._advance(),ae.in(t,this._value());default:return ae.has(t)}}case 20:throw this._parsingErrors.push({message:AY,offset:e.offset,lexeme:"",additionalInfo:RY}),h_._parseError;default:throw this._errExpectedButGot(`true | false | KEY | KEY '=~' REGEX | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=p("contextkey.parser.error.expectedButGot",`Expected: {0} -Received: '{1}'.`,e,mh.getLexeme(t)),s=t.offset,r=mh.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:r,additionalInfo:i}),h_._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};S7._parseError=new Error;class ae{static false(){return Ps.INSTANCE}static true(){return qs.INSTANCE}static has(e){return Ng.create(e)}static equals(e,t){return gm.create(e,t)}static notEquals(e,t){return hy.create(e,t)}static regex(e,t){return Lv.create(e,t)}static in(e,t){return cy.create(e,t)}static notIn(e,t){return uy.create(e,t)}static not(e){return Tg.create(e)}static and(...e){return xh.create(e,null,!0)}static or(...e){return vd.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}ae._parser=new S7({regexParsingWithErrorRecovery:!1});function mY(o,e){const t=o?o.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function O_(o,e){return o.cmp(e)}class Ps{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return qs.INSTANCE}}Ps.INSTANCE=new Ps;class qs{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return Ps.INSTANCE}}qs.INSTANCE=new qs;class Ng{static create(e,t=null){const i=cs.get(e);return typeof i=="boolean"?i?qs.INSTANCE:Ps.INSTANCE:new Ng(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:L7(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=cs.get(this.key);return typeof e=="boolean"?e?qs.INSTANCE:Ps.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Tg.create(this.key,this)),this.negated}}class gm{static create(e,t,i=null){if(typeof t=="boolean")return t?Ng.create(e,i):Tg.create(e,i);const n=cs.get(e);return typeof n=="boolean"?t===(n?"true":"false")?qs.INSTANCE:Ps.INSTANCE:new gm(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=cs.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?qs.INSTANCE:Ps.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=hy.create(this.key,this.value,this)),this.negated}}class cy{static create(e,t){return new cy(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?aY.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=uy.create(this.key,this.valueKey)),this.negated}}class uy{static create(e,t){return new uy(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=cy.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class hy{static create(e,t,i=null){if(typeof t=="boolean")return t?Tg.create(e,i):Ng.create(e,i);const n=cs.get(e);return typeof n=="boolean"?t===(n?"true":"false")?Ps.INSTANCE:qs.INSTANCE:new hy(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=cs.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?Ps.INSTANCE:qs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=gm.create(this.key,this.value,this)),this.negated}}class Tg{static create(e,t=null){const i=cs.get(e);return typeof i=="boolean"?i?Ps.INSTANCE:qs.INSTANCE:new Tg(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:L7(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=cs.get(this.key);return typeof e=="boolean"?e?Ps.INSTANCE:qs.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ng.create(this.key,this)),this.negated}}function gy(o,e){if(typeof o=="string"){const t=parseFloat(o);isNaN(t)||(o=t)}return typeof o=="string"||typeof o=="number"?e(o):Ps.INSTANCE}class fy{static create(e,t,i=null){return gy(t,n=>new fy(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=_y.create(this.key,this.value,this)),this.negated}}class py{static create(e,t,i=null){return gy(t,n=>new py(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=my.create(this.key,this.value,this)),this.negated}}class my{static create(e,t,i=null){return gy(t,n=>new my(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key)) new _y(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=fy.create(this.key,this.value,this)),this.negated}}class Lv{static create(e,t){return new Lv(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key e.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=_M.create(this)),this.negated}}class _M{static create(e){return new _M(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function y7(o){let e=null;for(let t=0,i=o.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const r=n[n.length-1];if(r.type!==9)break;n.pop();const a=n.pop(),l=n.length===0,d=vd.create(r.expr.map(c=>xh.create([c,a],null,i)),null,l);d&&(n.push(d),n.sort(O_))}if(n.length===1)return n[0];if(i){for(let r=0;r e.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=vd.create(e,this,!0)}return this.negated}}class vd{static create(e,t,i){return vd._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length e.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const s of KP(t))for(const r of KP(i))n.push(xh.create([s,r],null,!1));e.unshift(vd.create(n,null,!1))}this.negated=vd.create(e,this,!0)}return this.negated}}class Se extends Ng{static all(){return Se._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?Se._info.push({...i,key:e}):i!==!0&&Se._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return gm.create(this.key,e)}}Se._info=[];const Ze=vt("contextKeyService");function L7(o,e){return o e?1:0}function Mg(o,e,t,i){return o t?1:ei?1:0}function RI(o,e){if(o.type===0||e.type===1)return!0;if(o.type===9)return e.type===9?jP(o.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(RI(o,t))return!0;return!1}if(o.type===6){if(e.type===6)return jP(e.expr,o.expr);for(const t of o.expr)if(RI(t,e))return!0;return!1}return o.equals(e)}function jP(o,e){let t=0,i=0;for(;t >>0,i=(o&4294901760)>>>16;return i!==0?new MD([G0(t,e),G0(i,e)]):new MD([G0(t,e)])}else{const t=[];for(let i=0;i {a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(wY)),this._cachedMergedKeybindings.slice(0)}}const Gs=new vM,CY={EditorModes:"platform.keybindingsRegistry"};xi.add(CY.EditorModes,Gs);function wY(o,e){if(o.weight1!==e.weight1)return o.weight1-e.weight1;if(o.command&&e.command){if(o.command e.command)return 1}return o.weight2-e.weight2}var SY=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qP=function(o,e){return function(t,i){e(t,i,o)}},m1;function Lf(o){return o.command!==void 0}function yY(o){return o.submenu!==void 0}class N{constructor(e){if(N._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);N._instances.set(e,this),this.id=e}}N._instances=new Map;N.CommandPalette=new N("CommandPalette");N.DebugBreakpointsContext=new N("DebugBreakpointsContext");N.DebugCallStackContext=new N("DebugCallStackContext");N.DebugConsoleContext=new N("DebugConsoleContext");N.DebugVariablesContext=new N("DebugVariablesContext");N.DebugWatchContext=new N("DebugWatchContext");N.DebugToolBar=new N("DebugToolBar");N.DebugToolBarStop=new N("DebugToolBarStop");N.EditorContext=new N("EditorContext");N.SimpleEditorContext=new N("SimpleEditorContext");N.EditorContent=new N("EditorContent");N.EditorLineNumberContext=new N("EditorLineNumberContext");N.EditorContextCopy=new N("EditorContextCopy");N.EditorContextPeek=new N("EditorContextPeek");N.EditorContextShare=new N("EditorContextShare");N.EditorTitle=new N("EditorTitle");N.EditorTitleRun=new N("EditorTitleRun");N.EditorTitleContext=new N("EditorTitleContext");N.EditorTitleContextShare=new N("EditorTitleContextShare");N.EmptyEditorGroup=new N("EmptyEditorGroup");N.EmptyEditorGroupContext=new N("EmptyEditorGroupContext");N.EditorTabsBarContext=new N("EditorTabsBarContext");N.EditorTabsBarShowTabsSubmenu=new N("EditorTabsBarShowTabsSubmenu");N.EditorActionsPositionSubmenu=new N("EditorActionsPositionSubmenu");N.ExplorerContext=new N("ExplorerContext");N.ExplorerContextShare=new N("ExplorerContextShare");N.ExtensionContext=new N("ExtensionContext");N.GlobalActivity=new N("GlobalActivity");N.CommandCenter=new N("CommandCenter");N.CommandCenterCenter=new N("CommandCenterCenter");N.LayoutControlMenuSubmenu=new N("LayoutControlMenuSubmenu");N.LayoutControlMenu=new N("LayoutControlMenu");N.MenubarMainMenu=new N("MenubarMainMenu");N.MenubarAppearanceMenu=new N("MenubarAppearanceMenu");N.MenubarDebugMenu=new N("MenubarDebugMenu");N.MenubarEditMenu=new N("MenubarEditMenu");N.MenubarCopy=new N("MenubarCopy");N.MenubarFileMenu=new N("MenubarFileMenu");N.MenubarGoMenu=new N("MenubarGoMenu");N.MenubarHelpMenu=new N("MenubarHelpMenu");N.MenubarLayoutMenu=new N("MenubarLayoutMenu");N.MenubarNewBreakpointMenu=new N("MenubarNewBreakpointMenu");N.PanelAlignmentMenu=new N("PanelAlignmentMenu");N.PanelPositionMenu=new N("PanelPositionMenu");N.ActivityBarPositionMenu=new N("ActivityBarPositionMenu");N.MenubarPreferencesMenu=new N("MenubarPreferencesMenu");N.MenubarRecentMenu=new N("MenubarRecentMenu");N.MenubarSelectionMenu=new N("MenubarSelectionMenu");N.MenubarShare=new N("MenubarShare");N.MenubarSwitchEditorMenu=new N("MenubarSwitchEditorMenu");N.MenubarSwitchGroupMenu=new N("MenubarSwitchGroupMenu");N.MenubarTerminalMenu=new N("MenubarTerminalMenu");N.MenubarViewMenu=new N("MenubarViewMenu");N.MenubarHomeMenu=new N("MenubarHomeMenu");N.OpenEditorsContext=new N("OpenEditorsContext");N.OpenEditorsContextShare=new N("OpenEditorsContextShare");N.ProblemsPanelContext=new N("ProblemsPanelContext");N.SCMInputBox=new N("SCMInputBox");N.SCMHistoryItem=new N("SCMHistoryItem");N.SCMChangeContext=new N("SCMChangeContext");N.SCMResourceContext=new N("SCMResourceContext");N.SCMResourceContextShare=new N("SCMResourceContextShare");N.SCMResourceFolderContext=new N("SCMResourceFolderContext");N.SCMResourceGroupContext=new N("SCMResourceGroupContext");N.SCMSourceControl=new N("SCMSourceControl");N.SCMTitle=new N("SCMTitle");N.SearchContext=new N("SearchContext");N.SearchActionMenu=new N("SearchActionContext");N.StatusBarWindowIndicatorMenu=new N("StatusBarWindowIndicatorMenu");N.StatusBarRemoteIndicatorMenu=new N("StatusBarRemoteIndicatorMenu");N.StickyScrollContext=new N("StickyScrollContext");N.TestItem=new N("TestItem");N.TestItemGutter=new N("TestItemGutter");N.TestMessageContext=new N("TestMessageContext");N.TestMessageContent=new N("TestMessageContent");N.TestPeekElement=new N("TestPeekElement");N.TestPeekTitle=new N("TestPeekTitle");N.TouchBarContext=new N("TouchBarContext");N.TitleBarContext=new N("TitleBarContext");N.TitleBarTitleContext=new N("TitleBarTitleContext");N.TunnelContext=new N("TunnelContext");N.TunnelPrivacy=new N("TunnelPrivacy");N.TunnelProtocol=new N("TunnelProtocol");N.TunnelPortInline=new N("TunnelInline");N.TunnelTitle=new N("TunnelTitle");N.TunnelLocalAddressInline=new N("TunnelLocalAddressInline");N.TunnelOriginInline=new N("TunnelOriginInline");N.ViewItemContext=new N("ViewItemContext");N.ViewContainerTitle=new N("ViewContainerTitle");N.ViewContainerTitleContext=new N("ViewContainerTitleContext");N.ViewTitle=new N("ViewTitle");N.ViewTitleContext=new N("ViewTitleContext");N.CommentEditorActions=new N("CommentEditorActions");N.CommentThreadTitle=new N("CommentThreadTitle");N.CommentThreadActions=new N("CommentThreadActions");N.CommentThreadAdditionalActions=new N("CommentThreadAdditionalActions");N.CommentThreadTitleContext=new N("CommentThreadTitleContext");N.CommentThreadCommentContext=new N("CommentThreadCommentContext");N.CommentTitle=new N("CommentTitle");N.CommentActions=new N("CommentActions");N.InteractiveToolbar=new N("InteractiveToolbar");N.InteractiveCellTitle=new N("InteractiveCellTitle");N.InteractiveCellDelete=new N("InteractiveCellDelete");N.InteractiveCellExecute=new N("InteractiveCellExecute");N.InteractiveInputExecute=new N("InteractiveInputExecute");N.NotebookToolbar=new N("NotebookToolbar");N.NotebookStickyScrollContext=new N("NotebookStickyScrollContext");N.NotebookCellTitle=new N("NotebookCellTitle");N.NotebookCellDelete=new N("NotebookCellDelete");N.NotebookCellInsert=new N("NotebookCellInsert");N.NotebookCellBetween=new N("NotebookCellBetween");N.NotebookCellListTop=new N("NotebookCellTop");N.NotebookCellExecute=new N("NotebookCellExecute");N.NotebookCellExecutePrimary=new N("NotebookCellExecutePrimary");N.NotebookDiffCellInputTitle=new N("NotebookDiffCellInputTitle");N.NotebookDiffCellMetadataTitle=new N("NotebookDiffCellMetadataTitle");N.NotebookDiffCellOutputsTitle=new N("NotebookDiffCellOutputsTitle");N.NotebookOutputToolbar=new N("NotebookOutputToolbar");N.NotebookEditorLayoutConfigure=new N("NotebookEditorLayoutConfigure");N.NotebookKernelSource=new N("NotebookKernelSource");N.BulkEditTitle=new N("BulkEditTitle");N.BulkEditContext=new N("BulkEditContext");N.TimelineItemContext=new N("TimelineItemContext");N.TimelineTitle=new N("TimelineTitle");N.TimelineTitleContext=new N("TimelineTitleContext");N.TimelineFilterSubMenu=new N("TimelineFilterSubMenu");N.AccountsContext=new N("AccountsContext");N.SidebarTitle=new N("SidebarTitle");N.PanelTitle=new N("PanelTitle");N.AuxiliaryBarTitle=new N("AuxiliaryBarTitle");N.TerminalInstanceContext=new N("TerminalInstanceContext");N.TerminalEditorInstanceContext=new N("TerminalEditorInstanceContext");N.TerminalNewDropdownContext=new N("TerminalNewDropdownContext");N.TerminalTabContext=new N("TerminalTabContext");N.TerminalTabEmptyAreaContext=new N("TerminalTabEmptyAreaContext");N.TerminalStickyScrollContext=new N("TerminalStickyScrollContext");N.WebviewContext=new N("WebviewContext");N.InlineCompletionsActions=new N("InlineCompletionsActions");N.NewFile=new N("NewFile");N.MergeInput1Toolbar=new N("MergeToolbar1Toolbar");N.MergeInput2Toolbar=new N("MergeToolbar2Toolbar");N.MergeBaseToolbar=new N("MergeBaseToolbar");N.MergeInputResultToolbar=new N("MergeToolbarResultToolbar");N.InlineSuggestionToolbar=new N("InlineSuggestionToolbar");N.ChatContext=new N("ChatContext");N.ChatCodeBlock=new N("ChatCodeblock");N.ChatMessageTitle=new N("ChatMessageTitle");N.ChatExecute=new N("ChatExecute");N.ChatInputSide=new N("ChatInputSide");N.AccessibleView=new N("AccessibleView");N.MultiDiffEditorFileToolbar=new N("MultiDiffEditorFileToolbar");const Ba=vt("menuService");class bd{static for(e){let t=this._all.get(e);return t||(t=new bd(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof bd&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}bd._all=new Map;const Hn=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new nZ({merge:bd.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(o){return this._commands.set(o.id,o),this._onDidChangeMenu.fire(bd.for(N.CommandPalette)),Ue(()=>{this._commands.delete(o.id)&&this._onDidChangeMenu.fire(bd.for(N.CommandPalette))})}getCommand(o){return this._commands.get(o)}getCommands(){const o=new Map;return this._commands.forEach((e,t)=>o.set(t,e)),o}appendMenuItem(o,e){let t=this._menuItems.get(o);t||(t=new Ns,this._menuItems.set(o,t));const i=t.push(e);return this._onDidChangeMenu.fire(bd.for(o)),Ue(()=>{i(),this._onDidChangeMenu.fire(bd.for(o))})}appendMenuItems(o){const e=new de;for(const{id:t,item:i}of o)e.add(this.appendMenuItem(t,i));return e}getMenuItems(o){let e;return this._menuItems.has(o)?e=[...this._menuItems.get(o)]:e=[],o===N.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(o){const e=new Set;for(const t of o)Lf(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||o.push({command:t})})}};class xv extends xp{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Ur=m1=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,n,s,r){var a,l;this.hideActions=n,this._commandService=r,this.id=e.id,this.label=m1.label(e,i),this.tooltip=(l=typeof e.tooltip=="string"?e.tooltip:(a=e.tooltip)===null||a===void 0?void 0:a.value)!==null&&l!==void 0?l:"",this.enabled=!e.precondition||s.contextMatchesRules(e.precondition),this.checked=void 0;let d;if(e.toggled){const c=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=s.contextMatchesRules(c.condition),this.checked&&c.tooltip&&(this.tooltip=typeof c.tooltip=="string"?c.tooltip:c.tooltip.value),this.checked&&$e.isThemeIcon(c.icon)&&(d=c.icon),this.checked&&c.title&&(this.label=typeof c.title=="string"?c.title:c.title.value)}d||(d=$e.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new m1(t,void 0,i,n,s,r):void 0,this._options=i,this.class=d&&$e.asClassName(d)}run(...e){var t,i;let n=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(n=[...n,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(n=[...n,...e]),this._commandService.executeCommand(this.id,...n)}};Ur=m1=SY([qP(4,Ze),qP(5,Ri)],Ur);class Yo{constructor(e){this.desc=e}}function pi(o){const e=new de,t=new o,{f1:i,menu:n,keybinding:s,...r}=t.desc;if(e.add(kt.registerCommand({id:r.id,handler:(a,...l)=>t.run(a,...l),metadata:r.metadata})),Array.isArray(n))for(const a of n)e.add(Hn.appendMenuItem(a.id,{command:{...r,precondition:a.precondition===null?void 0:r.precondition},...a}));else n&&e.add(Hn.appendMenuItem(n.id,{command:{...r,precondition:n.precondition===null?void 0:r.precondition},...n}));if(i&&(e.add(Hn.appendMenuItem(N.CommandPalette,{command:r,when:r.precondition})),e.add(Hn.addCommand(r))),Array.isArray(s))for(const a of s)e.add(Gs.registerKeybindingRule({...a,id:r.id,when:r.precondition?ae.and(r.precondition,a.when):a.when}));else s&&e.add(Gs.registerKeybindingRule({...s,id:r.id,when:r.precondition?ae.and(r.precondition,s.when):s.when}));return e}const _o=vt("telemetryService"),vo=vt("logService");var Zn;(function(o){o[o.Off=0]="Off",o[o.Trace=1]="Trace",o[o.Debug=2]="Debug",o[o.Info=3]="Info",o[o.Warning=4]="Warning",o[o.Error=5]="Error"})(Zn||(Zn={}));const x7=Zn.Info;class k7 extends Y{constructor(){super(...arguments),this.level=x7,this._onDidChangeLogLevel=this._register(new H),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==Zn.Off&&this.level<=e}}class LY extends k7{constructor(e=x7,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(Zn.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(Zn.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(Zn.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(Zn.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(Zn.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}dispose(){}}class DY extends k7{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose()}}function xY(o){switch(o){case Zn.Trace:return"trace";case Zn.Debug:return"debug";case Zn.Info:return"info";case Zn.Warning:return"warn";case Zn.Error:return"error";case Zn.Off:return"off"}}new Se("logLevel",xY(Zn.Info));const bM={clipboard:{writeText:Ml||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Ml||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:Ai.PointerEvent&&("ontouchstart"in Ai||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)};function kY(o){if(o.charCode){const t=String.fromCharCode(o.charCode).toUpperCase();return _d.fromString(t)}const e=o.keyCode;if(e===3)return 7;if(fr)switch(e){case 59:return 85;case 60:if(ws)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(xt)return 57;break}else if(ly){if(xt&&e===93)return 57;if(!xt&&e===92)return 57}return e7[e]||0}const IY=xt?256:2048,EY=512,NY=1024,TY=xt?2048:256;class hi{constructor(e){this._standardKeyboardEventBrand=!0;const t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState("AltGraph"),this.keyCode=kY(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=IY),this.altKey&&(t|=EY),this.shiftKey&&(t|=NY),this.metaKey&&(t|=TY),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Hd(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}}const GP=new WeakMap;function MY(o){if(!o.parent||o.parent===o)return null;try{const e=o.location,t=o.parent.location;if(e.origin!=="null"&&t.origin!=="null"&&e.origin!==t.origin)return null}catch{return null}return o.parent}class AY{static getSameOriginWindowChain(e){let t=GP.get(e);if(!t){t=[],GP.set(e,t);let i=e,n;do n=MY(i),n?t.push({window:new WeakRef(i),iframeElement:i.frameElement||null}):t.push({window:new WeakRef(i),iframeElement:null}),i=n;while(i)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){var i,n;if(!t||e===t)return{top:0,left:0};let s=0,r=0;const a=this.getSameOriginWindowChain(e);for(const l of a){const d=l.window.deref();if(s+=(i=d==null?void 0:d.scrollY)!==null&&i!==void 0?i:0,r+=(n=d==null?void 0:d.scrollX)!==null&&n!==void 0?n:0,d===t||!l.iframeElement)break;const c=l.iframeElement.getBoundingClientRect();s+=c.top,r+=c.left}return{top:s,left:r}}}class Pr{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type==="dblclick"&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX=="number"?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const i=AY.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ig{constructor(e,t=0,i=0){if(this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t,e){const n=e,s=e;if(typeof n.wheelDeltaY<"u")this.deltaY=n.wheelDeltaY/120;else if(typeof s.VERTICAL_AXIS<"u"&&s.axis===s.VERTICAL_AXIS)this.deltaY=-s.detail/3;else if(e.type==="wheel"){const r=e;r.deltaMode===r.DOM_DELTA_LINE?fr&&!xt?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(typeof n.wheelDeltaX<"u")ru&&is?this.deltaX=-(n.wheelDeltaX/120):this.deltaX=n.wheelDeltaX/120;else if(typeof s.HORIZONTAL_AXIS<"u"&&s.axis===s.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type==="wheel"){const r=e;r.deltaMode===r.DOM_DELTA_LINE?fr&&!xt?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}preventDefault(){var e;(e=this.browserEvent)===null||e===void 0||e.preventDefault()}stopPropagation(){var e;(e=this.browserEvent)===null||e===void 0||e.stopPropagation()}}const I7=Symbol("MicrotaskDelay");function OI(o){return!!o&&typeof o.then=="function"}function _n(o){const e=new en,t=o(e.token),i=new Promise((n,s)=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),s(new Mu)});Promise.resolve(t).then(a=>{r.dispose(),e.dispose(),n(a)},a=>{r.dispose(),e.dispose(),s(a)})});return new class{cancel(){e.cancel()}then(n,s){return i.then(n,s)}catch(n){return this.then(void 0,n)}finally(n){return i.finally(n)}}}function by(o,e,t){return new Promise((i,n)=>{const s=e.onCancellationRequested(()=>{s.dispose(),i(t)});o.then(i,n).finally(()=>s.dispose())})}class RY{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(n=>{this.activePromise=null,t(n)},n=>{this.activePromise=null,i(n)})})}dispose(){this.isDisposed=!0}}const PY=(o,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},o);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},OY=o=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,o())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class jr{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,s)=>{this.doResolve=n,this.doReject=s}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const n=this.task;return this.task=null,n()}}));const i=()=>{var n;this.deferred=null,(n=this.doResolve)===null||n===void 0||n.call(this,null)};return this.deferred=t===I7?OY(i):PY(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new Mu),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class E7{constructor(e){this.delayer=new jr(e),this.throttler=new RY}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function au(o,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{s.dispose(),t()},o),s=e.onCancellationRequested(()=>{clearTimeout(n),s.dispose(),i(new Mu)})}):_n(t=>au(o,t))}function lu(o,e=0,t){const i=setTimeout(()=>{o(),t&&n.dispose()},e),n=Ue(()=>{clearTimeout(i),t==null||t.deleteAndLeak(n)});return t==null||t.add(n),n}function CM(o,e=i=>!!i,t=null){let i=0;const n=o.length,s=()=>{if(i>=n)return Promise.resolve(t);const r=o[i++];return Promise.resolve(r()).then(l=>e(l)?Promise.resolve(l):s())};return s()}class qr{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class wM{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const n=i.setInterval(()=>{e()},t);this.disposable=Ue(()=>{i.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel()}}class Zt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let N7,F_;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?F_=(o,e)=>{$9(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:F_=(o,e,t)=>{const i=o.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let n=!1;return{dispose(){n||(n=!0,o.cancelIdleCallback(i))}}},N7=o=>F_(globalThis,o)})();class T7{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=F_(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class FY extends T7{constructor(e){super(globalThis,e)}}class Cy{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new Mu)}}var FI;(function(o){async function e(i){let n;const s=await Promise.all(i.map(r=>r.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return s}o.settled=e;function t(i){return new Promise(async(n,s)=>{try{await i(n,s)}catch(r){s(r)}})}o.withAsyncBody=t})(FI||(FI={}));class on{static fromArray(e){return new on(t=>{t.emitMany(e)})}static fromPromise(e){return new on(async t=>{t.emitMany(await e)})}static fromPromises(e){return new on(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new on(async t=>{await Promise.all(e.map(async i=>{for await(const n of i)t.emitOne(n)}))})}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new H,queueMicrotask(async()=>{const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e {for await(const n of e)i.emitOne(t(n))})}map(e){return on.map(this,e)}static filter(e,t){return new on(async i=>{for await(const n of e)t(n)&&i.emitOne(n)})}filter(e){return on.filter(this,e)}static coalesce(e){return on.filter(e,t=>!!t)}coalesce(){return on.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return on.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}on.EMPTY=on.fromArray([]);class BY extends on{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function WY(o){const e=new en,t=o(e.token);return new BY(e,async i=>{const n=e.token.onCancellationRequested(()=>{n.dispose(),e.dispose(),i.reject(new Mu)});try{for await(const s of t){if(e.token.isCancellationRequested)return;i.emitOne(s)}n.dispose(),e.dispose()}catch(s){n.dispose(),e.dispose(),i.reject(s)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:M7,setPrototypeOf:ZP,isFrozen:VY,getPrototypeOf:HY,getOwnPropertyDescriptor:zY}=Object;let{freeze:go,seal:Na,create:$Y}=Object,{apply:BI,construct:WI}=typeof Reflect<"u"&&Reflect;BI||(BI=function(e,t,i){return e.apply(t,i)});go||(go=function(e){return e});Na||(Na=function(e){return e});WI||(WI=function(e,t){return new e(...t)});const UY=Kr(Array.prototype.forEach),YP=Kr(Array.prototype.pop),Bm=Kr(Array.prototype.push),_1=Kr(String.prototype.toLowerCase),RD=Kr(String.prototype.toString),jY=Kr(String.prototype.match),ta=Kr(String.prototype.replace),KY=Kr(String.prototype.indexOf),qY=Kr(String.prototype.trim),Jo=Kr(RegExp.prototype.test),Wm=GY(TypeError);function Kr(o){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n /gm),JY=Na(/\${[\w\W]*}/gm),eX=Na(/^data-[\-\w.\u00B7-\uFFFF]/),tX=Na(/^aria-[\-\w]+$/),A7=Na(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),iX=Na(/^(?:\w+script|data):/i),nX=Na(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),R7=Na(/^html$/i);var tO=Object.freeze({__proto__:null,MUSTACHE_EXPR:XY,ERB_EXPR:QY,TMPLIT_EXPR:JY,DATA_ATTR:eX,ARIA_ATTR:tX,IS_ALLOWED_URI:A7,IS_SCRIPT_OR_DATA:iX,ATTR_WHITESPACE:nX,DOCTYPE_NAME:R7});const sX=()=>typeof window>"u"?null:window,oX=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}};function P7(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:sX();const e=mt=>P7(mt);if(e.version="3.0.5",e.removed=[],!o||!o.document||o.document.nodeType!==9)return e.isSupported=!1,e;const t=o.document,i=t.currentScript;let{document:n}=o;const{DocumentFragment:s,HTMLTemplateElement:r,Node:a,Element:l,NodeFilter:d,NamedNodeMap:c=o.NamedNodeMap||o.MozNamedAttrMap,HTMLFormElement:u,DOMParser:h,trustedTypes:g}=o,f=l.prototype,m=Z0(f,"cloneNode"),v=Z0(f,"nextSibling"),_=Z0(f,"childNodes"),b=Z0(f,"parentNode");if(typeof r=="function"){const mt=n.createElement("template");mt.content&&mt.content.ownerDocument&&(n=mt.content.ownerDocument)}let C,w="";const{implementation:S,createNodeIterator:D,createDocumentFragment:y,getElementsByTagName:I}=n,{importNode:E}=t;let P={};e.isSupported=typeof M7=="function"&&typeof b=="function"&&S&&S.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:R,TMPLIT_EXPR:j,DATA_ATTR:G,ARIA_ATTR:oe,IS_SCRIPT_OR_DATA:we,ATTR_WHITESPACE:ee}=tO;let{IS_ALLOWED_URI:U}=tO,B=null;const W=Gt({},[...XP,...PD,...OD,...FD,...QP]);let V=null;const Z=Gt({},[...JP,...BD,...eO,...Y0]);let X=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ve=null,ft=null,Ft=!0,Ye=!0,Ee=!1,Ae=!0,Te=!1,ke=!1,Nt=!1,Mt=!1,Ht=!1,mi=!1,Un=!1,Lr=!0,Dr=!1;const ju="user-content-";let ue=!0,ne=!1,ie={},A=null;const F=Gt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let J=null;const K=Gt({},["audio","video","img","source","image","track"]);let he=null;const De=Gt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",je="http://www.w3.org/2000/svg",ht="http://www.w3.org/1999/xhtml";let lt=ht,oi=!1,Qt=null;const et=Gt({},[He,je,ht],RD);let Vi;const Hi=["application/xhtml+xml","text/html"],xr="text/html";let Ut,pn=null;const Ku=n.createElement("form"),qu=function(se){return se instanceof RegExp||se instanceof Function},Jr=function(se){if(!(pn&&pn===se)){if((!se||typeof se!="object")&&(se={}),se=Zg(se),Vi=Hi.indexOf(se.PARSER_MEDIA_TYPE)===-1?Vi=xr:Vi=se.PARSER_MEDIA_TYPE,Ut=Vi==="application/xhtml+xml"?RD:_1,B="ALLOWED_TAGS"in se?Gt({},se.ALLOWED_TAGS,Ut):W,V="ALLOWED_ATTR"in se?Gt({},se.ALLOWED_ATTR,Ut):Z,Qt="ALLOWED_NAMESPACES"in se?Gt({},se.ALLOWED_NAMESPACES,RD):et,he="ADD_URI_SAFE_ATTR"in se?Gt(Zg(De),se.ADD_URI_SAFE_ATTR,Ut):De,J="ADD_DATA_URI_TAGS"in se?Gt(Zg(K),se.ADD_DATA_URI_TAGS,Ut):K,A="FORBID_CONTENTS"in se?Gt({},se.FORBID_CONTENTS,Ut):F,Ve="FORBID_TAGS"in se?Gt({},se.FORBID_TAGS,Ut):{},ft="FORBID_ATTR"in se?Gt({},se.FORBID_ATTR,Ut):{},ie="USE_PROFILES"in se?se.USE_PROFILES:!1,Ft=se.ALLOW_ARIA_ATTR!==!1,Ye=se.ALLOW_DATA_ATTR!==!1,Ee=se.ALLOW_UNKNOWN_PROTOCOLS||!1,Ae=se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Te=se.SAFE_FOR_TEMPLATES||!1,ke=se.WHOLE_DOCUMENT||!1,Ht=se.RETURN_DOM||!1,mi=se.RETURN_DOM_FRAGMENT||!1,Un=se.RETURN_TRUSTED_TYPE||!1,Mt=se.FORCE_BODY||!1,Lr=se.SANITIZE_DOM!==!1,Dr=se.SANITIZE_NAMED_PROPS||!1,ue=se.KEEP_CONTENT!==!1,ne=se.IN_PLACE||!1,U=se.ALLOWED_URI_REGEXP||A7,lt=se.NAMESPACE||ht,X=se.CUSTOM_ELEMENT_HANDLING||{},se.CUSTOM_ELEMENT_HANDLING&&qu(se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(X.tagNameCheck=se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),se.CUSTOM_ELEMENT_HANDLING&&qu(se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(X.attributeNameCheck=se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),se.CUSTOM_ELEMENT_HANDLING&&typeof se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(X.allowCustomizedBuiltInElements=se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Te&&(Ye=!1),mi&&(Ht=!0),ie&&(B=Gt({},[...QP]),V=[],ie.html===!0&&(Gt(B,XP),Gt(V,JP)),ie.svg===!0&&(Gt(B,PD),Gt(V,BD),Gt(V,Y0)),ie.svgFilters===!0&&(Gt(B,OD),Gt(V,BD),Gt(V,Y0)),ie.mathMl===!0&&(Gt(B,FD),Gt(V,eO),Gt(V,Y0))),se.ADD_TAGS&&(B===W&&(B=Zg(B)),Gt(B,se.ADD_TAGS,Ut)),se.ADD_ATTR&&(V===Z&&(V=Zg(V)),Gt(V,se.ADD_ATTR,Ut)),se.ADD_URI_SAFE_ATTR&&Gt(he,se.ADD_URI_SAFE_ATTR,Ut),se.FORBID_CONTENTS&&(A===F&&(A=Zg(A)),Gt(A,se.FORBID_CONTENTS,Ut)),ue&&(B["#text"]=!0),ke&&Gt(B,["html","head","body"]),B.table&&(Gt(B,["tbody"]),delete Ve.tbody),se.TRUSTED_TYPES_POLICY){if(typeof se.TRUSTED_TYPES_POLICY.createHTML!="function")throw Wm('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof se.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Wm('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=se.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else C===void 0&&(C=oX(g,i)),C!==null&&typeof w=="string"&&(w=C.createHTML(""));go&&go(se),pn=se}},Jd=Gt({},["mi","mo","mn","ms","mtext"]),Gu=Gt({},["foreignobject","desc","title","annotation-xml"]),Zu=Gt({},["title","style","font","a","script"]),qg=Gt({},PD);Gt(qg,OD),Gt(qg,ZY);const Yu=Gt({},FD);Gt(Yu,YY);const SD=function(se){let Oe=b(se);(!Oe||!Oe.tagName)&&(Oe={namespaceURI:lt,tagName:"template"});const Xe=_1(se.tagName),zi=_1(Oe.tagName);return Qt[se.namespaceURI]?se.namespaceURI===je?Oe.namespaceURI===ht?Xe==="svg":Oe.namespaceURI===He?Xe==="svg"&&(zi==="annotation-xml"||Jd[zi]):!!qg[Xe]:se.namespaceURI===He?Oe.namespaceURI===ht?Xe==="math":Oe.namespaceURI===je?Xe==="math"&&Gu[zi]:!!Yu[Xe]:se.namespaceURI===ht?Oe.namespaceURI===je&&!Gu[zi]||Oe.namespaceURI===He&&!Jd[zi]?!1:!Yu[Xe]&&(Zu[Xe]||!qg[Xe]):!!(Vi==="application/xhtml+xml"&&Qt[se.namespaceURI]):!1},$a=function(se){Bm(e.removed,{element:se});try{se.parentNode.removeChild(se)}catch{se.remove()}},Om=function(se,Oe){try{Bm(e.removed,{attribute:Oe.getAttributeNode(se),from:Oe})}catch{Bm(e.removed,{attribute:null,from:Oe})}if(Oe.removeAttribute(se),se==="is"&&!V[se])if(Ht||mi)try{$a(Oe)}catch{}else try{Oe.setAttribute(se,"")}catch{}},Fm=function(se){let Oe,Xe;if(Mt)se=" "+se;else{const kr=jY(se,/^[\r\n\t ]+/);Xe=kr&&kr[0]}Vi==="application/xhtml+xml"&<===ht&&(se=''+se+"");const zi=C?C.createHTML(se):se;if(lt===ht)try{Oe=new h().parseFromString(zi,Vi)}catch{}if(!Oe||!Oe.documentElement){Oe=S.createDocument(lt,"template",null);try{Oe.documentElement.innerHTML=oi?w:zi}catch{}}const gs=Oe.body||Oe.documentElement;return se&&Xe&&gs.insertBefore(n.createTextNode(Xe),gs.childNodes[0]||null),lt===ht?I.call(Oe,ke?"html":"body")[0]:ke?Oe.documentElement:gs},H0=function(se){return D.call(se.ownerDocument||se,se,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},yz=function(se){return se instanceof u&&(typeof se.nodeName!="string"||typeof se.textContent!="string"||typeof se.removeChild!="function"||!(se.attributes instanceof c)||typeof se.removeAttribute!="function"||typeof se.setAttribute!="function"||typeof se.namespaceURI!="string"||typeof se.insertBefore!="function"||typeof se.hasChildNodes!="function")},z0=function(se){return typeof a=="object"?se instanceof a:se&&typeof se=="object"&&typeof se.nodeType=="number"&&typeof se.nodeName=="string"},Xl=function(se,Oe,Xe){P[se]&&UY(P[se],zi=>{zi.call(e,Oe,Xe,pn)})},CP=function(se){let Oe;if(Xl("beforeSanitizeElements",se,null),yz(se))return $a(se),!0;const Xe=Ut(se.nodeName);if(Xl("uponSanitizeElement",se,{tagName:Xe,allowedTags:B}),se.hasChildNodes()&&!z0(se.firstElementChild)&&(!z0(se.content)||!z0(se.content.firstElementChild))&&Jo(/<[/\w]/g,se.innerHTML)&&Jo(/<[/\w]/g,se.textContent))return $a(se),!0;if(!B[Xe]||Ve[Xe]){if(!Ve[Xe]&&SP(Xe)&&(X.tagNameCheck instanceof RegExp&&Jo(X.tagNameCheck,Xe)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Xe)))return!1;if(ue&&!A[Xe]){const zi=b(se)||se.parentNode,gs=_(se)||se.childNodes;if(gs&&zi){const kr=gs.length;for(let vn=kr-1;vn>=0;--vn)zi.insertBefore(m(gs[vn],!0),v(se))}}return $a(se),!0}return se instanceof l&&!SD(se)||(Xe==="noscript"||Xe==="noembed"||Xe==="noframes")&&Jo(/<\/no(script|embed|frames)/i,se.innerHTML)?($a(se),!0):(Te&&se.nodeType===3&&(Oe=se.textContent,Oe=ta(Oe,q," "),Oe=ta(Oe,R," "),Oe=ta(Oe,j," "),se.textContent!==Oe&&(Bm(e.removed,{element:se.cloneNode()}),se.textContent=Oe)),Xl("afterSanitizeElements",se,null),!1)},wP=function(se,Oe,Xe){if(Lr&&(Oe==="id"||Oe==="name")&&(Xe in n||Xe in Ku))return!1;if(!(Ye&&!ft[Oe]&&Jo(G,Oe))){if(!(Ft&&Jo(oe,Oe))){if(!V[Oe]||ft[Oe]){if(!(SP(se)&&(X.tagNameCheck instanceof RegExp&&Jo(X.tagNameCheck,se)||X.tagNameCheck instanceof Function&&X.tagNameCheck(se))&&(X.attributeNameCheck instanceof RegExp&&Jo(X.attributeNameCheck,Oe)||X.attributeNameCheck instanceof Function&&X.attributeNameCheck(Oe))||Oe==="is"&&X.allowCustomizedBuiltInElements&&(X.tagNameCheck instanceof RegExp&&Jo(X.tagNameCheck,Xe)||X.tagNameCheck instanceof Function&&X.tagNameCheck(Xe))))return!1}else if(!he[Oe]){if(!Jo(U,ta(Xe,ee,""))){if(!((Oe==="src"||Oe==="xlink:href"||Oe==="href")&&se!=="script"&&KY(Xe,"data:")===0&&J[se])){if(!(Ee&&!Jo(we,ta(Xe,ee,"")))){if(Xe)return!1}}}}}}return!0},SP=function(se){return se.indexOf("-")>0},yP=function(se){let Oe,Xe,zi,gs;Xl("beforeSanitizeAttributes",se,null);const{attributes:kr}=se;if(!kr)return;const vn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:V};for(gs=kr.length;gs--;){Oe=kr[gs];const{name:Ua,namespaceURI:yD}=Oe;if(Xe=Ua==="value"?Oe.value:qY(Oe.value),zi=Ut(Ua),vn.attrName=zi,vn.attrValue=Xe,vn.keepAttr=!0,vn.forceKeepAttr=void 0,Xl("uponSanitizeAttribute",se,vn),Xe=vn.attrValue,vn.forceKeepAttr||(Om(Ua,se),!vn.keepAttr))continue;if(!Ae&&Jo(/\/>/i,Xe)){Om(Ua,se);continue}Te&&(Xe=ta(Xe,q," "),Xe=ta(Xe,R," "),Xe=ta(Xe,j," "));const LP=Ut(se.nodeName);if(wP(LP,zi,Xe)){if(Dr&&(zi==="id"||zi==="name")&&(Om(Ua,se),Xe=ju+Xe),C&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!yD)switch(g.getAttributeType(LP,zi)){case"TrustedHTML":{Xe=C.createHTML(Xe);break}case"TrustedScriptURL":{Xe=C.createScriptURL(Xe);break}}try{yD?se.setAttributeNS(yD,Ua,Xe):se.setAttribute(Ua,Xe),YP(e.removed)}catch{}}}Xl("afterSanitizeAttributes",se,null)},Lz=function mt(se){let Oe;const Xe=H0(se);for(Xl("beforeSanitizeShadowDOM",se,null);Oe=Xe.nextNode();)Xl("uponSanitizeShadowNode",Oe,null),!CP(Oe)&&(Oe.content instanceof s&&mt(Oe.content),yP(Oe));Xl("afterSanitizeShadowDOM",se,null)};return e.sanitize=function(mt){let se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Oe,Xe,zi,gs;if(oi=!mt,oi&&(mt=""),typeof mt!="string"&&!z0(mt))if(typeof mt.toString=="function"){if(mt=mt.toString(),typeof mt!="string")throw Wm("dirty is not a string, aborting")}else throw Wm("toString is not a function");if(!e.isSupported)return mt;if(Nt||Jr(se),e.removed=[],typeof mt=="string"&&(ne=!1),ne){if(mt.nodeName){const Ua=Ut(mt.nodeName);if(!B[Ua]||Ve[Ua])throw Wm("root node is forbidden and cannot be sanitized in-place")}}else if(mt instanceof a)Oe=Fm(""),Xe=Oe.ownerDocument.importNode(mt,!0),Xe.nodeType===1&&Xe.nodeName==="BODY"||Xe.nodeName==="HTML"?Oe=Xe:Oe.appendChild(Xe);else{if(!Ht&&!Te&&!ke&&mt.indexOf("<")===-1)return C&&Un?C.createHTML(mt):mt;if(Oe=Fm(mt),!Oe)return Ht?null:Un?w:""}Oe&&Mt&&$a(Oe.firstChild);const kr=H0(ne?mt:Oe);for(;zi=kr.nextNode();)CP(zi)||(zi.content instanceof s&&Lz(zi.content),yP(zi));if(ne)return mt;if(Ht){if(mi)for(gs=y.call(Oe.ownerDocument);Oe.firstChild;)gs.appendChild(Oe.firstChild);else gs=Oe;return(V.shadowroot||V.shadowrootmode)&&(gs=E.call(t,gs,!0)),gs}let vn=ke?Oe.outerHTML:Oe.innerHTML;return ke&&B["!doctype"]&&Oe.ownerDocument&&Oe.ownerDocument.doctype&&Oe.ownerDocument.doctype.name&&Jo(R7,Oe.ownerDocument.doctype.name)&&(vn=" -`+vn),Te&&(vn=ta(vn,q," "),vn=ta(vn,R," "),vn=ta(vn,j," ")),C&&Un?C.createHTML(vn):vn},e.setConfig=function(mt){Jr(mt),Nt=!0},e.clearConfig=function(){pn=null,Nt=!1},e.isValidAttribute=function(mt,se,Oe){pn||Jr({});const Xe=Ut(mt),zi=Ut(se);return wP(Xe,zi,Oe)},e.addHook=function(mt,se){typeof se=="function"&&(P[mt]=P[mt]||[],Bm(P[mt],se))},e.removeHook=function(mt){if(P[mt])return YP(P[mt])},e.removeHooks=function(mt){P[mt]&&(P[mt]=[])},e.removeAllHooks=function(){P={}},e}var Kl=P7();Kl.version;Kl.isSupported;const O7=Kl.sanitize;Kl.setConfig;Kl.clearConfig;Kl.isValidAttribute;const F7=Kl.addHook,B7=Kl.removeHook;Kl.removeHooks;Kl.removeAllHooks;var ot;(function(o){o.inMemory="inmemory",o.vscode="vscode",o.internal="private",o.walkThrough="walkThrough",o.walkThroughSnippet="walkThroughSnippet",o.http="http",o.https="https",o.file="file",o.mailto="mailto",o.untitled="untitled",o.data="data",o.command="command",o.vscodeRemote="vscode-remote",o.vscodeRemoteResource="vscode-remote-resource",o.vscodeManagedRemoteResource="vscode-managed-remote-resource",o.vscodeUserData="vscode-userdata",o.vscodeCustomEditor="vscode-custom-editor",o.vscodeNotebookCell="vscode-notebook-cell",o.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",o.vscodeNotebookCellOutput="vscode-notebook-cell-output",o.vscodeInteractiveInput="vscode-interactive-input",o.vscodeSettings="vscode-settings",o.vscodeWorkspaceTrust="vscode-workspace-trust",o.vscodeTerminal="vscode-terminal",o.vscodeChatSesssion="vscode-chat-editor",o.webviewPanel="webview-panel",o.vscodeWebview="vscode-webview",o.extension="extension",o.vscodeFileResource="vscode-file",o.tmp="tmp",o.vsls="vsls",o.vscodeSourceControl="vscode-scm"})(ot||(ot={}));function SM(o,e){return ze.isUri(o)?yf(o.scheme,e):dM(o,e+":")}function iO(o,...e){return e.some(t=>SM(o,t))}const rX="tkn";class aX{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${ot.vscodeRemoteResource}`}setPreferredWebSchema(e){this._preferredWebSchema=e}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return nt(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const n=this._ports[t],s=this._connectionTokens[t];let r=`path=${encodeURIComponent(e.path)}`;return typeof s=="string"&&(r+=`&${rX}=${encodeURIComponent(s)}`),ze.from({scheme:Tu?this._preferredWebSchema:ot.vscodeRemoteResource,authority:`${i}:${n}`,path:this._remoteResourcesPath,query:r})}}const W7=new aX,lX="vscode-app";class kv{uriToBrowserUri(e){return e.scheme===ot.vscodeRemote?W7.rewrite(e):e.scheme===ot.file&&(Ml||Yq===`${ot.vscodeFileResource}://${kv.FALLBACK_AUTHORITY}`)?e.with({scheme:ot.vscodeFileResource,authority:e.authority||kv.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}kv.FALLBACK_AUTHORITY=lX;const V7=new kv;var nO;(function(o){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);o.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(s){let r;typeof s=="string"?r=new URL(s).searchParams:s instanceof URL?r=s.searchParams:ze.isUri(s)&&(r=new URL(s.toString(!0)).searchParams);const a=r==null?void 0:r.get(t);if(a)return e.get(a)}o.getHeadersFromQuery=i;function n(s,r,a){if(!globalThis.crossOriginIsolated)return;const l=r&&a?"3":a?"2":"1";s instanceof URLSearchParams?s.set(t,l):s[t]=l}o.addSearchParam=n})(nO||(nO={}));function yM(o){return wy(o,0)}function wy(o,e){switch(typeof o){case"object":return o===null?yd(349,e):Array.isArray(o)?cX(o,e):uX(o,e);case"string":return LM(o,e);case"boolean":return dX(o,e);case"number":return yd(o,e);case"undefined":return yd(937,e);default:return yd(617,e)}}function yd(o,e){return(e<<5)-e+o|0}function dX(o,e){return yd(o?433:863,e)}function LM(o,e){e=yd(149417,e);for(let t=0,i=o.length;twy(i,t),e)}function uX(o,e){return e=yd(181387,e),Object.keys(o).sort().reduce((t,i)=>(t=LM(i,t),wy(o[i],t)),e)}function WD(o,e,t=32){const i=t-e,n=~((1<>>i)>>>0}function sO(o,e=0,t=o.byteLength,i=0){for(let n=0;n t.toString(16).padStart(2,"0")).join(""):hX((o>>>0).toString(16),e/4)}class Sy{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let n=this._buffLen,s=this._leftoverHighSurrogate,r,a;for(s!==0?(r=s,a=-1,s=0):(r=e.charCodeAt(0),a=0);;){let l=r;if(bn(r))if(a+1 >>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Vm(this._h0)+Vm(this._h1)+Vm(this._h2)+Vm(this._h3)+Vm(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,sO(this._buff,this._buffLen),this._buffLen>56&&(this._step(),sO(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=Sy._bigBlock32,t=this._buffDV;for(let u=0;u<64;u+=4)e.setUint32(u,t.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)e.setUint32(u,WD(e.getUint32(u-12,!1)^e.getUint32(u-32,!1)^e.getUint32(u-56,!1)^e.getUint32(u-64,!1),1),!1);let i=this._h0,n=this._h1,s=this._h2,r=this._h3,a=this._h4,l,d,c;for(let u=0;u<80;u++)u<20?(l=n&s|~n&r,d=1518500249):u<40?(l=n^s^r,d=1859775393):u<60?(l=n&s|n&r|s&r,d=2400959708):(l=n^s^r,d=3395469782),c=WD(i,5)+l+a+d+e.getUint32(u*4,!1)&4294967295,a=r,r=s,s=WD(n,30),n=i,i=c;this._h0=this._h0+i&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+s&4294967295,this._h3=this._h3+r&4294967295,this._h4=this._h4+a&4294967295}}Sy._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Je,getWindows:H7,getWindowsCount:gX,getWindowId:oO,onDidRegisterWindow:DM,onWillUnregisterWindow:fX}=function(){const o=new Map;MZ(Ai,1),o.set(Ai.vscodeWindowId,{window:Ai,disposables:new de});const e=new H,t=new H,i=new H;return{onDidRegisterWindow:e.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:t.event,registerWindow(n){if(o.has(n.vscodeWindowId))return Y.None;const s=new de,r={window:n,disposables:s.add(new de)};return o.set(n.vscodeWindowId,r),s.add(Ue(()=>{o.delete(n.vscodeWindowId),t.fire(n)})),s.add(te(n,be.BEFORE_UNLOAD,()=>{i.fire(n)})),e.fire(r),s},getWindows(){return o.values()},getWindowsCount(){return o.size},getWindowId(n){return n.vscodeWindowId},hasWindow(n){return o.has(n)},getWindowById(n){return o.get(n)},getWindow(n){var s;const r=n;if(!((s=r==null?void 0:r.ownerDocument)===null||s===void 0)&&s.defaultView)return r.ownerDocument.defaultView.window;const a=n;return a!=null&&a.view?a.view.window:Ai},getDocument(n){return Je(n).document}}}();function zn(o){for(;o.firstChild;)o.firstChild.remove()}class pX{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function te(o,e,t,i){return new pX(o,e,t,i)}function z7(o,e){return function(t){return e(new Pr(o,t))}}function mX(o){return function(e){return o(new hi(e))}}const Wi=function(e,t,i,n){let s=i;return t==="click"||t==="mousedown"?s=z7(Je(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(s=mX(i)),te(e,t,s,n)},_X=function(e,t,i){const n=z7(Je(e),t);return vX(e,n,i)};function vX(o,e,t){return te(o,Ea&&bM.pointerEvents?be.POINTER_DOWN:be.MOUSE_DOWN,e,t)}function g_(o,e,t){return F_(o,e,t)}class VD extends T7{constructor(e,t){super(e,t)}}let hw,fo;class xM extends wM{cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i)}}class HD{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){nt(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const o=new Map,e=new Map,t=new Map,i=new Map,n=s=>{var r;t.set(s,!1);const a=(r=o.get(s))!==null&&r!==void 0?r:[];for(e.set(s,a),o.set(s,[]),i.set(s,!0);a.length>0;)a.sort(HD.sort),a.shift().execute();i.set(s,!1)};fo=(s,r,a=0)=>{const l=oO(s),d=new HD(r,a);let c=o.get(l);return c||(c=[],o.set(l,c)),c.push(d),t.get(l)||(t.set(l,!0),s.requestAnimationFrame(()=>n(l))),d},hw=(s,r,a)=>{const l=oO(s);if(i.get(l)){const d=new HD(r,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(d),d}else return fo(s,r,a)}})();function yy(o){return Je(o).getComputedStyle(o,null)}function ng(o,e){const t=Je(o),i=t.document;if(o!==i.body)return new At(o.clientWidth,o.clientHeight);if(Ea&&(t!=null&&t.visualViewport))return new At(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new At(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new At(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new At(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class Ui{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=yy(e),s=n?n.getPropertyValue(t):"0";return Ui.convertToPixels(e,s)}static getBorderLeftWidth(e){return Ui.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Ui.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Ui.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Ui.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Ui.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Ui.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Ui.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Ui.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Ui.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Ui.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Ui.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Ui.getDimension(e,"margin-bottom","marginBottom")}}class At{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new At(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof At?e:new At(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}At.None=new At(0,0);function $7(o){let e=o.offsetParent,t=o.offsetTop,i=o.offsetLeft;for(;(o=o.parentNode)!==null&&o!==o.ownerDocument.body&&o!==o.ownerDocument.documentElement;){t-=o.scrollTop;const n=U7(o)?null:yy(o);n&&(i-=n.direction!=="rtl"?o.scrollLeft:-o.scrollLeft),o===e&&(i+=Ui.getBorderLeftWidth(o),t+=Ui.getBorderTopWidth(o),t+=o.offsetTop,i+=o.offsetLeft,e=o.offsetParent)}return{left:i,top:t}}function bX(o,e,t){typeof e=="number"&&(o.style.width=`${e}px`),typeof t=="number"&&(o.style.height=`${t}px`)}function gn(o){const e=o.getBoundingClientRect(),t=Je(o);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function CX(o){let e=o,t=1;do{const i=yy(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function zs(o){const e=Ui.getMarginLeft(o)+Ui.getMarginRight(o);return o.offsetWidth+e}function zD(o){const e=Ui.getBorderLeftWidth(o)+Ui.getBorderRightWidth(o),t=Ui.getPaddingLeft(o)+Ui.getPaddingRight(o);return o.offsetWidth-e-t}function wX(o){const e=Ui.getBorderTopWidth(o)+Ui.getBorderBottomWidth(o),t=Ui.getPaddingTop(o)+Ui.getPaddingBottom(o);return o.offsetHeight-e-t}function kh(o){const e=Ui.getMarginTop(o)+Ui.getMarginBottom(o);return o.offsetHeight+e}function Qn(o,e){return!!(e!=null&&e.contains(o))}function SX(o,e,t){for(;o&&o.nodeType===o.ELEMENT_NODE;){if(o.classList.contains(e))return o;if(t){if(typeof t=="string"){if(o.classList.contains(t))return null}else if(o===t)return null}o=o.parentNode}return null}function $D(o,e,t){return!!SX(o,e,t)}function U7(o){return o&&!!o.host&&!!o.mode}function gw(o){return!!sg(o)}function sg(o){for(var e;o.parentNode;){if(o===((e=o.ownerDocument)===null||e===void 0?void 0:e.body))return null;o=o.parentNode}return U7(o)?o:null}function $o(){let o=fm().activeElement;for(;o!=null&&o.shadowRoot;)o=o.shadowRoot.activeElement;return o}function Ly(o){return o.ownerDocument.activeElement===o}function yX(o){return Qn(o.ownerDocument.activeElement,o)}function fm(){var o;return gX()<=1?document:(o=Array.from(H7()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&o!==void 0?o:document}function LX(){var o,e;return(e=(o=fm().defaultView)===null||o===void 0?void 0:o.window)!==null&&e!==void 0?e:Ai}const kM=new Map;function pr(o=Ai.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),o.appendChild(i),t&&t.add(Ue(()=>o.removeChild(i))),o===Ai.document.head){const n=new Set;kM.set(i,n);for(const{window:s,disposables:r}of H7()){if(s===Ai)continue;const a=r.add(DX(i,n,s));t==null||t.add(a)}}return i}function DX(o,e,t){var i,n;const s=new de,r=o.cloneNode(!0);t.document.head.appendChild(r),s.add(Ue(()=>t.document.head.removeChild(r)));for(const a of K7(o))(i=r.sheet)===null||i===void 0||i.insertRule(a.cssText,(n=r.sheet)===null||n===void 0?void 0:n.cssRules.length);return s.add(xX.observe(o,s,{childList:!0})(()=>{r.textContent=o.textContent})),e.add(r),s.add(Ue(()=>e.delete(r))),s}const xX=new class{constructor(){this.mutationObservers=new Map}observe(o,e,t){let i=this.mutationObservers.get(o);i||(i=new Map,this.mutationObservers.set(o,i));const n=yM(t);let s=i.get(n);if(s)s.users+=1;else{const r=new H,a=new MutationObserver(d=>r.fire(d));a.observe(o,t);const l=s={users:1,observer:a,onDidMutate:r.event};e.add(Ue(()=>{l.users-=1,l.users===0&&(r.dispose(),a.disconnect(),i==null||i.delete(n),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(o))})),i.set(n,s)}return s.onDidMutate}};let UD=null;function j7(){return UD||(UD=pr()),UD}function K7(o){var e,t;return!((e=o==null?void 0:o.sheet)===null||e===void 0)&&e.rules?o.sheet.rules:!((t=o==null?void 0:o.sheet)===null||t===void 0)&&t.cssRules?o.sheet.cssRules:[]}function fw(o,e,t=j7()){var i,n;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule(`${o} {${e}}`,0);for(const s of(n=kM.get(t))!==null&&n!==void 0?n:[])fw(o,e,s)}}function VI(o,e=j7()){var t,i;if(!e)return;const n=K7(e),s=[];for(let r=0;r =0;r--)(t=e.sheet)===null||t===void 0||t.deleteRule(s[r]);for(const r of(i=kM.get(e))!==null&&i!==void 0?i:[])VI(o,r)}function kX(o){return typeof o.selectorText=="string"}function IM(o){return o instanceof MouseEvent||o instanceof Je(o).MouseEvent}function q7(o){return o instanceof KeyboardEvent||o instanceof Je(o).KeyboardEvent}const be={CLICK:"click",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function IX(o){const e=o;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const ct={stop:(o,e)=>(o.preventDefault(),e&&o.stopPropagation(),o)};function EX(o){const e=[];for(let t=0;o&&o.nodeType===o.ELEMENT_NODE;t++)e[t]=o.scrollTop,o=o.parentNode;return e}function NX(o,e){for(let t=0;o&&o.nodeType===o.ELEMENT_NODE;t++)o.scrollTop!==e[t]&&(o.scrollTop=e[t]),o=o.parentNode}class pw extends Y{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=sg(e),i=t?t.activeElement:e.ownerDocument.activeElement;return Qn(i,e)}else{const t=e;return Qn(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new H),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new H),this.onDidBlur=this._onDidBlur.event;let t=pw.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},s=()=>{t&&(i=!0,(e instanceof HTMLElement?Je(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{pw.hasFocusWithin(e)!==t&&(t?s():n())},this._register(te(e,be.FOCUS,n,!0)),this._register(te(e,be.BLUR,s,!0)),e instanceof HTMLElement&&(this._register(te(e,be.FOCUS_IN,()=>this._refreshStateHandler())),this._register(te(e,be.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Pl(o){return new pw(o)}function TX(o,e){return o.after(e),e}function le(o,...e){if(o.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function G7(o,e){return o.insertBefore(e,o.firstChild),e}function es(o,...e){o.innerText="",le(o,...e)}const MX=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Iv;(function(o){o.HTML="http://www.w3.org/1999/xhtml",o.SVG="http://www.w3.org/2000/svg"})(Iv||(Iv={}));function Z7(o,e,t,...i){const n=MX.exec(e);if(!n)throw new Error("Bad use of emmet");const s=n[1]||"div";let r;return o!==Iv.HTML?r=document.createElementNS(o,s):r=document.createElement(s),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?r[a]=l:a==="selected"?l&&r.setAttribute(a,"true"):r.setAttribute(a,l))}),r.append(...i),r}function ge(o,e,...t){return Z7(Iv.HTML,o,e,...t)}ge.SVG=function(o,e,...t){return Z7(Iv.SVG,o,e,...t)};function AX(o,...e){o?so(...e):xs(...e)}function so(...o){for(const e of o)e.style.display="",e.removeAttribute("aria-hidden")}function xs(...o){for(const e of o)e.style.display="none",e.setAttribute("aria-hidden","true")}function rO(o,e){const t=o.devicePixelRatio*e;return Math.max(1,Math.floor(t))/o.devicePixelRatio}function Y7(o){Ai.open(o,"_blank","noopener")}function RX(o,e){const t=()=>{e(),i=fo(o,t)};let i=fo(o,t);return Ue(()=>i.dispose())}W7.setPreferredWebSchema(/^https:/.test(Ai.location.href)?"https":"http");function du(o){return o?`url('${V7.uriToBrowserUri(o).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function aO(o){return`'${o.replace(/'/g,"%27")}'`}function Bh(o,e){if(o!==void 0){const t=o.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Bh(i[1].trim(),e)),`var(${i[0]}, ${e})`}return o}return e}function PX(o,e=!1){const t=document.createElement("a");return F7("afterSanitizeAttributes",i=>{for(const n of["href","src"])if(i.hasAttribute(n)){const s=i.getAttribute(n);if(n==="href"&&s.startsWith("#"))continue;if(t.href=s,!o.includes(t.protocol.replace(/:$/,""))){if(e&&n==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(n)}}}),Ue(()=>{B7("afterSanitizeAttributes")})}const OX=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class Ld extends H{constructor(){super(),this._subscriptions=new de,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(Ce.runAndSubscribe(DM,({window:e,disposables:t})=>this.registerListeners(e,t),{window:Ai,disposables:this._subscriptions}))}registerListeners(e,t){t.add(te(e,"keydown",i=>{if(i.defaultPrevented)return;const n=new hi(i);if(!(n.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(n.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(te(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(te(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(te(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(te(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(te(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Ld.instance||(Ld.instance=new Ld),Ld.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class FX extends Y{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(te(this.element,be.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(te(this.element,be.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(te(this.element,be.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(te(this.element,be.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(te(this.element,be.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(te(this.element,be.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(te(this.element,be.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const BX=/(? [\w\-]+)?(?:#(? [\w\-]+))?(? (?:\.(?:[\w\-]+))*)(?:@(? (?:[\w\_])+))?/;function vi(o,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const n=BX.exec(o);if(!n||!n.groups)throw new Error("Bad use of h");const s=n.groups.tag||"div",r=document.createElement(s);n.groups.id&&(r.id=n.groups.id);const a=[];if(n.groups.class)for(const d of n.groups.class.split("."))d!==""&&a.push(d);if(t.className!==void 0)for(const d of t.className.split("."))d!==""&&a.push(d);a.length>0&&(r.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=r),i)for(const d of i)d instanceof HTMLElement?r.appendChild(d):typeof d=="string"?r.append(d):"root"in d&&(Object.assign(l,d),r.appendChild(d.root));for(const[d,c]of Object.entries(t))if(d!=="className")if(d==="style")for(const[u,h]of Object.entries(c))r.style.setProperty(lO(u),typeof h=="number"?h+"px":""+h);else d==="tabIndex"?r.tabIndex=c:r.setAttribute(lO(d),c.toString());return l.root=r,l}function lO(o){return o.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Dy{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=ae.and(i,this.precondition):i=this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};Gs.registerKeybindingRule(n)}}kt.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){Hn.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class pm extends Dy{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort((s,r)=>r.priority-s.priority),{dispose:()=>{for(let s=0;s {if(a.get(Ze).contextMatchesRules(i??void 0))return n(a,r,t)})}runCommand(e,t){return An.runEditorCommand(e,t,this.precondition,(i,n,s)=>this.runEditorCommand(i,n,s))}}class xe extends An{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(n){return n.menuId||(n.menuId=N.EditorContext),n.title||(n.title=e.label),n.when=ae.and(e.precondition,n.when),n}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(xe.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(_o).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class Q7 extends xe{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,n)=>n[0]-i[0]),{dispose:()=>{for(let i=0;i {var r,a;const l=s.get(Ze),d=s.get(vo);if(!l.contextMatchesRules((r=this.desc.precondition)!==null&&r!==void 0?r:void 0)){d.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(a=this.desc.precondition)===null||a===void 0?void 0:a.serialize());return}return this.runEditorCommand(s,n,...t)})}}function ql(o,e){kt.registerCommand(o,function(t,...i){const n=t.get(Ke),[s,r]=i;qt(ze.isUri(s)),qt($.isIPosition(r));const a=t.get(Si).getModel(s);if(a){const l=$.lift(r);return n.invokeFunction(e,a,l,...i.slice(2))}return t.get(Xs).createModelReference(s).then(l=>new Promise((d,c)=>{try{const u=n.invokeFunction(e,l.object.textEditorModel,$.lift(r),i.slice(2));d(u)}catch(u){c(u)}}).finally(()=>{l.dispose()}))})}function ve(o){return nr.INSTANCE.registerEditorCommand(o),o}function pe(o){const e=new o;return nr.INSTANCE.registerEditorAction(e),e}function J7(o){return nr.INSTANCE.registerEditorAction(o),o}function WX(o){nr.INSTANCE.registerEditorAction(o)}function Tt(o,e,t){nr.INSTANCE.registerEditorContribution(o,e,t)}var Jf;(function(o){function e(r){return nr.INSTANCE.getEditorCommand(r)}o.getEditorCommand=e;function t(){return nr.INSTANCE.getEditorActions()}o.getEditorActions=t;function i(){return nr.INSTANCE.getEditorContributions()}o.getEditorContributions=i;function n(r){return nr.INSTANCE.getEditorContributions().filter(a=>r.indexOf(a.id)>=0)}o.getSomeEditorContributions=n;function s(){return nr.INSTANCE.getDiffEditorContributions()}o.getDiffEditorContributions=s})(Jf||(Jf={}));const VX={EditorCommonContributions:"editor.contributions"};class nr{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}nr.INSTANCE=new nr;xi.add(VX.EditorCommonContributions,nr.INSTANCE);function e0(o){return o.register(),o}const e8=e0(new pm({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:N.MenubarEditMenu,group:"1_do",title:p({},"&&Undo"),order:1},{menuId:N.CommandPalette,group:"",title:p("undo","Undo"),order:1}]}));e0(new X7(e8,{id:"default:undo",precondition:void 0}));const t8=e0(new pm({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:N.MenubarEditMenu,group:"1_do",title:p({},"&&Redo"),order:2},{menuId:N.CommandPalette,group:"",title:p("redo","Redo"),order:1}]}));e0(new X7(t8,{id:"default:redo",precondition:void 0}));const HX=e0(new pm({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:N.MenubarSelectionMenu,group:"1_basic",title:p({},"&&Select All"),order:1},{menuId:N.CommandPalette,group:"",title:p("selectAll","Select All"),order:1}]})),zX="$initialize";let dO=!1;function HI(o){Tu&&(dO||(dO=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(o.message))}class $X{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.method=i,this.args=n,this.type=0}}class cO{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class UX{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=n,this.type=2}}class jX{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class KX{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class qX{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((n,s)=>{this._pendingReplies[i]={resolve:n,reject:s},this._send(new $X(this._workerId,i,e,t))})}listen(e,t){let i=null;const n=new H({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new UX(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new KX(this._workerId,i)),i=null}});return n.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(n=>{this._send(new cO(this._workerId,t,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=PP(n.detail)),this._send(new cO(this._workerId,t,void 0,PP(n)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(n=>{this._send(new jX(this._workerId,t,n))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i {this._protocol.handleMessage(c)},c=>{n==null||n(c)})),this._protocol=new qX({sendMessage:(c,u)=>{this._worker.postMessage(c,u)},handleMessage:(c,u)=>{if(typeof i[c]!="function")return Promise.reject(new Error("Missing method "+c+" on main thread host."));try{return Promise.resolve(i[c].apply(i,u))}catch(h){return Promise.reject(h)}},handleEvent:(c,u)=>{if(n8(c)){const h=i[c].call(i,u);if(typeof h!="function")throw new Error(`Missing dynamic event ${c} on main thread host.`);return h}if(i8(c)){const h=i[c];if(typeof h!="function")throw new Error(`Missing event ${c} on main thread host.`);return h}throw new Error(`Malformed event name ${c}`)}}),this._protocol.setWorkerId(this._worker.getId());let s=null;const r=globalThis.require;typeof r<"u"&&typeof r.getConfig=="function"?s=r.getConfig():typeof globalThis.requirejs<"u"&&(s=globalThis.requirejs.s.contexts._.config);const a=Z2(i);this._onModuleLoaded=this._protocol.sendMessage(zX,[this._worker.getId(),JSON.parse(JSON.stringify(s)),t,a]);const l=(c,u)=>this._request(c,u),d=(c,u)=>this._protocol.listen(c,u);this._lazyProxy=new Promise((c,u)=>{n=u,this._onModuleLoaded.then(h=>{c(ZX(h,l,d))},h=>{u(h),this._onError("Worker failed to load "+t,h)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,n)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,n)},n)})}_onError(e,t){console.error(e),console.info(t)}}function i8(o){return o[0]==="o"&&o[1]==="n"&&el(o.charCodeAt(2))}function n8(o){return/^onDynamic/.test(o)&&el(o.charCodeAt(9))}function ZX(o,e,t){const i=r=>function(){const a=Array.prototype.slice.call(arguments,0);return e(r,a)},n=r=>function(a){return t(r,a)},s={};for(const r of o){if(n8(r)){s[r]=n(r);continue}if(i8(r)){s[r]=t(r,void 0);continue}s[r]=i(r)}return s}function Kd(o,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(o,e)}catch(n){nt(n);return}try{return(t=Ai.trustedTypes)===null||t===void 0?void 0:t.createPolicy(o,e)}catch(n){nt(n);return}}const uO=Kd("defaultWorkerFactory",{createScriptURL:o=>o});function YX(o){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",o);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",o);return new Worker(uO?uO.createScriptURL(t):t,{name:o})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function XX(o){return typeof o.then=="function"}class QX{constructor(e,t,i,n,s){this.id=t,this.label=i;const r=YX(i);XX(r)?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){n(l.data)},a.onmessageerror=s,typeof a.addEventListener=="function"&&a.addEventListener("error",s)})}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(n=>{try{n.postMessage(e,t)}catch(s){nt(s),nt(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:s}))}})}dispose(){var e;(e=this.worker)===null||e===void 0||e.then(t=>t.terminate()),this.worker=null}}class xy{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++xy.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new QX(e,n,this._label||"anonymous"+n,t,s=>{HI(s),this._webWorkerFailedBeforeError=s,i(s)})}}xy.LAST_WORKER_ID=0;var rn;(function(o){o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent"})(rn||(rn={}));class jD{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t0&&o.getLanguageId(r-1)===n;)r--;return new eQ(o,n,r,s+1,o.getStartOffset(r),o.getEndOffset(s))}class eQ{constructor(e,t,i,n,s,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=r}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Za(o){return(o&3)!==0}class kp{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new jD(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new jD({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new jD({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> +Received: '{1}'.`,e,mh.getLexeme(t)),s=t.offset,r=mh.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:r,additionalInfo:i}),h_._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};y7._parseError=new Error;class ae{static false(){return Ps.INSTANCE}static true(){return qs.INSTANCE}static has(e){return Ng.create(e)}static equals(e,t){return gm.create(e,t)}static notEquals(e,t){return gy.create(e,t)}static regex(e,t){return Lv.create(e,t)}static in(e,t){return uy.create(e,t)}static notIn(e,t){return hy.create(e,t)}static not(e){return Tg.create(e)}static and(...e){return xh.create(e,null,!0)}static or(...e){return bd.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}ae._parser=new y7({regexParsingWithErrorRecovery:!1});function PY(o,e){const t=o?o.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function O_(o,e){return o.cmp(e)}class Ps{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return qs.INSTANCE}}Ps.INSTANCE=new Ps;class qs{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return Ps.INSTANCE}}qs.INSTANCE=new qs;class Ng{static create(e,t=null){const i=cs.get(e);return typeof i=="boolean"?i?qs.INSTANCE:Ps.INSTANCE:new Ng(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:D7(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=cs.get(this.key);return typeof e=="boolean"?e?qs.INSTANCE:Ps.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Tg.create(this.key,this)),this.negated}}class gm{static create(e,t,i=null){if(typeof t=="boolean")return t?Ng.create(e,i):Tg.create(e,i);const n=cs.get(e);return typeof n=="boolean"?t===(n?"true":"false")?qs.INSTANCE:Ps.INSTANCE:new gm(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=cs.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?qs.INSTANCE:Ps.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=gy.create(this.key,this.value,this)),this.negated}}class uy{static create(e,t){return new uy(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?xY.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=hy.create(this.key,this.valueKey)),this.negated}}class hy{static create(e,t){return new hy(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=uy.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class gy{static create(e,t,i=null){if(typeof t=="boolean")return t?Tg.create(e,i):Ng.create(e,i);const n=cs.get(e);return typeof n=="boolean"?t===(n?"true":"false")?Ps.INSTANCE:qs.INSTANCE:new gy(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=cs.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?Ps.INSTANCE:qs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=gm.create(this.key,this.value,this)),this.negated}}class Tg{static create(e,t=null){const i=cs.get(e);return typeof i=="boolean"?i?Ps.INSTANCE:qs.INSTANCE:new Tg(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:D7(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=cs.get(this.key);return typeof e=="boolean"?e?Ps.INSTANCE:qs.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ng.create(this.key,this)),this.negated}}function fy(o,e){if(typeof o=="string"){const t=parseFloat(o);isNaN(t)||(o=t)}return typeof o=="string"||typeof o=="number"?e(o):Ps.INSTANCE}class py{static create(e,t,i=null){return fy(t,n=>new py(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=vy.create(this.key,this.value,this)),this.negated}}class my{static create(e,t,i=null){return fy(t,n=>new my(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=_y.create(this.key,this.value,this)),this.negated}}class _y{static create(e,t,i=null){return fy(t,n=>new _y(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key)) new vy(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:Mg(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=py.create(this.key,this.value,this)),this.negated}}class Lv{static create(e,t){return new Lv(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key e.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=vM.create(this)),this.negated}}class vM{static create(e){return new vM(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function L7(o){let e=null;for(let t=0,i=o.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const r=n[n.length-1];if(r.type!==9)break;n.pop();const a=n.pop(),l=n.length===0,d=bd.create(r.expr.map(c=>xh.create([c,a],null,i)),null,l);d&&(n.push(d),n.sort(O_))}if(n.length===1)return n[0];if(i){for(let r=0;r e.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=bd.create(e,this,!0)}return this.negated}}class bd{static create(e,t,i){return bd._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length e.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const s of qP(t))for(const r of qP(i))n.push(xh.create([s,r],null,!1));e.unshift(bd.create(n,null,!1))}this.negated=bd.create(e,this,!0)}return this.negated}}class De extends Ng{static all(){return De._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?De._info.push({...i,key:e}):i!==!0&&De._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return gm.create(this.key,e)}}De._info=[];const Xe=bt("contextKeyService");function D7(o,e){return o e?1:0}function Mg(o,e,t,i){return o t?1:ei?1:0}function RI(o,e){if(o.type===0||e.type===1)return!0;if(o.type===9)return e.type===9?KP(o.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(RI(o,t))return!0;return!1}if(o.type===6){if(e.type===6)return KP(e.expr,o.expr);for(const t of o.expr)if(RI(t,e))return!0;return!1}return o.equals(e)}function KP(o,e){let t=0,i=0;for(;t >>0,i=(o&4294901760)>>>16;return i!==0?new AD([G0(t,e),G0(i,e)]):new AD([G0(t,e)])}else{const t=[];for(let i=0;i {a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(VY)),this._cachedMergedKeybindings.slice(0)}}const Gs=new bM,WY={EditorModes:"platform.keybindingsRegistry"};xi.add(WY.EditorModes,Gs);function VY(o,e){if(o.weight1!==e.weight1)return o.weight1-e.weight1;if(o.command&&e.command){if(o.command e.command)return 1}return o.weight2-e.weight2}var HY=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GP=function(o,e){return function(t,i){e(t,i,o)}},m1;function Lf(o){return o.command!==void 0}function zY(o){return o.submenu!==void 0}class N{constructor(e){if(N._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);N._instances.set(e,this),this.id=e}}N._instances=new Map;N.CommandPalette=new N("CommandPalette");N.DebugBreakpointsContext=new N("DebugBreakpointsContext");N.DebugCallStackContext=new N("DebugCallStackContext");N.DebugConsoleContext=new N("DebugConsoleContext");N.DebugVariablesContext=new N("DebugVariablesContext");N.DebugWatchContext=new N("DebugWatchContext");N.DebugToolBar=new N("DebugToolBar");N.DebugToolBarStop=new N("DebugToolBarStop");N.EditorContext=new N("EditorContext");N.SimpleEditorContext=new N("SimpleEditorContext");N.EditorContent=new N("EditorContent");N.EditorLineNumberContext=new N("EditorLineNumberContext");N.EditorContextCopy=new N("EditorContextCopy");N.EditorContextPeek=new N("EditorContextPeek");N.EditorContextShare=new N("EditorContextShare");N.EditorTitle=new N("EditorTitle");N.EditorTitleRun=new N("EditorTitleRun");N.EditorTitleContext=new N("EditorTitleContext");N.EditorTitleContextShare=new N("EditorTitleContextShare");N.EmptyEditorGroup=new N("EmptyEditorGroup");N.EmptyEditorGroupContext=new N("EmptyEditorGroupContext");N.EditorTabsBarContext=new N("EditorTabsBarContext");N.EditorTabsBarShowTabsSubmenu=new N("EditorTabsBarShowTabsSubmenu");N.EditorActionsPositionSubmenu=new N("EditorActionsPositionSubmenu");N.ExplorerContext=new N("ExplorerContext");N.ExplorerContextShare=new N("ExplorerContextShare");N.ExtensionContext=new N("ExtensionContext");N.GlobalActivity=new N("GlobalActivity");N.CommandCenter=new N("CommandCenter");N.CommandCenterCenter=new N("CommandCenterCenter");N.LayoutControlMenuSubmenu=new N("LayoutControlMenuSubmenu");N.LayoutControlMenu=new N("LayoutControlMenu");N.MenubarMainMenu=new N("MenubarMainMenu");N.MenubarAppearanceMenu=new N("MenubarAppearanceMenu");N.MenubarDebugMenu=new N("MenubarDebugMenu");N.MenubarEditMenu=new N("MenubarEditMenu");N.MenubarCopy=new N("MenubarCopy");N.MenubarFileMenu=new N("MenubarFileMenu");N.MenubarGoMenu=new N("MenubarGoMenu");N.MenubarHelpMenu=new N("MenubarHelpMenu");N.MenubarLayoutMenu=new N("MenubarLayoutMenu");N.MenubarNewBreakpointMenu=new N("MenubarNewBreakpointMenu");N.PanelAlignmentMenu=new N("PanelAlignmentMenu");N.PanelPositionMenu=new N("PanelPositionMenu");N.ActivityBarPositionMenu=new N("ActivityBarPositionMenu");N.MenubarPreferencesMenu=new N("MenubarPreferencesMenu");N.MenubarRecentMenu=new N("MenubarRecentMenu");N.MenubarSelectionMenu=new N("MenubarSelectionMenu");N.MenubarShare=new N("MenubarShare");N.MenubarSwitchEditorMenu=new N("MenubarSwitchEditorMenu");N.MenubarSwitchGroupMenu=new N("MenubarSwitchGroupMenu");N.MenubarTerminalMenu=new N("MenubarTerminalMenu");N.MenubarViewMenu=new N("MenubarViewMenu");N.MenubarHomeMenu=new N("MenubarHomeMenu");N.OpenEditorsContext=new N("OpenEditorsContext");N.OpenEditorsContextShare=new N("OpenEditorsContextShare");N.ProblemsPanelContext=new N("ProblemsPanelContext");N.SCMInputBox=new N("SCMInputBox");N.SCMHistoryItem=new N("SCMHistoryItem");N.SCMChangeContext=new N("SCMChangeContext");N.SCMResourceContext=new N("SCMResourceContext");N.SCMResourceContextShare=new N("SCMResourceContextShare");N.SCMResourceFolderContext=new N("SCMResourceFolderContext");N.SCMResourceGroupContext=new N("SCMResourceGroupContext");N.SCMSourceControl=new N("SCMSourceControl");N.SCMTitle=new N("SCMTitle");N.SearchContext=new N("SearchContext");N.SearchActionMenu=new N("SearchActionContext");N.StatusBarWindowIndicatorMenu=new N("StatusBarWindowIndicatorMenu");N.StatusBarRemoteIndicatorMenu=new N("StatusBarRemoteIndicatorMenu");N.StickyScrollContext=new N("StickyScrollContext");N.TestItem=new N("TestItem");N.TestItemGutter=new N("TestItemGutter");N.TestMessageContext=new N("TestMessageContext");N.TestMessageContent=new N("TestMessageContent");N.TestPeekElement=new N("TestPeekElement");N.TestPeekTitle=new N("TestPeekTitle");N.TouchBarContext=new N("TouchBarContext");N.TitleBarContext=new N("TitleBarContext");N.TitleBarTitleContext=new N("TitleBarTitleContext");N.TunnelContext=new N("TunnelContext");N.TunnelPrivacy=new N("TunnelPrivacy");N.TunnelProtocol=new N("TunnelProtocol");N.TunnelPortInline=new N("TunnelInline");N.TunnelTitle=new N("TunnelTitle");N.TunnelLocalAddressInline=new N("TunnelLocalAddressInline");N.TunnelOriginInline=new N("TunnelOriginInline");N.ViewItemContext=new N("ViewItemContext");N.ViewContainerTitle=new N("ViewContainerTitle");N.ViewContainerTitleContext=new N("ViewContainerTitleContext");N.ViewTitle=new N("ViewTitle");N.ViewTitleContext=new N("ViewTitleContext");N.CommentEditorActions=new N("CommentEditorActions");N.CommentThreadTitle=new N("CommentThreadTitle");N.CommentThreadActions=new N("CommentThreadActions");N.CommentThreadAdditionalActions=new N("CommentThreadAdditionalActions");N.CommentThreadTitleContext=new N("CommentThreadTitleContext");N.CommentThreadCommentContext=new N("CommentThreadCommentContext");N.CommentTitle=new N("CommentTitle");N.CommentActions=new N("CommentActions");N.InteractiveToolbar=new N("InteractiveToolbar");N.InteractiveCellTitle=new N("InteractiveCellTitle");N.InteractiveCellDelete=new N("InteractiveCellDelete");N.InteractiveCellExecute=new N("InteractiveCellExecute");N.InteractiveInputExecute=new N("InteractiveInputExecute");N.NotebookToolbar=new N("NotebookToolbar");N.NotebookStickyScrollContext=new N("NotebookStickyScrollContext");N.NotebookCellTitle=new N("NotebookCellTitle");N.NotebookCellDelete=new N("NotebookCellDelete");N.NotebookCellInsert=new N("NotebookCellInsert");N.NotebookCellBetween=new N("NotebookCellBetween");N.NotebookCellListTop=new N("NotebookCellTop");N.NotebookCellExecute=new N("NotebookCellExecute");N.NotebookCellExecutePrimary=new N("NotebookCellExecutePrimary");N.NotebookDiffCellInputTitle=new N("NotebookDiffCellInputTitle");N.NotebookDiffCellMetadataTitle=new N("NotebookDiffCellMetadataTitle");N.NotebookDiffCellOutputsTitle=new N("NotebookDiffCellOutputsTitle");N.NotebookOutputToolbar=new N("NotebookOutputToolbar");N.NotebookEditorLayoutConfigure=new N("NotebookEditorLayoutConfigure");N.NotebookKernelSource=new N("NotebookKernelSource");N.BulkEditTitle=new N("BulkEditTitle");N.BulkEditContext=new N("BulkEditContext");N.TimelineItemContext=new N("TimelineItemContext");N.TimelineTitle=new N("TimelineTitle");N.TimelineTitleContext=new N("TimelineTitleContext");N.TimelineFilterSubMenu=new N("TimelineFilterSubMenu");N.AccountsContext=new N("AccountsContext");N.SidebarTitle=new N("SidebarTitle");N.PanelTitle=new N("PanelTitle");N.AuxiliaryBarTitle=new N("AuxiliaryBarTitle");N.TerminalInstanceContext=new N("TerminalInstanceContext");N.TerminalEditorInstanceContext=new N("TerminalEditorInstanceContext");N.TerminalNewDropdownContext=new N("TerminalNewDropdownContext");N.TerminalTabContext=new N("TerminalTabContext");N.TerminalTabEmptyAreaContext=new N("TerminalTabEmptyAreaContext");N.TerminalStickyScrollContext=new N("TerminalStickyScrollContext");N.WebviewContext=new N("WebviewContext");N.InlineCompletionsActions=new N("InlineCompletionsActions");N.NewFile=new N("NewFile");N.MergeInput1Toolbar=new N("MergeToolbar1Toolbar");N.MergeInput2Toolbar=new N("MergeToolbar2Toolbar");N.MergeBaseToolbar=new N("MergeBaseToolbar");N.MergeInputResultToolbar=new N("MergeToolbarResultToolbar");N.InlineSuggestionToolbar=new N("InlineSuggestionToolbar");N.ChatContext=new N("ChatContext");N.ChatCodeBlock=new N("ChatCodeblock");N.ChatMessageTitle=new N("ChatMessageTitle");N.ChatExecute=new N("ChatExecute");N.ChatInputSide=new N("ChatInputSide");N.AccessibleView=new N("AccessibleView");N.MultiDiffEditorFileToolbar=new N("MultiDiffEditorFileToolbar");const Ba=bt("menuService");class Cd{static for(e){let t=this._all.get(e);return t||(t=new Cd(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof Cd&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}Cd._all=new Map;const zn=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new SZ({merge:Cd.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(o){return this._commands.set(o.id,o),this._onDidChangeMenu.fire(Cd.for(N.CommandPalette)),je(()=>{this._commands.delete(o.id)&&this._onDidChangeMenu.fire(Cd.for(N.CommandPalette))})}getCommand(o){return this._commands.get(o)}getCommands(){const o=new Map;return this._commands.forEach((e,t)=>o.set(t,e)),o}appendMenuItem(o,e){let t=this._menuItems.get(o);t||(t=new Ns,this._menuItems.set(o,t));const i=t.push(e);return this._onDidChangeMenu.fire(Cd.for(o)),je(()=>{i(),this._onDidChangeMenu.fire(Cd.for(o))})}appendMenuItems(o){const e=new de;for(const{id:t,item:i}of o)e.add(this.appendMenuItem(t,i));return e}getMenuItems(o){let e;return this._menuItems.has(o)?e=[...this._menuItems.get(o)]:e=[],o===N.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(o){const e=new Set;for(const t of o)Lf(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||o.push({command:t})})}};class xv extends xp{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Ur=m1=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,n,s,r){var a,l;this.hideActions=n,this._commandService=r,this.id=e.id,this.label=m1.label(e,i),this.tooltip=(l=typeof e.tooltip=="string"?e.tooltip:(a=e.tooltip)===null||a===void 0?void 0:a.value)!==null&&l!==void 0?l:"",this.enabled=!e.precondition||s.contextMatchesRules(e.precondition),this.checked=void 0;let d;if(e.toggled){const c=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=s.contextMatchesRules(c.condition),this.checked&&c.tooltip&&(this.tooltip=typeof c.tooltip=="string"?c.tooltip:c.tooltip.value),this.checked&&Ue.isThemeIcon(c.icon)&&(d=c.icon),this.checked&&c.title&&(this.label=typeof c.title=="string"?c.title:c.title.value)}d||(d=Ue.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new m1(t,void 0,i,n,s,r):void 0,this._options=i,this.class=d&&Ue.asClassName(d)}run(...e){var t,i;let n=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(n=[...n,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(n=[...n,...e]),this._commandService.executeCommand(this.id,...n)}};Ur=m1=HY([GP(4,Xe),GP(5,Ri)],Ur);class Qo{constructor(e){this.desc=e}}function mi(o){const e=new de,t=new o,{f1:i,menu:n,keybinding:s,...r}=t.desc;if(e.add(Et.registerCommand({id:r.id,handler:(a,...l)=>t.run(a,...l),metadata:r.metadata})),Array.isArray(n))for(const a of n)e.add(zn.appendMenuItem(a.id,{command:{...r,precondition:a.precondition===null?void 0:r.precondition},...a}));else n&&e.add(zn.appendMenuItem(n.id,{command:{...r,precondition:n.precondition===null?void 0:r.precondition},...n}));if(i&&(e.add(zn.appendMenuItem(N.CommandPalette,{command:r,when:r.precondition})),e.add(zn.addCommand(r))),Array.isArray(s))for(const a of s)e.add(Gs.registerKeybindingRule({...a,id:r.id,when:r.precondition?ae.and(r.precondition,a.when):a.when}));else s&&e.add(Gs.registerKeybindingRule({...s,id:r.id,when:r.precondition?ae.and(r.precondition,s.when):s.when}));return e}const vo=bt("telemetryService"),bo=bt("logService");var Zn;(function(o){o[o.Off=0]="Off",o[o.Trace=1]="Trace",o[o.Debug=2]="Debug",o[o.Info=3]="Info",o[o.Warning=4]="Warning",o[o.Error=5]="Error"})(Zn||(Zn={}));const k7=Zn.Info;class I7 extends q{constructor(){super(...arguments),this.level=k7,this._onDidChangeLogLevel=this._register(new W),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==Zn.Off&&this.level<=e}}class $Y extends I7{constructor(e=k7,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(Zn.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(Zn.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(Zn.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(Zn.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(Zn.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}dispose(){}}class UY extends I7{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose()}}function jY(o){switch(o){case Zn.Trace:return"trace";case Zn.Debug:return"debug";case Zn.Info:return"info";case Zn.Warning:return"warn";case Zn.Error:return"error";case Zn.Off:return"off"}}new De("logLevel",jY(Zn.Info));const CM={clipboard:{writeText:Ml||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Ml||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:Ai.PointerEvent&&("ontouchstart"in Ai||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)};function KY(o){if(o.charCode){const t=String.fromCharCode(o.charCode).toUpperCase();return vd.fromString(t)}const e=o.keyCode;if(e===3)return 7;if(pr)switch(e){case 59:return 85;case 60:if(ws)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(It)return 57;break}else if(dy){if(It&&e===93)return 57;if(!It&&e===92)return 57}return t7[e]||0}const qY=It?256:2048,GY=512,ZY=1024,YY=It?2048:256;class gi{constructor(e){this._standardKeyboardEventBrand=!0;const t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState("AltGraph"),this.keyCode=KY(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=qY),this.altKey&&(t|=GY),this.shiftKey&&(t|=ZY),this.metaKey&&(t|=YY),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new zd(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}}const ZP=new WeakMap;function XY(o){if(!o.parent||o.parent===o)return null;try{const e=o.location,t=o.parent.location;if(e.origin!=="null"&&t.origin!=="null"&&e.origin!==t.origin)return null}catch{return null}return o.parent}class QY{static getSameOriginWindowChain(e){let t=ZP.get(e);if(!t){t=[],ZP.set(e,t);let i=e,n;do n=XY(i),n?t.push({window:new WeakRef(i),iframeElement:i.frameElement||null}):t.push({window:new WeakRef(i),iframeElement:null}),i=n;while(i)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){var i,n;if(!t||e===t)return{top:0,left:0};let s=0,r=0;const a=this.getSameOriginWindowChain(e);for(const l of a){const d=l.window.deref();if(s+=(i=d==null?void 0:d.scrollY)!==null&&i!==void 0?i:0,r+=(n=d==null?void 0:d.scrollX)!==null&&n!==void 0?n:0,d===t||!l.iframeElement)break;const c=l.iframeElement.getBoundingClientRect();s+=c.top,r+=c.left}return{top:s,left:r}}}class Pr{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type==="dblclick"&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX=="number"?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const i=QY.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ig{constructor(e,t=0,i=0){if(this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t,e){const n=e,s=e;if(typeof n.wheelDeltaY<"u")this.deltaY=n.wheelDeltaY/120;else if(typeof s.VERTICAL_AXIS<"u"&&s.axis===s.VERTICAL_AXIS)this.deltaY=-s.detail/3;else if(e.type==="wheel"){const r=e;r.deltaMode===r.DOM_DELTA_LINE?pr&&!It?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(typeof n.wheelDeltaX<"u")ru&&is?this.deltaX=-(n.wheelDeltaX/120):this.deltaX=n.wheelDeltaX/120;else if(typeof s.HORIZONTAL_AXIS<"u"&&s.axis===s.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type==="wheel"){const r=e;r.deltaMode===r.DOM_DELTA_LINE?pr&&!It?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}preventDefault(){var e;(e=this.browserEvent)===null||e===void 0||e.preventDefault()}stopPropagation(){var e;(e=this.browserEvent)===null||e===void 0||e.stopPropagation()}}const E7=Symbol("MicrotaskDelay");function OI(o){return!!o&&typeof o.then=="function"}function _n(o){const e=new tn,t=o(e.token),i=new Promise((n,s)=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),s(new Mu)});Promise.resolve(t).then(a=>{r.dispose(),e.dispose(),n(a)},a=>{r.dispose(),e.dispose(),s(a)})});return new class{cancel(){e.cancel()}then(n,s){return i.then(n,s)}catch(n){return this.then(void 0,n)}finally(n){return i.finally(n)}}}function Cy(o,e,t){return new Promise((i,n)=>{const s=e.onCancellationRequested(()=>{s.dispose(),i(t)});o.then(i,n).finally(()=>s.dispose())})}class JY{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(n=>{this.activePromise=null,t(n)},n=>{this.activePromise=null,i(n)})})}dispose(){this.isDisposed=!0}}const eX=(o,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},o);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},tX=o=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,o())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class jr{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,s)=>{this.doResolve=n,this.doReject=s}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const n=this.task;return this.task=null,n()}}));const i=()=>{var n;this.deferred=null,(n=this.doResolve)===null||n===void 0||n.call(this,null)};return this.deferred=t===E7?tX(i):eX(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new Mu),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class N7{constructor(e){this.delayer=new jr(e),this.throttler=new JY}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function au(o,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{s.dispose(),t()},o),s=e.onCancellationRequested(()=>{clearTimeout(n),s.dispose(),i(new Mu)})}):_n(t=>au(o,t))}function lu(o,e=0,t){const i=setTimeout(()=>{o(),t&&n.dispose()},e),n=je(()=>{clearTimeout(i),t==null||t.deleteAndLeak(n)});return t==null||t.add(n),n}function wM(o,e=i=>!!i,t=null){let i=0;const n=o.length,s=()=>{if(i>=n)return Promise.resolve(t);const r=o[i++];return Promise.resolve(r()).then(l=>e(l)?Promise.resolve(l):s())};return s()}class qr{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class SM{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const n=i.setInterval(()=>{e()},t);this.disposable=je(()=>{i.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel()}}class Yt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let T7,F_;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?F_=(o,e)=>{U9(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:F_=(o,e,t)=>{const i=o.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let n=!1;return{dispose(){n||(n=!0,o.cancelIdleCallback(i))}}},T7=o=>F_(globalThis,o)})();class M7{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=F_(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class iX extends M7{constructor(e){super(globalThis,e)}}class wy{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new Mu)}}var FI;(function(o){async function e(i){let n;const s=await Promise.all(i.map(r=>r.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return s}o.settled=e;function t(i){return new Promise(async(n,s)=>{try{await i(n,s)}catch(r){s(r)}})}o.withAsyncBody=t})(FI||(FI={}));class rn{static fromArray(e){return new rn(t=>{t.emitMany(e)})}static fromPromise(e){return new rn(async t=>{t.emitMany(await e)})}static fromPromises(e){return new rn(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new rn(async t=>{await Promise.all(e.map(async i=>{for await(const n of i)t.emitOne(n)}))})}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new W,queueMicrotask(async()=>{const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e {for await(const n of e)i.emitOne(t(n))})}map(e){return rn.map(this,e)}static filter(e,t){return new rn(async i=>{for await(const n of e)t(n)&&i.emitOne(n)})}filter(e){return rn.filter(this,e)}static coalesce(e){return rn.filter(e,t=>!!t)}coalesce(){return rn.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return rn.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}rn.EMPTY=rn.fromArray([]);class nX extends rn{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function sX(o){const e=new tn,t=o(e.token);return new nX(e,async i=>{const n=e.token.onCancellationRequested(()=>{n.dispose(),e.dispose(),i.reject(new Mu)});try{for await(const s of t){if(e.token.isCancellationRequested)return;i.emitOne(s)}n.dispose(),e.dispose()}catch(s){n.dispose(),e.dispose(),i.reject(s)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:A7,setPrototypeOf:YP,isFrozen:oX,getPrototypeOf:rX,getOwnPropertyDescriptor:aX}=Object;let{freeze:fo,seal:Na,create:lX}=Object,{apply:BI,construct:WI}=typeof Reflect<"u"&&Reflect;BI||(BI=function(e,t,i){return e.apply(t,i)});fo||(fo=function(e){return e});Na||(Na=function(e){return e});WI||(WI=function(e,t){return new e(...t)});const dX=Kr(Array.prototype.forEach),XP=Kr(Array.prototype.pop),Bm=Kr(Array.prototype.push),_1=Kr(String.prototype.toLowerCase),PD=Kr(String.prototype.toString),cX=Kr(String.prototype.match),ta=Kr(String.prototype.replace),uX=Kr(String.prototype.indexOf),hX=Kr(String.prototype.trim),tr=Kr(RegExp.prototype.test),Wm=gX(TypeError);function Kr(o){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n /gm),vX=Na(/\${[\w\W]*}/gm),bX=Na(/^data-[\-\w.\u00B7-\uFFFF]/),CX=Na(/^aria-[\-\w]+$/),R7=Na(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),wX=Na(/^(?:\w+script|data):/i),SX=Na(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),P7=Na(/^html$/i);var iO=Object.freeze({__proto__:null,MUSTACHE_EXPR:mX,ERB_EXPR:_X,TMPLIT_EXPR:vX,DATA_ATTR:bX,ARIA_ATTR:CX,IS_ALLOWED_URI:R7,IS_SCRIPT_OR_DATA:wX,ATTR_WHITESPACE:SX,DOCTYPE_NAME:P7});const yX=()=>typeof window>"u"?null:window,LX=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}};function O7(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:yX();const e=_t=>O7(_t);if(e.version="3.0.5",e.removed=[],!o||!o.document||o.document.nodeType!==9)return e.isSupported=!1,e;const t=o.document,i=t.currentScript;let{document:n}=o;const{DocumentFragment:s,HTMLTemplateElement:r,Node:a,Element:l,NodeFilter:d,NamedNodeMap:c=o.NamedNodeMap||o.MozNamedAttrMap,HTMLFormElement:u,DOMParser:h,trustedTypes:g}=o,f=l.prototype,m=Z0(f,"cloneNode"),v=Z0(f,"nextSibling"),_=Z0(f,"childNodes"),b=Z0(f,"parentNode");if(typeof r=="function"){const _t=n.createElement("template");_t.content&&_t.content.ownerDocument&&(n=_t.content.ownerDocument)}let C,w="";const{implementation:S,createNodeIterator:x,createDocumentFragment:y,getElementsByTagName:I}=n,{importNode:E}=t;let R={};e.isSupported=typeof A7=="function"&&typeof b=="function"&&S&&S.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:j,ERB_EXPR:O,TMPLIT_EXPR:$,DATA_ATTR:K,ARIA_ATTR:oe,IS_SCRIPT_OR_DATA:Le,ATTR_WHITESPACE:he}=iO;let{IS_ALLOWED_URI:se}=iO,V=null;const Q=Gt({},[...QP,...OD,...FD,...BD,...JP]);let H=null;const G=Gt({},[...eO,...WD,...tO,...Y0]);let Z=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$e=null,ft=null,Bt=!0,Ce=!0,re=!1,ke=!0,ce=!1,Ie=!1,mt=!1,Ct=!1,Mt=!1,ci=!1,yn=!1,Qs=!0,Dr=!1;const ju="user-content-";let ge=!0,te=!1,ee={},A=null;const F=Gt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let X=null;const U=Gt({},["audio","video","img","source","image","track"]);let fe=null;const Ne=Gt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",Ke="http://www.w3.org/2000/svg",ht="http://www.w3.org/1999/xhtml";let lt=ht,oi=!1,Qt=null;const et=Gt({},[He,Ke,ht],PD);let Vi;const Hi=["application/xhtml+xml","text/html"],xr="text/html";let Ut,pn=null;const Ku=n.createElement("form"),qu=function(ie){return ie instanceof RegExp||ie instanceof Function},Jr=function(ie){if(!(pn&&pn===ie)){if((!ie||typeof ie!="object")&&(ie={}),ie=Zg(ie),Vi=Hi.indexOf(ie.PARSER_MEDIA_TYPE)===-1?Vi=xr:Vi=ie.PARSER_MEDIA_TYPE,Ut=Vi==="application/xhtml+xml"?PD:_1,V="ALLOWED_TAGS"in ie?Gt({},ie.ALLOWED_TAGS,Ut):Q,H="ALLOWED_ATTR"in ie?Gt({},ie.ALLOWED_ATTR,Ut):G,Qt="ALLOWED_NAMESPACES"in ie?Gt({},ie.ALLOWED_NAMESPACES,PD):et,fe="ADD_URI_SAFE_ATTR"in ie?Gt(Zg(Ne),ie.ADD_URI_SAFE_ATTR,Ut):Ne,X="ADD_DATA_URI_TAGS"in ie?Gt(Zg(U),ie.ADD_DATA_URI_TAGS,Ut):U,A="FORBID_CONTENTS"in ie?Gt({},ie.FORBID_CONTENTS,Ut):F,$e="FORBID_TAGS"in ie?Gt({},ie.FORBID_TAGS,Ut):{},ft="FORBID_ATTR"in ie?Gt({},ie.FORBID_ATTR,Ut):{},ee="USE_PROFILES"in ie?ie.USE_PROFILES:!1,Bt=ie.ALLOW_ARIA_ATTR!==!1,Ce=ie.ALLOW_DATA_ATTR!==!1,re=ie.ALLOW_UNKNOWN_PROTOCOLS||!1,ke=ie.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ce=ie.SAFE_FOR_TEMPLATES||!1,Ie=ie.WHOLE_DOCUMENT||!1,Mt=ie.RETURN_DOM||!1,ci=ie.RETURN_DOM_FRAGMENT||!1,yn=ie.RETURN_TRUSTED_TYPE||!1,Ct=ie.FORCE_BODY||!1,Qs=ie.SANITIZE_DOM!==!1,Dr=ie.SANITIZE_NAMED_PROPS||!1,ge=ie.KEEP_CONTENT!==!1,te=ie.IN_PLACE||!1,se=ie.ALLOWED_URI_REGEXP||R7,lt=ie.NAMESPACE||ht,Z=ie.CUSTOM_ELEMENT_HANDLING||{},ie.CUSTOM_ELEMENT_HANDLING&&qu(ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Z.tagNameCheck=ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck),ie.CUSTOM_ELEMENT_HANDLING&&qu(ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Z.attributeNameCheck=ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),ie.CUSTOM_ELEMENT_HANDLING&&typeof ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Z.allowCustomizedBuiltInElements=ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ce&&(Ce=!1),ci&&(Mt=!0),ee&&(V=Gt({},[...JP]),H=[],ee.html===!0&&(Gt(V,QP),Gt(H,eO)),ee.svg===!0&&(Gt(V,OD),Gt(H,WD),Gt(H,Y0)),ee.svgFilters===!0&&(Gt(V,FD),Gt(H,WD),Gt(H,Y0)),ee.mathMl===!0&&(Gt(V,BD),Gt(H,tO),Gt(H,Y0))),ie.ADD_TAGS&&(V===Q&&(V=Zg(V)),Gt(V,ie.ADD_TAGS,Ut)),ie.ADD_ATTR&&(H===G&&(H=Zg(H)),Gt(H,ie.ADD_ATTR,Ut)),ie.ADD_URI_SAFE_ATTR&&Gt(fe,ie.ADD_URI_SAFE_ATTR,Ut),ie.FORBID_CONTENTS&&(A===F&&(A=Zg(A)),Gt(A,ie.FORBID_CONTENTS,Ut)),ge&&(V["#text"]=!0),Ie&&Gt(V,["html","head","body"]),V.table&&(Gt(V,["tbody"]),delete $e.tbody),ie.TRUSTED_TYPES_POLICY){if(typeof ie.TRUSTED_TYPES_POLICY.createHTML!="function")throw Wm('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof ie.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Wm('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=ie.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else C===void 0&&(C=LX(g,i)),C!==null&&typeof w=="string"&&(w=C.createHTML(""));fo&&fo(ie),pn=ie}},ec=Gt({},["mi","mo","mn","ms","mtext"]),Gu=Gt({},["foreignobject","desc","title","annotation-xml"]),Zu=Gt({},["title","style","font","a","script"]),qg=Gt({},OD);Gt(qg,FD),Gt(qg,fX);const Yu=Gt({},BD);Gt(Yu,pX);const yD=function(ie){let Fe=b(ie);(!Fe||!Fe.tagName)&&(Fe={namespaceURI:lt,tagName:"template"});const Qe=_1(ie.tagName),zi=_1(Fe.tagName);return Qt[ie.namespaceURI]?ie.namespaceURI===Ke?Fe.namespaceURI===ht?Qe==="svg":Fe.namespaceURI===He?Qe==="svg"&&(zi==="annotation-xml"||ec[zi]):!!qg[Qe]:ie.namespaceURI===He?Fe.namespaceURI===ht?Qe==="math":Fe.namespaceURI===Ke?Qe==="math"&&Gu[zi]:!!Yu[Qe]:ie.namespaceURI===ht?Fe.namespaceURI===Ke&&!Gu[zi]||Fe.namespaceURI===He&&!ec[zi]?!1:!Yu[Qe]&&(Zu[Qe]||!qg[Qe]):!!(Vi==="application/xhtml+xml"&&Qt[ie.namespaceURI]):!1},$a=function(ie){Bm(e.removed,{element:ie});try{ie.parentNode.removeChild(ie)}catch{ie.remove()}},Om=function(ie,Fe){try{Bm(e.removed,{attribute:Fe.getAttributeNode(ie),from:Fe})}catch{Bm(e.removed,{attribute:null,from:Fe})}if(Fe.removeAttribute(ie),ie==="is"&&!H[ie])if(Mt||ci)try{$a(Fe)}catch{}else try{Fe.setAttribute(ie,"")}catch{}},Fm=function(ie){let Fe,Qe;if(Ct)ie=" "+ie;else{const kr=cX(ie,/^[\r\n\t ]+/);Qe=kr&&kr[0]}Vi==="application/xhtml+xml"&<===ht&&(ie=''+ie+"");const zi=C?C.createHTML(ie):ie;if(lt===ht)try{Fe=new h().parseFromString(zi,Vi)}catch{}if(!Fe||!Fe.documentElement){Fe=S.createDocument(lt,"template",null);try{Fe.documentElement.innerHTML=oi?w:zi}catch{}}const gs=Fe.body||Fe.documentElement;return ie&&Qe&&gs.insertBefore(n.createTextNode(Qe),gs.childNodes[0]||null),lt===ht?I.call(Fe,Ie?"html":"body")[0]:Ie?Fe.documentElement:gs},H0=function(ie){return x.call(ie.ownerDocument||ie,ie,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},Lz=function(ie){return ie instanceof u&&(typeof ie.nodeName!="string"||typeof ie.textContent!="string"||typeof ie.removeChild!="function"||!(ie.attributes instanceof c)||typeof ie.removeAttribute!="function"||typeof ie.setAttribute!="function"||typeof ie.namespaceURI!="string"||typeof ie.insertBefore!="function"||typeof ie.hasChildNodes!="function")},z0=function(ie){return typeof a=="object"?ie instanceof a:ie&&typeof ie=="object"&&typeof ie.nodeType=="number"&&typeof ie.nodeName=="string"},Xl=function(ie,Fe,Qe){R[ie]&&dX(R[ie],zi=>{zi.call(e,Fe,Qe,pn)})},wP=function(ie){let Fe;if(Xl("beforeSanitizeElements",ie,null),Lz(ie))return $a(ie),!0;const Qe=Ut(ie.nodeName);if(Xl("uponSanitizeElement",ie,{tagName:Qe,allowedTags:V}),ie.hasChildNodes()&&!z0(ie.firstElementChild)&&(!z0(ie.content)||!z0(ie.content.firstElementChild))&&tr(/<[/\w]/g,ie.innerHTML)&&tr(/<[/\w]/g,ie.textContent))return $a(ie),!0;if(!V[Qe]||$e[Qe]){if(!$e[Qe]&&yP(Qe)&&(Z.tagNameCheck instanceof RegExp&&tr(Z.tagNameCheck,Qe)||Z.tagNameCheck instanceof Function&&Z.tagNameCheck(Qe)))return!1;if(ge&&!A[Qe]){const zi=b(ie)||ie.parentNode,gs=_(ie)||ie.childNodes;if(gs&&zi){const kr=gs.length;for(let vn=kr-1;vn>=0;--vn)zi.insertBefore(m(gs[vn],!0),v(ie))}}return $a(ie),!0}return ie instanceof l&&!yD(ie)||(Qe==="noscript"||Qe==="noembed"||Qe==="noframes")&&tr(/<\/no(script|embed|frames)/i,ie.innerHTML)?($a(ie),!0):(ce&&ie.nodeType===3&&(Fe=ie.textContent,Fe=ta(Fe,j," "),Fe=ta(Fe,O," "),Fe=ta(Fe,$," "),ie.textContent!==Fe&&(Bm(e.removed,{element:ie.cloneNode()}),ie.textContent=Fe)),Xl("afterSanitizeElements",ie,null),!1)},SP=function(ie,Fe,Qe){if(Qs&&(Fe==="id"||Fe==="name")&&(Qe in n||Qe in Ku))return!1;if(!(Ce&&!ft[Fe]&&tr(K,Fe))){if(!(Bt&&tr(oe,Fe))){if(!H[Fe]||ft[Fe]){if(!(yP(ie)&&(Z.tagNameCheck instanceof RegExp&&tr(Z.tagNameCheck,ie)||Z.tagNameCheck instanceof Function&&Z.tagNameCheck(ie))&&(Z.attributeNameCheck instanceof RegExp&&tr(Z.attributeNameCheck,Fe)||Z.attributeNameCheck instanceof Function&&Z.attributeNameCheck(Fe))||Fe==="is"&&Z.allowCustomizedBuiltInElements&&(Z.tagNameCheck instanceof RegExp&&tr(Z.tagNameCheck,Qe)||Z.tagNameCheck instanceof Function&&Z.tagNameCheck(Qe))))return!1}else if(!fe[Fe]){if(!tr(se,ta(Qe,he,""))){if(!((Fe==="src"||Fe==="xlink:href"||Fe==="href")&&ie!=="script"&&uX(Qe,"data:")===0&&X[ie])){if(!(re&&!tr(Le,ta(Qe,he,"")))){if(Qe)return!1}}}}}}return!0},yP=function(ie){return ie.indexOf("-")>0},LP=function(ie){let Fe,Qe,zi,gs;Xl("beforeSanitizeAttributes",ie,null);const{attributes:kr}=ie;if(!kr)return;const vn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:H};for(gs=kr.length;gs--;){Fe=kr[gs];const{name:Ua,namespaceURI:LD}=Fe;if(Qe=Ua==="value"?Fe.value:hX(Fe.value),zi=Ut(Ua),vn.attrName=zi,vn.attrValue=Qe,vn.keepAttr=!0,vn.forceKeepAttr=void 0,Xl("uponSanitizeAttribute",ie,vn),Qe=vn.attrValue,vn.forceKeepAttr||(Om(Ua,ie),!vn.keepAttr))continue;if(!ke&&tr(/\/>/i,Qe)){Om(Ua,ie);continue}ce&&(Qe=ta(Qe,j," "),Qe=ta(Qe,O," "),Qe=ta(Qe,$," "));const DP=Ut(ie.nodeName);if(SP(DP,zi,Qe)){if(Dr&&(zi==="id"||zi==="name")&&(Om(Ua,ie),Qe=ju+Qe),C&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!LD)switch(g.getAttributeType(DP,zi)){case"TrustedHTML":{Qe=C.createHTML(Qe);break}case"TrustedScriptURL":{Qe=C.createScriptURL(Qe);break}}try{LD?ie.setAttributeNS(LD,Ua,Qe):ie.setAttribute(Ua,Qe),XP(e.removed)}catch{}}}Xl("afterSanitizeAttributes",ie,null)},Dz=function _t(ie){let Fe;const Qe=H0(ie);for(Xl("beforeSanitizeShadowDOM",ie,null);Fe=Qe.nextNode();)Xl("uponSanitizeShadowNode",Fe,null),!wP(Fe)&&(Fe.content instanceof s&&_t(Fe.content),LP(Fe));Xl("afterSanitizeShadowDOM",ie,null)};return e.sanitize=function(_t){let ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Fe,Qe,zi,gs;if(oi=!_t,oi&&(_t=""),typeof _t!="string"&&!z0(_t))if(typeof _t.toString=="function"){if(_t=_t.toString(),typeof _t!="string")throw Wm("dirty is not a string, aborting")}else throw Wm("toString is not a function");if(!e.isSupported)return _t;if(mt||Jr(ie),e.removed=[],typeof _t=="string"&&(te=!1),te){if(_t.nodeName){const Ua=Ut(_t.nodeName);if(!V[Ua]||$e[Ua])throw Wm("root node is forbidden and cannot be sanitized in-place")}}else if(_t instanceof a)Fe=Fm(""),Qe=Fe.ownerDocument.importNode(_t,!0),Qe.nodeType===1&&Qe.nodeName==="BODY"||Qe.nodeName==="HTML"?Fe=Qe:Fe.appendChild(Qe);else{if(!Mt&&!ce&&!Ie&&_t.indexOf("<")===-1)return C&&yn?C.createHTML(_t):_t;if(Fe=Fm(_t),!Fe)return Mt?null:yn?w:""}Fe&&Ct&&$a(Fe.firstChild);const kr=H0(te?_t:Fe);for(;zi=kr.nextNode();)wP(zi)||(zi.content instanceof s&&Dz(zi.content),LP(zi));if(te)return _t;if(Mt){if(ci)for(gs=y.call(Fe.ownerDocument);Fe.firstChild;)gs.appendChild(Fe.firstChild);else gs=Fe;return(H.shadowroot||H.shadowrootmode)&&(gs=E.call(t,gs,!0)),gs}let vn=Ie?Fe.outerHTML:Fe.innerHTML;return Ie&&V["!doctype"]&&Fe.ownerDocument&&Fe.ownerDocument.doctype&&Fe.ownerDocument.doctype.name&&tr(P7,Fe.ownerDocument.doctype.name)&&(vn=" +`+vn),ce&&(vn=ta(vn,j," "),vn=ta(vn,O," "),vn=ta(vn,$," ")),C&&yn?C.createHTML(vn):vn},e.setConfig=function(_t){Jr(_t),mt=!0},e.clearConfig=function(){pn=null,mt=!1},e.isValidAttribute=function(_t,ie,Fe){pn||Jr({});const Qe=Ut(_t),zi=Ut(ie);return SP(Qe,zi,Fe)},e.addHook=function(_t,ie){typeof ie=="function"&&(R[_t]=R[_t]||[],Bm(R[_t],ie))},e.removeHook=function(_t){if(R[_t])return XP(R[_t])},e.removeHooks=function(_t){R[_t]&&(R[_t]=[])},e.removeAllHooks=function(){R={}},e}var Kl=O7();Kl.version;Kl.isSupported;const F7=Kl.sanitize;Kl.setConfig;Kl.clearConfig;Kl.isValidAttribute;const B7=Kl.addHook,W7=Kl.removeHook;Kl.removeHooks;Kl.removeAllHooks;var ot;(function(o){o.inMemory="inmemory",o.vscode="vscode",o.internal="private",o.walkThrough="walkThrough",o.walkThroughSnippet="walkThroughSnippet",o.http="http",o.https="https",o.file="file",o.mailto="mailto",o.untitled="untitled",o.data="data",o.command="command",o.vscodeRemote="vscode-remote",o.vscodeRemoteResource="vscode-remote-resource",o.vscodeManagedRemoteResource="vscode-managed-remote-resource",o.vscodeUserData="vscode-userdata",o.vscodeCustomEditor="vscode-custom-editor",o.vscodeNotebookCell="vscode-notebook-cell",o.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",o.vscodeNotebookCellOutput="vscode-notebook-cell-output",o.vscodeInteractiveInput="vscode-interactive-input",o.vscodeSettings="vscode-settings",o.vscodeWorkspaceTrust="vscode-workspace-trust",o.vscodeTerminal="vscode-terminal",o.vscodeChatSesssion="vscode-chat-editor",o.webviewPanel="webview-panel",o.vscodeWebview="vscode-webview",o.extension="extension",o.vscodeFileResource="vscode-file",o.tmp="tmp",o.vsls="vsls",o.vscodeSourceControl="vscode-scm"})(ot||(ot={}));function yM(o,e){return ze.isUri(o)?yf(o.scheme,e):cM(o,e+":")}function nO(o,...e){return e.some(t=>yM(o,t))}const DX="tkn";class xX{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${ot.vscodeRemoteResource}`}setPreferredWebSchema(e){this._preferredWebSchema=e}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return nt(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const n=this._ports[t],s=this._connectionTokens[t];let r=`path=${encodeURIComponent(e.path)}`;return typeof s=="string"&&(r+=`&${DX}=${encodeURIComponent(s)}`),ze.from({scheme:Tu?this._preferredWebSchema:ot.vscodeRemoteResource,authority:`${i}:${n}`,path:this._remoteResourcesPath,query:r})}}const V7=new xX,kX="vscode-app";class kv{uriToBrowserUri(e){return e.scheme===ot.vscodeRemote?V7.rewrite(e):e.scheme===ot.file&&(Ml||pG===`${ot.vscodeFileResource}://${kv.FALLBACK_AUTHORITY}`)?e.with({scheme:ot.vscodeFileResource,authority:e.authority||kv.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}kv.FALLBACK_AUTHORITY=kX;const H7=new kv;var sO;(function(o){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);o.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(s){let r;typeof s=="string"?r=new URL(s).searchParams:s instanceof URL?r=s.searchParams:ze.isUri(s)&&(r=new URL(s.toString(!0)).searchParams);const a=r==null?void 0:r.get(t);if(a)return e.get(a)}o.getHeadersFromQuery=i;function n(s,r,a){if(!globalThis.crossOriginIsolated)return;const l=r&&a?"3":a?"2":"1";s instanceof URLSearchParams?s.set(t,l):s[t]=l}o.addSearchParam=n})(sO||(sO={}));function LM(o){return Sy(o,0)}function Sy(o,e){switch(typeof o){case"object":return o===null?Ld(349,e):Array.isArray(o)?EX(o,e):NX(o,e);case"string":return DM(o,e);case"boolean":return IX(o,e);case"number":return Ld(o,e);case"undefined":return Ld(937,e);default:return Ld(617,e)}}function Ld(o,e){return(e<<5)-e+o|0}function IX(o,e){return Ld(o?433:863,e)}function DM(o,e){e=Ld(149417,e);for(let t=0,i=o.length;tSy(i,t),e)}function NX(o,e){return e=Ld(181387,e),Object.keys(o).sort().reduce((t,i)=>(t=DM(i,t),Sy(o[i],t)),e)}function VD(o,e,t=32){const i=t-e,n=~((1<>>i)>>>0}function oO(o,e=0,t=o.byteLength,i=0){for(let n=0;n t.toString(16).padStart(2,"0")).join(""):TX((o>>>0).toString(16),e/4)}class yy{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let n=this._buffLen,s=this._leftoverHighSurrogate,r,a;for(s!==0?(r=s,a=-1,s=0):(r=e.charCodeAt(0),a=0);;){let l=r;if(bn(r))if(a+1 >>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Vm(this._h0)+Vm(this._h1)+Vm(this._h2)+Vm(this._h3)+Vm(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,oO(this._buff,this._buffLen),this._buffLen>56&&(this._step(),oO(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=yy._bigBlock32,t=this._buffDV;for(let u=0;u<64;u+=4)e.setUint32(u,t.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)e.setUint32(u,VD(e.getUint32(u-12,!1)^e.getUint32(u-32,!1)^e.getUint32(u-56,!1)^e.getUint32(u-64,!1),1),!1);let i=this._h0,n=this._h1,s=this._h2,r=this._h3,a=this._h4,l,d,c;for(let u=0;u<80;u++)u<20?(l=n&s|~n&r,d=1518500249):u<40?(l=n^s^r,d=1859775393):u<60?(l=n&s|n&r|s&r,d=2400959708):(l=n^s^r,d=3395469782),c=VD(i,5)+l+a+d+e.getUint32(u*4,!1)&4294967295,a=r,r=s,s=VD(n,30),n=i,i=c;this._h0=this._h0+i&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+s&4294967295,this._h3=this._h3+r&4294967295,this._h4=this._h4+a&4294967295}}yy._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Je,getWindows:z7,getWindowsCount:MX,getWindowId:rO,onDidRegisterWindow:xM,onWillUnregisterWindow:AX}=function(){const o=new Map;XZ(Ai,1),o.set(Ai.vscodeWindowId,{window:Ai,disposables:new de});const e=new W,t=new W,i=new W;return{onDidRegisterWindow:e.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:t.event,registerWindow(n){if(o.has(n.vscodeWindowId))return q.None;const s=new de,r={window:n,disposables:s.add(new de)};return o.set(n.vscodeWindowId,r),s.add(je(()=>{o.delete(n.vscodeWindowId),t.fire(n)})),s.add(J(n,Se.BEFORE_UNLOAD,()=>{i.fire(n)})),e.fire(r),s},getWindows(){return o.values()},getWindowsCount(){return o.size},getWindowId(n){return n.vscodeWindowId},hasWindow(n){return o.has(n)},getWindowById(n){return o.get(n)},getWindow(n){var s;const r=n;if(!((s=r==null?void 0:r.ownerDocument)===null||s===void 0)&&s.defaultView)return r.ownerDocument.defaultView.window;const a=n;return a!=null&&a.view?a.view.window:Ai},getDocument(n){return Je(n).document}}}();function $n(o){for(;o.firstChild;)o.firstChild.remove()}class RX{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function J(o,e,t,i){return new RX(o,e,t,i)}function $7(o,e){return function(t){return e(new Pr(o,t))}}function PX(o){return function(e){return o(new gi(e))}}const Wi=function(e,t,i,n){let s=i;return t==="click"||t==="mousedown"?s=$7(Je(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(s=PX(i)),J(e,t,s,n)},OX=function(e,t,i){const n=$7(Je(e),t);return FX(e,n,i)};function FX(o,e,t){return J(o,Ea&&CM.pointerEvents?Se.POINTER_DOWN:Se.MOUSE_DOWN,e,t)}function g_(o,e,t){return F_(o,e,t)}class HD extends M7{constructor(e,t){super(e,t)}}let gw,po;class kM extends SM{cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i)}}class zD{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){nt(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const o=new Map,e=new Map,t=new Map,i=new Map,n=s=>{var r;t.set(s,!1);const a=(r=o.get(s))!==null&&r!==void 0?r:[];for(e.set(s,a),o.set(s,[]),i.set(s,!0);a.length>0;)a.sort(zD.sort),a.shift().execute();i.set(s,!1)};po=(s,r,a=0)=>{const l=rO(s),d=new zD(r,a);let c=o.get(l);return c||(c=[],o.set(l,c)),c.push(d),t.get(l)||(t.set(l,!0),s.requestAnimationFrame(()=>n(l))),d},gw=(s,r,a)=>{const l=rO(s);if(i.get(l)){const d=new zD(r,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(d),d}else return po(s,r,a)}})();function Ly(o){return Je(o).getComputedStyle(o,null)}function ng(o,e){const t=Je(o),i=t.document;if(o!==i.body)return new Rt(o.clientWidth,o.clientHeight);if(Ea&&(t!=null&&t.visualViewport))return new Rt(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new Rt(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Rt(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Rt(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class Ui{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=Ly(e),s=n?n.getPropertyValue(t):"0";return Ui.convertToPixels(e,s)}static getBorderLeftWidth(e){return Ui.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Ui.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Ui.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Ui.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Ui.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Ui.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Ui.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Ui.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Ui.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Ui.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Ui.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Ui.getDimension(e,"margin-bottom","marginBottom")}}class Rt{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Rt(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof Rt?e:new Rt(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}Rt.None=new Rt(0,0);function U7(o){let e=o.offsetParent,t=o.offsetTop,i=o.offsetLeft;for(;(o=o.parentNode)!==null&&o!==o.ownerDocument.body&&o!==o.ownerDocument.documentElement;){t-=o.scrollTop;const n=j7(o)?null:Ly(o);n&&(i-=n.direction!=="rtl"?o.scrollLeft:-o.scrollLeft),o===e&&(i+=Ui.getBorderLeftWidth(o),t+=Ui.getBorderTopWidth(o),t+=o.offsetTop,i+=o.offsetLeft,e=o.offsetParent)}return{left:i,top:t}}function BX(o,e,t){typeof e=="number"&&(o.style.width=`${e}px`),typeof t=="number"&&(o.style.height=`${t}px`)}function gn(o){const e=o.getBoundingClientRect(),t=Je(o);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function WX(o){let e=o,t=1;do{const i=Ly(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function zs(o){const e=Ui.getMarginLeft(o)+Ui.getMarginRight(o);return o.offsetWidth+e}function $D(o){const e=Ui.getBorderLeftWidth(o)+Ui.getBorderRightWidth(o),t=Ui.getPaddingLeft(o)+Ui.getPaddingRight(o);return o.offsetWidth-e-t}function VX(o){const e=Ui.getBorderTopWidth(o)+Ui.getBorderBottomWidth(o),t=Ui.getPaddingTop(o)+Ui.getPaddingBottom(o);return o.offsetHeight-e-t}function kh(o){const e=Ui.getMarginTop(o)+Ui.getMarginBottom(o);return o.offsetHeight+e}function Qn(o,e){return!!(e!=null&&e.contains(o))}function HX(o,e,t){for(;o&&o.nodeType===o.ELEMENT_NODE;){if(o.classList.contains(e))return o;if(t){if(typeof t=="string"){if(o.classList.contains(t))return null}else if(o===t)return null}o=o.parentNode}return null}function UD(o,e,t){return!!HX(o,e,t)}function j7(o){return o&&!!o.host&&!!o.mode}function fw(o){return!!sg(o)}function sg(o){for(var e;o.parentNode;){if(o===((e=o.ownerDocument)===null||e===void 0?void 0:e.body))return null;o=o.parentNode}return j7(o)?o:null}function jo(){let o=fm().activeElement;for(;o!=null&&o.shadowRoot;)o=o.shadowRoot.activeElement;return o}function Dy(o){return o.ownerDocument.activeElement===o}function zX(o){return Qn(o.ownerDocument.activeElement,o)}function fm(){var o;return MX()<=1?document:(o=Array.from(z7()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&o!==void 0?o:document}function $X(){var o,e;return(e=(o=fm().defaultView)===null||o===void 0?void 0:o.window)!==null&&e!==void 0?e:Ai}const IM=new Map;function mr(o=Ai.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),o.appendChild(i),t&&t.add(je(()=>o.removeChild(i))),o===Ai.document.head){const n=new Set;IM.set(i,n);for(const{window:s,disposables:r}of z7()){if(s===Ai)continue;const a=r.add(UX(i,n,s));t==null||t.add(a)}}return i}function UX(o,e,t){var i,n;const s=new de,r=o.cloneNode(!0);t.document.head.appendChild(r),s.add(je(()=>t.document.head.removeChild(r)));for(const a of q7(o))(i=r.sheet)===null||i===void 0||i.insertRule(a.cssText,(n=r.sheet)===null||n===void 0?void 0:n.cssRules.length);return s.add(jX.observe(o,s,{childList:!0})(()=>{r.textContent=o.textContent})),e.add(r),s.add(je(()=>e.delete(r))),s}const jX=new class{constructor(){this.mutationObservers=new Map}observe(o,e,t){let i=this.mutationObservers.get(o);i||(i=new Map,this.mutationObservers.set(o,i));const n=LM(t);let s=i.get(n);if(s)s.users+=1;else{const r=new W,a=new MutationObserver(d=>r.fire(d));a.observe(o,t);const l=s={users:1,observer:a,onDidMutate:r.event};e.add(je(()=>{l.users-=1,l.users===0&&(r.dispose(),a.disconnect(),i==null||i.delete(n),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(o))})),i.set(n,s)}return s.onDidMutate}};let jD=null;function K7(){return jD||(jD=mr()),jD}function q7(o){var e,t;return!((e=o==null?void 0:o.sheet)===null||e===void 0)&&e.rules?o.sheet.rules:!((t=o==null?void 0:o.sheet)===null||t===void 0)&&t.cssRules?o.sheet.cssRules:[]}function pw(o,e,t=K7()){var i,n;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule(`${o} {${e}}`,0);for(const s of(n=IM.get(t))!==null&&n!==void 0?n:[])pw(o,e,s)}}function VI(o,e=K7()){var t,i;if(!e)return;const n=q7(e),s=[];for(let r=0;r =0;r--)(t=e.sheet)===null||t===void 0||t.deleteRule(s[r]);for(const r of(i=IM.get(e))!==null&&i!==void 0?i:[])VI(o,r)}function KX(o){return typeof o.selectorText=="string"}function EM(o){return o instanceof MouseEvent||o instanceof Je(o).MouseEvent}function G7(o){return o instanceof KeyboardEvent||o instanceof Je(o).KeyboardEvent}const Se={CLICK:"click",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function qX(o){const e=o;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const ct={stop:(o,e)=>(o.preventDefault(),e&&o.stopPropagation(),o)};function GX(o){const e=[];for(let t=0;o&&o.nodeType===o.ELEMENT_NODE;t++)e[t]=o.scrollTop,o=o.parentNode;return e}function ZX(o,e){for(let t=0;o&&o.nodeType===o.ELEMENT_NODE;t++)o.scrollTop!==e[t]&&(o.scrollTop=e[t]),o=o.parentNode}class mw extends q{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=sg(e),i=t?t.activeElement:e.ownerDocument.activeElement;return Qn(i,e)}else{const t=e;return Qn(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new W),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new W),this.onDidBlur=this._onDidBlur.event;let t=mw.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},s=()=>{t&&(i=!0,(e instanceof HTMLElement?Je(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{mw.hasFocusWithin(e)!==t&&(t?s():n())},this._register(J(e,Se.FOCUS,n,!0)),this._register(J(e,Se.BLUR,s,!0)),e instanceof HTMLElement&&(this._register(J(e,Se.FOCUS_IN,()=>this._refreshStateHandler())),this._register(J(e,Se.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Pl(o){return new mw(o)}function YX(o,e){return o.after(e),e}function le(o,...e){if(o.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function Z7(o,e){return o.insertBefore(e,o.firstChild),e}function es(o,...e){o.innerText="",le(o,...e)}const XX=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Iv;(function(o){o.HTML="http://www.w3.org/1999/xhtml",o.SVG="http://www.w3.org/2000/svg"})(Iv||(Iv={}));function Y7(o,e,t,...i){const n=XX.exec(e);if(!n)throw new Error("Bad use of emmet");const s=n[1]||"div";let r;return o!==Iv.HTML?r=document.createElementNS(o,s):r=document.createElement(s),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?r[a]=l:a==="selected"?l&&r.setAttribute(a,"true"):r.setAttribute(a,l))}),r.append(...i),r}function pe(o,e,...t){return Y7(Iv.HTML,o,e,...t)}pe.SVG=function(o,e,...t){return Y7(Iv.SVG,o,e,...t)};function QX(o,...e){o?oo(...e):xs(...e)}function oo(...o){for(const e of o)e.style.display="",e.removeAttribute("aria-hidden")}function xs(...o){for(const e of o)e.style.display="none",e.setAttribute("aria-hidden","true")}function aO(o,e){const t=o.devicePixelRatio*e;return Math.max(1,Math.floor(t))/o.devicePixelRatio}function X7(o){Ai.open(o,"_blank","noopener")}function JX(o,e){const t=()=>{e(),i=po(o,t)};let i=po(o,t);return je(()=>i.dispose())}V7.setPreferredWebSchema(/^https:/.test(Ai.location.href)?"https":"http");function du(o){return o?`url('${H7.uriToBrowserUri(o).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function lO(o){return`'${o.replace(/'/g,"%27")}'`}function Bh(o,e){if(o!==void 0){const t=o.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Bh(i[1].trim(),e)),`var(${i[0]}, ${e})`}return o}return e}function eQ(o,e=!1){const t=document.createElement("a");return B7("afterSanitizeAttributes",i=>{for(const n of["href","src"])if(i.hasAttribute(n)){const s=i.getAttribute(n);if(n==="href"&&s.startsWith("#"))continue;if(t.href=s,!o.includes(t.protocol.replace(/:$/,""))){if(e&&n==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(n)}}}),je(()=>{W7("afterSanitizeAttributes")})}const tQ=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class Dd extends W{constructor(){super(),this._subscriptions=new de,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ye.runAndSubscribe(xM,({window:e,disposables:t})=>this.registerListeners(e,t),{window:Ai,disposables:this._subscriptions}))}registerListeners(e,t){t.add(J(e,"keydown",i=>{if(i.defaultPrevented)return;const n=new gi(i);if(!(n.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(n.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(J(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(J(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(J(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(J(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(J(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Dd.instance||(Dd.instance=new Dd),Dd.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class iQ extends q{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(J(this.element,Se.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(J(this.element,Se.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(J(this.element,Se.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(J(this.element,Se.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(J(this.element,Se.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(J(this.element,Se.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(J(this.element,Se.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const nQ=/(? [\w\-]+)?(?:#(? [\w\-]+))?(? (?:\.(?:[\w\-]+))*)(?:@(? (?:[\w\_])+))?/;function vi(o,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const n=nQ.exec(o);if(!n||!n.groups)throw new Error("Bad use of h");const s=n.groups.tag||"div",r=document.createElement(s);n.groups.id&&(r.id=n.groups.id);const a=[];if(n.groups.class)for(const d of n.groups.class.split("."))d!==""&&a.push(d);if(t.className!==void 0)for(const d of t.className.split("."))d!==""&&a.push(d);a.length>0&&(r.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=r),i)for(const d of i)d instanceof HTMLElement?r.appendChild(d):typeof d=="string"?r.append(d):"root"in d&&(Object.assign(l,d),r.appendChild(d.root));for(const[d,c]of Object.entries(t))if(d!=="className")if(d==="style")for(const[u,h]of Object.entries(c))r.style.setProperty(dO(u),typeof h=="number"?h+"px":""+h);else d==="tabIndex"?r.tabIndex=c:r.setAttribute(dO(d),c.toString());return l.root=r,l}function dO(o){return o.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class xy{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=ae.and(i,this.precondition):i=this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};Gs.registerKeybindingRule(n)}}Et.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){zn.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class pm extends xy{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort((s,r)=>r.priority-s.priority),{dispose:()=>{for(let s=0;s {if(a.get(Xe).contextMatchesRules(i??void 0))return n(a,r,t)})}runCommand(e,t){return Rn.runEditorCommand(e,t,this.precondition,(i,n,s)=>this.runEditorCommand(i,n,s))}}class Te extends Rn{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(n){return n.menuId||(n.menuId=N.EditorContext),n.title||(n.title=e.label),n.when=ae.and(e.precondition,n.when),n}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Te.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(vo).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class J7 extends Te{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,n)=>n[0]-i[0]),{dispose:()=>{for(let i=0;i {var r,a;const l=s.get(Xe),d=s.get(bo);if(!l.contextMatchesRules((r=this.desc.precondition)!==null&&r!==void 0?r:void 0)){d.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(a=this.desc.precondition)===null||a===void 0?void 0:a.serialize());return}return this.runEditorCommand(s,n,...t)})}}function ql(o,e){Et.registerCommand(o,function(t,...i){const n=t.get(qe),[s,r]=i;qt(ze.isUri(s)),qt(z.isIPosition(r));const a=t.get(Si).getModel(s);if(a){const l=z.lift(r);return n.invokeFunction(e,a,l,...i.slice(2))}return t.get(Xs).createModelReference(s).then(l=>new Promise((d,c)=>{try{const u=n.invokeFunction(e,l.object.textEditorModel,z.lift(r),i.slice(2));d(u)}catch(u){c(u)}}).finally(()=>{l.dispose()}))})}function we(o){return or.INSTANCE.registerEditorCommand(o),o}function _e(o){const e=new o;return or.INSTANCE.registerEditorAction(e),e}function e8(o){return or.INSTANCE.registerEditorAction(o),o}function sQ(o){or.INSTANCE.registerEditorAction(o)}function At(o,e,t){or.INSTANCE.registerEditorContribution(o,e,t)}var Jf;(function(o){function e(r){return or.INSTANCE.getEditorCommand(r)}o.getEditorCommand=e;function t(){return or.INSTANCE.getEditorActions()}o.getEditorActions=t;function i(){return or.INSTANCE.getEditorContributions()}o.getEditorContributions=i;function n(r){return or.INSTANCE.getEditorContributions().filter(a=>r.indexOf(a.id)>=0)}o.getSomeEditorContributions=n;function s(){return or.INSTANCE.getDiffEditorContributions()}o.getDiffEditorContributions=s})(Jf||(Jf={}));const oQ={EditorCommonContributions:"editor.contributions"};class or{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}or.INSTANCE=new or;xi.add(oQ.EditorCommonContributions,or.INSTANCE);function e0(o){return o.register(),o}const t8=e0(new pm({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:N.MenubarEditMenu,group:"1_do",title:p({},"&&Undo"),order:1},{menuId:N.CommandPalette,group:"",title:p("undo","Undo"),order:1}]}));e0(new Q7(t8,{id:"default:undo",precondition:void 0}));const i8=e0(new pm({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:N.MenubarEditMenu,group:"1_do",title:p({},"&&Redo"),order:2},{menuId:N.CommandPalette,group:"",title:p("redo","Redo"),order:1}]}));e0(new Q7(i8,{id:"default:redo",precondition:void 0}));const rQ=e0(new pm({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:N.MenubarSelectionMenu,group:"1_basic",title:p({},"&&Select All"),order:1},{menuId:N.CommandPalette,group:"",title:p("selectAll","Select All"),order:1}]})),aQ="$initialize";let cO=!1;function HI(o){Tu&&(cO||(cO=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(o.message))}class lQ{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.method=i,this.args=n,this.type=0}}class uO{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class dQ{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=n,this.type=2}}class cQ{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class uQ{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class hQ{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((n,s)=>{this._pendingReplies[i]={resolve:n,reject:s},this._send(new lQ(this._workerId,i,e,t))})}listen(e,t){let i=null;const n=new W({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new dQ(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new uQ(this._workerId,i)),i=null}});return n.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(n=>{this._send(new uO(this._workerId,t,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=OP(n.detail)),this._send(new uO(this._workerId,t,void 0,OP(n)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(n=>{this._send(new cQ(this._workerId,t,n))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i {this._protocol.handleMessage(c)},c=>{n==null||n(c)})),this._protocol=new hQ({sendMessage:(c,u)=>{this._worker.postMessage(c,u)},handleMessage:(c,u)=>{if(typeof i[c]!="function")return Promise.reject(new Error("Missing method "+c+" on main thread host."));try{return Promise.resolve(i[c].apply(i,u))}catch(h){return Promise.reject(h)}},handleEvent:(c,u)=>{if(s8(c)){const h=i[c].call(i,u);if(typeof h!="function")throw new Error(`Missing dynamic event ${c} on main thread host.`);return h}if(n8(c)){const h=i[c];if(typeof h!="function")throw new Error(`Missing event ${c} on main thread host.`);return h}throw new Error(`Malformed event name ${c}`)}}),this._protocol.setWorkerId(this._worker.getId());let s=null;const r=globalThis.require;typeof r<"u"&&typeof r.getConfig=="function"?s=r.getConfig():typeof globalThis.requirejs<"u"&&(s=globalThis.requirejs.s.contexts._.config);const a=Y2(i);this._onModuleLoaded=this._protocol.sendMessage(aQ,[this._worker.getId(),JSON.parse(JSON.stringify(s)),t,a]);const l=(c,u)=>this._request(c,u),d=(c,u)=>this._protocol.listen(c,u);this._lazyProxy=new Promise((c,u)=>{n=u,this._onModuleLoaded.then(h=>{c(fQ(h,l,d))},h=>{u(h),this._onError("Worker failed to load "+t,h)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,n)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,n)},n)})}_onError(e,t){console.error(e),console.info(t)}}function n8(o){return o[0]==="o"&&o[1]==="n"&&el(o.charCodeAt(2))}function s8(o){return/^onDynamic/.test(o)&&el(o.charCodeAt(9))}function fQ(o,e,t){const i=r=>function(){const a=Array.prototype.slice.call(arguments,0);return e(r,a)},n=r=>function(a){return t(r,a)},s={};for(const r of o){if(s8(r)){s[r]=n(r);continue}if(n8(r)){s[r]=t(r,void 0);continue}s[r]=i(r)}return s}function qd(o,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(o,e)}catch(n){nt(n);return}try{return(t=Ai.trustedTypes)===null||t===void 0?void 0:t.createPolicy(o,e)}catch(n){nt(n);return}}const hO=qd("defaultWorkerFactory",{createScriptURL:o=>o});function pQ(o){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",o);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",o);return new Worker(hO?hO.createScriptURL(t):t,{name:o})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function mQ(o){return typeof o.then=="function"}class _Q{constructor(e,t,i,n,s){this.id=t,this.label=i;const r=pQ(i);mQ(r)?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){n(l.data)},a.onmessageerror=s,typeof a.addEventListener=="function"&&a.addEventListener("error",s)})}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(n=>{try{n.postMessage(e,t)}catch(s){nt(s),nt(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:s}))}})}dispose(){var e;(e=this.worker)===null||e===void 0||e.then(t=>t.terminate()),this.worker=null}}class ky{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++ky.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new _Q(e,n,this._label||"anonymous"+n,t,s=>{HI(s),this._webWorkerFailedBeforeError=s,i(s)})}}ky.LAST_WORKER_ID=0;var an;(function(o){o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent"})(an||(an={}));class KD{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t0&&o.getLanguageId(r-1)===n;)r--;return new bQ(o,n,r,s+1,o.getStartOffset(r),o.getEndOffset(s))}class bQ{constructor(e,t,i,n,s,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=r}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Za(o){return(o&3)!==0}class kp{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new KD(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new KD({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new KD({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> `;kp.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> - `;const hO=typeof Buffer<"u";let KD;class Iy{static wrap(e){return hO&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new Iy(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return hO?this.buffer.toString():(KD||(KD=new TextDecoder),KD.decode(this.buffer))}}function tQ(o,e){return o[e+0]<<0>>>0|o[e+1]<<8>>>0}function iQ(o,e,t){o[t+0]=e&255,e=e>>>8,o[t+1]=e&255}function aa(o,e){return o[e]*2**24+o[e+1]*2**16+o[e+2]*2**8+o[e+3]}function la(o,e,t){o[t+3]=e,e=e>>>8,o[t+2]=e,e=e>>>8,o[t+1]=e,e=e>>>8,o[t]=e}function gO(o,e){return o[e]}function fO(o,e,t){o[t]=e}let qD;function s8(){return qD||(qD=new TextDecoder("UTF-16LE")),qD}let GD;function nQ(){return GD||(GD=new TextDecoder("UTF-16BE")),GD}let ZD;function o8(){return ZD||(ZD=U9()?s8():nQ()),ZD}function sQ(o,e,t){const i=new Uint16Array(o.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?oQ(o,e,t):s8().decode(i)}function oQ(o,e,t){const i=[];let n=0;for(let s=0;s =this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i [r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r {const[l,d]=r,[c,u]=a;return l===c||l===u||d===c||d===u},n=(r,a)=>{const l=Math.min(r,a),d=Math.max(r,a);for(let c=0;c 0&&s.push({open:a,close:l})}return s}class aQ{constructor(e,t){this._richEditBracketsBrand=void 0;const i=rQ(t);this.brackets=i.map((n,s)=>new mw(e,s,n.open,n.close,lQ(n.open,n.close,i,s),dQ(n.open,n.close,i,s))),this.forwardRegex=cQ(this.brackets),this.reversedRegex=uQ(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const s of n.open)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,s.length);for(const s of n.close)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,s.length)}}}function r8(o,e,t,i){for(let n=0,s=e.length;n =0&&i.push(a);for(const a of r.close)a.indexOf(o)>=0&&i.push(a)}}function a8(o,e){return o.length-e.length}function Ey(o){if(o.length<=1)return o;const e=[],t=new Set;for(const i of o)t.has(i)||(e.push(i),t.add(i));return e}function lQ(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s=0;r--)n[s++]=i.charCodeAt(r);return o8().decode(n)}let e=null,t=null;return function(n){return e!==n&&(e=n,t=o(e)),t}}();class Nr{static _findPrevBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=i.length-(s.index||0),a=s[0].length,l=n+r;return new k(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,s){const a=EM(i).substring(i.length-s,i.length-n);return this._findPrevBracketInText(e,t,a,n)}static findNextBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=s.index||0,a=s[0].length;if(a===0)return null;const l=n+r;return new k(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,s){const r=i.substring(n,s);return this.findNextBracketInText(e,t,r,n)}}class gQ{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const n=i.charAt(i.length-1);e.push(n)}return iu(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const n=t.findTokenIndexAtOffset(i-1);if(Za(t.getStandardTokenType(n)))return null;const s=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,i-1)+e,a=Nr.findPrevBracketInRange(s,1,r,0,r.length);if(!a)return null;const l=r.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const c=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:l}:null}}function X0(o){return o.global&&(o.lastIndex=0),!0}class fQ{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&X0(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&X0(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&X0(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&X0(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class Df{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=Df._createOpenBracketRegExp(t[0]),n=Df._createCloseBracketRegExp(t[1]);i&&n&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:n})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let s=0,r=this._regExpRules.length;s d.reg?(d.reg.lastIndex=0,d.reg.test(d.text)):!0))return a.action}if(e>=2&&i.length>0&&n.length>0)for(let s=0,r=this._brackets.length;s =2&&i.length>0){for(let s=0,r=this._brackets.length;s "u"?t:s}function mQ(o){return o.replace(/[\[\]]/g,"")}const bi=vt("languageService");class tl{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const c8=[];function Lt(o,e,t){e instanceof tl||(e=new tl(e,[],!!t)),c8.push([o,e])}function mO(){return c8}const qi=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),Ty={JSONContribution:"base.contributions.json"};function _Q(o){return o.length>0&&o.charAt(o.length-1)==="#"?o.substring(0,o.length-1):o}class vQ{constructor(){this._onDidChangeSchema=new H,this.schemasById={}}registerSchema(e,t){this.schemasById[_Q(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const bQ=new vQ;xi.add(Ty.JSONContribution,bQ);const Va={Configuration:"base.contributions.configuration"},Q0="vscode://schemas/settings/resourceLanguage",_O=xi.as(Ty.JSONContribution);class CQ{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new H,this._onDidUpdateConfiguration=new H,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:p("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},_O.registerSchema(Q0,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),_O.registerSchema(Q0,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const n=[];for(const{overrides:s,source:r}of e)for(const a in s)if(t.add(a),cu.test(a)){const l=this.configurationDefaultsOverrides.get(a),d=(i=l==null?void 0:l.valuesSources)!==null&&i!==void 0?i:new Map;if(r)for(const g of Object.keys(s[a]))d.set(g,r);const c={...(l==null?void 0:l.value)||{},...s[a]};this.configurationDefaultsOverrides.set(a,{source:r,value:c,valuesSources:d});const u=mQ(a),h={type:"object",default:c,description:p("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",u),$ref:Q0,defaultDefaultValue:c,source:As(r)?void 0:r,defaultValueSource:r};n.push(..._w(a)),this.configurationProperties[a]=h,this.defaultLanguageConfigurationOverridesNode.properties[a]=h}else{this.configurationDefaultsOverrides.set(a,{value:s[a],source:r});const l=this.configurationProperties[a];l&&(this.updatePropertyDefaultValue(a,l),this.updateSchema(a,l))}this.doRegisterOverrideIdentifiers(n)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(n=>{this.validateAndRegisterProperties(n,t,n.extensionInfo,n.restrictedProperties,void 0,i),this.configurationContributors.push(n),this.registerJSONConfiguration(n)})}validateAndRegisterProperties(e,t=!0,i,n,s=3,r){var a;s=Ao(e.scope)?s:e.scope;const l=e.properties;if(l)for(const c in l){const u=l[c];if(t&&yQ(c,u)){delete l[c];continue}if(u.source=i,u.defaultDefaultValue=l[c].default,this.updatePropertyDefaultValue(c,u),cu.test(c)?u.scope=void 0:(u.scope=Ao(u.scope)?s:u.scope,u.restricted=Ao(u.restricted)?!!(n!=null&&n.includes(c)):u.restricted),l[c].hasOwnProperty("included")&&!l[c].included){this.excludedConfigurationProperties[c]=l[c],delete l[c];continue}else this.configurationProperties[c]=l[c],!((a=l[c].policy)===null||a===void 0)&&a.name&&this.policyConfigurations.set(l[c].policy.name,c);!l[c].deprecationMessage&&l[c].markdownDeprecationMessage&&(l[c].deprecationMessage=l[c].markdownDeprecationMessage),r.add(c)}const d=e.allOf;if(d)for(const c of d)this.validateAndRegisterProperties(c,t,i,n,s,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const n=i.properties;if(n)for(const r in n)this.updateSchema(r,n[r]);const s=i.allOf;s==null||s.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:p("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:Q0};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),p("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let n=i==null?void 0:i.value,s=i==null?void 0:i.source;oo(n)&&(n=t.defaultDefaultValue,s=void 0),oo(n)&&(n=SQ(t.type)),t.default=n,t.defaultValueSource=s}}const u8="\\[([^\\]]+)\\]",vO=new RegExp(u8,"g"),wQ=`^(${u8})+$`,cu=new RegExp(wQ);function _w(o){const e=[];if(cu.test(o)){let t=vO.exec(o);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=vO.exec(o)}}return iu(e)}function SQ(o){switch(Array.isArray(o)?o[0]:o){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const v1=new CQ;xi.add(Va.Configuration,v1);function yQ(o,e){var t,i,n,s;return o.trim()?cu.test(o)?p("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",o):v1.getConfigurationProperties()[o]!==void 0?p("config.property.duplicate","Cannot register '{0}'. This property is already registered.",o):!((t=e.policy)===null||t===void 0)&&t.name&&v1.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?p("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",o,(n=e.policy)===null||n===void 0?void 0:n.name,v1.getPolicyConfigurations().get((s=e.policy)===null||s===void 0?void 0:s.name)):null:p("config.property.empty","Cannot register an empty property")}const LQ={ModesRegistry:"editor.modesRegistry"};class DQ{constructor(){this._onDidChangeLanguages=new H,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new IQ(this,a,l),closing:l}}),s=new VP(a=>{const l=new Set,d=new Set;return{info:new EQ(this,a,l,d),opening:l,openingColorized:d}});for(const[a,l]of i){const d=n.get(a),c=s.get(l);d.closing.add(c.info),c.opening.add(d.info)}const r=t.colorizedBracketPairs?bO(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of r){const d=n.get(a),c=s.get(l);d.closing.add(c.info),c.openingColorized.add(d.info),c.opening.add(d.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...s.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function bO(o){return o.filter(([e,t])=>e!==""&&t!=="")}class h8{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class IQ extends h8{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class EQ extends h8{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var NQ=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},CO=function(o,e){return function(t,i){e(t,i,o)}};class YD{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const si=vt("languageConfigurationService");let $I=class extends Y{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new RQ),this.onDidChangeEmitter=this._register(new H),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(UI));this._register(this.configurationService.onDidChangeConfiguration(n=>{const s=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,l])=>l.some(d=>i.has(d))).map(([a])=>a);if(s)this.configurations.clear(),this.onDidChangeEmitter.fire(new YD(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new YD(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new YD(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=TQ(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};$I=NQ([CO(0,yt),CO(1,bi)],$I);function TQ(o,e,t,i){let n=e.getLanguageConfiguration(o);if(!n){if(!i.isRegisteredLanguageId(o))return new tp(o,{});n=new tp(o,{})}const s=MQ(n.languageId,t),r=f8([n.underlyingConfig,s]);return new tp(n.languageId,r)}const UI={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function MQ(o,e){const t=e.getValue(UI.brackets,{overrideIdentifier:o}),i=e.getValue(UI.colorizedBracketPairs,{overrideIdentifier:o});return{brackets:wO(t),colorizedBracketPairs:wO(i)}}function wO(o){if(Array.isArray(o))return o.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function g8(o,e,t){const i=o.getLineContent(e);let n=ii(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}function ep(o,e,t){o.tokenization.forceTokenization(e);const i=o.tokenization.getLineTokens(e),n=typeof t>"u"?o.getLineMaxColumn(e)-1:t-1;return ky(i,n)}class AQ{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new SO(e,t,++this._order);return this._entries.push(i),this._resolved=null,Ue(()=>{for(let n=0;n e.configuration)))}}function f8(o){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of o)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class SO{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class yO{constructor(e){this.languageId=e}}class RQ extends Y{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new H),this.onDidChange=this._onDidChange.event,this._register(this.register(Uo,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new AQ(e),this._entries.set(e,n));const s=n.register(t,i);return this._onDidChange.fire(new yO(e)),Ue(()=>{s.dispose(),this._onDidChange.fire(new yO(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class tp{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new Df(this.underlyingConfig):null,this.comments=tp._handleComments(this.underlyingConfig),this.characterPair=new kp(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Q2,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new fQ(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new kQ(e,this.underlyingConfig)}getWordDefinition(){return J2(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new aQ(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new gQ(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new JX(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[n,s]=t.blockComment;i.blockCommentStartToken=n,i.blockCommentEndToken=s}return i}}Lt(si,$I,1);class dc{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class LO{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i 0||this.m_modifiedCount>0)&&this.m_changes.push(new dc(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class rl{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,s,r]=rl._getElements(e),[a,l,d]=rl._getElements(t);this._hasStrings=r&&d,this._originalStringElements=n,this._originalElementsOrHash=s,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(rl._isStringArray(t)){const i=new Int32Array(t.length);for(let n=0,s=t.length;n =e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let u;return i<=n?(Yg.Assert(e===t+1,"originalStart should only be one more than originalEnd"),u=[new dc(e,0,i,n-i+1)]):e<=t?(Yg.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),u=[new dc(e,t-e+1,i,0)]):(Yg.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Yg.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}const r=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,n,r,a,s),d=r[0],c=a[0];if(l!==null)return l;if(!s[0]){const u=this.ComputeDiffRecursive(e,d,i,c,s);let h=[];return s[0]?h=[new dc(d+1,t-(d+1)+1,c+1,n-(c+1)+1)]:h=this.ComputeDiffRecursive(d+1,t,c+1,n,s),this.ConcatenateChanges(u,h)}return[new dc(e,t-e+1,i,n-i+1)]}WALKTRACE(e,t,i,n,s,r,a,l,d,c,u,h,g,f,m,v,_,b){let C=null,w=null,S=new DO,D=t,y=i,I=g[0]-v[0]-n,E=-1073741824,P=this.m_forwardHistory.length-1;do{const q=I+e;q===D||q=0&&(d=this.m_forwardHistory[P],e=d[0],D=1,y=d.length-1)}while(--P>=-1);if(C=S.getReverseChanges(),b[0]){let q=g[0]+1,R=v[0]+1;if(C!==null&&C.length>0){const j=C[C.length-1];q=Math.max(q,j.getOriginalEnd()),R=Math.max(R,j.getModifiedEnd())}w=[new dc(q,h-q+1,R,m-R+1)]}else{S=new DO,D=r,y=a,I=g[0]-v[0]-l,E=1073741824,P=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const q=I+s;q===D||q =c[q+1]?(u=c[q+1]-1,f=u-I-l,u>E&&S.MarkNextChange(),E=u+1,S.AddOriginalElement(u+1,f+1),I=q+1-s):(u=c[q-1],f=u-I-l,u>E&&S.MarkNextChange(),E=u,S.AddModifiedElement(u+1,f+1),I=q-1-s),P>=0&&(c=this.m_reverseHistory[P],s=c[0],D=1,y=c.length-1)}while(--P>=-1);w=S.getChanges()}return this.ConcatenateChanges(C,w)}ComputeRecursionPoint(e,t,i,n,s,r,a){let l=0,d=0,c=0,u=0,h=0,g=0;e--,i--,s[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=t-e+(n-i),m=f+1,v=new Int32Array(m),_=new Int32Array(m),b=n-i,C=t-e,w=e-i,S=t-n,y=(C-b)%2===0;v[b]=e,_[C]=t,a[0]=!1;for(let I=1;I<=f/2+1;I++){let E=0,P=0;c=this.ClipDiagonalBound(b-I,I,b,m),u=this.ClipDiagonalBound(b+I,I,b,m);for(let R=c;R<=u;R+=2){R===c||RE+P&&(E=l,P=d),!y&&Math.abs(R-C)<=I-1&&l>=_[R])return s[0]=l,r[0]=d,j<=_[R]&&I<=1448?this.WALKTRACE(b,c,u,w,C,h,g,S,v,_,l,t,s,d,n,r,y,a):null}const q=(E-e+(P-i)-I)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(E,q))return a[0]=!0,s[0]=E,r[0]=P,q>0&&I<=1448?this.WALKTRACE(b,c,u,w,C,h,g,S,v,_,l,t,s,d,n,r,y,a):(e++,i++,[new dc(e,t-e+1,i,n-i+1)]);h=this.ClipDiagonalBound(C-I,I,C,m),g=this.ClipDiagonalBound(C+I,I,C,m);for(let R=h;R<=g;R+=2){R===h||R =_[R+1]?l=_[R+1]-1:l=_[R-1],d=l-(R-C)-S;const j=l;for(;l>e&&d>i&&this.ElementsAreEqual(l,d);)l--,d--;if(_[R]=l,y&&Math.abs(R-b)<=I&&l<=v[R])return s[0]=l,r[0]=d,j>=v[R]&&I<=1448?this.WALKTRACE(b,c,u,w,C,h,g,S,v,_,l,t,s,d,n,r,y,a):null}if(I<=1447){let R=new Int32Array(u-c+2);R[0]=b-c+1,Xg.Copy2(v,c,R,1,u-c+1),this.m_forwardHistory.push(R),R=new Int32Array(g-h+2),R[0]=C-h+1,Xg.Copy2(_,h,R,1,g-h+1),this.m_reverseHistory.push(R)}}return this.WALKTRACE(b,c,u,w,C,h,g,S,v,_,l,t,s,d,n,r,y,a)}PrettifyChanges(e){for(let t=0;t 0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength =0;t--){const i=e[t];let n=0,s=0;if(t>0){const u=e[t-1];n=u.originalStart+u.originalLength,s=u.modifiedStart+u.modifiedLength}const r=i.originalLength>0,a=i.modifiedLength>0;let l=0,d=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let u=1;;u++){const h=i.originalStart-u,g=i.modifiedStart-u;if(h d&&(d=m,l=u)}i.originalStart-=l,i.modifiedStart-=l;const c=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],c)){e[t-1]=c[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&g>l&&(l=g,d=u,c=h)}return l>0?[d,c]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let s=0;s=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){const s=this._OriginalRegionIsBoundary(e,t)?1:0,r=this._ModifiedRegionIsBoundary(i,n)?1:0;return s+r}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return Xg.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],Xg.Copy(t,1,n,e.length,t.length-1),n}else{const n=new Array(e.length+t.length);return Xg.Copy(e,0,n,0,e.length),Xg.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,i){if(Yg.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Yg.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const n=e.originalStart;let s=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new dc(n,s,r,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e 255?255:o|0}function Qg(o){return o<0?0:o>4294967295?4294967295:o|0}class OQ{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Qg(e);const i=this.values,n=this.prefixSum,s=t.length;return s===0?!1:(this.values=new Uint32Array(i.length+s),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+s),this.values.set(t,e),e-1 =0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Qg(e),t=Qg(t),this.values[e]===t?!1:(this.values[e]=t,e-1 =i.length)return!1;const s=i.length-e;return t>=s&&(t=s),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1 =0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Qg(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,s=0,r=0;for(;t<=i;)if(n=t+(i-t)/2|0,s=this.prefixSum[n],r=s-this.values[n],e =s)t=n+1;else break;return new p8(n,e-r)}}class FQ{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new p8(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=sy(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e 0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+i;for(let s=0;s=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class bw{constructor(){this._actual=new _m(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class WQ{constructor(e,t,i){const n=new Uint8Array(e*t);for(let s=0,r=e*t;s t&&(t=l),a>i&&(i=a),d>i&&(i=d)}t++,i++;const n=new WQ(i,t,0);for(let s=0,r=e.length;s =this._maxCharCode?0:this._states.get(e,t)}}let XD=null;function HQ(){return XD===null&&(XD=new VQ([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),XD}let zm=null;function zQ(){if(zm===null){zm=new _m(0);const o=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;t n);if(n>0){const a=t.charCodeAt(n-1),l=t.charCodeAt(r);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&r--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:r+2},url:t.substring(n,r+1)}}static computeLinks(e,t=HQ()){const i=zQ(),n=[];for(let s=1,r=e.getLineCount();s<=r;s++){const a=e.getLineContent(s),l=a.length;let d=0,c=0,u=0,h=1,g=!1,f=!1,m=!1,v=!1;for(;d =0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}jI.INSTANCE=new jI;class UQ extends _m{constructor(e){super(0);for(let t=0,i=e.length;t(e.hasOwnProperty(t)||(e[t]=o(t)),e[t])}const mr=jQ(o=>new UQ(o));var Ko;(function(o){o[o.Left=1]="Left",o[o.Center=2]="Center",o[o.Right=4]="Right",o[o.Full=7]="Full"})(Ko||(Ko={}));var Wh;(function(o){o[o.Left=1]="Left",o[o.Right=2]="Right"})(Wh||(Wh={}));var co;(function(o){o[o.Inline=1]="Inline",o[o.Gutter=2]="Gutter"})(co||(co={}));var Sa;(function(o){o[o.Both=0]="Both",o[o.Right=1]="Right",o[o.Left=2]="Left",o[o.None=3]="None"})(Sa||(Sa={}));class b1{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,e.tabSize|0),e.indentSize==="tabSize"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,e.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!e.insertSpaces,this.defaultEOL=e.defaultEOL|0,this.trimAutoWhitespace=!!e.trimAutoWhitespace,this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&zo(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class Ev{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function KQ(o){return o&&typeof o.read=="function"}class QD{constructor(e,t,i,n,s,r){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=n,this.isAutoWhitespaceEdit=s,this._isTracked=r}}class qQ{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class GQ{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function ZQ(o){return!o.isTooLargeForSyncing()&&!o.isForSimpleWidget}const YQ=999;class dh{constructor(e,t,i,n){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=n}parseSearchRequest(){if(this.searchString==="")return null;let e;this.isRegex?e=XQ(this.searchString):e=this.searchString.indexOf(` -`)>=0;let t=null;try{t=g7(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new qQ(t,this.wordSeparators?mr(this.wordSeparators):null,i?this.searchString:null)}}function XQ(o){if(!o||o.length===0)return!1;for(let e=0,t=o.length;e =t)break;const n=o.charCodeAt(e);if(n===110||n===114||n===87)return!0}}return!1}function _h(o,e,t){if(!t)return new Ev(o,null);const i=[];for(let n=0,s=e.length;n >0);t[s]>=e?n=s-1:t[s+1]>=e?(i=s,n=s):i=s+1}return i+1}}class J0{static findMatches(e,t,i,n,s){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new xf(r.wordSeparators,r.regex),n,s):this._doFindMatchesLineByLine(e,i,r,n,s):[]}static _getMultilineMatchRange(e,t,i,n,s,r){let a,l=0;n?(l=n.findLineFeedCountBeforeOffset(s),a=t+s+l):a=t+s;let d;if(n){const g=n.findLineFeedCountBeforeOffset(s+r.length)-l;d=a+r.length+g}else d=a+r.length;const c=e.getPositionAt(a),u=e.getPositionAt(d);return new k(c.lineNumber,c.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,i,n,s){const r=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r -`?new xO(a):null,d=[];let c=0,u;for(i.reset(0);u=i.next(a);)if(d[c++]=_h(this._getMultilineMatchRange(e,r,a,l,u.index,u[0]),u,n),c>=s)return d;return d}static _doFindMatchesLineByLine(e,t,i,n,s){const r=[];let a=0;if(t.startLineNumber===t.endLineNumber){const d=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,d,t.startLineNumber,t.startColumn-1,a,r,n,s),r}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,r,n,s);for(let d=t.startLineNumber+1;d=l))return s;return s}const c=new xf(e.wordSeparators,e.regex);let u;c.reset(0);do if(u=c.next(t),u&&(r[s++]=_h(new k(i,u.index+1+n,i,u.index+1+u[0].length+n),u,a),s>=l))return s;while(u);return s}static findNextMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new xf(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindNextMatchMultiline(e,i,r,n):this._doFindNextMatchLineByLine(e,i,r,n)}static _doFindNextMatchMultiline(e,t,i,n){const s=new $(t.lineNumber,1),r=e.getOffsetAt(s),a=e.getLineCount(),l=e.getValueInRange(new k(s.lineNumber,s.column,a,e.getLineMaxColumn(a)),1),d=e.getEOL()===`\r -`?new xO(l):null;i.reset(t.column-1);const c=i.next(l);return c?_h(this._getMultilineMatchRange(e,r,l,d,c.index,c[0]),c,n):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new $(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r),l=this._findFirstMatchInLine(i,a,r,t.column,n);if(l)return l;for(let d=1;d<=s;d++){const c=(r+d-1)%s,u=e.getLineContent(c+1),h=this._findFirstMatchInLine(i,u,c+1,1,n);if(h)return h}return null}static _findFirstMatchInLine(e,t,i,n,s){e.reset(n-1);const r=e.next(t);return r?_h(new k(i,r.index+1,i,r.index+1+r[0].length),r,s):null}static findPreviousMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new xf(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,n):this._doFindPreviousMatchLineByLine(e,i,r,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const s=this._doFindMatchesMultiline(e,new k(1,1,t.lineNumber,t.column),i,n,10*YQ);if(s.length>0)return s[s.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new $(r,e.getLineMaxColumn(r)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,r,n);if(l)return l;for(let d=1;d<=s;d++){const c=(s+r-d-1)%s,u=e.getLineContent(c+1),h=this._findLastMatchInLine(i,u,c+1,n);if(h)return h}return null}static _findLastMatchInLine(e,t,i,n){let s=null,r;for(e.reset(0);r=e.next(t);)s=_h(new k(i,r.index+1,i,r.index+1+r[0].length),r,n);return s}}function QQ(o,e,t,i,n){if(i===0)return!0;const s=e.charCodeAt(i-1);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i);if(o.get(r)!==0)return!0}return!1}function JQ(o,e,t,i,n){if(i+n===t)return!0;const s=e.charCodeAt(i+n);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i+n-1);if(o.get(r)!==0)return!0}return!1}function NM(o,e,t,i,n){return QQ(o,e,t,i,n)&&JQ(o,e,t,i,n)}class xf{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const n=i.index,s=i[0].length;if(n===this._prevMatchStartIndex&&s===this._prevMatchLength){if(s===0){cw(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=s,!this._wordSeparators||NM(this._wordSeparators,e,t,n,s))return i}while(i);return null}}class TM{static computeUnicodeHighlights(e,t,i){const n=i?i.startLineNumber:1,s=i?i.endLineNumber:e.getLineCount(),r=new kO(t),a=r.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${eJ(Array.from(a))}`,"g");const d=new xf(null,l),c=[];let u=!1,h,g=0,f=0,m=0;e:for(let v=n,_=s;v<=_;v++){const b=e.getLineContent(v),C=b.length;d.reset(0);do if(h=d.next(b),h){let w=h.index,S=h.index+h[0].length;if(w>0){const E=b.charCodeAt(w-1);bn(E)&&w--}if(S+1 =1e3){u=!0;break e}c.push(new k(v,w+1,v,S+1))}}while(h)}return{ranges:c,hasMore:u,ambiguousCharacterCount:g,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:m}}static computeUnicodeHighlightReason(e,t){const i=new kO(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const s=e.codePointAt(0),r=i.ambiguousCharacters.getPrimaryConfusable(s),a=eg.getLocales().filter(l=>!eg.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(s));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function eJ(o,e){return`[${jo(o.map(i=>String.fromCodePoint(i)).join(""))}]`}class kO{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=eg.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Il.codePoints)IO(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,s=!1;if(t)for(const r of t){const a=r.codePointAt(0),l=Jb(r);n=n||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!Il.isInvisibleCharacter(a)&&(s=!0)}return!n&&s?0:this.options.invisibleCharacters&&!IO(e)&&Il.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function IO(o){return o===" "||o===` -`||o===" "}class C1{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class m8{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class ut{static addRange(e,t){let i=0;for(;i t))return new ut(e,t)}static ofLength(e){return new ut(0,e)}static ofStartAndLength(e,t){return new ut(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new Ci(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new ut(this.start+e,this.endExclusive+e)}deltaStart(e){return new ut(this.start+e,this.endExclusive)}deltaEnd(e){return new ut(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e =e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Ci(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Ci(`Invalid clipping range: ${this.toString()}`);return e =this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t e.toString()).join(", ")}intersectsStrict(e){let t=0;for(;t e+t.length,0)}}function Nv(o,e,t){const i=tJ(o,e);if(i!==-1)return o[i]}function tJ(o,e,t=o.length-1){for(let i=t;i>=0;i--){const n=o[i];if(e(n))return i}return-1}function Ep(o,e){const t=Tv(o,e);return t===-1?void 0:o[t]}function Tv(o,e,t=0,i=o.length){let n=t,s=i;for(;n 0&&(t=n)}return t}function nJ(o,e){if(o.length===0)return;let t=o[0];for(let i=1;i=0&&(t=n)}return t}function sJ(o,e){return AM(o,(t,i)=>-e(t,i))}function oJ(o,e){if(o.length===0)return-1;let t=0;for(let i=1;i 0&&(t=i)}return t}function rJ(o,e){for(const t of o){const i=e(t);if(i!==void 0)return i}}let wt=class rd{static fromRange(e){return new rd(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new rd(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new va(e[0].slice());for(let i=1;i t)throw new Ci(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e n.endLineNumberExclusive>=e.startLineNumber),i=Tv(this._normalizedRanges,n=>n.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const n=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,n)}}contains(e){const t=Ep(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=Ep(this._normalizedRanges,i=>i.startLineNumber e.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,n=0,s=null;for(;i =r.startLineNumber?s=new wt(s.startLineNumber,Math.max(s.endLineNumberExclusive,r.endLineNumberExclusive)):(t.push(s),s=r)}return s!==null&&t.push(s),new va(t)}subtractFrom(e){const t=Mv(this._normalizedRanges,r=>r.endLineNumberExclusive>=e.startLineNumber),i=Tv(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new va([e]);const n=[];let s=e.startLineNumber;for(let r=t;rs&&n.push(new wt(s,a.startLineNumber)),s=a.endLineNumberExclusive}return s e.toString()).join(", ")}getIntersection(e){const t=[];let i=0,n=0;for(;i t.delta(e)))}}class Ol{static inverse(e,t,i){const n=[];let s=1,r=1;for(const l of e){const d=new _r(new wt(s,l.original.startLineNumber),new wt(r,l.modified.startLineNumber),void 0);d.modified.isEmpty||n.push(d),s=l.original.endLineNumberExclusive,r=l.modified.endLineNumberExclusive}const a=new _r(new wt(s,t+1),new wt(r,i+1),void 0);return a.modified.isEmpty||n.push(a),n}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Ol(this.modified,this.original)}join(e){return new Ol(this.original.join(e.original),this.modified.join(e.modified))}}class _r extends Ol{constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new _r(this.modified,this.original,(e=this.innerChanges)===null||e===void 0?void 0:e.map(t=>t.flip()))}}class uu{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new uu(this.modifiedRange,this.originalRange)}}const aJ=3;class lJ{computeDiff(e,t,i){var n;const r=new uJ(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),a=[];let l=null;for(const d of r.changes){let c;d.originalEndLineNumber===0?c=new wt(d.originalStartLineNumber+1,d.originalStartLineNumber+1):c=new wt(d.originalStartLineNumber,d.originalEndLineNumber+1);let u;d.modifiedEndLineNumber===0?u=new wt(d.modifiedStartLineNumber+1,d.modifiedStartLineNumber+1):u=new wt(d.modifiedStartLineNumber,d.modifiedEndLineNumber+1);let h=new _r(c,u,(n=d.charChanges)===null||n===void 0?void 0:n.map(g=>new uu(new k(g.originalStartLineNumber,g.originalStartColumn,g.originalEndLineNumber,g.originalEndColumn),new k(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn))));l&&(l.modified.endLineNumberExclusive===h.modified.startLineNumber||l.original.endLineNumberExclusive===h.original.startLineNumber)&&(h=new _r(l.original.join(h.original),l.modified.join(h.modified),l.innerChanges&&h.innerChanges?l.innerChanges.concat(h.innerChanges):void 0),a.pop()),a.push(h),l=h}return Dv(()=>D7(a,(d,c)=>c.original.startLineNumber-d.original.endLineNumberExclusive===c.modified.startLineNumber-d.modified.endLineNumberExclusive&&d.original.endLineNumberExclusive (e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class ip{constructor(e,t,i,n,s,r,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=s,this.modifiedStartColumn=r,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),s=t.getStartColumn(e.originalStart),r=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),d=i.getStartColumn(e.modifiedStart),c=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),u=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new ip(n,s,r,a,l,d,c,u)}}function cJ(o){if(o.length<=1)return o;const e=[o[0]];let t=e[0];for(let i=1,n=o.length;i 0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&s()){const g=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),f=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(g.getElements().length>0&&f.getElements().length>0){let m=_8(g,f,s,!0).changes;a&&(m=cJ(m)),h=[];for(let v=0,_=m.length;v<_;v++)h.push(ip.createFromDiffChange(m[v],g,f))}}return new B_(l,d,c,u,h)}}class uJ{constructor(e,t,i){this.shouldComputeCharChanges=i.shouldComputeCharChanges,this.shouldPostProcessCharChanges=i.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=i.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=i.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new EO(e),this.modified=new EO(t),this.continueLineDiff=NO(i.maxComputationTime),this.continueCharDiff=NO(i.maxComputationTime===0?0:Math.min(i.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const e=_8(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,i=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){const a=[];for(let l=0,d=t.length;l 1&&m>1;){const v=h.charCodeAt(f-2),_=g.charCodeAt(m-2);if(v!==_)break;f--,m--}(f>1||m>1)&&this._pushTrimWhitespaceCharChange(n,s+1,1,f,r+1,1,m)}{let f=qI(h,1),m=qI(g,1);const v=h.length+1,_=g.length+1;for(;f !0;const e=Date.now();return()=>Date.now()-e {i.push(Fn.fromOffsetPairs(n?n.getEndExclusives():fl.zero,s?s.getStarts():new fl(t,(n?n.seq2Range.endExclusive-n.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new Fn(new ut(e.offset1,t.offset1),new ut(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Fn(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Fn(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new Fn(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new Fn(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new Fn(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new Fn(t,i)}getStarts(){return new fl(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new fl(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class fl{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}}fl.zero=new fl(0,0);fl.max=new fl(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class Av{isValid(){return!0}}Av.instance=new Av;class hJ{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new Ci("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime 0&&m>0&&r.get(f-1,m-1)===3&&(b+=a.get(f-1,m-1)),b+=n?n(f,m):1):b=-1;const C=Math.max(v,_,b);if(C===b){const w=f>0&&m>0?a.get(f-1,m-1):0;a.set(f,m,w+1),r.set(f,m,3)}else C===v?(a.set(f,m,0),r.set(f,m,1)):C===_&&(a.set(f,m,0),r.set(f,m,2));s.set(f,m,C)}const l=[];let d=e.length,c=t.length;function u(f,m){(f+1!==d||m+1!==c)&&l.push(new Fn(new ut(f+1,d),new ut(m+1,c))),d=f,c=m}let h=e.length-1,g=t.length-1;for(;h>=0&&g>=0;)r.get(h,g)===3?(u(h,g),h--,g--):r.get(h,g)===1?h--:g--;return u(-1,-1),l.reverse(),new Rd(l,!1)}}class v8{compute(e,t,i=Av.instance){if(e.length===0||t.length===0)return Rd.trivial(e,t);const n=e,s=t;function r(m,v){for(;m n.length||w>s.length)continue;const S=r(C,w);l.set(c,S);const D=C===_?d.get(c+1):d.get(c-1);if(d.set(c,S!==C?new TO(D,C,w,S-C):D),l.get(c)===n.length&&l.get(c)-c===s.length)break e}}let u=d.get(c);const h=[];let g=n.length,f=s.length;for(;;){const m=u?u.x+u.length:0,v=u?u.y+u.length:0;if((m!==g||v!==f)&&h.push(new Fn(new ut(m,g),new ut(v,f))),!u)break;g=u.x,f=u.y,u=u.prev}return h.reverse(),new Rd(h,!1)}}class TO{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class fJ{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class pJ{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var MO,AO;class mJ{constructor(e,t){this.uri=e,this.value=t}}function _J(o){return Array.isArray(o)}class Gi{constructor(e,t){if(this[MO]="ResourceMap",e instanceof Gi)this.map=new Map(e.map),this.toKey=t??Gi.defaultToKey;else if(_J(e)){this.map=new Map,this.toKey=t??Gi.defaultToKey;for(const[i,n]of e)this.set(i,n)}else this.map=new Map,this.toKey=e??Gi.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new mJ(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))===null||t===void 0?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(const[i,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(MO=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}Gi.defaultToKey=o=>o.toString();class vJ{constructor(){this[AO]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,i!==0&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const s={value:i.key,done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const s={value:i.value,done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const s={value:[i.key,i.value],done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}[(AO=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;const i=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(i.previous=n,n.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;const i=e.next,n=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=n,n.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class Pu extends vJ{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class bJ{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class RM{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}class ww{constructor(e,t,i){this.lines=e,this.considerWhitespaceChanges=i,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let n=!1;t.start>0&&t.endExclusive>=e.length&&(t=new ut(t.start-1,t.endExclusive),n=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let s=this.lineRange.start;s String.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=PO(e>0?this.elements[e-1]:-1),i=PO(e i<=e);return new $(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return k.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!ex(this.elements[e]))return;let t=e;for(;t>0&&ex(this.elements[t-1]);)t--;let i=e;for(;i r<=e.start))!==null&&t!==void 0?t:0,s=(i=iJ(this.firstCharOffsetByLine,r=>e.endExclusive<=r))!==null&&i!==void 0?i:this.elements.length;return new ut(n,s)}}function ex(o){return o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57}const CJ={0:0,1:0,2:0,3:10,4:2,5:3,6:3,7:10,8:10};function RO(o){return CJ[o]}function PO(o){return o===10?8:o===13?7:GI(o)?6:o>=97&&o<=122?0:o>=65&&o<=90?1:o>=48&&o<=57?2:o===-1?3:o===44||o===59?5:4}function wJ(o,e,t,i,n,s){let{moves:r,excludedChanges:a}=yJ(o,e,t,s);if(!s.isValid())return[];const l=o.filter(c=>!a.has(c)),d=LJ(l,i,n,e,t,s);return Ak(r,d),r=DJ(r),r=r.filter(c=>{const u=c.original.toOffsetRange().slice(e).map(g=>g.trim());return u.join(` -`).length>=15&&SJ(u,g=>g.length>=2)>=2}),r=xJ(o,r),r}function SJ(o,e){let t=0;for(const i of o)e(i)&&t++;return t}function yJ(o,e,t,i){const n=[],s=o.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new Np(l.original,e,l)),r=new Set(o.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new Np(l.modified,t,l))),a=new Set;for(const l of s){let d=-1,c;for(const u of r){const h=l.computeSimilarity(u);h>d&&(d=h,c=u)}if(d>.9&&c&&(r.delete(c),n.push(new Ol(l.range,c.range)),a.add(l.source),a.add(c.source)),!i.isValid())return{moves:n,excludedChanges:a}}return{moves:n,excludedChanges:a}}function LJ(o,e,t,i,n,s){const r=[],a=new RM;for(const h of o)for(let g=h.original.startLineNumber;g h.modified.startLineNumber,Td));for(const h of o){let g=[];for(let f=h.modified.startLineNumber;f {for(const w of g)if(w.originalLineRange.endLineNumberExclusive+1===b.endLineNumberExclusive&&w.modifiedLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive){w.originalLineRange=new wt(w.originalLineRange.startLineNumber,b.endLineNumberExclusive),w.modifiedLineRange=new wt(w.modifiedLineRange.startLineNumber,v.endLineNumberExclusive),_.push(w);return}const C={modifiedLineRange:v,originalLineRange:b};l.push(C),_.push(C)}),g=_}if(!s.isValid())return[]}l.sort(O9(cr(h=>h.modifiedLineRange.length,Td)));const d=new va,c=new va;for(const h of l){const g=h.modifiedLineRange.startLineNumber-h.originalLineRange.startLineNumber,f=d.subtractFrom(h.modifiedLineRange),m=c.subtractFrom(h.originalLineRange).getWithDelta(g),v=f.getIntersection(m);for(const _ of v.ranges){if(_.length<3)continue;const b=_,C=_.delta(-g);r.push(new Ol(C,b)),d.addRange(b),c.addRange(C)}}r.sort(cr(h=>h.original.startLineNumber,Td));const u=new t0(o);for(let h=0;h D.original.startLineNumber<=g.original.startLineNumber),m=Ep(o,D=>D.modified.startLineNumber<=g.modified.startLineNumber),v=Math.max(g.original.startLineNumber-f.original.startLineNumber,g.modified.startLineNumber-m.modified.startLineNumber),_=u.findLastMonotonous(D=>D.original.startLineNumber D.modified.startLineNumber i.length||y>n.length||d.contains(y)||c.contains(D)||!OO(i[D-1],n[y-1],s))break}w>0&&(c.addRange(new wt(g.original.startLineNumber-w,g.original.startLineNumber)),d.addRange(new wt(g.modified.startLineNumber-w,g.modified.startLineNumber)));let S;for(S=0;S i.length||y>n.length||d.contains(y)||c.contains(D)||!OO(i[D-1],n[y-1],s))break}S>0&&(c.addRange(new wt(g.original.endLineNumberExclusive,g.original.endLineNumberExclusive+S)),d.addRange(new wt(g.modified.endLineNumberExclusive,g.modified.endLineNumberExclusive+S))),(w>0||S>0)&&(r[h]=new Ol(new wt(g.original.startLineNumber-w,g.original.endLineNumberExclusive+S),new wt(g.modified.startLineNumber-w,g.modified.endLineNumberExclusive+S)))}return r}function OO(o,e,t){if(o.trim()===e.trim())return!0;if(o.length>300&&e.length>300)return!1;const n=new v8().compute(new ww([o],new ut(0,1),!1),new ww([e],new ut(0,1),!1),t);let s=0;const r=Fn.invert(n.diffs,o.length);for(const c of r)c.seq1Range.forEach(u=>{GI(o.charCodeAt(u))||s++});function a(c){let u=0;for(let h=0;h e.length?o:e);return s/l>.6&&l>10}function DJ(o){if(o.length===0)return o;o.sort(cr(t=>t.original.startLineNumber,Td));const e=[o[0]];for(let t=1;t =0&&r>=0&&s+r<=2){e[e.length-1]=i.join(n);continue}e.push(n)}return e}function xJ(o,e){const t=new t0(o);return e=e.filter(i=>{const n=t.findLastMonotonous(a=>a.original.startLineNumber a.modified.startLineNumber 0&&(a=a.delta(d))}n.push(a)}return i.length>0&&n.push(i[i.length-1]),n}function kJ(o,e,t){if(!o.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i 0?t[i-1]:void 0,s=t[i],r=i+1 =i.start&&o.seq2Range.start-r>=n.start&&t.isStronglyEqual(o.seq2Range.start-r,o.seq2Range.endExclusive-r)&&r<100;)r++;r--;let a=0;for(;o.seq1Range.start+a d&&(d=f,l=c)}return o.delta(l)}function IJ(o,e,t){const i=[];for(const n of t){const s=i[i.length-1];if(!s){i.push(n);continue}n.seq1Range.start-s.seq1Range.endExclusive<=2||n.seq2Range.start-s.seq2Range.endExclusive<=2?i[i.length-1]=new Fn(s.seq1Range.join(n.seq1Range),s.seq2Range.join(n.seq2Range)):i.push(n)}return i}function EJ(o,e,t){const i=[];let n;function s(){if(!n)return;const a=n.s1Range.length-n.deleted;n.s2Range.length-n.added,Math.max(n.deleted,n.added)+(n.count-1)>a&&i.push(new Fn(n.s1Range,n.s2Range)),n=void 0}for(const a of t){let l=function(g,f){var m,v,_,b;if(!n||!n.s1Range.containsRange(g)||!n.s2Range.containsRange(f))if(n&&!(n.s1Range.endExclusive 0||e.length>0;){const i=o[0],n=e[0];let s;i&&(!n||i.seq1Range.start 0&&t[t.length-1].seq1Range.endExclusive>=s.seq1Range.start?t[t.length-1]=t[t.length-1].join(s):t.push(s)}return t}function TJ(o,e,t){let i=t;if(i.length===0)return i;let n=0,s;do{s=!1;const r=[i[0]];for(let a=1;a 5||g.seq1Range.length+g.seq2Range.length>5)};const l=i[a],d=r[r.length-1];c(d,l)?(s=!0,r[r.length-1]=r[r.length-1].join(l)):r.push(l)}i=r}while(n++<10&&s);return i}function MJ(o,e,t){let i=t;if(i.length===0)return i;let n=0,s;do{s=!1;const a=[i[0]];for(let l=1;l 5||m.length>500)return!1;const _=o.getText(m).trim();if(_.length>20||_.split(/\r\n|\r|\n/).length>1)return!1;const b=o.countLinesIn(g.seq1Range),C=g.seq1Range.length,w=e.countLinesIn(g.seq2Range),S=g.seq2Range.length,D=o.countLinesIn(f.seq1Range),y=f.seq1Range.length,I=e.countLinesIn(f.seq2Range),E=f.seq2Range.length,P=2*40+50;function q(R){return Math.min(R,P)}return Math.pow(Math.pow(q(b*40+C),1.5)+Math.pow(q(w*40+S),1.5),1.5)+Math.pow(Math.pow(q(D*40+y),1.5)+Math.pow(q(I*40+E),1.5),1.5)>(P**1.5)**1.5*1.3};const d=i[l],c=a[a.length-1];u(c,d)?(s=!0,a[a.length-1]=a[a.length-1].join(d)):a.push(d)}i=a}while(n++<10&&s);const r=[];return Rq(i,(a,l,d)=>{let c=l;function u(_){return _.length>0&&_.trim().length<=3&&l.seq1Range.length+l.seq2Range.length>100}const h=o.extendToFullLines(l.seq1Range),g=o.getText(new ut(h.start,l.seq1Range.start));u(g)&&(c=c.deltaStart(-g.length));const f=o.getText(new ut(l.seq1Range.endExclusive,h.endExclusive));u(f)&&(c=c.deltaEnd(f.length));const m=Fn.fromOffsetPairs(a?a.getEndExclusives():fl.zero,d?d.getStarts():fl.max),v=c.intersect(m);r.push(v)}),r}class WO{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:VO(this.lines[e-1]),i=e===this.lines.length?0:VO(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(` -`)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function VO(o){let e=0;for(;e S===D))return new C1([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new C1([new _r(new wt(1,e.length+1),new wt(1,t.length+1),[new uu(new k(1,1,e.length,e[0].length+1),new k(1,1,t.length,t[0].length+1))])],[],!1);const n=i.maxComputationTimeMs===0?Av.instance:new hJ(i.maxComputationTimeMs),s=!i.ignoreTrimWhitespace,r=new Map;function a(S){let D=r.get(S);return D===void 0&&(D=r.size,r.set(S,D)),D}const l=e.map(S=>a(S.trim())),d=t.map(S=>a(S.trim())),c=new WO(l,e),u=new WO(d,t),h=c.length+u.length<1700?this.dynamicProgrammingDiffing.compute(c,u,n,(S,D)=>e[S]===t[D]?t[D].length===0?.1:1+Math.log(1+t[D].length):.99):this.myersDiffingAlgorithm.compute(c,u);let g=h.diffs,f=h.hitTimeout;g=ZI(c,u,g),g=TJ(c,u,g);const m=[],v=S=>{if(s)for(let D=0;D S.seq1Range.start-_===S.seq2Range.start-b);const D=S.seq1Range.start-_;v(D),_=S.seq1Range.endExclusive,b=S.seq2Range.endExclusive;const y=this.refineDiff(e,t,S,n,s);y.hitTimeout&&(f=!0);for(const I of y.mappings)m.push(I)}v(e.length-_);const C=HO(m,e,t);let w=[];return i.computeMoves&&(w=this.computeMoves(C,e,t,l,d,n,s)),Dv(()=>{function S(y,I){if(y.lineNumber<1||y.lineNumber>I.length)return!1;const E=I[y.lineNumber-1];return!(y.column<1||y.column>E.length+1)}function D(y,I){return!(y.startLineNumber<1||y.startLineNumber>I.length+1||y.endLineNumberExclusive<1||y.endLineNumberExclusive>I.length+1)}for(const y of C){if(!y.innerChanges)return!1;for(const I of y.innerChanges)if(!(S(I.modifiedRange.getStartPosition(),t)&&S(I.modifiedRange.getEndPosition(),t)&&S(I.originalRange.getStartPosition(),e)&&S(I.originalRange.getEndPosition(),e)))return!1;if(!D(y.modified,t)||!D(y.original,e))return!1}return!0}),new C1(C,w,f)}computeMoves(e,t,i,n,s,r,a){return wJ(e,t,i,n,s,r).map(c=>{const u=this.refineDiff(t,i,new Fn(c.original.toOffsetRange(),c.modified.toOffsetRange()),r,a),h=HO(u.mappings,t,i,!0);return new m8(c,h)})}refineDiff(e,t,i,n,s){const r=new ww(e,i.seq1Range,s),a=new ww(t,i.seq2Range,s),l=r.length+a.length<500?this.dynamicProgrammingDiffing.compute(r,a,n):this.myersDiffingAlgorithm.compute(r,a,n);let d=l.diffs;return d=ZI(r,a,d),d=EJ(r,a,d),d=IJ(r,a,d),d=MJ(r,a,d),{mappings:d.map(u=>new uu(r.translateRange(u.seq1Range),a.translateRange(u.seq2Range))),hitTimeout:l.hitTimeout}}}function HO(o,e,t,i=!1){const n=[];for(const s of M9(o.map(r=>AJ(r,e,t)),(r,a)=>r.original.overlapOrTouch(a.original)||r.modified.overlapOrTouch(a.modified))){const r=s[0],a=s[s.length-1];n.push(new _r(r.original.join(a.original),r.modified.join(a.modified),s.map(l=>l.innerChanges[0])))}return Dv(()=>!i&&n.length>0&&n[0].original.startLineNumber!==n[0].modified.startLineNumber?!1:D7(n,(s,r)=>r.original.startLineNumber-s.original.endLineNumberExclusive===r.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExclusive=t[o.modifiedRange.startLineNumber-1].length&&o.originalRange.startColumn-1>=e[o.originalRange.startLineNumber-1].length&&o.originalRange.startLineNumber<=o.originalRange.endLineNumber+n&&o.modifiedRange.startLineNumber<=o.modifiedRange.endLineNumber+n&&(i=1);const s=new wt(o.originalRange.startLineNumber+i,o.originalRange.endLineNumber+1+n),r=new wt(o.modifiedRange.startLineNumber+i,o.modifiedRange.endLineNumber+1+n);return new _r(s,r,[o])}const zO={getLegacy:()=>new lJ,getDefault:()=>new b8};function Hc(o,e){const t=Math.pow(10,e);return Math.round(o*t)/t}class Dt{constructor(e,t,i,n=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=Hc(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class Ar{constructor(e,t,i,n){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Hc(Math.max(Math.min(1,t),0),3),this.l=Hc(Math.max(Math.min(1,i),0),3),this.a=Hc(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=e.a,r=Math.max(t,i,n),a=Math.min(t,i,n);let l=0,d=0;const c=(a+r)/2,u=r-a;if(u>0){switch(d=Math.min(c<=.5?u/(2*c):u/(2-2*c),1),r){case t:l=(i-n)/u+(i 1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:s}=e;let r,a,l;if(i===0)r=a=l=n;else{const d=n<.5?n*(1+i):n+i-n*i,c=2*n-d;r=Ar._hue2rgb(c,d,t+1/3),a=Ar._hue2rgb(c,d,t),l=Ar._hue2rgb(c,d,t-1/3)}return new Dt(Math.round(r*255),Math.round(a*255),Math.round(l*255),s)}}class pl{constructor(e,t,i,n){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Hc(Math.max(Math.min(1,t),0),3),this.v=Hc(Math.max(Math.min(1,i),0),3),this.a=Hc(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=Math.max(t,i,n),r=Math.min(t,i,n),a=s-r,l=s===0?0:a/s;let d;return a===0?d=0:s===t?d=((i-n)/a%6+6)%6:s===i?d=(n-t)/a+2:d=(t-i)/a+4,new pl(Math.round(d*60),l,s,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:s}=e,r=n*i,a=r*(1-Math.abs(t/60%2-1)),l=n-r;let[d,c,u]=[0,0,0];return t<60?(d=r,c=a):t<120?(d=a,c=r):t<180?(c=r,u=a):t<240?(c=a,u=r):t<300?(d=a,u=r):t<=360&&(d=r,u=a),d=Math.round((d+l)*255),c=Math.round((c+l)*255),u=Math.round((u+l)*255),new Dt(d,c,u,s)}}class Q{static fromHex(e){return Q.Format.CSS.parseHex(e)||Q.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:Ar.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:pl.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof Dt)this.rgba=e;else if(e instanceof Ar)this._hsla=e,this.rgba=Ar.toRGBA(e);else if(e instanceof pl)this._hsva=e,this.rgba=pl.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&Dt.equals(this.rgba,e.rgba)&&Ar.equals(this.hsla,e.hsla)&&pl.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=Q._relativeLuminanceForComponent(this.rgba.r),t=Q._relativeLuminanceForComponent(this.rgba.g),i=Q._relativeLuminanceForComponent(this.rgba.b),n=.2126*e+.7152*t+.0722*i;return Hc(n,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t0)for(const n of i){const s=n.filter(d=>d!==void 0),r=s[1],a=s[2];if(!a)continue;let l;if(r==="rgb"){const d=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;l=$O($m(o,n),Um(a,d),!1)}else if(r==="rgba"){const d=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=$O($m(o,n),Um(a,d),!0)}else if(r==="hsl"){const d=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;l=UO($m(o,n),Um(a,d),!1)}else if(r==="hsla"){const d=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=UO($m(o,n),Um(a,d),!0)}else r==="#"&&(l=RJ($m(o,n),r+a));l&&e.push(l)}return e}function OJ(o){return!o||typeof o.getValue!="function"||typeof o.positionAt!="function"?[]:PJ(o)}class FJ extends BQ{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;i this._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const s=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>s&&(i=s,n=!0)}return n?{lineNumber:t,column:i}:e}}class zc{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new FJ(ze.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,i){const n=this._getModel(e);return n?TM.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async computeDiff(e,t,i,n){const s=this._getModel(e),r=this._getModel(t);return!s||!r?null:zc.computeDiff(s,r,i,n)}static computeDiff(e,t,i,n){const s=n==="advanced"?zO.getDefault():zO.getLegacy(),r=e.getLinesContent(),a=t.getLinesContent(),l=s.computeDiff(r,a,i),d=l.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(u){return u.map(h=>{var g;return[h.original.startLineNumber,h.original.endLineNumberExclusive,h.modified.startLineNumber,h.modified.endLineNumberExclusive,(g=h.innerChanges)===null||g===void 0?void 0:g.map(f=>[f.originalRange.startLineNumber,f.originalRange.startColumn,f.originalRange.endLineNumber,f.originalRange.endColumn,f.modifiedRange.startLineNumber,f.modifiedRange.startColumn,f.modifiedRange.endLineNumber,f.modifiedRange.endColumn])]})}return{identical:d,quitEarly:l.hitTimeout,changes:c(l.changes),moves:l.moves.map(u=>[u.lineRangeMapping.original.startLineNumber,u.lineRangeMapping.original.endLineNumberExclusive,u.lineRangeMapping.modified.startLineNumber,u.lineRangeMapping.modified.endLineNumberExclusive,c(u.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),n=t.getLineCount();if(i!==n)return!1;for(let s=1;s<=i;s++){const r=e.getLineContent(s),a=t.getLineContent(s);if(r!==a)return!1}return!0}async computeMoreMinimalEdits(e,t,i){const n=this._getModel(e);if(!n)return t;const s=[];let r;t=t.slice(0).sort((l,d)=>{if(l.range&&d.range)return k.compareRangesUsingStarts(l.range,d.range);const c=l.range?0:1,u=d.range?0:1;return c-u});let a=0;for(let l=1;l zc._diffLimit){s.push({range:l,text:d});continue}const h=PQ(u,d,i),g=n.offsetAt(k.lift(l).getStartPosition());for(const f of h){const m=n.positionAt(g+f.originalStart),v=n.positionAt(g+f.originalStart+f.originalLength),_={text:d.substr(f.modifiedStart,f.modifiedLength),range:{startLineNumber:m.lineNumber,startColumn:m.column,endLineNumber:v.lineNumber,endColumn:v.column}};n.getValueInRange(_.range)!==_.text&&s.push(_)}}return typeof r=="number"&&s.push({eol:r,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),s}async computeLinks(e){const t=this._getModel(e);return t?$Q(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?OJ(t):null}async textualSuggest(e,t,i,n){const s=new ds,r=new RegExp(i,n),a=new Set;e:for(const l of e){const d=this._getModel(l);if(d){for(const c of d.words(r))if(!(c===t||!isNaN(Number(c)))&&(a.add(c),a.size>zc._suggestionsLimit))break e}}return{words:Array.from(a),duration:s.elapsed()}}async computeWordRanges(e,t,i,n){const s=this._getModel(e);if(!s)return Object.create(null);const r=new RegExp(i,n),a=Object.create(null);for(let l=t.startLineNumber;l this._host.fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(Z2(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}zc._diffLimit=1e5;zc._suggestionsLimit=1e4;typeof importScripts=="function"&&(globalThis.monaco=c7());const OM=vt("textResourceConfigurationService"),w8=vt("textResourcePropertiesService"),Ie=vt("ILanguageFeaturesService");var BJ=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jm=function(o,e){return function(t,i){e(t,i,o)}};const jO=60*1e3,KO=5*60*1e3;function vh(o,e){const t=o.getModel(e);return!(!t||t.isTooLargeForSyncing())}let YI=class extends Y{constructor(e,t,i,n,s){super(),this._modelService=e,this._workerManager=this._register(new VJ(this._modelService,n)),this._logService=i,this._register(s.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(r,a)=>vh(this._modelService,r.uri)?this._workerManager.withWorker().then(l=>l.computeLinks(r.uri)).then(l=>l&&{links:l}):Promise.resolve({links:[]})})),this._register(s.completionProvider.register("*",new WJ(this._workerManager,t,this._modelService,n)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return vh(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(n=>n.computedUnicodeHighlights(e,t,i))}async computeDiff(e,t,i,n){const s=await this._workerManager.withWorker().then(l=>l.computeDiff(e,t,i,n));if(!s)return null;return{identical:s.identical,quitEarly:s.quitEarly,changes:a(s.changes),moves:s.moves.map(l=>new m8(new Ol(new wt(l[0],l[1]),new wt(l[2],l[3])),a(l[4])))};function a(l){return l.map(d=>{var c;return new _r(new wt(d[0],d[1]),new wt(d[2],d[3]),(c=d[4])===null||c===void 0?void 0:c.map(u=>new uu(new k(u[0],u[1],u[2],u[3]),new k(u[4],u[5],u[6],u[7]))))})}}computeMoreMinimalEdits(e,t,i=!1){if(ls(t)){if(!vh(this._modelService,e))return Promise.resolve(t);const n=ds.create(),s=this._workerManager.withWorker().then(r=>r.computeMoreMinimalEdits(e,t,i));return s.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed())),Promise.race([s,au(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return vh(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(n=>n.navigateValueSet(e,t,i))}canComputeWordRanges(e){return vh(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}};YI=BJ([jm(0,Si),jm(1,OM),jm(2,vo),jm(3,si),jm(4,Ie)],YI);class WJ{constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const n=[];if(i.wordBasedSuggestions==="currentDocument")vh(this._modelService,e.uri)&&n.push(e.uri);else for(const u of this._modelService.getModels())vh(this._modelService,u.uri)&&(u===e?n.unshift(u.uri):(i.wordBasedSuggestions==="allDocuments"||u.getLanguageId()===e.getLanguageId())&&n.push(u.uri));if(n.length===0)return;const s=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),r=e.getWordAtPosition(t),a=r?new k(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn):k.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),c=await(await this._workerManager.withWorker()).textualSuggest(n,r==null?void 0:r.word,s);if(c)return{duration:c.duration,suggestions:c.words.map(u=>({kind:18,label:u,insertText:u,range:{insert:l,replace:a}}))}}}class VJ extends Y{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new xM).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(KO/2),kl),this._register(this._modelService.onModelRemoved(n=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>KO&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new FM(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class HJ extends Y{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const n=new wM;n.cancelAndSet(()=>this._checkStopModelSync(),Math.round(jO/2)),this._register(n)}}dispose(){for(const e in this._syncedModels)jt(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const n=i.toString();this._syncedModels[n]||this._beginModelSync(i,t),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>jO&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const s=new de;s.add(i.onDidChangeContent(r=>{this._proxy.acceptModelChanged(n.toString(),r)})),s.add(i.onWillDispose(()=>{this._stopModelSync(n)})),s.add(Ue(()=>{this._proxy.acceptRemovedModel(n)})),this._syncedModels[n]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],jt(t)}}class qO{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class tx{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class FM extends Y{constructor(e,t,i,n){super(),this.languageConfigurationService=n,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new xy(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new GX(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new tx(this)))}catch(e){HI(e),this._worker=new qO(new zc(new tx(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(HI(e),this._worker=new qO(new zc(new tx(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new HJ(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(GG()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,n){return this._withSyncedResources([e,t],!0).then(s=>s.computeDiff(e.toString(),t.toString(),i,n))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then(t=>t.computeDefaultDocumentColors(e.toString()))}async textualSuggest(e,t,i){const n=await this._withSyncedResources(e),s=i.source,r=i.flags;return n.textualSuggest(e.map(a=>a.toString()),t,s,r)}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);const s=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=s.source,a=s.flags;return i.computeWordRanges(e.toString(),t,r,a)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(n=>{const s=this._modelService.getModel(e);if(!s)return null;const r=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId()).getWordDefinition(),a=r.source,l=r.flags;return n.navigateValueSet(e.toString(),t,i,a,l)})}dispose(){super.dispose(),this._disposed=!0}}function zJ(o,e,t){return new $J(o,e,t)}class $J extends FM{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?Z2(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const n=(a,l)=>e.fmr(a,l),s=(a,l)=>function(){const d=Array.prototype.slice.call(arguments,0);return l(a,d)},r={};for(const a of i)r[a]=s(a,n);return r})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}const i0={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},Tp=new class{clone(){return this}equals(o){return this===o}};function BM(o,e){return new aM([new bv(0,"",o)],e)}function My(o,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(o<<0|0|0|32768|2<<24)>>>0,new ay(t,e===null?Tp:e)}class Yn{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return n&1&&(i+=" mtki"),n&2&&(i+=" mtkb"),n&4&&(i+=" mtku"),n&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let s=`color: ${t[i]};`;n&1&&(s+="font-style: italic;"),n&2&&(s+="font-weight: bold;");let r="";return n&4&&(r+=" underline"),n&8&&(r+=" line-through"),r&&(s+=`text-decoration:${r};`),s}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}class Cn{static createEmpty(e,t){const i=Cn.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new Cn(n,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof Cn?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const n=t<<1,s=n+(i<<1);for(let r=n;r