instar 1.3.718 → 1.3.720
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +213 -31
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CoherenceJournal.d.ts.map +1 -1
- package/dist/core/CoherenceJournal.js +9 -1
- package/dist/core/CoherenceJournal.js.map +1 -1
- package/dist/core/CoherenceJournalReader.d.ts +56 -0
- package/dist/core/CoherenceJournalReader.d.ts.map +1 -1
- package/dist/core/CoherenceJournalReader.js +148 -0
- package/dist/core/CoherenceJournalReader.js.map +1 -1
- package/dist/core/LeaseAcquisitionTrigger.d.ts +35 -0
- package/dist/core/LeaseAcquisitionTrigger.d.ts.map +1 -0
- package/dist/core/LeaseAcquisitionTrigger.js +53 -0
- package/dist/core/LeaseAcquisitionTrigger.js.map +1 -0
- package/dist/core/OwnershipReconciler.d.ts +106 -2
- package/dist/core/OwnershipReconciler.d.ts.map +1 -1
- package/dist/core/OwnershipReconciler.js +265 -12
- package/dist/core/OwnershipReconciler.js.map +1 -1
- package/dist/core/PlacementExecutor.d.ts +14 -1
- package/dist/core/PlacementExecutor.d.ts.map +1 -1
- package/dist/core/PlacementExecutor.js +17 -2
- package/dist/core/PlacementExecutor.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +5 -3
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +33 -7
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SustainedOnlineTracker.d.ts +47 -0
- package/dist/core/SustainedOnlineTracker.d.ts.map +1 -0
- package/dist/core/SustainedOnlineTracker.js +67 -0
- package/dist/core/SustainedOnlineTracker.js.map +1 -0
- package/dist/core/TopicPinFoldView.d.ts +138 -0
- package/dist/core/TopicPinFoldView.d.ts.map +1 -0
- package/dist/core/TopicPinFoldView.js +235 -0
- package/dist/core/TopicPinFoldView.js.map +1 -0
- package/dist/core/TopicPinMutation.d.ts +46 -0
- package/dist/core/TopicPinMutation.d.ts.map +1 -0
- package/dist/core/TopicPinMutation.js +66 -0
- package/dist/core/TopicPinMutation.js.map +1 -0
- package/dist/core/TopicPinReplicatedStore.d.ts +3 -0
- package/dist/core/TopicPinReplicatedStore.d.ts.map +1 -1
- package/dist/core/TopicPinReplicatedStore.js +5 -0
- package/dist/core/TopicPinReplicatedStore.js.map +1 -1
- package/dist/core/TopicPinSkewQuarantine.d.ts +44 -0
- package/dist/core/TopicPinSkewQuarantine.d.ts.map +1 -0
- package/dist/core/TopicPinSkewQuarantine.js +136 -0
- package/dist/core/TopicPinSkewQuarantine.js.map +1 -0
- package/dist/core/TopicPlacementPinStore.d.ts +29 -2
- package/dist/core/TopicPlacementPinStore.d.ts.map +1 -1
- package/dist/core/TopicPlacementPinStore.js +23 -5
- package/dist/core/TopicPlacementPinStore.js.map +1 -1
- package/dist/core/types.d.ts +29 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +46 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.d.ts.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.js +1 -0
- package/dist/providers/uxConfirm/TaskClassifier.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +1 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +4 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +2 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +6 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +160 -15
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/data/state-coherence-registry.json +18 -0
- package/src/scaffold/templates.ts +1 -0
- package/upgrades/1.3.719.md +37 -0
- package/upgrades/1.3.720.md +125 -0
- package/upgrades/eli16/f2-classifier-authority-clause.eli16.md +40 -0
- package/upgrades/side-effects/f2-classifier-authority-clause.md +54 -0
- package/upgrades/side-effects/u4-1-pin-persistence.md +49 -0
|
@@ -50,6 +50,13 @@ const DEFAULT_DEATH_EVIDENCE_MS = 180_000;
|
|
|
50
50
|
/** Fix #3 / Finding N4: how long a `transferring` may sit before the owner aborts a
|
|
51
51
|
* transfer toward an unreachable target (the convergence deadline). */
|
|
52
52
|
const DEFAULT_TRANSFER_DEADLINE_MS = 120_000;
|
|
53
|
+
/** U4.1 §2.G ws13MaxMovesPerTick default: bounded move-initiations per tick. */
|
|
54
|
+
const DEFAULT_MAX_MOVES_PER_TICK = 2;
|
|
55
|
+
/** U4.1 §2.G ws13DivergedWindowMs default: 10min (20 ticks) of persistent
|
|
56
|
+
* desired≠actual before `diverged` + its attention item. */
|
|
57
|
+
const DEFAULT_DIVERGED_WINDOW_MS = 600_000;
|
|
58
|
+
/** U4.1 §2.G ws13PendingPinMaxAgeMs default: 24h before the fulfil-or-unpin item. */
|
|
59
|
+
const DEFAULT_PENDING_PIN_MAX_AGE_MS = 86_400_000;
|
|
53
60
|
export class OwnershipReconciler {
|
|
54
61
|
d;
|
|
55
62
|
/** First time we observed each topic's CURRENT conflict (cleared on convergence). */
|
|
@@ -92,22 +99,31 @@ export class OwnershipReconciler {
|
|
|
92
99
|
* the owner cooperatively transfers toward; the force-claim path never reads it.
|
|
93
100
|
*/
|
|
94
101
|
effectivePins() {
|
|
102
|
+
// U4.2 §2.4: the claim-suspension read applies to LOCAL pins too — a
|
|
103
|
+
// suspension must hold even when no advisory pins exist, or the local
|
|
104
|
+
// reconciler would fight a stale-owner claim.
|
|
105
|
+
return this.applyClaimSuspensions(this.effectivePinsRaw());
|
|
106
|
+
}
|
|
107
|
+
/** The union WITHOUT the suspension filter — pinStateOf() needs to SEE a
|
|
108
|
+
* suspended pin (to report `suspended-pending-owner-return`) that tick()
|
|
109
|
+
* must never ACT on (U4.1 §2D / U4.2 §2.4 composition).
|
|
110
|
+
* `includeOfflineAdvisory` (READ surfaces only): the known-and-online
|
|
111
|
+
* advisory filter protects ACTUATION; the placement READ still wants to
|
|
112
|
+
* report an offline-target advisory pin honestly as `pending`. */
|
|
113
|
+
effectivePinsRaw(includeOfflineAdvisory = false) {
|
|
95
114
|
const ps = this.d.pinStore();
|
|
96
115
|
const local = ps ? ps.all() : {}; // null until _topicPinStore resolves at boot → no pins (natural no-op)
|
|
97
116
|
const advisory = this.d.advisoryPins?.();
|
|
98
|
-
// U4.2 §2.4: the claim-suspension read applies to LOCAL pins too — a
|
|
99
|
-
// suspension must hold even when no advisory pins exist (the early-return
|
|
100
|
-
// path), or the local reconciler would fight a stale-owner claim.
|
|
101
117
|
if (!advisory || advisory.size === 0)
|
|
102
|
-
return
|
|
118
|
+
return local;
|
|
103
119
|
// Validate PRIMARY = membership/liveness (skew-proof): only act on a replicated pin
|
|
104
120
|
// whose target is a KNOWN and currently-ONLINE machine (Findings N2/SE4/AD5). A stale
|
|
105
121
|
// advisory pointing at a departed/offline machine must NOT trigger a transfer.
|
|
106
122
|
const online = new Set(this.d.machines().filter((m) => m.online).map((m) => m.machineId));
|
|
107
123
|
const out = { ...local };
|
|
108
124
|
for (const [topic, adv] of advisory) {
|
|
109
|
-
if (!online.has(adv.preferredMachine))
|
|
110
|
-
continue; // unknown/offline target → ignore advisory
|
|
125
|
+
if (!includeOfflineAdvisory && !online.has(adv.preferredMachine))
|
|
126
|
+
continue; // unknown/offline target → ignore advisory (actuation)
|
|
111
127
|
const key = String(topic);
|
|
112
128
|
const localPin = local[key];
|
|
113
129
|
const advPin = { preferredMachine: adv.preferredMachine, pinned: true, updatedAt: new Date(adv.hlc.physical).toISOString(), hlc: adv.hlc };
|
|
@@ -118,7 +134,7 @@ export class OwnershipReconciler {
|
|
|
118
134
|
out[key] = advPin; // replicated intent is newer (HLC) → it wins (N3)
|
|
119
135
|
}
|
|
120
136
|
}
|
|
121
|
-
return
|
|
137
|
+
return out;
|
|
122
138
|
}
|
|
123
139
|
/**
|
|
124
140
|
* U4.2 §2.4 — a stale-owner claim SUSPENDS the topic's pin (derived at read
|
|
@@ -151,6 +167,7 @@ export class OwnershipReconciler {
|
|
|
151
167
|
const report = {
|
|
152
168
|
examined: 0, transfers: 0, claims: 0, forceClaims: 0, adoptions: 0, aborts: 0,
|
|
153
169
|
deferredBusy: 0, deferredDebounce: 0, deferredNoEvidence: 0, deferredTargetOffline: 0,
|
|
170
|
+
deferredAutonomousRun: 0, deferredPaced: 0,
|
|
154
171
|
dryRun: this.d.dryRun(),
|
|
155
172
|
};
|
|
156
173
|
// U4.2 — the stale-owner-release engine rides THIS tick (one actor: the
|
|
@@ -191,16 +208,39 @@ export class OwnershipReconciler {
|
|
|
191
208
|
}
|
|
192
209
|
const byId = new Map(machines.map((m) => [m.machineId, m]));
|
|
193
210
|
const staleOwnerActive = !!(this.d.staleOwnerEngine?.()?.isActive());
|
|
211
|
+
// U4.1 §2D pacing: bounded MOVE-INITIATING actions per tick (transfers +
|
|
212
|
+
// adoptions + force-claims); a lease flap can never trigger a transfer storm.
|
|
213
|
+
const maxMoves = Math.max(1, this.d.maxMovesPerTick ?? DEFAULT_MAX_MOVES_PER_TICK);
|
|
214
|
+
const movesInitiated = () => report.transfers + report.adoptions + report.forceClaims;
|
|
215
|
+
// U4.1 §2E (R-r2-2): sustained-online gate for pin-driven actuation toward a
|
|
216
|
+
// machine. Absent dep ⇒ plain online (today's behavior).
|
|
217
|
+
const targetActuationOk = (view, machineId) => {
|
|
218
|
+
if (!view || !view.online)
|
|
219
|
+
return false;
|
|
220
|
+
const gate = this.d.sustainedOnline;
|
|
221
|
+
if (!gate)
|
|
222
|
+
return true;
|
|
223
|
+
try {
|
|
224
|
+
return gate(machineId);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
return true; /* @silent-fallback-ok — a broken hysteresis signal degrades to plain-online (today's behavior), never wedges convergence */
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
const pinnedSeenThisTick = new Set();
|
|
194
231
|
for (const [sessionKey, pin] of Object.entries(this.effectivePins())) {
|
|
195
232
|
if (!pin.pinned || !pin.preferredMachine)
|
|
196
233
|
continue;
|
|
234
|
+
pinnedSeenThisTick.add(sessionKey);
|
|
197
235
|
const rec = this.d.ownership.read(sessionKey);
|
|
198
236
|
const owner = rec && rec.status !== 'released' ? rec.ownerMachineId : null;
|
|
199
237
|
if (owner === pin.preferredMachine && rec?.status === 'active') {
|
|
200
238
|
this.conflictSince.delete(sessionKey);
|
|
239
|
+
this.closePinEpisodes(sessionKey);
|
|
201
240
|
continue; // converged
|
|
202
241
|
}
|
|
203
242
|
report.examined++;
|
|
243
|
+
this.escalatePinDivergence(sessionKey, pin, now);
|
|
204
244
|
if (!this.conflictSince.has(sessionKey))
|
|
205
245
|
this.conflictSince.set(sessionKey, now);
|
|
206
246
|
const since = this.conflictSince.get(sessionKey);
|
|
@@ -237,6 +277,16 @@ export class OwnershipReconciler {
|
|
|
237
277
|
}
|
|
238
278
|
// ── Case D: no live record and the pin names ME → adopt (place→claim).
|
|
239
279
|
if ((!rec || rec.status === 'released') && pin.preferredMachine === self) {
|
|
280
|
+
// U4.1 §2E (i): fulfilment on return requires SUSTAINED online — a
|
|
281
|
+
// flapping machine must not grab its pinned topics on each blink.
|
|
282
|
+
if (!targetActuationOk(byId.get(self), self)) {
|
|
283
|
+
report.deferredTargetOffline++;
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
if (movesInitiated() >= maxMoves) {
|
|
287
|
+
report.deferredPaced++;
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
240
290
|
const placed = this.act(report, 'adoptions', sessionKey, { type: 'place', machineId: self }, 'reconcile-adopt');
|
|
241
291
|
if (placed)
|
|
242
292
|
this.act(report, 'adoptions', sessionKey, { type: 'claim', machineId: self }, 'reconcile-adopt', /*countOnce*/ true);
|
|
@@ -253,15 +303,34 @@ export class OwnershipReconciler {
|
|
|
253
303
|
report.deferredDebounce++;
|
|
254
304
|
continue;
|
|
255
305
|
}
|
|
256
|
-
// U4.2 named code fix: LOCAL pins in the
|
|
257
|
-
// online
|
|
258
|
-
//
|
|
259
|
-
//
|
|
306
|
+
// U4.2 named code fix, upgraded by U4.1 R-r2-2: LOCAL pins in the
|
|
307
|
+
// cooperative path gain the SUSTAINED-online gate the advisory pins'
|
|
308
|
+
// online filter foreshadowed — never start a transfer toward an
|
|
309
|
+
// unknown/offline/just-flapped-on machine (the N4 abort would only
|
|
310
|
+
// have to unwind it ~every 2.5min, forever, silently). The pin stays
|
|
311
|
+
// QUEUED (`pinState: pending`), never re-routed.
|
|
260
312
|
const targetView = byId.get(pin.preferredMachine);
|
|
261
|
-
if (!targetView
|
|
313
|
+
if (!targetActuationOk(targetView, pin.preferredMachine)) {
|
|
262
314
|
report.deferredTargetOffline++;
|
|
263
315
|
continue;
|
|
264
316
|
}
|
|
317
|
+
// U4.1 §2E (iii): a LIVE autonomous run defers a pin-driven move
|
|
318
|
+
// INDEFINITELY as pending — the safe-point deadline override does NOT
|
|
319
|
+
// apply, and the consent gate is never auto-confirmed. The aged-pending
|
|
320
|
+
// attention item (brake ii) is the bounded escape, not a forced move.
|
|
321
|
+
if (this.d.hasLiveAutonomousRun) {
|
|
322
|
+
let live = false;
|
|
323
|
+
try {
|
|
324
|
+
live = this.d.hasLiveAutonomousRun(sessionKey);
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
live = false; /* @silent-fallback-ok — an unreadable run registry reads as no live run; the busy/safe-point gates below still apply */
|
|
328
|
+
}
|
|
329
|
+
if (live) {
|
|
330
|
+
report.deferredAutonomousRun++;
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
265
334
|
// Bounded safe point: wait for idle, but never past the deadline.
|
|
266
335
|
const busy = this.d.isTopicBusy(sessionKey);
|
|
267
336
|
const pastDeadline = now - since >= (this.d.safePointDeadlineMs ?? DEFAULT_SAFE_POINT_DEADLINE_MS);
|
|
@@ -269,6 +338,10 @@ export class OwnershipReconciler {
|
|
|
269
338
|
report.deferredBusy++;
|
|
270
339
|
continue;
|
|
271
340
|
}
|
|
341
|
+
if (movesInitiated() >= maxMoves) {
|
|
342
|
+
report.deferredPaced++;
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
272
345
|
this.act(report, 'transfers', sessionKey, { type: 'transfer', to: pin.preferredMachine }, 'reconcile-transfer');
|
|
273
346
|
continue;
|
|
274
347
|
}
|
|
@@ -297,6 +370,10 @@ export class OwnershipReconciler {
|
|
|
297
370
|
const online = machines.filter((m) => m.online).length;
|
|
298
371
|
const inQuorum = machines.length <= 2 || online * 2 > machines.length;
|
|
299
372
|
if ((ownerProvablyDead || ownerUnknown) && inQuorum) {
|
|
373
|
+
if (movesInitiated() >= maxMoves) {
|
|
374
|
+
report.deferredPaced++;
|
|
375
|
+
continue;
|
|
376
|
+
}
|
|
300
377
|
this.act(report, 'forceClaims', sessionKey, { type: 'force-claim', machineId: self }, 'reconcile-force-claim');
|
|
301
378
|
}
|
|
302
379
|
else {
|
|
@@ -308,11 +385,84 @@ export class OwnershipReconciler {
|
|
|
308
385
|
}
|
|
309
386
|
// Neither owner nor pin target: not my move this tick.
|
|
310
387
|
}
|
|
388
|
+
// U4.1 §2D/§2E episode boundaries: a pin that vanished (cleared/tombstoned)
|
|
389
|
+
// closes its open attention episodes — a re-pin later opens a NEW episode.
|
|
390
|
+
for (const key of [...this.divergedEpisodes]) {
|
|
391
|
+
if (!pinnedSeenThisTick.has(key))
|
|
392
|
+
this.divergedEpisodes.delete(key);
|
|
393
|
+
}
|
|
394
|
+
for (const key of [...this.agedPendingEpisodes]) {
|
|
395
|
+
if (!pinnedSeenThisTick.has(key))
|
|
396
|
+
this.agedPendingEpisodes.delete(key);
|
|
397
|
+
}
|
|
398
|
+
// The conflict clock resets with the episode too: a topic whose pin was
|
|
399
|
+
// cleared must not carry the OLD episode's divergence age into a later
|
|
400
|
+
// re-pin (it would classify `diverged` instantly instead of earning a
|
|
401
|
+
// fresh ws13DivergedWindowMs). conflictSince is only ever populated for
|
|
402
|
+
// pinned topics inside this loop, so pruning unseen keys is sound.
|
|
403
|
+
for (const key of [...this.conflictSince.keys()]) {
|
|
404
|
+
if (!pinnedSeenThisTick.has(key))
|
|
405
|
+
this.conflictSince.delete(key);
|
|
406
|
+
}
|
|
311
407
|
// U4.2 — the stale-owner evidence pass (claims for provably-dead owners,
|
|
312
408
|
// pinned AND unpinned; ambiguity escalation on any quorum member).
|
|
313
409
|
runStaleOwnerPass();
|
|
314
410
|
return this.finish(report);
|
|
315
411
|
}
|
|
412
|
+
// ── U4.1 §2D/§2E — P17 escalation (one deduped item per EPISODE, never per tick) ──
|
|
413
|
+
/** Open attention episodes (a flap WITHIN an open episode never re-raises). */
|
|
414
|
+
divergedEpisodes = new Set();
|
|
415
|
+
agedPendingEpisodes = new Set();
|
|
416
|
+
/** Convergence (or pin removal) closes both episodes for the topic. */
|
|
417
|
+
closePinEpisodes(sessionKey) {
|
|
418
|
+
this.divergedEpisodes.delete(sessionKey);
|
|
419
|
+
this.agedPendingEpisodes.delete(sessionKey);
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Raise the two U4.1 attention items for a topic currently in desired≠actual
|
|
423
|
+
* conflict: `u41:pin-diverged:<topicId>` when the conflict has persisted past
|
|
424
|
+
* ws13DivergedWindowMs (declarative intent with no controller escalation is a
|
|
425
|
+
* wish), and `u41:pin-pending-aged:<topicId>` when the pin itself has sat
|
|
426
|
+
* unfulfilled past ws13PendingPinMaxAgeMs (fulfil-or-unpin — covers the
|
|
427
|
+
* decommissioned/rebuilt-machineId case AND the owner-side offline-target
|
|
428
|
+
* pending, R-r2-2). Both are once-per-episode; the attention store dedupes by
|
|
429
|
+
* id as the backstop.
|
|
430
|
+
*/
|
|
431
|
+
escalatePinDivergence(sessionKey, pin, now) {
|
|
432
|
+
const raise = this.d.raiseAttention;
|
|
433
|
+
if (!raise)
|
|
434
|
+
return;
|
|
435
|
+
const since = this.conflictSince.get(sessionKey) ?? now;
|
|
436
|
+
const divergedWindow = this.d.divergedWindowMs ?? DEFAULT_DIVERGED_WINDOW_MS;
|
|
437
|
+
if (now - since >= divergedWindow && !this.divergedEpisodes.has(sessionKey)) {
|
|
438
|
+
this.divergedEpisodes.add(sessionKey);
|
|
439
|
+
try {
|
|
440
|
+
raise({
|
|
441
|
+
id: `u41:pin-diverged:${sessionKey}`,
|
|
442
|
+
title: `Topic ${sessionKey} placement diverged from its pin`,
|
|
443
|
+
body: `Topic ${sessionKey} is pinned to ${pin.preferredMachine} but has been running elsewhere for over ${Math.round(divergedWindow / 60000)} minutes. The reconciler keeps converging it; if this persists, the pinned machine may be refusing the topic — check GET /pool/placement?topic=${sessionKey} and GET /pool/reconciler?topic=${sessionKey}.`,
|
|
444
|
+
priority: 'medium',
|
|
445
|
+
sourceContext: 'ws13-pin-persistence',
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
catch { /* escalation is observability — never gates the tick */ }
|
|
449
|
+
}
|
|
450
|
+
const pinAge = now - this.deriveLocalPinHlc(pin).physical;
|
|
451
|
+
const maxPendingAge = this.d.pendingPinMaxAgeMs ?? DEFAULT_PENDING_PIN_MAX_AGE_MS;
|
|
452
|
+
if (pinAge >= maxPendingAge && !this.agedPendingEpisodes.has(sessionKey)) {
|
|
453
|
+
this.agedPendingEpisodes.add(sessionKey);
|
|
454
|
+
try {
|
|
455
|
+
raise({
|
|
456
|
+
id: `u41:pin-pending-aged:${sessionKey}`,
|
|
457
|
+
title: `Topic ${sessionKey}'s pin has waited ${Math.round(pinAge / 3600000)}h unfulfilled`,
|
|
458
|
+
body: `Topic ${sessionKey} is pinned to ${pin.preferredMachine} but the pin has not been fulfilled for over ${Math.round(maxPendingAge / 3600000)} hours (the machine may be offline, decommissioned, or the topic is deferring on live work). Fulfil it (bring ${pin.preferredMachine} back / free the topic) or unpin via POST /pool/unpin {"topic":${JSON.stringify(sessionKey)}}.`,
|
|
459
|
+
priority: 'medium',
|
|
460
|
+
sourceContext: 'ws13-pin-persistence',
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
catch { /* escalation is observability — never gates the tick */ }
|
|
464
|
+
}
|
|
465
|
+
}
|
|
316
466
|
/**
|
|
317
467
|
* U4.2 — the engine's single CAS funnel (one actor, §2.7.6). Stamps the
|
|
318
468
|
* EXTENDED nonce grammar `${self}:stale-owner-release:${sessionKey}:${episodeId}:${now}`
|
|
@@ -404,7 +554,21 @@ export class OwnershipReconciler {
|
|
|
404
554
|
}
|
|
405
555
|
return { ...ctx, decision: 'await-other-claim', reason: `transferring to ${rec.transferTo ?? '?'} — that machine claims` };
|
|
406
556
|
}
|
|
557
|
+
const sustainedOk = (machineId) => {
|
|
558
|
+
if (!this.d.sustainedOnline)
|
|
559
|
+
return true;
|
|
560
|
+
try {
|
|
561
|
+
return this.d.sustainedOnline(machineId);
|
|
562
|
+
}
|
|
563
|
+
catch {
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
};
|
|
407
567
|
if ((!rec || rec.status === 'released') && pin.preferredMachine === self) {
|
|
568
|
+
const selfView = machines.find((m) => m.machineId === self);
|
|
569
|
+
if (!selfView || !selfView.online || !sustainedOk(self)) {
|
|
570
|
+
return { ...ctx, decision: 'deferred-target-offline', reason: 'pin names me but I have not been sustained-online yet (U4.1 §2E fulfilment hysteresis)' };
|
|
571
|
+
}
|
|
408
572
|
return { ...ctx, decision: 'adopt', reason: 'no live record + pin names me → would place→claim' };
|
|
409
573
|
}
|
|
410
574
|
if (!rec || rec.status === 'released') {
|
|
@@ -421,6 +585,21 @@ export class OwnershipReconciler {
|
|
|
421
585
|
if (!tv || !tv.online) {
|
|
422
586
|
return { ...ctx, decision: 'deferred-target-offline', reason: `pin target ${pin.preferredMachine} unknown/offline — cooperative transfer deferred (U4.2 online-gate)` };
|
|
423
587
|
}
|
|
588
|
+
if (!sustainedOk(pin.preferredMachine)) {
|
|
589
|
+
return { ...ctx, decision: 'deferred-target-offline', reason: `pin target ${pin.preferredMachine} recently returned — waiting for sustained online (U4.1 §2E hysteresis)` };
|
|
590
|
+
}
|
|
591
|
+
if (this.d.hasLiveAutonomousRun) {
|
|
592
|
+
let live = false;
|
|
593
|
+
try {
|
|
594
|
+
live = this.d.hasLiveAutonomousRun(sessionKey);
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
live = false;
|
|
598
|
+
}
|
|
599
|
+
if (live) {
|
|
600
|
+
return { ...ctx, decision: 'deferred-busy', reason: 'live autonomous run — pin-driven move defers indefinitely (no deadline override, U4.1 §2E iii)' };
|
|
601
|
+
}
|
|
602
|
+
}
|
|
424
603
|
const since = this.conflictSince.get(sessionKey) ?? now;
|
|
425
604
|
const busy = this.d.isTopicBusy(sessionKey);
|
|
426
605
|
const pastDeadline = now - since >= (this.d.safePointDeadlineMs ?? DEFAULT_SAFE_POINT_DEADLINE_MS);
|
|
@@ -447,6 +626,80 @@ export class OwnershipReconciler {
|
|
|
447
626
|
}
|
|
448
627
|
return { ...ctx, decision: 'not-my-move', reason: 'neither owner nor pin target this tick' };
|
|
449
628
|
}
|
|
629
|
+
/**
|
|
630
|
+
* U4.1 §2D — the VERIFIED pin actuation state for one topic (the placement
|
|
631
|
+
* read's `pinState` + `pinHeldSince`). The read reflects the verified actual
|
|
632
|
+
* owner vs the pin, never intent alone (P20: Verify the State, Not Its
|
|
633
|
+
* Symbol). Derivation:
|
|
634
|
+
* - a live claim suspension excluding the pin → `suspended-pending-owner-return`
|
|
635
|
+
* (U4.2 §2.4 joint enum value; the ONE comparison authority is
|
|
636
|
+
* `claimSuspensionExcludesPin` — never a re-implemented comparison);
|
|
637
|
+
* - owner === pin target && active → `actuated`;
|
|
638
|
+
* - desired≠actual persisting past ws13DivergedWindowMs → `diverged`;
|
|
639
|
+
* - otherwise → `pending` (with the target's offline status named).
|
|
640
|
+
* `pinHeldSince` is the winning record's HLC PHYSICAL component (R-r2).
|
|
641
|
+
*/
|
|
642
|
+
pinStateOf(sessionKey) {
|
|
643
|
+
const pin = this.effectivePinsRaw(/*includeOfflineAdvisory*/ true)[sessionKey];
|
|
644
|
+
if (!pin || !pin.pinned || !pin.preferredMachine)
|
|
645
|
+
return { pinned: false };
|
|
646
|
+
const pinHlc = pin.hlc ?? this.deriveLocalPinHlc(pin);
|
|
647
|
+
const base = { pinned: true, preferredMachine: pin.preferredMachine, pinHeldSince: pinHlc.physical };
|
|
648
|
+
// U4.2 §2.4: a claim suspension excludes the pin — derived, never written.
|
|
649
|
+
try {
|
|
650
|
+
const s = this.d.claimSuspensions?.()?.get(Number(sessionKey));
|
|
651
|
+
if (claimSuspensionExcludesPin(pinHlc, s)) {
|
|
652
|
+
return { ...base, pinState: 'suspended-pending-owner-return' };
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
catch { /* an unreadable annotation view reads as no suspension — the states below stay honest */ }
|
|
656
|
+
const rec = this.d.ownership.read(sessionKey);
|
|
657
|
+
const owner = rec && rec.status !== 'released' ? rec.ownerMachineId : null;
|
|
658
|
+
if (owner === pin.preferredMachine && rec?.status === 'active') {
|
|
659
|
+
return { ...base, pinState: 'actuated' };
|
|
660
|
+
}
|
|
661
|
+
const now = this.now();
|
|
662
|
+
const since = this.conflictSince.get(sessionKey);
|
|
663
|
+
if (since !== undefined && now - since >= (this.d.divergedWindowMs ?? DEFAULT_DIVERGED_WINDOW_MS)) {
|
|
664
|
+
return { ...base, pinState: 'diverged' };
|
|
665
|
+
}
|
|
666
|
+
// Pending — name the reason honestly (§2E: the offline pinned machine case).
|
|
667
|
+
let pendingReason;
|
|
668
|
+
try {
|
|
669
|
+
const view = this.d.machines().find((m) => m.machineId === pin.preferredMachine);
|
|
670
|
+
if (!view)
|
|
671
|
+
pendingReason = `pinned machine ${pin.preferredMachine} is not registered in the pool`;
|
|
672
|
+
else if (!view.online)
|
|
673
|
+
pendingReason = `pinned machine ${pin.preferredMachine} is offline`;
|
|
674
|
+
else if (this.d.sustainedOnline && !this.d.sustainedOnline(pin.preferredMachine)) {
|
|
675
|
+
pendingReason = `pinned machine ${pin.preferredMachine} recently returned — waiting for sustained online`;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
catch { /* @silent-fallback-ok — the reason string is ADVISORY display detail; `pending` stands honestly on its own when the machines view is unreadable */ }
|
|
679
|
+
return { ...base, pinState: 'pending', ...(pendingReason ? { pendingReason } : {}) };
|
|
680
|
+
}
|
|
681
|
+
/** U4.1 §2A — GuardRegistry self-registration getter (`expectRuntime: true`
|
|
682
|
+
* honesty: the manifest declares a runtime report ONLY because this exists
|
|
683
|
+
* and server.ts registers it at boot). */
|
|
684
|
+
guardStatus() {
|
|
685
|
+
// Read-only guard-posture report: an unreadable gate reads as the SAFEST
|
|
686
|
+
// claim (disabled / dry-run), never a false "on".
|
|
687
|
+
return {
|
|
688
|
+
enabled: (() => { try {
|
|
689
|
+
return !!this.d.enabled();
|
|
690
|
+
}
|
|
691
|
+
catch {
|
|
692
|
+
return false; /* @silent-fallback-ok — unreadable gate reads as the safest claim (off) */
|
|
693
|
+
} })(),
|
|
694
|
+
dryRun: (() => { try {
|
|
695
|
+
return !!this.d.dryRun();
|
|
696
|
+
}
|
|
697
|
+
catch {
|
|
698
|
+
return true; /* @silent-fallback-ok — unreadable gate reads as the safest claim (dry-run) */
|
|
699
|
+
} })(),
|
|
700
|
+
lastTickAt: this.lastTickAtMs,
|
|
701
|
+
};
|
|
702
|
+
}
|
|
450
703
|
/** Reconciler status (Observable Intelligence): last tick report + when, plus the
|
|
451
704
|
* live enabled/dryRun gate and machine-count the reconciler actually sees. */
|
|
452
705
|
status() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnershipReconciler.js","sourceRoot":"","sources":["../../src/core/OwnershipReconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AA4H5E,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC;;;;;4EAK4E;AAC5E,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAC/C,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAC1C;wEACwE;AACxE,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAE7C,MAAM,OAAO,mBAAmB;IACb,CAAC,CAA0B;IAC5C,qFAAqF;IACpE,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3D,qFAAqF;IAC7E,UAAU,GAA+B,IAAI,CAAC;IAC9C,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,IAA6B;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAChB,CAAC;IAED;0FACsF;IAC9E,MAAM,CAAC,MAA2B;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,CAAC;IACO,GAAG,CAAC,GAAW;QACrB,IAAI,CAAC;YAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IACpG,CAAC;IAED;gEAC4D;IACpD,iBAAiB,CAAC,GAAa;QACrC,IAAI,GAAG,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC;QAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,uEAAuE;QACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;QACzC,qEAAqE;QACrE,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/E,oFAAoF;QACpF,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,MAAM,GAAG,GAA6B,EAAE,GAAG,KAAK,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAAE,SAAS,CAAC,2CAA2C;YAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACrJ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,yEAAyE;YAC9F,CAAC;iBAAM,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,kDAAkD;YACvE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,IAA8B;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,mEAAmE;YACnE,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1E,SAAS,CAAC,iCAAiC;YAC7C,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,MAAM,GAAwB;YAClC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7E,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC;YACrF,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;QACF,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,IAAI,CAAC;YACnD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,OAAO;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;YAC5B,iBAAiB,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,kFAAkF;YAClF,mFAAmF;YACnF,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErE,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB;gBAAE,SAAS;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3E,IAAI,KAAK,KAAK,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,SAAS,CAAC,YAAY;YACxB,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAElD,6EAA6E;YAC7E,4DAA4D;YAC5D,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,kCAAkC;YAClC,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC9D,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,4BAA4B,EAAE,CAAC;oBAC5F,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC9F,SAAS;YACX,CAAC;YACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;gBACnC,uEAAuE;gBACvE,4EAA4E;gBAC5E,2EAA2E;gBAC3E,+EAA+E;gBAC/E,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5C,MAAM,iBAAiB,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC5D,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,4BAA4B,CAAC,CAAC;oBACjH,IAAI,iBAAiB,IAAI,YAAY,EAAE,CAAC;wBACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC;wBAChH,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,iDAAiD;YAC7D,CAAC;YAED,wEAAwE;YACxE,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAChH,IAAI,MAAM;oBAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjI,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YAEhD,0DAA0D;YAC1D,yEAAyE;YACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,mBAAmB,CAAC,EAAE,CAAC;oBACvF,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,wEAAwE;gBACxE,sEAAsE;gBACtE,qEAAqE;gBACrE,oBAAoB;gBACpB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,kEAAkE;gBAClE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,8BAA8B,CAAC,CAAC;gBACnG,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBAChH,SAAS;YACX,CAAC;YAED,2EAA2E;YAC3E,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAClC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,qEAAqE;oBACrE,kEAAkE;oBAClE,oEAAoE;oBACpE,6DAA6D;oBAC7D,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS;uBAChC,CAAC,SAAS,CAAC,MAAM;uBACjB,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC;gBAC3F,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;gBAC3C,uEAAuE;gBACvE,kEAAkE;gBAClE,wEAAwE;gBACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACtE,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,+DAA+D;oBAC/D,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,uDAAuD;QACzD,CAAC;QACD,yEAAyE;QACzE,mEAAmE;QACnE,iBAAiB,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,UAAkB,EAAE,SAAiB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAC5B,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,EACxC;YACE,UAAU;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,GAAG,IAAI,wBAAwB,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;SAC9E,CACF,CAAC;QACF,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,8CAA8C,UAAU,aAAa,SAAS,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;YAC9H,IAAI,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oIAAoI,CAAC,CAAC;YAClN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,gDAAgD,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QACjH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,GAAG,CACT,MAA2B,EAC3B,OAAwE,EACxE,UAAkB,EAClB,MAAsD,EACtD,MAA2H,EAC3H,SAAS,GAAG,KAAK;QAEjB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,IAAI,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,CAAC,wDAAwD;QACxE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YACrC,UAAU;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,eAAe,UAAU,KAAK,MAAM,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;YAClG,IAAI,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6DAA6D,CAAC,CAAC;YAC5H,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC;QAC7H,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,UAAkB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,sBAAsB,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC9F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;QAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,0EAA0E,EAAE,CAAC;QAC7H,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAC3H,IAAI,KAAK,KAAK,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,sDAAsD,EAAE,CAAC;QACvG,CAAC;QACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAChE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,4BAA4B,CAAC,CAAC;gBAC3G,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,UAAU,+DAA+D,EAAE,CAAC;gBAC1J,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,UAAU,IAAI,GAAG,wBAAwB,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACzE,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;QACnG,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,mBAAmB,CAAC;YAC5D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;gBACvD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,UAAU,IAAI,EAAE,CAAC;YAC3H,CAAC;YACD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,gBAAgB,qEAAqE,EAAE,CAAC;YAC1K,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,8BAA8B,CAAC,CAAC;YACnG,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;YACjG,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,GAAG,CAAC,gBAAgB,mBAAmB,EAAE,CAAC;QACzH,CAAC;QACD,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC5C,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,4FAA4F,EAAE,CAAC;YAC5J,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM;mBACrD,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;YAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC3E,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACpD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC;YAC/G,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,KAAK,mCAAmC,SAAS,EAAE,MAAM,IAAI,SAAS,yCAAyC,EAAE,CAAC;QACzM,CAAC;QACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IAC/F,CAAC;IAED;mFAC+E;IAC/E,MAAM;QAQJ,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACjF,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9E,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAChF,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;SACtC,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"OwnershipReconciler.js","sourceRoot":"","sources":["../../src/core/OwnershipReconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAmL5E,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC;;;;;4EAK4E;AAC5E,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAC/C,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAC1C;wEACwE;AACxE,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,gFAAgF;AAChF,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC;6DAC6D;AAC7D,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAC3C,qFAAqF;AACrF,MAAM,8BAA8B,GAAG,UAAU,CAAC;AAElD,MAAM,OAAO,mBAAmB;IACb,CAAC,CAA0B;IAC5C,qFAAqF;IACpE,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3D,qFAAqF;IAC7E,UAAU,GAA+B,IAAI,CAAC;IAC9C,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,IAA6B;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAChB,CAAC;IAED;0FACsF;IAC9E,MAAM,CAAC,MAA2B;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,CAAC;IACO,GAAG,CAAC,GAAW;QACrB,IAAI,CAAC;YAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IACpG,CAAC;IAED;gEAC4D;IACpD,iBAAiB,CAAC,GAAa;QACrC,IAAI,GAAG,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC;QAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa;QACnB,qEAAqE;QACrE,sEAAsE;QACtE,8CAA8C;QAC9C,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;uEAKmE;IAC3D,gBAAgB,CAAC,sBAAsB,GAAG,KAAK;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,uEAAuE;QACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,oFAAoF;QACpF,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,MAAM,GAAG,GAA6B,EAAE,GAAG,KAAK,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAAE,SAAS,CAAC,uDAAuD;YACnI,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACrJ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,yEAAyE;YAC9F,CAAC;iBAAM,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,kDAAkD;YACvE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,IAA8B;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,mEAAmE;YACnE,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1E,SAAS,CAAC,iCAAiC;YAC7C,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,MAAM,GAAwB;YAClC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7E,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC;YACrF,qBAAqB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;QACF,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,IAAI,CAAC;YACnD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,OAAO;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;YAC5B,iBAAiB,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,kFAAkF;YAClF,mFAAmF;YACnF,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,yEAAyE;QACzE,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,0BAA0B,CAAC,CAAC;QACnF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACtF,6EAA6E;QAC7E,yDAAyD;QACzD,MAAM,iBAAiB,GAAG,CAAC,IAAuC,EAAE,SAAiB,EAAW,EAAE;YAChG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;YACpC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC,CAAC,4HAA4H;YAAC,CAAC;QACrL,CAAC,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE7C,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB;gBAAE,SAAS;YACnD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3E,IAAI,KAAK,KAAK,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAClC,SAAS,CAAC,YAAY;YACxB,CAAC;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAElD,6EAA6E;YAC7E,4DAA4D;YAC5D,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,kCAAkC;YAClC,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC9D,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,4BAA4B,EAAE,CAAC;oBAC5F,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC9F,SAAS;YACX,CAAC;YACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;gBACnC,uEAAuE;gBACvE,4EAA4E;gBAC5E,2EAA2E;gBAC3E,+EAA+E;gBAC/E,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5C,MAAM,iBAAiB,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC5D,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,4BAA4B,CAAC,CAAC;oBACjH,IAAI,iBAAiB,IAAI,YAAY,EAAE,CAAC;wBACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC;wBAChH,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,iDAAiD;YAC7D,CAAC;YAED,wEAAwE;YACxE,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACzE,mEAAmE;gBACnE,kEAAkE;gBAClE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC7C,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,IAAI,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACjC,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAChH,IAAI,MAAM;oBAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjI,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YAEhD,0DAA0D;YAC1D,yEAAyE;YACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,mBAAmB,CAAC,EAAE,CAAC;oBACvF,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,kEAAkE;gBAClE,qEAAqE;gBACrE,gEAAgE;gBAChE,mEAAmE;gBACnE,qEAAqE;gBACrE,iDAAiD;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACzD,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,iEAAiE;gBACjE,sEAAsE;gBACtE,wEAAwE;gBACxE,sEAAsE;gBACtE,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;oBAChC,IAAI,IAAI,GAAG,KAAK,CAAC;oBACjB,IAAI,CAAC;wBAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,IAAI,GAAG,KAAK,CAAC,CAAC,wHAAwH;oBAAC,CAAC;oBACxM,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,CAAC,qBAAqB,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,kEAAkE;gBAClE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,8BAA8B,CAAC,CAAC;gBACnG,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACjC,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBAChH,SAAS;YACX,CAAC;YAED,2EAA2E;YAC3E,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAClC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,qEAAqE;oBACrE,kEAAkE;oBAClE,oEAAoE;oBACpE,6DAA6D;oBAC7D,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS;uBAChC,CAAC,SAAS,CAAC,MAAM;uBACjB,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC;gBAC3F,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;gBAC3C,uEAAuE;gBACvE,kEAAkE;gBAClE,wEAAwE;gBACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACtE,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACpD,IAAI,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;wBACjC,MAAM,CAAC,aAAa,EAAE,CAAC;wBACvB,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,+DAA+D;oBAC/D,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,uDAAuD;QACzD,CAAC;QACD,4EAA4E;QAC5E,2EAA2E;QAC3E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,mEAAmE;QACnE,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,yEAAyE;QACzE,mEAAmE;QACnE,iBAAiB,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,qFAAqF;IAErF,+EAA+E;IAC9D,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzD,uEAAuE;IAC/D,gBAAgB,CAAC,UAAkB;QACzC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,UAAkB,EAAE,GAAa,EAAE,GAAW;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QAC7E,IAAI,GAAG,GAAG,KAAK,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,KAAK,CAAC;oBACJ,EAAE,EAAE,oBAAoB,UAAU,EAAE;oBACpC,KAAK,EAAE,SAAS,UAAU,kCAAkC;oBAC5D,IAAI,EAAE,SAAS,UAAU,iBAAiB,GAAG,CAAC,gBAAgB,4CAA4C,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,kJAAkJ,UAAU,mCAAmC,UAAU,GAAG;oBACxV,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,sBAAsB;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,8BAA8B,CAAC;QAClF,IAAI,MAAM,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,KAAK,CAAC;oBACJ,EAAE,EAAE,wBAAwB,UAAU,EAAE;oBACxC,KAAK,EAAE,SAAS,UAAU,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,eAAe;oBAC1F,IAAI,EAAE,SAAS,UAAU,iBAAiB,GAAG,CAAC,gBAAgB,gDAAgD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,iHAAiH,GAAG,CAAC,gBAAgB,kEAAkE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI;oBACtX,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,sBAAsB;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,UAAkB,EAAE,SAAiB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAC5B,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,EACxC;YACE,UAAU;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,GAAG,IAAI,wBAAwB,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;SAC9E,CACF,CAAC;QACF,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,8CAA8C,UAAU,aAAa,SAAS,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;YAC9H,IAAI,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oIAAoI,CAAC,CAAC;YAClN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,gDAAgD,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QACjH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,GAAG,CACT,MAA2B,EAC3B,OAAwE,EACxE,UAAkB,EAClB,MAAsD,EACtD,MAA2H,EAC3H,SAAS,GAAG,KAAK;QAEjB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,IAAI,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,CAAC,wDAAwD;QACxE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YACrC,UAAU;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,eAAe,UAAU,KAAK,MAAM,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;YAClG,IAAI,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6DAA6D,CAAC,CAAC;YAC5H,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC;QAC7H,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,UAAkB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,sBAAsB,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC9F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;QAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,0EAA0E,EAAE,CAAC;QAC7H,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAC3H,IAAI,KAAK,KAAK,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,sDAAsD,EAAE,CAAC;QACvG,CAAC;QACD,IAAI,GAAG,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAChE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,4BAA4B,CAAC,CAAC;gBAC3G,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,UAAU,+DAA+D,EAAE,CAAC;gBAC1J,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,UAAU,IAAI,GAAG,wBAAwB,EAAE,CAAC;QAC7H,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAW,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;QAC1E,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,wFAAwF,EAAE,CAAC;YAC3J,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;QACnG,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,mBAAmB,CAAC;YAC5D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;gBACvD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,UAAU,IAAI,EAAE,CAAC;YAC3H,CAAC;YACD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,gBAAgB,qEAAqE,EAAE,CAAC;YAC1K,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvC,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,gBAAgB,yEAAyE,EAAE,CAAC;YAC9K,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;gBAChC,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,IAAI,CAAC;oBAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,IAAI,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAC/E,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,gGAAgG,EAAE,CAAC;gBACzJ,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,8BAA8B,CAAC,CAAC;YACnG,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;YACjG,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,GAAG,CAAC,gBAAgB,mBAAmB,EAAE,CAAC;QACzH,CAAC;QACD,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC5C,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,4FAA4F,EAAE,CAAC;YAC5J,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM;mBACrD,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;YAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC3E,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACpD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC;YAC/G,CAAC;YACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,KAAK,mCAAmC,SAAS,EAAE,MAAM,IAAI,SAAS,yCAAyC,EAAE,CAAC;QACzM,CAAC;QACD,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAkB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9G,2EAA2E;QAC3E,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,IAAI,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,gCAAgC,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,yFAAyF,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,KAAK,KAAK,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,0BAA0B,CAAC,EAAE,CAAC;YAClG,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC3C,CAAC;QACD,6EAA6E;QAC7E,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI;gBAAE,aAAa,GAAG,kBAAkB,GAAG,CAAC,gBAAgB,gCAAgC,CAAC;iBAC7F,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,aAAa,GAAG,kBAAkB,GAAG,CAAC,gBAAgB,aAAa,CAAC;iBACtF,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjF,aAAa,GAAG,kBAAkB,GAAG,CAAC,gBAAgB,mDAAmD,CAAC;YAC5G,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,mJAAmJ,CAAC,CAAC;QAC/J,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC;IAED;;+CAE2C;IAC3C,WAAW;QACT,yEAAyE;QACzE,kDAAkD;QAClD,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAC,CAAC,2EAA2E;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7J,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC,CAAC,+EAA+E;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9J,UAAU,EAAE,IAAI,CAAC,YAAY;SAC9B,CAAC;IACJ,CAAC;IAED;mFAC+E;IAC/E,MAAM;QAQJ,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACjF,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9E,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAChF,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;SACtC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -68,9 +68,22 @@ export declare function validateTopicPlacement(tp: unknown, capabilityWhitelist:
|
|
|
68
68
|
ok: false;
|
|
69
69
|
reason: string;
|
|
70
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* U4.1 §2E (R-r2-2) optional seams. `sustainedOnline`: the hard-pin fulfilment
|
|
73
|
+
* hysteresis — a pinned placement proceeds only when the pinned machine has
|
|
74
|
+
* been CONTINUOUSLY online for the sustained window (a flapping machine never
|
|
75
|
+
* triggers ping-pong). A machine failing the gate makes the hard pin
|
|
76
|
+
* `hard-pin-unavailable` → QUEUED (the shipped queued-never-rerouted contract —
|
|
77
|
+
* placement never drifts to another machine because the pinned one flapped).
|
|
78
|
+
* Absent ⇒ plain-online eligibility (today's exact behavior).
|
|
79
|
+
*/
|
|
80
|
+
export interface PlacementExecutorSeams {
|
|
81
|
+
sustainedOnline?: (machineId: string) => boolean;
|
|
82
|
+
}
|
|
71
83
|
export declare class PlacementExecutor {
|
|
72
84
|
private readonly policy;
|
|
73
|
-
|
|
85
|
+
private readonly seams;
|
|
86
|
+
constructor(policy?: PlacementPolicy, seams?: PlacementExecutorSeams);
|
|
74
87
|
/** Score a candidate (lower = better): weighted load + session-ratio + mem pressure. */
|
|
75
88
|
private score;
|
|
76
89
|
/** Pure placement decision (§L4). Deterministic over its inputs. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlacementExecutor.d.ts","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,UAAU,EAAE;QAAE,yBAAyB,EAAE,MAAM,CAAC;QAAC,wBAAwB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,EAAE,eAKtC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC;IAC9B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IACjD;;;;wDAIoD;IACpD,OAAO,CAAC,EAAE,OAAO,2BAA2B,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAqB1F;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB/H;AAID,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;
|
|
1
|
+
{"version":3,"file":"PlacementExecutor.d.ts","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,UAAU,EAAE;QAAE,yBAAyB,EAAE,MAAM,CAAC;QAAC,wBAAwB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,EAAE,eAKtC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC;IAC9B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IACjD;;;;wDAIoD;IACpD,OAAO,CAAC,EAAE,OAAO,2BAA2B,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAqB1F;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB/H;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;gBACnC,MAAM,GAAE,eAA0C,EAAE,KAAK,GAAE,sBAA2B;IAMlG,wFAAwF;IACxF,OAAO,CAAC,KAAK;IAQb,oEAAoE;IACpE,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,iBAAiB;CAwHjD"}
|
|
@@ -76,9 +76,11 @@ export function validateTopicPlacement(tp, capabilityWhitelist) {
|
|
|
76
76
|
const MEM_PRESSURE_NUM = { low: 0, moderate: 1, high: 2, critical: 3 };
|
|
77
77
|
export class PlacementExecutor {
|
|
78
78
|
policy;
|
|
79
|
-
|
|
79
|
+
seams;
|
|
80
|
+
constructor(policy = DEFAULT_PLACEMENT_POLICY, seams = {}) {
|
|
80
81
|
validatePlacementPolicy(policy);
|
|
81
82
|
this.policy = policy;
|
|
83
|
+
this.seams = seams;
|
|
82
84
|
}
|
|
83
85
|
/** Score a candidate (lower = better): weighted load + session-ratio + mem pressure. */
|
|
84
86
|
score(m) {
|
|
@@ -157,7 +159,20 @@ export class PlacementExecutor {
|
|
|
157
159
|
// the decision reason carries the quota note so the caller can surface it.
|
|
158
160
|
if (tp.pinned && tp.preferredMachine) {
|
|
159
161
|
const pinned = eligible.find((m) => m.machineId === tp.preferredMachine);
|
|
160
|
-
|
|
162
|
+
// U4.1 §2E (i): fulfilment requires SUSTAINED online — a pinned machine
|
|
163
|
+
// that only just flapped back on is treated as unavailable (→ QUEUED,
|
|
164
|
+
// never re-routed; the same honest contract as offline). Absent seam /
|
|
165
|
+
// seam fault ⇒ plain-online (today's behavior — fail toward placement).
|
|
166
|
+
let sustainedOk = true;
|
|
167
|
+
if (pinned && this.seams.sustainedOnline) {
|
|
168
|
+
try {
|
|
169
|
+
sustainedOk = this.seams.sustainedOnline(pinned.machineId);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
sustainedOk = true; /* @silent-fallback-ok — a broken hysteresis signal degrades to plain-online eligibility (today's exact behavior): fail toward PLACEMENT, never a wedged pin (U4.1 §2E) */
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (!pinned || !sustainedOk) {
|
|
161
176
|
return { chosenMachine: null, score: 0, reason: 'hard-pin-unavailable', outcome: 'queued', escalationReason: 'hard-pin-unsatisfiable' };
|
|
162
177
|
}
|
|
163
178
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlacementExecutor.js","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlacementExecutor.js","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,11 +153,13 @@ export declare function migrateConfigTmuxResilienceDevGate(config: Record<string
|
|
|
153
153
|
*/
|
|
154
154
|
export declare function migrateConfigStateSyncStoresDevGate(config: Record<string, unknown>): boolean;
|
|
155
155
|
/**
|
|
156
|
-
* Strip default-shaped literal `false` for the
|
|
156
|
+
* Strip default-shaped literal `false` for the seamlessness coherence flags so
|
|
157
157
|
* the developmentAgent gate resolves them (live on dev, dark on fleet) — exactly the
|
|
158
|
-
* ws44PoolLinks / ws44PoolCache invariant, applied to ws3OneVoice /
|
|
158
|
+
* ws44PoolLinks / ws44PoolCache invariant, applied to ws3OneVoice /
|
|
159
159
|
* ws41DurableAck / ws43RoleGuard / ws43JournalLease (operator directive 2026-06-13,
|
|
160
|
-
* topic 13481
|
|
160
|
+
* topic 13481; ws13Reconcile removed by U4.1 — an explicit `false` is now the
|
|
161
|
+
* operator's durable rollback lever and survives migration). An existing agent
|
|
162
|
+
* that ran the old ConfigDefaults carries an explicit
|
|
161
163
|
* `false` per flag, which (being explicit) would keep resolveDevAgentGate DARK even on
|
|
162
164
|
* a dev agent. Rules per flag:
|
|
163
165
|
* - absent → no-op. The gate already decides correctly.
|