@tiangong-ai/cli 0.0.43 → 0.0.44

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 (37) hide show
  1. package/AGENTS.md +1 -0
  2. package/README.md +42 -6
  3. package/dist/research/orchestration.js +121 -8
  4. package/dist/research/orchestration.js.map +1 -1
  5. package/dist/research/setup-command.js +13 -1
  6. package/dist/research/setup-command.js.map +1 -1
  7. package/dist/research/workspace/audit-bundle.js +1 -0
  8. package/dist/research/workspace/audit-bundle.js.map +1 -1
  9. package/dist/research/workspace/executor.d.ts +9 -0
  10. package/dist/research/workspace/executor.js +161 -4
  11. package/dist/research/workspace/executor.js.map +1 -1
  12. package/dist/research/workspace/preflight.d.ts +2 -0
  13. package/dist/research/workspace/preflight.js +6 -2
  14. package/dist/research/workspace/preflight.js.map +1 -1
  15. package/dist/research/workspace/projects.js +1 -1
  16. package/dist/research/workspace/projects.js.map +1 -1
  17. package/dist/research/workspace/publication-workflow.js +1 -1
  18. package/dist/research/workspace/publication-workflow.js.map +1 -1
  19. package/dist/research/workspace/review-executor.d.ts +50 -0
  20. package/dist/research/workspace/review-executor.js +854 -0
  21. package/dist/research/workspace/review-executor.js.map +1 -0
  22. package/dist/research/workspace/runtime.js +63 -15
  23. package/dist/research/workspace/runtime.js.map +1 -1
  24. package/dist/research/workspace/setup-catalog.js +22 -2
  25. package/dist/research/workspace/setup-catalog.js.map +1 -1
  26. package/dist/research/workspace/setup-declarative.d.ts +4 -0
  27. package/dist/research/workspace/setup-declarative.js +16 -1
  28. package/dist/research/workspace/setup-declarative.js.map +1 -1
  29. package/dist/research/workspace/setup-wizard.js +46 -3
  30. package/dist/research/workspace/setup-wizard.js.map +1 -1
  31. package/dist/research/workspace/setup.d.ts +3 -1
  32. package/dist/research/workspace/setup.js +76 -18
  33. package/dist/research/workspace/setup.js.map +1 -1
  34. package/dist/research/workspace/types.d.ts +43 -1
  35. package/dist/research/workspace/workspace.js +62 -5
  36. package/dist/research/workspace/workspace.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-executor.js","sourceRoot":"","sources":["../../../src/research/workspace/review-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,IAAI,EACJ,eAAe,EACf,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,WAAW,EAAe,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAStB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,MAAM,8BAA8B,GAAG,CAAU,CAAC;AAClD,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC;AA2HtC,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAC7C,OAAO;QACL,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,mBAAmB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;QACtF,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAMpC;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC;IAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,CAAC;IAC3E,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QAClD,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,iBAAiB;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,WAAW,CAAC;QAC9E,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACrB,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,WAAW,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAAY;IAC5D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,WAAW,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC;IAC5D,MAAM,aAAa,GAA8B;QAC/C,GAAG,IAAI;QACP,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAC/C,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjF,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjB,MAAM,CAAC,MAAM,KAAK,OAAO;QACzB,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW;QACrD,MAAM,CAAC,cAAc,KAAK,cAAc,EAAE;QAC1C,MAAM,CAAC,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,cAAc;QAC3D,CAAC,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,EACtD,CAAC;QACD,MAAM,WAAW,CACf,+CAA+C,EAC/C,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,MAAyC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAMhD;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC;QACxD,aAAa,EAAE,IAAI;QACnB,cAAc;KACf,CAAC,CAAC;IACH,MAAM,cAAc,GAAiC;QACnD,GAAG,eAAe;QAClB,6BAA6B,EAAE,IAAI;QACnC,qBAAqB,EAAE,IAAI;KAC5B,CAAC;IACF,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,UAAU,GAA6B;QAC3C,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,8BAA8B;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,qBAAqB;QAClC,cAAc,EAAE,cAAc,EAAE;QAChC,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,SAAS,EAAE,GAAG,CAAC,YAAY;QAC3B,cAAc,EAAE,GAAG,CAAC,WAAW;QAC/B,WAAW;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC;IAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,CAAC;IAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAChD,KAAK,oBAAoB,CAAC;YACxB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,cAAc;YACd,mBAAmB,EAAE,WAAW;YAChC,UAAU;YACV,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc;YACd,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa;YACb,iBAAiB;YACjB,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,GAAG,CAAC,WAAW;QAC/B,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBACxD,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAY,EACZ,OAA8B,EAC9B,YAA0B;IAE1B,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,WAAW,CACf,+CAA+C,EAC/C,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,OAAO,GAA+B;QAC1C,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI;YACpC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;SAC3C;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa;QACb,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC;QACvD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;QAChD,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC;IACtE,MAAM,aAAa,GAA+B;QAChD,GAAG,IAAI;QACP,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAC/C,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,CACf,+CAA+C,EAC/C,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAY,EACZ,KAAiB,EACjB,YAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,IAAI,EACJ,aAAa,EACb,eAAe,KAAK,CAAC,KAAK,EAAE,EAC5B,YAAY,CACb,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAsB,EAAE,CAAC;IACjE,MAAM,aAAa,GAA8B;QAC/C,GAAG,IAAI;QACP,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAC/C,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjF,IACE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAClC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAC5B,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAC5B,CAAC;QACD,MAAM,WAAW,CACf,uCAAuC,EACvC,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,MAAyC,EACzC,SAAiB,EACjB,YAA0B;IAE1B,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,IACE,UAAU,CAAC,eAAe,KAAK,8BAA8B;QAC7D,UAAU,CAAC,cAAc,KAAK,cAAc,EAAE;QAC9C,UAAU,CAAC,WAAW,KAAK,qBAAqB;QAChD,WAAW,CAAC,cAAc,KAAK,UAAU,CAAC,cAAc,EACxD,CAAC;QACD,MAAM,WAAW,CACf,yCAAyC,EACzC,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,WAAW,CACf,4CAA4C,EAC5C,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,WAAW,CACf,4CAA4C,EAC5C,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU;QACV,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,8BAA8B;YAC/C,MAAM;YACN,SAAS;YACT,KAAK;YACL,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,qBAAqB;YAClC,cAAc,EAAE,cAAc,EAAE;YAChC,iBAAiB,EAAE,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;YACrE,YAAY,EAAE,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAanC;IACC,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YAC1E,kBAAkB,CAChB,KAAK,CAAC,QAAQ,EACd,GAAG,EACH,WAAW,CACT,uCAAuC,EACvC,8DAA8D,CAC/D,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChF,kBAAkB,CAChB,KAAK,CAAC,QAAQ,EACd,GAAG,EACH,WAAW,CACT,oCAAoC,EACpC,+DAA+D,CAChE,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,MAAwE,CAAC;QAC7E,IAAI,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,iBAAkE,CAAC;QACvE,IAAI,YAAoB,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;gBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,OAAO;gBACP,MAAM;gBACN,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9C,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAU,CAAC,QAAQ,CAAC;YACxD,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAU,CAAC,YAAY,CAAC;QACzD,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC5C,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3E,iBAAiB,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YAClF,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG;gBACP,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW;gBACzC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;gBAC/C,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;gBAC/C,gBAAgB,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;gBACtD,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC;YACF,iBAAiB,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YAClF,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,qBAAqB,CAAC;YACxC,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,aAAa;YACb,iBAAiB;YACjB,YAAY;YACZ,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;YAC/C,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;QACH,MAAM,QAAQ,GAA0B;YACtC,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,8BAA8B;YAC/C,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,UAAU;YAClB,WAAW;SACZ,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAChB,KAAK,CAAC,QAAQ,EACd,GAAG,EACH,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAOnC;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,WAAW,CACf,+CAA+C,EAC/C,kGAAkG,CACnG,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;QACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EACtD,CAAC;QACD,MAAM,WAAW,CACf,uCAAuC,EACvC,sFAAsF,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,uBAAuB,CACjD,KAAK,CAAC,IAAI,EACV,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,IAAI,CAAC,MAAM,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;QACjF,MAAM,WAAW,CACf,+CAA+C,EAC/C,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CACzB,KAAK,CAAC,cAAc,EACpB,MAAM,EACN,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACjF,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE;YAClD,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;YAClB,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;YACtE,MAAM,WAAW,CACf,+CAA+C,EAC/C,wEAAwE,CACzE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,KAAK,CAAC,IAAI;YACzB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;YACrD,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IACE,CAAC,MAAM,CAAC,SAAS;YACjB,MAAM,CAAC,SAAS,CAAC,UAAU,KAAK,MAAM;YACtC,MAAM,CAAC,SAAS,CAAC,aAAa,KAAK,wBAAwB;YAC3D,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EACjD,CAAC;YACD,MAAM,WAAW,CACf,+CAA+C,EAC/C,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,IACE,CAAC,MAAM,CAAC,OAAO;YACf,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;YACpD,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EACpD,CAAC;YACD,MAAM,WAAW,CACf,uCAAuC,EACvC,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,CACf,+CAA+C,EAC/C,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAQ9B;IACC,MAAM,IAAI,GAAG;QACX,aAAa,EAAE,CAAU;QACzB,eAAe,EAAE,8BAA8B;QAC/C,SAAS,EAAE,gBAAyB;QACpC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,UAAU,EAAE,MAAe;QAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;QAClC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;QAC1C,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB;QAClD,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,oBAAoB,EAAE,KAAK,CAAC,cAAc;KAC3C,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CACpB,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAC1C,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CACtC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAoC,EACpC,OAA4B,EAC5B,QAA+B;IAE/B,IACE,QAAQ,CAAC,aAAa,KAAK,CAAC;QAC5B,QAAQ,CAAC,eAAe,KAAK,8BAA8B;QAC3D,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QACxC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;QAChC,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAChD,CAAC;QACD,MAAM,WAAW,CACf,+CAA+C,EAC/C,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IAC9D,IACE,WAAW,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;QAC/C,WAAW,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QAC3C,WAAW,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa;QACnD,WAAW,CAAC,iBAAiB,KAAK,OAAO,CAAC,iBAAiB;QAC3D,WAAW,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;QACjD,WAAW,CAAC,oBAAoB,KAAK,UAAU,CAAC,cAAc;QAC9D,WAAW,CAAC,YAAY,KAAK,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,iBAAiB;QACrD,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,cAAc,EACxE,CAAC;QACD,MAAM,WAAW,CACf,4CAA4C,EAC5C,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CACrB,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAC1C,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,EACrC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACjC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,WAAW,CACf,4CAA4C,EAC5C,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,UAAoC,EACpC,KAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,IAAI,CAAC,UAAU,GAAG,4BAA4B,EAAE,CAAC;QACnD,MAAM,WAAW,CACf,+CAA+C,EAC/C,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;YACzD,MAAM,OAAO,GAAG,WAAW,CACzB;gBACE,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,UAAU,CAAC,WAAW,EAAE;oBACjD,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,IAAI,CAAC,UAAU;iBAClC;aACF,EACD,CAAC,QAAQ,EAAE,EAAE;gBACX,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACpC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC1B,IAAI,KAAK,IAAI,4BAA4B;wBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACtB,IAAI,KAAK,GAAG,4BAA4B,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBACxC,OAAO;oBACT,CAAC;oBACD,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,WAAW,CACf,oCAAoC,EACpC,kIAAkI,EAClI;YACE,SAAS,EAAE,KAAK;YAChB,aAAa,EACX,wGAAwG;SAC3G,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,WAAW,CACf,+CAA+C,EAC/C,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,MAAM,WAAW,CACf,+CAA+C,EAC/C,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;IAC9C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,IACE,CAAC,IAAI,EAAE,MAAM,EAAE;QACf,IAAI,CAAC,cAAc,EAAE;QACrB,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAC3D,CAAC;QACD,MAAM,WAAW,CACf,oCAAoC,EACpC,kHAAkH,EAClH;YACE,SAAS,EAAE,KAAK;YAChB,aAAa,EACX,wGAAwG;SAC3G,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,WAAW,CACf,oCAAoC,EACpC,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,WAAW,CACf,yCAAyC,EACzC,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,UAAoC,EACpC,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,GAAG,GAAG,gCAAgC;QACtC,OAAO,CAAC,eAAe,KAAK,8BAA8B;QAC1D,OAAO,CAAC,WAAW,KAAK,qBAAqB;QAC7C,OAAO,CAAC,cAAc,KAAK,cAAc,EAAE;QAC3C,OAAO,CAAC,cAAc,KAAK,UAAU,CAAC,cAAc;QACpD,WAAW,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,EACrD,CAAC;QACD,MAAM,WAAW,CACf,yCAAyC,EACzC,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;QAC1C,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW;QAC9C,OAAO,CAAC,iBAAiB,KAAK,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;QAClF,OAAO,CAAC,YAAY,KAAK,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EACxE,CAAC;QACD,MAAM,WAAW,CACf,4CAA4C,EAC5C,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACtD,MAAM,WAAW,CACf,4CAA4C,EAC5C,8CAA8C,CAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,KAAa,EAAE,MAAc;IAC1E,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,MAAwC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,WAAW,CACf,qCAAqC,EACrC,wDAAwD,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,CACf,sCAAsC,EACtC,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAY,EACZ,WAAmB,EACnB,WAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,IACE,CAAC,WAAW,EAAE,WAAW,EAAE;QAC3B,WAAW,CAAC,cAAc,EAAE;QAC5B,CAAC,WAAW,EAAE,WAAW,EAAE;QAC3B,WAAW,CAAC,cAAc,EAAE;QAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAC/C,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,CAAC;QACD,MAAM,WAAW,CACf,+CAA+C,EAC/C,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,IAAY,EAAE,KAAa;IACtE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,WAAW,CACf,sCAAsC,EACtC,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACpF,MAAM,WAAW,CACf,sCAAsC,EACtC,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,IACE,CAAC,IAAI,CAAC,WAAW,EAAE;QACnB,IAAI,CAAC,cAAc,EAAE;QACrB,SAAS,KAAK,IAAI;QAClB,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,EACrC,CAAC;QACD,MAAM,WAAW,CACf,sCAAsC,EACtC,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,cAAsB;IAK1D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;IAC/E,IAAI,aAAqB,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChE,IAAI,IAAI,EAAE,CAAC;QACT,IACE,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,cAAc,EAAE;YACrB,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAC3D,CAAC;YACD,MAAM,WAAW,CACf,sCAAsC,EACtC,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAC5D,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aACvC,QAAQ,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,WAAW,CACf,sCAAsC,EACtC,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa;QACb,YAAY;QACZ,WAAW,EAAE,oBAAoB,CAAC,YAAY,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB;IAChD,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAE3B,KAAQ,EAAE,WAA8B;IACxC,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;YACnD,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;YACnD,SAAS,EAAE,KAAK,CAAC,SAAS;gBACxB,CAAC,CAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAkC;gBACnF,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,SAAS;SACxB,CAAC;IACT,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAM,CAAC;AACpD,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAuB;IACrD,IACE,MAAM,CAAC,iBAAiB,CAAC,SAAS,KAAK,gBAAgB;QACvD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,KAAK,kBAAkB,EACjE,CAAC;QACD,MAAM,WAAW,CACf,qCAAqC,EACrC,6EAA6E,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,UAAU,IAAI,QAAQ,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,MAA0B,EAAE,aAAqB;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAA4C;IACzE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;QAC3B,IAAI,KAAK,GAAG,4BAA4B,EAAE,CAAC;YACzC,MAAM,WAAW,CACf,+CAA+C,EAC/C,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC3B,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAC/C,CAAC;QACD,MAAM,WAAW,CACf,4CAA4C,EAC5C,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,WAAW,CACf,4CAA4C,EAC5C,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,KAA8C,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,KAA6C,CAAC;IACvD,CAAC;IACD,MAAM,WAAW,CACf,uCAAuC,EACvC,6EAA6E,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8B;IACzD,OAAO,CACL,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,eAAe,KAAK,CAAC;QAC3B,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC1B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,KAAK,qBAAqB;QAC3C,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC1C,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;QACvE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC3E,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;QACrC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;QACvC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,KAAK,CAAC,UAAU,IAAI,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,MAAM;QAC3B,KAAK,CAAC,SAAS,KAAK,IAAI,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,eAAe,KAAK,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,KAAK,qBAAqB;QAC3C,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACxC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QACzD,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QACrD,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QACzD,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACrC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,kBAAkB,KAAK,IAAI;QACjC,KAAK,CAAC,mBAAmB,KAAK,IAAI;QAClC,KAAK,CAAC,8BAA8B,KAAK,IAAI;QAC7C,KAAK,CAAC,6BAA6B,KAAK,IAAI;QAC5C,KAAK,CAAC,qBAAqB,KAAK,IAAI,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,eAAe,KAAK,CAAC;QAC3B,KAAK,CAAC,EAAE,KAAK,KAAK;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,eAAe,KAAK,CAAC;QAC3B,KAAK,CAAC,EAAE,KAAK,IAAI;QACjB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QAC3B,QAAQ,IAAI,KAAK,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,OAAiB;IACnE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,OAA0B;IACtE,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,WAAW,CAChB,+CAA+C,EAC/C,qDAAqD,oBAAoB,CACvE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,OAAO,CACR,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA4C,EAC5C,MAAc,EACd,KAAe;IAEf,MAAM,KAAK,GAA0B;QACnC,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,8BAA8B;QAC/C,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;SAC1F;KACF,CAAC;IACF,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACnE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,MAAM,WAAW,CACf,sCAAsC,EACtC,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,UAAkB;IAC9D,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAc;IACvC,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC"}
@@ -13,6 +13,7 @@ import { parseEvidenceExhaustionHandoff, validateEvidenceExhaustionHandoff, } fr
13
13
  import { loadProjectEvidenceReceipts, stageProjectEvidence } from "./evidence.js";
14
14
  import { appendEvidenceLedgerEvent, evidenceLedgerPath, listEvidenceCandidates, registerProjectInputCandidates, } from "./evidence-ledger.js";
15
15
  import { executeAgent } from "./executor.js";
16
+ import { createReviewExecutor } from "./review-executor.js";
16
17
  import { requiredDiscoveryCapabilityIds } from "./external-skills.js";
17
18
  import { renderInputLineContext } from "./input-plan.js";
18
19
  import { freezeClaimEvidenceGraph, freezeInferenceSnapshot, loadCurrentInferenceSnapshot, } from "./inference.js";
@@ -161,14 +162,14 @@ export const researchHandoffRecordSchema = {
161
162
  },
162
163
  ],
163
164
  };
164
- export async function runResearchWorkspace(root, options, packageExecutor = executeAgent) {
165
- return runResearchWorkspaceInternal(root, options, packageExecutor, false);
165
+ export async function runResearchWorkspace(root, options, packageExecutor) {
166
+ return runResearchWorkspaceInternal(root, options, packageExecutor ?? executeAgent, false, packageExecutor === undefined);
166
167
  }
167
168
  /** @internal Test-only seam for exercising deterministic package admission with fake agents. */
168
169
  export async function runResearchWorkspaceWithInjectedProducerForTesting(root, options, packageExecutor) {
169
- return runResearchWorkspaceInternal(root, options, packageExecutor, true);
170
+ return runResearchWorkspaceInternal(root, options, packageExecutor, true, false);
170
171
  }
171
- async function runResearchWorkspaceInternal(root, options, packageExecutor, allowInjectedProducerForTesting) {
172
+ async function runResearchWorkspaceInternal(root, options, packageExecutor, allowInjectedProducerForTesting, useConfiguredReviewerExecutor) {
172
173
  validateRunOptions(options);
173
174
  const requestId = randomUUID();
174
175
  if (options.dryRun)
@@ -177,6 +178,9 @@ async function runResearchWorkspaceInternal(root, options, packageExecutor, allo
177
178
  await verifyJournal(workspacePaths(root).journal);
178
179
  const config = await loadWorkspaceConfig(root);
179
180
  assertExecutionConfiguration(config);
181
+ const reviewerPackageExecutor = useConfiguredReviewerExecutor
182
+ ? createReviewExecutor({ root, execution: config.reviewerExecution }).execute
183
+ : null;
180
184
  for (const project of await projectsForRun(root, options.projectId)) {
181
185
  await assertProjectPublicationPolicy(root, project);
182
186
  }
@@ -224,7 +228,7 @@ async function runResearchWorkspaceInternal(root, options, packageExecutor, allo
224
228
  if (!selected.length)
225
229
  break;
226
230
  cycles += 1;
227
- const results = await Promise.all(selected.map(({ project, workPackage }) => executeWorkPackage(root, project.id, workPackage.id, config, options, requestId, packageExecutor, doctorAttestation)));
231
+ const results = await Promise.all(selected.map(({ project, workPackage }) => executeWorkPackage(root, project.id, workPackage.id, config, options, requestId, packageExecutor, reviewerPackageExecutor, doctorAttestation)));
228
232
  executed.push(...results);
229
233
  }
230
234
  const result = await summarizeRun(root, requestId, cycles, executed, options.maxCycles, options.projectId);
@@ -235,6 +239,22 @@ async function runResearchWorkspaceInternal(root, options, packageExecutor, allo
235
239
  return result;
236
240
  });
237
241
  }
242
+ function capsuleDispositionForHost(hostAgent) {
243
+ return hostAgent === "workbuddy" || hostAgent === "codebuddy"
244
+ ? "retained-outer-sandbox"
245
+ : "deleted";
246
+ }
247
+ function nativeCapsuleDisposition(session) {
248
+ return capsuleDispositionForHost(session.packet.hostAgent);
249
+ }
250
+ async function releaseNativeStageSession(root, projectId, session) {
251
+ const disposition = nativeCapsuleDisposition(session);
252
+ await rm(nativeStageSessionPath(root, projectId), { force: true });
253
+ if (disposition === "deleted") {
254
+ await rm(session.capsuleRoot, { recursive: true, force: true });
255
+ }
256
+ return disposition;
257
+ }
238
258
  export async function inspectNativeResearchStage(root, project) {
239
259
  const path = nativeStageSessionPath(root, project.id);
240
260
  if (!(await pathExists(path))) {
@@ -838,6 +858,7 @@ export async function submitNativeResearchStage(input) {
838
858
  accountingMode: "reserved-native-host",
839
859
  });
840
860
  const usage = { ...usageSlice(result), accountingMode: "reserved-native-host" };
861
+ const capsuleDisposition = nativeCapsuleDisposition(session);
841
862
  await appendJournalEvent(workspacePaths(input.root).journal, "native.stage.completed", project.id, {
842
863
  sessionId: session.packet.sessionId,
843
864
  packetSha256: session.packet.packetSha256,
@@ -846,9 +867,10 @@ export async function submitNativeResearchStage(input) {
846
867
  stage: workPackage.stage,
847
868
  outputs,
848
869
  usage,
870
+ capsuleDisposition,
871
+ retainedCapsuleId: capsuleDisposition === "retained-outer-sandbox" ? basename(session.capsuleRoot) : null,
849
872
  });
850
- await rm(nativeStageSessionPath(input.root, project.id), { force: true });
851
- await rm(session.capsuleRoot, { recursive: true, force: true });
873
+ await releaseNativeStageSession(input.root, project.id, session);
852
874
  return {
853
875
  projectId: project.id,
854
876
  packageId: workPackage.id,
@@ -919,9 +941,12 @@ export async function abortNativeResearchStage(input) {
919
941
  projectId: project.id,
920
942
  packageId: workPackage.id,
921
943
  stage: workPackage.stage,
944
+ capsuleDisposition: nativeCapsuleDisposition(session),
945
+ retainedCapsuleId: nativeCapsuleDisposition(session) === "retained-outer-sandbox"
946
+ ? basename(session.capsuleRoot)
947
+ : null,
922
948
  });
923
- await rm(nativeStageSessionPath(input.root, project.id), { force: true });
924
- await rm(session.capsuleRoot, { recursive: true, force: true });
949
+ await releaseNativeStageSession(input.root, project.id, session);
925
950
  return {
926
951
  projectId: project.id,
927
952
  packageId: workPackage.id,
@@ -1003,12 +1028,15 @@ export async function requestResearchHandoff(input) {
1003
1028
  requestedAt,
1004
1029
  interruptedSessionId: session?.packet.sessionId ?? null,
1005
1030
  interruptedPackageId: session?.packet.packageId ?? null,
1031
+ capsuleDisposition: session ? nativeCapsuleDisposition(session) : null,
1032
+ retainedCapsuleId: session && nativeCapsuleDisposition(session) === "retained-outer-sandbox"
1033
+ ? basename(session.capsuleRoot)
1034
+ : null,
1006
1035
  };
1007
1036
  await appendEvidenceLedgerEvent(input.root, project.id, "handoff.requested", eventPayload);
1008
1037
  await appendJournalEvent(workspacePaths(input.root).journal, "project.handoff.requested", project.id, { projectId: project.id, ...eventPayload });
1009
1038
  if (session) {
1010
- await rm(activePath, { force: true });
1011
- await rm(session.capsuleRoot, { recursive: true, force: true });
1039
+ await releaseNativeStageSession(input.root, project.id, session);
1012
1040
  }
1013
1041
  return {
1014
1042
  projectId: project.id,
@@ -1130,7 +1158,7 @@ function parseHandoffRequest(value) {
1130
1158
  accessRequests,
1131
1159
  };
1132
1160
  }
1133
- async function executeWorkPackage(root, projectId, packageId, config, options, requestId, packageExecutor, doctorAttestation) {
1161
+ async function executeWorkPackage(root, projectId, packageId, config, options, requestId, packageExecutor, reviewerPackageExecutor, doctorAttestation) {
1134
1162
  const project = await loadProject(root, projectId);
1135
1163
  const workPackage = packageById(project, packageId);
1136
1164
  await assertScientificGateForStage(root, project, workPackage.stage);
@@ -1156,6 +1184,8 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1156
1184
  const runId = randomUUID();
1157
1185
  const startedAt = new Date().toISOString();
1158
1186
  let capsuleRoot;
1187
+ let capsuleDisposition = null;
1188
+ let retainedCapsuleId = null;
1159
1189
  let broker;
1160
1190
  let accountedResult;
1161
1191
  let promotedOutputs = [];
@@ -1182,6 +1212,9 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1182
1212
  const reservation = reservePackageBudget(project, workPackage, config, discovery?.plan.reservedDiscoverTokens);
1183
1213
  const capsule = await createCapsule(root, project, workPackage, runId, config);
1184
1214
  capsuleRoot = capsule.capsuleRoot;
1215
+ capsuleDisposition = capsuleDispositionForHost(config.producer.agent);
1216
+ retainedCapsuleId =
1217
+ capsuleDisposition === "retained-outer-sandbox" ? basename(capsuleRoot) : null;
1185
1218
  if (capsule.reviewPacketRecord) {
1186
1219
  await appendJournalEvent(workspacePaths(root).journal, "review.packet.persisted", projectId, {
1187
1220
  requestId,
@@ -1193,6 +1226,9 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1193
1226
  }
1194
1227
  const stageContextContent = await stageContextForPackage(capsule.projectRoot, project, workPackage, config);
1195
1228
  const route = workPackage.executor === "reviewer" ? config.reviewer : config.producer;
1229
+ const selectedPackageExecutor = workPackage.executor === "reviewer" && reviewerPackageExecutor
1230
+ ? reviewerPackageExecutor
1231
+ : packageExecutor;
1196
1232
  executor = route.agent;
1197
1233
  broker =
1198
1234
  workPackage.stage === "discover"
@@ -1222,7 +1258,7 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1222
1258
  expectedRuntime: runtimeForRoute(doctorAttestation, route),
1223
1259
  });
1224
1260
  assertPreCallTokenReservation(project, workPackage, config, primaryRequest, 0, true);
1225
- result = await withHeartbeat(packageExecutor(primaryRequest), options, requestId, project, workPackage, config);
1261
+ result = await withHeartbeat(selectedPackageExecutor(primaryRequest), options, requestId, project, workPackage, config);
1226
1262
  accountedResult = result;
1227
1263
  assertExecutorSucceeded(result);
1228
1264
  assertActualPackageBudget(project, workPackage, config, result, stageOutputTokens);
@@ -1256,7 +1292,7 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1256
1292
  expectedRuntime: runtimeForRoute(doctorAttestation, route),
1257
1293
  });
1258
1294
  assertPreCallTokenReservation(project, workPackage, config, repairRequest, result.tokens, false);
1259
- const repair = await withHeartbeat(packageExecutor(repairRequest), options, requestId, project, workPackage, config);
1295
+ const repair = await withHeartbeat(selectedPackageExecutor(repairRequest), options, requestId, project, workPackage, config);
1260
1296
  accountedResult = combineExecutionResults(result, repair);
1261
1297
  assertExecutorSucceeded(repair);
1262
1298
  assertActualPackageBudget(project, workPackage, config, accountedResult, stageOutputTokens + config.budget.maxRepairTokens);
@@ -1312,6 +1348,8 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1312
1348
  failureKind: null,
1313
1349
  failureDetails: null,
1314
1350
  runtime: accountedResult.runtime,
1351
+ isolation: accountedResult.isolation,
1352
+ reviewAttestation: accountedResult.reviewAttestation,
1315
1353
  telemetry: accountedResult.telemetry,
1316
1354
  });
1317
1355
  const usage = usageSlice(accountedResult);
@@ -1324,6 +1362,9 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1324
1362
  outputs: promotedOutputs,
1325
1363
  usage,
1326
1364
  runtime: accountedResult.runtime,
1365
+ reviewerExecution: accountedResult.reviewAttestation ?? accountedResult.isolation ?? null,
1366
+ capsuleDisposition,
1367
+ retainedCapsuleId,
1327
1368
  });
1328
1369
  emitProgress(options, progressEvent("package.completed", requestId, projectId, packageId, remainingBudget(project, config), { outputs: promotedOutputs, usage }));
1329
1370
  return { projectId, packageId, status: "complete" };
@@ -1372,6 +1413,8 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1372
1413
  failureKind: classification.kind,
1373
1414
  failureDetails,
1374
1415
  runtime: accountedResult.runtime,
1416
+ isolation: accountedResult.isolation,
1417
+ reviewAttestation: accountedResult.reviewAttestation,
1375
1418
  telemetry: accountedResult.telemetry,
1376
1419
  });
1377
1420
  }
@@ -1389,6 +1432,8 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1389
1432
  details: failureDetails,
1390
1433
  outputs: promotedOutputs,
1391
1434
  usage,
1435
+ capsuleDisposition,
1436
+ retainedCapsuleId,
1392
1437
  });
1393
1438
  emitProgress(options, progressEvent("package.failed", requestId, projectId, packageId, remainingBudget(failedProject, config), {
1394
1439
  retryable,
@@ -1403,8 +1448,9 @@ async function executeWorkPackage(root, projectId, packageId, config, options, r
1403
1448
  finally {
1404
1449
  if (broker)
1405
1450
  await broker.stop();
1406
- if (capsuleRoot)
1451
+ if (capsuleRoot && capsuleDisposition !== "retained-outer-sandbox") {
1407
1452
  await rm(capsuleRoot, { recursive: true, force: true });
1453
+ }
1408
1454
  }
1409
1455
  }
1410
1456
  async function stagePublicationPolicy(root, project, capsuleProject) {
@@ -3273,6 +3319,8 @@ function combineExecutionResults(primary, repair) {
3273
3319
  wallSeconds: primary.wallSeconds + repair.wallSeconds,
3274
3320
  model: repair.model ?? primary.model,
3275
3321
  runtime: repair.runtime ?? primary.runtime,
3322
+ isolation: repair.isolation ?? primary.isolation,
3323
+ reviewAttestation: repair.reviewAttestation ?? primary.reviewAttestation,
3276
3324
  telemetry: mergeTelemetry(primary.telemetry, repair.telemetry),
3277
3325
  };
3278
3326
  }