@ibgib/core-gib 0.1.42 → 0.1.43
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/sync/sync-conflict-text-merge.respec.mjs +26 -26
- package/dist/sync/sync-conflict-text-merge.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts +7 -0
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs +252 -0
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs.map +1 -0
- package/dist/sync/sync-saga-coordinator.mjs +3 -3
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/test/mock-space.d.mts +1 -38
- package/dist/test/mock-space.d.mts.map +1 -1
- package/dist/test/mock-space.mjs +73 -78
- package/dist/test/mock-space.mjs.map +1 -1
- package/package.json +1 -1
- package/src/keystone/README.md +118 -0
- package/src/keystone/docs/architecture.md +30 -1
- package/src/sync/README.md +122 -5
- package/src/sync/docs/architecture.md +2 -2
- package/src/sync/{SYNC_TESTING.md → docs/testing.md} +113 -28
- package/src/sync/sync-conflict-text-merge.respec.mts +25 -25
- package/src/sync/sync-innerspace-dest-ahead-withid.respec.mts +316 -0
- package/src/sync/sync-saga-coordinator.mts +4 -4
- package/src/test/mock-space.mts +72 -72
- package/src/sync/docs/verification.md +0 -43
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* optimistic merging. This should trigger the automatic text merging which is
|
|
8
8
|
* different than the replay of dna for other types of conflict grafts.
|
|
9
9
|
*/
|
|
10
|
-
import { respecfully,
|
|
10
|
+
import { respecfully, ifWe, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
11
11
|
const maam = `[${import.meta.url}]`, sir = maam;
|
|
12
12
|
import { clone, delay, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
13
13
|
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
@@ -120,7 +120,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
120
120
|
});
|
|
121
121
|
const r1_alpha_source_tipAddr = r1_alpha_sourceKV[alpha_tjpAddr];
|
|
122
122
|
if (!r1_alpha_source_tipAddr) {
|
|
123
|
-
|
|
123
|
+
ifWe(sir, 'r1_alpha_source_tipAddr is falsy?', async () => {
|
|
124
124
|
iReckon(sir, true).asTo('fail').isGonnaBeFalse();
|
|
125
125
|
});
|
|
126
126
|
return; /* <<<< returns early */
|
|
@@ -132,15 +132,15 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
132
132
|
});
|
|
133
133
|
const r1_alpha_dest_tipAddr = r1_alpha_destKV[alpha_tjpAddr];
|
|
134
134
|
if (!r1_alpha_dest_tipAddr) {
|
|
135
|
-
|
|
135
|
+
ifWe(sir, 'r1_alpha_dest_tipAddr is falsy?', async () => {
|
|
136
136
|
iReckon(sir, true).asTo('fail').isGonnaBeFalse();
|
|
137
137
|
});
|
|
138
138
|
return; /* <<<< returns early */
|
|
139
139
|
}
|
|
140
|
-
await
|
|
140
|
+
await ifWe(sir, 'r1 tip addrs match', async () => {
|
|
141
141
|
iReckon(sir, r1_alpha_source_tipAddr).asTo('R1 source/dest have same tip').isGonnaBe(r1_alpha_dest_tipAddr);
|
|
142
142
|
});
|
|
143
|
-
await
|
|
143
|
+
await ifWe(sir, 'r1 text synced correctly', async () => {
|
|
144
144
|
if (!r1_alpha_dest_tipAddr) {
|
|
145
145
|
throw new Error(`r1_dest_tipAddr is null/undefined (E: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
|
|
146
146
|
}
|
|
@@ -148,7 +148,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
148
148
|
const destTipIbGib = resGet_destTip.ibGibs[0];
|
|
149
149
|
iReckon(sir, destTipIbGib.data.text).asTo('Dest has initial text').isGonnaBe(INITIAL_TEXT);
|
|
150
150
|
});
|
|
151
|
-
await
|
|
151
|
+
await ifWe(sir, 'r1 dep graphs synced', async () => {
|
|
152
152
|
const [r1_alpha_source_tip] = await getIbGibsFromCache_fallbackToSpaces({
|
|
153
153
|
addrs: [r1_alpha_source_tipAddr],
|
|
154
154
|
space: sourceSpace,
|
|
@@ -218,7 +218,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
218
218
|
});
|
|
219
219
|
// #endregion r2 dest edits
|
|
220
220
|
await respecfully(sir, `r2 verify pre`, async () => {
|
|
221
|
-
await
|
|
221
|
+
await ifWe(sir, 'texts as expected', async () => {
|
|
222
222
|
// before the sync, each side only has their edit. after the sync,
|
|
223
223
|
// both sides should have both prepended and appended text
|
|
224
224
|
iReckon(sir, r2_alpha_v1_source_appendedText.ibGib.data?.text.includes(INITIAL_TEXT)).asTo('alpha source has initial text').isGonnaBeTrue();
|
|
@@ -254,14 +254,14 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
254
254
|
const kv_dest = await senderCoordinator.getKnowledgeMap({ space: destSpace, metaspace, domainIbGibs: [r1_alpha_v0_source.ibGib] });
|
|
255
255
|
const r2_alpha_source_tipAddr = kv_source[alpha_tjpAddr];
|
|
256
256
|
if (!r2_alpha_source_tipAddr) {
|
|
257
|
-
await
|
|
257
|
+
await ifWe(sir, 'r2_alpha_source_tipAddr falsy?', async () => {
|
|
258
258
|
iReckon(sir, true).asTo('fails').isGonnaBe(false);
|
|
259
259
|
});
|
|
260
260
|
return; /* <<<< returns early */
|
|
261
261
|
}
|
|
262
262
|
const r2_alpha_dest_tipAddr = kv_dest[alpha_tjpAddr];
|
|
263
263
|
if (!r2_alpha_dest_tipAddr) {
|
|
264
|
-
await
|
|
264
|
+
await ifWe(sir, 'r2_alpha_dest_tipAddr falsy?', async () => {
|
|
265
265
|
iReckon(sir, true).asTo('fails').isGonnaBe(false);
|
|
266
266
|
});
|
|
267
267
|
return; /* <<<< returns early */
|
|
@@ -274,10 +274,10 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
274
274
|
addrs: [r2_alpha_dest_tipAddr],
|
|
275
275
|
space: sourceSpace,
|
|
276
276
|
});
|
|
277
|
-
await
|
|
277
|
+
await ifWe(sir, 'r2 tip addrs match', async () => {
|
|
278
278
|
iReckon(sir, r2_alpha_source_tipAddr).asTo('alpha').isGonnaBe(r2_alpha_dest_tipAddr);
|
|
279
279
|
});
|
|
280
|
-
await
|
|
280
|
+
await ifWe(sir, 'r2 text merged correctly', async () => {
|
|
281
281
|
// before the sync, each side only has their edit. after the sync,
|
|
282
282
|
// both sides should have both prepended and appended text
|
|
283
283
|
iReckon(sir, r2_alpha_v1_source_appendedText.ibGib.data?.text.includes(INITIAL_TEXT)).asTo('alpha source has initial text').isGonnaBeTrue();
|
|
@@ -292,7 +292,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
292
292
|
// we'll go one step further and assume the final output is exactly this
|
|
293
293
|
iReckon(sir, text).asTo('R2 has both prepend and append').isGonnaBe(DEST_PREPEND + INITIAL_TEXT + SOURCE_APPEND);
|
|
294
294
|
});
|
|
295
|
-
await
|
|
295
|
+
await ifWe(sir, 'r2 dep graphs synced', async () => {
|
|
296
296
|
// alpha's full dep graph should exist on dest
|
|
297
297
|
const depGraph_alpha_source = await getDependencyGraph({
|
|
298
298
|
ibGib: r2_alpha_source_tip,
|
|
@@ -350,7 +350,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
350
350
|
// });
|
|
351
351
|
// // #endregion r3 dest edits
|
|
352
352
|
// await respecfully(sir, `r3 verify pre`, async () => {
|
|
353
|
-
// await
|
|
353
|
+
// await ifWe(sir, 'dest has alpha after R2 graft', async () => {
|
|
354
354
|
// const kv = await receiverCoordinator.getKnowledgeMap({ space: destSpace, metaspace, domainIbGibs: [r3_v0_graft_fromDest] });
|
|
355
355
|
// iReckon(sir, !!kv[alpha_tjpAddr]).asTo('dest has tip').isGonnaBeTrue();
|
|
356
356
|
// });
|
|
@@ -377,10 +377,10 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
377
377
|
// const kv_d = await senderCoordinator.getKnowledgeMap({ space: destSpace, metaspace, domainIbGibs: [r1_alpha_v0_source.ibGib] });
|
|
378
378
|
// const r3_tip_s = kv_s[alpha_tjpAddr];
|
|
379
379
|
// const r3_tip_d = kv_d[alpha_tjpAddr];
|
|
380
|
-
// await
|
|
380
|
+
// await ifWe(sir, 'r3 tip addrs match', async () => {
|
|
381
381
|
// iReckon(sir, r3_tip_s).asTo('R3 tips match').isGonnaBe(r3_tip_d);
|
|
382
382
|
// });
|
|
383
|
-
// await
|
|
383
|
+
// await ifWe(sir, 'r3 both paragraph edits merged', async () => {
|
|
384
384
|
// const res = await getFromSpace({ space: sourceSpace, addr: r3_tip_s! });
|
|
385
385
|
// const tip = res.ibGibs![0] as IbGib_V1<TestData>;
|
|
386
386
|
// const mergedText = tip.data!.text!;
|
|
@@ -396,7 +396,7 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
396
396
|
// .asTo('middle line preserved')
|
|
397
397
|
// .isGonnaBeTrue();
|
|
398
398
|
// });
|
|
399
|
-
// await
|
|
399
|
+
// await ifWe(sir, 'r3 dep graphs synced', async () => {
|
|
400
400
|
// const [d] = await getIbGibsFromCache_fallbackToSpaces({ addrs: [r3_tip_s!], space: destSpace });
|
|
401
401
|
// iReckon(sir, d).asTo('exists dest').isGonnaBeTruthy();
|
|
402
402
|
// });
|
|
@@ -418,21 +418,21 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
418
418
|
// // TODO: Mutate - edit different words in same paragraph
|
|
419
419
|
// // #endregion r4 dest edits
|
|
420
420
|
// await respecfully(sir, `r4 verify pre`, async () => {
|
|
421
|
-
// await
|
|
421
|
+
// await ifWe(sir, 'dest has alpha after R3 graft', async () => {
|
|
422
422
|
// // TODO: Verify pre-sync state
|
|
423
423
|
// });
|
|
424
424
|
// });
|
|
425
425
|
// if (logalot) { console.log(`${lc} Running r4 Sync (same paragraph conflict)...`); }
|
|
426
426
|
// // TODO: Add sync operation
|
|
427
427
|
// await respecfully(sir, `r4 verify post`, async () => {
|
|
428
|
-
// await
|
|
428
|
+
// await ifWe(sir, 'r4 tip addrs match', async () => {
|
|
429
429
|
// // TODO: Verify tips match
|
|
430
430
|
// });
|
|
431
|
-
// await
|
|
431
|
+
// await ifWe(sir, 'r4 LCS merged both word changes', async () => {
|
|
432
432
|
// // TODO: Verify text has both source and dest word changes
|
|
433
433
|
// // TODO: Verify LCS algorithm preserved both edits correctly
|
|
434
434
|
// });
|
|
435
|
-
// await
|
|
435
|
+
// await ifWe(sir, 'r4 dep graphs synced', async () => {
|
|
436
436
|
// // TODO: Verify dep graphs
|
|
437
437
|
// });
|
|
438
438
|
// });
|
|
@@ -455,27 +455,27 @@ await respecfully(sir, `Text merge (LCS) conflict resolution`, async () => {
|
|
|
455
455
|
// // TODO: Mutate description field (different changes)
|
|
456
456
|
// // #endregion r5 dest edits
|
|
457
457
|
// await respecfully(sir, `r5 verify pre`, async () => {
|
|
458
|
-
// await
|
|
458
|
+
// await ifWe(sir, 'dest has alpha after R4 graft', async () => {
|
|
459
459
|
// // TODO: Verify pre-sync state
|
|
460
460
|
// });
|
|
461
461
|
// });
|
|
462
462
|
// if (logalot) { console.log(`${lc} Running r5 Sync (multi-field text merge)...`); }
|
|
463
463
|
// // TODO: Add sync operation
|
|
464
464
|
// await respecfully(sir, `r5 verify post`, async () => {
|
|
465
|
-
// await
|
|
465
|
+
// await ifWe(sir, 'r5 tip addrs match', async () => {
|
|
466
466
|
// // TODO: Verify tips match
|
|
467
467
|
// });
|
|
468
|
-
// await
|
|
468
|
+
// await ifWe(sir, 'r5 text field merged', async () => {
|
|
469
469
|
// // TODO: Verify text field has both source and dest changes
|
|
470
470
|
// });
|
|
471
|
-
// await
|
|
471
|
+
// await ifWe(sir, 'r5 description field merged', async () => {
|
|
472
472
|
// // TODO: Verify description field has both source and dest changes
|
|
473
473
|
// });
|
|
474
|
-
// await
|
|
474
|
+
// await ifWe(sir, 'r5 both fields independently LCS-merged', async () => {
|
|
475
475
|
// // TODO: Verify each field was merged independently
|
|
476
476
|
// // TODO: Ensure one field's merge didn't affect the other
|
|
477
477
|
// });
|
|
478
|
-
// await
|
|
478
|
+
// await ifWe(sir, 'r5 dep graphs synced', async () => {
|
|
479
479
|
// // TODO: Verify dep graphs
|
|
480
480
|
// });
|
|
481
481
|
// });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-conflict-text-merge.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-conflict-text-merge.respec.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-conflict-text-merge.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-conflict-text-merge.respec.mts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACH,WAAW,EAAa,IAAI,EAAE,OAAO,EAExC,MAAM,kDAAkD,CAAC;AAC1D,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAU,MAAM,iDAAiD,CAAC;AAIxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0EAA0E,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,mCAAmC,EAAE,UAAU,GAAG,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,oCAAoC,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,GAAG,gBAAgB,CAAC;AACjC,MAAM,EAAE,GAAG,GAAG,CAAC;AAaf,MAAM,WAAW,CAAC,GAAG,EAAE,sCAAsC,EAAE,KAAK,IAAI,EAAE;IAEtE,qBAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,CAAC;QACvB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrG,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;KACjH,CAAC,CAAC;IACH,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAEnD,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,MAAM,qBAAsB,CAAC,WAAW,CAAC;IAEzC,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC;QAClC,GAAG,2BAA2B;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mBAAmB;KACnC,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,WAAW,CAAC;IAE9B,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;QAChC,GAAG,2BAA2B;QAC9B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,iBAAiB;KACjC,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,WAAW,CAAC;IAE5B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAE/E,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAAC,CAAC;IACjE,MAAM,YAAY,GAAG,MAAM,4BAA4B,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAElE,KAAK,UAAU,WAAW;QACtB,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC;YACxB,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,mBAAmB;YACxC,iBAAiB,EAAE,SAAS;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB;IAExB,sDAAsD;IAEtD,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qEAAqE;KACrF,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;IAAC,CAAC;IAE9E,2CAA2C;IAC3C,MAAM,YAAY,GAAG,wFAAwF,CAAC;IAE9G,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;QACpD,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;QAC5B,IAAI,EAAE,oBAAoB;KAC7B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAE,CAAC;IAEtG,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IAAC,CAAC;IAE3E,IAAI,WAAqC,CAAC;IAC1C,IAAI,CAAC;QACD,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,MAAM,WAAW,EAAE;YACzB,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,YAAY,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACxC,gBAAgB,EAAE,oBAAoB,CAAC,iBAAiB;YACxD,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACnE,OAAO;IACX,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC;gBAC9D,KAAK,EAAE,WAAW;gBAClB,SAAS;gBACT,YAAY,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,EAAE,mCAAmC,EAAE,KAAK,IAAI,EAAE;oBACtD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,wBAAwB;YACpC,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC;gBAC5D,KAAK,EAAE,SAAS;gBAChB,SAAS;gBACT,YAAY,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,EAAE,iCAAiC,EAAE,KAAK,IAAI,EAAE;oBACpD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,wBAAwB;YACpC,CAAC;YAED,MAAM,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE;gBAC7C,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAChH,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,IAAI,EAAE;gBACnD,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBAC7F,MAAM,YAAY,GAAG,cAAc,CAAC,MAAO,CAAC,CAAC,CAAuB,CAAC;gBAErE,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBAC/C,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,mCAAmC,CAAC;oBACpE,KAAK,EAAE,CAAC,uBAAuB,CAAC;oBAChC,KAAK,EAAE,WAAW;iBACrB,CAAC,CAAC;gBACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,mCAAmC,CAAC;oBAClE,KAAK,EAAE,CAAC,qBAAqB,CAAC;oBAC9B,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnF,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CAAC;wBACtD,KAAK,EAAE,mBAAmB;wBAC1B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,WAAW;qBACrB,CAAC,CAAC;oBACH,MAAM,sBAAsB,GAAG,MAAM,kBAAkB,CAAC;wBACpD,KAAK,EAAE,iBAAiB;wBACxB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACnB,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,mBAAmB,CAAC;wBACpC,MAAM,EAAE,wBAAwB;wBAChC,MAAM,EAAE,sBAAsB;wBAC9B,eAAe,EAAE,IAAI;qBACxB,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC1E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,cAAc,EAAE,CAAC;QAClE,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yDAAyD;IAEzD,2DAA2D;IAE3D,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sEAAsE;KACtF,CAAC,CAAC;IAEH,0BAA0B;IAE1B,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;IAAC,CAAC;IAE7E,4FAA4F;IAC5F,yEAAyE;IAEzE,MAAM,aAAa,GAAG,0BAA0B,CAAC;IACjD,MAAM,+BAA+B,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC;QAC/D,KAAK,EAAE,kBAAkB,CAAC,KAAK;QAC/B,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,aAAa,EAAE;QAC/D,IAAI,EAAE,iCAAiC;KAC1C,CAAC,CAAC;IAEH,6BAA6B;IAE7B,wBAAwB;IAExB,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;IAAC,CAAC;IAElF,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/F,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAO,CAAC,CAAC,CAAuB,CAAC;IAEzE,MAAM,YAAY,GAAG,4BAA4B,CAAC;IAClD,MAAM,8BAA8B,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC;QAC9D,KAAK,EAAE,gBAAgB;QACvB,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE;QAC9D,IAAI,EAAE,gCAAgC;KACzC,CAAC,CAAC;IAEH,2BAA2B;IAE3B,MAAM,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC5C,kEAAkE;YAClE,0DAA0D;YAC1D,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,aAAa,EAAE,CAAC;YAC5I,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9I,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,cAAc,EAAE,CAAC;YACzJ,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,aAAa,EAAE,CAAC;YACzI,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,cAAc,EAAE,CAAC;YACtJ,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/I,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAC;IAAC,CAAC;IAErF,IAAI,WAAqC,CAAC;IAC1C,IAAI,CAAC;QACD,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,MAAM,WAAW,EAAE;YACzB,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,YAAY,EAAE,CAAC,+BAA+B,CAAC,KAAK,CAAC;YACrD,gBAAgB,EAAE,oBAAoB,CAAC,iBAAiB;YACxD,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QAC9D,OAAO;IACX,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvI,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnI,MAAM,uBAAuB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,GAAG,EAAE,gCAAgC,EAAE,KAAK,IAAI,EAAE;gBACzD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,wBAAwB;QACpC,CAAC;QACD,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,GAAG,EAAE,8BAA8B,EAAE,KAAK,IAAI,EAAE;gBACvD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,wBAAwB;QACpC,CAAC;QACD,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,mCAAmC,CAAC;YACpE,KAAK,EAAE,CAAC,uBAAuB,CAAC;YAChC,KAAK,EAAE,WAAW;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,mCAAmC,CAAC;YAClE,KAAK,EAAE,CAAC,qBAAqB,CAAC;YAC9B,KAAK,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC7C,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACnD,kEAAkE;YAClE,0DAA0D;YAC1D,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,aAAa,EAAE,CAAC;YAC5I,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9I,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC/I,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,aAAa,EAAE,CAAC;YACzI,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,cAAc,EAAE,CAAC;YAC5I,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,aAAa,EAAE,CAAC;YAE3I,sDAAsD;YACtD,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEnH,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;YAE5C,wEAAwE;YACxE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/C,8CAA8C;YAC9C,MAAM,qBAAqB,GAAG,MAAM,kBAAkB,CAAC;gBACnD,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;aACrB,CAAC,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC;gBACjD,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;gBAC1C,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,aAAa,EAAE,CAAC;QAClG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAE9D,4DAA4D;IAE5D,yCAAyC;IACzC,yCAAyC;IACzC,kGAAkG;IAClG,MAAM;IAEN,6BAA6B;IAE7B,+EAA+E;IAE/E,4FAA4F;IAC5F,yEAAyE;IACzE,kDAAkD;IAElD,uDAAuD;IACvD,4CAA4C;IAC5C,0EAA0E;IAC1E,kDAAkD;IAElD,oDAAoD;IACpD,0BAA0B;IAC1B,oBAAoB;IACpB,gEAAgE;IAChE,4BAA4B;IAC5B,MAAM;IAEN,gCAAgC;IAEhC,2BAA2B;IAE3B,8EAA8E;IAE9E,wFAAwF;IACxF,gFAAgF;IAEhF,iCAAiC;IACjC,kEAAkE;IAClE,+EAA+E;IAC/E,oDAAoD;IAEpD,kDAAkD;IAClD,mCAAmC;IACnC,kBAAkB;IAClB,8DAA8D;IAC9D,0BAA0B;IAC1B,MAAM;IAEN,8BAA8B;IAE9B,wDAAwD;IACxD,qEAAqE;IACrE,uIAAuI;IACvI,kFAAkF;IAClF,UAAU;IACV,MAAM;IAEN,qFAAqF;IAErF,6CAA6C;IAC7C,QAAQ;IACR,mDAAmD;IACnD,qCAAqC;IACrC,mCAAmC;IACnC,qBAAqB;IACrB,8CAA8C;IAC9C,oEAAoE;IACpE,qCAAqC;IACrC,UAAU;IACV,8BAA8B;IAC9B,gBAAgB;IAChB,iDAAiD;IACjD,qEAAqE;IACrE,cAAc;IACd,IAAI;IAEJ,yDAAyD;IACzD,yIAAyI;IACzI,uIAAuI;IACvI,4CAA4C;IAC5C,4CAA4C;IAE5C,0DAA0D;IAC1D,4EAA4E;IAC5E,UAAU;IAEV,sEAAsE;IACtE,mFAAmF;IACnF,4DAA4D;IAC5D,8CAA8C;IAE9C,8EAA8E;IAC9E,qEAAqE;IACrE,mDAAmD;IACnD,gCAAgC;IAChC,sEAAsE;IACtE,iDAAiD;IACjD,gCAAgC;IAEhC,0CAA0C;IAC1C,qEAAqE;IACrE,6CAA6C;IAC7C,gCAAgC;IAChC,UAAU;IAEV,4DAA4D;IAC5D,2GAA2G;IAC3G,iEAAiE;IACjE,UAAU;IACV,MAAM;IAEN,+DAA+D;IAE/D,2CAA2C;IAE3C,yCAAyC;IACzC,0CAA0C;IAC1C,yFAAyF;IACzF,MAAM;IAEN,6BAA6B;IAE7B,8EAA8E;IAE9E,gCAAgC;IAChC,qDAAqD;IAErD,gCAAgC;IAEhC,2BAA2B;IAE3B,8FAA8F;IAE9F,8BAA8B;IAC9B,2DAA2D;IAE3D,8BAA8B;IAE9B,wDAAwD;IACxD,qEAAqE;IACrE,yCAAyC;IACzC,UAAU;IACV,MAAM;IAEN,sFAAsF;IAEtF,8BAA8B;IAE9B,yDAAyD;IACzD,0DAA0D;IAC1D,qCAAqC;IACrC,UAAU;IAEV,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,UAAU;IAEV,4DAA4D;IAC5D,qCAAqC;IACrC,UAAU;IACV,MAAM;IAEN,8CAA8C;IAE9C,0CAA0C;IAE1C,yCAAyC;IACzC,mCAAmC;IACnC,+FAA+F;IAC/F,MAAM;IAEN,6BAA6B;IAE7B,yFAAyF;IAEzF,gCAAgC;IAChC,6BAA6B;IAC7B,+DAA+D;IAE/D,gCAAgC;IAEhC,2BAA2B;IAE3B,mGAAmG;IAEnG,8BAA8B;IAC9B,iDAAiD;IACjD,wDAAwD;IAExD,8BAA8B;IAE9B,wDAAwD;IACxD,qEAAqE;IACrE,yCAAyC;IACzC,UAAU;IACV,MAAM;IAEN,qFAAqF;IAErF,8BAA8B;IAE9B,yDAAyD;IACzD,0DAA0D;IAC1D,qCAAqC;IACrC,UAAU;IAEV,4DAA4D;IAC5D,sEAAsE;IACtE,UAAU;IAEV,mEAAmE;IACnE,6EAA6E;IAC7E,UAAU;IAEV,+EAA+E;IAC/E,8DAA8D;IAC9D,oEAAoE;IACpE,UAAU;IAEV,4DAA4D;IAC5D,qCAAqC;IACrC,UAAU;IACV,MAAM;IAEN,6CAA6C;AACjD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-dest-ahead-withid.respec.d.mts","sourceRoot":"","sources":["../../src/sync/sync-innerspace-dest-ahead-withid.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-innerspace-dest-ahead.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies Sync Scenario where the receiver is ahead, with identity enabled.
|
|
5
|
+
*/
|
|
6
|
+
import { respecfully, iReckon, ifWeMight } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
7
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
8
|
+
import { clone, delay, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
9
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
10
|
+
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
11
|
+
import { putInSpace, getFromSpace, registerNewIbGib } from '../witness/space/space-helper.mjs';
|
|
12
|
+
import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
13
|
+
import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
|
|
14
|
+
import { createTimelineRootTestHelper, getTestKeystoneServiceHelper } from '../test-helpers.mjs';
|
|
15
|
+
import { mut8Timeline } from '../timeline/timeline-api.mjs';
|
|
16
|
+
import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
|
|
17
|
+
import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
|
|
18
|
+
import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
|
|
19
|
+
import { getDependencyGraph } from '../common/other/graph-helper.mjs';
|
|
20
|
+
const logalot = false;
|
|
21
|
+
const lc = `[sync-innerspace-dest-ahead.respec]`;
|
|
22
|
+
await respecfully(sir, `Sync InnerSpaces (Dest Ahead)`, async () => {
|
|
23
|
+
let metaspace;
|
|
24
|
+
let sourceSpace;
|
|
25
|
+
let destSpace;
|
|
26
|
+
await respecfully(sir, `Dest Ahead (Remote Newer)`, async () => {
|
|
27
|
+
// 1. Setup Spaces
|
|
28
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
29
|
+
await metaspace.initialize({
|
|
30
|
+
getFnAlert: () => async ({ title, msg }) => { },
|
|
31
|
+
getFnPrompt: () => async ({ title, msg }) => { return ''; },
|
|
32
|
+
getFnPromptPassword: () => async (title, msg) => { return null; },
|
|
33
|
+
});
|
|
34
|
+
while (!metaspace.initialized) {
|
|
35
|
+
await delay(10);
|
|
36
|
+
}
|
|
37
|
+
const defaultLocalUserSpace = await metaspace.getLocalUserSpace({ lock: false });
|
|
38
|
+
await defaultLocalUserSpace.initialized;
|
|
39
|
+
sourceSpace = new InnerSpace_V1({
|
|
40
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
41
|
+
name: 'source',
|
|
42
|
+
uuid: 'source_uuid',
|
|
43
|
+
description: 'source test space',
|
|
44
|
+
});
|
|
45
|
+
await sourceSpace.initialized;
|
|
46
|
+
destSpace = new InnerSpace_V1({
|
|
47
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
48
|
+
name: 'dest',
|
|
49
|
+
uuid: 'dest_uuid',
|
|
50
|
+
description: 'dest test space',
|
|
51
|
+
});
|
|
52
|
+
await destSpace.initialized;
|
|
53
|
+
// 2. Seed Data
|
|
54
|
+
// Root -> V1 (Shared) -> V2 (Dest has New)
|
|
55
|
+
// Source only has V1.
|
|
56
|
+
const v0 = await createTimelineRootTestHelper({
|
|
57
|
+
ib: 'timeline_root_ff',
|
|
58
|
+
data: { type: 'root', label: 'Root' },
|
|
59
|
+
space: sourceSpace,
|
|
60
|
+
});
|
|
61
|
+
const addrV0 = getIbGibAddr({ ibGib: v0 });
|
|
62
|
+
console.log(pretty(v0));
|
|
63
|
+
// V1 (Both have it, but we create in source and copy to dest)
|
|
64
|
+
const v1 = await mut8Timeline({
|
|
65
|
+
timeline: v0,
|
|
66
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V1' } },
|
|
67
|
+
metaspace,
|
|
68
|
+
space: sourceSpace,
|
|
69
|
+
});
|
|
70
|
+
const addrV1 = getIbGibAddr({ ibGib: v1 });
|
|
71
|
+
console.log(pretty(v1));
|
|
72
|
+
// Transfer Root & V1 to Dest
|
|
73
|
+
const initialDepGraph = await getDependencyGraph({ ibGibs: [v0, v1], space: sourceSpace });
|
|
74
|
+
await putInSpace({ space: destSpace, ibGibs: Object.values(initialDepGraph) }); // Naive seeding
|
|
75
|
+
await registerNewIbGib({ space: destSpace, ibGib: v0 });
|
|
76
|
+
await registerNewIbGib({ space: destSpace, ibGib: v1 });
|
|
77
|
+
// V2 (Created in Dest ONLY)
|
|
78
|
+
const v2 = await mut8Timeline({
|
|
79
|
+
timeline: v1, // v1 is in memory, linked to source, but we want to Mutate IN DEST SPACE
|
|
80
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V2' } },
|
|
81
|
+
metaspace,
|
|
82
|
+
space: destSpace, // Mutate in Dest
|
|
83
|
+
});
|
|
84
|
+
const addrV2 = getIbGibAddr({ ibGib: v2 });
|
|
85
|
+
console.log(pretty(v2));
|
|
86
|
+
const fnAddrExistsInSpace = async (addr, space) => {
|
|
87
|
+
const resGet = await getFromSpace({ addr, space });
|
|
88
|
+
return resGet.success && resGet.ibGibs && resGet.ibGibs.length === 1;
|
|
89
|
+
};
|
|
90
|
+
await ifWeMight(sir, 'verify setup', async () => {
|
|
91
|
+
// Ensure V2 is ONLY in Dest (it is, per `space: destSpace`)
|
|
92
|
+
// Ensure Source does NOT have V2
|
|
93
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV0, sourceSpace)).asTo('source has V0').isGonnaBeTrue();
|
|
94
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV1, sourceSpace)).asTo('source has V1').isGonnaBeTrue();
|
|
95
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV2, sourceSpace)).asTo('source has V2').isGonnaBeFalse();
|
|
96
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV0, destSpace)).asTo('dest has V0').isGonnaBeTrue();
|
|
97
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV1, destSpace)).asTo('dest has V1').isGonnaBeTrue();
|
|
98
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV2, destSpace)).asTo('dest has V2').isGonnaBeTrue();
|
|
99
|
+
});
|
|
100
|
+
// 3. Setup Sync
|
|
101
|
+
const mockKeystone = await getTestKeystoneServiceHelper();
|
|
102
|
+
const senderCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
103
|
+
const receiverCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
104
|
+
const peer = new SyncPeerInnerspace_V1(clone(SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1));
|
|
105
|
+
await peer.initialized;
|
|
106
|
+
await peer.initializeSender({
|
|
107
|
+
senderSpace: sourceSpace, // "Client"
|
|
108
|
+
receiverSpace: destSpace, // "Server"
|
|
109
|
+
receiverCoordinator,
|
|
110
|
+
receiverMetaspace: metaspace,
|
|
111
|
+
});
|
|
112
|
+
// 4. Run Sync (Source Pushes V1)
|
|
113
|
+
console.log(`${lc} Running Sync...`);
|
|
114
|
+
const { done, sagaId, updates$ } = await senderCoordinator.sync({
|
|
115
|
+
peer: peer,
|
|
116
|
+
localSpace: sourceSpace,
|
|
117
|
+
metaspace: metaspace,
|
|
118
|
+
domainIbGibs: [v1], // Source tries to push V1
|
|
119
|
+
useSessionIdentity: true,
|
|
120
|
+
});
|
|
121
|
+
await done;
|
|
122
|
+
// 5. Verify Sync (v2 should be in both source and dest now)
|
|
123
|
+
console.log(`${lc} Verifying Sync...`);
|
|
124
|
+
await ifWeMight(sir, `verify v2 now also in source`, async () => {
|
|
125
|
+
// Verify Tip (V2)
|
|
126
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV0, sourceSpace)).asTo('source has V0').isGonnaBeTrue();
|
|
127
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV1, sourceSpace)).asTo('source has V1').isGonnaBeTrue();
|
|
128
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV2, sourceSpace)).asTo('source has V2').isGonnaBeTrue();
|
|
129
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV0, destSpace)).asTo('dest has V0').isGonnaBeTrue();
|
|
130
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV1, destSpace)).asTo('dest has V1').isGonnaBeTrue();
|
|
131
|
+
iReckon(sir, await fnAddrExistsInSpace(addrV2, destSpace)).asTo('dest has V2').isGonnaBeTrue();
|
|
132
|
+
});
|
|
133
|
+
await ifWeMight(sir, `dependency graphs the same`, async () => {
|
|
134
|
+
const sourceDepGraph = await getDependencyGraph({
|
|
135
|
+
ibGibAddr: addrV2,
|
|
136
|
+
space: sourceSpace,
|
|
137
|
+
});
|
|
138
|
+
const destDepGraph = await getDependencyGraph({
|
|
139
|
+
ibGibAddr: addrV2,
|
|
140
|
+
space: destSpace,
|
|
141
|
+
});
|
|
142
|
+
const sourceDepGraphAddrs = Object.keys(sourceDepGraph);
|
|
143
|
+
const destDepGraphAddrs = Object.keys(destDepGraph);
|
|
144
|
+
iReckon(sir, sourceDepGraphAddrs.length === destDepGraphAddrs.length).asTo('dep graphs same size').isGonnaBeTrue();
|
|
145
|
+
sourceDepGraphAddrs.forEach(sourceDepAddr => {
|
|
146
|
+
iReckon(sir, destDepGraphAddrs.includes(sourceDepAddr)).asTo(`${sourceDepAddr} is both graphs`).isGonnaBeTrue();
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
// ========================================================================
|
|
150
|
+
// IDENTITY-RELATED ASSERTIONS (TDD - Expose Implementation Gaps)
|
|
151
|
+
// ========================================================================
|
|
152
|
+
// Need to capture session identity and saga context from sync result
|
|
153
|
+
// For now, we'll retrieve from spaces after sync completes
|
|
154
|
+
let sessionKeystoneAddr;
|
|
155
|
+
await ifWeMight(sir, 'IDENTITY: session keystone exists in sender space', async () => {
|
|
156
|
+
// Session keystone should be in sender's durable space
|
|
157
|
+
// Since we can't enumerate space easily, we verify indirectly:
|
|
158
|
+
// The fact that sync completed means keystone was findable
|
|
159
|
+
// TODO: Capture sessionKeystoneAddr from sync() return value
|
|
160
|
+
// For now, placeholder passes
|
|
161
|
+
iReckon(sir, true)
|
|
162
|
+
.asTo('sync completed (keystone must exist)')
|
|
163
|
+
.isGonnaBeTrue();
|
|
164
|
+
});
|
|
165
|
+
await ifWeMight(sir, 'IDENTITY: session keystone exists in receiver space', async () => {
|
|
166
|
+
// Session keystone should be transferred to receiver's durable space
|
|
167
|
+
iReckon(sir, sessionKeystoneAddr)
|
|
168
|
+
.asTo('session keystone address was captured')
|
|
169
|
+
.isGonnaBeTruthy();
|
|
170
|
+
if (sessionKeystoneAddr) {
|
|
171
|
+
const destResult = await getFromSpace({ addr: sessionKeystoneAddr, space: destSpace });
|
|
172
|
+
iReckon(sir, destResult.success)
|
|
173
|
+
.asTo('receiver has session keystone')
|
|
174
|
+
.isGonnaBeTrue();
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
await ifWeMight(sir, 'IDENTITY: saga frames are signed', async () => {
|
|
178
|
+
// TODO: Get saga frames and check each has a proof
|
|
179
|
+
// This will FAIL when we actually check - that's the point (TDD RED)
|
|
180
|
+
iReckon(sir, false)
|
|
181
|
+
.asTo('saga frames have proofs (NOT IMPLEMENTED - should fail)')
|
|
182
|
+
.isGonnaBeTrue();
|
|
183
|
+
});
|
|
184
|
+
await ifWeMight(sir, 'IDENTITY: frame signatures are valid', async () => {
|
|
185
|
+
// TODO: For each saga frame, validate proof against session keystone
|
|
186
|
+
// const isValid = await validateProofWithKeystone({
|
|
187
|
+
// proof: frame.proof,
|
|
188
|
+
// keystone: sessionKeystone,
|
|
189
|
+
// targetFrame: frame
|
|
190
|
+
// });
|
|
191
|
+
// iReckon(sir, isValid).asTo('proof is valid').isGonnaBeTrue();
|
|
192
|
+
// Placeholder for now
|
|
193
|
+
iReckon(sir, true)
|
|
194
|
+
.asTo('proof validation not yet implemented')
|
|
195
|
+
.isGonnaBeTrue();
|
|
196
|
+
});
|
|
197
|
+
await ifWeMight(sir, 'IDENTITY: session keystone challenges are depleted', async () => {
|
|
198
|
+
// TODO: Session keystone should evolve after signing frames
|
|
199
|
+
// This will FAIL because keystone evolution not implemented yet
|
|
200
|
+
iReckon(sir, false)
|
|
201
|
+
.asTo('challenges depleted (NOT IMPLEMENTED - should fail)')
|
|
202
|
+
.isGonnaBeTrue();
|
|
203
|
+
});
|
|
204
|
+
await ifWeMight(sir, 'IDENTITY: frame timestamps are present and fresh', async () => {
|
|
205
|
+
// TODO: Check each frame has timestamp in proof claim
|
|
206
|
+
// const claim = JSON.parse(frame.proof.claim.scope);
|
|
207
|
+
// iReckon(sir, claim.timestamp).asTo('has timestamp').isGonnaBeTruthy();
|
|
208
|
+
// const age = Date.now() - claim.timestamp;
|
|
209
|
+
// iReckon(sir, age < 60000).asTo('timestamp is fresh (<60s)').isGonnaBeTrue();
|
|
210
|
+
// Placeholder
|
|
211
|
+
iReckon(sir, true)
|
|
212
|
+
.asTo('timestamp validation not yet implemented')
|
|
213
|
+
.isGonnaBeTrue();
|
|
214
|
+
});
|
|
215
|
+
await ifWeMight(sir, 'IDENTITY: keystone has no hard links to domain ibgibs', async () => {
|
|
216
|
+
if (sessionKeystoneAddr) {
|
|
217
|
+
const keystoneResult = await getFromSpace({
|
|
218
|
+
addr: sessionKeystoneAddr,
|
|
219
|
+
space: sourceSpace
|
|
220
|
+
});
|
|
221
|
+
if (keystoneResult.success && keystoneResult.ibGibs && keystoneResult.ibGibs.length > 0) {
|
|
222
|
+
const keystone = keystoneResult.ibGibs[0];
|
|
223
|
+
const rel8ns = keystone.rel8ns || {};
|
|
224
|
+
const allRel8nAddrs = Object.values(rel8ns)
|
|
225
|
+
.flat()
|
|
226
|
+
.filter(addr => typeof addr === 'string');
|
|
227
|
+
const domainAddrs = [addrV0, addrV1, addrV2];
|
|
228
|
+
for (const domainAddr of domainAddrs) {
|
|
229
|
+
iReckon(sir, allRel8nAddrs.includes(domainAddr))
|
|
230
|
+
.asTo(`keystone does not hard link to ${domainAddr}`)
|
|
231
|
+
.isGonnaBeFalse();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
await ifWeMight(sir, 'IDENTITY: saga frames have no hard links to domain ibgibs', async () => {
|
|
237
|
+
// Saga frames should NOT have hard links to domain ibgibs
|
|
238
|
+
// This currently PASSES but will expose issues if hard links exist
|
|
239
|
+
iReckon(sir, true)
|
|
240
|
+
.asTo('hard link validation (placeholder)')
|
|
241
|
+
.isGonnaBeTrue();
|
|
242
|
+
// TODO: Get saga frames and check their rel8ns
|
|
243
|
+
// for (const frame of sagaFrames) {
|
|
244
|
+
// const rel8nAddrs = Object.values(frame.rel8ns || {}).flat();
|
|
245
|
+
// for (const domainAddr of [addrV0, addrV1, addrV2]) {
|
|
246
|
+
// iReckon(sir, rel8nAddrs.includes(domainAddr)).asTo get('no hard link').isGonnaBeFalse();
|
|
247
|
+
// }
|
|
248
|
+
// }
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
//# sourceMappingURL=sync-innerspace-dest-ahead-withid.respec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-dest-ahead-withid.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-innerspace-dest-ahead-withid.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ export class SyncSagaCoordinator {
|
|
|
100
100
|
try {
|
|
101
101
|
// BOOTSTRAP IDENTITY (Session Keystone)
|
|
102
102
|
const sessionIdentity = useSessionIdentity
|
|
103
|
-
? await this.getSessionIdentity({ sagaId, metaspace,
|
|
103
|
+
? await this.getSessionIdentity({ sagaId, metaspace, localSpace })
|
|
104
104
|
: undefined;
|
|
105
105
|
// if (logalot) { console.log(`${lc} sessionIdentity: ${sessionIdentity ? pretty(sessionIdentity) : 'undefined'} (I: abc01872800b3a66b819a05898bba826)`); }
|
|
106
106
|
// CREATE INITIAL FRAME (Stage.init)
|
|
@@ -212,7 +212,7 @@ export class SyncSagaCoordinator {
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
async getSessionIdentity({ sagaId, metaspace,
|
|
215
|
+
async getSessionIdentity({ sagaId, metaspace, localSpace, }) {
|
|
216
216
|
const lc = `${this.lc}[${this.getSessionIdentity.name}]`;
|
|
217
217
|
try {
|
|
218
218
|
if (logalot) {
|
|
@@ -229,7 +229,7 @@ export class SyncSagaCoordinator {
|
|
|
229
229
|
masterSecret: sagaId,
|
|
230
230
|
configs: [config],
|
|
231
231
|
metaspace,
|
|
232
|
-
space:
|
|
232
|
+
space: localSpace // ✅ FIXED: Use durable space, not temp space
|
|
233
233
|
});
|
|
234
234
|
return sessionIdentity;
|
|
235
235
|
}
|