openlimiter 1.2.0 → 1.3.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 (55) hide show
  1. package/README.md +45 -16
  2. package/dist/bin.js +53 -4
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts +110 -11
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +1064 -64
  7. package/dist/cli.js.map +1 -1
  8. package/dist/codex-device-login.d.ts +87 -0
  9. package/dist/codex-device-login.d.ts.map +1 -0
  10. package/dist/codex-device-login.js +291 -0
  11. package/dist/codex-device-login.js.map +1 -0
  12. package/dist/config.d.ts +44 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +129 -7
  15. package/dist/config.js.map +1 -1
  16. package/dist/hub-auth.d.ts +137 -0
  17. package/dist/hub-auth.d.ts.map +1 -0
  18. package/dist/hub-auth.js +280 -0
  19. package/dist/hub-auth.js.map +1 -0
  20. package/dist/hub-sync.d.ts +144 -0
  21. package/dist/hub-sync.d.ts.map +1 -0
  22. package/dist/hub-sync.js +370 -0
  23. package/dist/hub-sync.js.map +1 -0
  24. package/dist/hub.d.ts +60 -0
  25. package/dist/hub.d.ts.map +1 -0
  26. package/dist/hub.js +178 -0
  27. package/dist/hub.js.map +1 -0
  28. package/dist/index.d.ts +6 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/ingest.d.ts +26 -0
  33. package/dist/ingest.d.ts.map +1 -1
  34. package/dist/ingest.js +116 -1
  35. package/dist/ingest.js.map +1 -1
  36. package/dist/qr.d.ts.map +1 -1
  37. package/dist/qr.js +1 -0
  38. package/dist/qr.js.map +1 -1
  39. package/dist/session.d.ts +46 -0
  40. package/dist/session.d.ts.map +1 -0
  41. package/dist/session.js +158 -0
  42. package/dist/session.js.map +1 -0
  43. package/dist/statusline.d.ts +14 -0
  44. package/dist/statusline.d.ts.map +1 -1
  45. package/dist/statusline.js +258 -19
  46. package/dist/statusline.js.map +1 -1
  47. package/dist/terminal.d.ts +109 -0
  48. package/dist/terminal.d.ts.map +1 -0
  49. package/dist/terminal.js +974 -0
  50. package/dist/terminal.js.map +1 -0
  51. package/package.json +4 -4
  52. package/dist/serve.d.ts +0 -170
  53. package/dist/serve.d.ts.map +0 -1
  54. package/dist/serve.js +0 -533
  55. package/dist/serve.js.map +0 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,EACT,aAAa,EACb,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EAkBzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iCAAiC,EACjC,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,yBAAyB,EAKzB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,iCAAiC,EACjC,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAE3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,IAAI,uBAAuB,EAG9C,MAAM,yBAAyB,CAAC;AAwIjC,qEAAqE;AACrE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,SAAS,QAAQ;IACf,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,eAAe,EAAE,IAAI,0BAA0B,EAAE;QACjD,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACnC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QACtE,aAAa,EAAE,OAAO,EAAE;QACxB,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;QACxC,cAAc,EAAE,OAAO,CAAC,QAAQ;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,0BAA0B,EAAE,EAAE;QAC9B;;;;;;WAMG;QACH,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;QAC9B,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACpE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;QAC5B,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;QAC5B,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpF,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;QACrB,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC;YACpC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB;;;;;;;;;GASG;AACH;;;;;;;;;GASG;AACH,MAAM,cAAc,GAA4B,KAAK,EACnD,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,EAAE,CACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC5B,QAAQ,CACN,UAAU,EACV,CAAC,GAAG,eAAe,CAAC,EACpB,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EACvE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,yEAAyE;AACzE,SAAS,mBAAmB,CAAC,GAAW,EAAE,QAAyB;IACjE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO;IAC5D,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,QAAQ,KAAK,OAAO;QACtD,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,QAAQ,KAAK,QAAQ;YACrB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP;gFACwE;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IAajC,OAAO;QACL,oBAAoB,EAAE,oBAAoB,EAAE;QAC5C,gBAAgB;QAChB,qBAAqB,EAAE,wBAAwB;QAC/C,aAAa,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE;gBAClD,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH;;;;;;eAMG;YACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,wEAAwE;YACxE,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,uBAAuB,EAAE,cAAc;QACvC,gBAAgB,EAAE,cAAc;QAChC,YAAY,EAAE,uBAAuB,EAAE;QACvC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;QAChE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,6BAA6B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,UAAU,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,MAAc;IAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,YAA6B,EAC7B,GAAW,EACX,MAAoB;IAEpB,IAAI,YAAY,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,YAAY,CAAC,kBAAkB,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,sBAAsB,CAAC;QAClC,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,GAAG;QACH,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,YAAY,CAAC,uBAAuB,KAAK,SAAS;YACpD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,qBAAqB,KAAK,SAAS;YAClD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,YAAY,CAAC,qBAAqB,EAAE,CAAC;QACtE,GAAG,CAAC,YAAY,CAAC,0BAA0B,KAAK,SAAS;YACvD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,0BAA0B,EAAE,CAAC;KAClE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAM,GAAG,EAAE;IAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,gEAAgE;AAChE,SAAS,YAAY,CACnB,IAAY,EACZ,QAAoC,EACpC,KAAc;IAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAkB;IAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAChB,aAAgC,EAChC,IAAY;IAEZ,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAQD;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,OAAO,CACpB,YAA6B,EAC7B,GAAW;IAEX,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS;QACnC,CAAC,CAAC,MAAM,kBAAkB,CAAC,YAAY,CAAC,cAAc,CAAC;QACvD,CAAC,CAAC,QAAQ,CAAC;IACb;;;;OAIG;IACH,MAAM,cAAc,GAAG,QAAQ,KAAK,SAAS,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,KAAK,QAAQ;YACvC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,cAAc;gBAC5D,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,iBAAiB,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,WAAW,EAAkB;YACpD,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACtC,MAAM,CAAC,SAAS,EAChB,YAAY,CAAC,cAAc,EAC3B,GAAG,CACJ,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED,4EAA4E;AAE5E;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO;QACL,UAAU,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzE,SAAS,CAAC,iBAAiB,CAAC;QAC5B,aAAa,CAAC,qBAAqB,CAAC;QACpC,eAAe,CAAC,iCAAiC,CAAC;QAClD,QAAQ,CAAC,gBAAgB,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,CAAC;QAC1B,cAAc,CAAC,sBAAsB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,YAA6B;IAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;IACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxB,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC7C,CAAC;YACD;;;;;;eAMG;YACH,MAAM,KAAK,YAAY,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,IAAI,CAAC;YAC1E,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE;gBACrC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACjC,CAAC,CAAC;oBACE,EAAE,EAAE,IAAI;oBACR,UAAU,EAAE;wBACV,MAAM;wBACN,SAAS,EAAE,IAAI;wBACf,qBAAqB,EAAE,IAAI;wBAC3B,MAAM,EAAE,UAAU;qBACnB;iBACF,CAAC;QACR,CAAC;QACD,OAAO,MAAM,yBAAyB,CAAC,QAAQ,EAAE;YAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE;YACvB,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,QAAQ,KAAK,OAAO;gBAC3D,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CACtC,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;iBAClE,CAAC;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,MAA2B,EAC3B,UAA8B;IAE9B,KAAK,UAAU,CAAC;IAChB,OAAO,cAAc,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,GAAG,CACvD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAqB,EACrB,QAA6B,EAC7B,cAA4E,EAC5E,SAA8B,EAC9B,GAAW;IAEX,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,IAAI,CAAC;IACnD;;4DAEwD;IACxD,MAAM,QAAQ,GAAG,CAAC,OAA6C,EAAU,EAAE,CACzE,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;YACnC,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC9C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,CAAC,MAAM;YACjB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;YACzC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC;YACtD,aAAa;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IACjE,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QAC5C,QAAQ,EAAE,IAAI;QACd,UAAU;KACX,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5D,aAAa;SACd,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;QAC/C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,OAAO,CACtE,CAAC;IACF,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAChC,MAAM,EAAE,KAAK;YACX,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,KAAK,SAAS;gBACnB,CAAC,CAAC,qDAAqD;gBACvD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,aAAa;KACd,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,qBAAqB,CAClC,YAA6B,EAC7B,SAA8B,EAC9B,GAAW;IAEX,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CACvB,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,CAAC,EAC1E,SAAS,CACV,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,QAAQ;YAC1C,8DAA8D,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,GAAmB,EACnB,SAA8B;IAE9B,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC;QACrE,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CACtB,GAAmB,EACnB,YAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;QACrF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC3B,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,aAAa,IAAI,MAAM;QAC3B,IAAI;KACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,kBAAkB,GAAG,oCAAoC,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,cAAc,CAC3B,YAA6B,EAC7B,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;YACb,kBAAkB;YAClB,4DAA4D;SAC7D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH;;;;;;WAMG;QACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,OAAO,CAAC;gBACb,kBAAkB;gBAClB,uEAAuE;aACxE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,6EAA6E;QAC7E,MAAM,wBAAwB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC/D,SAAS,EAAE,YAAY,CAAC,oBAAoB;YAC5C,GAAG;YACH,QAAQ;YACR,cAAc,EAAE,gBAAgB,CAAC,YAAY,CAAC;YAC9C,KAAK,EAAE,gBAAgB;YACvB,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACxD,GAAG,CAAC,YAAY,CAAC,qBAAqB,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,YAAY,CAAC,qBAAqB,EAAE,CAAC;SACnE,CAAC,CAAC;QACH;;;;;;;;;;;WAWG;QACH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC;oBACb,kBAAkB;oBAClB,0DAA0D;iBAC3D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,SAAS;YACzB,IAAI,CAAC;gBACH,MAAM,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP;iEACiD;YACnD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;gBACb,kBAAkB;gBAClB,0DAA0D;aAC3D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,yBAAyB,CAC7B,MAAM,EACN,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,CACf,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB;;;;WAIG;QACH,MAAM,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;YACb,kBAAkB;YAClB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAC1D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,oDAAoD,CAAC,CAAC;IAClF,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAC/B,YAA6B,EAC7B,SAA8B,EAC9B,GAAW;IAEX,IAAI,CAAC;QACH,MAAM,oBAAoB,CAAC;YACzB,SAAS;YACT,GAAG;YACH,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;YACpD,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,KAAK,EAAE,YAAY,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG;QACV,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACtD,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACpD,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClD,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClD,GAAG,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAChE,GAAG,CAAC,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1D,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;KACvD,CAAC;IACF,OAAO,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CACjB,SAA8B,EAC9B,WAAyD,EACzD,GAAW;IAEX;;;;;;OAMG;IACH,MAAM,KAAK,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,WAAW,EAAkB,CAAC;QAC5D,MAAM,MAAM,GAAG,SAAS;aACrB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;aACpD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,CAAC,EAAE;YACZ,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC5C,KAAK;YACL,YAAY;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,IAAI,GAAG;IACX,aAAa;IACb,mBAAmB;IACnB,4BAA4B;IAC5B,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,kCAAkC;IAClC,qEAAqE;IACrE,4CAA4C;IAC5C,6BAA6B;IAC7B,qCAAqC;IACrC,uCAAuC;IACvC,0CAA0C;IAC1C,0CAA0C;IAC1C,qBAAqB;IACrB,8BAA8B;IAC9B,mCAAmC;IACnC,qCAAqC;IACrC,kCAAkC;IAClC,kCAAkC;IAClC,oCAAoC;IACpC,yDAAyD;IACzD,2CAA2C;IAC3C,iDAAiD;IACjD,0CAA0C;IAC1C,gDAAgD;IAChD,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,EAAE;IACF,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;IACtD,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;IACnD,kBAAkB,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;IACzD,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,6DAA6D;IAC7D,qEAAqE;CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,mBAAmB,CAChC,YAA6B,EAC7B,GAAW,EACX,OAAuB,QAAQ;IAE/B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,KAAK,aAAa;YACnC,CAAC,CAAC,iCAAiC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;YACxD,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;gBACjD,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,KAAK,aAAa;YACvC,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,qBAAqB,CAAC;QAC5B;sCAC8B;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACpE,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,YAA6B;IACtD,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,WAAW,EACX,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,cAAc,CAC5B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;aACtC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;aACzC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;aAChC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,OAAO,CACZ,iCAAiC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC1E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,uDAAuD,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,YAA6B,EAC7B,aAAgC,EAChC,GAAW;IAEX,IAAI,QAAQ,GAA+B,EAAE,CAAC;IAC9C,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,YAAY,EAAE,uDAAuD,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,yBAAyB,CAC7B,EAAE,EACF,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,CACf,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,yBAAyB,CAC7B,SAAS,EACT,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,CACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,2DAA2D,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CACzB,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,EACrD,QAAQ,EACR,YAAY,CAAC,WAAW,CACzB,CAAC;IACF,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,IAAI,CACF,YAAY,EACZ,2DAA2D,EAC3D,MAAM,CACP;QACH,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAA6B;IACxD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,YAAY,EAAE,oDAAoD,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,IAAI,CACF,YAAY,EACZ,yDAAyD,EACzD,MAAM,CACP;QACH,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,kFAAkF;AAClF,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAC3B,MAAuB;IAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,YAA6B,EAC7B,GAAW;IAEX,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG;QACZ,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC;QACvC,MAAM,qBAAqB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC;QACzD,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;KAClD,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,YAAY,EAAE,oDAAoD,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,YAA6B,EAC7B,aAAgC,EAChC,GAAW;IAEX,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,UAAU,EAAE,sDAAsD,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,EAAE,qDAAqD,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAC9D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,UAAU,EAAE,8DAA8D,CAAC,CAAC;IAC1F,CAAC;IACD;;;;;;;;OAQG;IACH,IAAI,MAAkC,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,YAAY,EAAE,8CAA8C,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC5E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAgB,CAAC;QACrB,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,YAAY,EAAE,oDAAoD,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,YAAY,EAAE,8CAA8C,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;YAClC,OAAO;YACP,GAAG;YACH,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD;;;;OAIG;IACH,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CACT,YAAY,EACZ,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACrF,OAAO,OAAO,CACZ,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,kCAAkC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAC3E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,qDAAqD,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,iBAAiB,CAC9B,YAA6B,EAC7B,aAAgC,EAChC,GAAW;IAEX,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAmB,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC;QAC/E,CAAC,CAAE,QAAQ,CAAC,WAAW,EAAqB;QAC5C,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACjF;;;;;OAKG;IACH,MAAM,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,yBAAyB,CAC7B,SAAS,EACT,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,CACf,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,sBAAsB,CAAC;QACpC,MAAM;QACN,SAAS;QACT,GAAG;QACH,MAAM;QACN,KAAK,EAAE,eAAe,CACpB,MAAM,CAAC,KAAK,EACZ,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,WAAW,CACzB;QACD,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,YAAY,GAAsC;IACtD,GAAG,EAAE,aAAa;IAClB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,MAAM;IACpB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,YAA6B,EAC7B,aAAgC,EAChC,GAAW;IAEX,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,qBAAqB,CACxC,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,EACd,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CACjD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,IACE,KAAK,KAAK,UAAU;QACpB,YAAY,CAAC,WAAW,CAAC,mCAAmC,CAAC,KAAK,GAAG;QACrE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAc,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;QACrD,KAAK;QACL,WAAW;QACX,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC,MAAM,CAAC,CAAC;IACX;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,KAAK,IAAwB,EAAE;QAC3C,IAAI,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,KAAK,gBAAgB,EAAE,CAAC;YACpE,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACnE,IACE,UAAU,KAAK,SAAS;gBACxB,CAAC,CAAC,MAAM,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAClE,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,QAAQ,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,QAAQ,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,EACd;YACE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CACF,CAAC;QACF,OAAO,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC;IACL;;wCAEoC;IACpC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,YAA6B,EAC7B,aAAgC;IAEhC,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IACE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;QACvE,KAAK,KAAK,IAAI,EACd,CAAC;QACD,OAAO,IAAI,CACT,UAAU,EACV,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE;YAC9C,aAAa,EAAE,YAAY,CAAC,aAAa;SAC1C,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAC/D,YAAY,CAAC,0BAA0B,EACvC,KAAK,CACN,CAAC;QACF,MAAM,YAAY,GAAG,oBAAoB;YACvC,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,IAAI;YACxD,CAAC,CAAC,MAAM,uBAAuB,CAAC,KAAK,EAAE;gBACnC,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC,CAAC,CAAC;QACP,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,YAAY,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;QAC7C,OAAO,OAAO,CAAC;YACb,QAAQ,GAAG,KAAK;YAChB,YAAY,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,SAAS,GAAG,QAAQ;YACpB,GAAG,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI;gBACjE,CAAC,CAAC;oBACE,2BAA2B,GAAG,YAAa,CAAC,OAAO;wBACjD,gCAAgC,GAAG,IAAI,CAAC,oBAAoB;iBAC/D;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAC5D,YAAY,CAAC,0BAA0B,EACvC,KAAK,CACN,CAAC,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE;QAClD,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,GAAG,CAAC,iBAAiB,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,iBAAiB,KAAK,IAAI;gBAC1B,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3B,CAAC,CAAC;oBACE,eAAe,EAAE,iBAAiB,CAAC,OAAO;oBAC1C,eAAe,EAAE,iBAAiB,CAAC,UAAU;oBAC7C,aAAa,EAAE,iBAAiB,CAAC,QAAQ;oBACzC,sBAAsB,EAAE,iBAAiB,CAAC,iBAAiB;iBAC5D,CAAC;KACT,CAAC,CAAC;IACH,MAAM,OAAO,GAAG;QACd,QAAQ,GAAG,MAAM,CAAC,KAAK;QACvB,SAAS,GAAG,MAAM,CAAC,MAAM;QACzB,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,SAAS,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;QACzC,SAAS,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;QACzC,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,MAAM,CAAC,SAAS;QACrB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAA6B,EAC7B,aAAgC,EAChC,GAAW;IAEX,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,YAAY,CAAC,cAAc,EAC3B,GAAG,EACH,cAAc,EACd,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CACjD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO,MAAM,KAAK,EAAE;QAClB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,4DAA4D,CAAC;QAClF,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,4EAA4E;AAE5E,sDAAsD;AACtD,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC,MAAM,WAAW,GAAG;IAClB,gCAAgC;IAChC,6CAA6C;IAC7C,mDAAmD;IACnD,4CAA4C;IAC5C,kDAAkD;IAClD,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;IACtD,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;CACpD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEhB;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,MAA0B;IAE1B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACzD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAA8B,EAC9B,UAA4B;IAE5B,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACrF,IAAI,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CACnB,IAA4B,EAC5B,SAA0B;IAE1B,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;SACrF,IAAI,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,YAA6B,EAC7B,MAAqB,EACrB,GAAkB,EAClB,KAAyB;IAEzB,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CACT,UAAU,EACV,yDAAyD;YACvD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CACjC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACnF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,YAAY,CACzB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACpC,MAAM,CAAC,SAAS,CACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CACT,UAAU,EACV,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,UAAU,EAAE,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,WAAW,CACf,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAC1C,YAAY,CAAC,cAAc,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,yDAAyD,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,YAA6B,EAC7B,aAAgC;IAEhC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO,MAAM,sBAAsB,CACjC,YAAY,EACZ,MAAM,EACN,MAAM,CAAC,GAAG,EACV,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACtC,OAAO,IAAI,CACT,UAAU,EACV,wEAAwE;YACtE,kBAAkB,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CACT,UAAU,EACV,0DAA0D;YACxD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CACnC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE;QACtB,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,SAAS,CACtB,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EACpD,MAAM,CAAC,UAAU,CAClB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CACT,UAAU,EACV,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,UAAU,EAAE,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,WAAW,CACf,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5C,YAAY,CAAC,cAAc,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,yDAAyD,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,4CAA4C;IAC5C,6BAA6B;IAC7B,qCAAqC;IACrC,uCAAuC;IACvC,0CAA0C;IAC1C,0CAA0C;IAC1C,EAAE;IACF,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,yEAAyE;AACzE,KAAK,UAAU,mBAAmB,CAChC,YAA6B;IAE7B,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CACtB,YAA6B,EAC7B,QAA2B;IAE3B,OAAO;QACL,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;QACpD,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,iBAAiB,EAAE,QAAQ;QAC3B,GAAG,CAAC,YAAY,CAAC,uBAAuB,KAAK,SAAS;YACpD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,uBAAuB,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,eAAe,CAC5B,YAA6B,EAC7B,aAAgC;IAEhC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAmB,EAAE,CAC/D,KAAK,KAAK,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAE3E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CACT,UAAU,EACV,wBAAwB,GAAG,MAAM,GAAG,8BAA8B;gBAChE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CACvC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS;YACjC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;YAClC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CACT,UAAU,EACV,wBAAwB,GAAG,MAAM,GAAG,kCAAkC,CACvE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM;YAC9B,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;YAC1C,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CACT,UAAU,EACV,0DAA0D;gBACxD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CACvC,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,KAAK,GAAG,KAAK,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;YACb,KAAK;YACL,EAAE;YACF,oDAAoD;YACpD,iEAAiE;YACjE,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY,CACzB,YAA6B,EAC7B,aAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC;QACnC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,YAAY,CAAC,YAAY;QACpC,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,GAAG,CAAC,YAAY,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;QACxG,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACvC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;YAClC,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;YAChG,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC;SAC5G,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,YAAY,EAAE,4CAA4C,CAAC,CAAC;IACvG,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,6DAA6D,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,EAAE,6DAA6D,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,6EAA6E;AAC7E,KAAK,UAAU,aAAa,CAAC,YAA6B;IACxD,MAAM,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;AAChC,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,aAAa,CAAC,YAA6B;IACxD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,YAAY,EAAE,oCAAoC,CAAC,CAAC;IACtF,OAAO,OAAO,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,qBAAqB,CAClC,YAA6B,EAC7B,OAAmB;IAEnB,MAAM,YAAY,CAAC,OAAO,EAAE;QAC1B,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;QAChG,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC;KAC5G,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,WAAW,CAAC,YAA6B,EAAE,GAAW;IACnE,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,IAAI,qBAAqB,EAAE,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,YAAY,EAAE,yDAAyD,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,2DAA2D,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,SAAS;QACT,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,YAAY,CAAC,YAAY;QACpC,GAAG;QACH,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS;KACV,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,OAAO,CACZ,yBAAyB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAChG,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,gDAAgD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,EAAE,4DAA4D,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CACpC,YAA6B,EAC7B,GAAW;IAEX,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,IAAI,qBAAqB,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC5B,SAAS;YACT,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,SAAS,EAAE,YAAY,CAAC,YAAY;YACpC,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS;SACV,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;AACH,CAAC;AAED,0EAA0E;AAE1E,MAAM,oBAAoB,GAAG,4DAA4D,CAAC;AAE1F,KAAK,UAAU,YAAY,CAAC,YAA6B,EAAE,QAAgB;IACzE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,eAAe,CAAC,YAA6B;IAC1D,MAAM,KAAK,GAAa,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC;QACnC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,YAAY,CAAC,YAAY;QACpC,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,GAAG,CAAC,YAAY,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;QACxG,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;YAClC,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;YAChG,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC;SAC5G,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,MAAM,yBAAyB,GAA4D;IACzF,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,8BAA8B,GAAyB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAIvF,MAAM,iBAAiB,GAA8C;IACnE,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,qBAAqB;CAC3C,CAAC;AAEF,KAAK,UAAU,eAAe,CAC5B,KAAc,EACd,SAAmC,EACnC,cAA4E;IAE5E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA0B;IACtD,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IACvD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,wCAAwC,CAAC;IAC1E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,6CAA6C,CAAC;IAC/E,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,sBAAsB,CAAC;IACtD,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,oBAAoB,CACjC,YAA6B,EAC7B,SAA4B;IAE5B,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IAC3D,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,qBAAqB,EAAE,CAAC;IAC9E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IAC5E,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,OAAO,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACxD,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,0BAA0B,CAAC;IACzD,SAAS,CAAC;QACR,IAAI,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,mBAAmB,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,2BAA2B,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,2BAA2B,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,gBAAgB,CAAC,YAA6B;IAC3D,MAAM,KAAK,GAAa,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,cAAc,GAA6B,IAAI,CAAC;IACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE;YACrD,WAAW;YACX,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAChC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,cAAc,GAAG,SAAS,CAAC;YAC3B,gBAAgB,GAAG,KAAK,KAAK,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IACD,IAAI,gBAAgB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,YAAY,EACZ,kEAAkE,CACnE,CAAC;QACF,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,iBAAiB,GAAuB;IAC5C,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,aAAa;IACb,MAAM;IACN,MAAM;IACN,UAAU;CACX,CAAC;AAEF,8DAA8D;AAC9D,KAAK,UAAU,iBAAiB,CAAC,YAA6B;IAC5D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAC,YAA6B,EAAE,GAAW;IACpE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,aAAgC,EAChC,YAAsC,EAAE;IAExC,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,MAAM,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,OAAO,MAAM,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,OAAO,MAAM,iBAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,OAAO,MAAM,eAAe,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,MAAM,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,MAAM,mBAAmB,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,MAAM,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,MAAM,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC1E,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,OAAO,CACZ,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,CAC/D,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,MAAM,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,+BAA+B,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP;;;;WAIG;QACH,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC7E;iFACyE;QACzE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChF,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,4CAA4C,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -0,0 +1,87 @@
1
+ /** The client release that first carried `--device-auth`. */
2
+ export declare const MINIMUM_CODEX_VERSION: readonly [number, number, number];
3
+ /** How long a login may stay open before it is abandoned. */
4
+ export declare const LOGIN_TIMEOUT_MILLISECONDS = 180000;
5
+ /** How long the client has to print its code before it is given up on. */
6
+ export declare const START_TIMEOUT_MILLISECONDS = 20000;
7
+ export type DeviceLoginFailure = "not_installed" | "too_old" | "storage" | "spawn" | "no_code";
8
+ export declare class DeviceLoginError extends Error {
9
+ readonly reason: DeviceLoginFailure;
10
+ constructor(reason: DeviceLoginFailure);
11
+ }
12
+ export type DeviceLoginState = {
13
+ readonly kind: "pending";
14
+ } | {
15
+ readonly kind: "complete";
16
+ } | {
17
+ readonly kind: "cancelled";
18
+ } | {
19
+ readonly kind: "timed_out";
20
+ } | {
21
+ readonly kind: "failed";
22
+ readonly reason: DeviceLoginFailure;
23
+ };
24
+ export interface DeviceLoginStart {
25
+ readonly userCode: string;
26
+ readonly verificationUrl: string;
27
+ readonly expiresInSeconds: number;
28
+ }
29
+ /**
30
+ * Whether a version string clears the floor.
31
+ *
32
+ * Read off a client this process does not own, so anything that is not three
33
+ * numbers is refused rather than interpreted generously.
34
+ */
35
+ export declare function versionIsSupported(value: string): boolean;
36
+ export interface ScannedLine {
37
+ code: string | null;
38
+ url: string | null;
39
+ }
40
+ /**
41
+ * The user code and the address, taken out of one line of the client's own
42
+ * output. Both are bounded and validated: the code is short and alphanumeric
43
+ * with hyphens, and the address must be an https URL, never plain http.
44
+ */
45
+ export declare function scanLine(line: string, found: ScannedLine): void;
46
+ /**
47
+ * Where one managed login keeps the client's own configuration.
48
+ *
49
+ * Under this product's own state directory, one folder per login, so a login
50
+ * made here can never write into the folder the person's own Codex uses.
51
+ */
52
+ export declare function managedCodexHome(stateDirectory: string, sessionId: string): string | null;
53
+ /** A running login, from the caller's side. */
54
+ export interface DeviceLoginChild {
55
+ /** The next line the client printed, or null once the deadline passes. */
56
+ nextLine(deadlineMilliseconds: number): Promise<string | null>;
57
+ finished(): boolean;
58
+ stop(): void;
59
+ }
60
+ /** How the child process is started, injectable so no test spawns one. */
61
+ export interface DeviceLoginRunner {
62
+ start(home: string): Promise<DeviceLoginChild>;
63
+ }
64
+ /** The real runner: `codex login --device-auth` with a managed `CODEX_HOME`. */
65
+ export declare class SystemDeviceLoginRunner implements DeviceLoginRunner {
66
+ private readonly executable;
67
+ constructor(executable: string);
68
+ start(home: string): Promise<DeviceLoginChild>;
69
+ }
70
+ export interface CodexDeviceLoginSession {
71
+ readonly home: string;
72
+ state(now: number): Promise<DeviceLoginState>;
73
+ cancel(): void;
74
+ }
75
+ /**
76
+ * Start a login and read the code and the address out of the client's own
77
+ * output.
78
+ *
79
+ * A client that starts and never prints a code is stopped rather than left
80
+ * running: it is not going to become useful later, and a process waiting on a
81
+ * login nobody can complete is a process nobody knows about.
82
+ */
83
+ export declare function startCodexDeviceLogin(runner: DeviceLoginRunner, home: string, now: number): Promise<{
84
+ session: CodexDeviceLoginSession;
85
+ start: DeviceLoginStart;
86
+ }>;
87
+ //# sourceMappingURL=codex-device-login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-device-login.d.ts","sourceRoot":"","sources":["../src/codex-device-login.ts"],"names":[],"mappings":"AAsBA,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAe,CAAC;AAEpF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAWjD,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/F,qBAAa,gBAAiB,SAAQ,KAAK;aACb,MAAM,EAAE,kBAAkB;gBAA1B,MAAM,EAAE,kBAAkB;CAGvD;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAYzD;AAiBD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAY/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzF;AAqBD,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/D,QAAQ,IAAI,OAAO,CAAC;IACpB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChD;AA8DD,gFAAgF;AAChF,qBAAa,uBAAwB,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAEzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAarD;AAWD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,MAAM,IAAI,IAAI,CAAC;CAChB;AA+BD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAwBxE"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * The one sign in this build spawns on somebody's behalf, ported from the
3
+ * desktop's own implementation.
4
+ *
5
+ * `apps/desktop/src-tauri/src/codex_device_login.rs` is the reference for
6
+ * every rule here: only Codex, because its client is Apache licensed and its
7
+ * device flow is a documented subcommand nobody else offers; a managed
8
+ * `CODEX_HOME` so the vendor's client never touches the person's own Codex
9
+ * folder; a short startup deadline so a client that never prints a code
10
+ * cannot hang the command that started it; a hard three minute ceiling so a
11
+ * login nobody finished does not leave a process running forever; and a
12
+ * version floor, because the subcommand does not exist in every client and
13
+ * offering it anyway fails in a way nobody can read.
14
+ *
15
+ * Nothing here reads, copies or rewrites a credential file. The only thing
16
+ * this module ever asks is whether one appeared.
17
+ */
18
+ import { spawn } from "node:child_process";
19
+ import { createInterface } from "node:readline";
20
+ import { lstat, mkdir } from "node:fs/promises";
21
+ import path from "node:path";
22
+ /** The client release that first carried `--device-auth`. */
23
+ export const MINIMUM_CODEX_VERSION = [0, 153, 3];
24
+ /** How long a login may stay open before it is abandoned. */
25
+ export const LOGIN_TIMEOUT_MILLISECONDS = 180_000;
26
+ /** How long the client has to print its code before it is given up on. */
27
+ export const START_TIMEOUT_MILLISECONDS = 20_000;
28
+ /** The file the client writes when the login succeeded. */
29
+ const CREDENTIAL_FILE = "auth.json";
30
+ /** The most output lines read while waiting for the code and the address. */
31
+ const MAX_SCANNED_LINES = 64;
32
+ /** The most characters of one output line kept. */
33
+ const MAX_LINE_BYTES = 512;
34
+ export class DeviceLoginError extends Error {
35
+ reason;
36
+ constructor(reason) {
37
+ super(reason);
38
+ this.reason = reason;
39
+ }
40
+ }
41
+ /**
42
+ * Whether a version string clears the floor.
43
+ *
44
+ * Read off a client this process does not own, so anything that is not three
45
+ * numbers is refused rather than interpreted generously.
46
+ */
47
+ export function versionIsSupported(value) {
48
+ const trimmed = value.trim().replace(/^v/u, "");
49
+ const head = trimmed.split(/[-+ ]/u)[0] ?? "";
50
+ const parts = head.split(".");
51
+ if (parts.length !== 3)
52
+ return false;
53
+ const numbers = parts.map((part) => (/^\d+$/u.test(part) ? Number.parseInt(part, 10) : null));
54
+ if (numbers.some((value) => value === null))
55
+ return false;
56
+ const [major, minor, patch] = numbers;
57
+ const [minMajor, minMinor, minPatch] = MINIMUM_CODEX_VERSION;
58
+ if (major !== minMajor)
59
+ return major > minMajor;
60
+ if (minor !== minMinor)
61
+ return minor > minMinor;
62
+ return patch >= minPatch;
63
+ }
64
+ /** Whether a token looks like a device user code. */
65
+ function isUserCode(token) {
66
+ const characters = [...token];
67
+ if (characters.length < 6 || characters.length > 16)
68
+ return false;
69
+ let letters = 0;
70
+ for (const character of characters) {
71
+ if (character >= "A" && character <= "Z") {
72
+ letters += 1;
73
+ }
74
+ else if (!(character >= "0" && character <= "9") && character !== "-") {
75
+ return false;
76
+ }
77
+ }
78
+ return letters > 0;
79
+ }
80
+ /**
81
+ * The user code and the address, taken out of one line of the client's own
82
+ * output. Both are bounded and validated: the code is short and alphanumeric
83
+ * with hyphens, and the address must be an https URL, never plain http.
84
+ */
85
+ export function scanLine(line, found) {
86
+ const bounded = line.slice(0, MAX_LINE_BYTES);
87
+ for (const rawToken of bounded.split(/\s+/u)) {
88
+ const token = rawToken.replace(/^["',.():]+|["',.():]+$/gu, "");
89
+ if (found.url === null && token.startsWith("https://") && token.length <= 256) {
90
+ found.url = token;
91
+ continue;
92
+ }
93
+ if (found.code === null && isUserCode(token)) {
94
+ found.code = token;
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * Where one managed login keeps the client's own configuration.
100
+ *
101
+ * Under this product's own state directory, one folder per login, so a login
102
+ * made here can never write into the folder the person's own Codex uses.
103
+ */
104
+ export function managedCodexHome(stateDirectory, sessionId) {
105
+ if (sessionId.length === 0 || sessionId.length > 64 || !/^[a-z0-9]+$/u.test(sessionId)) {
106
+ return null;
107
+ }
108
+ return path.join(stateDirectory, "accounts", "codex", sessionId);
109
+ }
110
+ async function rejectSymlink(target) {
111
+ try {
112
+ if ((await lstat(target)).isSymbolicLink())
113
+ throw new DeviceLoginError("storage");
114
+ }
115
+ catch (error) {
116
+ if (error instanceof DeviceLoginError)
117
+ throw error;
118
+ if (error.code !== "ENOENT")
119
+ throw new DeviceLoginError("storage");
120
+ }
121
+ }
122
+ async function prepareManagedHome(home) {
123
+ await rejectSymlink(home);
124
+ try {
125
+ await mkdir(home, { recursive: true, mode: 0o700 });
126
+ }
127
+ catch {
128
+ throw new DeviceLoginError("storage");
129
+ }
130
+ await rejectSymlink(home);
131
+ }
132
+ class RealDeviceLoginChild {
133
+ child;
134
+ buffered = [];
135
+ waiting = null;
136
+ closed = false;
137
+ constructor(child) {
138
+ this.child = child;
139
+ const onLine = (line) => this.deliver(line.slice(0, MAX_LINE_BYTES));
140
+ if (child.stdout !== null)
141
+ createInterface({ input: child.stdout }).on("line", onLine);
142
+ if (child.stderr !== null)
143
+ createInterface({ input: child.stderr }).on("line", onLine);
144
+ child.once("exit", () => {
145
+ this.closed = true;
146
+ this.deliver(null);
147
+ });
148
+ child.once("error", () => {
149
+ this.closed = true;
150
+ this.deliver(null);
151
+ });
152
+ }
153
+ deliver(line) {
154
+ if (this.waiting !== null) {
155
+ const resolve = this.waiting;
156
+ this.waiting = null;
157
+ resolve(line);
158
+ return;
159
+ }
160
+ if (line !== null)
161
+ this.buffered.push(line);
162
+ }
163
+ async nextLine(deadlineMilliseconds) {
164
+ const queued = this.buffered.shift();
165
+ if (queued !== undefined)
166
+ return queued;
167
+ if (this.closed)
168
+ return null;
169
+ const remaining = deadlineMilliseconds - Date.now();
170
+ if (remaining <= 0)
171
+ return null;
172
+ return await new Promise((resolve) => {
173
+ const timer = setTimeout(() => {
174
+ this.waiting = null;
175
+ resolve(null);
176
+ }, remaining);
177
+ this.waiting = (line) => {
178
+ clearTimeout(timer);
179
+ resolve(line);
180
+ };
181
+ });
182
+ }
183
+ finished() {
184
+ return this.closed;
185
+ }
186
+ stop() {
187
+ try {
188
+ this.child.kill();
189
+ }
190
+ catch {
191
+ /* Already gone. */
192
+ }
193
+ }
194
+ }
195
+ /** The real runner: `codex login --device-auth` with a managed `CODEX_HOME`. */
196
+ export class SystemDeviceLoginRunner {
197
+ executable;
198
+ constructor(executable) {
199
+ this.executable = executable;
200
+ }
201
+ async start(home) {
202
+ let child;
203
+ try {
204
+ child = spawn(this.executable, ["login", "--device-auth"], {
205
+ env: { ...process.env, CODEX_HOME: home },
206
+ stdio: ["ignore", "pipe", "pipe"],
207
+ windowsHide: true
208
+ });
209
+ }
210
+ catch {
211
+ throw new DeviceLoginError("spawn");
212
+ }
213
+ return new RealDeviceLoginChild(child);
214
+ }
215
+ }
216
+ async function credentialWritten(home) {
217
+ try {
218
+ const stat = await lstat(path.join(home, CREDENTIAL_FILE));
219
+ return stat.isFile() && stat.size > 0;
220
+ }
221
+ catch {
222
+ return false;
223
+ }
224
+ }
225
+ class RunningCodexDeviceLoginSession {
226
+ home;
227
+ child;
228
+ deadline;
229
+ cancelled = false;
230
+ constructor(home, child, deadline) {
231
+ this.home = home;
232
+ this.child = child;
233
+ this.deadline = deadline;
234
+ }
235
+ async state(now) {
236
+ if (this.cancelled)
237
+ return { kind: "cancelled" };
238
+ if (await credentialWritten(this.home))
239
+ return { kind: "complete" };
240
+ if (now >= this.deadline) {
241
+ this.cancel();
242
+ return { kind: "timed_out" };
243
+ }
244
+ if (this.child.finished()) {
245
+ if (await credentialWritten(this.home))
246
+ return { kind: "complete" };
247
+ return { kind: "failed", reason: "no_code" };
248
+ }
249
+ return { kind: "pending" };
250
+ }
251
+ cancel() {
252
+ this.cancelled = true;
253
+ this.child.stop();
254
+ }
255
+ }
256
+ /**
257
+ * Start a login and read the code and the address out of the client's own
258
+ * output.
259
+ *
260
+ * A client that starts and never prints a code is stopped rather than left
261
+ * running: it is not going to become useful later, and a process waiting on a
262
+ * login nobody can complete is a process nobody knows about.
263
+ */
264
+ export async function startCodexDeviceLogin(runner, home, now) {
265
+ await prepareManagedHome(home);
266
+ const child = await runner.start(home);
267
+ const startupDeadline = Date.now() + START_TIMEOUT_MILLISECONDS;
268
+ const found = { code: null, url: null };
269
+ for (let scanned = 0; scanned < MAX_SCANNED_LINES; scanned += 1) {
270
+ const line = await child.nextLine(startupDeadline);
271
+ if (line === null)
272
+ break;
273
+ scanLine(line, found);
274
+ if (found.code !== null && found.url !== null)
275
+ break;
276
+ }
277
+ if (found.code === null || found.url === null) {
278
+ child.stop();
279
+ throw new DeviceLoginError("no_code");
280
+ }
281
+ const session = new RunningCodexDeviceLoginSession(home, child, now + LOGIN_TIMEOUT_MILLISECONDS);
282
+ return {
283
+ session,
284
+ start: {
285
+ userCode: found.code,
286
+ verificationUrl: found.url,
287
+ expiresInSeconds: LOGIN_TIMEOUT_MILLISECONDS / 1_000
288
+ }
289
+ };
290
+ }
291
+ //# sourceMappingURL=codex-device-login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-device-login.js","sourceRoot":"","sources":["../src/codex-device-login.ts"],"names":[],"mappings":"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"}