poly-weaver 1.1.0 → 1.2.0

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 (236) hide show
  1. package/dist/agents/implementors/index.d.ts +2 -2
  2. package/dist/agents/implementors/index.d.ts.map +1 -1
  3. package/dist/agents/implementors/index.js.map +1 -1
  4. package/dist/agents/index.d.ts.map +1 -1
  5. package/dist/agents/index.js +7 -6
  6. package/dist/agents/index.js.map +1 -1
  7. package/dist/agents/interviewers/index.d.ts +2 -2
  8. package/dist/agents/interviewers/index.d.ts.map +1 -1
  9. package/dist/agents/planners/index.d.ts +2 -2
  10. package/dist/agents/planners/index.d.ts.map +1 -1
  11. package/dist/agents/planners/index.js.map +1 -1
  12. package/dist/agents/registry.d.ts +2 -1
  13. package/dist/agents/registry.d.ts.map +1 -1
  14. package/dist/agents/registry.js +1 -1
  15. package/dist/agents/registry.js.map +1 -1
  16. package/dist/agents/reviewers/index.d.ts +2 -2
  17. package/dist/agents/reviewers/index.d.ts.map +1 -1
  18. package/dist/agents/reviewers/index.js.map +1 -1
  19. package/dist/agents/runner.d.ts +3 -1
  20. package/dist/agents/runner.d.ts.map +1 -1
  21. package/dist/agents/runner.js +106 -64
  22. package/dist/agents/runner.js.map +1 -1
  23. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  24. package/dist/agents/simplifiers/adapter.js +1 -0
  25. package/dist/agents/simplifiers/adapter.js.map +1 -1
  26. package/dist/agents/simplifiers/dsl.d.ts +1 -0
  27. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  28. package/dist/agents/simplifiers/dsl.js +1 -0
  29. package/dist/agents/simplifiers/dsl.js.map +1 -1
  30. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  31. package/dist/agents/simplifiers/handler.js +1 -0
  32. package/dist/agents/simplifiers/handler.js.map +1 -1
  33. package/dist/agents/simplifiers/index.d.ts +2 -2
  34. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  35. package/dist/agents/simplifiers/index.js.map +1 -1
  36. package/dist/agents/simplifiers/prompts.d.ts +1 -0
  37. package/dist/agents/simplifiers/prompts.d.ts.map +1 -1
  38. package/dist/agents/simplifiers/prompts.js +1 -1
  39. package/dist/agents/simplifiers/prompts.js.map +1 -1
  40. package/dist/agents/simplifiers/types.d.ts +1 -0
  41. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  42. package/dist/cleanup.d.ts +9 -0
  43. package/dist/cleanup.d.ts.map +1 -0
  44. package/dist/cleanup.js +35 -0
  45. package/dist/cleanup.js.map +1 -0
  46. package/dist/cli.js +30 -13
  47. package/dist/cli.js.map +1 -1
  48. package/dist/config.d.ts +5 -3
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/config.js.map +1 -1
  51. package/dist/crosscheck/coordinator.d.ts.map +1 -1
  52. package/dist/crosscheck/coordinator.js +52 -36
  53. package/dist/crosscheck/coordinator.js.map +1 -1
  54. package/dist/crosscheck/live-agent-session.d.ts +8 -1
  55. package/dist/crosscheck/live-agent-session.d.ts.map +1 -1
  56. package/dist/crosscheck/live-agent-session.js +62 -31
  57. package/dist/crosscheck/live-agent-session.js.map +1 -1
  58. package/dist/dump/collector.d.ts.map +1 -1
  59. package/dist/dump/collector.js +1 -0
  60. package/dist/dump/collector.js.map +1 -1
  61. package/dist/dump/observer-diagnostics.d.ts +6 -0
  62. package/dist/dump/observer-diagnostics.d.ts.map +1 -0
  63. package/dist/dump/observer-diagnostics.js +19 -0
  64. package/dist/dump/observer-diagnostics.js.map +1 -0
  65. package/dist/dump/service.d.ts.map +1 -1
  66. package/dist/dump/service.js +2 -3
  67. package/dist/dump/service.js.map +1 -1
  68. package/dist/dump/types.d.ts +2 -0
  69. package/dist/dump/types.d.ts.map +1 -1
  70. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  71. package/dist/flow/built-in/simplify-factory.js +4 -1
  72. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  73. package/dist/flow/built-in/simplify.d.ts +1 -0
  74. package/dist/flow/built-in/simplify.d.ts.map +1 -1
  75. package/dist/flow/built-in/simplify.js +3 -2
  76. package/dist/flow/built-in/simplify.js.map +1 -1
  77. package/dist/flow/dsl.d.ts +1 -0
  78. package/dist/flow/dsl.d.ts.map +1 -1
  79. package/dist/flow/dsl.js +1 -0
  80. package/dist/flow/dsl.js.map +1 -1
  81. package/dist/flow/executor.d.ts.map +1 -1
  82. package/dist/flow/executor.js +3 -3
  83. package/dist/flow/executor.js.map +1 -1
  84. package/dist/flow/params.d.ts +3 -1
  85. package/dist/flow/params.d.ts.map +1 -1
  86. package/dist/flow/params.js +85 -121
  87. package/dist/flow/params.js.map +1 -1
  88. package/dist/flow/types.d.ts +5 -2
  89. package/dist/flow/types.d.ts.map +1 -1
  90. package/dist/flow/types.js.map +1 -1
  91. package/dist/offscreen/controller.d.ts +1 -1
  92. package/dist/offscreen/controller.d.ts.map +1 -1
  93. package/dist/offscreen/controller.js +67 -45
  94. package/dist/offscreen/controller.js.map +1 -1
  95. package/dist/offscreen/fork.d.ts +6 -3
  96. package/dist/offscreen/fork.d.ts.map +1 -1
  97. package/dist/offscreen/fork.js +57 -33
  98. package/dist/offscreen/fork.js.map +1 -1
  99. package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
  100. package/dist/offscreen/inquiry-pane.js +7 -2
  101. package/dist/offscreen/inquiry-pane.js.map +1 -1
  102. package/dist/offscreen/inquiry-sender.d.ts +1 -0
  103. package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
  104. package/dist/offscreen/inquiry-sender.js +12 -2
  105. package/dist/offscreen/inquiry-sender.js.map +1 -1
  106. package/dist/offscreen/registry.d.ts.map +1 -1
  107. package/dist/offscreen/registry.js +14 -12
  108. package/dist/offscreen/registry.js.map +1 -1
  109. package/dist/orchestrator.d.ts.map +1 -1
  110. package/dist/orchestrator.js +20 -24
  111. package/dist/orchestrator.js.map +1 -1
  112. package/dist/preview-panel.d.ts +4 -1
  113. package/dist/preview-panel.d.ts.map +1 -1
  114. package/dist/preview-panel.js +114 -55
  115. package/dist/preview-panel.js.map +1 -1
  116. package/dist/providers/configuration-presentation.d.ts.map +1 -1
  117. package/dist/providers/configuration-presentation.js +5 -8
  118. package/dist/providers/configuration-presentation.js.map +1 -1
  119. package/dist/providers/copilot/capability-discovery.d.ts +16 -0
  120. package/dist/providers/copilot/capability-discovery.d.ts.map +1 -0
  121. package/dist/providers/copilot/capability-discovery.js +238 -0
  122. package/dist/providers/copilot/capability-discovery.js.map +1 -0
  123. package/dist/providers/copilot/capability-extension/extension.d.mts +2 -0
  124. package/dist/providers/copilot/capability-extension/extension.d.mts.map +1 -0
  125. package/dist/providers/copilot/capability-extension/extension.mjs +46 -0
  126. package/dist/providers/copilot/capability-extension/extension.mjs.map +1 -0
  127. package/dist/providers/copilot/completion.d.ts +2 -0
  128. package/dist/providers/copilot/completion.d.ts.map +1 -1
  129. package/dist/providers/copilot/completion.js +27 -0
  130. package/dist/providers/copilot/completion.js.map +1 -1
  131. package/dist/providers/copilot/model-capabilities.d.ts +21 -0
  132. package/dist/providers/copilot/model-capabilities.d.ts.map +1 -0
  133. package/dist/providers/copilot/model-capabilities.js +76 -0
  134. package/dist/providers/copilot/model-capabilities.js.map +1 -0
  135. package/dist/providers/copilot/observation.d.ts +123 -15
  136. package/dist/providers/copilot/observation.d.ts.map +1 -1
  137. package/dist/providers/copilot/observation.js +807 -179
  138. package/dist/providers/copilot/observation.js.map +1 -1
  139. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs +332 -66
  140. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs.map +1 -1
  141. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts +17 -0
  142. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts.map +1 -0
  143. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs +54 -0
  144. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs.map +1 -0
  145. package/dist/providers/copilot/strategy.d.ts +8 -8
  146. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  147. package/dist/providers/copilot/strategy.js +61 -145
  148. package/dist/providers/copilot/strategy.js.map +1 -1
  149. package/dist/providers/copilot/trust.js +1 -1
  150. package/dist/providers/copilot/trust.js.map +1 -1
  151. package/dist/providers/fork-cleanup.d.ts.map +1 -1
  152. package/dist/providers/fork-cleanup.js +3 -19
  153. package/dist/providers/fork-cleanup.js.map +1 -1
  154. package/dist/providers/initialization.d.ts +14 -0
  155. package/dist/providers/initialization.d.ts.map +1 -0
  156. package/dist/providers/initialization.js +74 -0
  157. package/dist/providers/initialization.js.map +1 -0
  158. package/dist/providers/invoke.d.ts.map +1 -1
  159. package/dist/providers/invoke.js +54 -32
  160. package/dist/providers/invoke.js.map +1 -1
  161. package/dist/providers/observer-run.d.ts.map +1 -1
  162. package/dist/providers/observer-run.js +3 -2
  163. package/dist/providers/observer-run.js.map +1 -1
  164. package/dist/providers/option-catalog.d.ts +12 -8
  165. package/dist/providers/option-catalog.d.ts.map +1 -1
  166. package/dist/providers/option-catalog.js +25 -13
  167. package/dist/providers/option-catalog.js.map +1 -1
  168. package/dist/providers/registry.d.ts +3 -1
  169. package/dist/providers/registry.d.ts.map +1 -1
  170. package/dist/providers/registry.js +20 -9
  171. package/dist/providers/registry.js.map +1 -1
  172. package/dist/providers/session-launch.d.ts.map +1 -1
  173. package/dist/providers/session-launch.js +2 -1
  174. package/dist/providers/session-launch.js.map +1 -1
  175. package/dist/providers/types.d.ts +35 -8
  176. package/dist/providers/types.d.ts.map +1 -1
  177. package/dist/providers/types.js +1 -1
  178. package/dist/providers/types.js.map +1 -1
  179. package/dist/pty/exit.d.ts +3 -1
  180. package/dist/pty/exit.d.ts.map +1 -1
  181. package/dist/pty/exit.js +39 -6
  182. package/dist/pty/exit.js.map +1 -1
  183. package/dist/pty/spawn.d.ts.map +1 -1
  184. package/dist/pty/spawn.js +7 -3
  185. package/dist/pty/spawn.js.map +1 -1
  186. package/dist/pty/types.d.ts +1 -1
  187. package/dist/pty/types.d.ts.map +1 -1
  188. package/dist/session/resume.d.ts.map +1 -1
  189. package/dist/session/resume.js +7 -0
  190. package/dist/session/resume.js.map +1 -1
  191. package/dist/startup-tui.d.ts +1 -0
  192. package/dist/startup-tui.d.ts.map +1 -1
  193. package/dist/startup-tui.js +17 -6
  194. package/dist/startup-tui.js.map +1 -1
  195. package/dist/terminal/color-negotiation.d.ts +37 -0
  196. package/dist/terminal/color-negotiation.d.ts.map +1 -0
  197. package/dist/terminal/color-negotiation.js +154 -0
  198. package/dist/terminal/color-negotiation.js.map +1 -0
  199. package/dist/terminal/color-protocol.d.ts +36 -0
  200. package/dist/terminal/color-protocol.d.ts.map +1 -0
  201. package/dist/terminal/color-protocol.js +88 -0
  202. package/dist/terminal/color-protocol.js.map +1 -0
  203. package/dist/terminal/host-input-mode.d.ts.map +1 -1
  204. package/dist/terminal/host-input-mode.js +6 -2
  205. package/dist/terminal/host-input-mode.js.map +1 -1
  206. package/dist/terminal/host.d.ts +13 -4
  207. package/dist/terminal/host.d.ts.map +1 -1
  208. package/dist/terminal/host.js +147 -51
  209. package/dist/terminal/host.js.map +1 -1
  210. package/dist/terminal/input-session.d.ts +23 -0
  211. package/dist/terminal/input-session.d.ts.map +1 -0
  212. package/dist/terminal/input-session.js +97 -0
  213. package/dist/terminal/input-session.js.map +1 -0
  214. package/dist/terminal/key-event-source.d.ts +5 -1
  215. package/dist/terminal/key-event-source.d.ts.map +1 -1
  216. package/dist/terminal/key-event-source.js +1 -0
  217. package/dist/terminal/key-event-source.js.map +1 -1
  218. package/dist/terminal/stdin-byte-source.d.ts +13 -8
  219. package/dist/terminal/stdin-byte-source.d.ts.map +1 -1
  220. package/dist/terminal/stdin-byte-source.js +84 -40
  221. package/dist/terminal/stdin-byte-source.js.map +1 -1
  222. package/dist/terminal/virtual-terminal.d.ts +2 -0
  223. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  224. package/dist/terminal/virtual-terminal.js +17 -0
  225. package/dist/terminal/virtual-terminal.js.map +1 -1
  226. package/dist/terminal-input.d.ts +19 -2
  227. package/dist/terminal-input.d.ts.map +1 -1
  228. package/dist/terminal-input.js +162 -6
  229. package/dist/terminal-input.js.map +1 -1
  230. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  231. package/dist/user/host-curate-prompt.js +9 -5
  232. package/dist/user/host-curate-prompt.js.map +1 -1
  233. package/dist/user/host-prompt.d.ts.map +1 -1
  234. package/dist/user/host-prompt.js +9 -5
  235. package/dist/user/host-prompt.js.map +1 -1
  236. package/package.json +2 -2
@@ -3,6 +3,7 @@ import { mkdir, writeFile } from "node:fs/promises";
3
3
  import { dirname } from "node:path";
4
4
  import { once } from "node:events";
5
5
  import { setImmediate as yieldToHost } from "node:timers/promises";
6
+ import { describeRecoveryEvent, matchesHistoryEvidence } from "./history-evidence.mjs";
6
7
 
7
8
  const env = {
8
9
  endpoint: "POLY_WEAVER_COPILOT_OBSERVER_ENDPOINT",
@@ -21,6 +22,8 @@ const testEnv = {
21
22
  disconnectAfterEventType: "POLY_WEAVER_COPILOT_OBSERVER_DISCONNECT_AFTER_EVENT_TYPE",
22
23
  disconnectAfterEventDelayMs: "POLY_WEAVER_COPILOT_OBSERVER_DISCONNECT_AFTER_EVENT_DELAY_MS",
23
24
  disconnectAfterEventOnceFile: "POLY_WEAVER_COPILOT_OBSERVER_DISCONNECT_AFTER_EVENT_ONCE_FILE",
25
+ disconnectBeforeEventType: "POLY_WEAVER_COPILOT_OBSERVER_DISCONNECT_BEFORE_EVENT_TYPE",
26
+ reattachSdk: "POLY_WEAVER_COPILOT_OBSERVER_REATTACH_SDK",
24
27
  };
25
28
 
26
29
  function required(name) {
@@ -63,6 +66,7 @@ let bufferedCursor = 0;
63
66
  const messageHandlers = new Set();
64
67
  let admitted = false;
65
68
  let intentionalDisconnect = false;
69
+ let closingForRecovery = false;
66
70
  let disconnectScheduled = false;
67
71
  const WORK_QUANTUM = 128;
68
72
  const MAX_PENDING_CHARS = 64 * 1024 * 1024;
@@ -72,9 +76,12 @@ let outboundCursor = 0;
72
76
  let outboundChars = 0;
73
77
  let writer;
74
78
  let transportFailed = false;
75
- const transportAbort = new AbortController();
79
+ let transportAbort = new AbortController();
76
80
  let bufferedChars = 0;
77
81
  let streaming = false;
82
+ let beforeEventChecked = false;
83
+ const verifiedLifecycle = new WeakSet();
84
+ const HISTORY_READ_TIMEOUT_MS = 5_000;
78
85
 
79
86
  function send(message) {
80
87
  if (transportFailed || intentionalDisconnect) return;
@@ -120,7 +127,7 @@ function sendControl(type, fields = {}) {
120
127
  }
121
128
 
122
129
  function sendError(error) {
123
- if (transportFailed || intentionalDisconnect) return;
130
+ if (transportFailed || intentionalDisconnect || closingForRecovery) return;
124
131
  transportFailed = true;
125
132
  outbound.clear();
126
133
  outboundChars = 0;
@@ -132,6 +139,7 @@ function sendError(error) {
132
139
 
133
140
  async function sendControlAndDrain(type, fields = {}) {
134
141
  if (!socket || socket.destroyed) return;
142
+ if (type === "recovery.error") closingForRecovery = true;
135
143
  sendControl(type, fields);
136
144
  await flushOutput();
137
145
  await new Promise((resolve) => {
@@ -143,9 +151,12 @@ function isLifecycleEvent(event) {
143
151
  return event?.type === "session.start" || event?.type === "session.resume";
144
152
  }
145
153
 
146
- function sendObservedEvent(event) {
154
+ function sendObservedEvent(event, origin = "live", toolCallId) {
147
155
  seq += 1;
148
- const frame = { kind: "event", seq, event };
156
+ const lifecycleDurability = origin === "live" && verifiedLifecycle.has(event) ? "sdk-history" : undefined;
157
+ const transient = origin === "live" && isLifecycleEvent(event) && !lifecycleDurability;
158
+ const frame = { kind: "event", seq, event, origin, transient, lifecycleDurability,
159
+ ...(toolCallId && { toolCallId }) };
149
160
  if (observedSessionId && isLifecycleEvent(event)) {
150
161
  frame.sessionId = observedSessionId;
151
162
  }
@@ -219,9 +230,15 @@ function waitForAuthResult() {
219
230
  return;
220
231
  }
221
232
  if (message.accepted === true) {
233
+ const recovery = message.recovery;
234
+ if (!recovery || !["live-only", "suffix", "uncertain"].includes(recovery.mode)
235
+ || (recovery.mode === "suffix" && (typeof recovery.afterEventId !== "string" || !recovery.afterEventId))) {
236
+ settle(new Error("Observer broker authentication has an invalid recovery mode"));
237
+ return;
238
+ }
222
239
  settle(undefined, {
223
240
  accepted: true,
224
- replayHistory: message.replayHistory === true,
241
+ recovery,
225
242
  captureHistoryBaseline: message.captureHistoryBaseline === true,
226
243
  });
227
244
  return;
@@ -278,24 +295,110 @@ async function handleRequest(message) {
278
295
  }
279
296
  }
280
297
 
281
- async function replaySessionHistory() {
282
- if (!session || typeof session.getEvents !== "function") return;
283
- const events = await session.getEvents();
298
+ async function readSessionHistory() {
299
+ if (!session || typeof session.getEvents !== "function") {
300
+ throw new Error("SDK session history is unavailable");
301
+ }
302
+ const signal = AbortSignal.any([transportAbort.signal, AbortSignal.timeout(HISTORY_READ_TIMEOUT_MS)]);
303
+ let onAbort;
304
+ const events = await Promise.race([
305
+ Promise.resolve().then(() => session.getEvents()).catch(() => {
306
+ throw new Error("SDK session history read failed");
307
+ }),
308
+ new Promise((_, reject) => {
309
+ onAbort = () => reject(new Error("SDK session history read interrupted or timed out"));
310
+ if (signal.aborted) onAbort();
311
+ else signal.addEventListener("abort", onAbort, { once: true });
312
+ }),
313
+ ]).finally(() => signal.removeEventListener("abort", onAbort));
284
314
  if (!Array.isArray(events)) {
285
315
  throw new Error("Observer SDK session.getEvents() returned a malformed response");
286
316
  }
287
- for (const event of events) {
288
- sendObservedEvent(event);
317
+ const positions = new Map();
318
+ for (let i = 0; i < events.length; i++) {
319
+ const event = events[i];
320
+ if (typeof event?.id !== "string" || !event.id || typeof event.type !== "string"
321
+ || event.ephemeral === true || positions.has(event.id)) {
322
+ throw new Error("SDK history has malformed or ambiguous durable event identities");
323
+ }
324
+ positions.set(event.id, i);
325
+ if (i % WORK_QUANTUM === 0) await yieldToHost();
326
+ transportAbort.signal.throwIfAborted();
327
+ }
328
+ for (let i = 0; i < events.length; i++) {
329
+ const parent = positions.get(events[i].parentId);
330
+ if (parent !== undefined && parent >= i) throw new Error("SDK history has an inconsistent event order");
331
+ if (i % WORK_QUANTUM === 0) await yieldToHost();
332
+ transportAbort.signal.throwIfAborted();
333
+ }
334
+ return { events, positions };
335
+ }
336
+
337
+ class RecoveryEvidenceError extends Error {
338
+ constructor(message, rejection) {
339
+ super(message);
340
+ this.rejection = rejection;
341
+ }
342
+ }
343
+
344
+ function boundaryAvailability(history, afterEventId) {
345
+ if (!afterEventId) return "absent";
346
+ return history.positions.has(afterEventId) ? "located" : "missing";
347
+ }
348
+
349
+ async function verifyStartupLifecycle(history, afterEventId) {
350
+ const candidates = [];
351
+ const callbackPositions = new Map();
352
+ let count = 0;
353
+ for (const { event, origin } of bufferedEvents.values()) {
354
+ if (++count % WORK_QUANTUM === 0) await yieldToHost();
355
+ transportAbort.signal.throwIfAborted();
356
+ const position = origin === "live" && event.ephemeral !== true ? history.positions.get(event.id) : undefined;
357
+ if (position !== undefined) {
358
+ const persisted = history.events[position];
359
+ if (!matchesHistoryEvidence(event, persisted)) {
360
+ throw new RecoveryEvidenceError("SDK callback conflicts with its durable history record", {
361
+ stage: "startup-verification", boundary: boundaryAvailability(history, afterEventId),
362
+ event: describeRecoveryEvent(event, origin, history.positions, callbackPositions),
363
+ });
364
+ }
365
+ if (isLifecycleEvent(event)
366
+ && (!event.data?.sessionId || event.data.sessionId === sessionId)
367
+ && (!persisted.data?.sessionId || persisted.data.sessionId === sessionId)) candidates.push(event);
368
+ }
369
+ if (typeof event.id === "string") callbackPositions.set(event.id, count);
370
+ }
371
+ for (const event of candidates) {
372
+ verifiedLifecycle.add(event);
373
+ if (++count % WORK_QUANTUM === 0) await yieldToHost();
374
+ transportAbort.signal.throwIfAborted();
375
+ }
376
+ if (candidates.length === 0) {
377
+ sendControl("lifecycle.unverified", { error: "No observed startup lifecycle record verified in SDK history" });
378
+ }
379
+ }
380
+
381
+ async function replaySessionHistory(history, afterEventId) {
382
+ const { events, positions } = history;
383
+ const boundary = positions.get(afterEventId);
384
+ if (boundary === undefined) throw new RecoveryEvidenceError("Committed SDK history watermark is missing", {
385
+ stage: "boundary-lookup", boundary: "missing",
386
+ });
387
+ sendControl("recovery.begin", { afterEventId, event: events[boundary] });
388
+ for (let i = boundary + 1; i < events.length; i++) {
389
+ const event = events[i];
390
+ sendObservedEvent(event, "history");
289
391
  void maybeDisconnectAfterObservedEvent(event).catch(sendError);
290
392
  if (seq % WORK_QUANTUM === 0) {
291
393
  await flushOutput();
292
394
  await yieldToHost();
293
395
  }
294
- if (transportFailed || intentionalDisconnect) return;
396
+ if (transportFailed || intentionalDisconnect) return { positions, boundary };
295
397
  }
398
+ return { positions, boundary };
296
399
  }
297
400
 
298
- async function main() {
401
+ async function connectBroker() {
299
402
  socket = net.createConnection(endpoint);
300
403
  socket.setEncoding("utf8");
301
404
  await new Promise((resolve, reject) => {
@@ -320,11 +423,11 @@ async function main() {
320
423
  }
321
424
  });
322
425
  socket.on("error", () => {
323
- if (admitted && !intentionalDisconnect) process.exitCode = 1;
426
+ if (admitted && !intentionalDisconnect && !closingForRecovery) process.exitCode = 1;
324
427
  });
325
428
  socket.on("close", () => {
326
429
  transportAbort.abort(new Error("Observer transport closed"));
327
- if (admitted && !intentionalDisconnect) process.exit(1);
430
+ if (admitted && !intentionalDisconnect && !closingForRecovery) process.exit(1);
328
431
  });
329
432
 
330
433
  const authentication = waitForAuthResult();
@@ -340,6 +443,20 @@ async function main() {
340
443
  const authResult = await authentication;
341
444
  if (!authResult.accepted) process.exit(0);
342
445
  admitted = true;
446
+ return authResult;
447
+ }
448
+
449
+ async function main() {
450
+ let authResult = await connectBroker();
451
+ if (authResult.recovery.mode === "uncertain") {
452
+ await sendControlAndDrain("recovery.error", {
453
+ error: "A request may have started without a durable recovery watermark",
454
+ recoveryRejection: { stage: "boundary-lookup", boundary: "absent" },
455
+ });
456
+ intentionalDisconnect = true;
457
+ socket.end();
458
+ return;
459
+ }
343
460
 
344
461
  await sleep(optionalDelayMs(testEnv.postAuthDelayMs));
345
462
 
@@ -350,66 +467,83 @@ async function main() {
350
467
  const { joinSession } = await import(sdkImport);
351
468
  const initialLiveIds = new Set();
352
469
  let capturingHistory = authResult.captureHistoryBaseline;
353
- const onEvent = (event) => {
470
+ let exitToolCallId;
471
+ let startupLifecycle;
472
+ let notifyLifecycle;
473
+ let firstLifecycle = new Promise((resolve) => { notifyLifecycle = resolve; });
474
+ const onEvent = (event, origin = "live", toolCallId) => {
354
475
  if (transportFailed || intentionalDisconnect) return;
355
- if (capturingHistory && typeof event.id === "string") initialLiveIds.add(event.id);
476
+ if (streaming && !beforeEventChecked && origin === "live" && !event.agentId
477
+ && process.env[testEnv.disconnectBeforeEventType] === event?.type
478
+ && process.env[testEnv.disconnectAfterEventOnceFile]) {
479
+ beforeEventChecked = true;
480
+ streaming = false;
481
+ void (async () => {
482
+ if (await claimOneShotDisconnectAfterEvent()) {
483
+ const closed = once(socket, "close");
484
+ await disconnectObserverTransport(testEnv.disconnectAfterEventDelayMs);
485
+ await closed;
486
+ transportAbort = new AbortController();
487
+ intentionalDisconnect = false;
488
+ disconnectScheduled = false;
489
+ seq = 0;
490
+ authResult = await connectBroker();
491
+ if (authResult.recovery.mode !== "suffix") throw new Error("Startup test replacement requires a verified boundary");
492
+ if (process.env[testEnv.reattachSdk] === "1") {
493
+ await session.disconnect();
494
+ startupLifecycle = undefined;
495
+ firstLifecycle = new Promise((resolve) => { notifyLifecycle = resolve; });
496
+ await attachSdk();
497
+ } else {
498
+ sendControl("session.joined", { sessionId: session.sessionId, workspacePath: session.workspacePath });
499
+ sendControl("session.lifecycle", { event: startupLifecycle });
500
+ }
501
+ await publishAdmission();
502
+ return;
503
+ }
504
+ while (bufferedEvents.size > 0) {
505
+ const entry = bufferedEvents.get(bufferedCursor);
506
+ bufferedEvents.delete(bufferedCursor++);
507
+ bufferedChars -= entry.chars;
508
+ sendObservedEvent(entry.event, entry.origin, entry.toolCallId);
509
+ if (bufferedCursor % WORK_QUANTUM === 0) await yieldToHost();
510
+ if (transportFailed || intentionalDisconnect) return;
511
+ }
512
+ streaming = true;
513
+ })().catch(sendError);
514
+ }
515
+ if (origin === "live") {
516
+ if (isLifecycleEvent(event)) {
517
+ startupLifecycle ??= event;
518
+ notifyLifecycle();
519
+ sendControl("session.lifecycle", { event });
520
+ }
521
+ if (!event.agentId) {
522
+ if (event.type === "user.message" || event.type === "session.context_cleared"
523
+ || event.type === "session.snapshot_rewind" || event.type === "session.truncation") exitToolCallId = undefined;
524
+ if (event.type === "assistant.message" && Array.isArray(event.data?.toolRequests)) {
525
+ const exit = event.data.toolRequests.find((tool) => tool.name === "exit_plan_mode");
526
+ if (exit) exitToolCallId = exit.toolCallId;
527
+ }
528
+ }
529
+ }
530
+ if (capturingHistory && origin === "live" && typeof event.id === "string") initialLiveIds.add(event.id);
356
531
  if (!streaming) {
357
- bufferedEvents.set(bufferedTail++, event);
358
- bufferedChars += JSON.stringify(event).length;
532
+ const entry = { event, origin, toolCallId, chars: 0 };
533
+ bufferedEvents.set(bufferedTail++, entry);
534
+ entry.chars = JSON.stringify(event).length;
535
+ bufferedChars += entry.chars;
359
536
  if (bufferedChars > MAX_PENDING_CHARS) {
360
537
  sendError(new Error("Copilot observer SDK admission buffer exceeds the transport resource limit"));
361
538
  }
362
539
  return;
363
540
  }
364
- sendObservedEvent(event);
541
+ sendObservedEvent(event, origin, toolCallId);
365
542
  void maybeDisconnectAfterObservedEvent(event).catch(sendError);
366
543
  };
367
- session = await joinSession({
368
- suppressResumeEvent: false,
369
- onEvent,
370
- onExitPlanModeRequest: async (request) => {
371
- onEvent({
372
- type: "exit_plan_mode.requested",
373
- data: request,
374
- });
375
- return {
376
- approved: false,
377
- feedback: "Plan captured by poly-weaver; wait for orchestration approval before implementation.",
378
- };
379
- },
380
- });
381
- observedSessionId = session.sessionId;
382
- sendControl("session.joined", {
383
- sessionId: session.sessionId,
384
- workspacePath: session.workspacePath,
385
- });
386
- if (authResult.captureHistoryBaseline) {
387
- const history = await session.getEvents();
388
- if (!Array.isArray(history) || history.some((event) => typeof event?.id !== "string" || !event.id)) {
389
- throw new Error("Observer SDK returned an invalid inherited-history boundary");
390
- }
391
- sendControl("inquiry.history_baseline", {
392
- eventIds: history.map((event) => event.id).filter((id) => !initialLiveIds.has(id)),
393
- });
394
- capturingHistory = false;
395
- initialLiveIds.clear();
396
- }
397
- if (authResult.replayHistory) {
398
- await replaySessionHistory();
399
- }
400
- while (bufferedEvents.size > 0) {
401
- const event = bufferedEvents.get(bufferedCursor);
402
- bufferedEvents.delete(bufferedCursor++);
403
- bufferedChars -= JSON.stringify(event).length;
404
- sendObservedEvent(event);
405
- void maybeDisconnectAfterObservedEvent(event).catch(sendError);
406
- if (seq % WORK_QUANTUM === 0) {
407
- await flushOutput();
408
- await yieldToHost();
409
- }
410
- }
411
- sendControl("subscription.ready");
412
- streaming = true;
544
+ await attachSdk();
545
+ await publishAdmission();
546
+ if (transportFailed || intentionalDisconnect || transportAbort.signal.aborted) return;
413
547
  const disconnectAfterReady = process.env[testEnv.disconnectAfterReady];
414
548
  if (typeof disconnectAfterReady === "string" && disconnectAfterReady.length > 0) {
415
549
  await disconnectObserverTransport(testEnv.disconnectAfterReadyDelayMs);
@@ -419,7 +553,139 @@ async function main() {
419
553
  if (typeof failAfterReady === "string" && failAfterReady.length > 0) {
420
554
  await sleep(optionalDelayMs(testEnv.failAfterReadyDelayMs));
421
555
  await sendControlAndDrain("observer.error", { error: failAfterReady });
422
- return;
556
+ }
557
+
558
+ async function attachSdk() {
559
+ session = await joinSession({
560
+ suppressResumeEvent: false,
561
+ onEvent,
562
+ onExitPlanModeRequest: async (request) => {
563
+ onEvent({
564
+ type: "exit_plan_mode.requested",
565
+ data: request,
566
+ }, "bridge", exitToolCallId);
567
+ return {
568
+ approved: false,
569
+ feedback: "Plan captured by poly-weaver; wait for orchestration approval before implementation.",
570
+ };
571
+ },
572
+ });
573
+ observedSessionId = session.sessionId;
574
+ sendControl("session.joined", {
575
+ sessionId: session.sessionId,
576
+ workspacePath: session.workspacePath,
577
+ });
578
+ let onLifecycleAbort;
579
+ await Promise.race([
580
+ firstLifecycle,
581
+ new Promise((_, reject) => {
582
+ onLifecycleAbort = () => reject(new Error("SDK startup lifecycle wait interrupted"));
583
+ if (transportAbort.signal.aborted) onLifecycleAbort();
584
+ else transportAbort.signal.addEventListener("abort", onLifecycleAbort, { once: true });
585
+ }),
586
+ ]).finally(() => transportAbort.signal.removeEventListener("abort", onLifecycleAbort));
587
+ }
588
+
589
+ async function publishAdmission() {
590
+ let snapshot;
591
+ try {
592
+ snapshot = await readSessionHistory();
593
+ await verifyStartupLifecycle(snapshot, authResult.recovery.afterEventId);
594
+ } catch (error) {
595
+ if (transportFailed || intentionalDisconnect || transportAbort.signal.aborted) return;
596
+ const explanation = error instanceof Error ? error.message : "SDK startup history verification failed";
597
+ if (authResult.recovery.mode === "suffix" || authResult.captureHistoryBaseline) {
598
+ await sendControlAndDrain("recovery.error", {
599
+ error: explanation,
600
+ recoveryRejection: error instanceof RecoveryEvidenceError ? error.rejection
601
+ : { stage: "history-read", boundary: "untrustworthy" },
602
+ });
603
+ intentionalDisconnect = true;
604
+ socket.end();
605
+ return;
606
+ }
607
+ sendControl("lifecycle.unverified", { error: explanation });
608
+ snapshot = undefined;
609
+ }
610
+ if (transportFailed || intentionalDisconnect || transportAbort.signal.aborted) return;
611
+ if (authResult.captureHistoryBaseline) {
612
+ const eventIds = [];
613
+ for (const event of snapshot.events) {
614
+ if (!initialLiveIds.has(event.id)) eventIds.push(event.id);
615
+ if (eventIds.length % WORK_QUANTUM === 0) await yieldToHost();
616
+ if (transportFailed || intentionalDisconnect || transportAbort.signal.aborted) return;
617
+ }
618
+ sendControl("inquiry.history_baseline", {
619
+ eventIds,
620
+ });
621
+ capturingHistory = false;
622
+ initialLiveIds.clear();
623
+ }
624
+ let history;
625
+ if (authResult.recovery.mode === "suffix") {
626
+ try {
627
+ history = await replaySessionHistory(snapshot, authResult.recovery.afterEventId);
628
+ } catch (error) {
629
+ await sendControlAndDrain("recovery.error", {
630
+ error: error instanceof Error ? error.message : String(error),
631
+ recoveryRejection: error instanceof RecoveryEvidenceError ? error.rejection
632
+ : { stage: "boundary-lookup", boundary: "unknown" },
633
+ });
634
+ intentionalDisconnect = true;
635
+ socket.end();
636
+ return;
637
+ }
638
+ }
639
+ const transientParents = new Map();
640
+ const callbackPositions = new Map();
641
+ while (bufferedEvents.size > 0) {
642
+ const { event, origin, toolCallId, chars } = bufferedEvents.get(bufferedCursor);
643
+ bufferedEvents.delete(bufferedCursor++);
644
+ bufferedChars -= chars;
645
+ const position = history?.positions.get(event.id);
646
+ const snapshotPosition = snapshot?.positions.get(event.id);
647
+ if (origin === "live" && snapshotPosition !== undefined) {
648
+ if (!matchesHistoryEvidence(event, snapshot.events[snapshotPosition])) {
649
+ await sendControlAndDrain("recovery.error", {
650
+ error: "SDK callback conflicts with its durable history record",
651
+ recoveryRejection: {
652
+ stage: "admission", boundary: boundaryAvailability(snapshot, authResult.recovery.afterEventId),
653
+ event: describeRecoveryEvent(event, origin, snapshot.positions, callbackPositions),
654
+ },
655
+ });
656
+ intentionalDisconnect = true;
657
+ socket.end();
658
+ return;
659
+ }
660
+ if (isLifecycleEvent(event) && event.ephemeral !== true) verifiedLifecycle.add(event);
661
+ }
662
+ const parentPosition = history?.positions.get(event.parentId) ?? transientParents.get(event.parentId);
663
+ const transient = event.ephemeral === true || event.type === "session.idle"
664
+ || event.type === "abort" || event.type === "session.abort";
665
+ // Prefix exclusion is independent of callback arrival and known-ID deduplication.
666
+ const excluded = origin === "live" && history && (
667
+ (position !== undefined && position <= history.boundary)
668
+ || (transient && parentPosition !== undefined && parentPosition < history.boundary)
669
+ );
670
+ if (transient && position === undefined && parentPosition !== undefined && typeof event.id === "string") {
671
+ transientParents.set(event.id, parentPosition);
672
+ }
673
+ if (typeof event.id === "string") callbackPositions.set(event.id, bufferedCursor);
674
+ if (!excluded) {
675
+ sendObservedEvent(event, origin, toolCallId);
676
+ void maybeDisconnectAfterObservedEvent(event).catch(sendError);
677
+ }
678
+ if (bufferedCursor % WORK_QUANTUM === 0) {
679
+ await flushOutput();
680
+ await yieldToHost();
681
+ }
682
+ if (transportFailed || intentionalDisconnect) return;
683
+ }
684
+ if (authResult.recovery.mode === "suffix") {
685
+ sendControl("recovery.end", { afterEventId: authResult.recovery.afterEventId });
686
+ }
687
+ sendControl("subscription.ready");
688
+ streaming = true;
423
689
  }
424
690
  }
425
691
 
@@ -1 +1 @@
1
- {"version":3,"file":"extension.mjs","sourceRoot":"","sources":["../../../../../../../src/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.mjs","sourceRoot":"","sources":["../../../../../../../src/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,MAAM,GAAG,GAAG;IACV,QAAQ,EAAE,uCAAuC;IACjD,QAAQ,EAAE,wCAAwC;IAClD,SAAS,EAAE,yCAAyC;IACpD,UAAU,EAAE,yCAAyC;IACrD,SAAS,EAAE,yCAAyC;IACpD,SAAS,EAAE,gCAAgC;CAC5C,CAAC;AACF,MAAM,OAAO,GAAG;IACd,eAAe,EAAE,iDAAiD;IAClE,cAAc,EAAE,+CAA+C;IAC/D,qBAAqB,EAAE,wDAAwD;IAC/E,oBAAoB,EAAE,qDAAqD;IAC3E,2BAA2B,EAAE,8DAA8D;IAC3F,wBAAwB,EAAE,0DAA0D;IACpF,2BAA2B,EAAE,8DAA8D;IAC3F,4BAA4B,EAAE,+DAA+D;IAC7F,yBAAyB,EAAE,2DAA2D;IACtF,WAAW,EAAE,2CAA2C;CACzD,CAAC;AAEF,SAAS,QAAQ,CAAC,IAAI;IACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAI;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gDAAgD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAE;IACrB,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO;IACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAE1C,IAAI,MAAM,CAAC;AACX,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,IAAI,OAAO,CAAC;AACZ,IAAI,iBAAiB,CAAC;AACtB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,IAAI,MAAM,CAAC;AACX,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;AAC3C,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAC;AACxC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,SAAS,IAAI,CAAC,OAAO;IACnB,IAAI,eAAe,IAAI,qBAAqB;QAAE,OAAO;IACrD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACrD,SAAS,CAAC,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;IACpC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9C,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB;YAAE,WAAW,EAAE,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,OAAO,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB;QAAE,MAAM,MAAM,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,yEAAyE;IACzE,MAAM,WAAW,EAAE,CAAC;IACpB,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3C,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAClC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE;IACpC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,KAAK;IACtB,IAAI,eAAe,IAAI,qBAAqB,IAAI,kBAAkB;QAAE,OAAO;IAC3E,eAAe,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,aAAa,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB;QACrE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC9D,CAAC,IAAI,CAAC,CAAC;IACR,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE;IAClD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO;IACxC,IAAI,IAAI,KAAK,gBAAgB;QAAE,kBAAkB,GAAG,IAAI,CAAC;IACzD,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAK;IAC7B,OAAO,KAAK,EAAE,IAAI,KAAK,eAAe,IAAI,KAAK,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAC7E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU;IAC3D,GAAG,IAAI,CAAC,CAAC;IACT,MAAM,mBAAmB,GAAG,MAAM,KAAK,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACvF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB;QAC/E,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACtC,IAAI,iBAAiB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,YAAY;IACrD,IAAI,mBAAmB;QAAE,OAAO;IAChC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,MAAM,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,EAAE,CAAC;IACpB,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,gCAAgC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACrE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,KAAK;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAChE,IACE,OAAO,SAAS,KAAK,QAAQ;WAC1B,SAAS,CAAC,MAAM,GAAG,CAAC;WACpB,KAAK,EAAE,IAAI,KAAK,SAAS,EAC5B,CAAC;QACD,IAAI,MAAM,gCAAgC,EAAE,EAAE,CAAC;YAC7C,MAAM,2BAA2B,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAG;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,OAAO;IAC9B,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;uBACzE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAC3G,MAAM,CAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC;oBACjF,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,SAAS,EAAE;oBAChB,QAAQ,EAAE,IAAI;oBACd,QAAQ;oBACR,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,KAAK,IAAI;iBAChE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,EAAE;oBAChB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;iBACjE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAO;IAClC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO;IAC3C,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC;YACH,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,EAAE,EAAE,IAAI;YACR,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACtG,IAAI,OAAO,CAAC;IACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAChC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;YACvF,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;;gBACzB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC;KACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC3E,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC;YAAE,MAAM,WAAW,EAAE,CAAC;QAChD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxG,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC;YAAE,MAAM,WAAW,EAAE,CAAC;QAChD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,qBAAsB,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,SAAS;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,OAAO,EAAE,YAAY;IACjD,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IACnC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAO,EAAE,YAAY;IACzD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;QACxD,IAAI,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC;YAAE,MAAM,WAAW,EAAE,CAAC;QACtD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,qBAAqB,CAAC,wDAAwD,EAAE;oBACxF,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC;oBACpF,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;iBAClF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,CAAC;mBACtB,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;mBAC9D,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC;YAAE,MAAM,WAAW,EAAE,CAAC;QACtD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,WAAW,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,8DAA8D,EAAE,CAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAO,EAAE,YAAY;IACvD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,qBAAqB,CAAC,4CAA4C,EAAE;YACxG,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS;SAC9C,CAAC,CAAC;IACH,WAAW,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzE,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,iCAAiC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,eAAe,IAAI,qBAAqB;YAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC;QAChB,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,IAAI,QAAQ,IAAI,CAAC,qBAAqB,IAAI,CAAC,kBAAkB;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC7D,IAAI,QAAQ,IAAI,CAAC,qBAAqB,IAAI,CAAC,kBAAkB;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,SAAS;QACT,UAAU;QACV,SAAS;QACT,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;KAC1C,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,GAAG,IAAI,CAAC;IAChB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7C,MAAM,mBAAmB,CAAC,gBAAgB,EAAE;YAC1C,KAAK,EAAE,iEAAiE;YACxE,iBAAiB,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE;SACpE,CAAC,CAAC;QACH,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtD,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,IAAI,gBAAgB,GAAG,UAAU,CAAC,sBAAsB,CAAC;IACzD,IAAI,cAAc,CAAC;IACnB,IAAI,gBAAgB,CAAC;IACrB,IAAI,eAAe,CAAC;IACpB,IAAI,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE;QACrD,IAAI,eAAe,IAAI,qBAAqB;YAAE,OAAO;QACrD,IAAI,SAAS,IAAI,CAAC,kBAAkB,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO;eACtE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,KAAK,EAAE,IAAI;eAC9D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACvD,kBAAkB,GAAG,IAAI,CAAC;YAC1B,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,gCAAgC,EAAE,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACrC,MAAM,2BAA2B,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;oBACvE,MAAM,MAAM,CAAC;oBACb,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;oBACvC,qBAAqB,GAAG,KAAK,CAAC;oBAC9B,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,GAAG,GAAG,CAAC,CAAC;oBACR,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;oBACnC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;oBACpH,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC7C,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC3B,gBAAgB,GAAG,SAAS,CAAC;wBAC7B,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1E,MAAM,SAAS,EAAE,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;wBACtG,WAAW,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,MAAM,gBAAgB,EAAE,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,OAAO,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACjD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;oBACxC,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC;oBAC7B,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC/D,IAAI,cAAc,GAAG,YAAY,KAAK,CAAC;wBAAE,MAAM,WAAW,EAAE,CAAC;oBAC7D,IAAI,eAAe,IAAI,qBAAqB;wBAAE,OAAO;gBACvD,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,gBAAgB,KAAK,KAAK,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,WAAW,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB;uBACxE,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;oBAAE,cAAc,GAAG,SAAS,CAAC;gBACjH,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;oBAClF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;oBACpF,IAAI,IAAI;wBAAE,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtD,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAC3C,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC;YAC7B,IAAI,aAAa,GAAG,iBAAiB,EAAE,CAAC;gBACtC,SAAS,CAAC,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC,CAAC;YACrG,CAAC;YACD,OAAO;QACT,CAAC;QACD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,iCAAiC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,MAAM,SAAS,EAAE,CAAC;IAClB,MAAM,gBAAgB,EAAE,CAAC;IACzB,IAAI,eAAe,IAAI,qBAAqB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IACtF,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvE,IAAI,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChF,MAAM,2BAA2B,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC5D,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,UAAU,SAAS;QACtB,OAAO,GAAG,MAAM,WAAW,CAAC;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,OAAO;YACP,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvC,OAAO,CAAC;oBACN,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,OAAO;iBACd,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7B,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,sFAAsF;iBACjG,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,WAAW,CAAC,gBAAgB,EAAE;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC;QACrB,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,cAAc;YACd,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACxB,gBAAgB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACrF,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;oBAAE,gBAAgB,EAAE,CAAC;;oBACjD,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC;SACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,UAAU,gBAAgB;QAC7B,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACtC,MAAM,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,IAAI,qBAAqB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACtF,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC,CAAC;YACvG,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;gBAC/E,MAAM,mBAAmB,CAAC,gBAAgB,EAAE;oBAC1C,KAAK,EAAE,WAAW;oBAClB,iBAAiB,EAAE,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;wBACzE,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE;iBACzD,CAAC,CAAC;gBACH,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,WAAW,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5D,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,eAAe,IAAI,qBAAqB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACtF,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,MAAM,GAAG,YAAY,KAAK,CAAC;oBAAE,MAAM,WAAW,EAAE,CAAC;gBAC9D,IAAI,eAAe,IAAI,qBAAqB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;YACxF,CAAC;YACD,WAAW,CAAC,0BAA0B,EAAE;gBACtC,QAAQ;aACT,CAAC,CAAC;YACH,gBAAgB,GAAG,KAAK,CAAC;YACzB,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,CAAC;QACZ,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,mBAAmB,CAAC,gBAAgB,EAAE;oBAC1C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,iBAAiB,EAAE,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;wBACzE,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE;iBACtD,CAAC,CAAC;gBACH,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChF,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACxC,aAAa,IAAI,KAAK,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,MAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;oBACtE,MAAM,mBAAmB,CAAC,gBAAgB,EAAE;wBAC1C,KAAK,EAAE,wDAAwD;wBAC/D,iBAAiB,EAAE;4BACjB,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAC9F,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;yBACnF;qBACF,CAAC,CAAC;oBACH,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;oBAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,cAAc,GAAG,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;mBACtE,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;YAC9D,kFAAkF;YAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,IAAI,OAAO,IAAI,CAC/C,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;mBACrD,CAAC,SAAS,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CACpF,CAAC;YACF,IAAI,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;gBAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC7C,KAAK,iCAAiC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,cAAc,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,WAAW,EAAE,CAAC;gBACpB,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,eAAe,IAAI,qBAAqB;gBAAE,OAAO;QACvD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,WAAW,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Compare SDK evidence, not delivery metadata such as timestamps or sequence numbers.
3
+ * Omitted callback payload fields do not override the canonical history record.
4
+ * @param {Record<string, unknown>} callback
5
+ * @param {Record<string, unknown>} persisted
6
+ */
7
+ export function matchesHistoryEvidence(callback: Record<string, unknown>, persisted: Record<string, unknown>): boolean;
8
+ /**
9
+ * Retain availability only, never callback bodies or opaque identifiers.
10
+ * @param {Record<string, unknown>} event
11
+ * @param {"live" | "history" | "bridge"} source
12
+ * @param {Map<string, number> | undefined} historyPositions
13
+ * @param {Map<string, number> | undefined} [callbackPositions]
14
+ * @returns {NonNullable<import("../../../../../types.js").ProviderObserverRecoveryRejection["event"]>}
15
+ */
16
+ export function describeRecoveryEvent(event: Record<string, unknown>, source: "live" | "history" | "bridge", historyPositions: Map<string, number> | undefined, callbackPositions?: Map<string, number> | undefined): NonNullable<import("../../../../../types.js").ProviderObserverRecoveryRejection["event"]>;
17
+ //# sourceMappingURL=history-evidence.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-evidence.d.mts","sourceRoot":"","sources":["../../../../../../../src/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,iDAHW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAWjC;AAED;;;;;;;GAOG;AACH,6CANW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACvB,MAAM,GAAG,SAAS,GAAG,QAAQ,oBAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,sBAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC7B,WAAW,CAAC,OAAO,yBAAyB,EAAE,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAgBrG"}