clawconnect-agent 0.1.42 → 0.2.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.
Files changed (34) hide show
  1. package/.env.example +3 -0
  2. package/README.md +2 -1
  3. package/README.zh-CN.md +2 -1
  4. package/dist/commands/status.js +7 -2
  5. package/dist/commands/status.js.map +1 -1
  6. package/dist/config/env.d.ts +1 -1
  7. package/dist/config/env.js +3 -0
  8. package/dist/config/env.js.map +1 -1
  9. package/dist/hermes/hermes-relay-manager.d.ts +2 -3
  10. package/dist/hermes/hermes-relay-manager.js +19 -37
  11. package/dist/hermes/hermes-relay-manager.js.map +1 -1
  12. package/dist/hermes/runtime/hermes-runtime-api-client.js +28 -13
  13. package/dist/hermes/runtime/hermes-runtime-api-client.js.map +1 -1
  14. package/dist/hermes/runtime/hermes-runtime-api-settings.d.ts +8 -3
  15. package/dist/hermes/runtime/hermes-runtime-api-settings.js +120 -9
  16. package/dist/hermes/runtime/hermes-runtime-api-settings.js.map +1 -1
  17. package/dist/hermes/runtime/hermes-runtime-chat.js +51 -0
  18. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -1
  19. package/dist/hermes/runtime/hermes-runtime-state-db.d.ts +8 -0
  20. package/dist/hermes/runtime/hermes-runtime-state-db.js +124 -4
  21. package/dist/hermes/runtime/hermes-runtime-state-db.js.map +1 -1
  22. package/dist/openclaw/relay/assistant-media-sidecar.d.ts +13 -0
  23. package/dist/openclaw/relay/assistant-media-sidecar.js +148 -0
  24. package/dist/openclaw/relay/assistant-media-sidecar.js.map +1 -0
  25. package/dist/openclaw/relay/chat-history.js +10 -4
  26. package/dist/openclaw/relay/chat-history.js.map +1 -1
  27. package/dist/openclaw/relay/outgoing-media-relay.js +87 -35
  28. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -1
  29. package/dist/openclaw/relay-manager.js +5 -2
  30. package/dist/openclaw/relay-manager.js.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/hermes/relay/hermes-state-db-realtime.d.ts +0 -108
  33. package/dist/hermes/relay/hermes-state-db-realtime.js +0 -867
  34. package/dist/hermes/relay/hermes-state-db-realtime.js.map +0 -1
@@ -30,14 +30,17 @@ def to_iso(value):
30
30
  def row_dict(row):
31
31
  return {key: row[key] for key in row.keys()}
32
32
 
33
- def connect():
34
- conn = sqlite3.connect(f"file:{db_path}?mode=ro", uri=True, timeout=1.0)
33
+ def connect(writable=False):
34
+ uri_mode = "rw" if writable else "ro"
35
+ conn = sqlite3.connect(f"file:{db_path}?mode={uri_mode}", uri=True, timeout=1.0)
35
36
  conn.row_factory = sqlite3.Row
36
- conn.execute("PRAGMA query_only=ON")
37
+ if not writable:
38
+ conn.execute("PRAGMA query_only=ON")
37
39
  return conn
38
40
 
41
+ conn = None
39
42
  try:
40
- conn = connect()
43
+ conn = connect(writable=(mode == "rewind_after"))
41
44
  if mode == "list":
42
45
  rows = conn.execute("""
43
46
  SELECT
@@ -182,10 +185,97 @@ try:
182
185
  "newestCursor": f"seq:{last_id}" if last_id is not None else None,
183
186
  }
184
187
  print(json.dumps({"ok": True, "payload": payload}, ensure_ascii=False))
188
+ elif mode == "active_head":
189
+ session_id = sys.argv[3]
190
+ session = conn.execute("SELECT id FROM sessions WHERE id = ?", (session_id,)).fetchone()
191
+ if session is None:
192
+ print(json.dumps({"ok": True, "payload": {"found": False}}, ensure_ascii=False))
193
+ else:
194
+ row = conn.execute("""
195
+ SELECT MAX(id) AS head_message_id FROM messages
196
+ WHERE session_id = ? AND COALESCE(active, 1) != 0
197
+ """, (session_id,)).fetchone()
198
+ print(json.dumps({
199
+ "ok": True,
200
+ "payload": {
201
+ "found": True,
202
+ "headMessageId": int(row["head_message_id"] or 0),
203
+ },
204
+ }, ensure_ascii=False))
205
+ elif mode == "rewind_after":
206
+ session_id = sys.argv[3]
207
+ head_message_id = max(0, int(sys.argv[4]))
208
+ expected_source_run_id = sys.argv[5]
209
+ conn.execute("BEGIN IMMEDIATE")
210
+ session = conn.execute("SELECT id FROM sessions WHERE id = ?", (session_id,)).fetchone()
211
+ if session is None:
212
+ conn.rollback()
213
+ print(json.dumps({"ok": True, "payload": {"found": False}}, ensure_ascii=False))
214
+ else:
215
+ target = conn.execute("""
216
+ SELECT id, role, content FROM messages
217
+ WHERE session_id = ? AND id > ? AND COALESCE(active, 1) != 0
218
+ ORDER BY id ASC LIMIT 1
219
+ """, (session_id, head_message_id)).fetchone()
220
+ if target is None:
221
+ conn.rollback()
222
+ print(json.dumps({
223
+ "ok": True,
224
+ "payload": {"found": True, "rewoundCount": 0},
225
+ }, ensure_ascii=False))
226
+ elif target["role"] != "user":
227
+ conn.rollback()
228
+ print(json.dumps({"ok": False, "error": "rewind target is not a user message"}, ensure_ascii=False))
229
+ elif not isinstance(target["content"], str):
230
+ conn.rollback()
231
+ print(json.dumps({"ok": False, "error": "rewind target has no text metadata"}, ensure_ascii=False))
232
+ else:
233
+ lines = target["content"].splitlines()
234
+ source_run_id_matches = False
235
+ for index, line in enumerate(lines):
236
+ if line.strip() != "[ClawConnect mobile turn]":
237
+ continue
238
+ source_run_id = None
239
+ for metadata_line in lines[index + 1:]:
240
+ stripped = metadata_line.strip()
241
+ if not stripped:
242
+ break
243
+ if stripped.startswith("[") and stripped.endswith("]"):
244
+ break
245
+ if stripped.startswith("sourceRunId:"):
246
+ source_run_id = stripped[len("sourceRunId:"):].strip()
247
+ break
248
+ if source_run_id == expected_source_run_id:
249
+ source_run_id_matches = True
250
+ break
251
+ if not source_run_id_matches:
252
+ conn.rollback()
253
+ print(json.dumps({"ok": False, "error": "rewind target run id mismatch"}, ensure_ascii=False))
254
+ else:
255
+ cursor = conn.execute("""
256
+ UPDATE messages SET active = 0
257
+ WHERE session_id = ? AND id >= ? AND COALESCE(active, 1) != 0
258
+ """, (session_id, int(target["id"])))
259
+ if cursor.rowcount > 0:
260
+ conn.execute("""
261
+ UPDATE sessions SET rewind_count = COALESCE(rewind_count, 0) + 1
262
+ WHERE id = ?
263
+ """, (session_id,))
264
+ conn.commit()
265
+ print(json.dumps({
266
+ "ok": True,
267
+ "payload": {
268
+ "found": True,
269
+ "rewoundCount": int(cursor.rowcount),
270
+ },
271
+ }, ensure_ascii=False))
185
272
  else:
186
273
  print(json.dumps({"ok": False, "error": "unsupported mode"}, ensure_ascii=False))
187
274
  except Exception as exc:
188
275
  print(json.dumps({"ok": False, "error": str(exc)}, ensure_ascii=False))
276
+ finally:
277
+ if conn is not None:
278
+ conn.close()
189
279
  `;
190
280
  export async function listHermesSessionsFromStateDb() {
191
281
  const payload = await runHermesStateDbQuery("list", [String(HERMES_STATE_DB_LIST_LIMIT)]);
@@ -253,6 +343,36 @@ export async function queryHermesHistoryPageFromStateDb(params) {
253
343
  ...(stringValue(record.newestCursor) ? { newestCursor: stringValue(record.newestCursor) } : {}),
254
344
  };
255
345
  }
346
+ /**
347
+ * Capture an authoritative active-message boundary before resuming a Hermes
348
+ * CLI session. The row id is stable and lets abort recovery exclude only rows
349
+ * created by the canceled invocation without comparing message text or time.
350
+ */
351
+ export async function captureHermesSessionActiveHead(sessionId) {
352
+ const normalized = sessionId.trim();
353
+ if (!normalized) {
354
+ return undefined;
355
+ }
356
+ const record = toRecord(await runHermesStateDbQuery("active_head", [normalized]));
357
+ if (record.found !== true || typeof record.headMessageId !== "number" || !Number.isSafeInteger(record.headMessageId)) {
358
+ return undefined;
359
+ }
360
+ return Math.max(0, record.headMessageId);
361
+ }
362
+ /** Soft-rewind rows appended after a previously captured active head. */
363
+ export async function rewindHermesSessionAfterActiveHead(sessionId, headMessageId, expectedSourceRunId) {
364
+ const normalized = sessionId.trim();
365
+ const normalizedSourceRunId = expectedSourceRunId.trim();
366
+ if (!normalized || !normalizedSourceRunId || !Number.isSafeInteger(headMessageId) || headMessageId < 0) {
367
+ return false;
368
+ }
369
+ const record = toRecord(await runHermesStateDbQuery("rewind_after", [
370
+ normalized,
371
+ String(headMessageId),
372
+ normalizedSourceRunId,
373
+ ]));
374
+ return record.found === true;
375
+ }
256
376
  export function buildEmptyHermesHistoryExport(sessionIdentity) {
257
377
  return {
258
378
  sessionId: sessionIdentity?.trim() || "main",
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-runtime-state-db.js","sourceRoot":"","sources":["../../../src/hermes/runtime/hermes-runtime-state-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hermes-runtime-state-db.js","sourceRoot":"","sources":["../../../src/hermes/runtime/hermes-runtime-state-db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * OpenClaw persists automatic outgoing media as a second assistant record whose
3
+ * idempotency key explicitly names its parent run. The desktop UI projects the
4
+ * pair as one activity; mobile history must use the same stable relation.
5
+ */
6
+ export declare function normalizeOpenClawAssistantMediaSidecars(messages: unknown[], fallbackSessionKey?: string): {
7
+ messages: unknown[];
8
+ changed: boolean;
9
+ };
10
+ /** Map an event-only sidecar to its documented parent run identity. */
11
+ export declare function canonicalizeOpenClawAssistantMediaSidecarPayload(payload: unknown): unknown;
12
+ /** True only for the documented OpenClaw automatic-media sidecar identity. */
13
+ export declare function isOpenClawAssistantMediaSidecarPayload(payload: unknown): boolean;
@@ -0,0 +1,148 @@
1
+ const OPENCLAW_ASSISTANT_MEDIA_IDEMPOTENCY_SUFFIX = ":assistant-media";
2
+ /**
3
+ * OpenClaw persists automatic outgoing media as a second assistant record whose
4
+ * idempotency key explicitly names its parent run. The desktop UI projects the
5
+ * pair as one activity; mobile history must use the same stable relation.
6
+ */
7
+ export function normalizeOpenClawAssistantMediaSidecars(messages, fallbackSessionKey) {
8
+ const candidatesByScopeAndRun = new Map();
9
+ const messagesById = new Map();
10
+ const sidecars = [];
11
+ for (let index = 0; index < messages.length; index += 1) {
12
+ const message = asRecord(messages[index]);
13
+ if (!message || message.role !== "assistant")
14
+ continue;
15
+ const scope = messageSessionScope(message, fallbackSessionKey);
16
+ const messageId = firstString(message.id, message.messageId, message.message_id);
17
+ if (messageId && !messagesById.has(messageId)) {
18
+ messagesById.set(messageId, { index, message });
19
+ }
20
+ const idempotencyKey = firstString(message.idempotencyKey, message.idempotency_key);
21
+ const sidecarRunId = assistantMediaSidecarRunId(idempotencyKey);
22
+ if (scope && sidecarRunId) {
23
+ sidecars.push({
24
+ index,
25
+ message,
26
+ runId: sidecarRunId,
27
+ scope,
28
+ parentId: firstString(message.parentId, message.parent_id),
29
+ });
30
+ continue;
31
+ }
32
+ const runId = normalAssistantRunId(message);
33
+ if (!scope || !runId)
34
+ continue;
35
+ const key = `${scope}\u0000${runId}`;
36
+ const candidates = candidatesByScopeAndRun.get(key) ?? [];
37
+ candidates.push({ index, message });
38
+ candidatesByScopeAndRun.set(key, candidates);
39
+ }
40
+ if (sidecars.length === 0)
41
+ return { messages, changed: false };
42
+ const mergedByIndex = new Map();
43
+ const suppressedIndexes = new Set();
44
+ const processedSidecarKeys = new Set();
45
+ for (const sidecar of sidecars) {
46
+ const explicitParent = sidecar.parentId ? messagesById.get(sidecar.parentId) : undefined;
47
+ const candidates = explicitParent
48
+ ? [explicitParent]
49
+ : candidatesByScopeAndRun.get(`${sidecar.scope}\u0000${sidecar.runId}`);
50
+ // An ambiguous or incomplete relation is deliberately preserved. We never
51
+ // infer a parent by matching text, time, position, or a "latest" message.
52
+ if (!candidates || candidates.length !== 1)
53
+ continue;
54
+ const parent = candidates[0];
55
+ if (messageSessionScope(parent.message, fallbackSessionKey) !== sidecar.scope ||
56
+ (normalAssistantRunId(parent.message) && normalAssistantRunId(parent.message) !== sidecar.runId))
57
+ continue;
58
+ const sidecarKey = `${sidecar.scope}\u0000${sidecar.runId}`;
59
+ // Replayed records carry the same stable sidecar idempotency identity. Fold
60
+ // its media once; still remove every replay from the visible transcript.
61
+ if (processedSidecarKeys.has(sidecarKey)) {
62
+ suppressedIndexes.add(sidecar.index);
63
+ continue;
64
+ }
65
+ const currentParent = mergedByIndex.get(parent.index) ?? parent.message;
66
+ mergedByIndex.set(parent.index, mergeAssistantMediaSidecar(currentParent, sidecar.message));
67
+ suppressedIndexes.add(sidecar.index);
68
+ processedSidecarKeys.add(sidecarKey);
69
+ }
70
+ if (suppressedIndexes.size === 0)
71
+ return { messages, changed: false };
72
+ return {
73
+ messages: messages.flatMap((message, index) => {
74
+ if (suppressedIndexes.has(index))
75
+ return [];
76
+ return [mergedByIndex.get(index) ?? message];
77
+ }),
78
+ changed: true,
79
+ };
80
+ }
81
+ /** Map an event-only sidecar to its documented parent run identity. */
82
+ export function canonicalizeOpenClawAssistantMediaSidecarPayload(payload) {
83
+ const record = asRecord(payload);
84
+ const message = asRecord(record?.message);
85
+ const source = message ?? record;
86
+ if (source?.role !== "assistant")
87
+ return payload;
88
+ const sidecarRunId = assistantMediaSidecarRunId(firstString(source.idempotencyKey, source.idempotency_key));
89
+ if (!sidecarRunId)
90
+ return payload;
91
+ const explicitRunId = firstString(record?.runId, record?.run_id, record?.turnId, record?.turn_id, message?.runId, message?.run_id, message?.turnId, message?.turn_id);
92
+ if (explicitRunId && explicitRunId !== sidecarRunId)
93
+ return payload;
94
+ if (explicitRunId)
95
+ return payload;
96
+ return { ...record, runId: sidecarRunId, turnId: sidecarRunId };
97
+ }
98
+ /** True only for the documented OpenClaw automatic-media sidecar identity. */
99
+ export function isOpenClawAssistantMediaSidecarPayload(payload) {
100
+ const record = asRecord(payload);
101
+ const message = asRecord(record?.message);
102
+ const source = message ?? record;
103
+ return source?.role === "assistant" && Boolean(assistantMediaSidecarRunId(firstString(source.idempotencyKey, source.idempotency_key)));
104
+ }
105
+ function mergeAssistantMediaSidecar(parent, sidecar) {
106
+ const parentContent = normalizeContentBlocks(parent.content);
107
+ const sidecarMedia = normalizeContentBlocks(sidecar.content).filter((block) => !isTextContentBlock(block));
108
+ return sidecarMedia.length === 0
109
+ ? parent
110
+ : { ...parent, content: [...parentContent, ...sidecarMedia] };
111
+ }
112
+ function normalizeContentBlocks(content) {
113
+ if (Array.isArray(content))
114
+ return content;
115
+ return typeof content === "string" && content.trim() ? [{ type: "text", text: content }] : [];
116
+ }
117
+ function isTextContentBlock(block) {
118
+ const record = asRecord(block);
119
+ const type = typeof record?.type === "string" ? record.type.trim().toLowerCase() : "";
120
+ return type === "text" || type === "input_text" || type === "output_text";
121
+ }
122
+ function messageSessionScope(message, fallbackSessionKey) {
123
+ return firstString(message.sessionKey, message.sessionId, fallbackSessionKey);
124
+ }
125
+ function normalAssistantRunId(message) {
126
+ const idempotencyKey = firstString(message.idempotencyKey, message.idempotency_key);
127
+ return firstString(message.runId, message.run_id, message.turnId, message.turn_id, idempotencyKey && !assistantMediaSidecarRunId(idempotencyKey)
128
+ ? normalizeOpenClawRunId(idempotencyKey)
129
+ : undefined);
130
+ }
131
+ function assistantMediaSidecarRunId(idempotencyKey) {
132
+ if (!idempotencyKey?.endsWith(OPENCLAW_ASSISTANT_MEDIA_IDEMPOTENCY_SUFFIX))
133
+ return undefined;
134
+ const runId = idempotencyKey.slice(0, -OPENCLAW_ASSISTANT_MEDIA_IDEMPOTENCY_SUFFIX.length).trim();
135
+ return runId || undefined;
136
+ }
137
+ function normalizeOpenClawRunId(value) {
138
+ return value.replace(/:(?:user|assistant|tool|system)$/i, "").trim();
139
+ }
140
+ function firstString(...values) {
141
+ return values.find((value) => typeof value === "string" && value.trim().length > 0)?.trim();
142
+ }
143
+ function asRecord(value) {
144
+ return value && typeof value === "object" && !Array.isArray(value)
145
+ ? value
146
+ : undefined;
147
+ }
148
+ //# sourceMappingURL=assistant-media-sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-media-sidecar.js","sourceRoot":"","sources":["../../../src/openclaw/relay/assistant-media-sidecar.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { readFile, stat } from "fs/promises";
3
3
  import { buildHistorySnapshotPage } from "../../core/relay/timeline-event-builder.js";
4
4
  import { resolveOpenClawSessionTranscript, } from "./session-context.js";
5
+ import { normalizeOpenClawAssistantMediaSidecars } from "./assistant-media-sidecar.js";
5
6
  const DEFAULT_TRANSCRIPT_HISTORY_LIMIT = 100;
6
7
  const MAX_TRANSCRIPT_HISTORY_LIMIT = 200;
7
8
  const CURSOR_PREFIX = "seq:";
@@ -27,7 +28,7 @@ export async function readOpenClawTranscriptChatHistory(rawParams, defaults) {
27
28
  });
28
29
  }
29
30
  export async function readChatHistoryFromTranscriptFile(request) {
30
- const messages = await readIndexedTranscriptMessages(request.transcriptPath);
31
+ const messages = await readIndexedTranscriptMessages(request.transcriptPath, request.sessionKey);
31
32
  const limit = normalizeHistoryLimit(request.limit);
32
33
  const direction = normalizeHistoryDirection(request.direction);
33
34
  const cursorSeq = parseHistoryCursorSeq(request.cursor);
@@ -107,7 +108,7 @@ function normalizeTranscriptHistoryParams(rawParams, fallbackSessionKey) {
107
108
  direction: normalizeHistoryDirection(record.direction),
108
109
  };
109
110
  }
110
- async function readIndexedTranscriptMessages(transcriptPath) {
111
+ async function readIndexedTranscriptMessages(transcriptPath, sessionKey) {
111
112
  const stats = await stat(transcriptPath);
112
113
  const cached = transcriptHistoryCache.get(transcriptPath);
113
114
  if (cached && cached.size === stats.size && cached.mtimeMs === stats.mtimeMs) {
@@ -125,8 +126,13 @@ async function readIndexedTranscriptMessages(transcriptPath) {
125
126
  messages.push(message);
126
127
  }
127
128
  }
128
- restoreTranscriptTurnLineage(messages);
129
- const visibleMessages = filterOpenClawHeartbeatArtifacts(messages);
129
+ // Fold the automatic assistant-media sidecar before lineage reconstruction.
130
+ // Lineage deliberately rewrites idempotency keys to mobile turn IDs, while
131
+ // the raw <run>:assistant-media key and parentId are the authoritative
132
+ // relationship needed to keep the desktop and mobile projections aligned.
133
+ const foldedMessages = normalizeOpenClawAssistantMediaSidecars(messages, sessionKey).messages;
134
+ restoreTranscriptTurnLineage(foldedMessages);
135
+ const visibleMessages = filterOpenClawHeartbeatArtifacts(foldedMessages);
130
136
  transcriptHistoryCache.set(transcriptPath, {
131
137
  size: stats.size,
132
138
  mtimeMs: stats.mtimeMs,
@@ -1 +1 @@
1
- {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/openclaw/relay/chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAOtF,OAAO,EACL,gCAAgC,GAEjC,MAAM,sBAAsB,CAAC;AAyD9B,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAC7C,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,oCAAoC,GAAG,2BAA2B,CAAC;AACzE,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAQ9C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAuC,CAAC;AAE9E,MAAM,UAAU,2BAA2B;IACzC,sBAAsB,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,SAAkB,EAClB,QAAgC;IAEhC,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,iCAAiC,CAAC;QACvC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,cAAc,EAAE,UAAU,CAAC,OAAO;QAClC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAiC;IAEjC,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE;QAC7C,KAAK;QACL,SAAS;QACT,SAAS;KACV,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,gBAAgB,EAAE,wBAAwB,CAAC;YACzC,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YACvC,WAAW,EAAE,YAAY;YACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;gBACvF,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;gBACnF,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;gBAC1E,MAAM,MAAM,GACV,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;uBACxC,cAAc;uBACd,eAAe;uBACf,SAAS;uBACT,WAAW,OAAO,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,8BAA8B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChE,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM;oBAChC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC;oBACtD,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,gBAAgB,GAAG,UAAU;oBACjC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC;wBACzE,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC;gBACZ,OAAO;oBACL,MAAM;oBACN,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM;oBAC1D,SAAS,EAAE,SAAS,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE;oBAC3C,IAAI;oBACJ,YAAY,EAAE,6BAA6B,CAAC,OAAO,CAAC;oBACpD,SAAS,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACjG,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,aAAa;oBACpE,OAAO,EAAE,gBAAgB;oBACzB,GAAG;oBACH,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,GAAG;oBAC7D,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;wBACnD,CAAC,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAAE;wBAC3D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC,CAAC;YACF,WAAW,EAAE,EAAE;SAChB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,SAAkB,EAClB,kBAA0B;IAE1B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7F,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,kBAAkB,CAAC;IACvB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO;QACL,UAAU;QACV,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,cAAsB;IACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAEnE,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE;QACzC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAA2B,QAAa;IACtF,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,KAAK,GAAG,WAAW,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,OAAwB;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5D,MAAM,uBAAuB,GAAG,gBAAgB;QAC9C,CAAC,CAAC,gCAAgC,CAAC,gBAAgB,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,eAAe,KAAK,QAAQ,IAAI,uBAAuB,KAAK,gBAAgB,EAAE,CAAC;QACjF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,QAAQ,EAAE,eAAe;QACzB,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,uBAAuB;YACrD,CAAC,CAAC;gBACE,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,QAAQ,EAAE,uBAAuB;iBAClC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,QAA0B,EAAE,UAAkB;IACjF,KAAK,IAAI,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,kCAAkC,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/D,6EAA6E;YAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,+FAA+F;YAC/F,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/F,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAuB;IACxD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,IAAI,KAAK,2BAA2B,IAAI,IAAI,KAAK,yBAAyB,CAAC;AACpF,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAuB;IACjE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,cAAc,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAuB;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,SAAS,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAkC;IAIvE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACvE,iBAAiB,GAAG,IAAI,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,iBAAiB,GAAG,IAAI,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,GAAW;IAC3D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAmB,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,CAAC;IACvD,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;QACjH,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IACnF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACnF,IAAI,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,QAA0B;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/C,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvG,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM;gBAAE,MAAM;YACnB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC;uBAChE,yBAAyB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,YAAY;uBACtB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;oBACxB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;gBACzB,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC;oBACtC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACjC,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,6DAA6D;IAC7D,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,yBAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;QACpE,OAAO,CAAC,SAAS,GAAG,aAAa,MAAM,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,OAAO,EAAE,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAChF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAA0B,EAC1B,IAA4E;IAE5E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS;YAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;YACnD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,KAAK,GAAG,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA0B,EAAE,SAA6B;IACzF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,SAAS,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA0B,EAAE,SAAiB;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,gCAAgC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,aAAa,GAAG,GAAG,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,QAA0B;IACjD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,OAAmC;IACrD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC;IACzB,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAuB;IAC5D,OAAO,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACvF,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAuB;IACzD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA0B,EAAE,KAAa;IAC1E,KAAK,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAgC;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAA0B,EAAE;QACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACzG,OAAO,CAAC,6BAA6B,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,KAA2B;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,YAAY,GAChB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC;WAClD,MAAM;WACN,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,YAAY,CAAC;QAClB,GAAG,KAAK;QACR,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;SAC5E,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;YACjF,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;SACvF,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7E,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;SACnF,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/D,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;SAClE,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;SACtE,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,CAAC,IAAI,WAAW;KAChG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA8B;IAC1D,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC1F,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,MAAM,GAAG;QACb,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;QACjE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;QAC5E,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC;QAC3F,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;KACzE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC;AAED,SAAS,YAAY,CAAC,KAA2B;IAC/C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAyB,CAAC;AACtH,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B,EAAE,GAAG,MAAgB;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B,EAAE,GAAG,MAAgB;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAoC,EACpC,OAAuB;IAEvB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;QACD,IACE,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ;YACxC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACvD,CAAC;YACD,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA0B,EAAE,SAAiB;IAC5E,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;QACnC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,KAAa;IACxF,OAAO,MAAM,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACtG,OAAO;aACJ,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAmC;IACpE,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC3E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAmC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9F,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACjD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,2DAA2D;IAC3D,kDAAkD;IAClD,0CAA0C;IAC1C,mDAAmD;IACnD,0CAA0C;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,cAAc,KAAK,UAAU;WAC/B,cAAc,KAAK,WAAW;WAC9B,cAAc,KAAK,kBAAkB;WACrC,cAAc,KAAK,UAAU;WAC7B,cAAc,KAAK,UAAU;WAC7B,cAAc,KAAK,SAAS;WAC5B,cAAc,KAAK,YAAY;WAC/B,cAAc,KAAK,cAAc;WACjC,cAAc,KAAK,gBAAgB;WACnC,cAAc,KAAK,cAAc;WACjC,cAAc,KAAK,oBAAoB,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA0B,EAAE,OAAuB;IAC/E,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG;YAChB,OAAO,CAAC,cAAc;YACtB,OAAO,CAAC,eAAe;YACvB,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,KAAK;SACd,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/openclaw/relay/chat-history.ts"],"names":[],"mappings":"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"}