@bevel-software/platform-core-backend 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/core/core-ports.d.ts +7 -0
  2. package/dist/core/core-ports.d.ts.map +1 -1
  3. package/dist/core/core-ports.js.map +1 -1
  4. package/dist/core/create-core-server.d.ts.map +1 -1
  5. package/dist/core/create-core-server.js +24 -11
  6. package/dist/core/create-core-server.js.map +1 -1
  7. package/dist/core/create-core-services.d.ts +7 -2
  8. package/dist/core/create-core-services.d.ts.map +1 -1
  9. package/dist/core/create-core-services.js +39 -18
  10. package/dist/core/create-core-services.js.map +1 -1
  11. package/dist/modules/access/access.routes.d.ts +3 -1
  12. package/dist/modules/access/access.routes.d.ts.map +1 -1
  13. package/dist/modules/access/access.routes.js +4 -2
  14. package/dist/modules/access/access.routes.js.map +1 -1
  15. package/dist/modules/access/render-roles-yaml.d.ts +22 -0
  16. package/dist/modules/access/render-roles-yaml.d.ts.map +1 -0
  17. package/dist/modules/access/render-roles-yaml.js +56 -0
  18. package/dist/modules/access/render-roles-yaml.js.map +1 -0
  19. package/dist/modules/access/roles-admin.service.d.ts +15 -1
  20. package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
  21. package/dist/modules/access/roles-admin.service.js +30 -15
  22. package/dist/modules/access/roles-admin.service.js.map +1 -1
  23. package/dist/modules/settings/setup.routes.d.ts +10 -1
  24. package/dist/modules/settings/setup.routes.d.ts.map +1 -1
  25. package/dist/modules/settings/setup.routes.js +111 -6
  26. package/dist/modules/settings/setup.routes.js.map +1 -1
  27. package/dist/modules/workspace/startup/kb-git.d.ts +23 -0
  28. package/dist/modules/workspace/startup/kb-git.d.ts.map +1 -0
  29. package/dist/modules/workspace/startup/kb-git.js +86 -0
  30. package/dist/modules/workspace/startup/kb-git.js.map +1 -0
  31. package/dist/modules/workspace/startup/kb-startup-runner.d.ts +74 -0
  32. package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -0
  33. package/dist/modules/workspace/startup/kb-startup-runner.js +528 -0
  34. package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -0
  35. package/dist/modules/workspace/startup/on-server-start.d.ts +105 -0
  36. package/dist/modules/workspace/startup/on-server-start.d.ts.map +1 -0
  37. package/dist/modules/workspace/startup/on-server-start.js +21 -0
  38. package/dist/modules/workspace/startup/on-server-start.js.map +1 -0
  39. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts +46 -0
  40. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts.map +1 -0
  41. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js +492 -0
  42. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js.map +1 -0
  43. package/dist/modules/workspace/startup/steps/roles-yaml.step.d.ts +23 -0
  44. package/dist/modules/workspace/startup/steps/roles-yaml.step.d.ts.map +1 -0
  45. package/dist/modules/workspace/startup/steps/roles-yaml.step.js +69 -0
  46. package/dist/modules/workspace/startup/steps/roles-yaml.step.js.map +1 -0
  47. package/dist/modules/workspace/startup/steps/seed-tree.d.ts +17 -0
  48. package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -0
  49. package/dist/modules/workspace/startup/steps/seed-tree.js +109 -0
  50. package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -0
  51. package/dist/modules/workspace/startup/steps/template-files.step.d.ts +103 -0
  52. package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -0
  53. package/dist/modules/workspace/startup/steps/template-files.step.js +337 -0
  54. package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -0
  55. package/dist/modules/workspace/workspace.service.d.ts +0 -35
  56. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  57. package/dist/modules/workspace/workspace.service.js +2 -101
  58. package/dist/modules/workspace/workspace.service.js.map +1 -1
  59. package/kb-template/AGENTS.md +11 -5
  60. package/kb-template/access.md +40 -30
  61. package/kb-template/gitignore.template +16 -0
  62. package/package.json +3 -3
  63. package/src/core/core-ports.ts +7 -0
  64. package/src/core/create-core-server.ts +30 -11
  65. package/src/core/create-core-services.ts +43 -22
  66. package/src/modules/access/__tests__/roles-admin.service.test.ts +24 -2
  67. package/src/modules/access/access.routes.ts +3 -0
  68. package/src/modules/access/render-roles-yaml.ts +65 -0
  69. package/src/modules/access/roles-admin.service.ts +32 -14
  70. package/src/modules/settings/__tests__/setup.routes.test.ts +124 -3
  71. package/src/modules/settings/setup.routes.ts +112 -5
  72. package/src/modules/workspace/__tests__/workspace.service.test.ts +5 -94
  73. package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +495 -0
  74. package/src/modules/workspace/startup/kb-git.ts +94 -0
  75. package/src/modules/workspace/startup/kb-startup-runner.ts +597 -0
  76. package/src/modules/workspace/startup/on-server-start.ts +97 -0
  77. package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +636 -0
  78. package/src/modules/workspace/{plugins-migration.ts → startup/steps/groups-to-plugins.step.ts} +342 -260
  79. package/src/modules/workspace/startup/steps/roles-yaml.step.ts +71 -0
  80. package/src/modules/workspace/startup/steps/seed-tree.ts +115 -0
  81. package/src/modules/workspace/startup/steps/template-files.step.ts +360 -0
  82. package/src/modules/workspace/workspace.service.ts +2 -106
  83. package/src/modules/workspace/__tests__/kb-seed.service.test.ts +0 -512
  84. package/src/modules/workspace/__tests__/plugins-migration.test.ts +0 -427
  85. package/src/modules/workspace/kb-seed.interface.ts +0 -36
  86. package/src/modules/workspace/kb-seed.service.ts +0 -584
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.service.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.service.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.service.ts"],"names":[],"mappings":"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"}
@@ -69,21 +69,6 @@ export class WorkspaceService {
69
69
  * each other's working tree.
70
70
  */
71
71
  inFlightBootstraps = new Map();
72
- /**
73
- * Branches whose clone already got this process's scaffolding top-up.
74
- * Per-process on purpose: each boot of a new build re-offers the top-up
75
- * once, which is exactly when an upgrade's migrations must run. Cleared
76
- * wherever `branchDirs` forgets a branch (delete, failed bootstrap), so a
77
- * re-created clone is offered the top-up again rather than judged by the
78
- * fate of one that no longer exists.
79
- *
80
- * `inFlightTopUps` is the concurrency half: membership in the Set is
81
- * claimed BEFORE the (slow, file-moving) top-up finishes, so a concurrent
82
- * caller that finds the branch claimed must still await the in-flight run
83
- * — returning early would hand out a workspace mid-migration.
84
- */
85
- toppedUpBranches = new Set();
86
- inFlightTopUps = new Map();
87
72
  /** Per-workspace-dir `git fetch origin` timestamp + in-flight tracker. */
88
73
  lastFetchAt = new Map();
89
74
  inFlightFetches = new Map();
@@ -92,13 +77,6 @@ export class WorkspaceService {
92
77
  * WorkspaceService for path resolution.
93
78
  */
94
79
  diffService = null;
95
- /**
96
- * Late-bound by the composition root. Awaited once before the first per-branch
97
- * clone so the KB remote is guaranteed to carry the protected branches + base
98
- * scaffolding — a fresh (or partially-populated) remote is seeded rather than
99
- * assumed. Null in tests / setups that pre-provision the remote themselves.
100
- */
101
- seedService = null;
102
80
  /**
103
81
  * Late-bound by the composition root: notified with the workspace id
104
82
  * right after a branch's clone is created. The git layer uses this to
@@ -127,9 +105,6 @@ export class WorkspaceService {
127
105
  setDiffService(diffService) {
128
106
  this.diffService = diffService;
129
107
  }
130
- setSeedService(seedService) {
131
- this.seedService = seedService;
132
- }
133
108
  setWorkspaceClonedListener(listener) {
134
109
  this.onWorkspaceCloned = listener;
135
110
  }
@@ -283,11 +258,6 @@ export class WorkspaceService {
283
258
  // pulls it. Once per branch per process — the cached paths above return
284
259
  // before reaching here.
285
260
  await this.normalizeCloneTracking(repoDir, branch);
286
- // Same restart-survivor reasoning for the scaffolding top-up: an
287
- // UPGRADED deployment reuses this clone, so a top-up bound to fresh
288
- // clones alone never runs a new build's scaffolding or migrations —
289
- // the Groups→Plugins rename sat out an upgrade exactly this way.
290
- await this.topUpScaffolding(repoDir, branch);
291
261
  this.branchDirs.set(branch, workspaceDir);
292
262
  return this.buildWorkspaceInfo(branch, workspaceDir);
293
263
  }
@@ -311,13 +281,8 @@ export class WorkspaceService {
311
281
  }
312
282
  this.inFlightBootstraps.set(branch, bootstrap);
313
283
  try {
314
- // Ensure the remote is seeded before the first clone of any branch. A
315
- // clone with `-b <branch>` fails outright on an empty remote, so seeding
316
- // must happen ahead of it. The seed service is single-flight, so this is
317
- // a cheap already-resolved await on every clone after the first.
318
- if (this.seedService) {
319
- await this.seedService.ensureRemoteSeeded();
320
- }
284
+ // A clone with `-b <branch>` against a never-seeded remote fails
285
+ // naturally; seeding the remote is the KB startup phase's job, at boot.
321
286
  await fs.mkdir(workspaceDir, { recursive: true });
322
287
  await this.cloneProcessMapForBranch(workspaceDir, branch);
323
288
  this.branchDirs.set(branch, workspaceDir);
@@ -325,9 +290,6 @@ export class WorkspaceService {
325
290
  }
326
291
  catch (err) {
327
292
  this.branchDirs.delete(branch);
328
- // The clone was rolled back, and any top-up claim belonged to it — a
329
- // retried bootstrap must be offered the top-up afresh.
330
- this.toppedUpBranches.delete(branch);
331
293
  rejectBootstrap(err);
332
294
  throw err;
333
295
  }
@@ -371,7 +333,6 @@ export class WorkspaceService {
371
333
  }
372
334
  catch (err) {
373
335
  this.branchDirs.delete(branch);
374
- this.toppedUpBranches.delete(branch);
375
336
  throw err;
376
337
  }
377
338
  }
@@ -398,43 +359,6 @@ export class WorkspaceService {
398
359
  console.warn(`[workspace] could not normalize the tracking config of the "${branch}" clone:`, redactError(err));
399
360
  }
400
361
  }
401
- /**
402
- * The ONE spelling of the best-effort scaffolding top-up (three call sites:
403
- * the restart-survivor path in `getOrCreateForBranch`, and the
404
- * already-cloned / fresh-clone paths in `cloneProcessMapForBranch`). Once
405
- * per branch per process, and SINGLE-FLIGHT: the branch is claimed in
406
- * `toppedUpBranches` before the run starts, so a concurrent caller that
407
- * finds it claimed awaits the in-flight run instead of returning a
408
- * workspace the migration is still moving files under. Never throws — a
409
- * failed top-up costs the upgrade, not the clone.
410
- */
411
- async topUpScaffolding(repoDir, branch) {
412
- const seedService = this.seedService;
413
- if (!seedService)
414
- return;
415
- if (this.toppedUpBranches.has(branch)) {
416
- await this.inFlightTopUps.get(branch);
417
- return;
418
- }
419
- this.toppedUpBranches.add(branch);
420
- const run = (async () => {
421
- try {
422
- await seedService.topUpWorkspace(repoDir, branch);
423
- }
424
- catch (topUpErr) {
425
- console.error(`[workspace] scaffolding top-up failed for branch "${branch}" (clone kept):`, redactError(topUpErr));
426
- }
427
- })();
428
- this.inFlightTopUps.set(branch, run);
429
- try {
430
- await run;
431
- }
432
- finally {
433
- if (this.inFlightTopUps.get(branch) === run) {
434
- this.inFlightTopUps.delete(branch);
435
- }
436
- }
437
- }
438
362
  async cloneProcessMapForBranch(workspaceDir, branch) {
439
363
  const targetDir = path.join(workspaceDir, this.kbDirName);
440
364
  // Probe whether `targetDir` exists. We split the existence check from
@@ -484,11 +408,6 @@ export class WorkspaceService {
484
408
  // it never touches the working tree, and a drifted config is what
485
409
  // breaks the next pull.
486
410
  await this.normalizeCloneTracking(targetDir, branch);
487
- // An upgraded deployment REUSES this persistent clone, so a top-up
488
- // bound to fresh clones alone never runs a new build's scaffolding
489
- // or migrations here — the Groups→Plugins rename sat out an upgrade
490
- // for exactly this reason.
491
- await this.topUpScaffolding(targetDir, branch);
492
411
  return;
493
412
  }
494
413
  // Half-built dir — wipe and re-clone.
@@ -524,15 +443,6 @@ export class WorkspaceService {
524
443
  catch (listenerErr) {
525
444
  console.error(`[workspace] onWorkspaceCloned listener failed for branch "${branch}":`, redactError(listenerErr));
526
445
  }
527
- // Fill in any base scaffolding this branch is missing, now that it's
528
- // freshly checked out. Runs on whichever branch the user loaded (not
529
- // just protected ones). Best-effort inside the helper — like the
530
- // onWorkspaceCloned listener above — so even a future change that lets
531
- // it throw can never roll back an otherwise-good clone. (The
532
- // once-per-process guard is a formality here: a branch being freshly
533
- // cloned was either never topped up or had its claim cleared with the
534
- // clone it belonged to.)
535
- await this.topUpScaffolding(targetDir, branch);
536
446
  }
537
447
  catch (err) {
538
448
  const redacted = redactError(err);
@@ -561,10 +471,6 @@ export class WorkspaceService {
561
471
  await fs.rm(workspaceDir, { recursive: true, force: true });
562
472
  const branch = branchForWorkspaceId(workspaceId);
563
473
  this.branchDirs.delete(branch);
564
- // The top-up claim died with the clone it was made against — a branch
565
- // re-created later gets a fresh clone and must be offered it again (and
566
- // without this, long-lived processes would accumulate dead branch names).
567
- this.toppedUpBranches.delete(branch);
568
474
  }
569
475
  async listFiles(workspaceId, readFilter) {
570
476
  const workspaceDir = await this.resolveWorkspaceDir(workspaceId);
@@ -1160,11 +1066,6 @@ export class WorkspaceService {
1160
1066
  try {
1161
1067
  await fs.rm(dir, { recursive: true, force: true });
1162
1068
  this.branchDirs.delete(branchForWorkspaceId(entry.name));
1163
- // The top-up claim dies with the clone (same rule as every other
1164
- // eviction site): a branch re-created after the sweep gets a fresh
1165
- // clone that must be OFFERED the scaffolding top-up, not judged by
1166
- // the fate of a directory that no longer exists.
1167
- this.toppedUpBranches.delete(branchForWorkspaceId(entry.name));
1168
1069
  removed.push(entry.name);
1169
1070
  }
1170
1071
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAiCpG,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kBAAkB;AACnE,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kCAAkC;AAEnF,uEAAuE;AACvE,sEAAsE;AACtE,mEAAmE;AACnE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAChB;IAA5B,YAA4B,UAAkB;QAC5C,KAAK,CAAC,sBAAsB,UAAU,2BAA2B,CAAC,CAAC;QADzC,eAAU,GAAV,UAAU,CAAQ;QAE5C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAClC,MAAM,SAAS,GAAG,+BAA+B,CAAC;AAElD,8DAA8D;AAC9D,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAWD,MAAM,OAAO,gBAAgB;IA8BR;IAWA;IAxCnB,+DAA+D;IAC9C,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD;;;;OAIG;IACc,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvE,0EAA0E;IACzD,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpE;;;OAGG;IACK,WAAW,GAAwB,IAAI,CAAC;IAEhD;;;;;OAKG;IACK,iBAAiB,GAA2C,IAAI,CAAC;IAEzE,YACmB,cAAsB;IACvC;;;;;;;;OAQG;IACH,SAAkC,EACjB,SAAiB,EAClC,cAAuC,gBAAgB;QAZtC,mBAAc,GAAd,cAAc,CAAQ;QAWtB,cAAS,GAAT,SAAS,CAAQ;QAGlC,IAAI,CAAC,SAAS,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,WAAW,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;IACzF,CAAC;IAEgB,SAAS,CAAe;IACxB,WAAW,CAAe;IAE3C,cAAc,CAAC,WAAyB;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,0BAA0B,CAAC,QAAuC;QAChE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,8GAA8G;IACtG,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,aAAsB;QAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACvC,8GAA8G;QAC9G,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,wEAAwE;QACxE,oEAAoE;QACpE,+DAA+D;QAC/D,mEAAmE;QACnE,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,gGAAgG;YAChG,4FAA4F;YAC5F,kEAAkE;YAClE,IAAI,CAAC,IAAI,CACP,IAAI,EAAE,2CAA2C,IAAI,CAAC,WAAW,EAAE,wCAAwC,CAC5G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,eAAe,CAAC,aAAqB;QACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,OAA4D,CAAC;QACjE,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5C,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,OAA4D,CAAC;QACjE,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpF,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CACpB,SAAiB,EACjB,MAAc,EACd,aAA4B;QAE5B,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;oBAC9E,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;iBACxB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,qCAAqC,MAAM,uCAAuC,EAClF,WAAW,CAAC,GAAG,CAAC,CACjB,CAAC;gBACF,iEAAiE;gBACjE,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;YAC/D,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAExD,qEAAqE;QACrE,qEAAqE;QACrE,gCAAgC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,kEAAkE;QAClE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,sEAAsE;QACtE,gEAAgE;QAChE,6DAA6D;QAC7D,wDAAwD;QACxD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,kEAAkE;QAClE,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,yEAAyE;YACzE,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,wBAAwB;YACxB,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QAED,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,gBAA6B,CAAC;QAClC,IAAI,eAAwC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,gBAAgB,GAAG,GAAG,CAAC;YACvB,eAAe,GAAG,GAAG,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,iBAAiB,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,iEAAiE;YACjE,wEAAwE;YACxE,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,gBAAgB,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAe,EAAE,MAAe;QACvD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IAC7D,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,YAAoB;QAC7D,OAAO;YACL,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,GAAG,MAAM,EAAE;YACjB,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,qBAAqB,CAAC,MAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,MAAc;QAClE,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,sDAAsD;YACtD,OAAO,CAAC,IAAI,CACV,+DAA+D,MAAM,UAAU,EAC/E,WAAW,CAAC,GAAG,CAAC,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,YAAoB,EAAE,MAAc;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1D,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAAoC,EAAE,IAAI,CAAC;YACzD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,kEAAkE;YAClE,8DAA8D;YAC9D,gEAAgE;YAChE,gEAAgE;YAChE,aAAa;YACb,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC5C,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,2DAA2D;gBAC3D,8DAA8D;gBAC9D,gEAAgE;gBAChE,gEAAgE;gBAChE,MAAM,IAAI,GAAI,GAAoC,EAAE,IAAI,CAAC;gBACzD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5C,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,+DAA+D;gBAC/D,mEAAmE;gBACnE,kEAAkE;gBAClE,wBAAwB;gBACxB,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,sCAAsC;YACtC,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAClD,8DAA8D;YAC9D,2BAA2B;YAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;YAClF,6DAA6D;YAC7D,2DAA2D;YAC3D,oDAAoD;YACpD,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/E,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACjF,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CACT,sBAAsB,IAAI,CAAC,SAAS,gBAAgB,MAAM,GAAG;gBAC3D,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CACrD,CAAC;YACF,sEAAsE;YACtE,wEAAwE;YACxE,yEAAyE;YACzE,iDAAiD;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CACX,6DAA6D,MAAM,IAAI,EACvE,WAAW,CAAC,WAAW,CAAC,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,2CAA2C,MAAM,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/E,iEAAiE;YACjE,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,UAA2B;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,YAAoB;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,YAAoB;QAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,WAA6B,EAAiB,EAAE;YAC/E,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;oBAAE,SAAS;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;oBAAE,SAAS;gBACjE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvE,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,YAAoB;QAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,WAA6B,EAAiB,EAAE;YAC/E,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;oBAAE,SAAS;gBAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE;oBAAE,SAAS;gBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;oBAAE,SAAS;gBACjE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBAAE,SAAS,CAAC,+BAA+B;gBAC9D,kEAAkE;gBAClE,gEAAgE;gBAChE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,sBAAsB,EAAE,CAAC;oBAC1D,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACxD,CAAC;gBACD,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;gBAC9B,oEAAoE;gBACpE,+DAA+D;gBAC/D,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,IAAI;qBACnB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;qBAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,GAAW,EACX,YAAoB;QAEpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC,EACvD,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CACnD,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,IAAI,GAAG,kBAAkB;YAAE,OAAO;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,0EAA0E;QAC1E,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,OAAO,GAAG,aAAa,CAC3B,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,EAC5C,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAC5B;aACE,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAW;QACnC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,YAAoB;QACtD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACrE,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,YAAoB;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iFAAiF,WAAW,KAAK,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,eAAuB,EAAE,eAAuB;QACnF,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,YAAoB,EACpB,OAAe,EACf,OAAoC;QAEpC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,6CAA6C;YAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE;gBACxC,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAgC,IAAI,KAAK,CACrD,IAAI,YAAY,mBAAmB,CACpC,CAAC;gBACF,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;gBACtB,MAAM,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,YAAoB;QAC7D,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,YAAoB,EAAE,IAAgB;QAC/E,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,eAAuB,EACvB,mBAA4B;IAC5B;;;;;OAKG;IACH,UAAsD;QAEtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,OAAO,GAAG,mBAAmB,IAAI,YAAY,CAAC;QACpD,IAAI,OAAO;YAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAClF,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEvD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACrC,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,MAAM,EAAE,mBAAmB,iBAAiB,UAAU;iBACvD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,cAAc,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEpD,IACE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;gBAC/B,OAAO,KAAK,UAAU;gBACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC9B,OAAO,KAAK,WAAW;gBACvB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EACzB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,aAAa,GAAkB,IAAI,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,MAAM,EAAE,CAAC;oBACX,aAAa,GAAG,MAAM,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,cAAc,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI;iBACtB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;iBACtC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACvB,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,oDAAoD;YACpD,MAAM,UAAU,GAAG,KAAK,IAAsB,EAAE;gBAC9C,IAAI,CAAC,UAAU;oBAAE,OAAO,IAAI,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,EAAE,CAAC,CAAC;oBACzH,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC;oBAAE,SAAS;gBACpC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC;YAC7C,IAAI,YAAY,GAAG,qBAAqB,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,iBAAiB,qBAAqB,sBAAsB;iBACrE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,iBAAiB,GAAG,YAAY,GAAG,qBAAqB,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,mBAAmB,qBAAqB,gCAAgC;iBACjF,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,iBAAiB,qBAAqB,sBAAsB;iBACrE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,GAAG,qBAAqB,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,mBAAmB,qBAAqB,gCAAgC;iBACjF,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC;gBAAE,SAAS;YACpC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACzC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG;YACjF,SAAS;YACT,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,wBAAwB,CAAC,WAAmB;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC;YAChC,MAAM;SACP,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,iBAAiB,CACrB,WAAmB;QAEnB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,oEAAoE;YACpE,mEAAmE;YACnE,kBAAkB;YAClB,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE;gBAC1F,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,qDAAqD,WAAW,GAAG,EACnE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC9B,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,wDAAwD;YACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,qEAAqE;YACrE,8CAA8C;YAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,uBAAuB,CAC3B,aAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,aAAa;YAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,IAAI,OAA4D,CAAC;QACjE,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvC,kEAAkE;YAClE,6DAA6D;YAC7D,IAAI,CAAC;gBACH,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,gCAAgC,KAAK,CAAC,IAAI,GAAG,EAC7C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH;;;;;OAKG;IACK,sBAAsB,CAAC,WAAmB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,sCAAsC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QACnD,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACtC,CAAC;QACD,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,8DAA8D;QAC9D,oDAAoD;QACpD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACtC,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,uEAAuE;YACvE,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,YAAoB,EAAE,YAAoB;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,GAAW,EACX,aAAqB,EACrB,YAA8B,EAC9B,UAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEzD,wEAAwE;QACxE,MAAM,UAAU,GAA0E,EAAE,CAAC;QAC7F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,iEAAiE;YACjE,kEAAkE;YAClE,oCAAoC;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAEpE,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK;gBACL,SAAS;gBACT,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,sCAAsC;QACtC,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,YAAY,IAAI,GAAG;YACjC,IAAI,EAAE,WAAW;YACjB,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -110,11 +110,17 @@ Write access to any path is governed by `roles.yaml` (who has which role) and
110
110
  - **Roles** in `roles.yaml` map a role name to a list of emails. Role names are
111
111
  case- and whitespace-insensitive (`Admin` = `admin` = `ADMIN`; `Product Team`
112
112
  = `product team`). The reserved name `deny` cannot be used.
113
- - **Access rules** live in `access.md` files. Each declares a `write:` list
114
- whose entries are either grants (bare principal — a role name or
115
- `Name <email>`) or denials (the lowercase word `deny`, a space, then the
116
- principal). Capitalised forms like `Deny` are *not* triggers; they are
117
- treated as part of a name.
113
+ - **Access rules** live in `access.md` files, which carry **two blocks with two
114
+ scopes**: the body declares the rules for the folder the file sits in, and the
115
+ frontmatter declares who may read and write that `access.md` itself. Each
116
+ block names verbs (`read`, `write`, `download`, `owner`) whose entries are
117
+ either grants (bare principal — a role name or `Name <email>`) or denials
118
+ (the lowercase word `deny`, a space, then the principal). Capitalised forms
119
+ like `Deny` are *not* triggers; they are treated as part of a name.
120
+ - **Keep an `access.md` body pure YAML**, with any explanation in `#` comments.
121
+ A body that does not parse as YAML naming at least one verb is read in the
122
+ older format instead, where the FRONTMATTER carried the folder's rules — so a
123
+ stray line of prose silently changes which block governs the folder.
118
124
  - **Resolution** walks repo root → file directory, accumulating per-principal
119
125
  state. User-level entries trump role-level entries. A role denial removes
120
126
  only that role's contribution; it does not undo grants from other roles.
@@ -1,36 +1,46 @@
1
1
  ---
2
+ # Frontmatter governs THIS FILE — who may change the repository-wide rules below.
3
+ owner:
4
+ - Admin
5
+ ---
6
+ # Body governs the FOLDER. This is the root of the access-control tree, so every
7
+ # path inherits what is declared here unless a nearer access.md overrides it.
8
+ #
9
+ # Two blocks, two scopes: the frontmatter above is about this file, the body
10
+ # here is about the folder. Keep the body pure YAML and put prose in `#`
11
+ # comments like these — a body that does not parse as YAML naming at least one
12
+ # verb falls back to the older format, in which the FRONTMATTER carried the
13
+ # folder's rules. That fallback is silent.
14
+ #
15
+ # Verbs are read, write, download and owner. `owner` implies the rest and
16
+ # `write` implies `read`. Read is default-deny: a folder with no `read:` grant
17
+ # is invisible to everyone except admins, who read through `write: Admin`.
18
+ #
19
+ # Each entry is a grant (a bare principal) or a denial (the lowercase word
20
+ # `deny`, a space, then the principal — capitalised forms like `Deny` are
21
+ # treated as part of a name). A principal is a role name from roles.yaml,
22
+ # matched case-insensitively, or a user reference in `Name <email>` form.
23
+ # See roles.yaml for the identity to role mapping.
24
+ #
25
+ # To tighten or widen a subtree, drop an access.md into any folder at any depth,
26
+ # with the same two blocks. For example, in KnowledgeBase/Finance/access.md:
27
+ #
28
+ # ---
29
+ # owner:
30
+ # - Admin
31
+ # ---
32
+ # read:
33
+ # - Finance
34
+ # write:
35
+ # - Admin
36
+ # - Jane Doe <jane.doe@example.com>
37
+ # - deny Mallory Bad <mallory@example.com>
38
+ #
39
+ # Resolution walks the repo root down to the file's own directory; for each
40
+ # principal, the closest rule naming them wins. Rules are enforced at runtime,
41
+ # so a malformed roles.yaml or access.md surfaces when access is resolved.
2
42
  write:
3
43
  - Admin
4
44
  download:
5
45
  - Admin
6
46
  owner: []
7
- ---
8
-
9
- # Repository access
10
-
11
- This file is the root of the access-control tree for this knowledge base. It grants
12
- write access only to the `Admin` role by default. Subfolders can broaden or narrow
13
- access by adding their own `access.md`.
14
-
15
- See [roles.yaml](roles.yaml) for the identity → role mapping. Access resolution and validation
16
- run in the Bevel platform.
17
-
18
- ## Adding a folder-level rule
19
-
20
- Drop an `access.md` into any folder, at any depth. Frontmatter
21
- only — the body is ignored. Example:
22
-
23
- ```yaml
24
- ---
25
- write:
26
- - Admin
27
- - Editor
28
- - Jane Doe <jane.doe@example.com>
29
- - deny Mallory Bad <mallory@example.com>
30
- ---
31
- ```
32
-
33
- Each entry is either a grant (bare principal) or a denial (`deny <principal>` —
34
- **lowercase `deny` only**; capitalised forms like `Deny` are treated as part of a
35
- name). A principal is either a role name (matched case-insensitively against
36
- `roles.yaml`) or a user reference in `Name <email>` form.
@@ -0,0 +1,16 @@
1
+ # Node
2
+ node_modules/
3
+ npm-debug.log*
4
+ yarn-debug.log*
5
+ yarn-error.log*
6
+ pnpm-debug.log*
7
+
8
+ # Editors / OS
9
+ .DS_Store
10
+ Thumbs.db
11
+ .vscode/
12
+ .idea/
13
+
14
+ # Local env
15
+ .env
16
+ .env.local
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bevel-software/platform-core-backend",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "Open-source core backend of the Bevel platform: git-backed knowledge workspace, workflow (branches/change requests/locks/SSE), skills, tools, secrets vault, access control and the remote MCP surface.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -46,8 +46,8 @@
46
46
  "pg": "^8.20.0",
47
47
  "yaml": "^2.9.0",
48
48
  "zod": "^3.24.0",
49
- "@bevel-software/platform-mcp-core": "0.8.0",
50
- "@bevel-software/platform-shared": "0.8.0"
49
+ "@bevel-software/platform-mcp-core": "0.9.1",
50
+ "@bevel-software/platform-shared": "0.9.1"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/adm-zip": "^0.5.8",
@@ -6,6 +6,7 @@ import type {
6
6
  import type { ILlmUsageMeter } from '../modules/tool-auth/llm-usage-meter.js';
7
7
  import type { AuthProviderPlugin } from '../modules/auth/auth.routes.js';
8
8
  import type { IErasureParticipant } from '../modules/auth/account-erasure.service.js';
9
+ import type { OnServerStart } from '../modules/workspace/startup/on-server-start.js';
9
10
 
10
11
  /**
11
12
  * Every seam the enterprise overlay can fill in the CORE composition
@@ -91,6 +92,12 @@ export interface CorePorts {
91
92
  * should arrive carrying READMEs.
92
93
  */
93
94
  kbExtraRootDirs?: readonly string[];
95
+ /**
96
+ * Steps THIS distribution appends to the KB startup phase, run after core's
97
+ * own steps in array order (see `startup/on-server-start.ts` for the
98
+ * contract each step signs up to). Core default: `[]`.
99
+ */
100
+ kbStartupSteps?: readonly OnServerStart[];
94
101
  }
95
102
 
96
103
  /**
@@ -212,12 +212,28 @@ export async function createCoreServer(
212
212
  });
213
213
  });
214
214
 
215
- // Close change requests whose source branch has been deleted. Not awaited:
216
- // it fetches from origin, and a slow or unreachable remote must not hold up
217
- // the server — nothing downstream depends on the result, and the requests it
218
- // closes have been unusable since the branch went away, so landing a few
219
- // seconds into uptime is soon enough. Errors are swallowed inside the sweep,
220
- // which fails safe by closing nothing.
215
+ // Overlay boot-time side effects (startup reconciles, periodic sweeps).
216
+ await ext.onBoot?.(core);
217
+
218
+ // The KB startup phase — AFTER the distribution's onBoot, because a FATAL
219
+ // template finding raised there must stop the boot before anything seeds
220
+ // from that template; the runner then brings every branch up to this build
221
+ // before any route can serve KB content. Throws to stop the boot (the
222
+ // container's restart policy is the retry) — see kb-startup-runner.ts.
223
+ await core.kbStartupRunner.runAll();
224
+
225
+ // Close change requests whose source branch has been deleted. SEQUENCED
226
+ // AFTER the startup phase above, for two reasons: the sweep's fresh fetch
227
+ // lazily bootstraps and fetches the same default-branch clone the runner
228
+ // maintains (kicking it off earlier races the runner's clone/fetch of that
229
+ // very directory), and on a brand-new deployment it would run before the
230
+ // empty remote is seeded, fail its clone, swallow the error, and leave
231
+ // deleted-branch CRs open for the whole process. Still not awaited from
232
+ // here on: a slow or unreachable remote must not hold up the server —
233
+ // nothing downstream depends on the result, and the requests it closes
234
+ // have been unusable since the branch went away, so landing a few seconds
235
+ // into uptime is soon enough. Errors are swallowed inside the sweep, which
236
+ // fails safe by closing nothing.
221
237
  void core.workflowService
222
238
  .closeChangeRequestsWithDeletedBranches()
223
239
  .then((n) => {
@@ -227,9 +243,6 @@ export async function createCoreServer(
227
243
  })
228
244
  .catch((err) => console.warn('[cr] deleted-branch sweep failed:', err));
229
245
 
230
- // Overlay boot-time side effects (startup reconciles, periodic sweeps).
231
- await ext.onBoot?.(core);
232
-
233
246
  // Auth routes (unprotected — login endpoint must be accessible)
234
247
  app.use(
235
248
  '/api',
@@ -389,6 +402,7 @@ export async function createCoreServer(
389
402
  core.eventBus,
390
403
  core.db,
391
404
  core.kbDirName,
405
+ [core.config.adminEmail],
392
406
  ));
393
407
  app.use(
394
408
  '/api',
@@ -421,8 +435,13 @@ export async function createCoreServer(
421
435
  ));
422
436
  // First-run setup. Mounted with the other authed routes but touching NO
423
437
  // workspace — it has to work on a deployment that has no knowledge base yet,
424
- // which is the whole reason it exists.
425
- app.use('/api', core.authMiddleware, createSetupRoutes(core.settings, core.adminAccess));
438
+ // which is the whole reason it exists. The startup runner rides along for
439
+ // the phase's SECOND quiet moment: the save that completes setup.
440
+ app.use(
441
+ '/api',
442
+ core.authMiddleware,
443
+ createSetupRoutes(core.settings, core.adminAccess, core.kbStartupRunner),
444
+ );
426
445
  app.use('/api', core.authMiddleware, createToolManualsBrowserRoutes(core.toolManualService, {
427
446
  service: core.mcpServerEditService,
428
447
  getUser: async (userId) => {