@xgjktech/xg_cwork_im 1.17.53 → 1.17.54

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.
@@ -1,5 +1,5 @@
1
- import { completeActiveRound } from "./active-round-registry.js";
2
1
  import { getOrCreateShared, getSharedMap } from "./process-shared-store.js";
2
+ import { turnOnAllChildrenDone } from "./turn-end-controller.js";
3
3
  /** 模块实例 ID:用于确认插件是否被重复加载(若日志出现两个不同 id,则存在双实例,spawn/end 可能被不同实例处理)。 */
4
4
  const MODULE_INSTANCE_ID = `m${Date.now().toString(36)}${Math.random().toString(36).slice(2, 8)}`;
5
5
  console.log(`[subagent-monitor] module loaded instance=${MODULE_INSTANCE_ID} pid=${process.pid} title=${(process.title || "(none)").trim()}`);
@@ -197,6 +197,10 @@ export function hasActiveSubagents(roundKey, generation) {
197
197
  monitor.generation === generation &&
198
198
  Array.from(monitor.subagents.values()).some((record) => !record.completed));
199
199
  }
200
+ /** 子任务结束事件定位其所属轮次(供 turn-end-controller 递减活跃子任务数)。 */
201
+ export function findChildRoundIndex(childSessionKey) {
202
+ return childToRound.get(childSessionKey);
203
+ }
200
204
  export function deferFinished(roundKey, generation, reason) {
201
205
  deferredFinished.set(roundKey, { reason, generation });
202
206
  }
@@ -270,24 +274,37 @@ async function settleMonitorIfComplete(monitor) {
270
274
  return;
271
275
  if (!Array.from(monitor.subagents.values()).every((record) => record.completed))
272
276
  return;
273
- const deferred = deferredFinished.get(monitor.roundKey);
274
- const shouldCompleteRound = deferred?.generation === monitor.generation;
277
+ if (monitor.finalStatSent)
278
+ return;
279
+ monitor.finalStatSent = true;
280
+ // 整轮收尾(WS FINISHED + RUN_USAGE + completeActiveRound)改由 turn-end-controller 在
281
+ // 主会话出现非 yield 段终态(或静默兜底)后,由 dispatch wrapper 统一执行;
282
+ // 这里只推送一次最终 SUBAGENT_STAT,绝不自行 end/remove/complete ——
283
+ // OpenClaw 7.1+/8.x 中「所有已知子任务完成」不代表整轮结束(主会话可能 resume 继续派发)。
275
284
  try {
276
285
  await sendFinalStat(monitor, monitor.streamClient);
277
- if (shouldCompleteRound && deferred) {
278
- await monitor.streamClient.end(deferred.reason, {
279
- groupId: monitor.groupId,
280
- replyToMsgId: monitor.replyToMsgId,
281
- });
282
- }
286
+ console.log(`[subagent-monitor] final SUBAGENT_STAT sent (settle) roundKey=${monitor.roundKey} gen=${monitor.generation} ` +
287
+ `subagents=${Array.from(monitor.subagents.values()).length} — waiting turn-end for FINISHED`);
283
288
  }
284
289
  catch (err) {
285
290
  console.error(`[subagent-monitor] final state send failed: ${String(err)}`);
286
291
  }
287
- removeMonitor(monitor, "settle");
288
- if (shouldCompleteRound) {
289
- completeActiveRound(monitor.roundKey, monitor.generation);
290
- }
292
+ turnOnAllChildrenDone(monitor.roundKey, monitor.generation);
293
+ }
294
+ /**
295
+ * 整轮收尾时(dispatch wrapper 在 turn-end-controller 放行后)清理本轮监控。
296
+ * 与 removeMonitor 的 settle 路径不同:此处轮次真正结束,直接拆监控与子任务索引。
297
+ */
298
+ export function finalizeRoundMonitoring(roundKey, generation) {
299
+ const monitor = roundMonitors.get(roundKey);
300
+ if (!monitor || monitor.generation !== generation)
301
+ return;
302
+ removeMonitor(monitor, "round-finished");
303
+ }
304
+ /** 供 dispatch wrapper 判断本轮是否已经完成过监控(最终 SUBAGENT_STAT 已发)。 */
305
+ export function roundMonitorFinalStatSent(roundKey, generation) {
306
+ const monitor = roundMonitors.get(roundKey);
307
+ return monitor?.generation === generation && monitor.finalStatSent === true;
291
308
  }
292
309
  async function readSubagentMessages(record) {
293
310
  if (!m.api || record.reading)
@@ -415,6 +432,8 @@ function toSubagentList(monitor, incremental) {
415
432
  }));
416
433
  }
417
434
  function sendWsStat(monitor, client) {
435
+ if (monitor.finalStatSent)
436
+ return;
418
437
  const subagentList = toSubagentList(monitor, true);
419
438
  client
420
439
  .sendEvent({
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-monitor.js","sourceRoot":"","sources":["../../src/subagent-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-monitor.js","sourceRoot":"","sources":["../../src/subagent-monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 订阅 OpenClaw agent-event 流(lifecycle / thinking / compaction)并把整轮级信号喂给
3
+ * turn-end-controller,同时为「非 wrapper 覆盖的 resume 段」补发 thinking/compaction 进度。
4
+ *
5
+ * 背景:OpenClaw 7.1+ / 8.x(lifecycle 语义一致;245 实测 2026.7.1-2)中,父会话每次
6
+ * sessions_spawn 都会挂起并结束当前段 run(lifecycle `yielded:true`),子任务返回后父会话被
7
+ * 自动 resume 成新段。dispatch wrapper 只覆盖首段,之后的 resume 段只有 agent-event 流能看到。
8
+ * 因此:
9
+ * - lifecycle 终态(sessionKey 必带)→ 判定「整轮是否真正结束」(P0);
10
+ * - thinking / compaction(仅带 runId)→ 以 lifecycle start 建立的 runId→session 索引定位到轮次,
11
+ * 仅对非 wrapper 首段的 runId 转发,避免与 wrapper 回调重复展示(P1)。
12
+ *
13
+ * handle 内绝不容忍抛错(与 plan-event-subscription 同纪律)。
14
+ */
15
+ import type { OpenClawPluginApi } from "openclaw/plugin-sdk/channel-plugin-common";
16
+ /**
17
+ * 记录 wrapper 首段 runId(dispatch wrapper 的 onAgentRunStart)。
18
+ * 该 run 的 thinking/compaction 已由 wrapper 回调展示,订阅侧跳过,避免重复。
19
+ */
20
+ export declare function noteWrappedRunId(sessionKey: string, runId: string): void;
21
+ export declare function createTurnAgentEventHandler(): Parameters<OpenClawPluginApi["agent"]["events"]["registerAgentEventSubscription"]>[0]["handle"];
22
+ /** 插件卸载时清理全部事件索引。 */
23
+ export declare function disposeTurnAgentEvents(): void;
24
+ export declare function registerTurnAgentEventSubscription(api: OpenClawPluginApi): void;
25
+ //# sourceMappingURL=turn-agent-event-subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-agent-event-subscription.d.ts","sourceRoot":"","sources":["../../src/turn-agent-event-subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAkFnF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,2BAA2B,IAAI,UAAU,CACrD,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,gCAAgC,CAAC,CACzE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CA4Eb;AAED,qBAAqB;AACrB,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAQ/E"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * 订阅 OpenClaw agent-event 流(lifecycle / thinking / compaction)并把整轮级信号喂给
3
+ * turn-end-controller,同时为「非 wrapper 覆盖的 resume 段」补发 thinking/compaction 进度。
4
+ *
5
+ * 背景:OpenClaw 7.1+ / 8.x(lifecycle 语义一致;245 实测 2026.7.1-2)中,父会话每次
6
+ * sessions_spawn 都会挂起并结束当前段 run(lifecycle `yielded:true`),子任务返回后父会话被
7
+ * 自动 resume 成新段。dispatch wrapper 只覆盖首段,之后的 resume 段只有 agent-event 流能看到。
8
+ * 因此:
9
+ * - lifecycle 终态(sessionKey 必带)→ 判定「整轮是否真正结束」(P0);
10
+ * - thinking / compaction(仅带 runId)→ 以 lifecycle start 建立的 runId→session 索引定位到轮次,
11
+ * 仅对非 wrapper 首段的 runId 转发,避免与 wrapper 回调重复展示(P1)。
12
+ *
13
+ * handle 内绝不容忍抛错(与 plan-event-subscription 同纪律)。
14
+ */
15
+ import { findActiveRoundForSession } from "./active-round-registry.js";
16
+ import { getSharedMap } from "./process-shared-store.js";
17
+ import { turnOnActivity, turnOnSegmentEnd, turnOnSegmentStart, } from "./turn-end-controller.js";
18
+ const LOG_PREFIX = "[xg_cwork_im] [turn-agent-events]";
19
+ const runIdToSessionKey = getSharedMap("turn-runid-to-session");
20
+ const wrappedRunIdBySession = getSharedMap("turn-wrapped-runid");
21
+ const lastThinkingByRound = getSharedMap("turn-thinking-last");
22
+ const THINKING_FORWARD_MIN_INTERVAL_MS = 600;
23
+ const THINKING_DISPLAY_MAX = 160;
24
+ function isXgImGroupSessionKey(sessionKey) {
25
+ return (sessionKey.startsWith("agent:") &&
26
+ sessionKey.includes(":xg_cwork_im:group:"));
27
+ }
28
+ function clipWsDisplay(text, max) {
29
+ const t = text.trim().replace(/\r\n/g, "\n").replace(/\n+/g, " ");
30
+ if (!t)
31
+ return "";
32
+ if (t.length <= max)
33
+ return t;
34
+ return `${t.slice(0, Math.max(0, max - 1))}…`;
35
+ }
36
+ async function safeStreamProgress(round, event, displayText, summary) {
37
+ try {
38
+ await round.streamClient.streamProgress({
39
+ groupId: round.groupId,
40
+ replyToMsgId: round.replyToMsgId,
41
+ event,
42
+ displayText,
43
+ ...(summary ? { summary } : {}),
44
+ });
45
+ }
46
+ catch (err) {
47
+ console.warn(`${LOG_PREFIX} ${event} progress failed: ${String(err)}`);
48
+ }
49
+ }
50
+ function forwardThinking(round, runId, text) {
51
+ const roundKey = round.roundKey;
52
+ const state = lastThinkingByRound.get(roundKey);
53
+ const now = Date.now();
54
+ if (!state || state.runId !== runId) {
55
+ lastThinkingByRound.set(roundKey, { runId, lastText: text, lastSentAt: 0, lastSentText: "" });
56
+ return;
57
+ }
58
+ state.lastText = text;
59
+ const delta = text.startsWith(state.lastSentText) ? text.slice(state.lastSentText.length) : text;
60
+ if (!delta.trim())
61
+ return;
62
+ if (now - state.lastSentAt < THINKING_FORWARD_MIN_INTERVAL_MS)
63
+ return;
64
+ state.lastSentAt = now;
65
+ state.lastSentText = text;
66
+ const display = clipWsDisplay(delta, THINKING_DISPLAY_MAX);
67
+ if (!display)
68
+ return;
69
+ void safeStreamProgress(round, "RUN_EVENT", display, "thinking");
70
+ }
71
+ function forwardCompaction(round, phase) {
72
+ void safeStreamProgress(round, "RUN_EVENT", phase === "start" ? "正在整理上下文…" : "上下文整理完成");
73
+ }
74
+ /**
75
+ * 记录 wrapper 首段 runId(dispatch wrapper 的 onAgentRunStart)。
76
+ * 该 run 的 thinking/compaction 已由 wrapper 回调展示,订阅侧跳过,避免重复。
77
+ */
78
+ export function noteWrappedRunId(sessionKey, runId) {
79
+ if (sessionKey && runId) {
80
+ wrappedRunIdBySession.set(sessionKey, runId);
81
+ console.log(`${LOG_PREFIX} wrapperRunId session=${sessionKey} runId=${runId}`);
82
+ }
83
+ }
84
+ export function createTurnAgentEventHandler() {
85
+ return (event, _ctx) => {
86
+ try {
87
+ const stream = event.stream;
88
+ const runId = event.runId;
89
+ if (!runId)
90
+ return;
91
+ if (stream === "lifecycle") {
92
+ const sessionKey = event.sessionKey;
93
+ if (!sessionKey || !isXgImGroupSessionKey(sessionKey))
94
+ return;
95
+ const phase = event.data?.phase;
96
+ const round = findActiveRoundForSession(sessionKey);
97
+ runIdToSessionKey.set(runId, sessionKey);
98
+ if (phase === "start") {
99
+ console.log(`${LOG_PREFIX} lifecycle start runId=${runId} session=${sessionKey} ` +
100
+ `round=${round ? `${round.roundKey}#${round.generation}` : "(none)"}`);
101
+ if (round) {
102
+ turnOnSegmentStart(round.roundKey, round.generation);
103
+ }
104
+ return;
105
+ }
106
+ if (phase === "end" || phase === "error") {
107
+ const info = {
108
+ phase,
109
+ yielded: event.data?.yielded === true,
110
+ ...(typeof event.data?.stopReason === "string"
111
+ ? { stopReason: event.data.stopReason }
112
+ : {}),
113
+ };
114
+ console.log(`${LOG_PREFIX} lifecycle ${phase} runId=${runId} session=${sessionKey} ` +
115
+ `yielded=${info.yielded} stopReason=${info.stopReason ?? "(none)"} ` +
116
+ `round=${round ? `${round.roundKey}#${round.generation}` : "(none)"}`);
117
+ if (round) {
118
+ turnOnSegmentEnd(round.roundKey, round.generation, info);
119
+ }
120
+ }
121
+ return;
122
+ }
123
+ if (stream === "thinking" || stream === "compaction") {
124
+ const sessionKey = runIdToSessionKey.get(runId);
125
+ if (!sessionKey)
126
+ return;
127
+ const round = findActiveRoundForSession(sessionKey);
128
+ if (!round)
129
+ return;
130
+ turnOnActivity(round.roundKey, round.generation);
131
+ const isWrappedRun = wrappedRunIdBySession.get(sessionKey) === runId;
132
+ if (isWrappedRun) {
133
+ console.debug(`${LOG_PREFIX} ${stream} skip runId=${runId} session=${sessionKey} ` +
134
+ `(wrapper first segment runId)`);
135
+ return;
136
+ }
137
+ console.log(`${LOG_PREFIX} ${stream} forward runId=${runId} session=${sessionKey} ` +
138
+ `round=${round.roundKey}#${round.generation}`);
139
+ if (stream === "thinking") {
140
+ const text = typeof event.data?.text === "string" ? event.data.text : "";
141
+ if (text.trim())
142
+ forwardThinking(round, runId, text);
143
+ }
144
+ else if (stream === "compaction") {
145
+ const phase = String(event.data?.phase ?? "");
146
+ if (phase === "start" || phase === "end") {
147
+ forwardCompaction(round, phase);
148
+ }
149
+ }
150
+ return;
151
+ }
152
+ }
153
+ catch (err) {
154
+ console.warn(`${LOG_PREFIX} handle 内部异常,已吞: ${String(err)}`);
155
+ }
156
+ };
157
+ }
158
+ /** 插件卸载时清理全部事件索引。 */
159
+ export function disposeTurnAgentEvents() {
160
+ runIdToSessionKey.clear();
161
+ wrappedRunIdBySession.clear();
162
+ lastThinkingByRound.clear();
163
+ }
164
+ export function registerTurnAgentEventSubscription(api) {
165
+ api.agent.events.registerAgentEventSubscription({
166
+ id: "xg-cwork-im-turn-progress",
167
+ description: "订阅 lifecycle/thinking/compaction:驱动整轮收尾判定(子任务 resume 场景的 FINISHED)与 resume 段思考/整理进度。",
168
+ streams: ["lifecycle", "thinking", "compaction"],
169
+ handle: createTurnAgentEventHandler(),
170
+ });
171
+ }
172
+ //# sourceMappingURL=turn-agent-event-subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-agent-event-subscription.js","sourceRoot":"","sources":["../../src/turn-agent-event-subscription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * 整轮(user-turn)结束仲裁。
3
+ *
4
+ * OpenClaw 7.1+ / 8.x(lifecycle 语义一致;245 实测为 2026.7.1-2):父会话(主会话)
5
+ * 自己的 finish 就是它某段 run 的 lifecycle `end/error` 终态且 `yielded !== true`
6
+ * (`yielded:true` 只出现在该段挂起了子任务、会话被挂起等待 resume 时——核心据此把
7
+ * requester 保留为可唤醒)。因此:
8
+ * - 「yield 段终态」≠ 整轮结束(主会话还会 resume 继续派发/产出最终答复);
9
+ * - 「非 yield 段终态」= 主会话 finish:该段不会再挂起子任务、不会再被唤醒。
10
+ *
11
+ * 收尾条件(防御性补强,主判据仍是主会话的非 yield finish):
12
+ * dispatch 已返回 ∧ 无段在跑(segmentActive=false,避免拿旧段终态收尾)
13
+ * ∧ 无运行中子任务(兜非标准边界:异常/乱序下非 yield 终态先于子任务结束到达)
14
+ * ∧ 已出现非 yield 段终态。
15
+ *
16
+ * 本模块只维护进程级共享的每轮状态与「可收尾」信号,不持有任何 WS/HTTP 副作用:
17
+ * - wrapper finally、subagent spawn/end、lifecycle start/end、以及组内活动心跳都来喂状态;
18
+ * - dispatch-mentioned-reply 在 wrapper 里 await 本模块的可收尾信号后再发 RUN_USAGE/FINISHED;
19
+ * - 子任务完成但主会话无法被唤醒(announce/handoff 投递,不再产生 resume 终态)、
20
+ * 或 lifecycle 事件完全不可达(订阅不可用等环境)时,靠静默兜底定时器收尾,保证不悬挂。
21
+ */
22
+ export interface TurnSegmentTerminalInfo {
23
+ phase: "end" | "error";
24
+ yielded?: boolean;
25
+ stopReason?: string;
26
+ }
27
+ export declare function turnOnDispatchReturned(roundKey: string, gen: number): void;
28
+ /** index.ts `subagent_spawned`:记录本轮见过子任务并 +1 活跃数。 */
29
+ export declare function turnOnSubagentSpawn(roundKey: string, gen: number): void;
30
+ /** index.ts `subagent_ended` / monitor settle:活跃子任务数 -1 并重新评估。 */
31
+ export declare function turnOnSubagentEnded(roundKey: string, gen: number): void;
32
+ /**
33
+ * 监控层对账:本轮全部已知子任务完成(settle 触发)。与 subagent_ended 事件互补,
34
+ * 覆盖个别 ended 事件丢失导致计数器不为 0、从而永远等不到收尾信号的情况。
35
+ */
36
+ export declare function turnOnAllChildrenDone(roundKey: string, gen: number): void;
37
+ /** lifecycle start(父会话新段开始):清掉旧终态,等待该段终态。 */
38
+ export declare function turnOnSegmentStart(roundKey: string, gen: number): void;
39
+ /** lifecycle end/error(父会话某段结束):记录是否 yield 后评估。 */
40
+ export declare function turnOnSegmentEnd(roundKey: string, gen: number, info: TurnSegmentTerminalInfo): void;
41
+ /**
42
+ * 组内活动心跳(before_tool_call / thinking / assistant 等属于本轮的其它事件):
43
+ * 说明父会话仍在工作,取消静默收尾计时,但不算“段已结束”。
44
+ */
45
+ export declare function turnOnActivity(roundKey: string, gen: number): void;
46
+ /** wrapper 侧首次建轮后登记状态;sawSubagent 由后续 spawn 事件置位。 */
47
+ export declare function turnEnsureRound(roundKey: string, gen: number): void;
48
+ export declare function turnIsSawSubagent(roundKey: string, gen: number): boolean;
49
+ export declare function turnIsEligible(roundKey: string, gen: number): boolean;
50
+ /** 收尾完成 / 中断 / 插件卸载后清理。 */
51
+ export declare function turnForget(roundKey: string, gen: number): void;
52
+ /** 插件卸载时清理全部轮次状态。 */
53
+ export declare function disposeTurnEndController(): void;
54
+ /** 单测辅助。 */
55
+ export declare function __resetTurnEndControllerForTests(): void;
56
+ /** 单测辅助:缩短各计时窗口,避免真实等待。 */
57
+ export declare function __configureTurnEndForTests(overrides: {
58
+ nonYieldDebounceMs?: number;
59
+ resumeWaitFallbackMs?: number;
60
+ noLifecycleFallbackMs?: number;
61
+ }): void;
62
+ //# sourceMappingURL=turn-end-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-end-controller.d.ts","sourceRoot":"","sources":["../../src/turn-end-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAyGD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ1E;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUvE;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQzE;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAWtE;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,uBAAuB,GAC9B,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUlE;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBnE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,2BAA2B;AAC3B,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAM9D;AAED,qBAAqB;AACrB,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED,YAAY;AACZ,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,2BAA2B;AAC3B,wBAAgB,0BAA0B,CAAC,SAAS,EAAE;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,IAAI,CAIP"}