create-principles-disciple 1.78.0 → 1.80.0

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 (42) hide show
  1. package/console/package.json +1 -0
  2. package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.d.ts.map +1 -1
  3. package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js +4 -2
  4. package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js.map +1 -1
  5. package/core/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.d.ts +2 -0
  6. package/core/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.d.ts.map +1 -0
  7. package/core/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.js +95 -0
  8. package/core/dist/runtime-v2/internalization/__tests__/peer-runner-lineage-injection.test.js.map +1 -0
  9. package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  10. package/core/dist/runtime-v2/internalization/artificer-runner.js +3 -1
  11. package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  12. package/core/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  13. package/core/dist/runtime-v2/internalization/dreamer-runner.js +5 -1
  14. package/core/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  15. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  16. package/core/dist/runtime-v2/internalization/evaluator-runner.js +3 -1
  17. package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  18. package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +14 -0
  19. package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  20. package/core/dist/runtime-v2/internalization/peer-runner-contracts.js +21 -0
  21. package/core/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  22. package/core/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
  23. package/core/dist/runtime-v2/internalization/philosopher-runner.js +3 -1
  24. package/core/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
  25. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
  26. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.js +3 -1
  27. package/core/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
  28. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  29. package/core/dist/runtime-v2/internalization/scribe-runner.js +3 -1
  30. package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  31. package/core/dist/runtime-v2/internalization/trainer-runner.d.ts.map +1 -1
  32. package/core/dist/runtime-v2/internalization/trainer-runner.js +3 -1
  33. package/core/dist/runtime-v2/internalization/trainer-runner.js.map +1 -1
  34. package/dist/installer.d.ts.map +1 -1
  35. package/dist/installer.js +15 -0
  36. package/dist/installer.js.map +1 -1
  37. package/package.json +4 -4
  38. package/plugin/dist/hooks/prompt.js +4 -5
  39. package/plugin/dist/index.js +62 -42
  40. package/plugin/dist/utils/workspace-resolver.d.ts +33 -1
  41. package/plugin/dist/utils/workspace-resolver.js +182 -3
  42. package/plugin/package.json +3 -3
package/dist/installer.js CHANGED
@@ -94,6 +94,7 @@ const INSTALL_STEPS = [
94
94
  { name: 'Checking built plugin', weight: 3 },
95
95
  { name: 'Backing up existing install', weight: 3 },
96
96
  { name: 'Installing bundled @principles/core', weight: 8 },
97
+ { name: 'Installing core dependencies', weight: 10 },
97
98
  { name: 'Installing plugin', weight: 10 },
98
99
  { name: 'Pre-filling @principles/core for plugin', weight: 3 },
99
100
  { name: 'Installing plugin dependencies', weight: 20 },
@@ -530,6 +531,16 @@ function ensureCoreDependency(_targetDir) {
530
531
  throw new Error('Installed @principles/core not found. Run installBundledCore first.');
531
532
  }
532
533
  }
534
+ async function installCoreDependencies() {
535
+ const coreDir = getInstalledCoreDir();
536
+ const packageJsonPath = path.join(coreDir, 'package.json');
537
+ if (!existsSync(packageJsonPath)) {
538
+ throw new Error('Core package.json not found after copy — install is corrupted');
539
+ }
540
+ await runNpmInstall(coreDir, 'Core');
541
+ await rebuildNativeModules(coreDir, 'Core');
542
+ verifyNativeModules(coreDir, 'Core');
543
+ }
533
544
  async function installConsoleDependencies() {
534
545
  const consoleDest = getInstalledConsoleDir();
535
546
  const packageJsonPath = path.join(consoleDest, 'package.json');
@@ -779,6 +790,10 @@ export async function install(options, pluginDir, quiet = false) {
779
790
  updateProgress(spinner, stepIndex, 'Installing bundled @principles/core...');
780
791
  installBundledCore(pluginDir);
781
792
  stepIndex++;
793
+ if (spinner)
794
+ updateProgress(spinner, stepIndex, 'Installing core dependencies...');
795
+ await installCoreDependencies();
796
+ stepIndex++;
782
797
  if (spinner)
783
798
  updateProgress(spinner, stepIndex, 'Installing plugin...');
784
799
  await installPluginToStaging(pluginDir);
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpJ,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAEjF,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,sBAAsB,EACtB,2BAA2B,GAG5B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEvF,OAAO;AACP,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAC/C,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,SAAS;AACT,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,aAAa;AACb,MAAM,sBAAsB,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAElD,SAAS,uBAAuB,CAAC,GAAW,EAAE,eAAwB;IACpE,OAAO;QACL,GAAG;QACH,KAAK,EAAE,MAAe;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,eAAe,IAAI,kBAAkB;KAC/C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,aAAa,GAAG,KAAK;IAC7D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,QAAQ,CAAC,iDAAiD,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5D,oBAAoB;QACpB,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC9F,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;gBACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC7B,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;oBAC1B,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEpD,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,wBAAwB,QAAQ,OAAO,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,aAAqB;IAC3E,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QAEnC,IAAI,CAAC;YACH,QAAQ,CAAC,eAAe,GAAG,EAAE,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,kBAAkB,GAAG,oBAAoB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,GAAG,mBAAmB,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,aAAqB;IACpE,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,SAAS;QAEzC,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,kBAAkB,SAAS,iEAAiE,CAAC,CAAC;QAChI,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,YAAoB;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,qCAAqC,YAAY,GAAG,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAOD,MAAM,aAAa,GAAkB;IACnC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,EAAE;IAC5C,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAC,EAAE;IAClD,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,CAAC,EAAE;IAC1D,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,EAAE;IACpD,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE;IACzC,EAAE,IAAI,EAAE,yCAAyC,EAAE,MAAM,EAAE,CAAC,EAAE;IAC9D,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,EAAE,EAAE;IACtD,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE;IACxC,EAAE,IAAI,EAAE,yCAAyC,EAAE,MAAM,EAAE,CAAC,EAAE;IAC9D,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE;IACvC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,EAAE;IAC5C,EAAE,IAAI,EAAE,0CAA0C,EAAE,MAAM,EAAE,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,EAAE,EAAE;IACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE;IAC3C,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE;IACxC,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,CAAC,EAAE;IAC/C,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE;IACtC,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,EAAE;IAChD,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,CAAC,EAAE;CAChD,CAAC;AAEF,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE/E,SAAS,cAAc,CAAC,OAAmB,EAAE,WAAmB,EAAE,OAAe;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;IAEnE,OAAO,CAAC,IAAI,GAAG,GAAG,OAAO,KAAK,OAAO,IAAI,CAAC;AAC5C,CAAC;AAOD,SAAS,qBAAqB;IAC5B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAEzE,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnD,IAAI,CAAC;QACH,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mFAAmF,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAClN,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,6BAA6B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IACjD,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAE1E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,6BAA6B,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,QAAQ,GAAG,WAAsC,CAAC;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,aAAa,GAAG,UAAqC,CAAC;IAC5D,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAE,cAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,oJAAoJ,CAAC,CAAC;IACxK,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;YACzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClF,MAAM,WAAW,GAAG,QAAmC,CAAC;gBACxD,IAAI,WAAW,CAAC,UAAU,KAAK,kBAAkB,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,sGAAsG,CAAC,CAAC;gBACvM,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IACrD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEtD,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IAEpC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAC,KAAK,sCAAsC,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO;IAEnF,MAAM,SAAS,GAAG,EAAE,GAAI,MAAkC,EAAE,CAAC;IAE7D,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAC/C,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAI,SAAS,CAAC,OAAmC,EAAE,CAAC;IAEtE,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,KAAK,GAAI,OAAO,CAAC,KAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAI,OAAO,CAAC,OAAmC,EAAE,CAAC;IACpE,+EAA+E;IAC/E,MAAM,aAAa,GAAG,CAAC,OAAO,OAAO,CAAC,qBAAqB,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACrK,CAAC,CAAC,EAAE,GAAI,OAAO,CAAC,qBAAqB,CAA6B,EAAE;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAE1B,sEAAsE;IACtE,qEAAqE;IACrE,iEAAiE;IACjE,4CAA4C;IAE5C,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9D,8DAA8D;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,GAA4B,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC3E,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,QAAQ,GAAG,MAAiC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC5E,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,OAAO,GAAuB,SAAS,CAAC;QAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAK,GAA+B,EAAE,CAAC;oBAC7F,OAAO,GAAI,GAA+B,CAAC,OAAiB,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QACA,QAAQ,CAAC,cAA0C,CAAC,qBAAqB,CAAC,GAAG;YAC5E,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QACF,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB;IACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,cAAc,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,cAAyC,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9H,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IAEtC,IAAI,YAAY,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxD,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAE7B,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,sBAAsB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACtH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACtD,aAAa,CACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC9B,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,8CAA8C,EAC1G,OAAO,CACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,aAAa,CAAC,QAAQ,EAAE,4BAA4B,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACtG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,iBAAyB;IACvD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,qCAAqC,EAAE;YACjE,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO;QAE9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAwB,CAAC;QACxF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEtC,IAAI,UAAU,KAAK,YAAY;YAAE,OAAO;QAExC,MAAM,CAAC,IAAI,CAAC,kCAAkC,YAAY,YAAY,UAAU,KAAK,CAAC,CAAC;QAEvF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,+BAA+B,UAAU,wBAAwB,MAAM,GAAG,EAAE;gBACnF,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAClD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GAAG,EAAE;gBAC1E,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,mCAAmC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;IAEtG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAExE,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG;YACd,WAAW;YACX,SAAS,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjD,EAAE;SACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG;YACb,iCAAiC;YACjC,aAAa,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YACtE,qBAAqB;YACrB,oBAAoB;YACpB,EAAE;SACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG;YACb,mBAAmB;YACnB,cAAc,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ;YACzD,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7E,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC1H,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,EAAE,CAAC;gBAChB,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAE7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;IACtH,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAkB;IAC9C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE3D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,oBAAoB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACzF,CAAC;IAED,6DAA6D;IAC7D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,sBAAsB,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzF,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;YAC5I,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;YACvB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,GAAG,gDAAgD,aAAa,YAAY,IAAI,aAAa,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACnI,SAAS,CAAC,gBAAgB;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACvC,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAuC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChD,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACjB,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxB,GAAG,CAAC,UAAU,CAAC,+BAA+B,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvH,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC9B,MAAM,GAAG,qCAAqC,MAAM,CAAC,UAAU,iBAAiB,CAAC;YACnF,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,MAAM,GAAG,yCAAyC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC3E,MAAM,GAAG,8CAA8C,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,EAAE,GAAG,IAAI,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,6CAA6C,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,uCAAuC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACpL,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACxB,UAAU,GAAG,MAAM,CAAC;YACpB,SAAS,CAAC,gBAAgB;QAC5B,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,wBAAwB,gCAAgC,UAAU,EAAE,EAAE,CAAC;AACpI,CAAC;AASD,KAAK,UAAU,iBAAiB,CAAC,IAAiB;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEjG,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IAEzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEpD,WAAW;QACX,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClD,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAiB;IAClD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,YAAY;IACZ,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvG,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAChG,MAAM,mBAAmB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAErG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEnE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAE9C,WAAW;QACX,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClD,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,YAAoB,EAAE,QAAkB;IAChF,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,aAAa,CAAC,UAAU,EAAE,+BAA+B,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,YAAoB,EAAE,QAAkB;IACtE,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;IAEpE,IAAI,gBAAgB,GAAoB,IAAI,CAAC;IAC7C,IAAI,gBAAgB,GAAoB,IAAI,CAAC;IAE7C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClF,MAAM,WAAW,GAAG,QAAmC,CAAC;YACxD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClF,gBAAgB,GAAI,WAAW,CAAC,QAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC3G,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClF,gBAAgB,GAAI,WAAW,CAAC,QAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QACxC,QAAQ,EAAE,gBAAgB,IAAI,QAAQ;QACtC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACrC,CAAC;IAED,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB,EAAE,SAAiB,EAAE,KAAK,GAAG,KAAK;IACrF,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACnD,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;QAC5G,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,MAAM,UAAU,GAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC9F,MAAM,YAAY,GAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpF,IAAI,cAAc,GAAwB,IAAI,CAAC;IAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,CAAC;gBAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9D,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAC5E,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAC7C,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;QAClF,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACnE,SAAS,GAAG,mBAAmB,CAAC;QAChC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,wCAAwC,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAC;QACnF,MAAM,uBAAuB,EAAE,CAAC;QAChC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACxE,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACxC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,4CAA4C,CAAC,CAAC;QAC9F,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC;QACxC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAmC,CAAC,CAAC;QACrF,MAAM,yBAAyB,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAC/B,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACxE,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,4CAA4C,CAAC,CAAC;QAC9F,oBAAoB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gHAAgH,CAAC,CAAC;QACpI,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,GAAG,qBAAqB,CAAC;YACvC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,oDAAoD,SAAS,CAAC,SAAS,YAAY,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAClI,CAAC;QACD,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAC5E,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,6CAA6C,CAAC,CAAC;QAC/F,oBAAoB,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,oCAAoC,CAAC,CAAC;QACtF,MAAM,0BAA0B,EAAE,CAAC;QACnC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;YACrB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;YAClC,UAAU,CAAC,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC;YACjD,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,CAAC,MAAM,IAAI,SAAS,gEAAgE,CAAC,CAAC;QACrJ,CAAC;QACD,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC;YAC7C,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC;YAChD,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClG,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAClF,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE;gBACtH,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,+BAA+B;aACzC,CAAC,CAAC;YACH,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gEAAgE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACjL,CAAC;QACD,SAAS,EAAE,CAAC;QAEZ,IAAI,OAAO;YAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAC/E,MAAM,oBAAoB,EAAE,CAAC;QAE7B,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAElD,gBAAgB,EAAE,CAAC;QAEnB,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,KAAK,qBAAqB,CAAC;QAC7F,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,KAAK,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,CAAC;QACzG,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,YAAY,UAAU,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,UAAU,CAAC,GAAG,KAAK,qBAAqB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,iCAAiC,OAAO,CAAC,YAAY,UAAU,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACxC,WAAW,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,YAAY,yCAAyC,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,gBAAgB;YAChB,cAAc,EAAE,cAAc,GAAG,eAAe;YAChD,UAAU;YACV,YAAY;YACZ,eAAe,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAC5F,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE5C,gBAAgB,EAAE,CAAC;QAEnB,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ;YAC3C,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,qEAAqE,aAAa,CAAC,KAAK,IAAI,EAAE,4BAA4B,eAAe,EAAE,QAAQ,SAAS,EAAE,CAAC;QACnK,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ;YACvC,CAAC,CAAC,oGAAoG;YACtG,CAAC,CAAC,gDAAgD,eAAe,EAAE,QAAQ,SAAS,qBAAqB,QAAQ,EAAE,CAAC;QACtH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ;YACnC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,mCAAmC,QAAQ,EAAE,CAAC;QAElD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3D,cAAc,EAAE,CAAC;YACjB,UAAU;YACV,YAAY;YACZ,eAAe,EAAE,OAAO,CAAC,QAAQ;YACjC,UAAU;YACV,MAAM;YACN,KAAK,EAAE,GAAG,QAAQ,MAAM,cAAc,EAAE;SACzC,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-principles-disciple",
3
- "version": "1.78.0",
3
+ "version": "1.80.0",
4
4
  "description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,10 +37,10 @@
37
37
  "@inquirer/prompts": "^8.4.3",
38
38
  "commander": "^14.0.3",
39
39
  "fs-extra": "^11.3.5",
40
- "js-yaml": "^4.1.1",
40
+ "js-yaml": "^4.2.0",
41
41
  "ora": "^9.4.0",
42
42
  "picocolors": "^1.0.0",
43
- "semver": "^7.7.2",
43
+ "semver": "^7.8.1",
44
44
  "tar": "^7.5.15"
45
45
  },
46
46
  "devDependencies": {
@@ -48,7 +48,7 @@
48
48
  "@types/js-yaml": "^4.0.9",
49
49
  "@types/node": "^25.6.2",
50
50
  "@types/semver": "^7.7.0",
51
- "@types/tar": "^6.1.13",
51
+ "@types/tar": "^7.0.87",
52
52
  "typescript": "^6.0.3",
53
53
  "vitest": "^4.1.5"
54
54
  },
@@ -127,7 +127,7 @@ export function loadContextInjectionConfig(workspaceDir) {
127
127
  const raw = cachedReadFile(profilePath);
128
128
  if (raw) {
129
129
  const profile = JSON.parse(raw);
130
- if (profile.contextInjection) {
130
+ if (profile && typeof profile === 'object' && profile.contextInjection && typeof profile.contextInjection === 'object') {
131
131
  const contextInjection = profile.contextInjection;
132
132
  return {
133
133
  ...defaultContextConfig,
@@ -267,6 +267,9 @@ export async function handleBeforePromptBuild(event, ctx) {
267
267
  resetFriction(sessionId, workspaceDir);
268
268
  }
269
269
  // ──── 1. prependSystemContext: Minimal Agent Identity ────
270
+ // EvolutionWorker-era INTERNAL SYSTEM LAYOUT removed per PRI-294.
271
+ // The EVOLUTION_WORKER PathResolver key and system layout reference are
272
+ // not MVP-Core; agents discover what they need via tool calls.
270
273
  prependSystemContext = `## 【AGENT IDENTITY】
271
274
 
272
275
  You are a **self-evolving AI agent** powered by Principles Disciple.
@@ -284,10 +287,6 @@ You are a **self-evolving AI agent** powered by Principles Disciple.
284
287
  - Use the current session for the normal user reply.
285
288
  - Use sessions_send for cross-session messaging.
286
289
  - Use agents_list / sessions_list for peer-agent or peer-session orchestration.
287
-
288
- ## 🔧 INTERNAL SYSTEM LAYOUT
289
- - Your core plugin logic is rooted at: ${PathResolver.getExtensionRoot() || 'EXTENSION_ROOT (unresolved)'}
290
- - If you need self-inspection, prioritize the worker entry pointed by PathResolver key: EVOLUTION_WORKER
291
290
  `;
292
291
  // ──── 2. Empathy Observer Spawn (async sidecar)
293
292
  const empathySilenceConstraint = `
@@ -39,15 +39,13 @@ import { migrateDirectoryStructure } from './core/migration.js';
39
39
  import { migrateStaleWorkspaceGuidance } from './core/workspace-guidance-migrator.js';
40
40
  import { SystemLogger } from './core/system-logger.js';
41
41
  import { PathResolver } from './core/path-resolver.js';
42
- import { resolveCommandWorkspaceDir, resolveToolHookWorkspaceDirSafe } from './utils/workspace-resolver.js';
42
+ import { resolveCommandWorkspaceDir, resolveToolHookWorkspaceDirSafe, resolveHookWorkspaceDir } from './utils/workspace-resolver.js';
43
43
  import { computeRuntimeShadowTaskFingerprint, PD_LOCAL_PROFILES } from './utils/shadow-fingerprint.js';
44
44
  import { validateWorkspaceDir } from './core/workspace-dir-validation.js';
45
45
  import { resolveWorkspaceDirFromApi } from './core/path-resolver.js';
46
46
  import { checkSurfaceGuard, guardHook, guardService } from './core/surface-guard.js';
47
47
  // Track started workspaces — one-time init + evolution worker per workspace
48
48
  const startedWorkspaces = new Set();
49
- const HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION = 'verify gateway plugin activation and hook workspace binding; ' +
50
- 'migrate live hook workspace resolution to PD-owned canonical configuration before relying on config-based recovery';
51
49
  // Map from childSessionKey → shadowObservationId
52
50
  // Used to complete shadow observations when subagent ends
53
51
  const pendingShadowObservations = new Map();
@@ -170,15 +168,18 @@ const plugin = {
170
168
  const language = api.pluginConfig?.language || 'en';
171
169
  // ── Hook: Prompt Building ──
172
170
  api.on('before_prompt_build', guardHook('hook:before_prompt_build', api.logger, async (event, ctx) => {
173
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'before_prompt_build');
174
- if (!workspaceDir) {
171
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'before_prompt_build');
172
+ if (!wsResult.ok) {
175
173
  api.logger.error(`[PD:before_prompt_build] workspaceDir resolution failed. ` +
176
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'} ` +
177
- `sessionKey=${ctx.sessionKey ?? '(missing)'}. ` +
174
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
178
175
  `Hook skipped — no mutation will occur. ` +
179
- `NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
176
+ `NextAction: ${wsResult.nextAction}`);
180
177
  return;
181
178
  }
179
+ const workspaceDir = wsResult.workspaceDir;
180
+ if (wsResult.consistencyWarning) {
181
+ api.logger.warn(`[PD:before_prompt_build] ${wsResult.consistencyWarning}`);
182
+ }
182
183
  try {
183
184
  if (!startedWorkspaces.has(workspaceDir)) {
184
185
  startedWorkspaces.add(workspaceDir);
@@ -240,15 +241,18 @@ const plugin = {
240
241
  }));
241
242
  // ── Hook: Security Gate ──
242
243
  api.on('before_tool_call', guardHook('hook:before_tool_call', api.logger, (event, ctx) => {
243
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'before_tool_call');
244
- if (!workspaceDir) {
244
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'before_tool_call');
245
+ if (!wsResult.ok) {
245
246
  api.logger.error(`[PD:before_tool_call] workspaceDir resolution failed. ` +
246
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'} ` +
247
- `sessionKey=${ctx.sessionKey ?? '(missing)'}. ` +
247
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
248
248
  `Hook skipped — security gate bypassed. ` +
249
- `NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
249
+ `NextAction: ${wsResult.nextAction}`);
250
250
  return;
251
251
  }
252
+ const workspaceDir = wsResult.workspaceDir;
253
+ if (wsResult.consistencyWarning) {
254
+ api.logger.warn(`[PD:before_tool_call] ${wsResult.consistencyWarning}`);
255
+ }
252
256
  try {
253
257
  const pluginConfig = api.pluginConfig ?? {};
254
258
  const { logger } = api;
@@ -268,15 +272,18 @@ const plugin = {
268
272
  }));
269
273
  // ── Hook: Pain & Trust ──
270
274
  api.on('after_tool_call', guardHook('hook:after_tool_call', api.logger, (event, ctx) => {
271
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'after_tool_call');
272
- if (!workspaceDir) {
275
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'after_tool_call');
276
+ if (!wsResult.ok) {
273
277
  api.logger.error(`[PD:after_tool_call] workspaceDir resolution failed. ` +
274
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'} ` +
275
- `sessionKey=${ctx.sessionKey ?? '(missing)'}. ` +
278
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
276
279
  `Hook skipped — pain detection bypassed. ` +
277
- `NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
280
+ `NextAction: ${wsResult.nextAction}`);
278
281
  return;
279
282
  }
283
+ const workspaceDir = wsResult.workspaceDir;
284
+ if (wsResult.consistencyWarning) {
285
+ api.logger.warn(`[PD:after_tool_call] ${wsResult.consistencyWarning}`);
286
+ }
280
287
  try {
281
288
  const pluginConfig = api.pluginConfig ?? {};
282
289
  // Pass api separately to handleAfterToolCall to maintain type safety
@@ -295,15 +302,19 @@ const plugin = {
295
302
  }));
296
303
  // ── Hook: LLM Analysis ──
297
304
  api.on('llm_output', guardHook('hook:llm_output', api.logger, (event, ctx) => {
298
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'llm_output');
299
- if (!workspaceDir) {
305
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'llm_output');
306
+ if (!wsResult.ok) {
300
307
  api.logger.error(`[PD:llm_output] workspaceDir resolution failed. ` +
301
- `agentId=${ctx.agentId ?? '(missing)'} ` +
308
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} ` +
302
309
  `sessionId=${ctx.sessionId ?? '(missing)'}. ` +
303
310
  `Hook skipped — LLM analysis bypassed. ` +
304
- `NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
311
+ `NextAction: ${wsResult.nextAction}`);
305
312
  return;
306
313
  }
314
+ const workspaceDir = wsResult.workspaceDir;
315
+ if (wsResult.consistencyWarning) {
316
+ api.logger.warn(`[PD:llm_output] ${wsResult.consistencyWarning}`);
317
+ }
307
318
  try {
308
319
  handleLlmOutput(event, { ...ctx, workspaceDir });
309
320
  WorkspaceContext.fromHookContext({ workspaceDir }).eventLog.recordHookExecution({
@@ -423,41 +434,50 @@ const plugin = {
423
434
  }));
424
435
  // ── Hook: Lifecycle ──
425
436
  api.on('before_reset', guardHook('hook:before_reset', api.logger, (event, ctx) => {
426
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'before_reset');
427
- if (!workspaceDir) {
437
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'before_reset');
438
+ if (!wsResult.ok) {
428
439
  api.logger.error(`[PD:before_reset] workspaceDir resolution failed. ` +
429
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
430
- `Hook skipped. NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
440
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
441
+ `Hook skipped. NextAction: ${wsResult.nextAction}`);
431
442
  return;
432
443
  }
433
- return handleBeforeReset(event, { ...ctx, workspaceDir });
444
+ if (wsResult.consistencyWarning) {
445
+ api.logger.warn(`[PD:before_reset] ${wsResult.consistencyWarning}`);
446
+ }
447
+ return handleBeforeReset(event, { ...ctx, workspaceDir: wsResult.workspaceDir });
434
448
  }));
435
449
  api.on('before_compaction', guardHook('hook:before_compaction', api.logger, (event, ctx) => {
436
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'before_compaction');
437
- if (!workspaceDir) {
450
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'before_compaction');
451
+ if (!wsResult.ok) {
438
452
  api.logger.error(`[PD:before_compaction] workspaceDir resolution failed. ` +
439
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
440
- `Hook skipped. NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
453
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
454
+ `Hook skipped. NextAction: ${wsResult.nextAction}`);
441
455
  return;
442
456
  }
443
- return handleBeforeCompaction(event, { ...ctx, workspaceDir });
457
+ if (wsResult.consistencyWarning) {
458
+ api.logger.warn(`[PD:before_compaction] ${wsResult.consistencyWarning}`);
459
+ }
460
+ return handleBeforeCompaction(event, { ...ctx, workspaceDir: wsResult.workspaceDir });
444
461
  }));
445
462
  api.on('after_compaction', guardHook('hook:after_compaction', api.logger, (event, ctx) => {
446
- const workspaceDir = resolveToolHookWorkspaceDirSafe(ctx, api, 'after_compaction');
447
- if (!workspaceDir) {
463
+ const wsResult = resolveHookWorkspaceDir(ctx, api, 'after_compaction');
464
+ if (!wsResult.ok) {
448
465
  api.logger.error(`[PD:after_compaction] workspaceDir resolution failed. ` +
449
- `agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
450
- `Hook skipped. NextAction: ${HOOK_WORKSPACE_RESOLUTION_NEXT_ACTION}`);
466
+ `reason=${wsResult.reason} agentId=${ctx.agentId ?? '(missing)'} sessionId=${ctx.sessionId ?? '(missing)'}. ` +
467
+ `Hook skipped. NextAction: ${wsResult.nextAction}`);
451
468
  return;
452
469
  }
453
- return handleAfterCompaction(event, { ...ctx, workspaceDir });
470
+ if (wsResult.consistencyWarning) {
471
+ api.logger.warn(`[PD:after_compaction] ${wsResult.consistencyWarning}`);
472
+ }
473
+ return handleAfterCompaction(event, { ...ctx, workspaceDir: wsResult.workspaceDir });
454
474
  }));
455
- // ── Service: Background Evolution Worker ──
475
+ // ── Service Registration (surface-guarded) ──
476
+ // PRI-294: EvolutionWorker service registration removed — it starts via
477
+ // before_prompt_build hook gate, not via api.registerService. The surface
478
+ // guard already prevents registration when disabled (enabledByDefault=false).
479
+ // Dead pre-assignment of EvolutionWorkerService.api removed.
456
480
  try {
457
- EvolutionWorkerService.api = api;
458
- const guardedEvolutionWorker = guardService('service:evolution-worker', EvolutionWorkerService, api.logger);
459
- if (guardedEvolutionWorker)
460
- api.registerService(guardedEvolutionWorker);
461
481
  const guardedCorrectionObserver = guardService('service:correction-observer', CorrectionObserverService, api.logger);
462
482
  if (guardedCorrectionObserver)
463
483
  api.registerService(guardedCorrectionObserver);
@@ -2,6 +2,11 @@
2
2
  * Workspace Directory Resolution Utilities
3
3
  *
4
4
  * Shared helpers for resolving workspace directories across commands and hooks.
5
+ *
6
+ * Hook resolution priority (PRI-259): PD canonical config → OpenClaw fallback.
7
+ * PD canonical sources: PD_WORKSPACE_DIR env → OPENCLAW_WORKSPACE env →
8
+ * principles-disciple.json → ~/.openclaw/workspace default.
9
+ * OpenClaw fallback: ctx.workspaceDir → api.runtime.agent.resolveAgentWorkspaceDir().
5
10
  */
6
11
  import type { OpenClawPluginApi, PluginCommandContext } from '../openclaw-sdk.js';
7
12
  import { type WorkspaceResolutionContext } from '../core/workspace-dir-validation.js';
@@ -29,11 +34,38 @@ export declare function resolveCommandWorkspaceDir(api: OpenClawPluginApi, ctx:
29
34
  * @param source - Source label for error messages (e.g. 'evolution-status', 'pain')
30
35
  */
31
36
  export declare function resolvePluginCommandWorkspaceDir(ctx: PluginCommandContext, source: string): string;
37
+ export type CanonicalWorkspaceSource = 'pd_env' | 'openclaw_env' | 'pd_config' | 'pd_default';
38
+ export interface CanonicalWorkspaceResult {
39
+ workspaceDir: string;
40
+ source: CanonicalWorkspaceSource;
41
+ }
42
+ export declare function resolveCanonicalWorkspaceDir(): CanonicalWorkspaceResult | null;
43
+ export type HookWorkspaceSource = CanonicalWorkspaceSource | 'openclaw_context' | 'openclaw_api';
44
+ export interface HookWorkspaceResolutionSuccess {
45
+ ok: true;
46
+ workspaceDir: string;
47
+ source: HookWorkspaceSource;
48
+ consistencyWarning?: string;
49
+ }
50
+ export interface HookWorkspaceResolutionFailure {
51
+ ok: false;
52
+ reason: string;
53
+ nextAction: string;
54
+ message: string;
55
+ }
56
+ export type HookWorkspaceResolutionResult = HookWorkspaceResolutionSuccess | HookWorkspaceResolutionFailure;
57
+ export interface HookWorkspaceResolutionOptions {
58
+ canonicalResolver?: () => CanonicalWorkspaceResult | null;
59
+ explicitPdResolver?: () => CanonicalWorkspaceResult | null;
60
+ }
61
+ export declare function resolveHookWorkspaceDir(ctx: WorkspaceResolutionContext, api: OpenClawPluginApi, source: string, options?: HookWorkspaceResolutionOptions): HookWorkspaceResolutionResult;
32
62
  /**
33
63
  * Resolve workspace directory for tool hook execution (safe version).
34
64
  * Returns undefined instead of throwing if resolution fails.
65
+ *
66
+ * PRI-259: Uses PD canonical config as primary source, OpenClaw as fallback.
35
67
  */
36
- export declare function resolveToolHookWorkspaceDirSafe(ctx: WorkspaceResolutionContext, api: OpenClawPluginApi, source: string): string | undefined;
68
+ export declare function resolveToolHookWorkspaceDirSafe(ctx: WorkspaceResolutionContext, api: OpenClawPluginApi, source: string, options?: HookWorkspaceResolutionOptions): string | undefined;
37
69
  export declare class WorkspaceResolutionError extends Error {
38
70
  readonly reason: string;
39
71
  readonly nextAction: string;