@qwen-code/channel-base 0.22.2-preview.1 → 0.22.3

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 +1 @@
1
- {"version":3,"file":"SessionRouter.d.ts","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRouter.d.ts","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export class SessionRouter {
16
16
  defaultScope;
17
17
  channelScopes = new Map();
18
18
  channelApprovalModes = new Map();
19
+ channelsWithoutLoops = new Set();
19
20
  persistPath;
20
21
  recoveryMode;
21
22
  constructor(bridge, defaultCwd, scope = 'user', persistPath, options = {}) {
@@ -28,6 +29,7 @@ export class SessionRouter {
28
29
  /** Replace the bridge instance (used after crash recovery restart). */
29
30
  setBridge(bridge) {
30
31
  this.bridge = bridge;
32
+ this.liveSessionIds.clear();
31
33
  }
32
34
  /** Set scope override for a specific channel. */
33
35
  setChannelScope(channelName, scope) {
@@ -41,6 +43,14 @@ export class SessionRouter {
41
43
  this.channelApprovalModes.delete(channelName);
42
44
  }
43
45
  }
46
+ setChannelLoopsEnabled(channelName, enabled) {
47
+ if (enabled) {
48
+ this.channelsWithoutLoops.delete(channelName);
49
+ }
50
+ else {
51
+ this.channelsWithoutLoops.add(channelName);
52
+ }
53
+ }
44
54
  routingKey(channelName, senderId, chatId, threadId) {
45
55
  const scope = this.channelScopes.get(channelName) || this.defaultScope;
46
56
  switch (scope) {
@@ -59,7 +69,13 @@ export class SessionRouter {
59
69
  }
60
70
  sessionOptions(channelName) {
61
71
  const approvalMode = this.channelApprovalModes.get(channelName);
62
- return approvalMode ? { approvalMode } : undefined;
72
+ const loopsDisabled = this.channelsWithoutLoops.has(channelName);
73
+ return approvalMode || loopsDisabled
74
+ ? {
75
+ ...(approvalMode ? { approvalMode } : {}),
76
+ ...(loopsDisabled ? { enableChannelLoops: false } : {}),
77
+ }
78
+ : undefined;
63
79
  }
64
80
  async resolve(channelName, senderId, chatId, threadId, cwd, isGroup, options) {
65
81
  const key = this.routingKey(channelName, senderId, chatId, options?.routingThreadId ?? threadId);
@@ -263,6 +279,128 @@ export class SessionRouter {
263
279
  }
264
280
  return false;
265
281
  }
282
+ getSessionCwd(sessionId) {
283
+ return this.toCwd.get(sessionId);
284
+ }
285
+ async createManagedSession(target, cwd) {
286
+ const loadWindow = this.beginSessionLoad();
287
+ const lifecycleGeneration = this.lifecycleGeneration;
288
+ const bridge = this.bridge;
289
+ const bindingToken = {};
290
+ try {
291
+ let lastDeadSessionId;
292
+ for (let attempt = 0; attempt < 2; attempt++) {
293
+ const sessionId = await bridge.newSession(cwd, {
294
+ ...this.sessionOptions(target.channelName),
295
+ sourceId: target.channelName,
296
+ }, bindingToken);
297
+ if (lifecycleGeneration !== this.lifecycleGeneration ||
298
+ bridge !== this.bridge) {
299
+ this.scheduleManagedDiscard(bridge, sessionId, bindingToken);
300
+ throw new Error('Managed session creation was invalidated');
301
+ }
302
+ if (typeof sessionId !== 'string' || sessionId.length === 0) {
303
+ throw new Error('Invalid session ID from bridge');
304
+ }
305
+ if (loadWindow.delete(sessionId)) {
306
+ lastDeadSessionId = sessionId;
307
+ await bridge.discardSession?.(sessionId, bindingToken);
308
+ continue;
309
+ }
310
+ this.toTarget.set(sessionId, target);
311
+ this.toCwd.set(sessionId, cwd);
312
+ this.liveSessionIds.add(sessionId);
313
+ return sessionId;
314
+ }
315
+ throw new Error(`Managed session ${lastDeadSessionId ?? 'unknown'} died before creation completed`);
316
+ }
317
+ finally {
318
+ this.endSessionLoad(loadWindow);
319
+ }
320
+ }
321
+ async loadManagedSession(sessionId, target, cwd) {
322
+ if (this.liveSessionIds.has(sessionId)) {
323
+ this.toTarget.set(sessionId, target);
324
+ this.toCwd.set(sessionId, cwd);
325
+ return { loaded: false };
326
+ }
327
+ const loadWindow = this.beginSessionLoad();
328
+ const lifecycleGeneration = this.lifecycleGeneration;
329
+ const bridge = this.bridge;
330
+ const bindingToken = {};
331
+ let loadedSessionId;
332
+ try {
333
+ loadedSessionId = await bridge.loadSession(sessionId, cwd, this.sessionOptions(target.channelName), bindingToken);
334
+ if (lifecycleGeneration !== this.lifecycleGeneration ||
335
+ bridge !== this.bridge) {
336
+ this.scheduleManagedDiscard(bridge, loadedSessionId, bindingToken);
337
+ loadedSessionId = undefined;
338
+ throw new Error('Managed session load was invalidated');
339
+ }
340
+ if (loadedSessionId !== sessionId) {
341
+ const unexpectedSessionId = loadedSessionId;
342
+ await bridge.discardSession?.(unexpectedSessionId, bindingToken);
343
+ loadedSessionId = undefined;
344
+ throw new Error(`Bridge returned session ${unexpectedSessionId || 'unknown'} while loading ${sessionId}`);
345
+ }
346
+ if (loadWindow.delete(sessionId)) {
347
+ throw new Error(`Managed session ${sessionId} died before loading completed`);
348
+ }
349
+ this.toTarget.set(sessionId, target);
350
+ this.toCwd.set(sessionId, cwd);
351
+ this.liveSessionIds.add(sessionId);
352
+ return { loaded: true };
353
+ }
354
+ catch (error) {
355
+ if (loadedSessionId) {
356
+ await bridge
357
+ .discardSession?.(loadedSessionId, bindingToken)
358
+ .catch(() => undefined);
359
+ }
360
+ throw error;
361
+ }
362
+ finally {
363
+ this.endSessionLoad(loadWindow);
364
+ }
365
+ }
366
+ activateManagedSession(sessionId, target, cwd) {
367
+ const key = this.routingKey(target.channelName, target.senderId, target.chatId, target.threadId);
368
+ if (this.toSession.get(key) === sessionId)
369
+ return;
370
+ this.invalidateRouteOperation(key);
371
+ this.toSession.set(key, sessionId);
372
+ this.toTarget.set(sessionId, target);
373
+ this.toCwd.set(sessionId, cwd);
374
+ this.persist();
375
+ }
376
+ forgetManagedSession(sessionId) {
377
+ let changed = false;
378
+ for (const [key, mappedSessionId] of this.toSession) {
379
+ if (mappedSessionId !== sessionId)
380
+ continue;
381
+ this.invalidateRouteOperation(key);
382
+ this.toSession.delete(key);
383
+ changed = true;
384
+ }
385
+ changed = this.toTarget.delete(sessionId) || changed;
386
+ changed = this.toCwd.delete(sessionId) || changed;
387
+ changed = this.liveSessionIds.delete(sessionId) || changed;
388
+ if (changed)
389
+ this.persist();
390
+ }
391
+ async detachManagedSession(sessionId) {
392
+ try {
393
+ if (this.liveSessionIds.has(sessionId)) {
394
+ if (!this.bridge.discardSession) {
395
+ throw new Error('Managed session detach is not supported');
396
+ }
397
+ await this.bridge.discardSession(sessionId);
398
+ }
399
+ }
400
+ finally {
401
+ this.forgetManagedSession(sessionId);
402
+ }
403
+ }
266
404
  /**
267
405
  * Remove session(s) for the given sender. Returns the removed session IDs.
268
406
  */
@@ -445,6 +583,7 @@ export class SessionRouter {
445
583
  this.toSession.set(key, sessionId);
446
584
  this.toTarget.set(sessionId, entry.target);
447
585
  this.toCwd.set(sessionId, entry.cwd);
586
+ this.liveSessionIds.add(sessionId);
448
587
  reservation.resolve(sessionId);
449
588
  if (sessionId !== entry.sessionId) {
450
589
  changed = true;
@@ -705,6 +844,16 @@ export class SessionRouter {
705
844
  // Best-effort cleanup must not replace the terminal invalidation.
706
845
  }
707
846
  }
847
+ scheduleManagedDiscard(bridge, sessionId, bindingToken) {
848
+ try {
849
+ void bridge
850
+ .discardSession?.(sessionId, bindingToken)
851
+ .catch(() => undefined);
852
+ }
853
+ catch {
854
+ // Best-effort cleanup must not block bridge recovery.
855
+ }
856
+ }
708
857
  createSessionReservation() {
709
858
  let resolveReservation;
710
859
  let rejectReservation;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRouter.js","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRouter.js","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAiChD,MAAM,OAAO,aAAa;IAChB,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,2BAA2B;IACvE,QAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;IACxE,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,mBAAmB;IAC3D,gBAAgB,GAAkC,IAAI,GAAG,EAAE,CAAC;IAC5D,kBAAkB,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC9C,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,mBAAmB,GAAG,CAAC,CAAC;IAExB,MAAM,CAAqB;IAC3B,UAAU,CAAS;IACnB,YAAY,CAAe;IAC3B,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;IACrD,oBAAoB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC7C,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,WAAW,CAAqB;IACvB,YAAY,CAAsB;IAEnD,YACE,MAA0B,EAC1B,UAAkB,EAClB,QAAsB,MAAM,EAC5B,WAAoB,EACpB,UAAgC,EAAE;QAElC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IACtD,CAAC;IAED,uEAAuE;IACvE,SAAS,CAAC,MAA0B;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,iDAAiD;IACjD,eAAe,CAAC,WAAmB,EAAE,KAAmB;QACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB,CACpB,WAAmB,EACnB,YAAgC;QAEhC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,WAAmB,EAAE,OAAgB;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,UAAU,CAChB,WAAmB,EACnB,QAAgB,EAChB,MAAc,EACd,QAAiB;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACvE,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,GAAG,WAAW,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YAChD,KAAK,aAAa;gBAChB,OAAO,QAAQ;oBACb,CAAC,CAAC,GAAG,WAAW,IAAI,MAAM,IAAI,QAAQ,EAAE;oBACxC,CAAC,CAAC,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,GAAG,WAAW,aAAa,CAAC;YACrC,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,GAAG,WAAW,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,WAAmB;QAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,YAAY,IAAI,aAAa;YAClC,CAAC,CAAC;gBACE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,QAAgB,EAChB,MAAc,EACd,QAAiB,EACjB,GAAY,EACZ,OAAiB,EACjB,OAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CACzB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,EAAE,eAAe,IAAI,QAAQ,CACrC,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,WAAW;YACX,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,SAAS,CAAC;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;oBACzC,IAAI,CAAC;wBACH,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAC9D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAC5D,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC9C,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;wBAC/B,MAAM,QAAQ,CAAC,iBAAiB,CAAC;oBACnC,CAAC;oBACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACtC,WAAW,EAAE,CAAC;oBACd,IAAI,WAAW,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC;oBACjC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAC3C,GAAG,EACH;gBACE,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,EACD,CAAC,gBAAgB,EAAE,EAAE,CACnB,QAAQ;gBACN,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAC/D,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC;oBACH,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC7D,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,GAAW,EACX,KAOC,EACD,SAA2B;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,KAAK,CAAC,GAAG,EACT,UAAU,EACV,GAAG,EACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,EACtC,SAAS,EACT,KAAK,CAAC,WAAW,CAClB,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC7D,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAW,EACX,cAAsB,EACtB,KAOC,EACD,SAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CACnD,cAAc,EACd,QAAQ,EACR,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,EACtC,SAAS,CACV,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACvC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC;wBAC/C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;wBACpC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,iCAAiC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;oBACnE,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IACE,OAAO,eAAe,KAAK,QAAQ;oBACnC,eAAe,CAAC,MAAM,KAAK,CAAC;oBAC5B,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAClC,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;oBACzC,IAAI,MAAM;wBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACzC,OAAO,eAAe,CAAC;YACzB,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC9C,KAAK,CAAC,GAAG,EACT,UAAU,EACV,GAAG,EACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,EACtC,SAAS,EACT,KAAK,CAAC,WAAW,CAClB,CAAC;oBACF,IAAI,CAAC;wBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,iCAAiC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;wBAC/D,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE;wBAC7B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gDAAgD,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,uBAAuB,eAAe,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,CAC7O,CAAC;oBACF,OAAO,WAAW,CAAC;gBACrB,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,eAAe,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,yCAAyC,eAAe,CAAC,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,CAC7V,CAAC;oBACF,MAAM,WAAW,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CACR,WAAmB,EACnB,QAAgB,EAChB,MAAc,EACd,QAAiB;QAEjB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,UAAU,CACR,WAAmB,EACnB,QAAgB,EAChB,MAAe,EACf,QAAiB;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,SAAS;QACT,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAqB,EACrB,GAAW;QAEX,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,iBAAqC,CAAC;YAC1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CACvC,GAAG,EACH;oBACE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC1C,QAAQ,EAAE,MAAM,CAAC,WAAW;iBAC7B,EACD,YAAY,CACb,CAAC;gBACF,IACE,mBAAmB,KAAK,IAAI,CAAC,mBAAmB;oBAChD,MAAM,KAAK,IAAI,CAAC,MAAM,EACtB,CAAC;oBACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBAC7D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjC,iBAAiB,GAAG,SAAS,CAAC;oBAC9B,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,iBAAiB,IAAI,SAAS,iCAAiC,CACnF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,MAAqB,EACrB,GAAW;QAEX,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,eAAmC,CAAC;QACxC,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,MAAM,CAAC,WAAW,CACxC,SAAS,EACT,GAAG,EACH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,EACvC,YAAY,CACb,CAAC;YACF,IACE,mBAAmB,KAAK,IAAI,CAAC,mBAAmB;gBAChD,MAAM,KAAK,IAAI,CAAC,MAAM,EACtB,CAAC;gBACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;gBACnE,eAAe,GAAG,SAAS,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,mBAAmB,GAAG,eAAe,CAAC;gBAC5C,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;gBACjE,eAAe,GAAG,SAAS,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,2BAA2B,mBAAmB,IAAI,SAAS,kBAAkB,SAAS,EAAE,CACzF,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,gCAAgC,CAC7D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM;qBACT,cAAc,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;qBAC/C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,sBAAsB,CACpB,SAAiB,EACjB,MAAqB,EACrB,GAAW;QAEX,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CACzB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAChB,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO;QAClD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,eAAe,KAAK,SAAS;gBAAE,SAAS;YAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;QACrD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;QAC3D,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CACX,WAAmB,EACnB,QAAgB,EAChB,MAAe,EACf,QAAiB;QAEjB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACvE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS;gBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,KAAK,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAClD,IACE,MAAM,EAAE,WAAW,KAAK,WAAW;oBACnC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAC5B,CAAC;oBACD,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,SAAS;wBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1D,IACE,SAAS,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW;oBAC5C,SAAS,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EACtC,CAAC;oBACD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,yDAAyD;IACzD,eAAe,CAAC,SAAiB;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACjD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAC1B,SAAiB,EACjB,OAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,kDAAkD;IAClD,MAAM;QACJ,MAAM,OAAO,GAIR,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QAInB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAEnD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;QAEJ,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACpD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAC3C,GAAG,EACH,OAAO,CAAC,GAAG,CAAE,CAAC,MAAM,EACpB,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAC1B,CAAC;YACF,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;gBAC5C,IAAI,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC7C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,GAAG,EACT,OAAO,EACP,SAAS,CACV,CAAC;oBACF,IAAI,CAAC;wBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBAC7D,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACjD,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC/B,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;wBAClC,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;oBACD,QAAQ,EAAE,CAAC;gBACb,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6CAA6C,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAC7J,CAAC;oBACF,WAAW,CAAC,MAAM,CAChB,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CACpD,CAAC;oBACF,8DAA8D;oBAC9D,MAAM,EAAE,CAAC;oBACT,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;wBAAS,CAAC;oBACT,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBACjD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,qEAAqE;QACrE,IAAI,OAAO,IAAI,iBAAiB,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAC7E,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB;QAO1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,SAAS,CAAC;QAE/D,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,GAAG,WAAW,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6CAA6C,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CACrK,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC;YACD,MAAM,cAAc,GAAG,GAAG,WAAW,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,wBAAwB,CACrG,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;gBAClD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/D,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,WAAW,GAAG,MAAiC,CAAC;QACtD,OAAO,CACL,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;YACtC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;YAChC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YACvB,OAAO,WAAW,CAAC,aAAa,CAAC,KAAK,QAAQ;YAC9C,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ;YAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,QAAQ;YACzC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS;gBACpC,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC;YAC9C,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS;gBACnC,OAAO,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAC/C,CAAC;IACJ,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,MAAM,IAAI,GAAmC,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,SAAS;gBACT,MAAM;gBACN,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU;aAClD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CACnB,GAAG,EACH,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC1E,CAAC;QACF,IAAI,CAAC;YACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;YAC/D,CAAC;YACD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACrD,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+CAA+C,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAC5K,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,GAAW,EACX,UAA6B,EAC7B,UAAkB,EAClB,OAA8C,EAC9C,SAA2B,EAC3B,QAAgB;QAEhB,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,IAAI,iBAAqC,CAAC;QAC1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAC5C,GAAG,EACH,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EACxB,SAAS,CACV,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC7D,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,iBAAiB,IAAI,SAAS,mCAAmC,WAAW,IAAI,WAAW,kBAAkB,UAAU,GAAG,CACtI,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,MAAM,UAAU,GAAsB,IAAI,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,sBAAsB,CAC5B,GAAW,EACX,MAAqB,EACrB,GAAqD;QAErD,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAqB;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM;YACN,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU;SACX,CAAC;QACF,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;aAClC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC1B,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACL,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,wBAAwB,CAAC,GAAW;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEO,mBAAmB,CAAC,SAA2B;QACrD,SAAS,CAAC,iBAAiB,KAAK,IAAI,KAAK,CACvC,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,SAA2B;QACxD,IAAI,SAAS,CAAC,mBAAmB,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/D,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,4BAA4B,CAClC,GAAW,EACX,SAAiB,EACjB,SAA2B;QAE3B,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,SAA2B;QAChE,IACE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,UAAU;YAClD,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/B,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,iCAAiC,CACvC,SAAiB,EACjB,SAA2B;QAE3B,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO;QAC7D,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,MAAM;iBACb,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;iBACtC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,MAA0B,EAC1B,SAAiB,EACjB,YAAoB;QAEpB,IAAI,CAAC;YACH,KAAK,MAAM;iBACR,cAAc,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;iBACzC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,kBAAgD,CAAC;QACrD,IAAI,iBAA4C,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,kBAAkB,GAAG,OAAO,CAAC;YAC7B,iBAAiB,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO;YACP,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,iBAAiB;SAC1B,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,UAA6B;QAClD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { DaemonChannelBridge } from './DaemonChannelBridge.js';
9
9
  export type { DaemonChannelBridgeOptions, DaemonChannelLoopMcpHost, DaemonChannelEvent, DaemonChannelSessionClient, DaemonChannelSessionFactory, DaemonChannelSessionFactoryRequest, DaemonPromptCompleteEvent, DaemonPermissionRequestEvent, DaemonPermissionResolvedEvent, } from './DaemonChannelBridge.js';
10
10
  export { BlockStreamer } from './BlockStreamer.js';
11
11
  export type { BlockStreamerOptions } from './BlockStreamer.js';
12
- export { ChannelBase } from './ChannelBase.js';
12
+ export { ChannelBase, CLEAR_CANCEL_TIMEOUT_MS } from './ChannelBase.js';
13
13
  export { CHANNEL_PROACTIVE_DELIVERY_ERROR_CODE, ChannelProactiveDeliveryError, isChannelProactiveDeliveryError, } from './ChannelProactiveDeliveryError.js';
14
14
  export type { ChannelProactiveDeliveryDisposition } from './ChannelProactiveDeliveryError.js';
15
15
  export type { ChannelBaseOptions, ChannelMemoryRecallCacheStatus, ChannelMemoryRecallObservation, ChannelMemoryRecallResult, ChannelLoopController, } from './ChannelBase.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { ACP_PRIVATE_PARENT_CAPABILITY_ENV, ACP_PRIVATE_PARENT_CAPABILITY_META_K
5
5
  export { CHANNEL_PROMPT_META_KEY } from './ChannelAgentBridge.js';
6
6
  export { DaemonChannelBridge } from './DaemonChannelBridge.js';
7
7
  export { BlockStreamer } from './BlockStreamer.js';
8
- export { ChannelBase } from './ChannelBase.js';
8
+ export { ChannelBase, CLEAR_CANCEL_TIMEOUT_MS } from './ChannelBase.js';
9
9
  export { CHANNEL_PROACTIVE_DELIVERY_ERROR_CODE, ChannelProactiveDeliveryError, isChannelProactiveDeliveryError, } from './ChannelProactiveDeliveryError.js';
10
10
  export { ChannelLoopScheduler } from './ChannelLoopScheduler.js';
11
11
  export { CHANNEL_LOOP_MCP_SERVER_NAME } from './ChannelLoopTools.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,iCAAiC,EACjC,sCAAsC,EACtC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AAajC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAY/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAKrE,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,iCAAiC,EACjC,sCAAsC,EACtC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AAajC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAY/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAKrE,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,89 @@
1
+ import type { SessionRouter } from './SessionRouter.js';
2
+ export interface NamedSessionOwnerInput {
3
+ senderId: string;
4
+ chatId: string;
5
+ threadId?: string;
6
+ isGroup?: boolean;
7
+ }
8
+ export interface NamedSessionView {
9
+ name: string;
10
+ status: 'open' | 'closed';
11
+ isolation: 'shared';
12
+ active: boolean;
13
+ }
14
+ export interface NamedSessionSelection extends NamedSessionView {
15
+ sessionId: string;
16
+ }
17
+ export interface NamedSessionManagerOptions {
18
+ channelName: string;
19
+ cwd: string;
20
+ filePath: string;
21
+ router: SessionRouter;
22
+ isBusy(sessionId: string): boolean;
23
+ now?: () => number;
24
+ }
25
+ export declare class NamedSessionManager {
26
+ private readonly channelName;
27
+ private readonly cwd;
28
+ private readonly canonicalCwd;
29
+ private readonly filePath;
30
+ private readonly router;
31
+ private readonly isBusy;
32
+ private readonly now;
33
+ private registry;
34
+ private readonly ownerOperations;
35
+ constructor(options: NamedSessionManagerOptions);
36
+ resolve(input: NamedSessionOwnerInput, expectedSessionId?: string, reserve?: (sessionId: string) => () => void): Promise<string | undefined>;
37
+ resolveAfterPreparation(input: NamedSessionOwnerInput, prepare: () => Promise<boolean | void>, needsSession: () => boolean, reserve: (sessionId: string) => () => void): Promise<{
38
+ status: 'aborted' | 'bypassed';
39
+ } | {
40
+ status: 'resolved';
41
+ sessionId?: string;
42
+ } | {
43
+ status: 'resolve_error';
44
+ error: unknown;
45
+ }>;
46
+ list(input: NamedSessionOwnerInput, includeClosed: boolean): Promise<NamedSessionView[]>;
47
+ current(input: NamedSessionOwnerInput): Promise<NamedSessionSelection | undefined>;
48
+ create(input: NamedSessionOwnerInput, name: string): Promise<NamedSessionSelection>;
49
+ use(input: NamedSessionOwnerInput, name: string): Promise<NamedSessionSelection>;
50
+ close(input: NamedSessionOwnerInput, name: string): Promise<{
51
+ closed: NamedSessionView;
52
+ active?: NamedSessionView;
53
+ }>;
54
+ reset(input: NamedSessionOwnerInput): Promise<{
55
+ name: string;
56
+ previousSessionId: string;
57
+ sessionId: string;
58
+ } | undefined>;
59
+ private ensureOwner;
60
+ private resolveLocked;
61
+ private adoptForeignLegacyRoute;
62
+ private assertCanLeaveSelected;
63
+ private loadTask;
64
+ private createSession;
65
+ private withOwnerLock;
66
+ private getOwner;
67
+ private createOwner;
68
+ private target;
69
+ private findTask;
70
+ private replaceTask;
71
+ private view;
72
+ private selection;
73
+ private openTaskCount;
74
+ private nextTimestamp;
75
+ private validateName;
76
+ private normalizeName;
77
+ private sameName;
78
+ private cloneOwner;
79
+ private commitOwner;
80
+ private readRegistry;
81
+ private writeRegistry;
82
+ private isRegistry;
83
+ private isOwner;
84
+ private isTask;
85
+ private isCurrentCwd;
86
+ private isTimestamp;
87
+ private isRecord;
88
+ }
89
+ //# sourceMappingURL=named-session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-session-manager.d.ts","sourceRoot":"","sources":["../src/named-session-manager.ts"],"names":[],"mappings":"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"}