midas-mcp 5.41.0 → 5.43.2

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 (35) hide show
  1. package/dist/analyzer.d.ts.map +1 -1
  2. package/dist/analyzer.js +9 -2
  3. package/dist/analyzer.js.map +1 -1
  4. package/dist/context.d.ts +264 -5
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js +634 -7
  7. package/dist/context.js.map +1 -1
  8. package/dist/experiments/recursive-planning/recursive-session.d.ts +201 -0
  9. package/dist/experiments/recursive-planning/recursive-session.d.ts.map +1 -0
  10. package/dist/experiments/recursive-planning/recursive-session.js +348 -0
  11. package/dist/experiments/recursive-planning/recursive-session.js.map +1 -0
  12. package/dist/experiments/recursive-planning/recursive-session.test.d.ts +19 -0
  13. package/dist/experiments/recursive-planning/recursive-session.test.d.ts.map +1 -0
  14. package/dist/experiments/recursive-planning/recursive-session.test.js +799 -0
  15. package/dist/experiments/recursive-planning/recursive-session.test.js.map +1 -0
  16. package/dist/preflight.d.ts +140 -0
  17. package/dist/preflight.d.ts.map +1 -0
  18. package/dist/preflight.js +1100 -0
  19. package/dist/preflight.js.map +1 -0
  20. package/dist/server.js +4 -4
  21. package/dist/server.js.map +1 -1
  22. package/dist/tools/index.d.ts +1 -1
  23. package/dist/tools/index.d.ts.map +1 -1
  24. package/dist/tools/index.js +4 -2
  25. package/dist/tools/index.js.map +1 -1
  26. package/dist/tools/preflight.d.ts +121 -0
  27. package/dist/tools/preflight.d.ts.map +1 -0
  28. package/dist/tools/preflight.js +144 -0
  29. package/dist/tools/preflight.js.map +1 -0
  30. package/dist/tools/verify.js +2 -2
  31. package/dist/tools/verify.js.map +1 -1
  32. package/dist/tui.d.ts.map +1 -1
  33. package/dist/tui.js +74 -66
  34. package/dist/tui.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAA2C,MAAM,kBAAkB,CAAC;AAqKvF;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,MAAM,CAAC,CAejB;AAiGD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,KAAK,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0UlF;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE5E;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,eAAe,CAAC,CAqO1B;AAsJD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAyF3B"}
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAA2C,MAAM,kBAAkB,CAAC;AAqKvF;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,MAAM,CAAC,CAejB;AAiGD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,KAAK,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA8UlF;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE5E;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,eAAe,CAAC,CAyO1B;AAwJD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAyF3B"}
package/dist/analyzer.js CHANGED
@@ -292,6 +292,8 @@ export async function analyzeProject(projectPath) {
292
292
  const hasbrainlift = !!docsResult.brainlift;
293
293
  const hasPrd = !!docsResult.prd;
294
294
  const hasGameplan = !!docsResult.gameplan;
295
+ // Check for .cursorrules (RULES step completion)
296
+ const hasCursorrules = existsSync(join(safePath, '.cursorrules'));
295
297
  const brainliftContent = docsResult.brainlift?.content || '';
296
298
  const prdContent = docsResult.prd?.content || '';
297
299
  const gameplanContent = docsResult.gameplan?.content || '';
@@ -382,7 +384,7 @@ WHY: Code without context is just syntax. The AI doesn't know your domain, const
382
384
  Steps: RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
383
385
  Purpose: Code methodically with verification at each step.
384
386
  WHY: Jumping straight to code means hours of debugging. Each step reduces the blast radius of mistakes.
385
- - RULES: Set up .cursorrules with project conventions (WHY: Reading first prevents "works but doesn't fit" code)
387
+ - RULES: Set up .cursorrules with project conventions. COMPLETE when .cursorrules exists - move to INDEX.
386
388
  - INDEX: Understand codebase structure (WHY: You can't extend what you don't understand)
387
389
  - READ: Study relevant existing code (WHY: Understand before touching to avoid breaking things)
388
390
  - RESEARCH: Look up APIs, patterns, best practices (WHY: The right library can turn 200 lines into 5)
@@ -468,6 +470,7 @@ ${fileList}
468
470
  - brainlift.md: ${hasbrainlift ? 'exists' : 'missing'}
469
471
  - prd.md: ${hasPrd ? 'exists' : 'missing'}
470
472
  - gameplan.md: ${hasGameplan ? 'exists' : 'missing'}
473
+ - .cursorrules: ${hasCursorrules ? 'exists (RULES step complete)' : 'missing'}
471
474
 
472
475
  ${brainliftContent ? `## brainlift.md (full):\n${brainliftContent}` : ''}
473
476
 
@@ -621,6 +624,8 @@ export async function analyzeProjectStreaming(projectPath, onProgress) {
621
624
  const hasbrainlift = !!docsResult.brainlift;
622
625
  const hasPrd = !!docsResult.prd;
623
626
  const hasGameplan = !!docsResult.gameplan;
627
+ // Check for .cursorrules (RULES step completion)
628
+ const hasCursorrules = existsSync(join(safePath, '.cursorrules'));
624
629
  const brainliftContent = docsResult.brainlift?.content || '';
625
630
  const prdContent = docsResult.prd?.content || '';
626
631
  const gameplanContent = docsResult.gameplan?.content || '';
@@ -677,6 +682,7 @@ export async function analyzeProjectStreaming(projectPath, onProgress) {
677
682
  hasbrainlift,
678
683
  hasPrd,
679
684
  hasGameplan,
685
+ hasCursorrules,
680
686
  brainliftContent,
681
687
  prdContent,
682
688
  gameplanContent,
@@ -811,7 +817,7 @@ WHY: Code without context is just syntax. The AI doesn't know your domain, const
811
817
  Steps: RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
812
818
  Purpose: Code methodically with verification at each step.
813
819
  WHY: Jumping straight to code means hours of debugging. Each step reduces the blast radius of mistakes.
814
- - RULES: Set up .cursorrules with project conventions
820
+ - RULES: Set up .cursorrules with project conventions. COMPLETE when .cursorrules exists - move to INDEX.
815
821
  - INDEX: Understand codebase structure
816
822
  - READ: Study relevant existing code
817
823
  - RESEARCH: Look up APIs, patterns, best practices
@@ -869,6 +875,7 @@ ${ctx.fileList.slice(0, 3000)}
869
875
  - brainlift.md: ${ctx.hasbrainlift ? 'exists' : 'missing'}
870
876
  - prd.md: ${ctx.hasPrd ? 'exists' : 'missing'}
871
877
  - gameplan.md: ${ctx.hasGameplan ? 'exists' : 'missing'}
878
+ - .cursorrules: ${ctx.hasCursorrules ? 'exists (RULES step complete - skip to INDEX)' : 'missing'}
872
879
 
873
880
  ${ctx.brainliftContent ? `## Brainlift Content:\n${ctx.brainliftContent.slice(0, 2000)}\n` : ''}
874
881
  ${ctx.prdContent ? `## PRD Content:\n${ctx.prdContent.slice(0, 2000)}\n` : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,uBAAuB,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAsB,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzI,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,qBAAqB,CAAC;AAE5E,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,oBAAoB,CAAC,UAAsB;IAClD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO;;;;;;;;;sMASyL,CAAC;QAEnM,KAAK,UAAU;YACb,OAAO;;;;;;;;;wHAS2G,CAAC;QAErH,KAAK,cAAc,CAAC;QACpB;YACE,OAAO;;;;;;;;yHAQ4G,CAAC;IACxH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,KAAK,UAAU,MAAM,CACnB,MAAc,EACd,YAAoB,EACpB,UAAyD,EAAE;IAE3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAE7C,qDAAqD;IACrD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC;IAE3E,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;QACtB,QAAQ;QACR,KAAK,EAAE,eAAe,EAAE;QACxB,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;QAClC,YAAY;QACZ,SAAS;QACT,WAAW;QACX,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;QAC1B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClH,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAEtH,SAAS,IAAI,CAAC,CAAS,EAAE,KAAK,GAAG,CAAC;QAChC,wFAAwF;QACxF,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO;QACtB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAQ,GAAG,GAAG;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,8EAA8E;QAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,IAAI,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,OAAe,EACf,eAAuB,GAAG;IAE1B,0CAA0C;IAC1C,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,YAAY;QAAE,OAAO,OAAO,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,sBAAsB,YAAY,8EAA8E,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EACxI,+EAA+E,EAC/E,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAE,qBAAqB;SAC5E,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;QACnC,OAAO,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,QAAgB;IAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,wCAAwC;QACxC,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBAE7C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC3C,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3E,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;oBACrC,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtF,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACpE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC;gBAC9B,CAAC;gBACD,2BAA2B;gBAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7E,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtG,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;gBACtG,CAAC;gBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC/E,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAgB,CAAC,CAAC;QACjE,OAAO,4BAA4B,CAAC;IACtC,CAAC;AACH,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/B,OAAO,EAAE,6BAA6B;YACtC,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,qCAAqC;YAChD,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,MAAM,WAAW,GAAgB;QAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,IAAI,EAAE;QACvD,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC/C,CAAC;IAEF,kFAAkF;IAClF,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE3C,8DAA8D;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAE1C,iDAAiD;IACjD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAElE,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAE3D,kCAAkC;IAClC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACnH,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,qFAAqF;IACrF,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,gDAAgD;YAChD,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;gBACjD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;aACxD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACd,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,uDAAuD;IACvD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtD,sDAAsD;IACtD,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAErD,mEAAmE;IACnE,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5H,CAAC,CAAC,wBAAwB,CAAC;IAE7B,kFAAkF;IAClF,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,2DAA2D;IAC3D,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,sBAAsB,CAAC;IAE3B,4DAA4D;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,iBAAiB;SAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC;SAChF,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,gBAAgB,GAAG,mBAAmB;QAC1C,CAAC,CAAC,iEAAiE,mBAAmB,IAAI;QAC1F,CAAC,CAAC,EAAE,CAAC;IAEP,4EAA4E;IAC5E,oDAAoD;IACpD,4EAA4E;IAC5E,0DAA0D;IAC1D,iDAAiD;IACjD,4CAA4C;IAC5C,+CAA+C;IAC/C,EAAE;IACF,2CAA2C;IAC3C,8BAA8B;IAC9B,8BAA8B;IAC9B,gCAAgC;IAChC,4EAA4E;IAE5E,yDAAyD;IACzD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFpB,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;IAEzC,2DAA2D;IAC3D,MAAM,UAAU,GAAG;;;WAGV,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;gBACjG,OAAO,CAAC,UAAU;WACvB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;EACzI,gBAAgB;;EAEhB,YAAY;;;EAGZ,eAAe;;;;;;YAML,KAAK,CAAC,MAAM;EACtB,QAAQ;;;kBAGQ,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACxB,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;kBACjC,cAAc,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS;;EAE3E,gBAAgB,CAAC,CAAC,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;;EAEtE,UAAU,CAAC,CAAC,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;;EAEpD,eAAe,CAAC,CAAC,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;;;EAGnE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,kBAAkB,EAAE,CAAC,CAAC,CAAC,iBAAiB;EAC/E,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE;EAC7C,YAAY,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE;EACnD,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE;EAC3C,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;;;WAG1B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,UAAU,CAAC,SAAS,CAAC,MAAM;wBAChD,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;WACzC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;mBAEZ,UAAU,CAAC,KAAK,CAAC,MAAM;EACxC,WAAW,IAAI,mBAAmB;;2BAET,cAAc,CAAC,MAAM;EAC9C,cAAc;;;;oDAIoC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAExD,2BAA2B;QAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7D,IAAI,KAAK;gBAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAExC,wBAAwB;QACxB,IAAI,YAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAClC,YAAY,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAiB,EAAE,CAAC;QAClE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,qDAAqD;QACrD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE/B,OAAO;YACL,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,sBAAsB;YACnD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAgB,CAAC,CAAC;QAErD,uCAAuC;QACvC,IAAI,WAAW,GAAG,eAAe,CAAC;QAClC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,8BAA8B,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrD,WAAW,GAAG,gCAAgC,CAAC;YACjD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,WAAW,GAAG,4BAA4B,CAAC;YAC7C,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,WAAW,GAAG,+BAA+B,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5E,WAAW,GAAG,mBAAmB,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,yCAAyC;gBACzC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/B,OAAO,EAAE,oBAAoB,WAAW,EAAE;YAC1C,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,mCAAmC;YAC9C,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAgBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,UAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE7C,0CAA0C;IAC1C,UAAU,EAAE,CAAC;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/B,OAAO,EAAE,6BAA6B;YACtC,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,qCAAqC;YAChD,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,MAAM,WAAW,GAAgB;QAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;QAC3B,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,IAAI,EAAE;QACvD,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC/C,CAAC;IAEF,kFAAkF;IAClF,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE3C,8DAA8D;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAE1C,iDAAiD;IACjD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAElE,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAE3D,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACnH,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;gBACjD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;aACxD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACd,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAElE,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5H,CAAC,CAAC,wBAAwB,CAAC;IAE7B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,sBAAsB,CAAC;IAE3B,MAAM,mBAAmB,GAAG,OAAO,CAAC,iBAAiB;SAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC;SAChF,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,gBAAgB,GAAG,mBAAmB;QAC1C,CAAC,CAAC,iEAAiE,mBAAmB,IAAI;QAC1F,CAAC,CAAC,EAAE,CAAC;IAEP,yCAAyC;IACzC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,cAAc,CAAC;IACrD,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,eAAe,CAAC;QACjC,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,YAAY;QACZ,MAAM;QACN,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,aAAa;QACb,KAAK;QACL,QAAQ;QACR,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,cAAc;QACd,cAAc;QACd,WAAW;QACX,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;QACtC,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;QAC3C,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,WAAW;KACZ,CAAC,CAAC;IAEH,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE;YAC5C,YAAY;YACZ,UAAU,EAAE,CAAC,cAAc,EAAE,EAAE;gBAC7B,IAAI,cAAc,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;oBAC1C,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,YAAY;wBACnB,OAAO,EAAE,qBAAqB;wBAC9B,SAAS,EAAE,OAAO,EAAE;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,cAAc,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC/C,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,mBAAmB;wBAC5B,SAAS,EAAE,OAAO,EAAE;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,cAAc,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBAChD,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE,uBAAuB;wBAChC,SAAS,EAAE,OAAO,EAAE;wBACpB,cAAc,EAAE,cAAc,CAAC,cAAc;wBAC7C,cAAc,EAAE,cAAc,CAAC,cAAc,EAAG,yCAAyC;qBAC1F,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,mBAAmB;QACnB,UAAU,EAAE,CAAC;YACX,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,qBAAqB;YAC9B,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACrE,IAAI,KAAK;gBAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAExC,IAAI,YAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAClC,YAAY,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAiB,EAAE,CAAC;QAClE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAgB,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE/B,oBAAoB;QACpB,UAAU,EAAE,CAAC;YACX,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,mBAAmB;YAC5B,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;QAEH,OAAO;YACL,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,sBAAsB;YACnD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAgB,CAAC,CAAC;QAE5D,wBAAwB;QACxB,UAAU,EAAE,CAAC;YACX,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,2CAA2C;YACpD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;QAEH,sCAAsC;QACtC,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,SAAS,iBAAiB;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEP,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,eAAe,CAAC,GA4BxB;IACC,OAAO;;wBAEe,GAAG,CAAC,KAAK,CAAC,MAAM;EACtC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;kBAGX,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBAC5B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;kBACrC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,SAAS;;EAE/F,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,0BAA0B,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;EAC7F,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;EAC3E,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,yBAAyB,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;EAG1F,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE;EAC1E,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE;EAC7D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,EAAE;;;WAG1D,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;WAChH,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzF,GAAG,CAAC,YAAY;;;EAG1B,GAAG,CAAC,eAAe;EACnB,GAAG,CAAC,gBAAgB;;;gBAGN,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;WACrC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;mBAEhB,GAAG,CAAC,aAAa,oBAAoB,GAAG,CAAC,cAAc;EACxE,GAAG,CAAC,WAAW,IAAI,mBAAmB;;2BAEb,GAAG,CAAC,cAAc,CAAC,MAAM;EAClD,GAAG,CAAC,cAAc;;EAElB,GAAG,CAAC,WAAW;;;;oDAImC,CAAC;AACrD,CAAC;AAiBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,UAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,mCAAmC;QACnC,OAAO;YACL,OAAO,EAAE,sDAAsD;YAC/D,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,KAAK;YACnB,mBAAmB,EAAE,4BAA4B;YACjD,kBAAkB,EAAE,KAAK;YACzB,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IAEnC,MAAM,YAAY,GAAG;;yBAEE,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;6BAU7E,CAAC;IAE5B,MAAM,MAAM,GAAG;EACf,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;EAGzB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;;;;;;;;;;EAYzB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE;YAClD,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK,EAAG,yBAAyB;SAC/C,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mBAAmB;gBAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACvC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACvC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;gBAC1C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,4BAA4B;gBAC/E,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;gBACtD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;IACX,OAAO;QACL,OAAO,EAAE,mBAAmB;QAC5B,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,4BAA4B;QACjD,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,CAAC;KACd,CAAC;AACJ,CAAC"}
package/dist/context.d.ts CHANGED
@@ -1,11 +1,270 @@
1
1
  /**
2
- * Context Utilities for Midas
2
+ * Context Management for Midas
3
3
  *
4
- * Token estimation for prompt building.
4
+ * Comprehensive context budget tracking, tier-based content management,
5
+ * and compaction alerts for optimal LLM context window usage.
5
6
  *
6
- * Note: Context compression via system/user prompt split is handled in analyzer.ts.
7
- * The system prompt contains stable methodology (cached by Claude API).
8
- * The user prompt contains dynamic project state (not cached).
7
+ * Key concepts:
8
+ * - Token estimation for prompt building
9
+ * - Global session-wide context budget tracking
10
+ * - Tier-based content aging (hot → warm → cold → frozen)
11
+ * - Compaction threshold monitoring and alerts
12
+ * - Context saturation reporting
13
+ *
14
+ * Optimal context saturation for Claude Opus 4.5:
15
+ * - 0-60%: Peak quality
16
+ * - 60-80%: Excellent quality (recommended working range)
17
+ * - 80-90%: Good quality, slight drift risk
18
+ * - 90%+: Auto-compaction triggers, quality degrades
19
+ */
20
+ /** Default context window size for Claude Opus 4.5 */
21
+ export declare const DEFAULT_CONTEXT_WINDOW = 200000;
22
+ /** Saturation thresholds as percentages */
23
+ export declare const SATURATION_THRESHOLDS: {
24
+ /** Optimal working range ceiling */
25
+ readonly OPTIMAL: 0.6;
26
+ /** Warning threshold - quality may degrade */
27
+ readonly WARNING: 0.8;
28
+ /** Critical threshold - compaction recommended */
29
+ readonly CRITICAL: 0.9;
30
+ /** Emergency threshold - forced compaction */
31
+ readonly EMERGENCY: 0.95;
32
+ };
33
+ /** Maximum items in each tier */
34
+ export declare const TIER_LIMITS: {
35
+ readonly HOT: 20;
36
+ readonly WARM: 50;
37
+ readonly COLD: 100;
38
+ readonly FROZEN: 200;
39
+ };
40
+ /** Token budgets per tier (approximate) */
41
+ export declare const TIER_BUDGETS: {
42
+ readonly HOT: 40000;
43
+ readonly WARM: 40000;
44
+ readonly COLD: 40000;
45
+ readonly FROZEN: 20000;
46
+ };
47
+ /** Content types for tier classification */
48
+ export type ContentType = 'task' | 'file' | 'error' | 'response' | 'summary' | 'reference' | 'system' | 'metadata';
49
+ /** Content tier levels */
50
+ export type ContentTier = 'hot' | 'warm' | 'cold' | 'frozen';
51
+ /**
52
+ * A piece of content in the context budget
53
+ */
54
+ export interface ContextItem {
55
+ id: string;
56
+ content: string;
57
+ tokens: number;
58
+ type: ContentType;
59
+ tier: ContentTier;
60
+ createdAt: number;
61
+ lastAccessedAt: number;
62
+ accessCount: number;
63
+ /** Original content before summarization (for cold/frozen) */
64
+ originalTokens?: number;
65
+ /** Whether this item has been summarized */
66
+ summarized: boolean;
67
+ /** Priority (higher = more important to keep) */
68
+ priority: number;
69
+ }
70
+ /**
71
+ * Context budget state
72
+ */
73
+ export interface ContextBudget {
74
+ /** Maximum tokens available */
75
+ maxTokens: number;
76
+ /** Currently used tokens */
77
+ usedTokens: number;
78
+ /** Items by tier */
79
+ tiers: {
80
+ hot: ContextItem[];
81
+ warm: ContextItem[];
82
+ cold: ContextItem[];
83
+ frozen: ContextItem[];
84
+ };
85
+ /** Last compaction timestamp */
86
+ lastCompaction: number;
87
+ /** Compaction history */
88
+ compactionHistory: Array<{
89
+ timestamp: number;
90
+ beforeTokens: number;
91
+ afterTokens: number;
92
+ itemsCompacted: number;
93
+ }>;
94
+ /** Session start time */
95
+ sessionStart: number;
96
+ }
97
+ /**
98
+ * Saturation status report
99
+ */
100
+ export interface SaturationReport {
101
+ /** Current saturation percentage (0-1) */
102
+ saturation: number;
103
+ /** Current saturation level name */
104
+ level: 'optimal' | 'warning' | 'critical' | 'emergency';
105
+ /** Tokens used */
106
+ usedTokens: number;
107
+ /** Tokens available */
108
+ maxTokens: number;
109
+ /** Tokens remaining */
110
+ remainingTokens: number;
111
+ /** Per-tier breakdown */
112
+ tierBreakdown: {
113
+ hot: {
114
+ items: number;
115
+ tokens: number;
116
+ };
117
+ warm: {
118
+ items: number;
119
+ tokens: number;
120
+ };
121
+ cold: {
122
+ items: number;
123
+ tokens: number;
124
+ };
125
+ frozen: {
126
+ items: number;
127
+ tokens: number;
128
+ };
129
+ };
130
+ /** Recommendations */
131
+ recommendations: string[];
132
+ /** Whether compaction is recommended */
133
+ compactionRecommended: boolean;
134
+ /** Estimated tokens that could be freed by compaction */
135
+ potentialSavings: number;
136
+ }
137
+ /**
138
+ * Compaction result
139
+ */
140
+ export interface CompactionResult {
141
+ success: boolean;
142
+ tokensBefore: number;
143
+ tokensAfter: number;
144
+ tokensSaved: number;
145
+ itemsCompacted: number;
146
+ itemsDropped: number;
147
+ duration: number;
148
+ }
149
+ /**
150
+ * Estimate token count for text
151
+ * Uses 1 token ≈ 4 chars for English as baseline,
152
+ * with adjustments for code and special characters
9
153
  */
10
154
  export declare function estimateTokens(text: string): number;
155
+ /**
156
+ * Estimate tokens for structured data (JSON-like)
157
+ */
158
+ export declare function estimateStructuredTokens(data: unknown): number;
159
+ /**
160
+ * Create a new context budget
161
+ */
162
+ export declare function createContextBudget(maxTokens?: number): ContextBudget;
163
+ /**
164
+ * Calculate current saturation
165
+ */
166
+ export declare function calculateSaturation(budget: ContextBudget): number;
167
+ /**
168
+ * Get saturation level name
169
+ */
170
+ export declare function getSaturationLevel(saturation: number): 'optimal' | 'warning' | 'critical' | 'emergency';
171
+ /**
172
+ * Generate saturation report
173
+ */
174
+ export declare function getSaturationReport(budget: ContextBudget): SaturationReport;
175
+ /**
176
+ * Add content to the context budget
177
+ */
178
+ export declare function addContent(budget: ContextBudget, content: string, type: ContentType, options?: {
179
+ priority?: number;
180
+ tier?: ContentTier;
181
+ }): ContextItem;
182
+ /**
183
+ * Access an item (updates access time and count)
184
+ */
185
+ export declare function accessItem(budget: ContextBudget, itemId: string): ContextItem | null;
186
+ /**
187
+ * Remove an item from the budget
188
+ */
189
+ export declare function removeItem(budget: ContextBudget, itemId: string): boolean;
190
+ /**
191
+ * Move item to a different tier
192
+ */
193
+ export declare function moveToTier(budget: ContextBudget, itemId: string, targetTier: ContentTier): boolean;
194
+ /**
195
+ * Age items based on access patterns and time
196
+ * Moves items down tiers: hot → warm → cold → frozen
197
+ */
198
+ export declare function ageItems(budget: ContextBudget, options?: {
199
+ hotMaxAge?: number;
200
+ warmMaxAge?: number;
201
+ coldMaxAge?: number;
202
+ maxAccessAge?: number;
203
+ }): {
204
+ aged: number;
205
+ byTier: Record<ContentTier, number>;
206
+ };
207
+ /**
208
+ * Compact the context budget by summarizing and dropping content
209
+ *
210
+ * Strategy:
211
+ * 1. Drop frozen items with low priority
212
+ * 2. Compress cold items to references
213
+ * 3. Summarize warm items
214
+ * 4. Age hot items if needed
215
+ */
216
+ export declare function compactBudget(budget: ContextBudget, options?: {
217
+ targetSaturation?: number;
218
+ preserveTypes?: ContentType[];
219
+ summarizer?: (content: string, targetTokens: number) => string;
220
+ }): CompactionResult;
221
+ /**
222
+ * Save context budget to disk
223
+ */
224
+ export declare function saveContextBudget(projectPath: string, budget: ContextBudget): boolean;
225
+ /**
226
+ * Load context budget from disk
227
+ */
228
+ export declare function loadContextBudget(projectPath: string, defaultMaxTokens?: number): ContextBudget;
229
+ /**
230
+ * Clear context budget (for new session)
231
+ */
232
+ export declare function clearContextBudget(projectPath: string): ContextBudget;
233
+ /**
234
+ * Get all items across all tiers
235
+ */
236
+ export declare function getAllItems(budget: ContextBudget): ContextItem[];
237
+ /**
238
+ * Find item by ID
239
+ */
240
+ export declare function findItem(budget: ContextBudget, itemId: string): ContextItem | null;
241
+ /**
242
+ * Count items by type
243
+ */
244
+ export declare function countByType(budget: ContextBudget): Record<ContentType, number>;
245
+ /**
246
+ * Get budget statistics
247
+ */
248
+ export declare function getBudgetStats(budget: ContextBudget): {
249
+ totalItems: number;
250
+ usedTokens: number;
251
+ maxTokens: number;
252
+ saturation: number;
253
+ sessionAge: number;
254
+ compactionCount: number;
255
+ averageItemSize: number;
256
+ };
257
+ /**
258
+ * Validate budget integrity (recalculate tokens)
259
+ */
260
+ export declare function validateBudget(budget: ContextBudget): {
261
+ valid: boolean;
262
+ expectedTokens: number;
263
+ actualTokens: number;
264
+ discrepancy: number;
265
+ };
266
+ /**
267
+ * Repair budget by recalculating tokens
268
+ */
269
+ export declare function repairBudget(budget: ContextBudget): void;
11
270
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}