browserclaw-agent 0.6.2 → 0.7.1
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/agent-loop.d.ts +2 -0
- package/dist/agent-loop.d.ts.map +1 -1
- package/dist/agent-loop.js +257 -39
- package/dist/agent-loop.js.map +1 -1
- package/dist/api-types.d.ts +81 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +6 -0
- package/dist/api-types.js.map +1 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -10
- package/dist/config.js.map +1 -1
- package/dist/idempotency.d.ts +48 -0
- package/dist/idempotency.d.ts.map +1 -0
- package/dist/idempotency.js +99 -0
- package/dist/idempotency.js.map +1 -0
- package/dist/llm.d.ts +7 -10
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +104 -272
- package/dist/llm.js.map +1 -1
- package/dist/parse-json-response.d.ts +4 -0
- package/dist/parse-json-response.d.ts.map +1 -1
- package/dist/parse-json-response.js +21 -3
- package/dist/parse-json-response.js.map +1 -1
- package/dist/prompt-log.d.ts +9 -1
- package/dist/prompt-log.d.ts.map +1 -1
- package/dist/prompt-log.js.map +1 -1
- package/dist/proxy.d.ts +9 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +85 -0
- package/dist/proxy.js.map +1 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +116 -30
- package/dist/routes.js.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/session-manager.d.ts +2 -8
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +196 -51
- package/dist/session-manager.js.map +1 -1
- package/dist/skills/press-and-hold.d.ts.map +1 -1
- package/dist/skills/press-and-hold.js +20 -14
- package/dist/skills/press-and-hold.js.map +1 -1
- package/dist/sse-stamp.d.ts +2 -0
- package/dist/sse-stamp.d.ts.map +1 -0
- package/dist/sse-stamp.js +9 -0
- package/dist/sse-stamp.js.map +1 -0
- package/dist/trajectory-store.d.ts +1 -0
- package/dist/trajectory-store.d.ts.map +1 -1
- package/dist/trajectory-store.js +1 -0
- package/dist/trajectory-store.js.map +1 -1
- package/dist/types.d.ts +9 -15
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +7 -3
package/dist/session-manager.js
CHANGED
|
@@ -11,7 +11,9 @@ import { getLLMCallCount, resetLLMCallCount, runWithLlmConfig, sanitizeErrorText
|
|
|
11
11
|
import { extractDomain, getSkillForDomain, getSkillsForDomains, saveSkill } from './skill-store.js';
|
|
12
12
|
import { saveLesson, extractDomainLessons, getLesson } from './lesson-store.js';
|
|
13
13
|
import { saveTrajectory, TRAJECTORY_STATUS } from './trajectory-store.js';
|
|
14
|
+
import { stampSSEPayload } from './sse-stamp.js';
|
|
14
15
|
import { logger } from './logger.js';
|
|
16
|
+
import { shouldProxyUrl, shouldUseResidentialProxy, startSessionProxy } from './proxy.js';
|
|
15
17
|
const MAX_SESSIONS = requireEnvInt('MAX_SESSIONS');
|
|
16
18
|
const SESSION_IDLE_TIMEOUT_MS = requireEnvInt('SESSION_IDLE_TIMEOUT_MS');
|
|
17
19
|
const BASE_CDP_PORT = 9222;
|
|
@@ -22,15 +24,93 @@ const NON_ACTION_TYPES = new Set(['done', 'wait', 'fail', 'ask_user']);
|
|
|
22
24
|
const sessions = new Map();
|
|
23
25
|
let cleanupInterval = null;
|
|
24
26
|
const CDP_PORT_SEARCH_LIMIT = 100;
|
|
27
|
+
async function launchBrowserWithCdpRetry(launchOpts) {
|
|
28
|
+
try {
|
|
29
|
+
return await BrowserClaw.launch(launchOpts);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const message = err instanceof Error ? err.message : '';
|
|
33
|
+
if (!message.includes('Failed to start Chrome CDP'))
|
|
34
|
+
throw err;
|
|
35
|
+
logger.warn({ cdpPort: launchOpts?.cdpPort }, 'BrowserClaw.launch hit CDP-ready race — retrying after 2s');
|
|
36
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
37
|
+
return await BrowserClaw.launch(launchOpts);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function swapToProxiedBrowser(managed, holder) {
|
|
41
|
+
if (managed.proxy !== null)
|
|
42
|
+
return;
|
|
43
|
+
const sessionToken = crypto.randomUUID().replace(/-/g, '').slice(0, 8);
|
|
44
|
+
const proxy = await startSessionProxy(sessionToken);
|
|
45
|
+
let newCdpPort;
|
|
46
|
+
try {
|
|
47
|
+
newCdpPort = await nextAvailableCdpPort();
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
await proxy.close();
|
|
51
|
+
throw err;
|
|
52
|
+
}
|
|
53
|
+
const launchOpts = {
|
|
54
|
+
headless: managed.headless,
|
|
55
|
+
noSandbox: process.platform === 'linux',
|
|
56
|
+
cdpPort: newCdpPort,
|
|
57
|
+
stealth: true,
|
|
58
|
+
isolated: true,
|
|
59
|
+
ssrfPolicy: { dangerouslyAllowPrivateNetwork: process.env.SSRF_ALLOW_PRIVATE === 'true' },
|
|
60
|
+
chromeArgs: [...(managed.headless === true ? [] : ['--start-maximized']), `--proxy-server=${proxy.url}`],
|
|
61
|
+
};
|
|
62
|
+
let newBrowser;
|
|
63
|
+
try {
|
|
64
|
+
newBrowser = await launchBrowserWithCdpRetry(launchOpts);
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
await proxy.close();
|
|
68
|
+
throw err;
|
|
69
|
+
}
|
|
70
|
+
let newPage;
|
|
71
|
+
try {
|
|
72
|
+
newPage = await newBrowser.currentPage();
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
await newBrowser.stop().catch((stopErr) => {
|
|
76
|
+
logger.warn({ sessionId: managed.id, err: stopErr }, 'Failed to stop orphaned proxied browser');
|
|
77
|
+
});
|
|
78
|
+
await proxy.close();
|
|
79
|
+
throw err;
|
|
80
|
+
}
|
|
81
|
+
if (managed.abortController.signal.aborted || !sessions.has(managed.id)) {
|
|
82
|
+
logger.info({ sessionId: managed.id }, 'Session closed mid-swap — disposing new browser and proxy');
|
|
83
|
+
await newBrowser.stop().catch((stopErr) => {
|
|
84
|
+
logger.warn({ sessionId: managed.id, err: stopErr }, 'Failed to stop orphaned proxied browser');
|
|
85
|
+
});
|
|
86
|
+
await proxy.close();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const oldBrowser = managed.browser;
|
|
90
|
+
managed.browser = newBrowser;
|
|
91
|
+
managed.page = newPage;
|
|
92
|
+
managed.cdpPort = newCdpPort;
|
|
93
|
+
managed.proxy = proxy;
|
|
94
|
+
managed.proxySwapCount += 1;
|
|
95
|
+
holder.page = newPage;
|
|
96
|
+
holder.browser = newBrowser;
|
|
97
|
+
logger.info({ sessionId: managed.id, newCdpPort }, 'Swapped to proxied browser');
|
|
98
|
+
oldBrowser.stop().catch((err) => {
|
|
99
|
+
logger.warn({ sessionId: managed.id, err }, 'Failed to stop old browser after proxy swap');
|
|
100
|
+
});
|
|
101
|
+
}
|
|
25
102
|
async function nextAvailableCdpPort() {
|
|
26
103
|
for (let port = BASE_CDP_PORT; port < BASE_CDP_PORT + CDP_PORT_SEARCH_LIMIT; port++) {
|
|
27
104
|
if (await isPortFree(port)) {
|
|
28
105
|
// Purge any stale session entries claiming this port — their Chrome died silently.
|
|
106
|
+
const stale = [];
|
|
29
107
|
for (const [id, s] of sessions) {
|
|
30
|
-
if (s.cdpPort === port)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
108
|
+
if (s.cdpPort === port)
|
|
109
|
+
stale.push(id);
|
|
110
|
+
}
|
|
111
|
+
for (const id of stale) {
|
|
112
|
+
logger.warn({ sessionId: id, port }, 'Evicting stale session — CDP port is actually free');
|
|
113
|
+
await closeSession(id);
|
|
34
114
|
}
|
|
35
115
|
return port;
|
|
36
116
|
}
|
|
@@ -47,7 +127,8 @@ export function emitSSE(sessionId, event, data) {
|
|
|
47
127
|
const managed = sessions.get(sessionId);
|
|
48
128
|
if (!managed)
|
|
49
129
|
return;
|
|
50
|
-
const
|
|
130
|
+
const stamped = stampSSEPayload(event, data);
|
|
131
|
+
const payload = `event: ${event}\ndata: ${JSON.stringify(stamped)}\n\n`;
|
|
51
132
|
for (const client of managed.sseClients) {
|
|
52
133
|
client.write(payload);
|
|
53
134
|
}
|
|
@@ -100,12 +181,17 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
|
|
|
100
181
|
await closeSession(existing.id);
|
|
101
182
|
}
|
|
102
183
|
if (skipModeration !== true) {
|
|
103
|
-
const aiCheck = await moderatePrompt(prompt);
|
|
184
|
+
const aiCheck = await runWithLlmConfig(llmConfig, () => moderatePrompt(prompt));
|
|
104
185
|
if (!aiCheck.allowed) {
|
|
105
186
|
throw new HttpError(422, aiCheck.reason ?? 'Prompt blocked by content policy.');
|
|
106
187
|
}
|
|
107
188
|
}
|
|
108
189
|
const cdpPort = await nextAvailableCdpPort();
|
|
190
|
+
let proxy = null;
|
|
191
|
+
if (shouldUseResidentialProxy(prompt, url)) {
|
|
192
|
+
const sessionToken = crypto.randomUUID().replace(/-/g, '').slice(0, 8);
|
|
193
|
+
proxy = await startSessionProxy(sessionToken);
|
|
194
|
+
}
|
|
109
195
|
const launchOpts = {
|
|
110
196
|
headless,
|
|
111
197
|
noSandbox: process.platform === 'linux',
|
|
@@ -114,28 +200,20 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
|
|
|
114
200
|
ssrfPolicy: {
|
|
115
201
|
dangerouslyAllowPrivateNetwork: process.env.SSRF_ALLOW_PRIVATE === 'true',
|
|
116
202
|
},
|
|
117
|
-
chromeArgs: [
|
|
203
|
+
chromeArgs: [
|
|
204
|
+
...(headless === true ? [] : ['--start-maximized']),
|
|
205
|
+
...(proxy !== null ? [`--proxy-server=${proxy.url}`] : []),
|
|
206
|
+
],
|
|
118
207
|
};
|
|
119
208
|
let browser;
|
|
120
209
|
try {
|
|
121
|
-
browser = await
|
|
210
|
+
browser = await launchBrowserWithCdpRetry(launchOpts);
|
|
122
211
|
}
|
|
123
212
|
catch (err) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
throw err;
|
|
129
|
-
}
|
|
130
|
-
logger.warn({ cdpPort }, 'BrowserClaw.launch hit CDP-ready race — retrying after 2s');
|
|
131
|
-
await new Promise((r) => setTimeout(r, 2000));
|
|
132
|
-
try {
|
|
133
|
-
browser = await BrowserClaw.launch(launchOpts);
|
|
134
|
-
}
|
|
135
|
-
catch (retryErr) {
|
|
136
|
-
logger.error({ cdpPort, retryErr }, 'BrowserClaw.launch failed after retry');
|
|
137
|
-
throw retryErr;
|
|
138
|
-
}
|
|
213
|
+
logger.error({ cdpPort, err }, 'BrowserClaw.launch failed');
|
|
214
|
+
if (proxy !== null)
|
|
215
|
+
await proxy.close();
|
|
216
|
+
throw err;
|
|
139
217
|
}
|
|
140
218
|
let page;
|
|
141
219
|
try {
|
|
@@ -148,6 +226,8 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
|
|
|
148
226
|
await browser.stop().catch((stopErr) => {
|
|
149
227
|
logger.error({ url, err: stopErr }, 'Failed to stop orphaned Chrome');
|
|
150
228
|
});
|
|
229
|
+
if (proxy !== null)
|
|
230
|
+
await proxy.close();
|
|
151
231
|
throw err;
|
|
152
232
|
}
|
|
153
233
|
const now = new Date();
|
|
@@ -176,9 +256,13 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
|
|
|
176
256
|
interjectionNonce: crypto.randomUUID().replace(/-/g, ''),
|
|
177
257
|
interjectionsReceived: 0,
|
|
178
258
|
lastInterjectionAt: null,
|
|
259
|
+
proxy,
|
|
260
|
+
skipModeration: skipModeration === true,
|
|
261
|
+
headless,
|
|
262
|
+
proxySwapCount: proxy === null ? 0 : 1,
|
|
179
263
|
};
|
|
180
264
|
sessions.set(id, managed);
|
|
181
|
-
logger.info({ sessionId: id, cdpPort }, 'Created session');
|
|
265
|
+
logger.info({ sessionId: id, cdpPort, proxied: proxy !== null }, 'Created session');
|
|
182
266
|
void logPrompt({
|
|
183
267
|
timestamp: now.toISOString(),
|
|
184
268
|
session_id: id,
|
|
@@ -238,7 +322,22 @@ async function startAgentLoop(sessionId) {
|
|
|
238
322
|
const runAllLlmWork = async () => {
|
|
239
323
|
resetLLMCallCount();
|
|
240
324
|
const waitForUser = USER_INTERJECTION_ENABLED ? () => waitForUserResponse(sessionId) : undefined;
|
|
241
|
-
const pageHolder = {
|
|
325
|
+
const pageHolder = {
|
|
326
|
+
page: managed.page,
|
|
327
|
+
browser: managed.browser,
|
|
328
|
+
ensureProxyForUrl: async (url) => {
|
|
329
|
+
if (!shouldProxyUrl(url))
|
|
330
|
+
return;
|
|
331
|
+
if (managed.proxy !== null)
|
|
332
|
+
return;
|
|
333
|
+
try {
|
|
334
|
+
await swapToProxiedBrowser(managed, pageHolder);
|
|
335
|
+
}
|
|
336
|
+
catch (err) {
|
|
337
|
+
logger.warn({ sessionId, url, err }, 'Proxy swap failed — continuing direct');
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
};
|
|
242
341
|
const userChatHooks = USER_INTERJECTION_ENABLED
|
|
243
342
|
? { drainMessages: () => drainUserMessages(sessionId), nonce: managed.interjectionNonce }
|
|
244
343
|
: undefined;
|
|
@@ -264,7 +363,11 @@ async function startAgentLoop(sessionId) {
|
|
|
264
363
|
// Sync back the page reference in case the agent switched tabs
|
|
265
364
|
managed.page = pageHolder.page;
|
|
266
365
|
managed.result = result;
|
|
267
|
-
managed.status = result.success
|
|
366
|
+
managed.status = result.success
|
|
367
|
+
? 'completed'
|
|
368
|
+
: result.status === 'canceled-timeout'
|
|
369
|
+
? 'canceled-timeout'
|
|
370
|
+
: 'failed';
|
|
268
371
|
// Capture domain from first navigate action if not set
|
|
269
372
|
if (managed.domain === null) {
|
|
270
373
|
const nav = result.steps.find((s) => s.action.action === 'navigate' && s.action.url !== undefined && s.action.url !== '');
|
|
@@ -278,7 +381,11 @@ async function startAgentLoop(sessionId) {
|
|
|
278
381
|
await saveTrajectory({
|
|
279
382
|
session_id: sessionId,
|
|
280
383
|
prompt: managed.prompt,
|
|
281
|
-
status: result.success
|
|
384
|
+
status: result.success
|
|
385
|
+
? TRAJECTORY_STATUS.completed
|
|
386
|
+
: result.status === 'canceled-timeout'
|
|
387
|
+
? TRAJECTORY_STATUS.canceledTimeout
|
|
388
|
+
: TRAJECTORY_STATUS.failed,
|
|
282
389
|
steps: result.steps,
|
|
283
390
|
answer: result.answer,
|
|
284
391
|
error: result.error,
|
|
@@ -320,6 +427,7 @@ async function startAgentLoop(sessionId) {
|
|
|
320
427
|
step: result.steps.length,
|
|
321
428
|
error: result.error,
|
|
322
429
|
llm_calls: llmCalls,
|
|
430
|
+
terminal_status: managed.status,
|
|
323
431
|
});
|
|
324
432
|
}
|
|
325
433
|
void logPrompt({
|
|
@@ -328,13 +436,18 @@ async function startAgentLoop(sessionId) {
|
|
|
328
436
|
ip: managed.ip,
|
|
329
437
|
prompt: managed.prompt,
|
|
330
438
|
url: result.final_url ?? '',
|
|
331
|
-
status:
|
|
439
|
+
status: managed.status,
|
|
332
440
|
steps: result.steps.length,
|
|
333
441
|
duration_ms: result.duration_ms,
|
|
334
442
|
error: result.error,
|
|
335
443
|
domain: managed.domain ?? undefined,
|
|
336
444
|
skills_loaded: skillsLoadedCount,
|
|
337
445
|
skill_outcome: skillOutcome,
|
|
446
|
+
walls_hit: result.walls_hit,
|
|
447
|
+
sites_visited: result.sites_visited,
|
|
448
|
+
records_extracted: result.records_extracted,
|
|
449
|
+
proxy_swap_count: managed.proxySwapCount,
|
|
450
|
+
crashed: false,
|
|
338
451
|
});
|
|
339
452
|
};
|
|
340
453
|
if (managed.llmConfig) {
|
|
@@ -351,6 +464,18 @@ async function startAgentLoop(sessionId) {
|
|
|
351
464
|
const stack = err instanceof Error && err.stack !== undefined ? sanitizeErrorText(err.stack) : undefined;
|
|
352
465
|
logger.error({ sessionId, crashed: true, message, stack }, 'Agent loop crashed');
|
|
353
466
|
emitter('failed', { step: 0, error: message });
|
|
467
|
+
void logPrompt({
|
|
468
|
+
timestamp: new Date().toISOString(),
|
|
469
|
+
session_id: sessionId,
|
|
470
|
+
ip: managed.ip,
|
|
471
|
+
prompt: managed.prompt,
|
|
472
|
+
status: 'failed',
|
|
473
|
+
duration_ms: Date.now() - managed.createdAt.getTime(),
|
|
474
|
+
error: message,
|
|
475
|
+
domain: managed.domain ?? undefined,
|
|
476
|
+
proxy_swap_count: managed.proxySwapCount,
|
|
477
|
+
crashed: true,
|
|
478
|
+
});
|
|
354
479
|
}
|
|
355
480
|
setTimeout(() => {
|
|
356
481
|
closeSession(sessionId).catch((err) => {
|
|
@@ -579,14 +704,33 @@ export function waitForUserResponse(sessionId) {
|
|
|
579
704
|
* ask_user, additionally resolves the waiting promise so existing callers keep
|
|
580
705
|
* working unchanged.
|
|
581
706
|
*/
|
|
582
|
-
export function enqueueUserMessage(sessionId, text) {
|
|
707
|
+
export async function enqueueUserMessage(sessionId, text) {
|
|
583
708
|
const managed = getManagedSession(sessionId);
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
709
|
+
const preview = text.length > 200 ? `${text.slice(0, 200)}…` : text;
|
|
710
|
+
if (!USER_INTERJECTION_ENABLED && managed.pendingUserResponse === null) {
|
|
711
|
+
logger.warn({ sessionId, chars: text.length, preview }, 'User message rejected — interjections disabled and agent not awaiting reply');
|
|
712
|
+
throw new HttpError(409, 'Session is not waiting for user input');
|
|
713
|
+
}
|
|
714
|
+
if (USER_INTERJECTION_ENABLED && managed.pendingUserResponse === null) {
|
|
715
|
+
if (managed.interjectionsReceived >= MAX_INTERJECTIONS_PER_RUN) {
|
|
716
|
+
logger.warn({ sessionId, cap: MAX_INTERJECTIONS_PER_RUN, preview }, 'User message rejected — interjection cap reached');
|
|
717
|
+
throw new HttpError(429, `Too many messages (cap: ${String(MAX_INTERJECTIONS_PER_RUN)} per run)`);
|
|
718
|
+
}
|
|
719
|
+
if (managed.lastInterjectionAt !== null) {
|
|
720
|
+
const elapsed = Date.now() - managed.lastInterjectionAt.getTime();
|
|
721
|
+
if (elapsed < INTERJECTION_MIN_INTERVAL_MS) {
|
|
722
|
+
const waitSec = Math.ceil((INTERJECTION_MIN_INTERVAL_MS - elapsed) / 1000);
|
|
723
|
+
logger.warn({ sessionId, waitSec, preview }, 'User message rejected — rate limit');
|
|
724
|
+
throw new HttpError(429, `Rate limit — wait ${String(waitSec)}s before sending again`);
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
if (!managed.skipModeration && managed.llmConfig !== undefined) {
|
|
729
|
+
const aiCheck = await runWithLlmConfig(managed.llmConfig, () => moderatePrompt(text));
|
|
730
|
+
if (!aiCheck.allowed) {
|
|
731
|
+
logger.warn({ sessionId, preview, reason: aiCheck.reason }, 'User message blocked by content policy');
|
|
732
|
+
throw new HttpError(422, aiCheck.reason ?? 'Message blocked by content policy.');
|
|
587
733
|
}
|
|
588
|
-
managed.pendingUserResponse.resolve(text);
|
|
589
|
-
return;
|
|
590
734
|
}
|
|
591
735
|
// Direct reply to an ask_user: unblock the agent loop via the existing
|
|
592
736
|
// `user_response` history path. Skip the interjection queue — otherwise the
|
|
@@ -594,23 +738,22 @@ export function enqueueUserMessage(sessionId, text) {
|
|
|
594
738
|
// again as a "USER INTERJECTION" injected into the next step's prompt).
|
|
595
739
|
if (managed.pendingUserResponse !== null) {
|
|
596
740
|
managed.lastActivityAt = new Date();
|
|
741
|
+
logger.info({ sessionId, chars: text.length, preview }, 'User message → ask_user reply');
|
|
597
742
|
managed.pendingUserResponse.resolve(text);
|
|
598
743
|
return;
|
|
599
744
|
}
|
|
600
|
-
if (managed.interjectionsReceived >= MAX_INTERJECTIONS_PER_RUN) {
|
|
601
|
-
throw new HttpError(429, `Too many messages (cap: ${String(MAX_INTERJECTIONS_PER_RUN)} per run)`);
|
|
602
|
-
}
|
|
603
|
-
if (managed.lastInterjectionAt !== null) {
|
|
604
|
-
const elapsed = Date.now() - managed.lastInterjectionAt.getTime();
|
|
605
|
-
if (elapsed < INTERJECTION_MIN_INTERVAL_MS) {
|
|
606
|
-
throw new HttpError(429, `Rate limit — wait ${String(Math.ceil((INTERJECTION_MIN_INTERVAL_MS - elapsed) / 1000))}s before sending again`);
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
745
|
const now = new Date();
|
|
610
746
|
managed.userMessageQueue.push({ text, receivedAt: now });
|
|
611
747
|
managed.interjectionsReceived += 1;
|
|
612
748
|
managed.lastInterjectionAt = now;
|
|
613
749
|
managed.lastActivityAt = now;
|
|
750
|
+
logger.info({
|
|
751
|
+
sessionId,
|
|
752
|
+
chars: text.length,
|
|
753
|
+
preview,
|
|
754
|
+
queueDepth: managed.userMessageQueue.length,
|
|
755
|
+
received: managed.interjectionsReceived,
|
|
756
|
+
}, 'User message queued for next step');
|
|
614
757
|
}
|
|
615
758
|
/**
|
|
616
759
|
* Drain and return all pending user messages. Called by the agent loop at the
|
|
@@ -620,19 +763,18 @@ export function drainUserMessages(sessionId) {
|
|
|
620
763
|
const managed = getManagedSession(sessionId);
|
|
621
764
|
const drained = managed.userMessageQueue;
|
|
622
765
|
managed.userMessageQueue = [];
|
|
766
|
+
if (drained.length > 0) {
|
|
767
|
+
logger.info({
|
|
768
|
+
sessionId,
|
|
769
|
+
count: drained.length,
|
|
770
|
+
previews: drained.map((m) => (m.text.length > 80 ? `${m.text.slice(0, 80)}…` : m.text)),
|
|
771
|
+
}, 'Draining user messages into next agent step');
|
|
772
|
+
}
|
|
623
773
|
return drained;
|
|
624
774
|
}
|
|
625
775
|
export function getInterjectionNonce(sessionId) {
|
|
626
776
|
return getManagedSession(sessionId).interjectionNonce;
|
|
627
777
|
}
|
|
628
|
-
/**
|
|
629
|
-
* Legacy export — preserved so existing route handlers that imported it keep
|
|
630
|
-
* compiling while we migrate them. Prefer `enqueueUserMessage`.
|
|
631
|
-
* @deprecated use enqueueUserMessage
|
|
632
|
-
*/
|
|
633
|
-
export function resolveUserResponse(sessionId, text) {
|
|
634
|
-
enqueueUserMessage(sessionId, text);
|
|
635
|
-
}
|
|
636
778
|
export async function closeSession(sessionId) {
|
|
637
779
|
const session = sessions.get(sessionId);
|
|
638
780
|
if (!session)
|
|
@@ -651,6 +793,9 @@ export async function closeSession(sessionId) {
|
|
|
651
793
|
catch (err) {
|
|
652
794
|
logger.error({ sessionId, err }, 'Failed to stop browser');
|
|
653
795
|
}
|
|
796
|
+
if (session.proxy !== null) {
|
|
797
|
+
await session.proxy.close();
|
|
798
|
+
}
|
|
654
799
|
logger.info({ sessionId }, 'Closed session');
|
|
655
800
|
}
|
|
656
801
|
export async function closeAllSessions() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAWvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AAuC7G,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AACnD,MAAM,uBAAuB,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAAC;AACzE,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,IAAI,eAAe,GAA0C,IAAI,CAAC;AAElE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,KAAK,UAAU,yBAAyB,CAAC,UAAoD;IAC3F,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAAE,MAAM,GAAG,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,2DAA2D,CAAC,CAAC;QAC3G,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAuB,EACvB,MAAkD;IAElD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO;IAEnC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACvC,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,EAAE;QACzF,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,KAAK,CAAC,GAAG,EAAE,CAAC;KACzG,CAAC;IAEF,IAAI,UAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,OAAkB,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,OAAgB,EAAE,EAAE;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yCAAyC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,2DAA2D,CAAC,CAAC;QACpG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,OAAgB,EAAE,EAAE;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yCAAyC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAEjF,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,6CAA6C,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,KAAK,IAAI,IAAI,GAAG,aAAa,EAAE,IAAI,GAAG,aAAa,GAAG,qBAAqB,EAAE,IAAI,EAAE,EAAE,CAAC;QACpF,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,mFAAmF;YACnF,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,oDAAoD,CAAC,CAAC;gBAC3F,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,WAAW,SAAS,YAAY,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE,KAAa,EAAE,IAAa;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;IACxE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,GAAmB;IACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,OAAO,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACnE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,4CAA4C,CAAC,CAAC;oBACzE,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACpD,IAAI,IAAI,GAAG,uBAAuB,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC;gBACvD,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,eAAe,KAAK,IAAI;QAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,GAAuB,EACvB,QAA6B,EAC7B,EAAU,EACV,cAAmC,EACnC,SAAoB,EACpB,kBAA4B;IAE5B,IAAI,QAAQ,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gCAAgC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAChG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,mCAAmC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE7C,IAAI,KAAK,GAAwB,IAAI,CAAC;IACtC,IAAI,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,KAAK,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACvC,OAAO;QACP,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;SAC1E;QACD,UAAU,EAAE;YACV,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACnD,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;KACF,CAAC;IACF,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC5D,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,IAAe,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;QAC5E,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,OAAgB,EAAE,EAAE;YAC9C,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAmB;QAC9B,EAAE;QACF,MAAM;QACN,EAAE;QACF,OAAO;QACP,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,GAAG;QACnB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,IAAI,eAAe,EAAE;QACtC,SAAS;QACT,kBAAkB,EAAE,kBAAkB,KAAK,IAAI;QAC/C,mBAAmB,EAAE,IAAI;QACzB,gBAAgB,EAAE,EAAE;QACpB,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,qBAAqB,EAAE,CAAC;QACxB,kBAAkB,EAAE,IAAI;QACxB,KAAK;QACL,cAAc,EAAE,cAAc,KAAK,IAAI;QACvC,QAAQ;QACR,cAAc,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACvC,CAAC;IAEF,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAEpF,KAAK,SAAS,CAAC;QACb,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,UAAU,EAAE,EAAE;QACd,EAAE;QACF,MAAM;QACN,GAAG;QACH,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP,EAAE;YACF,MAAM;YACN,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,SAAS;SAClB;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAE3B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,IAAa,EAAE,EAAE;QAC/C,OAAO,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,YAAY,GAA4D,MAAM,CAAC;IAEnF,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,WAAW,GAAwB,IAAI,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,WAAW,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;gBACxC,IAAI,WAAW,EAAE,CAAC;oBAChB,iBAAiB,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,oBAAoB,CAAC,CAAC;oBACvG,OAAO,CAAC,eAAe,EAAE;wBACvB,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK;wBAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,qDAAqD;QACrD,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,iBAAiB,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,MAAM,UAAU,GAIZ;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;oBACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;wBAAE,OAAO;oBACjC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;wBAAE,OAAO;oBACnC,IAAI,CAAC;wBACH,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;aACF,CAAC;YACF,MAAM,aAAa,GAAG,yBAAyB;gBAC7C,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE;gBACzF,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,OAAO,CAAC,MAAM,EACd,UAAU,EACV,OAAO,EACP,OAAO,CAAC,eAAe,CAAC,MAAM,EAC9B,WAAW,EACX,OAAO,CAAC,OAAO,EACf,WAAW,EACX,SAAS,EACT,aAAa,EACb;gBACE,SAAS;gBACT,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;oBACjC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;4BAC3C,WAAW,GAAG,KAAK,CAAC;4BACpB,iBAAiB,GAAG,CAAC,CAAC;4BACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;wBAChF,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAC;wBACpG,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;aACF,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;YAEnC,+DAA+D;YAC/D,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO;gBAC7B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB;oBACpC,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,QAAQ,CAAC;YAEf,uDAAuD;YACvD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAC3F,CAAC;gBACF,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;oBAC3D,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;oBACrE,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,MAAM,cAAc,CAAC;gBACnB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,MAAM,CAAC,OAAO;oBACpB,CAAC,CAAC,iBAAiB,CAAC,SAAS;oBAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB;wBACpC,CAAC,CAAC,iBAAiB,CAAC,eAAe;wBACnC,CAAC,CAAC,iBAAiB,CAAC,MAAM;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;YAEH,0DAA0D;YAC1D,kEAAkE;YAClE,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;gBAC/E,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;oBACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;wBAChD,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAClF,oBAAoB,CACrB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAChC,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;oBACrE,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,CAAC,WAAW,EAAE;oBACnB,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBACpC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,iBAAiB,GAAG,CAAC;oBAClC,aAAa,EAAE,iBAAiB;oBAChC,aAAa,EAAE,YAAY;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,QAAQ,EAAE;oBAChB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,QAAQ;oBACnB,eAAe,EAAE,OAAO,CAAC,MAAM;iBAChC,CAAC,CAAC;YACL,CAAC;YAED,KAAK,SAAS,CAAC;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,UAAU,EAAE,SAAS;gBACrB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;gBAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;gBACnC,aAAa,EAAE,iBAAiB;gBAChC,aAAa,EAAE,YAAY;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,gBAAgB,EAAE,OAAO,CAAC,cAAc;gBACxC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC7E,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACjF,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,KAAK,SAAS,CAAC;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU,EAAE,SAAS;YACrB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;YACrD,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;YACnC,gBAAgB,EAAE,OAAO,CAAC,cAAc;YACxC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC7C,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAuB,EACvB,kBAAuC,EACvC,OAA+C;IAE/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,wDAAwD;IACxD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE;gBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE;gBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAEtC,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,0DAA0D;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,iGAAiG;IACjG,sBAAsB;IACtB,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,kBAAkB,CAAC,MAAM;YACjC,KAAK,EAAE,kBAAkB,CAAC,KAAK;YAC/B,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,qDAAqD;IACrD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM;oBACN,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EACjD,oDAAoD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC;IAE/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAuB,EACvB,OAA+C,EAC/C,QAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,IAAI,WAAW,CAAC,MAAM,GAAG,mBAAmB;QAAE,OAAO,MAAM,CAAC;IAE5D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC/E,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAEnF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEzB,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBAEpC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;wBACxB,sEAAsE;wBACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;wBACxC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC;wBACxF,OAAO,CAAC,gBAAgB,EAAE;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,cAAc,EAAE,QAAQ;4BACxB,SAAS,EAAE,QAAQ;yBACpB,CAAC,CAAC;wBACH,OAAO,UAAU,CAAC;oBACpB,CAAC;yBAAM,IAAI,QAAQ,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;wBACrC,uEAAuE;wBACvE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBACzE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;4BACzB,MAAM,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClF,CAAC;wBACD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;wBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;wBACxC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACxD,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAC1F,eAAe,CAChB,CAAC;wBACF,OAAO,CAAC,eAAe,EAAE;4BACvB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,cAAc,EAAE,QAAQ;4BACxB,SAAS,EAAE,QAAQ;4BACnB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;4BACjC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;yBAC1D,CAAC,CAAC;wBACH,OAAO,SAAS,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,iCAAiC;wBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;wBACxC,MAAM,SAAS,GACb,WAAW,KAAK,IAAI;4BAClB,CAAC,CAAC;gCACE,GAAG,QAAQ,CAAC,KAAK;gCACjB,aAAa,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;6BAChF;4BACH,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACrB,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACpE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;wBAClG,OAAO,CAAC,iBAAiB,EAAE;4BACzB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;4BAC3B,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,QAAQ;yBACpB,CAAC,CAAC;wBACH,OAAO,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7C,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7E,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAClG,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;QAC3C,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAKhD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC/C,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAE7B,OAAO,CAAC,mBAAmB,GAAG;YAC5B,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC3B,OAAO,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,MAAM,EAAE,CAAC,GAAU,EAAE,EAAE;gBACrB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAC1C,6EAA6E,CAC9E,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,qBAAqB,IAAI,yBAAyB,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,EAAE,yBAAyB,EAAE,OAAO,EAAE,EACtD,kDAAkD,CACnD,CAAC;YACF,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,2BAA2B,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAClE,IAAI,OAAO,GAAG,4BAA4B,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,4BAA4B,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,oCAAoC,CAAC,CAAC;gBACnF,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,qBAAqB,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,wCAAwC,CAAC,CAAC;YACtG,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,oCAAoC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACzF,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC;IACjC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAC,IAAI,CACT;QACE,SAAS;QACT,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,OAAO;QACP,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;QAC3C,QAAQ,EAAE,OAAO,CAAC,qBAAqB;KACxC,EACD,mCAAmC,CACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACzC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT;YACE,SAAS;YACT,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACxF,EACD,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"press-and-hold.d.ts","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAAC;AAoH1E,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"press-and-hold.d.ts","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAAC;AAoH1E,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAkB1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAc3F;AAyDD,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAYhG"}
|
|
@@ -92,20 +92,26 @@ async function findButtonCoordinates(page) {
|
|
|
92
92
|
return { x: parsed.best.x, y: parsed.best.y };
|
|
93
93
|
}
|
|
94
94
|
export async function getPageText(page) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
95
|
+
try {
|
|
96
|
+
return (await page.evaluate(`
|
|
97
|
+
(function() {
|
|
98
|
+
var text = (document.body && document.body.innerText) || '';
|
|
99
|
+
var iframes = document.querySelectorAll('iframe');
|
|
100
|
+
for (var i = 0; i < iframes.length; i++) {
|
|
101
|
+
try {
|
|
102
|
+
if (iframes[i].contentDocument && iframes[i].contentDocument.body) {
|
|
103
|
+
text += ' ' + iframes[i].contentDocument.body.innerText;
|
|
104
|
+
}
|
|
105
|
+
} catch(e) {}
|
|
106
|
+
}
|
|
107
|
+
return text;
|
|
108
|
+
})()
|
|
109
|
+
`));
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
logger.warn({ err }, 'getPageText: evaluation failed — returning empty');
|
|
113
|
+
return '';
|
|
114
|
+
}
|
|
109
115
|
}
|
|
110
116
|
export async function isStillBlocked(page, type) {
|
|
111
117
|
if (type === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"press-and-hold.js","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,iFAAiF,CAAC;AAC7G,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AAExE,MAAM,gBAAgB,GAA6D;IACjF,cAAc,EAAE,qDAAqD;IACrE,mBAAmB,EAAE,sEAAsE;CAC5F,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe;AACjE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAe;IAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoElC,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAgB1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAgB,CAAuB,CAAC;IAClE,MAAM,CAAC,IAAI,CACT;QACE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACxC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KAClG,EACD,+BAA+B,CAChC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAe;IAC/C,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"press-and-hold.js","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,iFAAiF,CAAC;AAC7G,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AAExE,MAAM,gBAAgB,GAA6D;IACjF,cAAc,EAAE,qDAAqD;IACrE,mBAAmB,EAAE,sEAAsE;CAC5F,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe;AACjE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAe;IAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoElC,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAgB1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAgB,CAAuB,CAAC;IAClE,MAAM,CAAC,IAAI,CACT;QACE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACxC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KAClG,EACD,+BAA+B,CAChC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAe;IAC/C,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;KAa3B,CAAC,CAAW,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,kDAAkD,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAe,EAAE,IAAiB;IACrE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAChC,gFAAgF,MAAM,CAAC,OAAO,CAAC,IAAI,CACpG,CAAC;IACF,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAe;IACvD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,KAAK,UAAU,uBAAuB,CAAC,IAAe,EAAE,IAAiB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,2FAA2F;IAC3F,uCAAuC;IACvC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,mCAAmC,CAAC,CAAC;QAChG,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,sFAAsF;IACtF,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,wCAAwC,CAAC,CAAC;QACrG,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,2FAA2F;IAC3F,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACzF,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAiB;IACjF,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO,CACL,QAAQ;YACR,4GAA4G,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,oCAAoC,CAC1K,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,OAAO,CACL,QAAQ;YACR,kOAAkO,CACnO,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS;IACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAChC;2CACuC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;SAgBzD,CACN,CAAC;IACF,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,KAAK,UAAU,kBAAkB,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAClD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,KAAK,UAAU,kBAAkB,CAAC,IAAe;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;IAC7E,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAe,EAAE,IAA0B;IAC5E,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1E,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-stamp.d.ts","sourceRoot":"","sources":["../src/sse-stamp.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { API_VERSION } from './api-types.js';
|
|
2
|
+
// Spread payload first so the canonical `type` and `apiVersion` always win.
|
|
3
|
+
export function stampSSEPayload(event, data) {
|
|
4
|
+
if (data !== null && typeof data === 'object') {
|
|
5
|
+
return { ...data, apiVersion: API_VERSION, type: event };
|
|
6
|
+
}
|
|
7
|
+
return { value: data, apiVersion: API_VERSION, type: event };
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sse-stamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-stamp.js","sourceRoot":"","sources":["../src/sse-stamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,IAAa;IAC1D,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAI,IAAgC,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { AgentStep } from './types.js';
|
|
|
2
2
|
export declare const TRAJECTORY_STATUS: {
|
|
3
3
|
readonly completed: "completed";
|
|
4
4
|
readonly failed: "failed";
|
|
5
|
+
readonly canceledTimeout: "canceled-timeout";
|
|
5
6
|
};
|
|
6
7
|
export type TrajectoryStatus = (typeof TRAJECTORY_STATUS)[keyof typeof TRAJECTORY_STATUS];
|
|
7
8
|
export interface TrajectoryRecord {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trajectory-store.d.ts","sourceRoot":"","sources":["../src/trajectory-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"trajectory-store.d.ts","sourceRoot":"","sources":["../src/trajectory-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAYD,wBAAsB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWxF"}
|