@winspan/claude-forge 8.11.1 → 8.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoD/C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyG/C"}
@@ -1,29 +1,82 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
+ import readline from 'readline';
4
5
  import { FORGE_HOME, FORGE_PATHS } from '../../core/constants.js';
5
6
  import { copyHookScripts, backupSettings, injectHooks } from '../init/hook-manager.js';
7
+ import chalk from 'chalk';
6
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
+ function prompt(question) {
10
+ const rl = readline.createInterface({
11
+ input: process.stdin,
12
+ output: process.stdout
13
+ });
14
+ return new Promise((resolve) => {
15
+ rl.question(question, (answer) => {
16
+ rl.close();
17
+ resolve(answer.trim());
18
+ });
19
+ });
20
+ }
7
21
  export function register(program) {
8
22
  program
9
23
  .command('init')
10
24
  .description('Initialize Claude Forge hooks and configuration')
11
- .action(async () => {
25
+ .option('--skip-prompts', 'Skip interactive prompts and use defaults')
26
+ .action(async (opts) => {
27
+ console.log(chalk.bold.cyan('\n🔧 Claude Forge 初始化向导\n'));
28
+ const skipPrompts = opts.skipPrompts;
12
29
  // 1. Create ~/.claude-forge/ directory
13
30
  if (!fs.existsSync(FORGE_HOME)) {
14
31
  fs.mkdirSync(FORGE_HOME, { recursive: true });
15
- console.log('Created', FORGE_HOME);
32
+ console.log(chalk.green('✓'), 'Created', FORGE_HOME);
16
33
  }
17
- // 2. Generate default config.yaml if missing
18
- const configPath = FORGE_PATHS.config();
19
- if (!fs.existsSync(configPath)) {
20
- fs.writeFileSync(configPath, '# Claude Forge configuration\n', 'utf-8');
21
- console.log('Created default config:', configPath);
34
+ else {
35
+ console.log(chalk.gray('→'), FORGE_HOME, 'already exists');
22
36
  }
23
- // 3. Copy hook scripts
37
+ // 2. Interactive configuration
38
+ let apiKey = process.env.ANTHROPIC_API_KEY || '';
39
+ let webPort = 3721;
40
+ if (!skipPrompts) {
41
+ console.log(chalk.yellow('\n📝 配置选项(直接回车使用默认值)\n'));
42
+ const apiKeyInput = await prompt(`Anthropic API Key (可选,用于 AI 功能) [${apiKey ? '已设置' : '留空'}]: `);
43
+ if (apiKeyInput)
44
+ apiKey = apiKeyInput;
45
+ const portInput = await prompt(`Web 管理后台端口 [${webPort}]: `);
46
+ if (portInput && !isNaN(parseInt(portInput))) {
47
+ webPort = parseInt(portInput);
48
+ }
49
+ }
50
+ // 3. Generate config.yaml
51
+ const configPath = FORGE_PATHS.config();
52
+ const configContent = `# Claude Forge 配置文件
53
+ # 生成时间: ${new Date().toISOString()}
54
+
55
+ # AI 功能配置(分类器、质量检查、提炼)
56
+ distill:
57
+ api_key: ${apiKey ? `"${apiKey}"` : '"" # 留空则禁用 AI 功能'}
58
+ model: "claude-3-5-sonnet-20241022"
59
+ base_url: "https://api.anthropic.com"
60
+
61
+ # Web 管理后台
62
+ web:
63
+ enabled: true
64
+ port: ${webPort}
65
+
66
+ # 数据存储
67
+ storage:
68
+ path: "~/.claude-forge/data.db"
69
+
70
+ # 技能匹配(可选,使用 AI 语义匹配)
71
+ skill_matching:
72
+ api_key: ${apiKey ? `"${apiKey}"` : '"" # 留空则使用关键词匹配'}
73
+ `;
74
+ fs.writeFileSync(configPath, configContent, 'utf-8');
75
+ console.log(chalk.green('\n✓'), 'Created config:', configPath);
76
+ // 4. Copy hook scripts
24
77
  copyHookScripts();
25
- console.log('Hook scripts installed');
26
- // 4. Copy convention files to ~/.claude/conventions/
78
+ console.log(chalk.green('✓'), 'Hook scripts installed');
79
+ // 5. Copy convention files to ~/.claude/conventions/
27
80
  const conventionsDir = path.join(process.env.HOME ?? '', '.claude', 'conventions');
28
81
  if (!fs.existsSync(conventionsDir)) {
29
82
  fs.mkdirSync(conventionsDir, { recursive: true });
@@ -36,19 +89,26 @@ export function register(program) {
36
89
  const dest = path.join(conventionsDir, file);
37
90
  fs.copyFileSync(src, dest);
38
91
  }
39
- console.log(`Copied ${files.length} convention files to ${conventionsDir}`);
40
- console.log('These YAML conventions are the runtime rule source used by the daemon.');
92
+ console.log(chalk.green('✓'), `Copied ${files.length} convention files to ${conventionsDir}`);
41
93
  }
42
- // 5. Backup settings.json
94
+ // 6. Backup settings.json
43
95
  const bp = backupSettings();
44
96
  if (bp) {
45
- console.log('Settings backed up to', bp);
97
+ console.log(chalk.green('✓'), 'Settings backed up to', bp);
46
98
  }
47
- // 6. Inject hooks into Claude Code settings
99
+ // 7. Inject hooks into Claude Code settings
48
100
  injectHooks();
49
- console.log('Hooks injected into Claude Code settings');
50
- console.log('\nClaude Forge initialized successfully.');
51
- console.log('Restart Claude Code for hooks to take effect.');
101
+ console.log(chalk.green('✓'), 'Hooks injected into Claude Code settings');
102
+ // 8. Summary
103
+ console.log(chalk.bold.green('\n✅ Claude Forge 初始化成功!\n'));
104
+ console.log(chalk.yellow('下一步:'));
105
+ console.log(' 1. 重启 Claude Code 使 hooks 生效');
106
+ console.log(' 2. 启动守护进程:claude-forge daemon start');
107
+ console.log(' 3. 访问管理后台:http://localhost:' + webPort);
108
+ if (!apiKey) {
109
+ console.log(chalk.gray('\n💡 提示:未配置 API Key,AI 功能(分类器、质量检查)将被禁用'));
110
+ console.log(chalk.gray(' 如需启用,请编辑:' + configPath));
111
+ }
52
112
  });
53
113
  }
54
114
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * 友好的错误提示处理器
3
+ *
4
+ * 将技术性错误转换为用户友好的中文提示,并提供解决方案
5
+ */
6
+ export interface ErrorSolution {
7
+ message: string;
8
+ solutions: string[];
9
+ technicalDetails?: string;
10
+ }
11
+ export declare class ErrorHandler {
12
+ /**
13
+ * 处理端口占用错误
14
+ */
15
+ static handlePortInUse(port: number, error: any): ErrorSolution;
16
+ /**
17
+ * 处理权限错误
18
+ */
19
+ static handlePermissionError(path: string, error: any): ErrorSolution;
20
+ /**
21
+ * 处理数据库错误
22
+ */
23
+ static handleDatabaseError(dbPath: string, error: any): ErrorSolution;
24
+ /**
25
+ * 处理 API Key 缺失
26
+ */
27
+ static handleMissingApiKey(): ErrorSolution;
28
+ /**
29
+ * 处理 Socket 连接错误
30
+ */
31
+ static handleSocketError(socketPath: string, error: any): ErrorSolution;
32
+ /**
33
+ * 处理文件系统错误
34
+ */
35
+ static handleFileSystemError(path: string, error: any): ErrorSolution;
36
+ /**
37
+ * 格式化并打印错误信息
38
+ */
39
+ static printError(solution: ErrorSolution): void;
40
+ /**
41
+ * 统一的错误处理入口
42
+ */
43
+ static handle(error: any, context?: string): void;
44
+ }
45
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../src/core/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAa/D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAarE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IA0CrE;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,aAAa;IAY3C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAuCvE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAuCrE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAkBhD;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;CAuClD"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * 友好的错误提示处理器
3
+ *
4
+ * 将技术性错误转换为用户友好的中文提示,并提供解决方案
5
+ */
6
+ import { logger } from './logger.js';
7
+ import chalk from 'chalk';
8
+ export class ErrorHandler {
9
+ /**
10
+ * 处理端口占用错误
11
+ */
12
+ static handlePortInUse(port, error) {
13
+ return {
14
+ message: `端口 ${port} 已被占用`,
15
+ solutions: [
16
+ `查看占用进程:lsof -i :${port}`,
17
+ `结束占用进程:kill -9 $(lsof -ti :${port})`,
18
+ `修改配置文件 ~/.claude-forge/config.yaml 中的端口号`,
19
+ `如果是守护进程自己占用,运行:claude-forge daemon stop`
20
+ ],
21
+ technicalDetails: error.message
22
+ };
23
+ }
24
+ /**
25
+ * 处理权限错误
26
+ */
27
+ static handlePermissionError(path, error) {
28
+ return {
29
+ message: `没有权限访问:${path}`,
30
+ solutions: [
31
+ `检查文件权限:ls -la ${path}`,
32
+ `修复权限:chmod 755 ${path}`,
33
+ `如果是目录,确保父目录也有执行权限`,
34
+ `检查是否被其他进程锁定`
35
+ ],
36
+ technicalDetails: error.message
37
+ };
38
+ }
39
+ /**
40
+ * 处理数据库错误
41
+ */
42
+ static handleDatabaseError(dbPath, error) {
43
+ const isCorrupted = error.message?.includes('corrupt') || error.message?.includes('malformed');
44
+ const isLocked = error.message?.includes('locked') || error.message?.includes('SQLITE_BUSY');
45
+ if (isCorrupted) {
46
+ return {
47
+ message: `数据库文件损坏:${dbPath}`,
48
+ solutions: [
49
+ `备份当前数据库:cp ${dbPath} ${dbPath}.backup`,
50
+ `删除损坏的数据库:rm ${dbPath}`,
51
+ `重启守护进程会自动创建新数据库`,
52
+ `如需恢复数据,请联系技术支持`
53
+ ],
54
+ technicalDetails: error.message
55
+ };
56
+ }
57
+ if (isLocked) {
58
+ return {
59
+ message: `数据库被锁定:${dbPath}`,
60
+ solutions: [
61
+ `检查是否有其他守护进程在运行:ps aux | grep claude-forge`,
62
+ `结束其他进程:claude-forge daemon stop`,
63
+ `如果问题持续,删除锁文件:rm ${dbPath}-wal ${dbPath}-shm`,
64
+ `重启守护进程`
65
+ ],
66
+ technicalDetails: error.message
67
+ };
68
+ }
69
+ return {
70
+ message: `数据库错误:${dbPath}`,
71
+ solutions: [
72
+ `检查磁盘空间:df -h`,
73
+ `检查文件权限:ls -la ${dbPath}`,
74
+ `查看详细日志:tail -f ~/.claude-forge/daemon.log`,
75
+ `如果问题持续,尝试重建数据库`
76
+ ],
77
+ technicalDetails: error.message
78
+ };
79
+ }
80
+ /**
81
+ * 处理 API Key 缺失
82
+ */
83
+ static handleMissingApiKey() {
84
+ return {
85
+ message: 'Anthropic API Key 未配置',
86
+ solutions: [
87
+ `设置环境变量:export ANTHROPIC_API_KEY=your-key-here`,
88
+ `或在配置文件中设置:~/.claude-forge/config.yaml`,
89
+ `获取 API Key:https://console.anthropic.com/settings/keys`,
90
+ `注意:没有 API Key 时,AI 功能(分类器、质量检查、提炼)将被禁用`
91
+ ]
92
+ };
93
+ }
94
+ /**
95
+ * 处理 Socket 连接错误
96
+ */
97
+ static handleSocketError(socketPath, error) {
98
+ const isNotFound = error.code === 'ENOENT';
99
+ const isConnectionRefused = error.code === 'ECONNREFUSED';
100
+ if (isNotFound) {
101
+ return {
102
+ message: `Socket 文件不存在:${socketPath}`,
103
+ solutions: [
104
+ `检查守护进程是否运行:claude-forge daemon status`,
105
+ `启动守护进程:claude-forge daemon start`,
106
+ `检查 socket 目录权限:ls -la $(dirname ${socketPath})`
107
+ ],
108
+ technicalDetails: error.message
109
+ };
110
+ }
111
+ if (isConnectionRefused) {
112
+ return {
113
+ message: `无法连接到守护进程`,
114
+ solutions: [
115
+ `守护进程可能已崩溃,查看日志:tail -f ~/.claude-forge/daemon.log`,
116
+ `重启守护进程:claude-forge daemon stop && claude-forge daemon start`,
117
+ `检查是否有僵尸进程:ps aux | grep claude-forge`
118
+ ],
119
+ technicalDetails: error.message
120
+ };
121
+ }
122
+ return {
123
+ message: `Socket 连接错误`,
124
+ solutions: [
125
+ `检查守护进程状态:claude-forge daemon status`,
126
+ `查看日志:tail -f ~/.claude-forge/daemon.log`,
127
+ `尝试重启:claude-forge daemon stop && claude-forge daemon start`
128
+ ],
129
+ technicalDetails: error.message
130
+ };
131
+ }
132
+ /**
133
+ * 处理文件系统错误
134
+ */
135
+ static handleFileSystemError(path, error) {
136
+ const isNoSpace = error.code === 'ENOSPC';
137
+ const isNotFound = error.code === 'ENOENT';
138
+ if (isNoSpace) {
139
+ return {
140
+ message: `磁盘空间不足`,
141
+ solutions: [
142
+ `检查磁盘使用情况:df -h`,
143
+ `清理日志文件:rm ~/.claude-forge/daemon.log.old`,
144
+ `清理旧数据:sqlite3 ~/.claude-forge/data.db "DELETE FROM events WHERE timestamp < datetime('now', '-30 days')"`
145
+ ],
146
+ technicalDetails: error.message
147
+ };
148
+ }
149
+ if (isNotFound) {
150
+ return {
151
+ message: `文件或目录不存在:${path}`,
152
+ solutions: [
153
+ `检查路径是否正确`,
154
+ `创建必要的目录:mkdir -p $(dirname ${path})`,
155
+ `如果是配置文件,运行初始化:claude-forge init`
156
+ ],
157
+ technicalDetails: error.message
158
+ };
159
+ }
160
+ return {
161
+ message: `文件系统错误:${path}`,
162
+ solutions: [
163
+ `检查路径权限:ls -la ${path}`,
164
+ `检查磁盘状态:df -h`,
165
+ `查看系统日志:dmesg | tail`
166
+ ],
167
+ technicalDetails: error.message
168
+ };
169
+ }
170
+ /**
171
+ * 格式化并打印错误信息
172
+ */
173
+ static printError(solution) {
174
+ console.error(chalk.red.bold('\n✗ 错误:') + chalk.red(solution.message));
175
+ if (solution.solutions.length > 0) {
176
+ console.error(chalk.yellow('\n💡 解决方案:'));
177
+ solution.solutions.forEach((s, i) => {
178
+ console.error(chalk.yellow(` ${i + 1}. ${s}`));
179
+ });
180
+ }
181
+ if (solution.technicalDetails) {
182
+ console.error(chalk.gray('\n📋 技术细节:'));
183
+ console.error(chalk.gray(` ${solution.technicalDetails}`));
184
+ }
185
+ console.error(''); // 空行
186
+ }
187
+ /**
188
+ * 统一的错误处理入口
189
+ */
190
+ static handle(error, context) {
191
+ logger.error(`[ErrorHandler] ${context || 'Unknown context'}: ${error.message || error}`);
192
+ let solution = null;
193
+ // 根据错误类型自动识别并生成解决方案
194
+ if (error.code === 'EADDRINUSE') {
195
+ const port = parseInt(error.message?.match(/:(\d+)/)?.[1] || '3721');
196
+ solution = this.handlePortInUse(port, error);
197
+ }
198
+ else if (error.code === 'EACCES' || error.code === 'EPERM') {
199
+ const path = error.path || error.message?.match(/['"]([^'"]+)['"]/)?.[1] || 'unknown';
200
+ solution = this.handlePermissionError(path, error);
201
+ }
202
+ else if (error.code === 'ENOENT') {
203
+ const path = error.path || error.message?.match(/['"]([^'"]+)['"]/)?.[1] || 'unknown';
204
+ solution = this.handleFileSystemError(path, error);
205
+ }
206
+ else if (error.code === 'ENOSPC') {
207
+ solution = this.handleFileSystemError('', error);
208
+ }
209
+ else if (error.message?.includes('SQLITE') || error.message?.includes('database')) {
210
+ const dbPath = error.message?.match(/['"]([^'"]+\.db)['"]/)?.[1] || '~/.claude-forge/data.db';
211
+ solution = this.handleDatabaseError(dbPath, error);
212
+ }
213
+ else if (error.code === 'ECONNREFUSED' || error.code === 'ENOENT') {
214
+ const socketPath = error.path || '~/.claude-forge/forge.sock';
215
+ solution = this.handleSocketError(socketPath, error);
216
+ }
217
+ else {
218
+ // 通用错误
219
+ solution = {
220
+ message: error.message || '未知错误',
221
+ solutions: [
222
+ '查看详细日志:tail -f ~/.claude-forge/daemon.log',
223
+ '检查守护进程状态:claude-forge daemon status',
224
+ '尝试重启:claude-forge daemon stop && claude-forge daemon start',
225
+ '如果问题持续,请提交 Issue:https://github.com/anthropics/claude-forge/issues'
226
+ ],
227
+ technicalDetails: error.stack
228
+ };
229
+ }
230
+ this.printError(solution);
231
+ }
232
+ }
233
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/core/utils/error-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,qBAAa,SAAS;IAIR,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA0D;gBAEpD,OAAO,EAAE,gBAAgB;IAM7C,OAAO,CAAC,WAAW;IAgcb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,qBAAa,SAAS;IAIR,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA0D;gBAEpD,OAAO,EAAE,gBAAgB;IAM7C,OAAO,CAAC,WAAW;IAgcb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5B"}
@@ -412,11 +412,18 @@ export class WebServer {
412
412
  });
413
413
  }
414
414
  async start() {
415
- return new Promise((resolve) => {
415
+ return new Promise((resolve, reject) => {
416
416
  this.server = this.app.listen(this.options.port, () => {
417
417
  logger.info(`[Web] Server started on port ${this.options.port}`);
418
418
  resolve();
419
419
  });
420
+ this.server?.on('error', (error) => {
421
+ if (error.code === 'EADDRINUSE') {
422
+ const { ErrorHandler } = require('../core/utils/error-handler.js');
423
+ ErrorHandler.handle(error, 'Web Server');
424
+ }
425
+ reject(error);
426
+ });
420
427
  });
421
428
  }
422
429
  async stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAQ/D,MAAM,OAAO,SAAS;IAIA;IAHZ,GAAG,CAAsB;IACzB,MAAM,GAAqD,IAAI,CAAC;IAExE,YAAoB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7C,2DAA2D;QAC3D,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAgB,kBAAkB;YAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAG,sBAAsB;SACtE,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,wCAAwC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACxB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC7B,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAChG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAA2B,CAAC;YACtD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YACxD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;gBACzC,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,OAAO;gBACvB,KAAK;aACN,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzF,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3E,MAAM,eAAe,GAAG,CAAC,MAAwB,EAAE,UAAgC,EAAE,EAAE;gBACrF,MAAM,OAAO,GAAG,MAAM;qBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,WAAW,IAAK,CAAC,CAAC,UAAkB,EAAE,WAAW,CAAC,CAAC;qBACxG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,IAAK,CAAC,CAAC,UAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAExG,MAAM,SAAS,GAA2B,EAAE,CAAC;gBAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;oBAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtG,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAC9B,MAAM;yBACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,IAAK,CAAC,CAAC,UAAkB,EAAE,SAAS,CAAC;yBACpG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,UAAkB,CAAC,SAAS,CAAC,CAC7C,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM;qBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,IAAK,CAAC,CAAC,UAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;qBAC7F,GAAG,CAAC,CAAC,CAAC,EAAE;oBACP,MAAM,GAAG,GAAI,CAAC,CAAC,UAAkB,EAAE,OAAO,IAAI,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAC7D,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1E,CAAC,CAAC,CAAC;gBAEL,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9G,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG;oBAClB,EAAE,EAAE,SAAS;oBACb,UAAU,EAAE,aAAa;oBACzB,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;oBACxC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,WAAoB;oBAC5B,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC7B,GAAG,MAAM;oBACT,aAAa,EAAE,gBAAgB;oBAC/B,SAAS,EAAE,YAAY;iBACxB,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACnC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,UAAkB,EAAE,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC7H,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACnD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACtD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,IAAI,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;YAE7E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjG,iEAAiE;YACjE,MAAM,QAAQ,GAIT,EAAE,CAAC;YAER,cAAc;YACd,MAAM;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,WAAW,IAAK,CAAC,CAAC,UAAkB,EAAE,WAAW,CAAC,CAAC;iBACxG,OAAO,CAAC,CAAC,CAAC,EAAE;gBACX,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,IAAK,CAAC,CAAC,UAAkB,EAAE,WAAW,EAAE;iBACvE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,4CAA4C;YAC5C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACJ,MAAM,EAAE,GAAG,CAAC,cAAc;wBAC1B,cAAc,EAAE,GAAG,CAAC,cAAc;wBAClC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,wBAAwB;wBAC5D,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;wBAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;qBACpC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,qCAAqC;YACrC,MAAM;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC;iBACxD,OAAO,CAAC,CAAC,CAAC,EAAE;gBACX,MAAM,SAAS,GAAG,CAAC,CAAC,UAAiB,CAAC;gBACtC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAkB,CAAC;gBAExC,wBAAwB;gBACxB,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,MAAM,GAAG,GAAG,EAAO,EAAE;oBACpD,IAAI,CAAC,GAAG;wBAAE,OAAO,GAAG,CAAC;oBACrB,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAQ,EAAE,CAAC;wBACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBACvC,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;gBAEF,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACJ,IAAI,EAAE,CAAC,CAAC,SAAS;wBACjB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;wBAC/B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC;wBACjC,OAAO,EAAE,CAAC,UAAU,EAAE,KAAK;qBAC5B;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,qEAAqE;YACrE,MAAM;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,IAAK,CAAC,CAAC,WAAmB,EAAE,aAAa,CAAC;iBACnF,OAAO,CAAC,CAAC,CAAC,EAAE;gBACX,MAAM,EAAE,GAAI,CAAC,CAAC,WAAmB,CAAC,aAAa,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,oBAAoB;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEhE,WAAW;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAEjE,UAAU;YACV,MAAM,OAAO,GAAG,MAAM;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,IAAK,CAAC,CAAC,UAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;iBAC7F,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,MAAM,GAAG,GAAI,CAAC,CAAC,UAAkB,EAAE,OAAO,IAAI,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC;YAEL,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAC9B,MAAM;qBACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,IAAK,CAAC,CAAC,UAAkB,EAAE,SAAS,CAAC;qBACpG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,UAAkB,CAAC,SAAS,CAAC,CAC7C,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO;gBACP,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK;gBACL,MAAM;gBACN,KAAK;gBACL,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;gBAC/B,OAAO,EAAE;oBACP,OAAO;oBACP,YAAY;oBACZ,gBAAgB,EAAE,aAAa;iBAChC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAE3D,qCAAqC;YACrC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;gBACzE,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEvF,MAAM,KAAK,GAAG;oBACZ,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM;oBAC9E,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,MAAM;oBAClG,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM;oBAChG,aAAa,EAAE,SAAS;yBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;yBAC9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI;iBACnE,CAAC;gBAEF,OAAO;oBACL,EAAE,EAAE,YAAY;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,KAAK;oBACL,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM;iBAC1E,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,gDAAgD;YAChD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9E,gBAAgB;YAChB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBAE5G,OAAO;oBACL,MAAM;oBACN,IAAI;oBACJ,YAAY,EAAE,aAAa,CAAC,MAAM;oBAClC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,MAAM;oBACjE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM;oBAC/D,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACnD,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,CAAC,CAAC,MAAM;qBACjB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC;gBACP,UAAU;gBACV,SAAS;gBACT,cAAc,EAAE,SAAS,CAAC,MAAM;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1D,0BAA0B;YAC1B,MAAM,SAAS,GAA2B,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACjB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,cAAc,GAAG;gBACrB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,MAAM;gBACxD,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM;gBACtD,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM;gBAC5D,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,MAAM;aACzD,CAAC;YAEF,+BAA+B;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBACrD,MAAM,MAAM,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAClC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3C,OAAO,EAAE,IAAI,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpD,UAAU,EAAE,SAAS,CAAC,MAAM;oBAC5B,YAAY,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;iBAC7D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC;gBACP,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,cAAc,EAAE,SAAS,CAAC,MAAM;gBAChC,SAAS;gBACT,cAAc;gBACd,aAAa;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC9D,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,IAA0B,CAAC;YAExD,MAAM,OAAO,GAAG,CAAC,KAA8B,EAAE,EAAE;gBACjD,IAAI,aAAa,IAAI,KAAK,CAAC,UAAU,KAAK,aAAa;oBAAE,OAAO;gBAChE,IAAI,aAAa,IAAI,KAAK,CAAC,YAAY,KAAK,aAAa;oBAAE,OAAO;gBAClE,IAAI,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU;oBAAE,OAAO;gBACzD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACjD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;YAE9D,MAAM,UAAU,GAAG,CAAC,QAAiC,EAAE,EAAE;gBACvD,IAAI,aAAa,IAAI,QAAQ,CAAC,UAAU,KAAK,aAAa;oBAAE,OAAO;gBACnE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACpD,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;gBACtC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;oBACnE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}