@playwright-repl/mcp 0.24.0 → 0.25.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.
- package/README.md +26 -0
- package/dist/bridge.js +0 -1
- package/dist/evaluate.js +0 -1
- package/dist/index.js +98 -2
- package/dist/logger.d.ts +3 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +12 -4
- package/dist/standalone.js +0 -1
- package/dist/types.js +0 -1
- package/package.json +4 -4
- package/dist/http-transport.d.ts.map +0 -1
- package/dist/http-transport.js.map +0 -1
- package/dist/server-factory.d.ts.map +0 -1
- package/dist/server-factory.js.map +0 -1
package/README.md
CHANGED
|
@@ -278,6 +278,32 @@ Each agent has access to `run_command` and `run_script` via the MCP server and r
|
|
|
278
278
|
- **Prefer keyword commands** for common actions — they're shorter and more reliable than raw Playwright API
|
|
279
279
|
- **Fall back to Playwright API** when keyword commands are ambiguous (e.g. two elements match the same text) — use `exact: true` or scope with a locator chain
|
|
280
280
|
|
|
281
|
+
## HTTP Server
|
|
282
|
+
|
|
283
|
+
The MCP server also starts an HTTP server on port `9223` for fast CLI command access. When the MCP server is running, you can send commands from the terminal without MCP protocol overhead:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Send commands to the running MCP server via HTTP
|
|
287
|
+
playwright-repl --http --command "snapshot"
|
|
288
|
+
playwright-repl --http --command "click e5"
|
|
289
|
+
|
|
290
|
+
# Or directly with curl
|
|
291
|
+
curl -X POST http://localhost:9223/run -d '{"command":"snapshot"}'
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
Custom HTTP port:
|
|
295
|
+
|
|
296
|
+
```json
|
|
297
|
+
{
|
|
298
|
+
"mcpServers": {
|
|
299
|
+
"playwright-repl": {
|
|
300
|
+
"command": "playwright-repl-mcp",
|
|
301
|
+
"args": ["--http-port", "9224"]
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
281
307
|
## Custom port
|
|
282
308
|
|
|
283
309
|
By default the MCP server listens on port `9876`. To use a different port:
|
package/dist/bridge.js
CHANGED
package/dist/evaluate.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,12 +2,32 @@
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import http from 'node:http';
|
|
5
6
|
import { COMMANDS, CATEGORIES } from '@playwright-repl/core';
|
|
6
7
|
import pkg from '../package.json' with { type: 'json' };
|
|
7
8
|
import { createBridgeRunner } from './bridge.js';
|
|
8
9
|
import { createEvaluateRunner } from './evaluate.js';
|
|
9
10
|
import { createStandaloneRunner } from './standalone.js';
|
|
10
|
-
import { logStartup, logEvent, logToolCall, logToolResult, logError, LOG_FILE } from './logger.js';
|
|
11
|
+
import { logStartup, logEvent, logToolCall, logToolResult, logError, logHttp, LOG_FILE } from './logger.js';
|
|
12
|
+
// ─── Process exit handlers — log why the process dies ───────────────────────
|
|
13
|
+
process.on('uncaughtException', (err) => {
|
|
14
|
+
logError('uncaughtException', err);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
});
|
|
17
|
+
process.on('unhandledRejection', (reason) => {
|
|
18
|
+
logError('unhandledRejection', reason);
|
|
19
|
+
});
|
|
20
|
+
process.on('SIGTERM', () => {
|
|
21
|
+
logEvent('Received SIGTERM — exiting');
|
|
22
|
+
process.exit(0);
|
|
23
|
+
});
|
|
24
|
+
process.on('SIGINT', () => {
|
|
25
|
+
logEvent('Received SIGINT — exiting');
|
|
26
|
+
process.exit(0);
|
|
27
|
+
});
|
|
28
|
+
process.on('exit', (code) => {
|
|
29
|
+
logEvent(`Process exiting (code: ${code})`);
|
|
30
|
+
});
|
|
11
31
|
const argv = process.argv.slice(2);
|
|
12
32
|
const standalone = argv.includes('--standalone');
|
|
13
33
|
const headed = argv.includes('--headed');
|
|
@@ -27,6 +47,83 @@ else {
|
|
|
27
47
|
}
|
|
28
48
|
const { runner, descriptions } = runnerModule;
|
|
29
49
|
logStartup(standalone ? 'standalone' : 'bridge', `log → ${LOG_FILE}`);
|
|
50
|
+
// ─── HTTP server for --command --http piggybacking ──────────────────────────
|
|
51
|
+
const httpPort = (() => {
|
|
52
|
+
const idx = argv.indexOf('--http-port');
|
|
53
|
+
if (idx !== -1 && argv[idx + 1])
|
|
54
|
+
return parseInt(argv[idx + 1], 10);
|
|
55
|
+
return 9223;
|
|
56
|
+
})();
|
|
57
|
+
startHttpServer(httpPort, runner);
|
|
58
|
+
function startHttpServer(port, r) {
|
|
59
|
+
const server = http.createServer(async (req, res) => {
|
|
60
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
61
|
+
if (req.method === 'GET' && req.url === '/health') {
|
|
62
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
63
|
+
res.end(JSON.stringify({ status: 'ok' }));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (req.method === 'POST' && req.url === '/run') {
|
|
67
|
+
const t0 = Date.now();
|
|
68
|
+
let command = '';
|
|
69
|
+
try {
|
|
70
|
+
const body = await readBody(req);
|
|
71
|
+
({ command } = JSON.parse(body));
|
|
72
|
+
logHttp(`→ ${command}`);
|
|
73
|
+
const result = await r.runCommand(command);
|
|
74
|
+
const ms = Date.now() - t0;
|
|
75
|
+
logHttp(`${result.isError ? '✗' : '✓'} ${command} (${ms}ms)`);
|
|
76
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
77
|
+
res.end(JSON.stringify(result));
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
logHttp(`✗ ${command} — ${e.message}`);
|
|
81
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
82
|
+
res.end(JSON.stringify({ text: e.message, isError: true }));
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (req.method === 'POST' && req.url === '/run-script') {
|
|
87
|
+
const t0 = Date.now();
|
|
88
|
+
let language = 'pw';
|
|
89
|
+
try {
|
|
90
|
+
const body = await readBody(req);
|
|
91
|
+
const parsed = JSON.parse(body);
|
|
92
|
+
const script = parsed.script;
|
|
93
|
+
language = parsed.language || 'pw';
|
|
94
|
+
const preview = script.split('\n')[0].slice(0, 60);
|
|
95
|
+
logHttp(`→ [${language}] ${preview}${script.length > preview.length ? '…' : ''}`);
|
|
96
|
+
const result = await r.runScript(script, language);
|
|
97
|
+
const ms = Date.now() - t0;
|
|
98
|
+
logHttp(`${result.isError ? '✗' : '✓'} [${language}] (${ms}ms)`);
|
|
99
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
100
|
+
res.end(JSON.stringify(result));
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
logHttp(`✗ [${language}] — ${e.message}`);
|
|
104
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
105
|
+
res.end(JSON.stringify({ text: e.message, isError: true }));
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
res.writeHead(404);
|
|
110
|
+
res.end('Not found');
|
|
111
|
+
});
|
|
112
|
+
server.listen(port, () => {
|
|
113
|
+
logEvent(`HTTP server on port ${port}`);
|
|
114
|
+
});
|
|
115
|
+
server.on('error', (e) => {
|
|
116
|
+
logEvent(`HTTP server failed: ${e.message}`);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function readBody(req) {
|
|
120
|
+
return new Promise((resolve, reject) => {
|
|
121
|
+
let data = '';
|
|
122
|
+
req.on('data', (chunk) => data += chunk);
|
|
123
|
+
req.on('end', () => resolve(data));
|
|
124
|
+
req.on('error', reject);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
30
127
|
// ─── MCP server ──────────────────────────────────────────────────────────────
|
|
31
128
|
const server = new McpServer({ name: 'playwright-repl', version: pkg.version });
|
|
32
129
|
server.registerTool('run_command', {
|
|
@@ -112,4 +209,3 @@ server.server.oninitialized = () => {
|
|
|
112
209
|
};
|
|
113
210
|
const transport = new StdioServerTransport();
|
|
114
211
|
await server.connect(transport);
|
|
115
|
-
//# sourceMappingURL=index.js.map
|
package/dist/logger.d.ts
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* captures stderr.
|
|
7
7
|
*/
|
|
8
8
|
declare const LOG_FILE: string;
|
|
9
|
+
declare const HTTP_LOG_FILE: string;
|
|
9
10
|
export declare function logStartup(mode: string, detail: string): void;
|
|
10
11
|
export declare function logEvent(event: string): void;
|
|
11
12
|
export declare function logToolCall(tool: string, input: Record<string, unknown>): void;
|
|
12
13
|
export declare function logToolResult(tool: string, isError: boolean, text: string | undefined, durationMs: number): void;
|
|
13
14
|
export declare function logError(context: string, err: unknown): void;
|
|
14
|
-
export
|
|
15
|
+
export declare function logHttp(message: string): void;
|
|
16
|
+
export { LOG_FILE, HTTP_LOG_FILE };
|
|
15
17
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,QAAA,MAAM,QAAQ,QAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,QAAA,MAAM,QAAQ,QAA2B,CAAC;AAC1C,QAAA,MAAM,aAAa,QAA4B,CAAC;AAoChD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ9E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIhH;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAG5D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAK7C;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -10,6 +10,7 @@ import { join } from 'node:path';
|
|
|
10
10
|
import { homedir } from 'node:os';
|
|
11
11
|
const LOG_DIR = join(homedir(), '.playwright-repl');
|
|
12
12
|
const LOG_FILE = join(LOG_DIR, 'mcp.log');
|
|
13
|
+
const HTTP_LOG_FILE = join(LOG_DIR, 'http.log');
|
|
13
14
|
/** Maximum characters kept from a result text in the log. */
|
|
14
15
|
const MAX_RESULT_LENGTH = 200;
|
|
15
16
|
let enabled = true;
|
|
@@ -54,16 +55,23 @@ export function logToolCall(tool, input) {
|
|
|
54
55
|
return `${k}=${truncate(s, 120)}`;
|
|
55
56
|
})
|
|
56
57
|
.join(' ');
|
|
57
|
-
write('info',
|
|
58
|
+
write('info', `-> ${tool}(${args})`);
|
|
58
59
|
}
|
|
59
60
|
export function logToolResult(tool, isError, text, durationMs) {
|
|
60
61
|
const status = isError ? 'ERROR' : 'OK';
|
|
61
62
|
const summary = text ? truncate(text.replace(/\n/g, '\\n')) : '(empty)';
|
|
62
|
-
write('info',
|
|
63
|
+
write('info', `<- ${tool} [${status}] ${durationMs}ms ${summary}`);
|
|
63
64
|
}
|
|
64
65
|
export function logError(context, err) {
|
|
65
66
|
const msg = err instanceof Error ? err.message : String(err);
|
|
66
67
|
write('error', `${context}: ${msg}`);
|
|
67
68
|
}
|
|
68
|
-
export
|
|
69
|
-
|
|
69
|
+
export function logHttp(message) {
|
|
70
|
+
if (!enabled)
|
|
71
|
+
return;
|
|
72
|
+
try {
|
|
73
|
+
appendFileSync(HTTP_LOG_FILE, `${ts()} ${message}\n`);
|
|
74
|
+
}
|
|
75
|
+
catch { }
|
|
76
|
+
}
|
|
77
|
+
export { LOG_FILE, HTTP_LOG_FILE };
|
package/dist/standalone.js
CHANGED
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@playwright-repl/mcp",
|
|
3
3
|
"description": "MCP server — AI agents control your real Chrome browser",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.25.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"playwright-repl-mcp": "./dist/index.js"
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"@modelcontextprotocol/sdk": "^1.10.0",
|
|
18
18
|
"@playwright/test": "^1.59.1",
|
|
19
19
|
"zod": "^3.24.0",
|
|
20
|
-
"@playwright-repl/
|
|
21
|
-
"@playwright-repl/
|
|
22
|
-
"playwright-repl": "0.
|
|
20
|
+
"@playwright-repl/browser-extension": "0.25.0",
|
|
21
|
+
"@playwright-repl/core": "0.25.0",
|
|
22
|
+
"playwright-repl": "0.25.0"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc --build tsconfig.build.json"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../src/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAU7D,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,kBAAkB,EAChC,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAsHf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../src/http-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-factory.d.ts","sourceRoot":"","sources":["../src/server-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,SAAS,CA2F9E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-factory.js","sourceRoot":"","sources":["../src/server-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG7E,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,IAAwB;IAC/D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;SACrD;KACJ,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,WAAW,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;iBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,KAAK,wCAAwC,EAAE,CAAC,EAAE,CAAC;QACjI,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,GAAG,wCAAwC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3I,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3C,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;gBAC5E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;gBACjE,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC7B,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,YAAY,EACZ;QACI,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,UAAU;YACxB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC,EAAE;YAC7F,CAAC,CAAC;gBACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACpD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,kFAAkF,CAAC;aACtI;KACR,EACD,KAAK,EAAE,MAA+B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;QACvC,MAAM,QAAQ,GAAI,MAAM,CAAC,QAAgC,IAAI,IAAI,CAAC;QAClE,WAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnD,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/E,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;gBACjE,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,MAAM;YAAE,QAAQ,CAAC,WAAW,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
|