@youdie006/prodex 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +418 -0
- package/dist/banner.d.ts +5 -0
- package/dist/banner.js +47 -0
- package/dist/banner.js.map +1 -0
- package/dist/bundle.d.ts +15 -0
- package/dist/bundle.js +30 -0
- package/dist/bundle.js.map +1 -0
- package/dist/chatgpt-browser.d.ts +119 -0
- package/dist/chatgpt-browser.js +857 -0
- package/dist/chatgpt-browser.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +3502 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +58 -0
- package/dist/config.js +277 -0
- package/dist/config.js.map +1 -0
- package/dist/http-mcp.d.ts +20 -0
- package/dist/http-mcp.js +236 -0
- package/dist/http-mcp.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-tools.d.ts +395 -0
- package/dist/mcp-tools.js +167 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/mcp.d.ts +37 -0
- package/dist/mcp.js +229 -0
- package/dist/mcp.js.map +1 -0
- package/dist/repo-write.d.ts +47 -0
- package/dist/repo-write.js +427 -0
- package/dist/repo-write.js.map +1 -0
- package/dist/repo.d.ts +27 -0
- package/dist/repo.js +386 -0
- package/dist/repo.js.map +1 -0
- package/dist/safe-file.d.ts +25 -0
- package/dist/safe-file.js +295 -0
- package/dist/safe-file.js.map +1 -0
- package/dist/schema.d.ts +402 -0
- package/dist/schema.js +109 -0
- package/dist/schema.js.map +1 -0
- package/dist/store.d.ts +157 -0
- package/dist/store.js +1402 -0
- package/dist/store.js.map +1 -0
- package/docs/claude.md +130 -0
- package/docs/clients.md +75 -0
- package/docs/http-mcp.md +223 -0
- package/package.json +67 -0
- package/scripts/release-check.mjs +436 -0
- package/scripts/release-pack.mjs +481 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAGL,YAAY,EACZ,MAAM,EAGN,aAAa,EAEb,YAAY,EACZ,cAAc,EAEd,aAAa,EAGb,UAAU,EACX,MAAM,aAAa,CAAC;AAarB,IAAI,cAAc,GAAyB,EAAE,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,KAA2B;IACjE,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC;AAED,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAC3D,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAC9D,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,kCAAkC,GAAG,CAAC,iCAAiC,EAAE,4BAA4B,CAAC,CAAC;AAC7G,MAAM,CAAC,MAAM,mCAAmC,GAAG,OAAO,CAAC;AAC3D,MAAM,8BAA8B,GAAG,SAAS,CAAC;AAoDjD,MAAM,OAAO,WAAW;IACb,IAAI,CAAS;IACb,SAAS,CAAS;IAE3B,YAAY,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACjE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,wCAAwC,CAAC;YACnF,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,0CAA0C,CAAC;YACvF,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,2CAA2C,CAAC;YACzF,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,4CAA4C,CAAC;YAC3F,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,2CAA2C,CAAC;SAC1F,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,IAAuB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACpF,UAAU,CAAC,KAAK,CAAC;YACf,cAAc,EAAE,cAAc;YAC9B,EAAE;YACF,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;YACnC,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACtB,CAAC,CACH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC;gBACtB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,OAAO,EAAE,gBAAgB,IAAI,CAAC,EAAE,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,0CAA0C,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACjH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3D,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;IACzI,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,SAAiB;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,MAAM,EAAE;YACpB,UAAU,EAAE,MAAM,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC;gBACtB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,gBAAgB,MAAM,OAAO,SAAS,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,8CAA8C,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAwB;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,8BAA8B,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,GAAW,YAAY,CAAC,KAAK,CAAC;YAC7C,cAAc,EAAE,cAAc;YAC9B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,MAAM,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClE,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAAE,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAC7E,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,eAAe,IAAI,CAAC,MAAM,gCAAgC,CAAC,CAAC;YAC5F,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClE,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC/B,GAAG,IAAI;gBACP,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;gBAC5F,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,WAAW,EAAE,mBAAmB,MAAM,OAAO;gBAC7C,UAAU,EAAE,MAAM,EAAE;aACrB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,uCAAuC,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACjF,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAW,YAAY,CAAC,KAAK,CAAC;YACxC,GAAG,WAAW;YACd,SAAS;SACV,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,GAAG,IAAI;YACP,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;YAC5F,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,WAAW,EAAE,mBAAmB,MAAM,OAAO;YAC7C,UAAU,EAAE,MAAM,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,uCAAuC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAC5D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACnE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7F,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,0CAA0C,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC/I,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,MAAc;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,0CAA0C,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,WAAW,MAAM,CAAC,MAAM,+BAA+B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,+CAA+C,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,CAAC,gDAAgD,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM;YACN,OAAO,EAAE,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,MAAc,EACd,YAAqB,EACrB,UAAiC,EAAE;QAEnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,YAAqB,EACrB,UAAqD,EAAE;QAEvD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,0CAA0C,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,KAAK,YAAY,EAAE,CAAC,CAAC;YAC9F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,0BAA0B,CAAC,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,2DAA2D,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,IAAI,sBAAsB,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvG,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,KAAK,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,SAAuB;QAC5D,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,mCAAmC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,0CAA0C,KAAK,YAAY,mCAAmC,YAAY,QAAQ,CAAC,IAAI,EAAE,CAC1H,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,MAAc;QACzD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,SAAS;YAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,IAAI,sBAAsB,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACvG,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/H,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC;YACxH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAC1F,aAAa,CAAC,KAAK,CAAC;gBAClB,cAAc,EAAE,cAAc;gBAC9B,EAAE;gBACF,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,SAAS;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;YAClC,cAAc,EAAE,cAAc;YAC9B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,SAAS;YAC7C,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA0B;QAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACpE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAA0B;QACnD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;QACrG,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC5C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAA2B,EAAE;QAC9C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;aAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAA2B,EAAE;QACtD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;aACnG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAiB;QAClD,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,MAAc,EAAE,MAAc;QAC1E,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAC1E,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAC7E,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;oBACzC,WAAW,EAAE,iEAAiE;iBAC/E,CAAC,CAAC;gBACH,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,0CAA0C,CAAC,MAAc,EAAE,MAAc;QACrF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAC3G,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAC7E,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;oBACzC,WAAW,EAAE,iEAAiE;iBAC/E,CAAC,CAAC;gBACH,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,4CAA4C,QAAQ,CAAC,CAAC,CAAC,IAAI,6BAA6B,EAAE,CAAC,CAAC;IAC5I,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,MAAc,EAAE,MAAc;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE;YAC/E,QAAQ,EAAE;gBACR,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC;aACpC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uCAAuC,CAAC,MAAc,EAAE,MAAc,EAAE,YAAkB;QACtG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,mDAAmD,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1H,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gDAAgD,CAAC,MAAc,EAAE,MAAc;QAC3F,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;aAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iDAAiD,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;oBACzC,WAAW,EAAE,oEAAoE;iBAClF,CAAC,CAAC;gBACH,0CAA0C,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5D,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,oBAAoB,CACxB,IAAI,CAAC,IAAI,EACT,MAAM,EACN,yEAAyE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CACvI,CAAC;QACJ,CAAC;QACD,MAAM,oBAAoB,CACxB,IAAI,CAAC,IAAI,EACT,MAAM,EACN,mEAAmE,QAAQ,CAAC,CAAC,CAAC,IAAI,6BAA6B,EAAE,CAClH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,OAAe;QAC3D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACrE,MAAM,qBAAqB,CACzB,YAAY,EACZ,OAAO,EACP,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,kCAAkC,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CACzC,CAAC;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,YAAoB;QACpD,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACnF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAAE,OAAO;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB,EAAE,UAAiC,EAAE;QAC9E,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACrE,OAAO,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE;YAC7F,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,8BAA8B;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;gBACnC,cAAc,EAAE,cAAc;gBAC9B,EAAE;gBACF,UAAU,EAAE,MAAM,EAAE;gBACpB,GAAG,KAAK;aACT,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,KAAK,CAAC;gBACzB,GAAG,QAAQ;gBACX,SAAS,EAAE;oBACT,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,OAAgB,EAChB,UAAoC;QAClC,WAAW,EAAE,wDAAwD;KACtE;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,wDAAwD,CAAC;QACpG,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,KAAK,aAAa,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,qCAAqC,WAAW,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,yCAAyC,WAAW,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,OAAgB;QACpD,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,OAAgB;QAC7D,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,KAAK,aAAa,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;YAC3E,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAgB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3H,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE;YACxH,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,MAAM,GAAG,GAAG,CACV,MAAM,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;YAClI,IAAI,EAAE,gBAAgB;SACvB,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC;QACjD,CAAC;QACD,MAAM,QAAQ,GAAG;YACf,cAAc;YACd,gBAAgB;YAChB,iBAAiB;YACjB,iBAAiB;YACjB,aAAa;YACb,mBAAmB;YACnB,mBAAmB;YACnB,aAAa;SACd,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,qBAAqB,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE;YACzH,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAuB;QAC9D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,+FAA+F;IAC/F,uFAAuF;IACvF,0FAA0F;IAC1F,8FAA8F;IAC9F,iCAAiC;IACzB,KAAK,CAAC,kBAAkB,CAC9B,MAAmC,EACnC,KAAa,EACb,IAAuC,EACvC,KAAqC;QAErC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;YACnE,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,qBAAqB,IAAI,UAAU,OAAO,WAAW,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,IAAsB,EAAE,EAAU;QAChD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,IAAmD,EACnD,WAA8C,EAC9C,UAA8C,EAAE;QAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC/D,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;gBAAE,SAAS;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAI,IAAsB,EAAE,EAAU,EAAE,KAAc,EAAE,WAA8C;QACvH,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,IAAsB,EACtB,EAAU,EACV,UAA8C,EAAE;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAsB,EAAE,EAAU,EAAE,KAAc;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAsB,EAAE,EAAU,EAAE,KAAc;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAsB,EAAE,QAAgB,EAAE,KAAc;QAC9E,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAsB,EAAE,QAAgB,EAAE,KAAc;QACtF,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAsB,EAAE,QAAgB,EAAE,OAAe;QACvF,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAsB,EAAE,QAAgB,EAAE,OAAe;QAChG,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,OAAO,MAAM,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAsB,EAAE,EAAU;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACjD,oCAAoC,IAAI,EAAE,CAC3C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1E,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;wBAAE,OAAO;oBACzC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,mDAAmD,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;oBAAS,CAAC;gBACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,IAAsB,EAAE,QAAgB,EAAE,OAAe;QACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACjD,oCAAoC,IAAI,EAAE,CAC3C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM,yBAAyB,CAAC,UAAU,EAAE,kCAAkC,IAAI,EAAE,CAAC,CAAC;gBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1G,IAAI,CAAC;oBACH,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE;wBAClG,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CAAC;oBACH,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC1D,MAAM,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClC,MAAM,yBAAyB,CAAC,UAAU,EAAE,kCAAkC,IAAI,EAAE,CAAC,CAAC;oBACtF,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC1D,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oCAAoC,CAAC,IAAsB,EAAE,QAAgB,EAAE,OAAe;QAC1G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACjD,oCAAoC,IAAI,EAAE,CAC3C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1G,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE;wBAClG,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,IAAI;wBACf,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAC1D,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;4BACjC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;4BAC1D,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnC,MAAM,yBAAyB,CAAC,UAAU,EAAE,kCAAkC,IAAI,EAAE,CAAC,CAAC;oBACtF,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM;wBAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACvE,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAsB,EAAE,QAAgB;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACjD,oCAAoC,IAAI,EAAE,CAC3C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,UAAU,CAAC;gBACf,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;wBAAE,OAAO;oBACzC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,IAAI,CAAC;oBAAE,OAAO;gBACzF,MAAM,cAAc,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC/D,MAAM,UAAU,GAAG,IAAI,QAAQ,GAAG,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,SAAS;oBACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE;wBAAE,SAAS;oBAC/D,IAAI,QAAQ,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;wBACvE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,YAAoB;QAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,QAAgB;QACvD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,iCAAiC;QAC7C,MAAM,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QAC5D,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QAC5D,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,UAAkB,EAAE,aAAsB;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,OAAe;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAA0B,CAAC;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACzC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,MAAM,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,OAAe;QACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,8BAA8B;QAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,UAAsC,EAAE,YAAY,EAAE,IAAI,EAAE;QACxG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;gBAAE,OAAO;YAC3E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAAC,UAAsC,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5G,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;gBAAE,OAAO;YAC3E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mCAAmC;QAC/C,MAAM,OAAO,CAAC,GAAG,CACd,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChF,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAC3C,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,IAAuB;QACnE,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,2BAA2B,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAsB,EAAE,QAAgB;QAC7E,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,mDAAmD,CAAC,CAAC;QAC7G,CAAC;QACD,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,IAAsB,EAAE,QAAgB;QACrF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAA0B,CAAC;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAAC,QAAgB;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAA0B,CAAC;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,QAAgB;QAC1D,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,IAAsB,EAAE,QAAgB;QACnF,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAsB,EAAE,EAAU;IAC7D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAA+B,CAAC;IAC/F,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAsB,EAAE,EAAU,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAc;IAC5G,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,8CAA8C,EAAE;QAC1I,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,MAAc,EAAE,MAAc;IACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,+BAA+B,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI,MAAM,mFAAmF,MAAM,2CAA2C,MAAM,qGAAqG,CAC/S,CAAC;IAC3D,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACjC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,IAAsB;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAK,KAA4B,CAAC,IAAI,KAAK,IAAI,CAAC;AACvH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,6BAA6B,CAAC,cAAsB;IAC3D,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAuB;IAC7D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,IAAI,cAAc,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,KAAc;IACzD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,4BAA4B,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,cAAsB,EAAE,KAAc;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,4BAA4B,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,KAAc;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,4BAA4B,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,KAAc;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,4BAA4B,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,UAAkB,EAAE,QAAgB,EAAE,KAAK,GAAG,IAAI;IACpG,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,QAAQ,mBAAmB,IAAI,WAAW,UAAU,EAAE,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;IAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,gEAAgE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,SAAS,0CAA0C,CAAC,OAAgB,EAAE,MAAc;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;IAC/C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,yCAAyC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,uEAAuE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;IAC/E,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,+DAA+D,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAU;IAChD,OAAO,IAAI,KAAK,CACd,QAAQ,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,MAAM,wBAAwB,IAAI,CAAC,EAAE,0JAA0J,CAC3N,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC/D,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAoB;IAC1D,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,KAAa;IACjE,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,KAA0B,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qDAAqD,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,KAAa;IAClE,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACvE,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,KAAa;IACjE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1C,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAkB;IACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,KAAa;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mDAAmD,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,KAA0B,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,mBAAmB,EAAE,KAAK,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,cAAc,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,eAAe,CAAC;IACxD,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB,EAAE,EAAU;IAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAsB,EAAE,EAAU;IAC1D,MAAM,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;IACtH,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB,EAAE,eAAkD;IACnG,MAAM,QAAQ,GAA4B,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAClE,OAAO,QAAQ,CAAC,gBAAgB,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC3C,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC5B,QAAQ,CAAC,oBAAoB,GAAG;YAC9B,MAAM,EAAE,mCAAmC;YAC3C,GAAG,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,aAAa,GAAG;YACvB,MAAM,EAAE,oBAAoB;YAC5B,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC9C,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
package/docs/claude.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Claude Setup
|
|
2
|
+
|
|
3
|
+
`prodex` exposes a stdio MCP server so Claude can create bridge tasks, inspect task/result/session/receipt records, read/search the current repo, and request receipt-gated text-file edits.
|
|
4
|
+
|
|
5
|
+
## Build
|
|
6
|
+
|
|
7
|
+
Requires Node.js 20 or newer, `git`, and `ripgrep` (`rg`) on PATH.
|
|
8
|
+
|
|
9
|
+
Install with `npm install -g @youdie006/prodex` (note the scope — the unscoped `prodex` on npm is an unrelated package; do not install it). Once installed, `prodex` is on your PATH and you can use `prodex mcp` directly.
|
|
10
|
+
|
|
11
|
+
The installed npm package is CLI-only. Use the `prodex` command and MCP server surfaces; JavaScript imports from `prodex` or `prodex/dist/*` are unsupported until a library API is designed and documented.
|
|
12
|
+
|
|
13
|
+
For a source checkout:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cd /absolute/path/to/prodex
|
|
17
|
+
npm install
|
|
18
|
+
npm run build
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Claude Desktop
|
|
22
|
+
|
|
23
|
+
Generate a Claude Desktop MCP config:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
prodex claude config --cwd /absolute/path/to/your/repo
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
It prints this token-free JSON:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"mcpServers": {
|
|
34
|
+
"prodex": {
|
|
35
|
+
"command": "prodex",
|
|
36
|
+
"args": ["mcp", "--cwd", "/absolute/path/to/your/repo"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
For a source checkout instead of an installed package, first build the project, then generate a `node dist/cli.js` config:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node dist/cli.js claude config --cwd /absolute/path/to/your/repo --source-cli /absolute/path/to/prodex/dist/cli.js
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
It prints this shape:
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"prodex": {
|
|
54
|
+
"command": "node",
|
|
55
|
+
"args": ["/absolute/path/to/prodex/dist/cli.js", "mcp", "--cwd", "/absolute/path/to/your/repo"]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Restart Claude Desktop after editing the config.
|
|
62
|
+
|
|
63
|
+
## Claude Code
|
|
64
|
+
|
|
65
|
+
Use the same command shape in Claude Code's MCP configuration. If your Claude Code install supports adding servers from the CLI, the command is conceptually:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
claude mcp add prodex -- prodex mcp --cwd /absolute/path/to/your/repo
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
For a source checkout without a global `prodex` binary, point Claude Code at the built CLI:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
claude mcp add prodex -- node /absolute/path/to/prodex/dist/cli.js mcp --cwd /absolute/path/to/your/repo
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If your install expects a JSON config, use the Claude Desktop JSON above.
|
|
78
|
+
|
|
79
|
+
## Tools
|
|
80
|
+
|
|
81
|
+
The server currently exposes ledger-first tools:
|
|
82
|
+
|
|
83
|
+
- `bridge_create_task`
|
|
84
|
+
- `bridge_list_tasks`
|
|
85
|
+
- `bridge_get_task`
|
|
86
|
+
- `bridge_claim_task`
|
|
87
|
+
- `bridge_complete_task`
|
|
88
|
+
- `bridge_block_task`
|
|
89
|
+
- `bridge_list_results`
|
|
90
|
+
- `bridge_fetch_result`
|
|
91
|
+
- `bridge_fetch_result_artifact`
|
|
92
|
+
- `bridge_list_receipts`
|
|
93
|
+
- `bridge_get_receipt`
|
|
94
|
+
- `bridge_list_sessions`
|
|
95
|
+
- `bridge_get_session`
|
|
96
|
+
- `repo_read_file`
|
|
97
|
+
- `repo_search`
|
|
98
|
+
- `repo_write_file_dry_run`
|
|
99
|
+
- `repo_write_file_apply`
|
|
100
|
+
- `repo_stage_reviewed_paths`
|
|
101
|
+
|
|
102
|
+
`bridge_complete_task` and `bridge_block_task` close tasks by writing durable `.bridge/results` records; they do not modify repo files. `bridge_fetch_result_artifact` only returns text artifacts that are listed on a result record and stored under `.bridge/artifacts/pro-consults/` or `.bridge/artifacts/results/`; it does not expose arbitrary `.bridge/artifacts` files. Newly finalized result artifacts record a sha256, and fetch rejects the artifact if its content changed afterward. The bridge rejects oversized result artifacts before task finalization; if a Pro browser answer is too large for `bridge_fetch_result_artifact`, it stays in the result summary with `answer_artifact_warning` instead of listing an unfetchable artifact.
|
|
103
|
+
|
|
104
|
+
Write tools are narrow and receipt-gated, and they require a git worktree with a committed HEAD. Claude must first call `repo_write_file_dry_run` with an existing repo-relative text file, replacement content, and the expected git HEAD. The file is not changed; the receipt stores hashes/diff and points at a replacement-text artifact under `.bridge/artifacts/repo-writes/`. To apply it, Claude must call `repo_write_file_apply` with the dry-run receipt id, the same expected HEAD, and the reported preimage hash. If git HEAD, file content, or artifact content changed, apply fails. To stage the result, Claude must call `repo_stage_reviewed_paths` with applied write receipt ids and the same expected HEAD; staging fails if any file changed after apply.
|
|
105
|
+
|
|
106
|
+
No shell, browser, public tunnel, direct ungated write, or direct ungated staging tools are exposed through the Claude stdio MCP server.
|
|
107
|
+
|
|
108
|
+
## First Prompt
|
|
109
|
+
|
|
110
|
+
After adding the MCP server, generate a paste-ready verification prompt:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
prodex claude prompt --cwd /absolute/path/to/your/repo
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
For a source checkout, include the built CLI path so the generated local follow-up commands also use `node dist/cli.js`:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
node dist/cli.js claude prompt --cwd /absolute/path/to/your/repo --source-cli /absolute/path/to/prodex/dist/cli.js
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Paste the generated prompt into Claude. It asks Claude to use `bridge_create_task`, `bridge_list_tasks`, and `bridge_get_task`, then wait while you complete the verification task locally with a result artifact:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
prodex tasks list --status new --cwd /absolute/path/to/your/repo
|
|
126
|
+
prodex tasks show <task-id> --cwd /absolute/path/to/your/repo
|
|
127
|
+
prodex tasks complete <task-id> --cwd /absolute/path/to/your/repo --summary "prodex Claude MCP verification result" --artifact .bridge/artifacts/results/claude-verification.md="prodex Claude MCP verification artifact"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Then reply to Claude with `local completion done`. The generated prompt asks Claude to call `bridge_fetch_result` for the same task id, call `bridge_fetch_result_artifact` for every listed result artifact path, and report whether it can read both the verification result summary and artifact content. It also includes local `claude config --cwd ...` and `doctor --cwd ...` troubleshooting commands in case Claude cannot see or call the MCP tools. Source-checkout prompts keep `--source-cli` on those troubleshooting commands too.
|
package/docs/clients.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Connecting coding agents to ChatGPT Pro
|
|
2
|
+
|
|
3
|
+
`prodex` exposes a stdio MCP server, so any MCP-capable coding agent — not only Claude
|
|
4
|
+
and Codex — can drive the same logged-in ChatGPT Pro bridge and the shared `.bridge`
|
|
5
|
+
receipt ledger. The point is to let your existing agent ask ChatGPT Pro for a stronger
|
|
6
|
+
planning/review pass, with a durable local record, instead of each tool wiring up its own
|
|
7
|
+
account access.
|
|
8
|
+
|
|
9
|
+
The MCP command is the same everywhere:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
command: prodex
|
|
13
|
+
args: ["mcp"]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
For a source checkout, use `command: node`, `args: ["/absolute/path/to/prodex/dist/cli.js", "mcp"]`.
|
|
17
|
+
|
|
18
|
+
Install the `prodex` binary with `npm install -g @youdie006/prodex` (note the scope — the unscoped `prodex` on npm is a different, unrelated package; do not install it), or build from source (see the README).
|
|
19
|
+
|
|
20
|
+
The same operating rules apply to every client: manual-first, explicit `pro browser ...`
|
|
21
|
+
sends only, stop on blockers, no bypass, low volume, local only (see the README).
|
|
22
|
+
|
|
23
|
+
## Claude Code
|
|
24
|
+
|
|
25
|
+
See [claude.md](claude.md), or:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
claude mcp add prodex -- prodex mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Codex
|
|
32
|
+
|
|
33
|
+
Add to the Codex MCP config (`~/.codex/config.toml`):
|
|
34
|
+
|
|
35
|
+
```toml
|
|
36
|
+
[mcp_servers.prodex]
|
|
37
|
+
command = "prodex"
|
|
38
|
+
args = ["mcp"]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Cursor
|
|
42
|
+
|
|
43
|
+
Project `.cursor/mcp.json` (or the global one):
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"mcpServers": {
|
|
48
|
+
"prodex": { "command": "prodex", "args": ["mcp"] }
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Gemini CLI
|
|
54
|
+
|
|
55
|
+
`~/.gemini/settings.json`:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"mcpServers": {
|
|
60
|
+
"prodex": { "command": "prodex", "args": ["mcp"] }
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Other MCP clients (Cline, Continue, Zed, ...)
|
|
66
|
+
|
|
67
|
+
Any client that speaks stdio MCP registers prodex the same way: a server named `prodex`
|
|
68
|
+
running `prodex mcp`. Once connected, the agent gets the ledger tools
|
|
69
|
+
(tasks / results / sessions / receipts) and can request explicit ChatGPT Pro consults
|
|
70
|
+
that land in the same receipt-backed `.bridge` ledger.
|
|
71
|
+
|
|
72
|
+
## ChatGPT Projects
|
|
73
|
+
|
|
74
|
+
ChatGPT Projects connect over the HTTP MCP bridge instead of stdio — see
|
|
75
|
+
[http-mcp.md](http-mcp.md).
|
package/docs/http-mcp.md
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# ChatGPT Project HTTP MCP Setup
|
|
2
|
+
|
|
3
|
+
Use this path when you want a ChatGPT Project to hand tasks back to this local repo through MCP.
|
|
4
|
+
|
|
5
|
+
This is not the ChatGPT Pro browser adapter. It does not open ChatGPT, read cookies, or automate a web session. It starts a local HTTP MCP server that exposes the same bridge/repo tools as the Claude stdio server.
|
|
6
|
+
|
|
7
|
+
## What It Is
|
|
8
|
+
|
|
9
|
+
`prodex start` runs a local Streamable HTTP MCP server.
|
|
10
|
+
|
|
11
|
+
Typical use:
|
|
12
|
+
|
|
13
|
+
- ChatGPT creates a structured task in `.bridge/tasks/`.
|
|
14
|
+
- Codex claims and executes that task locally.
|
|
15
|
+
- Codex writes the result to `.bridge/results/`.
|
|
16
|
+
- ChatGPT fetches the result through MCP.
|
|
17
|
+
|
|
18
|
+
The server is personal and local-first. Do not expose it as a shared service.
|
|
19
|
+
HTTP MCP requests are bounded: malformed JSON returns `400`, and request bodies over 1 MiB are rejected with `413`.
|
|
20
|
+
|
|
21
|
+
## Build And Prepare
|
|
22
|
+
|
|
23
|
+
Requires Node.js 20 or newer, `git`, and `ripgrep` (`rg`) on PATH.
|
|
24
|
+
|
|
25
|
+
For an installed package:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
prodex setup --token-ttl-hours 24
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The installed npm package is CLI-only. Use the `prodex` command and MCP server surfaces; JavaScript imports from `prodex` or `prodex/dist/*` are unsupported until a library API is designed and documented.
|
|
32
|
+
Run the local bridge commands from the repo root, or pass `--cwd /absolute/path/to/your/repo` to `setup`, `start`, `status`, `doctor`, and `tunnel url`.
|
|
33
|
+
|
|
34
|
+
For a source checkout:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
cd /absolute/path/to/prodex
|
|
38
|
+
npm install
|
|
39
|
+
npm run build
|
|
40
|
+
node dist/cli.js setup --cwd /absolute/path/to/your/repo --token-ttl-hours 24
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The examples below use the installed `prodex` binary. In a source checkout, replace `prodex` with `node dist/cli.js` after building, keep `--cwd /absolute/path/to/your/repo` when you are not already in the target repo, and pass `--source-cli /absolute/path/to/prodex/dist/cli.js` to local MCP troubleshooting commands so their recovery hints stay in source-checkout form.
|
|
44
|
+
|
|
45
|
+
`setup` writes a local server profile to `.bridge/config.local.json`. The file is ignored by git.
|
|
46
|
+
It also ensures `.bridge/.gitignore` covers local task, result, session, receipt, artifact, and config files.
|
|
47
|
+
|
|
48
|
+
By default, command output redacts the URL token:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
prodex_token=***
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`--token-ttl-hours` is optional for strictly local use. If you omit it, `status` reports `token_status: "non_expiring"` and the token does not expire. `status --show-token` refuses to reveal non-expiring tokens by default; pass `--unsafe-show-non-expiring-token` only for local-only debugging. Before pasting the URL into ChatGPT or exposing this server through any tunnel, rerun setup with a short TTL:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
prodex setup --token-ttl-hours 24
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Equivalent from outside the repo:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
prodex setup --cwd /absolute/path/to/your/repo --token-ttl-hours 24
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Expired tokens are rejected by `prodex start` and by the HTTP MCP server. Rerun `setup` to rotate the URL.
|
|
67
|
+
|
|
68
|
+
## Start The Local Server
|
|
69
|
+
|
|
70
|
+
Run this in a terminal and keep it running while ChatGPT is using the bridge:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
prodex start
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The HTTP MCP listener is loopback-only. `setup --host` accepts local loopback hosts such as `127.0.0.1` or `localhost`; it rejects public interfaces like `0.0.0.0`. `start` reads the saved setup profile when the server process starts. If you rerun `setup` to change the listener or rotate the token, restart `prodex start` so the running server uses the new profile. `status --show-token --url-only` prints the saved local MCP URL, while `tunnel url` formats your supplied public tunnel URL with the saved token; it does not create or inspect the tunnel. If you need ChatGPT to reach it from outside the machine, keep `prodex start` local and put your own explicit tunnel in front of it.
|
|
77
|
+
|
|
78
|
+
From outside the repo:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
prodex start --cwd /absolute/path/to/your/repo
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Token-bearing MCP URLs are secrets. They authorize all enabled bridge tools, including repo read, search, write dry-run/apply, and stage-reviewed-paths tools. Use the next command only when you are ready to paste the URL into your own trusted private MCP client configuration:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
prodex status --show-token --url-only
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
From outside the repo:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
prodex status --cwd /absolute/path/to/your/repo --show-token --url-only
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`--show-token` requires a token created with `setup --token-ttl-hours <hours>` unless you explicitly pass the local-debug `--unsafe-show-non-expiring-token` override.
|
|
97
|
+
|
|
98
|
+
## Add It To ChatGPT
|
|
99
|
+
|
|
100
|
+
In your ChatGPT Project MCP or Developer Mode setup, add the token-bearing URL generated in the previous step. Use it as a remote Streamable HTTP MCP server URL. Keep `prodex start` running and rotate the URL with `setup` when you no longer need it.
|
|
101
|
+
|
|
102
|
+
If your ChatGPT MCP client cannot reach localhost, keep `prodex start` loopback-only and put your own explicit tunnel in front of it. Public tunnel MCP URLs are also secrets and authorize all enabled bridge tools, including repo read, search, write dry-run/apply, and stage-reviewed-paths tools; use the next command only when you are ready to paste the URL into your own trusted private MCP client configuration:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
prodex tunnel url --public-url "https://your-tunnel.example" --show-token --url-only
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Verify In ChatGPT
|
|
109
|
+
|
|
110
|
+
After adding the MCP URL, generate a prompt that tells ChatGPT exactly which read/task tools to call:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
prodex project prompt
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
From outside the repo:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
prodex project prompt --cwd /absolute/path/to/your/repo
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
For a source checkout, include the built CLI path so the generated local follow-up commands also use `node dist/cli.js`:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
node dist/cli.js project prompt --cwd /absolute/path/to/your/repo --source-cli /absolute/path/to/prodex/dist/cli.js
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Paste the generated prompt into the ChatGPT Project. It asks ChatGPT to call `bridge_create_task`, `bridge_list_tasks`, and `bridge_get_task`, then wait while you complete the verification task locally. It deliberately does not ask for any repo write or staging tools. It also includes local `status --cwd ...` and `doctor --cwd ...` troubleshooting commands in case the Project cannot see or call the MCP tools. Source-checkout prompts keep `--source-cli` on those troubleshooting commands too.
|
|
129
|
+
|
|
130
|
+
After ChatGPT replies with the created task id, confirm and complete the task locally:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
prodex tasks list --status new --cwd /absolute/path/to/your/repo
|
|
134
|
+
prodex tasks show <task-id> --cwd /absolute/path/to/your/repo
|
|
135
|
+
prodex tasks complete <task-id> --cwd /absolute/path/to/your/repo --summary "prodex MCP verification result" --artifact .bridge/artifacts/results/mcp-verification.md="prodex MCP verification artifact"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Then reply to ChatGPT with `local completion done`. The generated prompt asks ChatGPT to call `bridge_fetch_result` for the same task id, call `bridge_fetch_result_artifact` for every listed result artifact path, and report whether it can read both the verification result summary and artifact content.
|
|
139
|
+
|
|
140
|
+
If the ChatGPT app runtime cannot reach `127.0.0.1`, this project intentionally does not create a tunnel automatically. Put your own explicit tunnel in front of the local server only after you understand the token exposure risk, and create a short-lived replacement URL first:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
prodex setup --token-ttl-hours 24
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
After you create your own tunnel, ask `prodex` to format the public MCP URL. This command only rewrites the URL; it does not start or manage any tunnel process.
|
|
147
|
+
|
|
148
|
+
Public tunnel MCP URLs are also secrets. They authorize all enabled bridge tools, including repo read, search, write dry-run/apply, and stage-reviewed-paths tools. Use the next command only when you are ready to paste the public URL into your own trusted private MCP client configuration:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
prodex tunnel url --public-url "https://your-tunnel.example" --show-token --url-only
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
From outside the repo, include the same target:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
prodex tunnel url --cwd /absolute/path/to/your/repo --public-url "https://your-tunnel.example" --show-token --url-only
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
`tunnel url` refuses non-expiring or expired tokens. By default it redacts the token.
|
|
161
|
+
|
|
162
|
+
## Available Tools
|
|
163
|
+
|
|
164
|
+
The HTTP server exposes the same tool catalog as stdio MCP:
|
|
165
|
+
|
|
166
|
+
- `bridge_create_task`
|
|
167
|
+
- `bridge_list_tasks`
|
|
168
|
+
- `bridge_get_task`
|
|
169
|
+
- `bridge_claim_task`
|
|
170
|
+
- `bridge_complete_task`
|
|
171
|
+
- `bridge_block_task`
|
|
172
|
+
- `bridge_list_results`
|
|
173
|
+
- `bridge_fetch_result`
|
|
174
|
+
- `bridge_fetch_result_artifact`
|
|
175
|
+
- `bridge_list_receipts`
|
|
176
|
+
- `bridge_get_receipt`
|
|
177
|
+
- `bridge_list_sessions`
|
|
178
|
+
- `bridge_get_session`
|
|
179
|
+
- `repo_read_file`
|
|
180
|
+
- `repo_search`
|
|
181
|
+
- `repo_write_file_dry_run`
|
|
182
|
+
- `repo_write_file_apply`
|
|
183
|
+
- `repo_stage_reviewed_paths`
|
|
184
|
+
|
|
185
|
+
`bridge_complete_task` and `bridge_block_task` close tasks by writing durable `.bridge/results` records; they do not modify repo files. `bridge_fetch_result_artifact` only returns text artifacts that are listed on a result record and stored under `.bridge/artifacts/pro-consults/` or `.bridge/artifacts/results/`; it does not expose arbitrary `.bridge/artifacts` files. Newly finalized result artifacts record a sha256, and fetch rejects the artifact if its content changed afterward. The bridge rejects oversized result artifacts before task finalization; if a Pro browser answer is too large for `bridge_fetch_result_artifact`, it stays in the result summary with `answer_artifact_warning` instead of listing an unfetchable artifact.
|
|
186
|
+
|
|
187
|
+
## Write Flow
|
|
188
|
+
|
|
189
|
+
Writes are deliberately gated and require a git worktree with a committed HEAD:
|
|
190
|
+
|
|
191
|
+
1. `repo_write_file_dry_run` previews replacing an existing repo-relative text file. It records the diff, git HEAD, preimage hash, and a replacement-text artifact under `.bridge/artifacts/repo-writes/`.
|
|
192
|
+
2. `repo_write_file_apply` applies that exact receipt only if git HEAD, file path, preimage hash, and artifact content still match.
|
|
193
|
+
3. `repo_stage_reviewed_paths` stages only files backed by matching applied write receipts.
|
|
194
|
+
|
|
195
|
+
There is no direct ungated write tool and no shell execution tool.
|
|
196
|
+
|
|
197
|
+
## Safety Boundaries
|
|
198
|
+
|
|
199
|
+
- No hidden ChatGPT API client.
|
|
200
|
+
- No browser cookie, token, localStorage, or sessionStorage extraction.
|
|
201
|
+
- No captcha, Cloudflare, rate-limit, or permission bypass.
|
|
202
|
+
- No recurring prompt loops.
|
|
203
|
+
- No public account-sharing service.
|
|
204
|
+
- No shell execution over MCP.
|
|
205
|
+
- No access to `.bridge`, `.git`, `.env*`, `node_modules`, `dist`, or oversized files through repo read/search tools.
|
|
206
|
+
|
|
207
|
+
## Troubleshooting
|
|
208
|
+
|
|
209
|
+
Run the local health check:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
prodex doctor
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
`doctor` stays local. It verifies `.bridge`, redacted config loading, receipt-gated write/apply/stage behavior in a temporary git repo, and the real HTTP MCP tool catalog plus task create/list/get/claim/complete/block/fetch/list-results calls.
|
|
216
|
+
|
|
217
|
+
If ChatGPT cannot connect:
|
|
218
|
+
|
|
219
|
+
- Confirm `prodex start` is still running.
|
|
220
|
+
- Confirm you pasted the full `status --show-token --url-only` URL.
|
|
221
|
+
- Confirm the client can reach the host in that URL.
|
|
222
|
+
- If `status --show-token` says a token with expiry is required, run `prodex setup --token-ttl-hours 24` and update the URL.
|
|
223
|
+
- Run `prodex status`; if the token is expired, run `prodex setup --token-ttl-hours 24` again and update the URL.
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@youdie006/prodex",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Local receipt bus for coordinating Codex execution with ChatGPT Pro/Projects consultation.",
|
|
5
|
+
"author": "youdie006",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/youdie006/prodex.git"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/youdie006/prodex#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/youdie006/prodex/issues"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"chatgpt",
|
|
20
|
+
"chatgpt-pro",
|
|
21
|
+
"codex",
|
|
22
|
+
"claude",
|
|
23
|
+
"mcp",
|
|
24
|
+
"cli",
|
|
25
|
+
"bridge"
|
|
26
|
+
],
|
|
27
|
+
"type": "module",
|
|
28
|
+
"bin": {
|
|
29
|
+
"prodex": "./dist/cli.js"
|
|
30
|
+
},
|
|
31
|
+
"exports": {},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist",
|
|
34
|
+
"LICENSE",
|
|
35
|
+
"README.md",
|
|
36
|
+
"docs/claude.md",
|
|
37
|
+
"docs/clients.md",
|
|
38
|
+
"docs/http-mcp.md",
|
|
39
|
+
"scripts/release-check.mjs",
|
|
40
|
+
"scripts/release-pack.mjs"
|
|
41
|
+
],
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsc -p tsconfig.json",
|
|
44
|
+
"dev": "tsx src/cli.ts",
|
|
45
|
+
"release:check": "node scripts/release-check.mjs",
|
|
46
|
+
"release:pack": "node scripts/release-pack.mjs",
|
|
47
|
+
"release:verify": "node scripts/release-check.mjs --verification-only",
|
|
48
|
+
"smoke:package": "node scripts/package-smoke.mjs",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
51
|
+
"prepack": "npm run build",
|
|
52
|
+
"prepublishOnly": "node scripts/release-check.mjs"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=20"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@modelcontextprotocol/sdk": "^1.13.3",
|
|
59
|
+
"zod": "^3.25.67"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@types/node": "^22.15.32",
|
|
63
|
+
"tsx": "^4.20.3",
|
|
64
|
+
"typescript": "^5.8.3",
|
|
65
|
+
"vitest": "^4.1.9"
|
|
66
|
+
}
|
|
67
|
+
}
|