codeloop-mcp-server 0.1.47 → 0.1.49
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/auth/critical_floors.d.ts +8 -4
- package/dist/auth/critical_floors.d.ts.map +1 -1
- package/dist/auth/critical_floors.js +16 -16
- package/dist/auth/critical_floors.js.map +1 -1
- package/dist/auth/init_hint_cache.d.ts +35 -0
- package/dist/auth/init_hint_cache.d.ts.map +1 -0
- package/dist/auth/init_hint_cache.js +143 -0
- package/dist/auth/init_hint_cache.js.map +1 -0
- package/dist/evidence/screenshot_diff.d.ts +23 -0
- package/dist/evidence/screenshot_diff.d.ts.map +1 -1
- package/dist/evidence/screenshot_diff.js +46 -13
- package/dist/evidence/screenshot_diff.js.map +1 -1
- package/dist/index.js +484 -32
- package/dist/index.js.map +1 -1
- package/dist/runners/csproj_output_path.d.ts +22 -0
- package/dist/runners/csproj_output_path.d.ts.map +1 -0
- package/dist/runners/csproj_output_path.js +108 -0
- package/dist/runners/csproj_output_path.js.map +1 -0
- package/dist/runners/png_dims.d.ts +20 -0
- package/dist/runners/png_dims.d.ts.map +1 -0
- package/dist/runners/png_dims.js +58 -0
- package/dist/runners/png_dims.js.map +1 -0
- package/dist/runners/window_manager.d.ts +51 -4
- package/dist/runners/window_manager.d.ts.map +1 -1
- package/dist/runners/window_manager.js +348 -9
- package/dist/runners/window_manager.js.map +1 -1
- package/dist/tools/design_compare.d.ts +43 -0
- package/dist/tools/design_compare.d.ts.map +1 -1
- package/dist/tools/design_compare.js +199 -66
- package/dist/tools/design_compare.js.map +1 -1
- package/dist/tools/desktop_app_mode.d.ts +48 -0
- package/dist/tools/desktop_app_mode.d.ts.map +1 -0
- package/dist/tools/desktop_app_mode.js +86 -0
- package/dist/tools/desktop_app_mode.js.map +1 -0
- package/dist/tools/gate_check.js +29 -7
- package/dist/tools/gate_check.js.map +1 -1
- package/dist/tools/self_test.d.ts +40 -0
- package/dist/tools/self_test.d.ts.map +1 -0
- package/dist/tools/self_test.js +205 -0
- package/dist/tools/self_test.js.map +1 -0
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +4 -5
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { platform, tmpdir } from "os";
|
|
|
2
2
|
import { writeFileSync, unlinkSync } from "fs";
|
|
3
3
|
import { join } from "path";
|
|
4
4
|
import { runCommand, checkToolAvailable } from "./base.js";
|
|
5
|
+
import { collectCsprojOutputPaths } from "./csproj_output_path.js";
|
|
5
6
|
/**
|
|
6
7
|
* Cross-platform window ID lookup.
|
|
7
8
|
* macOS: CGWindowListCopyWindowInfo via Swift
|
|
@@ -194,7 +195,7 @@ async function bringToFrontLinux(appName) {
|
|
|
194
195
|
}
|
|
195
196
|
/**
|
|
196
197
|
* Get the window bounds (position + size) for cropping video capture.
|
|
197
|
-
* Returns { x, y, width, height } in screen points.
|
|
198
|
+
* Returns { x, y, width, height, dpi_x?, dpi_y? } in screen points.
|
|
198
199
|
*/
|
|
199
200
|
export async function getWindowBounds(appName) {
|
|
200
201
|
const os = platform();
|
|
@@ -208,11 +209,17 @@ export async function getWindowBounds(appName) {
|
|
|
208
209
|
}
|
|
209
210
|
async function getWindowBoundsMacOS(appName) {
|
|
210
211
|
const tmpFile = join(tmpdir(), `codeloop_winbounds_${Date.now()}.swift`);
|
|
212
|
+
// We also ask NSScreen for backingScaleFactor so codeloop_interact
|
|
213
|
+
// can scale logical-pixel screenshots back to physical pixels for
|
|
214
|
+
// CGEvent (which expects logical pts on macOS — backingScale 1.0
|
|
215
|
+
// is the right answer for clicking, but we still emit it so the
|
|
216
|
+
// value is observable in window_bounds for diagnostics).
|
|
211
217
|
const swiftCode = [
|
|
212
218
|
'import Cocoa',
|
|
213
219
|
'let options: CGWindowListOption = [.optionOnScreenOnly, .excludeDesktopElements]',
|
|
214
220
|
'guard let windowList = CGWindowListCopyWindowInfo(options, kCGNullWindowID) as? [[String: Any]] else { exit(1) }',
|
|
215
221
|
`let search = "${appName}".lowercased()`,
|
|
222
|
+
'let scale = NSScreen.main?.backingScaleFactor ?? 1.0',
|
|
216
223
|
'for window in windowList {',
|
|
217
224
|
' let owner = window[kCGWindowOwnerName as String] as? String ?? ""',
|
|
218
225
|
' if owner.lowercased().contains(search) {',
|
|
@@ -222,7 +229,7 @@ async function getWindowBoundsMacOS(appName) {
|
|
|
222
229
|
' let w = bounds["Width"] as? Int ?? 0',
|
|
223
230
|
' let h = bounds["Height"] as? Int ?? 0',
|
|
224
231
|
' if w > 50 && h > 50 {',
|
|
225
|
-
' print("\\(x),\\(y),\\(w),\\(h)")',
|
|
232
|
+
' print("\\(x),\\(y),\\(w),\\(h),\\(scale)")',
|
|
226
233
|
' exit(0)',
|
|
227
234
|
' }',
|
|
228
235
|
' }',
|
|
@@ -234,8 +241,23 @@ async function getWindowBoundsMacOS(appName) {
|
|
|
234
241
|
const result = await runCommand("swift", [tmpFile], process.cwd(), undefined, undefined, SWIFT_TIMEOUT_MS);
|
|
235
242
|
if (result.exit_code === 0 && result.stdout.trim()) {
|
|
236
243
|
const parts = result.stdout.trim().split(",").map(Number);
|
|
237
|
-
if (parts.length
|
|
238
|
-
|
|
244
|
+
if (parts.length >= 4 && parts.slice(0, 4).every(n => !isNaN(n))) {
|
|
245
|
+
const out = {
|
|
246
|
+
x: parts[0],
|
|
247
|
+
y: parts[1],
|
|
248
|
+
width: parts[2],
|
|
249
|
+
height: parts[3],
|
|
250
|
+
};
|
|
251
|
+
// CGEvent on macOS expects LOGICAL points, not physical
|
|
252
|
+
// pixels. So we report dpi_x / dpi_y as 1.0 even on
|
|
253
|
+
// Retina displays — translateXY uses 1.0 to preserve the
|
|
254
|
+
// legacy unscaled behaviour, which is correct for macOS.
|
|
255
|
+
// We still emit the backingScaleFactor for diagnostics in
|
|
256
|
+
// case future work (e.g. scaling screenshot dims) needs it.
|
|
257
|
+
if (parts.length >= 5 && !isNaN(parts[4]) && parts[4] > 0) {
|
|
258
|
+
out._backing_scale = parts[4];
|
|
259
|
+
}
|
|
260
|
+
return out;
|
|
239
261
|
}
|
|
240
262
|
}
|
|
241
263
|
}
|
|
@@ -248,6 +270,14 @@ async function getWindowBoundsMacOS(appName) {
|
|
|
248
270
|
return null;
|
|
249
271
|
}
|
|
250
272
|
async function getWindowBoundsWindows(appName) {
|
|
273
|
+
// GetDpiForWindow (Win10 1607+) returns the per-monitor DPI of the
|
|
274
|
+
// window's HWND. Divide by 96 to convert to a physical-per-logical
|
|
275
|
+
// ratio (1.0 = 100%, 1.5 = 150% scaling, 2.0 = 200%).
|
|
276
|
+
//
|
|
277
|
+
// user32.dll's mouse_event / SendInput consumes PHYSICAL pixels
|
|
278
|
+
// when the process is per-monitor DPI-aware (which is the .NET 4.6+
|
|
279
|
+
// default), so a screenshot taken at logical pixels needs to be
|
|
280
|
+
// multiplied by this factor before being passed to clickAtPosition.
|
|
251
281
|
const script = `
|
|
252
282
|
Add-Type @"
|
|
253
283
|
using System;
|
|
@@ -256,20 +286,43 @@ public class Win32Bounds {
|
|
|
256
286
|
[StructLayout(LayoutKind.Sequential)]
|
|
257
287
|
public struct RECT { public int Left; public int Top; public int Right; public int Bottom; }
|
|
258
288
|
[DllImport("user32.dll")] public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
|
|
289
|
+
[DllImport("user32.dll")] public static extern uint GetDpiForWindow(IntPtr hWnd);
|
|
259
290
|
}
|
|
260
291
|
"@
|
|
261
292
|
${buildWindowsProcessLookup(appName)}
|
|
262
293
|
if ($proc) {
|
|
263
294
|
$rect = New-Object Win32Bounds+RECT
|
|
264
295
|
[Win32Bounds]::GetWindowRect($proc.MainWindowHandle, [ref]$rect) | Out-Null
|
|
265
|
-
|
|
296
|
+
$dpi = 96
|
|
297
|
+
try {
|
|
298
|
+
$dpi = [Win32Bounds]::GetDpiForWindow($proc.MainWindowHandle)
|
|
299
|
+
if (-not $dpi -or $dpi -le 0) { $dpi = 96 }
|
|
300
|
+
} catch { $dpi = 96 }
|
|
301
|
+
Write-Output "$($rect.Left),$($rect.Top),$($rect.Right - $rect.Left),$($rect.Bottom - $rect.Top),$dpi"
|
|
266
302
|
}
|
|
267
303
|
`;
|
|
268
304
|
const result = await runCommand("powershell", ["-NoProfile", "-Command", script], process.cwd());
|
|
269
305
|
if (result.exit_code === 0 && result.stdout.trim()) {
|
|
270
306
|
const parts = result.stdout.trim().split(",").map(Number);
|
|
271
|
-
if (parts.length
|
|
272
|
-
|
|
307
|
+
if (parts.length >= 4 && parts.slice(0, 4).every(n => !isNaN(n))) {
|
|
308
|
+
const out = {
|
|
309
|
+
x: parts[0],
|
|
310
|
+
y: parts[1],
|
|
311
|
+
width: parts[2],
|
|
312
|
+
height: parts[3],
|
|
313
|
+
};
|
|
314
|
+
if (parts.length >= 5 && !isNaN(parts[4]) && parts[4] > 0) {
|
|
315
|
+
const ratio = parts[4] / 96;
|
|
316
|
+
// Only surface the DPI when the user is at non-100%
|
|
317
|
+
// scaling. translateXY treats absence as 1.0; we keep the
|
|
318
|
+
// payload tight by not emitting a redundant 1.0 on every
|
|
319
|
+
// call.
|
|
320
|
+
if (Math.abs(ratio - 1) > 0.01) {
|
|
321
|
+
out.dpi_x = ratio;
|
|
322
|
+
out.dpi_y = ratio;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
return out;
|
|
273
326
|
}
|
|
274
327
|
}
|
|
275
328
|
return null;
|
|
@@ -297,8 +350,19 @@ async function getWindowBoundsLinux(appName) {
|
|
|
297
350
|
else if (key === "HEIGHT")
|
|
298
351
|
h = parseInt(val, 10);
|
|
299
352
|
}
|
|
300
|
-
if (w > 0 && h > 0)
|
|
301
|
-
|
|
353
|
+
if (w > 0 && h > 0) {
|
|
354
|
+
const out = { x, y, width: w, height: h };
|
|
355
|
+
// X11 GDK_SCALE / GDK_DPI_SCALE drives the per-display scaling on
|
|
356
|
+
// most desktop distros. xdotool reports DEVICE pixels, so we only
|
|
357
|
+
// surface a non-1.0 dpi when the env explicitly sets it (which
|
|
358
|
+
// matches what xdotool's click target expects too).
|
|
359
|
+
const gdkScale = parseFloat(process.env.GDK_SCALE || "");
|
|
360
|
+
if (Number.isFinite(gdkScale) && gdkScale > 0 && Math.abs(gdkScale - 1) > 0.01) {
|
|
361
|
+
out.dpi_x = gdkScale;
|
|
362
|
+
out.dpi_y = gdkScale;
|
|
363
|
+
}
|
|
364
|
+
return out;
|
|
365
|
+
}
|
|
302
366
|
return null;
|
|
303
367
|
}
|
|
304
368
|
/**
|
|
@@ -451,6 +515,281 @@ export async function simctlTerminate(bundleId) {
|
|
|
451
515
|
const result = await runCommand("xcrun", ["simctl", "terminate", "booted", bundleId], process.cwd());
|
|
452
516
|
return result.exit_code === 0;
|
|
453
517
|
}
|
|
518
|
+
// ── Desktop App Launch (cross-OS) ────────────────────────────────
|
|
519
|
+
/**
|
|
520
|
+
* Launch a desktop application by name from a project directory.
|
|
521
|
+
*
|
|
522
|
+
* Photometry-DB E2E 8: the agent spent many turns hand-coding
|
|
523
|
+
* `Get-Process` / `Start-Process` PowerShell to find and launch
|
|
524
|
+
* `Photometry DB.exe` because no CodeLoop tool exposed "just start
|
|
525
|
+
* the app under test". `evidence.target_app` is set during init —
|
|
526
|
+
* this function uses it to find the build output and launch it.
|
|
527
|
+
*
|
|
528
|
+
* Search order (newest mtime wins per location, all locations are
|
|
529
|
+
* tried):
|
|
530
|
+
* macOS:
|
|
531
|
+
* - `<projectDir>/publish/.../<appName>.app`
|
|
532
|
+
* - `<projectDir>/bin/Release/.../<appName>.app`
|
|
533
|
+
* - `/Applications/<appName>.app`
|
|
534
|
+
* - last resort: `open -a "<appName>"`
|
|
535
|
+
* Windows:
|
|
536
|
+
* - `<projectDir>/publish/**\<appName>.exe`
|
|
537
|
+
* - `<projectDir>/**\bin\Release\**\<appName>.exe`
|
|
538
|
+
* - `<projectDir>/**\bin\Debug\**\<appName>.exe`
|
|
539
|
+
* Linux:
|
|
540
|
+
* - `<projectDir>/build/**\<appName>` (executable bit set)
|
|
541
|
+
* - `<projectDir>/dist/**\<appName>`
|
|
542
|
+
* - fall back to PATH lookup
|
|
543
|
+
*
|
|
544
|
+
* Returns `{ launched, command, pid? }` so the caller can surface
|
|
545
|
+
* to the agent exactly which binary was executed.
|
|
546
|
+
*/
|
|
547
|
+
export async function launchDesktopApp(appName, projectDir) {
|
|
548
|
+
if (!appName)
|
|
549
|
+
return { launched: false, reason: "app_name is required" };
|
|
550
|
+
const os = platform();
|
|
551
|
+
try {
|
|
552
|
+
const { existsSync, readdirSync, statSync } = await import("node:fs");
|
|
553
|
+
const { join: pjoin, resolve: presolve } = await import("node:path");
|
|
554
|
+
const { spawn } = await import("node:child_process");
|
|
555
|
+
const isExecCandidate = (p, expectedExt) => {
|
|
556
|
+
try {
|
|
557
|
+
const st = statSync(p);
|
|
558
|
+
if (!st.isFile())
|
|
559
|
+
return false;
|
|
560
|
+
if (expectedExt && !p.toLowerCase().endsWith(expectedExt))
|
|
561
|
+
return false;
|
|
562
|
+
return true;
|
|
563
|
+
}
|
|
564
|
+
catch {
|
|
565
|
+
return false;
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
// Recursively gather candidate binary paths up to a depth limit.
|
|
569
|
+
// We bail at 6 levels so a wide repo doesn't explode the search.
|
|
570
|
+
const findRecursive = (dir, matcher, maxDepth = 6) => {
|
|
571
|
+
const out = [];
|
|
572
|
+
const visit = (d, depth) => {
|
|
573
|
+
if (depth > maxDepth)
|
|
574
|
+
return;
|
|
575
|
+
let entries;
|
|
576
|
+
try {
|
|
577
|
+
entries = readdirSync(d);
|
|
578
|
+
}
|
|
579
|
+
catch {
|
|
580
|
+
return;
|
|
581
|
+
}
|
|
582
|
+
for (const e of entries) {
|
|
583
|
+
if (e.startsWith(".") || e === "node_modules")
|
|
584
|
+
continue;
|
|
585
|
+
const full = pjoin(d, e);
|
|
586
|
+
let isDir = false;
|
|
587
|
+
try {
|
|
588
|
+
isDir = statSync(full).isDirectory();
|
|
589
|
+
}
|
|
590
|
+
catch {
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
if (isDir)
|
|
594
|
+
visit(full, depth + 1);
|
|
595
|
+
else if (matcher(e))
|
|
596
|
+
out.push(full);
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
visit(dir, 0);
|
|
600
|
+
return out;
|
|
601
|
+
};
|
|
602
|
+
const projectAbs = presolve(projectDir);
|
|
603
|
+
if (os === "win32") {
|
|
604
|
+
const want = appName.toLowerCase().endsWith(".exe")
|
|
605
|
+
? appName.toLowerCase()
|
|
606
|
+
: appName.toLowerCase() + ".exe";
|
|
607
|
+
const candidates = [];
|
|
608
|
+
// Standard convention paths.
|
|
609
|
+
const standardSubs = ["publish", "bin", "build", "dist", "out"];
|
|
610
|
+
// Custom <OutputPath> / <BaseOutputPath> from any .csproj in the
|
|
611
|
+
// project. Photometry-DB ships with
|
|
612
|
+
// <BaseOutputPath>artifacts\bin\Release\…</BaseOutputPath>
|
|
613
|
+
// and pre-0.1.49 launchDesktopApp would not find that path
|
|
614
|
+
// because it only walked the convention subs above. Extracting
|
|
615
|
+
// the path here also covers projects with
|
|
616
|
+
// <OutputPath>D:\builds\$(Configuration)\</OutputPath>
|
|
617
|
+
// common on enterprise build configs.
|
|
618
|
+
const csprojOutputPaths = collectCsprojOutputPaths(projectAbs, pjoin, existsSync, statSync, readdirSync);
|
|
619
|
+
const allSubs = Array.from(new Set([
|
|
620
|
+
...standardSubs,
|
|
621
|
+
...csprojOutputPaths,
|
|
622
|
+
]));
|
|
623
|
+
for (const sub of allSubs) {
|
|
624
|
+
// sub may be relative (resolve against projectAbs) or
|
|
625
|
+
// absolute (absolute custom OutputPath).
|
|
626
|
+
const d = sub.startsWith("\\") || /^[A-Za-z]:[\\/]/.test(sub) || sub.startsWith("/")
|
|
627
|
+
? sub
|
|
628
|
+
: pjoin(projectAbs, sub);
|
|
629
|
+
if (existsSync(d)) {
|
|
630
|
+
candidates.push(...findRecursive(d, (f) => f.toLowerCase() === want).filter((p) => isExecCandidate(p, ".exe")));
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
// Sort newest first so a fresh build wins over an old publish.
|
|
634
|
+
candidates.sort((a, b) => {
|
|
635
|
+
try {
|
|
636
|
+
return statSync(b).mtimeMs - statSync(a).mtimeMs;
|
|
637
|
+
}
|
|
638
|
+
catch {
|
|
639
|
+
return 0;
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
const exe = candidates[0];
|
|
643
|
+
if (exe) {
|
|
644
|
+
try {
|
|
645
|
+
const child = spawn(exe, [], { detached: true, stdio: "ignore", cwd: pjoin(exe, "..") });
|
|
646
|
+
child.unref();
|
|
647
|
+
return { launched: true, command: exe, pid: child.pid };
|
|
648
|
+
}
|
|
649
|
+
catch (e) {
|
|
650
|
+
return { launched: false, command: exe, reason: e.message };
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
// Last-resort fallback for MSIX / Microsoft Store / Start-menu
|
|
654
|
+
// installed apps (e.g. WinUI 3 packaged apps and any .NET MAUI
|
|
655
|
+
// packaged release). `Get-StartApps` returns the AppUserModelID
|
|
656
|
+
// we can launch via `explorer.exe shell:AppsFolder\<AUMID>`.
|
|
657
|
+
try {
|
|
658
|
+
const psLiteral = appName.replace(/'/g, "''");
|
|
659
|
+
const regexLiteral = appName
|
|
660
|
+
.replace(/'/g, "''")
|
|
661
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
662
|
+
const lookupScript = `
|
|
663
|
+
$apps = Get-StartApps | Where-Object { $_.Name -eq '${psLiteral}' -or $_.Name -match '${regexLiteral}' }
|
|
664
|
+
$first = $apps | Select-Object -First 1
|
|
665
|
+
if ($first) { Write-Output $first.AppID }
|
|
666
|
+
`;
|
|
667
|
+
const lookup = await runCommand("powershell", ["-NoProfile", "-Command", lookupScript], projectAbs);
|
|
668
|
+
const aumid = lookup.exit_code === 0 ? lookup.stdout.trim() : "";
|
|
669
|
+
if (aumid) {
|
|
670
|
+
const launchCmd = `explorer.exe shell:AppsFolder\\${aumid}`;
|
|
671
|
+
const launch = await runCommand("powershell", ["-NoProfile", "-Command", `Start-Process -FilePath 'explorer.exe' -ArgumentList 'shell:AppsFolder\\${aumid}'`], projectAbs);
|
|
672
|
+
if (launch.exit_code === 0) {
|
|
673
|
+
return { launched: true, command: launchCmd };
|
|
674
|
+
}
|
|
675
|
+
return {
|
|
676
|
+
launched: false,
|
|
677
|
+
command: launchCmd,
|
|
678
|
+
reason: launch.stderr || "Get-StartApps lookup found AUMID but Start-Process failed",
|
|
679
|
+
};
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
catch { /* fall through to error message below */ }
|
|
683
|
+
return {
|
|
684
|
+
launched: false,
|
|
685
|
+
reason: `No .exe found under ${projectAbs}\\{publish|bin|build|dist|out} (plus any <OutputPath> from .csproj) matching '${want}', and \`Get-StartApps\` did not match an MSIX / Store-installed app named '${appName}'. Build the project first (e.g. \`dotnet publish -c Release\`) or set evidence.target_app in .codeloop/config.json to a file that exists.`,
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
if (os === "darwin") {
|
|
689
|
+
const wantApp = appName.toLowerCase().endsWith(".app")
|
|
690
|
+
? appName
|
|
691
|
+
: `${appName}.app`;
|
|
692
|
+
const candidates = [];
|
|
693
|
+
for (const sub of ["publish", "build", "bin", "dist", "out"]) {
|
|
694
|
+
const d = pjoin(projectAbs, sub);
|
|
695
|
+
if (existsSync(d)) {
|
|
696
|
+
// .app is a directory bundle, so we match on name and pick
|
|
697
|
+
// dir-style entries via readdir → statSync.
|
|
698
|
+
const visit = (root, depth) => {
|
|
699
|
+
if (depth > 6)
|
|
700
|
+
return;
|
|
701
|
+
let entries;
|
|
702
|
+
try {
|
|
703
|
+
entries = readdirSync(root);
|
|
704
|
+
}
|
|
705
|
+
catch {
|
|
706
|
+
return;
|
|
707
|
+
}
|
|
708
|
+
for (const e of entries) {
|
|
709
|
+
if (e.startsWith(".") || e === "node_modules")
|
|
710
|
+
continue;
|
|
711
|
+
const full = pjoin(root, e);
|
|
712
|
+
let isDir = false;
|
|
713
|
+
try {
|
|
714
|
+
isDir = statSync(full).isDirectory();
|
|
715
|
+
}
|
|
716
|
+
catch {
|
|
717
|
+
continue;
|
|
718
|
+
}
|
|
719
|
+
if (e.toLowerCase() === wantApp.toLowerCase())
|
|
720
|
+
candidates.push(full);
|
|
721
|
+
else if (isDir)
|
|
722
|
+
visit(full, depth + 1);
|
|
723
|
+
}
|
|
724
|
+
};
|
|
725
|
+
visit(d, 0);
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
const sysApp = `/Applications/${wantApp}`;
|
|
729
|
+
if (existsSync(sysApp))
|
|
730
|
+
candidates.push(sysApp);
|
|
731
|
+
candidates.sort((a, b) => {
|
|
732
|
+
try {
|
|
733
|
+
return statSync(b).mtimeMs - statSync(a).mtimeMs;
|
|
734
|
+
}
|
|
735
|
+
catch {
|
|
736
|
+
return 0;
|
|
737
|
+
}
|
|
738
|
+
});
|
|
739
|
+
const bundle = candidates[0];
|
|
740
|
+
if (bundle) {
|
|
741
|
+
const r = await runCommand("open", [bundle], projectAbs);
|
|
742
|
+
return r.exit_code === 0
|
|
743
|
+
? { launched: true, command: `open ${bundle}` }
|
|
744
|
+
: { launched: false, command: `open ${bundle}`, reason: r.stderr || "open failed" };
|
|
745
|
+
}
|
|
746
|
+
// Last resort: open -a "<name>" — works for any installed app.
|
|
747
|
+
const r = await runCommand("open", ["-a", appName], projectAbs);
|
|
748
|
+
return r.exit_code === 0
|
|
749
|
+
? { launched: true, command: `open -a ${appName}` }
|
|
750
|
+
: {
|
|
751
|
+
launched: false,
|
|
752
|
+
reason: `No .app bundle found under ${projectAbs}/{publish,build,bin,dist,out} or /Applications, and \`open -a ${appName}\` failed: ${r.stderr || "not found"}`,
|
|
753
|
+
};
|
|
754
|
+
}
|
|
755
|
+
if (os === "linux") {
|
|
756
|
+
const candidates = [];
|
|
757
|
+
for (const sub of ["build", "bin", "publish", "dist", "out"]) {
|
|
758
|
+
const d = pjoin(projectAbs, sub);
|
|
759
|
+
if (existsSync(d)) {
|
|
760
|
+
candidates.push(...findRecursive(d, (f) => f === appName || f === appName + ".bin"));
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
candidates.sort((a, b) => {
|
|
764
|
+
try {
|
|
765
|
+
return statSync(b).mtimeMs - statSync(a).mtimeMs;
|
|
766
|
+
}
|
|
767
|
+
catch {
|
|
768
|
+
return 0;
|
|
769
|
+
}
|
|
770
|
+
});
|
|
771
|
+
const exe = candidates[0];
|
|
772
|
+
if (!exe) {
|
|
773
|
+
return {
|
|
774
|
+
launched: false,
|
|
775
|
+
reason: `No executable named '${appName}' found under ${projectAbs}/{build,bin,publish,dist,out}.`,
|
|
776
|
+
};
|
|
777
|
+
}
|
|
778
|
+
try {
|
|
779
|
+
const child = spawn(exe, [], { detached: true, stdio: "ignore", cwd: pjoin(exe, "..") });
|
|
780
|
+
child.unref();
|
|
781
|
+
return { launched: true, command: exe, pid: child.pid };
|
|
782
|
+
}
|
|
783
|
+
catch (e) {
|
|
784
|
+
return { launched: false, command: exe, reason: e.message };
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
return { launched: false, reason: `Unsupported OS: ${os}` };
|
|
788
|
+
}
|
|
789
|
+
catch (e) {
|
|
790
|
+
return { launched: false, reason: e.message };
|
|
791
|
+
}
|
|
792
|
+
}
|
|
454
793
|
// ── Friendly Key Name Mapping ────────────────────────────────────
|
|
455
794
|
const KEY_MAP = {
|
|
456
795
|
enter: { mac: 36, win: 0x0D, linux: "Return" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window_manager.js","sourceRoot":"","sources":["../../src/runners/window_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,6DAA6D;IAC7D,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO;;2DAEkD,SAAS;iFACa,SAAS;mFACP,SAAS;oFACR,YAAY;CAC/F,CAAC;AACF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAChD,MAAM,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,CAAC;mDACH,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,2DAA2D;AAC3D,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,kFAAkF;QAClF,kHAAkH;QAClH,iBAAiB,OAAO,gBAAgB;QACxC,4BAA4B;QAC5B,qEAAqE;QACrE,iEAAiE;QACjE,4DAA4D;QAC5D,qBAAqB;QACrB,aAAa;QACb,KAAK;QACL,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,OAAO,EACP,CAAC,OAAO,CAAC,EACT,OAAO,CAAC,GAAG,EAAE,EACb,SAAS,EACT,SAAS,EACT,gBAAgB,CACjB,CAAC;QACF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,MAAM,UAAU,GAAG,mGAAmG,CAAC;IACvH,MAAM,UAAU,GAAG,MAAM,UAAU,CACjC,WAAW,EACX,CAAC,IAAI,EAAE,UAAU,CAAC,EAClB,OAAO,CAAC,GAAG,EAAE,EACb,SAAS,EACT,SAAS,EACT,oBAAoB,CACrB,CAAC;IACF,IAAI,WAAW,GAAG,UAAU,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,uFAAuF;IACvF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9E,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,cAAc,GAAG,+FAA+F,OAAO,8EAA8E,OAAO,eAAe,CAAC;IAClO,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,UAAU,CACd,WAAW,EACX,CAAC,WAAW,CAAC,EACb,OAAO,CAAC,GAAG,EAAE,EACb,SAAS,EACT,SAAS,EACT,oBAAoB,CACrB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1F,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,wDAAwD,GAAG,IAAI,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,WAAW,EACX,CAAC,IAAI,EAAE,WAAW,CAAC,EACnB,OAAO,CAAC,GAAG,EAAE,EACb,SAAS,EACT,SAAS,EACT,oBAAoB,CACrB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAChD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;EAef,yBAAyB,CAAC,OAAO,CAAC;;;;;CAKnC,CAAC;IACA,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtG,cAAc,GAAG,YAAY,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/F,IAAI,YAAY,CAAC,SAAS,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAe;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,kFAAkF;QAClF,kHAAkH;QAClH,iBAAiB,OAAO,gBAAgB;QACxC,4BAA4B;QAC5B,qEAAqE;QACrE,4CAA4C;QAC5C,2EAA2E;QAC3E,wCAAwC;QACxC,wCAAwC;QACxC,4CAA4C;QAC5C,6CAA6C;QAC7C,6BAA6B;QAC7B,0CAA0C;QAC1C,iBAAiB;QACjB,SAAS;QACT,OAAO;QACP,KAAK;QACL,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,OAAO,EACP,CAAC,OAAO,CAAC,EACT,OAAO,CAAC,GAAG,EAAE,EACb,SAAS,EACT,SAAS,EACT,gBAAgB,CACjB,CAAC;QACF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe;IACnD,MAAM,MAAM,GAAG;;;;;;;;;;EAUf,yBAAyB,CAAC,OAAO,CAAC;;;;;;CAMnC,CAAC;IACA,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAe;IACjD,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/F,IAAI,YAAY,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAE7E,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzG,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,GAAG;YAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAClC,IAAI,GAAG,KAAK,GAAG;YAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aACvC,IAAI,GAAG,KAAK,OAAO;YAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAC3C,IAAI,GAAG,KAAK,QAAQ;YAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IACxD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,0BAA0B,CAAC,QAAQ,CAAC,GAAG;YACvC,2HAA2H;YAC3H,uHAAuH;YACvH,sCAAsC;YACtC,qCAAqC;YACrC,oCAAoC;SACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;;6BASU,CAAC,KAAK,CAAC;;;;;CAKnC,CAAC;QACE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7G,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,OAAgB;IACnE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,yEAAyE,OAAO,mBAAmB;YACnG,uEAAuE,OAAO,oBAAoB;YAClG,oCAAoC;YACpC,qCAAqC;YACrC,kCAAkC;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;0BAQO,EAAE;;0BAEF,EAAE;CAC3B,CAAC;QACE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,aAAqB,GAAG;IAExE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE;QACrC,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC;KACnB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,oEAAoE;AAEpE,MAAM,OAAO,GAAgE;IAC3E,KAAK,EAAO,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,GAAG,EAAS,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACjD,MAAM,EAAM,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,SAAS,EAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;IACvD,MAAM,EAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,KAAK,EAAO,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,IAAI,EAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,IAAI,EAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,KAAK,EAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,IAAI,EAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,GAAG,EAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACjD,OAAO,EAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,SAAS,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,GAAG,EAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACjD,GAAG,EAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACjD,GAAG,EAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,OAAO;CACpB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,kDAAkD,OAAO,GAAG,CAAC;QAC5E,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,2FAA2F,OAAO,IAAI,CAAC;QACtH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,SAA2C,EAAE,SAAiB,CAAC;IAC1H,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,+DAA+D;QAC/D,MAAM,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,qGAAqG,CAAC,QAAQ,CAAC,wBAAwB;YACvI,iCAAiC;YACjC,qCAAqC;YACrC,iGAAiG,MAAM,oBAAoB,MAAM,IAAI;YACrI,mCAAmC;SACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,mFAAmF;QACnF,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACrF,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,gDAAgD,OAAO,EAAE,CAAC;YACzE,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG;;;;;;;;8BAQW,CAAC,KAAK,CAAC;;2CAEM,UAAU,oBAAoB,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,CAAS,EAAE,CAAS;IAC9D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,0BAA0B,CAAC,QAAQ,CAAC,GAAG;YACvC,oHAAoH;YACpH,2DAA2D;YAC3D,+BAA+B;YAC/B,kHAAkH;YAClH,2DAA2D;YAC3D,+BAA+B;YAC/B,qCAAqC;YACrC,oHAAoH;YACpH,2DAA2D;YAC3D,+BAA+B;YAC/B,kHAAkH;YAClH,2DAA2D;YAC3D,+BAA+B;SAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;gCAQa,CAAC,KAAK,CAAC;;;;;+DAKwB,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9H,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,CAAS,EAAE,CAAS;IAC7D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,0BAA0B,CAAC,QAAQ,CAAC,GAAG;YACvC,wHAAwH;YACxH,oHAAoH;YACpH,iCAAiC;YACjC,qCAAqC;YACrC,+BAA+B;SAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;8BAQW,CAAC,KAAK,CAAC;;;;6DAIwB,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7G,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IACxD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,sGAAsG,CAAC,QAAQ,CAAC,wBAAwB;YACxI,kCAAkC;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;6BAKU,CAAC,KAAK,CAAC,GAAG,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,iBAAiB,GAAiF;IACtG,GAAG,EAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;IACjF,IAAI,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;IACjF,IAAI,EAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAG,OAAO,EAAE,yBAAyB,EAAE;IACjF,GAAG,EAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAI,OAAO,EAAE,2BAA2B,EAAE;IACnF,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE;CAChF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,mEAAmE;IACnE,sEAAsE;IACtE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;IAC5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,iCAAiC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrF,CAAC,CAAC,8BAA8B,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,QAAQ;YACR,yEAAyE,OAAO,mBAAmB;YACnG,uEAAuE,OAAO,oBAAoB;YAClG,wBAAwB;YACxB,sBAAsB;YACtB,oCAAoC;YACpC,qCAAqC;YACrC,kCAAkC;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG;;;;;EAKjB,cAAc;yBACS,KAAK;;yBAEL,KAAK;EAC5B,YAAY,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,aAAqB,GAAG;IACrG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,0BAA0B,EAAE,QAAQ,EAAE,GAAG;YACzC,wBAAwB,EAAE,QAAQ,EAAE,GAAG;YACvC,sHAAsH;YACtH,iCAAiC;YACjC,gBAAgB,KAAK,IAAI;YACzB,yBAAyB,KAAK,IAAI;YAClC,2CAA2C;YAC3C,2CAA2C;YAC3C,yIAAyI;YACzI,mCAAmC;YACnC,mCAAmC,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG;YACjE,GAAG;YACH,gHAAgH;YAChH,+BAA+B;SAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;4BAQS,EAAE,KAAK,EAAE;;iFAE4C,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,2EAA2E,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;2DAC1L,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE;gBACzC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG;gBACrD,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7D,SAAS,EAAE,GAAG;aACf,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS,EAAE,aAAqB,IAAI;IACvF,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,0BAA0B,CAAC,QAAQ,CAAC,GAAG;YACvC,sHAAsH;YACtH,iCAAiC;YACjC,iCAAiC,UAAU,GAAG,MAAM,GAAG;YACvD,kHAAkH;YAClH,+BAA+B;SAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;;;;;;;;0BAQO,CAAC,KAAK,CAAC;;4BAEL,UAAU;yDACmB,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzI,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAe;IACnD,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,UAAU,GAAG,GAAG;IAChG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;QACvC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;QACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,YAAY,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;KACxC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,UAAkB,EAAE,KAAc;IACvF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAe;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,aAAqB,IAAI;IAChF,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzF,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,GAAW;IAC5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvG,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAkB;IAChD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzH,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;AAChC,CAAC;AAYD,MAAM,oBAAoB,GAAwC;IAChE,MAAM,EAAE;QACN,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,mDAAmD;QAC5D,KAAK,EAAE,kEAAkE;KAC1E;IACD,GAAG,EAAE;QACH,KAAK,EAAE,qCAAqC;QAC5C,OAAO,EAAE,sEAAsE;QAC/E,KAAK,EAAE,2CAA2C;KACnD;IACD,KAAK,EAAE;QACL,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,2DAA2D;KACnE;IACD,OAAO,EAAE;QACP,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,iCAAiC;KACzC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,kDAAkD;QACzD,OAAO,EAAE,kDAAkD;QAC3D,KAAK,EAAE,kDAAkD;KAC1D;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,MAAc;IAChE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,IAAI,0CAA0C,MAAM,gCAAgC,CAAC;IACvG,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACrF,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,SAAS,IAAI,0CAA0C,MAAM,4BAA4B,UAAU,gCAAgC,CAAC;AAC7I,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAW;IACtD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,+EAA+E,OAAO,uBAAuB,CAAC;QAC7H,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClE,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,qBAAqB;QACrB,MAAM,YAAY,GAAG,yEAAyE,OAAO,uBAAuB,CAAC;QAC7H,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnH,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAU;IAChD,IAAI,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,6FAA6F,MAAM,uBAAuB,CAAC;IAC1I,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IACtE,IAAI,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,iDAAiD,YAAY,2MAA2M,SAAS,oIAAoI,CAAC;IACja,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,IAAI,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,iDAAiD,YAAY,sJAAsJ,CAAC;IAC/N,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,qEAAqE;IACrE,IAAI,CAAC,WAAW,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpC,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,qBAAqB,WAAW,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxG,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG;EACjB,yBAAyB,CAAC,WAAW,CAAC;;;;;;;EAOtC,CAAC;QACC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnG,IAAI,YAAY,CAAC,SAAS,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"window_manager.js","sourceRoot":"","sources":["../../src/runners/window_manager.ts"],"names":[],"mappings":"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"}
|