poke-browser 0.4.6 → 0.4.8
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/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +217 -135
- package/dist/tools.js.map +1 -1
- package/extension/manifest.json +1 -1
- package/package.json +2 -1
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BpE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAItD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEtD;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BpE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAItD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEtD;AAwPD,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CA2wBlD"}
|
package/dist/tools.js
CHANGED
|
@@ -137,7 +137,7 @@ const BROWSER_GUIDE_MARKDOWN = `## Poke Browser MCP — agent guide
|
|
|
137
137
|
- **browser_guide** — This playbook (static Markdown; no parameters).
|
|
138
138
|
- **navigate_to** — Open a URL in a tab; waits for load (short or long timeout).
|
|
139
139
|
- **click_element** — Click via CSS/XPath or viewport **x**/**y** (CDP); **1s CDP hover** (mouseMoved) at the target before the click.
|
|
140
|
-
- **type_text** — Type into
|
|
140
|
+
- **type_text** — Type into the currently active input/textarea/contenteditable. Recommended flow: click target field first, verify focus/active element, then type. Optional **clear** (default true) replaces existing value first.
|
|
141
141
|
- **scroll_window** — Scroll the page (selector into view, absolute position, deltas, or direction).
|
|
142
142
|
- **capture_screenshot** — Visible viewport screenshot (PNG/JPEG).
|
|
143
143
|
- **capture_and_upload_screenshot** — Same capture, then multipart POST to \`uploadUrl\` or \`POKE_UPLOAD_URL\`; on failure returns base64 + temp path.
|
|
@@ -170,6 +170,50 @@ const BROWSER_GUIDE_MARKDOWN = `## Poke Browser MCP — agent guide
|
|
|
170
170
|
|
|
171
171
|
This avoids brittle hard-coded pixels and matches what the user actually sees.
|
|
172
172
|
|
|
173
|
+
### Input focus safety (important)
|
|
174
|
+
|
|
175
|
+
Some apps render decoy/fake inputs and move focus to a different real editor after click.
|
|
176
|
+
Before **type_text**, always follow this sequence:
|
|
177
|
+
|
|
178
|
+
1. **click_element** on the intended input/editor area.
|
|
179
|
+
2. Confirm the currently focused element with **evaluate_js**.
|
|
180
|
+
Recommended check:
|
|
181
|
+
- \`document.activeElement?.tagName\`
|
|
182
|
+
- \`document.activeElement?.id\`
|
|
183
|
+
- \`document.activeElement?.className\`
|
|
184
|
+
- \`document.activeElement?.isContentEditable\`
|
|
185
|
+
- \`document.activeElement?.getAttribute('role')\`
|
|
186
|
+
3. If focus points to the expected editor, call **type_text**.
|
|
187
|
+
- Prefer **type_text without selector** so input is sent to the real active editor.
|
|
188
|
+
- Use \`selector\` only when it exactly matches the verified focused element.
|
|
189
|
+
|
|
190
|
+
If focus is wrong, do not type yet. Click again and re-check active element before typing.
|
|
191
|
+
|
|
192
|
+
#### Focus handshake retry policy
|
|
193
|
+
|
|
194
|
+
- Retry the click + focus-check loop up to **3 times**.
|
|
195
|
+
- If focus still lands on a non-editable/decoy element, use **find_element** again with a more specific query and click a different match.
|
|
196
|
+
- After any modal, popover, rerender, or route change, re-run focus check before the next **type_text**.
|
|
197
|
+
|
|
198
|
+
#### Evaluate snippet example
|
|
199
|
+
|
|
200
|
+
\`\`\`js
|
|
201
|
+
(() => {
|
|
202
|
+
const el = document.activeElement;
|
|
203
|
+
if (!el) return { ok: false, reason: "no_active_element" };
|
|
204
|
+
return {
|
|
205
|
+
ok: true,
|
|
206
|
+
tag: el.tagName,
|
|
207
|
+
id: el.id || "",
|
|
208
|
+
className: typeof el.className === "string" ? el.className : "",
|
|
209
|
+
role: el.getAttribute?.("role") || "",
|
|
210
|
+
isContentEditable: !!el.isContentEditable,
|
|
211
|
+
type: "type" in el ? el.type : undefined,
|
|
212
|
+
ariaLabel: el.getAttribute?.("aria-label") || "",
|
|
213
|
+
};
|
|
214
|
+
})();
|
|
215
|
+
\`\`\`
|
|
216
|
+
|
|
173
217
|
### Cloudflare / cookie / bot walls
|
|
174
218
|
|
|
175
219
|
When the tab **title** is **Just a moment...** or the page shows **Verify you are human**:
|
|
@@ -198,54 +242,81 @@ Do not stop at the wall—drive the verification control explicitly.
|
|
|
198
242
|
*Call **browser_guide** any time for this reference.*`;
|
|
199
243
|
/** Flat ZodObject (required `action`) so MCP tools/list JSON Schema includes `required: ["action"]`. */
|
|
200
244
|
const ManageTabsSchema = z.object({
|
|
201
|
-
action: z
|
|
202
|
-
|
|
203
|
-
|
|
245
|
+
action: z
|
|
246
|
+
.enum(["list", "get_active", "new", "close", "switch"])
|
|
247
|
+
.describe("Tab operation to perform. Use list/get_active for discovery, new to open a tab, and close/switch with tabId."),
|
|
248
|
+
tabId: z
|
|
249
|
+
.number()
|
|
250
|
+
.int()
|
|
251
|
+
.positive()
|
|
252
|
+
.optional()
|
|
253
|
+
.describe("Required for close and switch. Ignored for list/get_active/new."),
|
|
254
|
+
url: z
|
|
255
|
+
.string()
|
|
256
|
+
.optional()
|
|
257
|
+
.describe("Optional URL for action=new. If omitted, Chrome opens a blank new tab."),
|
|
204
258
|
});
|
|
205
259
|
export function registerTools(mcp) {
|
|
206
260
|
mcp.registerTool("browser_guide", {
|
|
207
|
-
description: "Return
|
|
261
|
+
description: "Return the built-in Markdown playbook for this MCP server. Use when you need workflow guidance, tool ordering, or troubleshooting notes. No parameters.",
|
|
208
262
|
inputSchema: {},
|
|
209
263
|
}, async () => {
|
|
210
264
|
logToolCall("browser_guide", {});
|
|
211
265
|
return { content: [{ type: "text", text: BROWSER_GUIDE_MARKDOWN }] };
|
|
212
266
|
});
|
|
213
267
|
mcp.registerTool("navigate_to", {
|
|
214
|
-
description: "Navigate a tab to a URL
|
|
268
|
+
description: "Navigate a browser tab to a URL and wait for load completion. Use this before interacting with a new page. Prefer this over managetabs(new) when you want deterministic 'loaded' state in the result.",
|
|
215
269
|
inputSchema: {
|
|
216
|
-
url: z
|
|
217
|
-
|
|
270
|
+
url: z
|
|
271
|
+
.string()
|
|
272
|
+
.min(1)
|
|
273
|
+
.describe("Absolute destination URL to open, for example https://x.com/home."),
|
|
274
|
+
tabId: tabIdSchema
|
|
275
|
+
.optional()
|
|
276
|
+
.describe("Optional target tab id. If omitted, navigates the current active tab."),
|
|
218
277
|
waitForLoad: z
|
|
219
278
|
.boolean()
|
|
220
279
|
.optional()
|
|
221
|
-
.describe("If false, use
|
|
280
|
+
.describe("If false, use shorter wait (about 10s). If true/omitted, wait up to about 30s."),
|
|
222
281
|
},
|
|
223
282
|
}, async ({ url, tabId, waitForLoad }) => callTool("navigate_to", { url, tabId, waitForLoad }, PENDING_REQUEST_TIMEOUT_MS + 35_000));
|
|
224
283
|
mcp.registerTool("click_element", {
|
|
225
|
-
description: "Click
|
|
284
|
+
description: "Click an element by selector or viewport coordinates. Use selector when available; use x+y when you already resolved bounds from find_element/get_dom_snapshot. Performs hover first, then click, to support hover-activated UI. After each click, re-inspect the page before the next action.",
|
|
226
285
|
inputSchema: {
|
|
227
286
|
selector: z
|
|
228
287
|
.string()
|
|
229
288
|
.min(1)
|
|
230
289
|
.optional()
|
|
231
|
-
.describe("CSS selector,
|
|
232
|
-
x: z.number().optional().describe("Viewport X
|
|
233
|
-
y: z.number().optional().describe("Viewport Y
|
|
234
|
-
tabId: tabIdSchema.optional(),
|
|
290
|
+
.describe("CSS selector, //xpath, or xpath:expr. Provide this OR x+y."),
|
|
291
|
+
x: z.number().optional().describe("Viewport X coordinate for CDP click. Requires y."),
|
|
292
|
+
y: z.number().optional().describe("Viewport Y coordinate for CDP click. Requires x."),
|
|
293
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
235
294
|
},
|
|
236
295
|
}, async (args) => handleClickElementTool(args));
|
|
237
296
|
mcp.registerTool("type_text", {
|
|
238
|
-
description: "Type into
|
|
297
|
+
description: "Type text into the currently focused editable element (input/textarea/contenteditable). Required workflow: click target field first, verify document.activeElement, then type. This prevents writing into fake/decoy inputs used by some apps. Prefer this over execute_script/evaluate_js for realistic editor behavior.",
|
|
239
298
|
inputSchema: {
|
|
240
|
-
text: z
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
299
|
+
text: z
|
|
300
|
+
.string()
|
|
301
|
+
.describe("Exact text to type. Supports newlines. Empty string is allowed but usually unnecessary."),
|
|
302
|
+
selector: z
|
|
303
|
+
.string()
|
|
304
|
+
.min(1)
|
|
305
|
+
.optional()
|
|
306
|
+
.describe("Optional target selector. Use only after verifying focus and only when selector matches the real active editor. Safer default: omit selector after click+focus check."),
|
|
307
|
+
x: z
|
|
308
|
+
.number()
|
|
309
|
+
.optional()
|
|
310
|
+
.describe("Optional viewport X for visual cursor feedback marker only. Does not determine typing target."),
|
|
311
|
+
y: z
|
|
312
|
+
.number()
|
|
313
|
+
.optional()
|
|
314
|
+
.describe("Optional viewport Y for visual cursor feedback marker only. Does not determine typing target."),
|
|
315
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
245
316
|
clear: z
|
|
246
317
|
.boolean()
|
|
247
318
|
.optional()
|
|
248
|
-
.describe("If true (default),
|
|
319
|
+
.describe("If true (default), clear existing value before typing. If false, append/insert at current caret/selection in the active editor."),
|
|
249
320
|
},
|
|
250
321
|
}, async ({ text, selector, x, y, tabId, clear }) => callTool("type_text", {
|
|
251
322
|
text,
|
|
@@ -256,39 +327,39 @@ export function registerTools(mcp) {
|
|
|
256
327
|
clear: clear !== false,
|
|
257
328
|
}));
|
|
258
329
|
mcp.registerTool("scroll_window", {
|
|
259
|
-
description: "Scroll the
|
|
330
|
+
description: "Scroll the page using one of four modes: selector into view, absolute position, directional step, or delta offsets. Use this when content is offscreen before click/type.",
|
|
260
331
|
inputSchema: {
|
|
261
|
-
x: z.number().optional().describe("Absolute scrollLeft"),
|
|
262
|
-
y: z.number().optional().describe("Absolute scrollTop"),
|
|
263
|
-
deltaX: z.number().optional().describe("Horizontal scroll delta
|
|
264
|
-
deltaY: z.number().optional().describe("Vertical scroll delta
|
|
332
|
+
x: z.number().optional().describe("Absolute scrollLeft. Used when x or y is provided."),
|
|
333
|
+
y: z.number().optional().describe("Absolute scrollTop. Used when x or y is provided."),
|
|
334
|
+
deltaX: z.number().optional().describe("Horizontal scroll delta in pixels."),
|
|
335
|
+
deltaY: z.number().optional().describe("Vertical scroll delta in pixels."),
|
|
265
336
|
direction: z
|
|
266
337
|
.enum(["up", "down", "left", "right"])
|
|
267
338
|
.optional()
|
|
268
|
-
.describe("
|
|
339
|
+
.describe("Directional scroll mode. Use with amount for deterministic movement."),
|
|
269
340
|
amount: z
|
|
270
341
|
.number()
|
|
271
342
|
.optional()
|
|
272
|
-
.describe("
|
|
273
|
-
selector: z.string().min(1).optional().describe("Element to scroll into view"),
|
|
274
|
-
tabId: tabIdSchema.optional(),
|
|
275
|
-
behavior: z.enum(["smooth", "instant"]).optional().describe("Scroll behavior
|
|
343
|
+
.describe("Pixels to scroll in directional mode. Default is about 85% of viewport."),
|
|
344
|
+
selector: z.string().min(1).optional().describe("Element selector to scroll into view (highest precedence)."),
|
|
345
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
346
|
+
behavior: z.enum(["smooth", "instant"]).optional().describe("Scroll animation behavior. Default instant."),
|
|
276
347
|
},
|
|
277
348
|
}, async (args) => callTool("scroll_window", args));
|
|
278
349
|
mcp.registerTool("capture_screenshot", {
|
|
279
|
-
description: "Capture
|
|
350
|
+
description: "Capture a viewport screenshot of the current page. Use for visual verification, debugging, and coordinate-based actions.",
|
|
280
351
|
inputSchema: {
|
|
281
|
-
tabId: tabIdSchema.optional().describe("Tab to capture
|
|
352
|
+
tabId: tabIdSchema.optional().describe("Tab to capture. Defaults to active tab in focused window."),
|
|
282
353
|
format: z
|
|
283
354
|
.enum(["png", "jpeg"])
|
|
284
355
|
.optional()
|
|
285
|
-
.describe("
|
|
356
|
+
.describe("Output image format. Default png."),
|
|
286
357
|
quality: z
|
|
287
358
|
.number()
|
|
288
359
|
.min(0)
|
|
289
360
|
.max(100)
|
|
290
361
|
.optional()
|
|
291
|
-
.describe("JPEG quality 0
|
|
362
|
+
.describe("JPEG quality 0-100; ignored unless format=jpeg."),
|
|
292
363
|
},
|
|
293
364
|
}, async ({ tabId, format, quality }) => {
|
|
294
365
|
logToolCall("capture_screenshot", { tabId, format, quality });
|
|
@@ -328,24 +399,24 @@ export function registerTools(mcp) {
|
|
|
328
399
|
}
|
|
329
400
|
});
|
|
330
401
|
mcp.registerTool("capture_and_upload_screenshot", {
|
|
331
|
-
description: "Capture
|
|
402
|
+
description: "Capture a viewport screenshot and upload it via multipart/form-data. Use when downstream systems need a hosted image URL. Falls back to base64 + local temp file when upload is unavailable or fails.",
|
|
332
403
|
inputSchema: {
|
|
333
|
-
tabId: tabIdSchema.optional().describe("Tab to capture
|
|
404
|
+
tabId: tabIdSchema.optional().describe("Tab to capture. Defaults to active tab in focused window."),
|
|
334
405
|
format: z
|
|
335
406
|
.enum(["png", "jpeg"])
|
|
336
407
|
.optional()
|
|
337
|
-
.describe("
|
|
408
|
+
.describe("Output image format. Default png."),
|
|
338
409
|
quality: z
|
|
339
410
|
.number()
|
|
340
411
|
.min(0)
|
|
341
412
|
.max(100)
|
|
342
413
|
.optional()
|
|
343
|
-
.describe("JPEG quality 0
|
|
414
|
+
.describe("JPEG quality 0-100; ignored unless format=jpeg."),
|
|
344
415
|
uploadUrl: z
|
|
345
416
|
.string()
|
|
346
417
|
.min(1)
|
|
347
418
|
.optional()
|
|
348
|
-
.describe("
|
|
419
|
+
.describe("Upload endpoint URL. If omitted, uses env POKE_UPLOAD_URL when configured."),
|
|
349
420
|
},
|
|
350
421
|
}, async ({ tabId, format, quality, uploadUrl }) => {
|
|
351
422
|
logToolCall("capture_and_upload_screenshot", { tabId, format, quality, uploadUrl });
|
|
@@ -399,11 +470,11 @@ export function registerTools(mcp) {
|
|
|
399
470
|
}
|
|
400
471
|
});
|
|
401
472
|
mcp.registerTool("full_page_capture", {
|
|
402
|
-
description: "Capture a full-page screenshot by scrolling
|
|
473
|
+
description: "Capture a stitched full-page screenshot by scrolling and combining strips. Use when viewport screenshot is insufficient. Slower than capture_screenshot and may duplicate sticky/fixed UI.",
|
|
403
474
|
inputSchema: {
|
|
404
|
-
tabId: tabIdSchema.optional(),
|
|
405
|
-
format: z.enum(["png", "jpeg"]).optional(),
|
|
406
|
-
quality: z.number().min(0).max(100).optional().describe("JPEG quality
|
|
475
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
476
|
+
format: z.enum(["png", "jpeg"]).optional().describe("Output image format. Default png."),
|
|
477
|
+
quality: z.number().min(0).max(100).optional().describe("JPEG quality 0-100; only for format=jpeg."),
|
|
407
478
|
},
|
|
408
479
|
}, async ({ tabId, format, quality }) => {
|
|
409
480
|
logToolCall("full_page_capture", { tabId, format, quality });
|
|
@@ -443,26 +514,26 @@ export function registerTools(mcp) {
|
|
|
443
514
|
}
|
|
444
515
|
});
|
|
445
516
|
mcp.registerTool("pdf_export", {
|
|
446
|
-
description: "Export the
|
|
517
|
+
description: "Export the page to PDF using CDP Page.printToPDF. Use for printable artifacts instead of screenshots.",
|
|
447
518
|
inputSchema: {
|
|
448
|
-
tabId: tabIdSchema.optional(),
|
|
449
|
-
landscape: z.boolean().optional(),
|
|
450
|
-
scale: z.number().positive().max(2).optional().describe("
|
|
519
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
520
|
+
landscape: z.boolean().optional().describe("Render PDF in landscape orientation when true."),
|
|
521
|
+
scale: z.number().positive().max(2).optional().describe("Print scale factor. Default 1."),
|
|
451
522
|
},
|
|
452
523
|
}, async ({ tabId, landscape, scale }) => callTool("pdf_export", { tabId, landscape, scale }, 120_000));
|
|
453
524
|
mcp.registerTool("device_emulate", {
|
|
454
|
-
description: "
|
|
525
|
+
description: "Emulate device viewport metrics (mobile/tablet/desktop) and optional user-agent override. Use before responsive layout checks or device-specific flows.",
|
|
455
526
|
inputSchema: {
|
|
456
|
-
tabId: tabIdSchema.optional(),
|
|
457
|
-
device: z.enum(["mobile", "tablet", "desktop"]).optional().describe("Preset
|
|
458
|
-
width: z.number().int().positive().optional(),
|
|
459
|
-
height: z.number().int().positive().optional(),
|
|
460
|
-
deviceScaleFactor: z.number().positive().optional(),
|
|
461
|
-
userAgent: z.string().optional(),
|
|
527
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
528
|
+
device: z.enum(["mobile", "tablet", "desktop"]).optional().describe("Preset metrics profile. Default desktop."),
|
|
529
|
+
width: z.number().int().positive().optional().describe("Override viewport width in CSS pixels."),
|
|
530
|
+
height: z.number().int().positive().optional().describe("Override viewport height in CSS pixels."),
|
|
531
|
+
deviceScaleFactor: z.number().positive().optional().describe("Override pixel ratio / device scale factor."),
|
|
532
|
+
userAgent: z.string().optional().describe("Optional user-agent override string."),
|
|
462
533
|
},
|
|
463
534
|
}, async ({ tabId, device, width, height, deviceScaleFactor, userAgent }) => callTool("device_emulate", { tabId, device, width, height, deviceScaleFactor, userAgent }, 30_000));
|
|
464
535
|
mcp.registerTool("managetabs", {
|
|
465
|
-
description: "
|
|
536
|
+
description: "Manage browser tabs: list, get active, open, close, or switch. Use this for tab orchestration; use navigate_to for load-aware URL navigation.",
|
|
466
537
|
inputSchema: ManageTabsSchema,
|
|
467
538
|
}, async (args) => {
|
|
468
539
|
logToolCall("managetabs", args);
|
|
@@ -484,21 +555,21 @@ export function registerTools(mcp) {
|
|
|
484
555
|
}
|
|
485
556
|
});
|
|
486
557
|
mcp.registerTool("evaluate_js", {
|
|
487
|
-
description: "Evaluate JavaScript in the page
|
|
558
|
+
description: "Evaluate JavaScript in the page context via content-script relay. Use for lightweight reads/computations. Prefer dedicated tools (find_element, click_element, type_text) for interactions.",
|
|
488
559
|
inputSchema: {
|
|
489
|
-
code: z.string().min(1).describe("JavaScript
|
|
490
|
-
tabId: tabIdSchema.optional(),
|
|
560
|
+
code: z.string().min(1).describe("JavaScript expression or statement block to run in page context."),
|
|
561
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
491
562
|
timeoutMs: z
|
|
492
563
|
.number()
|
|
493
564
|
.int()
|
|
494
565
|
.positive()
|
|
495
566
|
.max(120_000)
|
|
496
567
|
.optional()
|
|
497
|
-
.describe("
|
|
568
|
+
.describe("Execution timeout in milliseconds. Use higher values for heavy page scripts."),
|
|
498
569
|
},
|
|
499
570
|
}, async ({ code, tabId, timeoutMs }) => callTool("evaluate_js", { code, tabId, timeoutMs }, EVALUATE_JS_TIMEOUT_MS));
|
|
500
571
|
mcp.registerTool("get_dom_snapshot", {
|
|
501
|
-
description: "
|
|
572
|
+
description: "Return a compact DOM tree snapshot with structure, text, roles, bounds, and interactivity hints. Use for broad page understanding and multi-step planning.",
|
|
502
573
|
inputSchema: {
|
|
503
574
|
tabId: tabIdSchema.optional().describe("Tab to read; defaults to active tab in focused window"),
|
|
504
575
|
includeHidden: z
|
|
@@ -515,9 +586,9 @@ export function registerTools(mcp) {
|
|
|
515
586
|
},
|
|
516
587
|
}, async ({ tabId, includeHidden, maxDepth }) => callTool("get_dom_snapshot", { tabId, includeHidden, maxDepth }, EVALUATE_JS_TIMEOUT_MS));
|
|
517
588
|
mcp.registerTool("get_accessibility_tree", {
|
|
518
|
-
description: "
|
|
589
|
+
description: "Return a flattened accessibility-oriented view: role/name/selector/state in reading order. Use when semantic targeting is more reliable than raw DOM shape.",
|
|
519
590
|
inputSchema: {
|
|
520
|
-
tabId: tabIdSchema.optional(),
|
|
591
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
521
592
|
interactiveOnly: z
|
|
522
593
|
.boolean()
|
|
523
594
|
.optional()
|
|
@@ -525,104 +596,107 @@ export function registerTools(mcp) {
|
|
|
525
596
|
},
|
|
526
597
|
}, async ({ tabId, interactiveOnly }) => callTool("get_accessibility_tree", { tabId, interactiveOnly }, EVALUATE_JS_TIMEOUT_MS));
|
|
527
598
|
mcp.registerTool("find_element", {
|
|
528
|
-
description: "Find up to 5 elements by CSS
|
|
599
|
+
description: "Find up to 5 matching elements by CSS, text, ARIA-like attributes, or XPath. Use this before click/type to obtain robust selectors and bounds. Prefer this over guessing coordinates.",
|
|
529
600
|
inputSchema: {
|
|
530
|
-
query: z
|
|
531
|
-
|
|
601
|
+
query: z
|
|
602
|
+
.string()
|
|
603
|
+
.min(1)
|
|
604
|
+
.describe("Search query: selector, visible text snippet, aria/title/alt text, or xpath expression."),
|
|
605
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
532
606
|
strategy: z
|
|
533
607
|
.enum(["auto", "css", "text", "aria", "xpath"])
|
|
534
608
|
.optional()
|
|
535
|
-
.describe("Matching strategy
|
|
609
|
+
.describe("Matching strategy. auto tries css -> text -> aria."),
|
|
536
610
|
},
|
|
537
611
|
}, async ({ query, tabId, strategy }) => callTool("find_element", { query, tabId, strategy }, EVALUATE_JS_TIMEOUT_MS));
|
|
538
612
|
mcp.registerTool("read_page", {
|
|
539
|
-
description: "Extract page content as structured
|
|
613
|
+
description: "Extract readable page content as structured JSON, plain text, or lightweight markdown. Use this for content understanding rather than interaction.",
|
|
540
614
|
inputSchema: {
|
|
541
|
-
tabId: tabIdSchema.optional(),
|
|
615
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
542
616
|
format: z
|
|
543
617
|
.enum(["markdown", "text", "structured"])
|
|
544
618
|
.optional()
|
|
545
|
-
.describe("structured (default), text, or markdown"),
|
|
619
|
+
.describe("Output format: structured (default), text, or markdown."),
|
|
546
620
|
},
|
|
547
621
|
}, async ({ tabId, format }) => callTool("read_page", { tabId, format }, EVALUATE_JS_TIMEOUT_MS));
|
|
548
622
|
mcp.registerTool("wait_for_selector", {
|
|
549
|
-
description: "
|
|
623
|
+
description: "Wait until an element exists (and optionally is visible). Use after actions that trigger async rendering, route changes, or delayed widgets.",
|
|
550
624
|
inputSchema: {
|
|
551
625
|
selector: z
|
|
552
626
|
.string()
|
|
553
627
|
.min(1)
|
|
554
628
|
.describe("CSS selector, '//xpath', or 'xpath:expr' (same as find_element)"),
|
|
555
|
-
tabId: tabIdSchema.optional(),
|
|
629
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
556
630
|
timeout: z
|
|
557
631
|
.number()
|
|
558
632
|
.int()
|
|
559
633
|
.positive()
|
|
560
634
|
.max(120_000)
|
|
561
635
|
.optional()
|
|
562
|
-
.describe("
|
|
636
|
+
.describe("Maximum wait in milliseconds. Default 10000."),
|
|
563
637
|
visible: z
|
|
564
638
|
.boolean()
|
|
565
639
|
.optional()
|
|
566
|
-
.describe("If true, require
|
|
640
|
+
.describe("If true, require element to be visually present (not display:none, hidden, or fully transparent)."),
|
|
567
641
|
},
|
|
568
642
|
}, async ({ selector, tabId, timeout, visible }) => {
|
|
569
643
|
const t = timeout ?? 10_000;
|
|
570
644
|
return callTool("wait_for_selector", { selector, tabId, timeout: t, visible }, t + 3000);
|
|
571
645
|
});
|
|
572
646
|
mcp.registerTool("execute_script", {
|
|
573
|
-
description: "
|
|
647
|
+
description: "Execute async JavaScript via chrome.scripting with extension privileges. Use when evaluate_js is blocked by page constraints or you need script arguments/results in one call.",
|
|
574
648
|
inputSchema: {
|
|
575
|
-
script: z.string().min(1).describe("JavaScript
|
|
576
|
-
tabId: tabIdSchema.optional(),
|
|
577
|
-
args: z.array(z.unknown()).optional().describe("
|
|
649
|
+
script: z.string().min(1).describe("JavaScript function body executed as an async IIFE."),
|
|
650
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
651
|
+
args: z.array(z.unknown()).optional().describe("Arguments array exposed inside the script as `args`."),
|
|
578
652
|
},
|
|
579
653
|
}, async ({ script, tabId, args }) => callTool("execute_script", { script, tabId, args: args ?? [] }, 60_000));
|
|
580
654
|
mcp.registerTool("error_reporter", {
|
|
581
|
-
description: "Return
|
|
655
|
+
description: "Return uncaught errors and unhandled promise rejections from the page context. Use this to diagnose runtime failures after interactions.",
|
|
582
656
|
inputSchema: {
|
|
583
|
-
tabId: tabIdSchema.optional(),
|
|
657
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
584
658
|
limit: z.number().int().positive().max(200).optional().describe("Max entries (default 50)"),
|
|
585
659
|
},
|
|
586
660
|
}, async ({ tabId, limit }) => callTool("error_reporter", { tabId, limit: limit ?? 50 }));
|
|
587
661
|
mcp.registerTool("get_performance_metrics", {
|
|
588
|
-
description: "
|
|
662
|
+
description: "Return performance metrics (navigation timings, paint timings, JS heap) via CDP. Use for quick perf triage without full profiling.",
|
|
589
663
|
inputSchema: {
|
|
590
|
-
tabId: tabIdSchema.optional(),
|
|
664
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
591
665
|
},
|
|
592
666
|
}, async ({ tabId }) => callTool("get_performance_metrics", { tabId }, EVALUATE_JS_TIMEOUT_MS));
|
|
593
667
|
mcp.registerTool("get_console_logs", {
|
|
594
|
-
description: "Read console
|
|
668
|
+
description: "Read buffered console logs captured by the content script. Use for debugging page behavior and script errors.",
|
|
595
669
|
inputSchema: {
|
|
596
|
-
tabId: tabIdSchema.optional(),
|
|
670
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
597
671
|
level: z.enum(["all", "error", "warn", "info", "log"]).optional().describe("Filter (default all)"),
|
|
598
672
|
limit: z.number().int().positive().max(500).optional().describe("Max entries (default 100)"),
|
|
599
673
|
},
|
|
600
674
|
}, async ({ tabId, level, limit }) => callTool("get_console_logs", { tabId, level: level ?? "all", limit: limit ?? 100 }));
|
|
601
675
|
mcp.registerTool("clear_console_logs", {
|
|
602
|
-
description: "Clear
|
|
676
|
+
description: "Clear buffered console logs for a tab.",
|
|
603
677
|
inputSchema: {
|
|
604
|
-
tabId: tabIdSchema.optional(),
|
|
678
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
605
679
|
},
|
|
606
680
|
}, async ({ tabId }) => callTool("clear_console_logs", { tabId }));
|
|
607
681
|
mcp.registerTool("start_network_capture", {
|
|
608
|
-
description: "
|
|
682
|
+
description: "Start capturing network traffic for a tab and reset its in-memory buffer. Call this before reproducing a request flow you want to inspect.",
|
|
609
683
|
inputSchema: {
|
|
610
|
-
tabId: tabIdSchema.optional(),
|
|
684
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
611
685
|
},
|
|
612
686
|
}, async ({ tabId }) => callTool("start_network_capture", { tabId }));
|
|
613
687
|
mcp.registerTool("stop_network_capture", {
|
|
614
|
-
description: "
|
|
688
|
+
description: "Stop network capture for a tab (no new network events recorded).",
|
|
615
689
|
inputSchema: {
|
|
616
|
-
tabId: tabIdSchema.optional(),
|
|
690
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
617
691
|
},
|
|
618
692
|
}, async ({ tabId }) => callTool("stop_network_capture", { tabId }));
|
|
619
693
|
mcp.registerTool("get_network_logs", {
|
|
620
|
-
description: "Return buffered network requests for a tab. Optionally include response bodies
|
|
694
|
+
description: "Return buffered network requests for a tab. Optionally include response bodies. Use start_network_capture first to collect fresh traffic.",
|
|
621
695
|
inputSchema: {
|
|
622
|
-
tabId: tabIdSchema.optional(),
|
|
623
|
-
filter: z.string().optional().describe("
|
|
624
|
-
limit: z.number().int().positive().max(200).optional().describe("
|
|
625
|
-
includeBody: z.boolean().optional().describe("
|
|
696
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
697
|
+
filter: z.string().optional().describe("Optional substring filter applied to request URL."),
|
|
698
|
+
limit: z.number().int().positive().max(200).optional().describe("Maximum entries to return. Default 50."),
|
|
699
|
+
includeBody: z.boolean().optional().describe("Include response bodies for completed requests. Slower."),
|
|
626
700
|
},
|
|
627
701
|
}, async ({ tabId, filter, limit, includeBody }) => callTool("get_network_logs", {
|
|
628
702
|
tabId,
|
|
@@ -631,76 +705,84 @@ export function registerTools(mcp) {
|
|
|
631
705
|
includeBody: includeBody === true,
|
|
632
706
|
}, includeBody === true ? 60_000 : PENDING_REQUEST_TIMEOUT_MS));
|
|
633
707
|
mcp.registerTool("clear_network_logs", {
|
|
634
|
-
description: "Clear
|
|
708
|
+
description: "Clear buffered network logs for a tab.",
|
|
635
709
|
inputSchema: {
|
|
636
|
-
tabId: tabIdSchema.optional(),
|
|
710
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
637
711
|
},
|
|
638
712
|
}, async ({ tabId }) => callTool("clear_network_logs", { tabId }));
|
|
639
713
|
mcp.registerTool("hover_element", {
|
|
640
|
-
description: "Hover
|
|
714
|
+
description: "Hover over an element by selector or coordinates. Use to reveal hover menus/tooltips before clicking.",
|
|
641
715
|
inputSchema: {
|
|
642
|
-
selector: z.string().min(1).optional(),
|
|
643
|
-
x: z.number().optional(),
|
|
644
|
-
y: z.number().optional(),
|
|
645
|
-
tabId: tabIdSchema.optional(),
|
|
716
|
+
selector: z.string().min(1).optional().describe("Target selector (CSS/XPath). Provide this OR x+y."),
|
|
717
|
+
x: z.number().optional().describe("Viewport X coordinate for CDP hover. Requires y."),
|
|
718
|
+
y: z.number().optional().describe("Viewport Y coordinate for CDP hover. Requires x."),
|
|
719
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
646
720
|
},
|
|
647
721
|
}, async ({ selector, x, y, tabId }) => callTool("hover_element", { selector, x, y, tabId }));
|
|
648
722
|
const fillFormFieldSchema = z.object({
|
|
649
|
-
selector: z.string().min(1),
|
|
650
|
-
value: z.string(),
|
|
651
|
-
type: z
|
|
723
|
+
selector: z.string().min(1).describe("Field selector (CSS/XPath)."),
|
|
724
|
+
value: z.string().describe("Value to apply to the matched field."),
|
|
725
|
+
type: z
|
|
726
|
+
.enum(["text", "select", "checkbox", "radio", "file"])
|
|
727
|
+
.optional()
|
|
728
|
+
.describe("Optional field type hint. Usually inferred automatically."),
|
|
652
729
|
});
|
|
653
730
|
mcp.registerTool("script_inject", {
|
|
654
|
-
description: "Inject a
|
|
731
|
+
description: "Inject a classic <script> tag into the page DOM (main world). Use when code must run as true page script rather than isolated execution contexts. Supports optional persistent re-injection by origin.",
|
|
655
732
|
inputSchema: {
|
|
656
|
-
script: z.string().min(1).describe("JavaScript source
|
|
657
|
-
tabId: tabIdSchema.optional(),
|
|
658
|
-
persistent: z.boolean().optional().describe("
|
|
733
|
+
script: z.string().min(1).describe("JavaScript source inserted as a classic script tag."),
|
|
734
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
735
|
+
persistent: z.boolean().optional().describe("Persist script for future loads on same origin."),
|
|
659
736
|
runAt: z
|
|
660
737
|
.enum(["document_start", "document_end", "document_idle"])
|
|
661
738
|
.optional()
|
|
662
|
-
.describe("
|
|
739
|
+
.describe("Injection timing. Default document_idle."),
|
|
663
740
|
},
|
|
664
741
|
}, async ({ script, tabId, persistent, runAt }) => callTool("script_inject", { script, tabId, persistent, runAt: runAt ?? "document_idle" }, EVALUATE_JS_TIMEOUT_MS));
|
|
665
742
|
mcp.registerTool("cookie_manager", {
|
|
666
|
-
description: "Read/write/delete cookies via chrome.cookies
|
|
743
|
+
description: "Read/write/delete browser cookies via chrome.cookies. Use this for session setup, auth checks, and cookie cleanup.",
|
|
667
744
|
inputSchema: {
|
|
668
|
-
action: z
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
745
|
+
action: z
|
|
746
|
+
.enum(["get", "get_all", "set", "delete", "delete_all"])
|
|
747
|
+
.describe("Cookie operation to run."),
|
|
748
|
+
url: z.string().optional().describe("Cookie URL scope. Often required for get/set/delete."),
|
|
749
|
+
name: z.string().optional().describe("Cookie name (required for get/set/delete)."),
|
|
750
|
+
value: z.string().optional().describe("Cookie value (required for set)."),
|
|
751
|
+
domain: z.string().optional().describe("Cookie domain (used by get_all/delete_all and some set cases)."),
|
|
752
|
+
path: z.string().optional().describe("Cookie path scope."),
|
|
753
|
+
secure: z.boolean().optional().describe("Set secure attribute when action=set."),
|
|
754
|
+
httpOnly: z.boolean().optional().describe("Set httpOnly attribute when action=set."),
|
|
755
|
+
expirationDate: z.number().optional().describe("Unix timestamp expiry for action=set."),
|
|
756
|
+
tabId: tabIdSchema.optional().describe("Use tab URL when url is omitted."),
|
|
678
757
|
},
|
|
679
758
|
}, async (args) => callTool("cookie_manager", args, PENDING_REQUEST_TIMEOUT_MS));
|
|
680
759
|
mcp.registerTool("fill_form", {
|
|
681
|
-
description: "Fill multiple form fields in one
|
|
760
|
+
description: "Fill multiple form fields in one call. Use for deterministic multi-field form completion with optional submit.",
|
|
682
761
|
inputSchema: {
|
|
683
|
-
fields: z.array(fillFormFieldSchema).min(1),
|
|
684
|
-
tabId: tabIdSchema.optional(),
|
|
685
|
-
submitAfter: z.boolean().optional(),
|
|
686
|
-
submitSelector: z
|
|
762
|
+
fields: z.array(fillFormFieldSchema).min(1).describe("Fields to fill in order."),
|
|
763
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
764
|
+
submitAfter: z.boolean().optional().describe("Submit form after filling fields."),
|
|
765
|
+
submitSelector: z
|
|
766
|
+
.string()
|
|
767
|
+
.optional()
|
|
768
|
+
.describe("Optional submit control selector. If omitted, uses first submit control in same form."),
|
|
687
769
|
},
|
|
688
770
|
}, async ({ fields, tabId, submitAfter, submitSelector }) => callTool("fill_form", { fields, tabId, submitAfter, submitSelector }, EVALUATE_JS_TIMEOUT_MS));
|
|
689
771
|
mcp.registerTool("get_storage", {
|
|
690
|
-
description: "Read localStorage, sessionStorage
|
|
772
|
+
description: "Read storage values from localStorage, sessionStorage, or cookies. Use key for one value or omit to fetch full map.",
|
|
691
773
|
inputSchema: {
|
|
692
|
-
type: z.enum(["local", "session", "cookie"]),
|
|
693
|
-
key: z.string().optional(),
|
|
694
|
-
tabId: tabIdSchema.optional(),
|
|
774
|
+
type: z.enum(["local", "session", "cookie"]).describe("Storage backend to read."),
|
|
775
|
+
key: z.string().optional().describe("Optional key name. Omit to return all keys/values."),
|
|
776
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
695
777
|
},
|
|
696
778
|
}, async ({ type, key, tabId }) => callTool("get_storage", { type, key, tabId }, EVALUATE_JS_TIMEOUT_MS));
|
|
697
779
|
mcp.registerTool("set_storage", {
|
|
698
|
-
description: "Write
|
|
780
|
+
description: "Write one key/value to localStorage or sessionStorage for the page origin.",
|
|
699
781
|
inputSchema: {
|
|
700
|
-
type: z.enum(["local", "session"]),
|
|
701
|
-
key: z.string().min(1),
|
|
702
|
-
value: z.string(),
|
|
703
|
-
tabId: tabIdSchema.optional(),
|
|
782
|
+
type: z.enum(["local", "session"]).describe("Storage backend to write."),
|
|
783
|
+
key: z.string().min(1).describe("Storage key to set."),
|
|
784
|
+
value: z.string().describe("String value to store."),
|
|
785
|
+
tabId: tabIdSchema.optional().describe("Optional target tab id; defaults to active tab."),
|
|
704
786
|
},
|
|
705
787
|
}, async ({ type, key, value, tabId }) => callTool("set_storage", { type, key, value, tabId }, PENDING_REQUEST_TIMEOUT_MS));
|
|
706
788
|
}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,kCAAkC,EAClC,QAAQ,EACR,yBAAyB,EACzB,QAAQ,EACR,0BAA0B,EAC1B,cAAc,GAEf,MAAM,gBAAgB,CAAC;AAExB,qFAAqF;AACrF,SAAS,WAAW,CAAC,IAAY,EAAE,IAAa;IAC9C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,8GAA8G;AAC9G,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,OAAO,GACT,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC;QACtD,CAAC,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;QAC5C,SAAS,CAAC;IACZ,IAAI,GAAG,GACL,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC;QAC9C,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QACxD,SAAS,CAAC;IACZ,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,OAAO;YACL,OAAO;gBACP,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC5C,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClC,SAAS,CAAC;QACZ,GAAG;YACD,GAAG;gBACH,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;gBACpC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;gBAC9C,SAAS,CAAC;IACd,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,MAAc,EAAE,MAAsB;IAC/E,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACnF,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,OAAyB,EACzB,OAAgB,EAChB,YAAoB,0BAA0B;AAC9C;;;GAGG;AACH,KAAsB;IAEtB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,WAAW,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,kCAAkC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAKrC;IACC,MAAM,SAAS,GAAG,0BAA0B,GAAG,4BAA4B,GAAG,IAAI,CAAC;IACnF,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,kCAAkC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAExE,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;YACjF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;YACrF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,CAAC,oDAAoD,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEhD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA6GuB,CAAC;AAEvD,wGAAwG;AACxG,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SACtD,QAAQ,CACP,8GAA8G,CAC/G;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;CACtF,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,GAAc;IAC1C,GAAG,CAAC,YAAY,CACd,eAAe,EACf;QACE,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,aAAa,EACb;QACE,WAAW,EACT,uMAAuM;QACzM,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,mEAAmE,CAAC;YAChF,KAAK,EAAE,WAAW;iBACf,QAAQ,EAAE;iBACV,QAAQ,CAAC,uEAAuE,CAAC;YACpF,WAAW,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gFAAgF,CAAC;SAC9F;KACF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CACpC,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,0BAA0B,GAAG,MAAM,CAAC,CAC5F,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,eAAe,EACf;QACE,WAAW,EACT,gSAAgS;QAClS,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACrF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACrF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAC7C,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,WAAW,EACX;QACE,WAAW,EACT,2TAA2T;QAC7T,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,yFAAyF,CAAC;YACtG,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CACP,uKAAuK,CACxK;YACH,CAAC,EAAE,CAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;YACH,CAAC,EAAE,CAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;YACH,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,iIAAiI,CAClI;SACJ;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAC/C,QAAQ,CAAC,WAAW,EAAE;QACpB,IAAI;QACJ,QAAQ;QACR,CAAC;QACD,CAAC;QACD,KAAK;QACL,KAAK,EAAE,KAAK,KAAK,KAAK;KACvB,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,eAAe,EACf;QACE,WAAW,EACT,2KAA2K;QAC7K,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACvF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC1E,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACrC,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;YACtF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YAC7G,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SAC3G;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAChD,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,oBAAoB,EACpB;QACE,WAAW,EACT,0HAA0H;QAC5H,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YACnG,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACrB,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;SAC/D;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAA2B,EAAE;QAC5D,WAAW,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,kCAAkC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,YAAY,EACZ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,EAAE,EAC3C,0BAA0B,CAC3B,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC,mDAAmD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC;oBACE,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC/C,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;iBACtD;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,OAAO,GAA8B;gBACzC;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;aACF,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,+BAA+B,EAC/B;QACE,WAAW,EACT,uMAAuM;QACzM,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YACnG,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACrB,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAA2B,EAAE;QACvE,WAAW,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,kCAAkC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC;QACpC,MAAM,cAAc,GAClB,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC3F,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;gBACpC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,YAAY,EACZ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EACvC,0BAA0B,CAC3B,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC,mDAAmD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEjC,MAAM,QAAQ,GAAG,KAAK,IAA6B,EAAE;gBACnD,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACzE,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC;YAEF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC9E,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE7F,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;YAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,mBAAmB,EACnB;QACE,WAAW,EACT,4LAA4L;QAC9L,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACxF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACrG;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAA2B,EAAE;QAC5D,WAAW,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,kCAAkC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,mBAAmB,EACnB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,EAAE,EAC3C,OAAO,CACR,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC,0DAA0D,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC;oBACE,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC/C,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;iBACtD;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,OAAO,GAA8B;gBACzC;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;aACF,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,YAAY,EACZ;QACE,WAAW,EACT,uGAAuG;QACzG,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAC5F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACpC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAC/D,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,gBAAgB,EAChB;QACE,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAC/G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAChG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAClG,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC3G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,CACvE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,CACrG,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,YAAY,EACZ;QACE,WAAW,EACT,+IAA+I;QACjJ,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,IAAI,EAA2B,EAAE;QACtC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChC,IACE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;YACrD,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAC1D,CAAC;YACD,OAAO,SAAS,CAAC,kDAAkD,CAAC,CAAC;QACvE,CAAC;QACD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACtE,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAC3E,KAAK,KAAK;gBACR,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACnF,KAAK,OAAO;gBACV,OAAO,QAAQ,CACb,WAAW,EACX,EAAE,KAAK,EAAE,IAAI,CAAC,KAAe,EAAE,EAC/B,0BAA0B,EAC1B,KAAK,CACN,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,QAAQ,CACb,YAAY,EACZ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAe,EAAE,EAC/B,0BAA0B,EAC1B,KAAK,CACN,CAAC;QACN,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,aAAa,EACb;QACE,WAAW,EACT,6LAA6L;QAC/L,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kEAAkE,CAAC;YACpG,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CAAC,8EAA8E,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACnC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC,CAC9E,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,kBAAkB,EAClB;QACE,WAAW,EACT,4JAA4J;QAC9J,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YAC/F,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+FAA+F,CAAC;YAC5G,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC3C,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,sBAAsB,CAAC,CAC3F,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,wBAAwB,EACxB;QACE,WAAW,EACT,6JAA6J;QAC/J,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;SAC9E;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CACnC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,sBAAsB,CAAC,CACzF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,cAAc,EACd;QACE,WAAW,EACT,uLAAuL;QACzL,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,yFAAyF,CAAC;YACtG,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;SAClE;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CACnC,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,CAAC,CAC/E,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,WAAW,EACX;QACE,WAAW,EACT,oJAAoJ;QACtJ,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;iBACxC,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;SACvE;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC1B,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,CACnE,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,mBAAmB,EACnB;QACE,WAAW,EACT,8IAA8I;QAChJ,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,mGAAmG,CACpG;SACJ;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,MAAM,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC;QAC5B,OAAO,QAAQ,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3F,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,gBAAgB,EAChB;QACE,WAAW,EACT,gLAAgL;QAClL,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACzF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACvG;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAChC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAC1E,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,gBAAgB,EAChB;QACE,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,CACtF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,yBAAyB,EACzB;QACE,WAAW,EACT,oIAAoI;QACtI,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAC5F,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,kBAAkB,EAClB;QACE,WAAW,EACT,+GAA+G;QACjH,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAClG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SAC7F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAChC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC,CACtF,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,oBAAoB,EACpB;QACE,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAC/D,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,uBAAuB,EACvB;QACE,WAAW,EACT,4IAA4I;QAC9I,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAClE,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,sBAAsB,EACtB;QACE,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,CACjE,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,kBAAkB,EAClB;QACE,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YACzG,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;SACxG;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAC9C,QAAQ,CACN,kBAAkB,EAClB;QACE,KAAK;QACL,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,WAAW,EAAE,WAAW,KAAK,IAAI;KAClC,EACD,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAC3D,CACJ,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,oBAAoB,EACpB;QACE,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAC/D,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,eAAe,EACf;QACE,WAAW,EACT,uGAAuG;QACzG,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACpG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACrF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACrF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC1F,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAClE,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aACrD,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;KACzE,CAAC,CAAC;IAEH,GAAG,CAAC,YAAY,CACd,eAAe,EACf;QACE,WAAW,EACT,wMAAwM;QAC1M,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACzF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC9F,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;iBACzD,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7C,QAAQ,CACN,eAAe,EACf,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,eAAe,EAAE,EAC9D,sBAAsB,CACvB,CACJ,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,gBAAgB,EAChB;QACE,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;iBACvD,QAAQ,CAAC,0BAA0B,CAAC;YACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YAC3F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAClF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACzE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YACxG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC1D,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACpF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACvF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SAC3E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAC7E,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,WAAW,EACX;QACE,WAAW,EACT,gHAAgH;QAClH,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACjF,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uFAAuF,CAAC;SACrG;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,CACvD,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,sBAAsB,CAAC,CAChG,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,aAAa,EACb;QACE,WAAW,EACT,qHAAqH;QACvH,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACjF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACzF,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CACtG,CAAC;IAEF,GAAG,CAAC,YAAY,CACd,aAAa,EACb;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACxE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACpD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACpC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CACnF,CAAC;AACJ,CAAC"}
|
package/extension/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "poke-browser",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.8",
|
|
4
4
|
"description": "MCP server + WebSocket bridge for the poke-browser Chrome extension",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@semantic-release/changelog": "^6.0.3",
|
|
57
57
|
"@semantic-release/commit-analyzer": "^13.0.0",
|
|
58
|
+
"@semantic-release/exec": "^7.1.0",
|
|
58
59
|
"@semantic-release/git": "^10.0.1",
|
|
59
60
|
"@semantic-release/github": "^11.0.0",
|
|
60
61
|
"@semantic-release/npm": "^12.0.1",
|