@essentialai/cogent-bridge 3.23.2 → 3.23.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,90 @@
1
+ ## 3.23.4 — 2026-09-06
2
+
3
+ ### Duplicate agent work: two bridge processes in one checkout
4
+
5
+ Two bridges serving one checkout could run `claude --resume` **concurrently**, corrupting the
6
+ worktree and repeating each other's work. Measured on a real user (peer `marvin-coder`): the same
7
+ peerId live on the FREE relay at plugin v3.20.0 and on the TEAM relay at v3.23.1 — same cwd, same
8
+ thread. Reachable because credentials are keyed on the cwd ALONE, so a second join overwrites the
9
+ file while the first process keeps running from its in-memory token and live WebSocket.
10
+
11
+ The 3.23.3 per-message claim cannot cover this: two relays mint two different message ids, so both
12
+ claims succeed.
13
+
14
+ **`wake-lock.ts` — cross-process serialisation, keyed on the CHECKOUT.** Not on the session: two
15
+ processes can hold different session pins, and the corruption belongs to the worktree either way.
16
+ It WAITS rather than drops, so two genuinely distinct questions still both get answered — only the
17
+ concurrency is removed. Re-entrant, because `_injectOnly` runs outside the in-process lock. Fails
18
+ open on every uncertain path.
19
+
20
+ **`wake-ownership.ts` — self-healing.** Users do not run `pkill`. Measured on a dev machine: 37
21
+ live bridges and NOT ONE an orphan — one `codex app-server` daemon had spawned 7 over 3.5 days, and
22
+ a single interactive session had cogent registered twice. They are not orphaned, they are
23
+ REDUNDANT, so "exit on stdin EOF" would have healed nothing. Instead each bridge announces itself
24
+ for `(cwd, peerId)`; the owner is the newest live process by START TIME, and a superseded bridge
25
+ stops waking and tells the sender (`BRIDGE_SUPERSEDED`) rather than going silent. The key includes
26
+ the peerId so two real agents sharing a checkout both keep working; ownership by process start
27
+ means a stood-down bridge can never win the title back and ping-pong.
28
+
29
+ **Forward-looking, and this matters:** a pre-3.23.4 leftover neither announces nor locks, so
30
+ existing ghosts still need one manual clear (`ps -eo pid,etime,args | grep "[c]ogent-bridge"`).
31
+ From this release on, a leftover created by the next update heals itself.
32
+
33
+ ### Gates
34
+ - `scripts/wake-dedup-matrix-test.mjs` — three topologies, fully offline against two local relays.
35
+ - Two safety mechanisms were found MASKING each other: the lock's gate went RED, then STAYED_GREEN
36
+ once supersession landed, because ownership stood the leftover down before the lock was reached.
37
+ Each now has a topology the other cannot short-circuit. Only the FULL mutation catalogue caught
38
+ it; `--only` could not.
39
+
40
+ ## 3.23.3 — 2026-09-05
41
+
42
+ ### Fixed — the same message woke N agent copies, which then did the same work N times
43
+
44
+ Found and measured by an unnamed session working on the `marvin` checkout — including the commit
45
+ titled *"the duplicate-work prediction came true — five identical commits on main"*. `marvin-coder`
46
+ surfaced it to me from the git log and stopped short of committing until it had checked its own work
47
+ was not a duplicate; it did **not** claim the finding, and corrected me when I credited it.
48
+
49
+ **Attribution correction (2026-09-05):** the 3.23.3 release commit and my channel broadcast both said
50
+ "marvin-coder reported" this. That was wrong, and the record is corrected here rather than quietly.
51
+
52
+ Mechanism, read out of the relay source rather than inferred: `ConnectionManager` stores
53
+ `sessionId -> peerId -> PeerConnection[]` — an **array** — and `sendToPeer` iterates it, writing to
54
+ **every** connection. That array is deliberate (a reconnect keeps the old socket briefly), but it
55
+ means N bridge processes registered as the same peer each receive the same message. Each then
56
+ consults its own in-memory queue — empty in each, because the queue is per-process — and each runs
57
+ `claude --resume <the same threadId>` in the same working directory.
58
+
59
+ The existing wake-inflight marker could not prevent it: rail B only *writes* it, as a signal to
60
+ rail C, and never reads it back to decide whether to wake.
61
+
62
+ - **`wake-claim.ts`** — an atomic, cross-process claim per (cwd, peer, message), using
63
+ `writeFileSync(..., { flag: "wx" })`, the same exclusive-create + stale-holder-detection
64
+ primitive `peer-registry` already uses. Homedir-keyed, because the competing processes may be
65
+ launched with different env and an exclusion the other process cannot see is not an exclusion.
66
+ - **Per message, not per cwd.** A cwd-wide lock would prevent more collisions and would also *lose*
67
+ messages: both processes receive every message, so the loser would silently drop one it was the
68
+ only one free to handle.
69
+ - **Fails open.** If a claim cannot be written or read, the wake proceeds. Duplicated work is
70
+ visible and recoverable; a silently dropped message is neither.
71
+ - A claim held by a dead process, an expired claim, or a corrupt claim file is taken over — a lock
72
+ that outlives its holder would mute a peer permanently, which is worse than the duplication.
73
+
74
+ Proven with two `AutoRelayService` instances sharing a peer, cwd and HOME: one wake, one reply. The
75
+ suite also asserts the **setup** — given separate HOMEs the two processes both wake, reproducing the
76
+ defect — so the passing case cannot pass vacuously.
77
+
1
78
  ## 3.23.2 — 2026-09-05
2
79
 
3
80
  ### Fixed — mail was broken for EVERY plugin user (P0)
4
81
 
5
82
  `cogent_send_mail` and `cogent_fetch_mail` failed on every plugin install with
6
- `Cannot find package 'nodemailer'`. Reported by a live agent (MARA) whose report I first could not
7
- reproduce because I tested from the repo, which has `node_modules`, and the plugin does not.
83
+ `Cannot find package 'nodemailer'`. Both halves were reported, by different agents: `marvin-mobile`
84
+ found the **nodemailer** failure, and `marvin-coder` had separately reported the **imapflow** half
85
+ breaking `cogent_fetch_mail` on 3.20.0. I first said I could not reproduce it — because I tested from
86
+ the repo, which has `node_modules`, and the plugin does not. (Earlier text credited this solely to
87
+ MARA; corrected 2026-09-05.)
8
88
 
9
89
  `mail-sender.ts` loaded nodemailer through a **variable** specifier
10
90
  (`const specifier = "nodemailer"; await import(specifier)`) deliberately, to keep it off the
@@ -79,6 +79,8 @@ export declare class AutoRelayService {
79
79
  */
80
80
  private localLabel;
81
81
  private processing;
82
+ /** Senders already told this bridge is superseded — one notice each, not one per message. */
83
+ private supersededNotified;
82
84
  private queue;
83
85
  private awarenessOnly;
84
86
  private expectingResponseFrom;
@@ -224,6 +226,18 @@ export declare class AutoRelayService {
224
226
  * - Serialized processing with queue to prevent concurrent execRemote calls
225
227
  */
226
228
  handleIncoming(msg: MessageRecord): Promise<void>;
229
+ /**
230
+ * Tell the sender we are a LEFTOVER bridge and are not answering — instead of going silent.
231
+ *
232
+ * Silence is the failure mode this codebase treats as worst: it is indistinguishable from
233
+ * "nothing to do". A superseded bridge is usually reachable on a channel the newer bridge is NOT
234
+ * on (the measured case had the ghost on the FREE relay and the live one on TEAM), so without
235
+ * this the sender would wait forever with no explanation.
236
+ *
237
+ * Once per sender per process — a leftover that is being messaged steadily must not turn into a
238
+ * notice generator.
239
+ */
240
+ private _reportSuperseded;
227
241
  /**
228
242
  * Dispatch a message under the `processing` lock: an awareness-marked broadcast is
229
243
  * inject-only (see, no reply); everything else is a full wake+reply. Routing both
@@ -1 +1 @@
1
- {"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ import { getConfig } from "../config.js";
6
6
  import { getBackend } from "../backend/index.js";
7
7
  import { setSandboxOverride, effectiveSandbox } from "./codex-cli.js";
8
8
  import { markWakeInFlight, clearWakeInFlight } from "./wake-inflight.js";
9
+ import { claimWake, releaseWake } from "./wake-claim.js";
10
+ import { acquireWakeLock } from "./wake-lock.js";
11
+ import { announceBridge, checkWakeOwnership, withdrawBridge } from "./wake-ownership.js";
12
+ import { CLIENT_VERSION } from "../constants.js";
9
13
  import { logger } from "../logger.js";
10
14
  import { consumeNudgeOnce } from "../backend/npm-update-check.js";
11
15
  /**
@@ -294,6 +298,8 @@ export class AutoRelayService {
294
298
  */
295
299
  localLabel = null;
296
300
  processing = false;
301
+ /** Senders already told this bridge is superseded — one notice each, not one per message. */
302
+ supersededNotified = new Set();
297
303
  queue = [];
298
304
  // Message ids to be handled inject-only (full-group-chat awareness) rather than
299
305
  // full-wake+reply. Shares the `processing` lock + `queue` so an awareness inject
@@ -338,6 +344,12 @@ export class AutoRelayService {
338
344
  this.localMode = mode ?? "agent";
339
345
  this.localLabel = label ?? peerId;
340
346
  logger.info(`Auto-relay configured for peer ${peerId} (session: ${sessionId}, pinned: ${this.pinnedSessionId}, mode: ${this.localMode}, label: ${this.localLabel})`);
347
+ // SELF-HEALING (2026-09-05). Announce this process as a bridge serving this identity, so a
348
+ // LEFTOVER bridge for the same (cwd, peerId) — one a plugin update did not stop — can see it
349
+ // has been superseded and stand down on its own. Nobody has to run pkill. See
350
+ // services/wake-ownership.ts for why the key is (cwd, peerId) and not cwd alone.
351
+ announceBridge(cwd, peerId, CLIENT_VERSION, getConfig().COGENT_ENDPOINT ?? "local");
352
+ this.supersededNotified.clear();
341
353
  }
342
354
  /**
343
355
  * Emit one content-free wake-trace line (ids/decisions/timings only — NEVER
@@ -772,7 +784,31 @@ export class AutoRelayService {
772
784
  // constantly. Awareness-only injects are excluded: they are never answered, and rail C's
773
785
  // scope (directed + human-broadcast) does not cover agent broadcasts anyway.
774
786
  // Retracted in _dispatch's finally. See services/wake-inflight.ts.
787
+ // 🔴 CROSS-PROCESS DEDUP (marvin-coder, 2026-09-05). The relay keeps an ARRAY of connections
788
+ // per peer and `sendToPeer` writes to every one, so N bridge processes registered as this peer
789
+ // each receive THIS SAME message. The queue below serializes within ONE process only, so
790
+ // without this every one of them resumes the same session and repeats the same work — four
791
+ // identically-titled commits on a real user's main branch.
792
+ //
793
+ // Claimed BEFORE the queue, because losing the claim means another process owns the whole
794
+ // message and we must not hold it, notify about it, or answer it. Released in _dispatch's
795
+ // finally. Fails OPEN: an unclaimable message is still woken (see wake-claim.ts).
796
+ // 🔴 SELF-HEALING: STAND DOWN IF SUPERSEDED — and do it BEFORE claiming.
797
+ // Order matters absolutely here. If a leftover bridge claimed the message first and only then
798
+ // discovered it was superseded, the real owner would find the claim taken and skip the
799
+ // message: duplicate work would become TOTAL SILENCE, which is far worse. So ownership is
800
+ // decided before anything is held. Fails open (see wake-ownership.ts).
801
+ if (this.localPeerId && this.localCwd) {
802
+ const own = checkWakeOwnership(this.localCwd, this.localPeerId);
803
+ if (!own.isOwner) {
804
+ await this._reportSuperseded(msg, own.owner);
805
+ return;
806
+ }
807
+ }
775
808
  if (this.localPeerId && !this.awarenessOnly.has(msg.id)) {
809
+ if (!claimWake(this.localPeerId, msg.id, this.localCwd ?? process.cwd())) {
810
+ return; // another live process in this cwd owns this message
811
+ }
776
812
  markWakeInFlight(this.localPeerId, msg.id, msg.traceId);
777
813
  }
778
814
  // Serialize processing: queue if already busy
@@ -808,6 +844,44 @@ export class AutoRelayService {
808
844
  }
809
845
  }
810
846
  }
847
+ /**
848
+ * Tell the sender we are a LEFTOVER bridge and are not answering — instead of going silent.
849
+ *
850
+ * Silence is the failure mode this codebase treats as worst: it is indistinguishable from
851
+ * "nothing to do". A superseded bridge is usually reachable on a channel the newer bridge is NOT
852
+ * on (the measured case had the ghost on the FREE relay and the live one on TEAM), so without
853
+ * this the sender would wait forever with no explanation.
854
+ *
855
+ * Once per sender per process — a leftover that is being messaged steadily must not turn into a
856
+ * notice generator.
857
+ */
858
+ async _reportSuperseded(msg, owner) {
859
+ const who = owner ? `pid ${owner.pid} (v${owner.version}, ${owner.endpoint})` : "a newer bridge";
860
+ logger.warn(`Auto-relay: NOT waking for ${msg.fromPeerId} — this bridge (pid ${process.pid}, ` +
861
+ `v${CLIENT_VERSION}) has been superseded for peer "${this.localPeerId}" in this checkout by ` +
862
+ `${who}. It is a leftover process; the newer bridge is answering. Standing down.`);
863
+ if (this.supersededNotified.has(msg.fromPeerId))
864
+ return;
865
+ this.supersededNotified.add(msg.fromPeerId);
866
+ try {
867
+ await getBackend().recordMessage({
868
+ fromPeerId: this.localPeerId,
869
+ toPeerId: msg.fromPeerId,
870
+ message: `⚠️ "${this.localPeerId}" is not answering on this channel: this bridge process is a ` +
871
+ `leftover (v${CLIENT_VERSION}) that a newer one has replaced in the same checkout. ` +
872
+ `Send to the agent on its current channel instead.`,
873
+ response: null,
874
+ durationMs: 0,
875
+ success: false,
876
+ error: "BRIDGE_SUPERSEDED",
877
+ isRelayEcho: true,
878
+ traceId: msg.traceId,
879
+ });
880
+ }
881
+ catch (err) {
882
+ logger.error(`Auto-relay: failed to record superseded notice: ${err}`);
883
+ }
884
+ }
811
885
  /**
812
886
  * Dispatch a message under the `processing` lock: an awareness-marked broadcast is
813
887
  * inject-only (see, no reply); everything else is a full wake+reply. Routing both
@@ -823,12 +897,17 @@ export class AutoRelayService {
823
897
  // whatever happened — because a leaked marker is the one failure mode that would mute
824
898
  // rail C for this peer until the writer-stamped expiry.
825
899
  const inflightPeer = this.localPeerId;
900
+ const claimCwd = this.localCwd ?? process.cwd();
826
901
  try {
827
902
  await this._processMessage(msg);
828
903
  }
829
904
  finally {
830
- if (inflightPeer)
905
+ if (inflightPeer) {
831
906
  clearWakeInFlight(inflightPeer, msg.id);
907
+ // Release the cross-process claim too, or a crash-free but slow peer would keep other
908
+ // processes out until the writer-stamped expiry.
909
+ releaseWake(inflightPeer, msg.id, claimCwd);
910
+ }
832
911
  }
833
912
  }
834
913
  /**
@@ -950,6 +1029,9 @@ export class AutoRelayService {
950
1029
  let wakeExitCode = null;
951
1030
  let refused = false;
952
1031
  let threw = false;
1032
+ // Held only across the resume itself; released in the finally below so a thrown wake can
1033
+ // never leave the next turn (or another process) blocked behind a dead lease.
1034
+ let wakeLease = null;
953
1035
  try {
954
1036
  // Confidence-aware resolve (prefer-exact / refuse-if-close) instead of a
955
1037
  // silent newest-mtime guess.
@@ -996,11 +1078,21 @@ export class AutoRelayService {
996
1078
  decision: res.decision,
997
1079
  confidence: res.confidence,
998
1080
  });
1081
+ // 🔴 CROSS-PROCESS SERIALISATION PER CHECKOUT (marvin-coder, 2026-09-05).
1082
+ // The per-message claim above cannot cover this: a second bridge reached through a
1083
+ // DIFFERENT relay carries a different message id, so both claims succeed and both
1084
+ // processes run a resume over the same worktree at once. Keyed on the CWD, not the
1085
+ // session — two processes can hold different session pins for one checkout, and the
1086
+ // corruption is a property of the worktree either way. Waits rather than drops; fails
1087
+ // open. See services/wake-lock.ts and wake-dedup-matrix-test.mjs --topology two-relay.
1088
+ wakeLease = await acquireWakeLock(this.localCwd, this.localSessionId);
999
1089
  // Calls the local agent CLI via execRemote (platform-polymorphic dispatch).
1000
1090
  // Routes to `claude --resume` on CC or `codex exec resume` on Codex.
1001
1091
  // This is NOT the HttpBackend stub (which is a no-op).
1002
1092
  // Snapshot BEFORE the wake so the log can name what changed while it ran.
1003
1093
  // Read-only, failure-tolerant (null when not a git repo) — never blocks the wake.
1094
+ // Snapshotted AFTER the lease, so it describes the tree we are about to act on rather
1095
+ // than one another process was still mutating.
1004
1096
  treeBefore = captureTreeState(this.localCwd);
1005
1097
  const result = await execRemote(getConfig().COGENT_PLATFORM, this.localSessionId, formatted, this.localCwd, undefined,
1006
1098
  // Idempotency: the codex app-server rail runs turns on the daemon
@@ -1108,6 +1200,9 @@ export class AutoRelayService {
1108
1200
  }
1109
1201
  }
1110
1202
  finally {
1203
+ // Release BEFORE recording: _recordWake does file I/O and a git snapshot, and holding a
1204
+ // cross-process lease across bookkeeping would stall the other bridge for no reason.
1205
+ wakeLease?.release();
1111
1206
  // ALWAYS, on every path including the early `return` of a refused wake. The one
1112
1207
  // outcome a forensic log must never have is a gap where something clearly happened.
1113
1208
  this._recordWake(msg, traceId, {
@@ -1216,6 +1311,10 @@ export class AutoRelayService {
1216
1311
  // Fall back to peerId as label
1217
1312
  }
1218
1313
  const formatted = formatInjectOnlyMessage(fromLabel, msg.fromPeerId, msg.message, msg.attachments);
1314
+ // An inject runs a real resume too, so it must serialise with every other turn in this
1315
+ // checkout — including one started by a different bridge process. The per-message claim
1316
+ // does NOT cover this path (it is skipped for awareness-only injects).
1317
+ const lease = await acquireWakeLock(this.localCwd, this.localSessionId);
1219
1318
  try {
1220
1319
  // Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
1221
1320
  await this.refreshSessionId();
@@ -1230,6 +1329,9 @@ export class AutoRelayService {
1230
1329
  catch (err) {
1231
1330
  logger.error(`Auto-relay: inject-only execRemote threw: ${err}`);
1232
1331
  }
1332
+ finally {
1333
+ lease.release();
1334
+ }
1233
1335
  }
1234
1336
  /**
1235
1337
  * Full-group-chat awareness (COGENT_BROADCAST_AWARENESS): inject a PEER's broadcast
@@ -1252,6 +1354,8 @@ export class AutoRelayService {
1252
1354
  // Fall back to peerId as label
1253
1355
  }
1254
1356
  const formatted = formatPeerBroadcastNotice(fromLabel, msg.fromPeerId, msg.message, msg.attachments);
1357
+ // Same reasoning as _injectOnly: an awareness inject is a real resume over this checkout.
1358
+ const lease = await acquireWakeLock(this.localCwd, this.localSessionId);
1255
1359
  try {
1256
1360
  // Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
1257
1361
  await this.refreshSessionId();
@@ -1266,6 +1370,9 @@ export class AutoRelayService {
1266
1370
  catch (err) {
1267
1371
  logger.error(`Auto-relay: peer-broadcast awareness inject execRemote threw: ${err}`);
1268
1372
  }
1373
+ finally {
1374
+ lease.release();
1375
+ }
1269
1376
  }
1270
1377
  /**
1271
1378
  * Get diagnostic info about the auto-relay state.
@@ -1307,8 +1414,13 @@ export class AutoRelayService {
1307
1414
  }
1308
1415
  this.deliveryAckWaiters.clear();
1309
1416
  this.recentAcks.clear();
1417
+ // Withdraw this bridge's ownership announcement BEFORE clearing the identity it is keyed on,
1418
+ // so a graceful shutdown does not leave a record another process has to prune by pid liveness.
1419
+ if (this.localCwd && this.localPeerId)
1420
+ withdrawBridge(this.localCwd, this.localPeerId);
1310
1421
  this.queue = [];
1311
1422
  this.awarenessOnly.clear();
1423
+ this.supersededNotified.clear();
1312
1424
  this.localPeerId = null;
1313
1425
  this.localSessionId = null;
1314
1426
  this.localCwd = null;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** Hard ceiling on how long one lease may exclude others. Mirrors wake-claim's CLAIM_MAX_MS. */
2
+ export declare const SESSION_WAKE_MAX_MS = 1800000;
3
+ /** `~/.cogent/wake-sessions/<sha256(cwd)[..16]>.<sessionId>.json` */
4
+ export declare function sessionWakeLockPath(sessionId: string, cwd?: string): string;
5
+ export interface SessionWakeLease {
6
+ /** True whenever the caller may wake — including every fail-open path. */
7
+ acquired: boolean;
8
+ /** Milliseconds spent waiting for another process. 0 when uncontended. */
9
+ waitedMs: number;
10
+ /** True when another live process held the lease and we had to wait for it. */
11
+ contended: boolean;
12
+ /** Idempotent. Safe to call even when the lease was never really taken. */
13
+ release: () => void;
14
+ }
15
+ /**
16
+ * Become the single process resuming `sessionId` in `cwd`, waiting out any other holder.
17
+ *
18
+ * Never returns `acquired: false` today — every path either takes the lease or fails open — but the
19
+ * field is explicit so a caller reads the intent rather than assuming it.
20
+ */
21
+ export declare function acquireSessionWake(sessionId: string, cwd?: string, opts?: {
22
+ maxWaitMs?: number;
23
+ }): Promise<SessionWakeLease>;
24
+ /** Release the lease. Best-effort; an orphan expires or is stolen when its holder dies. */
25
+ export declare function releaseSessionWake(sessionId: string, cwd?: string): void;
26
+ //# sourceMappingURL=session-wake-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-wake-lock.d.ts","sourceRoot":"","sources":["../../src/services/session-wake-lock.ts"],"names":[],"mappings":"AAwCA,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAqB7C,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAE1F;AAsDD,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAsB,EAC3B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,gBAAgB,CAAC,CA8E3B;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAMvF"}