@velarscript/cli 0.10.1
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 +201 -0
- package/README.md +117 -0
- package/dist/application-package-host.d.ts +5 -0
- package/dist/application-package-host.d.ts.map +1 -0
- package/dist/application-package-host.js +67 -0
- package/dist/application-package-host.js.map +1 -0
- package/dist/bounded-text.d.ts +2 -0
- package/dist/bounded-text.d.ts.map +1 -0
- package/dist/bounded-text.js +13 -0
- package/dist/bounded-text.js.map +1 -0
- package/dist/browser-process-owner.d.ts +15 -0
- package/dist/browser-process-owner.d.ts.map +1 -0
- package/dist/browser-process-owner.js +151 -0
- package/dist/browser-process-owner.js.map +1 -0
- package/dist/browser-test-runner.d.ts +11 -0
- package/dist/browser-test-runner.d.ts.map +1 -0
- package/dist/browser-test-runner.js +1022 -0
- package/dist/browser-test-runner.js.map +1 -0
- package/dist/build-engine-tool.d.ts +3 -0
- package/dist/build-engine-tool.d.ts.map +1 -0
- package/dist/build-engine-tool.js +34 -0
- package/dist/build-engine-tool.js.map +1 -0
- package/dist/build-staging.d.ts +3 -0
- package/dist/build-staging.d.ts.map +1 -0
- package/dist/build-staging.js +3 -0
- package/dist/build-staging.js.map +1 -0
- package/dist/bundled-application-package-host-registry.d.ts +10 -0
- package/dist/bundled-application-package-host-registry.d.ts.map +1 -0
- package/dist/bundled-application-package-host-registry.js +16 -0
- package/dist/bundled-application-package-host-registry.js.map +1 -0
- package/dist/bundled-extension-registry.d.ts +22 -0
- package/dist/bundled-extension-registry.d.ts.map +1 -0
- package/dist/bundled-extension-registry.js +10 -0
- package/dist/bundled-extension-registry.js.map +1 -0
- package/dist/canonical-path.d.ts +3 -0
- package/dist/canonical-path.d.ts.map +1 -0
- package/dist/canonical-path.js +30 -0
- package/dist/canonical-path.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1274 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +403 -0
- package/dist/config.js.map +1 -0
- package/dist/deployment-verifier.d.ts +34 -0
- package/dist/deployment-verifier.d.ts.map +1 -0
- package/dist/deployment-verifier.js +260 -0
- package/dist/deployment-verifier.js.map +1 -0
- package/dist/dev-server.d.ts +3 -0
- package/dist/dev-server.d.ts.map +1 -0
- package/dist/dev-server.js +464 -0
- package/dist/dev-server.js.map +1 -0
- package/dist/embedded-modules.d.ts +17 -0
- package/dist/embedded-modules.d.ts.map +1 -0
- package/dist/embedded-modules.js +33 -0
- package/dist/embedded-modules.js.map +1 -0
- package/dist/extension-metadata.d.ts +23 -0
- package/dist/extension-metadata.d.ts.map +1 -0
- package/dist/extension-metadata.js +254 -0
- package/dist/extension-metadata.js.map +1 -0
- package/dist/file-integrity.d.ts +7 -0
- package/dist/file-integrity.d.ts.map +1 -0
- package/dist/file-integrity.js +14 -0
- package/dist/file-integrity.js.map +1 -0
- package/dist/framework-host.d.ts +12 -0
- package/dist/framework-host.d.ts.map +1 -0
- package/dist/framework-host.js +46 -0
- package/dist/framework-host.js.map +1 -0
- package/dist/host-error.d.ts +6 -0
- package/dist/host-error.d.ts.map +1 -0
- package/dist/host-error.js +54 -0
- package/dist/host-error.js.map +1 -0
- package/dist/installed-package.d.ts +9 -0
- package/dist/installed-package.d.ts.map +1 -0
- package/dist/installed-package.js +23 -0
- package/dist/installed-package.js.map +1 -0
- package/dist/language-server-bundle-entry.d.ts +2 -0
- package/dist/language-server-bundle-entry.d.ts.map +1 -0
- package/dist/language-server-bundle-entry.js +7 -0
- package/dist/language-server-bundle-entry.js.map +1 -0
- package/dist/language-server-tool.d.ts +3 -0
- package/dist/language-server-tool.d.ts.map +1 -0
- package/dist/language-server-tool.js +30 -0
- package/dist/language-server-tool.js.map +1 -0
- package/dist/language-server.d.ts +9 -0
- package/dist/language-server.d.ts.map +1 -0
- package/dist/language-server.js +1733 -0
- package/dist/language-server.js.map +1 -0
- package/dist/mechanical-fixer.d.ts +30 -0
- package/dist/mechanical-fixer.d.ts.map +1 -0
- package/dist/mechanical-fixer.js +103 -0
- package/dist/mechanical-fixer.js.map +1 -0
- package/dist/module-assets.d.ts +11 -0
- package/dist/module-assets.d.ts.map +1 -0
- package/dist/module-assets.js +90 -0
- package/dist/module-assets.js.map +1 -0
- package/dist/npm.d.ts +23 -0
- package/dist/npm.d.ts.map +1 -0
- package/dist/npm.js +456 -0
- package/dist/npm.js.map +1 -0
- package/dist/official-language-server-extensions.d.ts +2 -0
- package/dist/official-language-server-extensions.d.ts.map +1 -0
- package/dist/official-language-server-extensions.js +38 -0
- package/dist/official-language-server-extensions.js.map +1 -0
- package/dist/official-script-language-service.d.ts +2 -0
- package/dist/official-script-language-service.d.ts.map +1 -0
- package/dist/official-script-language-service.js +10 -0
- package/dist/official-script-language-service.js.map +1 -0
- package/dist/official-tool-assets.d.ts +3 -0
- package/dist/official-tool-assets.d.ts.map +1 -0
- package/dist/official-tool-assets.js +41 -0
- package/dist/official-tool-assets.js.map +1 -0
- package/dist/ownership-graph.d.ts +46 -0
- package/dist/ownership-graph.d.ts.map +1 -0
- package/dist/ownership-graph.js +255 -0
- package/dist/ownership-graph.js.map +1 -0
- package/dist/package-manager.d.ts +20 -0
- package/dist/package-manager.d.ts.map +1 -0
- package/dist/package-manager.js +345 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/packaged-official-tool.d.ts +8 -0
- package/dist/packaged-official-tool.d.ts.map +1 -0
- package/dist/packaged-official-tool.js +32 -0
- package/dist/packaged-official-tool.js.map +1 -0
- package/dist/preview-server.d.ts +11 -0
- package/dist/preview-server.d.ts.map +1 -0
- package/dist/preview-server.js +163 -0
- package/dist/preview-server.js.map +1 -0
- package/dist/production-build.d.ts +57 -0
- package/dist/production-build.d.ts.map +1 -0
- package/dist/production-build.js +332 -0
- package/dist/production-build.js.map +1 -0
- package/dist/production-verifier.d.ts +9 -0
- package/dist/production-verifier.d.ts.map +1 -0
- package/dist/production-verifier.js +268 -0
- package/dist/production-verifier.js.map +1 -0
- package/dist/program-runner.d.ts +7 -0
- package/dist/program-runner.d.ts.map +1 -0
- package/dist/program-runner.js +98 -0
- package/dist/program-runner.js.map +1 -0
- package/dist/project-check.d.ts +31 -0
- package/dist/project-check.d.ts.map +1 -0
- package/dist/project-check.js +95 -0
- package/dist/project-check.js.map +1 -0
- package/dist/project-format.d.ts +6 -0
- package/dist/project-format.d.ts.map +1 -0
- package/dist/project-format.js +21 -0
- package/dist/project-format.js.map +1 -0
- package/dist/project-semantic.d.ts +62 -0
- package/dist/project-semantic.d.ts.map +1 -0
- package/dist/project-semantic.js +1079 -0
- package/dist/project-semantic.js.map +1 -0
- package/dist/project-session.d.ts +36 -0
- package/dist/project-session.d.ts.map +1 -0
- package/dist/project-session.js +339 -0
- package/dist/project-session.js.map +1 -0
- package/dist/project-task-bundle-entry.d.ts +2 -0
- package/dist/project-task-bundle-entry.d.ts.map +1 -0
- package/dist/project-task-bundle-entry.js +18 -0
- package/dist/project-task-bundle-entry.js.map +1 -0
- package/dist/project-task-invocation.d.ts +16 -0
- package/dist/project-task-invocation.d.ts.map +1 -0
- package/dist/project-task-invocation.js +72 -0
- package/dist/project-task-invocation.js.map +1 -0
- package/dist/project-task-tool.d.ts +3 -0
- package/dist/project-task-tool.d.ts.map +1 -0
- package/dist/project-task-tool.js +61 -0
- package/dist/project-task-tool.js.map +1 -0
- package/dist/project.d.ts +71 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +1750 -0
- package/dist/project.js.map +1 -0
- package/dist/reproduction.d.ts +50 -0
- package/dist/reproduction.d.ts.map +1 -0
- package/dist/reproduction.js +321 -0
- package/dist/reproduction.js.map +1 -0
- package/dist/script-language-service.d.ts +82 -0
- package/dist/script-language-service.d.ts.map +1 -0
- package/dist/script-language-service.js +18 -0
- package/dist/script-language-service.js.map +1 -0
- package/dist/source-limits.d.ts +5 -0
- package/dist/source-limits.d.ts.map +1 -0
- package/dist/source-limits.js +19 -0
- package/dist/source-limits.js.map +1 -0
- package/dist/standalone-build.d.ts +15 -0
- package/dist/standalone-build.d.ts.map +1 -0
- package/dist/standalone-build.js +76 -0
- package/dist/standalone-build.js.map +1 -0
- package/dist/standard-modules.d.ts +22 -0
- package/dist/standard-modules.d.ts.map +1 -0
- package/dist/standard-modules.js +3066 -0
- package/dist/standard-modules.js.map +1 -0
- package/dist/static-deployment.d.ts +48 -0
- package/dist/static-deployment.d.ts.map +1 -0
- package/dist/static-deployment.js +142 -0
- package/dist/static-deployment.js.map +1 -0
- package/dist/test-output.d.ts +20 -0
- package/dist/test-output.d.ts.map +1 -0
- package/dist/test-output.js +119 -0
- package/dist/test-output.js.map +1 -0
- package/dist/test-runner.d.ts +13 -0
- package/dist/test-runner.d.ts.map +1 -0
- package/dist/test-runner.js +226 -0
- package/dist/test-runner.js.map +1 -0
- package/dist/typescript-declarations.d.ts +20 -0
- package/dist/typescript-declarations.d.ts.map +1 -0
- package/dist/typescript-declarations.js +1609 -0
- package/dist/typescript-declarations.js.map +1 -0
- package/dist/uncaught-program-error.d.ts +24 -0
- package/dist/uncaught-program-error.d.ts.map +1 -0
- package/dist/uncaught-program-error.js +105 -0
- package/dist/uncaught-program-error.js.map +1 -0
- package/dist/unowned-errors.d.ts +56 -0
- package/dist/unowned-errors.d.ts.map +1 -0
- package/dist/unowned-errors.js +82 -0
- package/dist/unowned-errors.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace-index.d.ts +78 -0
- package/dist/workspace-index.d.ts.map +1 -0
- package/dist/workspace-index.js +493 -0
- package/dist/workspace-index.js.map +1 -0
- package/package.json +45 -0
- package/skill/ai-skill.md +749 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,gCAAgC,EAChC,cAAc,EACd,+BAA+B,GAWhC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAE,0BAA0B,EAAoC,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAyDhE,SAAS,oBAAoB,CAAC,MAAc,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,2EAA2E;IAC3E,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,8FAA8F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAChI,CAAC;IACD,OAAO,WAAW,MAAM,0BAA0B,IAAI,GAAG,CAAC;AAC5D,CAAC;AAgCD,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,MAAc;IACnE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,EAAE,CAAC;AAC/C,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,SAAS,GAAgC,IAAI,GAAG,EAAE,EAClD,OAAO,GAA0B,EAAE,EACnC,QAAQ,GAAyB,IAAI,EACrC,YAAY,GAAwB,IAAI,GAAG,EAAE;IAE7C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA0B,EAC1B,YAAoB,EACpB,SAAS,GAAgC,IAAI,GAAG,EAAE,EAClD,OAAO,GAA0B,EAAE,EACnC,QAAQ,GAAyB,IAAI,EACrC,YAAY,GAAwB,IAAI,GAAG,EAAE;IAE7C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,GAAG,EAAmB,CAAC;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAoB,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvI,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuD,CAAC;IACxF,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+C,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,CAAC,YAAoB,EAAE,MAAc,EAAE,IAAY,EAAE,OAAe,EAAQ,EAAE;QACrG,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,qBAAqB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,0EAA0E;IAC1E,8DAA8D;IAC9D,yEAAyE;IACzE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkE,CAAC;IAChG,4EAA4E;IAC5E,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAA6C,CAAC;IACzF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/D,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAmB,EAAE;QAC9D,IAAI,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YAC9C,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kDAAkD,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;IAC5I,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,MAAqB,EAAQ,EAAE;QAC9C,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO;QAC5C,IAAI,SAAS,CAAC,IAAI,IAAI,yBAAyB,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kDAAkD,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;YAC1I,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QACvC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS;QACrC,IAAI,OAAO,CAAC,IAAI,IAAI,yBAAyB,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kDAAkD,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;YAC1I,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,IAAI,UAAU,CAAC;QAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC7D,CAAC,CAAC,wBAAwB,aAAa,CAAC,OAAO,CAAC,IAAI,+CAA+C;oBACnG,CAAC,CAAC,uEAAuE,EAAE,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAC5D,wBAAwB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,wBAAwB,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC7D,CAAC,CAAC,wBAAwB,aAAa,CAAC,OAAO,CAAC,IAAI,+CAA+C;oBACnG,CAAC,CAAC,uEAAuE,EAAE,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,4DAA4D;QAC5D,yEAAyE;QACzE,uEAAuE;QACvE,8CAA8C;QAC9C,CAAC;YACC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACrE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,gBAAgB,uHAAuH,CAAC;gBAC9O,IAAI,MAAM;oBAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;;oBAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,GAAG,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC,MAAM,mBAAmB,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC5G,gBAAgB,CACd,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,SAAS,EACT,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,UAAU,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7H,CAAC;gBACF,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO;YAC5D,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAC5E,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC5F,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,QAAQ,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC;gBAC/G,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;wBAC7D,CAAC,CAAC,aAAa,QAAQ,CAAC,MAAM,wCAAwC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG;wBACnG,CAAC,CAAC,aAAa,QAAQ,CAAC,MAAM,4CAA4C,EAAE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,IAAI,gCAAgC,GAAG,KAAK,CAAC;YAC7C,IAAI,CAAC;gBACH,gCAAgC,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvI,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,QAAQ,CAAC,IAAI,cAAc,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3I,SAAS;YACX,CAAC;YACD,IAAI,gCAAgC,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;wBAC7D,CAAC,CAAC,aAAa,QAAQ,CAAC,MAAM,wCAAwC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG;wBACnG,CAAC,CAAC,aAAa,QAAQ,CAAC,MAAM,4CAA4C,EAAE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjC,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,wBAAwB,QAAQ,CAAC,MAAM,6BAA6B,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,oDAAoD;qBAC7J,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC;gBACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,cAAc,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnK,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,QAAQ,CAAC,IAAI,cAAc,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACxI,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEvH,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YACjD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,sCAAsC,UAAU,CAAC,MAAM,8FAA8F;qBAC/J,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,iEAAiE;gBACjE,oEAAoE;gBACpE,gEAAgE;gBAChE,oEAAoE;gBACpE,6CAA6C;gBAC7C,IAAI,OAAO,CAAC,2BAA2B,KAAK,KAAK;uBAC5C,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7E,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC3D,IAAI,OAAO,GAAG,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,OAAO,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBACvE,2BAA2B,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAChD,CAAC;oBACD,IAAI,OAAO;wBAAE,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7F,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;mBACvG,CAAC,2BAA2B,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC;oBAAE,SAAS;gBACtE,oEAAoE;gBACpE,gEAAgE;gBAChE,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5E,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC9E,IAAI,gBAAgB,EAAE,CAAC;wBACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;wBAC9D,SAAS;oBACX,CAAC;oBACD,MAAM,UAAU,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;oBAChE,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACvD,gBAAgB,CACd,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,2BAA2B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,8BAA8B,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpO,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,iCAAiC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACtE,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtD,SAAS;gBACX,CAAC;gBACD,8DAA8D;gBAC9D,gEAAgE;gBAChE,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,gBAAgB,CACd,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,wHAAwH,CACzH,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,gBAAgB,CACd,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,qEAAqE,CACxH,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAC/E,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAChD,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,wBAAwB,QAAQ,CAAC,IAAI,2FAA2F,CAAC,CAAC;wBAC5L,SAAS;oBACX,CAAC;oBACD,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC3C,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACrF,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1F,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;wBAChD,gBAAgB,CACd,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,IAAI,UAAU,CAAC,MAAM,4GAA4G,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,uCAAuC,CAC3Q,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,8CAA8C,UAAU,CAAC,MAAM,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5J,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC1C,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,uBAAuB,UAAU,CAAC,MAAM,+BAA+B,CAAC,CAAC;gBACnI,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,yCAAyC;YACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,gBAAgB,CACd,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,UAAU,CAAC,QAAQ;oBACjB,CAAC,CAAC,4FAA4F;oBAC9F,CAAC,CAAC,yGAAyG,CAC9G,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;wBAC7D,CAAC,CAAC,oBAAoB,UAAU,CAAC,MAAM,wCAAwC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG;wBAC5G,CAAC,CAAC,oBAAoB,UAAU,CAAC,MAAM,4CAA4C,EAAE,CAAC,CAAC;gBACzF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9G,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,wBAAwB,IAAI,EAAE,EAAE,CAAC;QAC/E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC9D,MAAM,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YAChF,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAClF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,gCAAgC,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC/F,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACvE,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QAED,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3J,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;QACnD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACnD,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,+DAA+D;YAC/D,KAAK,MAAM,MAAM,IAAI,KAAK;gBAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;gBACF,MAAM,MAAM,GAAG,qCAAqC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;oBACxE,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,QAAQ;oBACR,UAAU,EAAE,kBAAkB;oBAC9B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,oBAAoB,EAAE,IAAI;oBAC1B,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvI,CAAC,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAChH,CAAC;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,WAAW;gBAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC1G,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,KAAK;qBACb,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;qBACvH,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/E,MAAM;YACR,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,gBAAgB;gBAAE,MAAM;YACpD,gBAAgB,GAAG,QAAQ,CAAC;YAC5B,IAAI,IAAI,KAAK,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,OAAO,EAAE,qEAAqE,EAAE,CAAC,CAAC;YAC/H,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,oCAAoC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACtG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACnF,IAAI,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC9C,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;iBAClG,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS;QACT,UAAU;QACV,WAAW;QACX,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,YAAY;QACZ,OAAO;QACP,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;QAClC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;QAC/B,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1C,YAAY;QACZ,wBAAwB;QACxB,KAAK,EAAE;YACL,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,eAAe;YACf,aAAa;YACb,eAAe,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACxE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;SACpE;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACvD,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7E,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAC5B,QAAQ,CAAC,UAAU,CAAE,GAAG,CAAC,EACzB,OAAO,CAAC,UAAU,GAAG,CAAC,CAAE,GAAG,CAAC,EAC5B,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpF,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,UAA6B;IACnE,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,QAAQ,GAAG,YAAY,IAAI,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5E,IAAI,GAAG,SAAS,CAAC;YACjB,YAAY,GAAG,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClH,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,mDAAmD;AACnD,KAAK,UAAU,wBAAwB,CAAC,MAAc,EAAE,YAAoB;IAC1E,IAAI,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kJAAkJ;YACtM,MAAM;SACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2CAA2C;YACvG,MAAM;SACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wGAAwG,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC7L,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,YAAgC,CAAC;IACrC,IAAI,CAAC;QACH,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6EAA6E;YACzI,MAAM;SACP,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,EAAE,yBAAyB,MAAM,GAAG,CAAC,CAAoC,CAAC;QACrJ,IAAI,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjF,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI,WAAW,2EAA2E,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBAChI,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,MAAc,EAAE,UAAgD;IAC7F,MAAM,SAAS,GAAG,gCAAgC,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,yBAAyB,SAAS,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC;AACrG,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAc;IACvD,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,OAAO,iJAAiJ,CAAC;IAC3J,CAAC;IACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO,0IAA0I,CAAC;IACpJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc,EAAE,UAAwC;IAC3F,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,mBAAmB,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qCAAqC,CAC5C,MAAqB,EACrB,eAA6C;IAE7C,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,qCAAqC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK;eAChF,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;eACxC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ;YAClC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,QAAQ,CAAC;YAClG,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,+CAA+C,QAAS,CAAC,KAAK,wGAAwG;SAChL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE;QAC5B,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,MAAyC,EACzC,YAAyC,EACzC,QAAuB,EACvB,YAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,MAA4E,EAC5E,OAAoC,EAC9B,EAAE;QACR,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,UAAU;gBAAE,SAAS;YACpC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;gBACvF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;gBAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YAC5D,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACnH,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO;QAAE,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,MAA8C,EAAQ,EAAE;QACvF,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YAC5D,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/F,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO;QAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5F,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAChE,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1H,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gCAAgC,CACvC,MAAyC,EACzC,YAAyC,EACzC,kBAAgD;IAEhD,OAAO,sBAAsB,CAC3B,MAAM,CAAC,IAAI,EAAE,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAC1F,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;SAChC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,0FAA0F;AAC1F,SAAS,sBAAsB,CAC7B,KAAuB,EACvB,YAAiD;IAQjD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,MAAqB,EAAQ,EAAE;QAC1D,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,CAAC,CAAC;gBAC1F,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAG,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI;oBAAE,MAAM;YACnC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAoB,EACpB,MAAyC,EACzC,YAAyC,EACzC,kBAAgD;IAEhD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxD,IAAI,UAAU,CAAC,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC;YAAE,SAAS;QAC/F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;YACvF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,+BAA+B,GAAG,SAAS,CAAC;AAClD,iEAAiE;AACjE,MAAM,mCAAmC,GAAG,MAAM,CAAC;AAEnD,0EAA0E;AAC1E,mEAAmE;AACnE,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,kCAAkC;AAClC,SAAS,oCAAoC,CAC3C,OAAwB,EACxB,MAAyC,EACzC,YAAyC,EACzC,SAAiB,EACjB,WAAW,GAA+D,IAAI,GAAG,EAAE;IAEnF,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,MAAc,EAAiB,EAAE;QAChF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM;YACjE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YACxC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;QACrE,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,MAAqB,EAAW,EAAE,CAChE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,+BAA+B,CAAC,CAAC;IAC1F,MAAM,2BAA2B,GAAG,CAAC,MAAqB,EAAW,EAAE,CACrE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACtG,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,6BAA6B;IAC7B,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1I,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC7F,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB;QAAE,OAAO;IAElD,gEAAgE;IAChE,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAS;gBAC9B,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,aAAa,EAAE,CAAC;QAClB,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAChF,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YAC9B,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE;QAAE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtH,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAErE,kEAAkE;IAClE,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnD,MAAM,MAAM,GAAwF,EAAE,CAAC;YACvG,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;gBACnC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;oBAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC3E,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,0EAA0E;QAC1E,oEAAoE;QACpE,4EAA4E;QAC5E,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC;QACxD,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,yBAAyB,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBAC5G,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAS;gBACjD,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAChE,6DAA6D;gBAC7D,sEAAsE;gBACtE,gEAAgE;gBAChE,iCAAiC;gBACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAC1H,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,cAAc;oBAAE,SAAS;gBAC9G,SAAS,CAAC,IAAI,CAAC,UAAU,CACvB,+BAA+B,EAC/B,qFAAqF,IAAI,CAAC,MAAM,2CAA2C,EAC3I,IAAI,CAAC,IAAI,CACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,kEAAkE;QAClE,uEAAuE;QACvE,4CAA4C;QAC5C,CAAC;YACC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;uBAC1G,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5F,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;gBAAE,SAAS;YAClD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtG,SAAS;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG;YACf,GAAG,MAAM;YACT,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,GAAG,QAAQ;gBACX,4DAA4D;gBAC5D,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC;qBACjD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnG,gEAAgE;gBAChE,+BAA+B;gBAC/B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,EAAE;gBACnB,GAAG,EAAE,IAAI;gBACT,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,EAAE;aACnB;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CACnB,MAAqB,EACrB,QAAuB,EACvB,MAAyC,EACzC,iBAA0E;IAE1E,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAClC,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAA+C,EAC/C,UAAU,GAAiC,EAAE;IAE7C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAK,GAAsB,EAAE,EAAU,EAAE,CAAC,CACpE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAClF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,MAAsC,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC;SAC7F,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,CAAC,MAA2B,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,CAAC,MAA4B,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;SAC9D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;SACtH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC;SAC1F,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,yDAAyD;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;SACnF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;QAC1C,IAAI;QACJ,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,EAAE,CAAC;KACxC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SAC9C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,IAAI;QACJ,IAAI,CAAC,QAAQ,IAAI,EAAE;QACnB,IAAI,CAAC,IAAI,IAAI,EAAE;QACf,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC/B,mEAAmE;QACnE,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,CAAC,OAAO,IAAI,EAAE;QAClB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;QACtE,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,CAAC;YACd,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAU,CAAC;YACvH,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,MAAM,EAAE,EAAE,IAAI,CAAU,CAAC;YACjF,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAU,CAAC;YACpI,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,MAAM,EAAE,EAAE,IAAI,CAAU,CAAC;SAC/F,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;QACjD,qBAAqB,IAAI,KAAK,CAAC,MAAM,CAAC;QACtC,IAAI,qBAAqB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC;SAChF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC;QACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,mFAAmF,CAAC,CAAC;QACzI,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC;aACxB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,iDAAiD,IAAI,GAAG,CAAC,CAAC;YAC9G,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,IAAI,CAAC,kBAAkB,EAAE;QAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3B,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAChC,UAAU;QACV,uBAAuB;QACvB,mBAAmB;QACnB,YAAY;QACZ,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/B,KAAK;QACL,OAAO;QACP,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvF,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAoB,EACpB,MAAyC,EACzC,YAAyC,EACzC,QAA0B,EAC1B,OAAwB,EACxB,gBAA0E,EAC1E,wBAAkD,EAClD,cAAgE,EAChE,kBAA4E,EAC5E,kBAAgD;IAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;IACpD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0C,CAAC;IACrE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAqB,CAAC;IACtD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YACxF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;gBAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YACjI,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,OAAO,EAAE,gCAAgC,UAAU,CAAC,MAAM,oFAAoF;iBAC/I,CAAC,CAAC;YACL,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBACnC,cAAc,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACnD,CAAC,CAAC;YACH,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;oBAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;oBACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvI,CAAC,CAAC,EAAE,CAAC;YACL,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,qEAAqE;YACrE,uEAAuE;YACvE,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW;gBAAE,SAAS;YAC1D,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,0BAA0B,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC1E,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACnC,IAAI,CAAC,YAAY;gBAAE,SAAS;YAC5B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;gBAC1E,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,+DAA+D;YAC/D,qEAAqE;YACrE,wBAAwB;YACxB,IAAI,YAAY,CAAC,uBAAuB;gBAAE,SAAS;YACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU;iBAC1C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC3C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9C,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3G,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjG,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,gCAAgC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBACxI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChF,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACzM,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;YAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAChT,CAAC;IACD,OAAO;QACL,OAAO;QACP,cAAc;QACd,eAAe;QACf,UAAU;QACV,uBAAuB;QACvB,mBAAmB;QACnB,YAAY;QACZ,WAAW;QACX,KAAK;QACL,OAAO;QACP,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,MAAM,CAAC,gBAAgB;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAoB,EACpB,MAAyC,EACzC,YAAyC,EACzC,KAAuD,EACvD,kBAA4E,EAC5E,kBAAgD;IAEhD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,cAAc;YAAE,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;QAAE,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAU,CAAC,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAwC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAClO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEtC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxD,IAAI,UAAU,CAAC,UAAU;YAAE,SAAS;QACpC,IAAI,mBAAmB,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACzF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM;gBAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;gBACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAC7H,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU;aAC1C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;aAC/E,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzH,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,mBAAmB,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC;mBACxE,mBAAmB,CAAC,uBAAuB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,cAAc,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACpH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACzC,IAAI,cAAc;oBAAE,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAC3E,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,qDAAqD;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAoB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5I,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtF,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/F,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,qEAAqE;YACrE,wEAAwE;YACxE,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,IAAI,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC7E,IAAI,QAAQ;oBAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;gBAC/E,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;oBAAE,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,IAAe,EAAa,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACzJ,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW;QAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAC5B,IAAI,EACJ,WAAW,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,IAAI,CAC9C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,0BAA2B,SAAQ,KAAK;CAAG;AAEjD,KAAK,UAAU,yBAAyB,CAAC,MAAc,EAAE,YAAoB;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC7G,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,yBAAyB,IAAI,GAAG,CAAC,CAG3H,CAAC;YACF,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC;YAC7I,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,0BAA0B,CAAC,yCAAyC,CAAC,CAAC;YACrI,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC5G,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACrG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;QAChF,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,GAAG,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,GAAG,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;AAChI,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAA+C,EAC/C,UAAuD,EACvD,uBAAyD,EACzD,YAA0C,EAC1C,KAA4B,EAC5B,OAA+B;IAE/B,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,iCAAiC;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnJ,IAAI,QAAQ,IAAI,cAAc,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAClI,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5G,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,MAAoB,EACpB,UAAoD,EACpD,UAA+C,EAC/C,OAA+B,EAC/B,eAAqC,EACrC,UAAuD,EACvD,uBAAyD,EACzD,mBAAwC,EACxC,YAA0C,EAC1C,WAAmC,EACnC,KAA4B,EAC5B,OAA+B,EAC/B,gBAAmD,EACnD,QAA0B;IAExB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU;SAC1C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;SAC/E,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,kBAAkB;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC;SAC5E,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,QAAQ,CAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,CAAC,IAAe,EAAa,EAAE,CAAC,oBAAoB,CAC9E,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EACzB,OAAO,EACP,KAAK,EACL,2BAA2B,CAC5B,CAAC;IACF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,UAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1H,IAAI,cAAc;YAAE,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACrE,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACzC,IAAI,cAAc;gBAAE,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC3E,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,qDAAqD;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAoB;YAChC,GAAG,IAAI;YACP,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC7F,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY;YAAE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9G,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACrE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACxE,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;QACvF,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,SAAS;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,SAAS;gBAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC;YAAE,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,OAAO,EAAE,WAAW,UAAU,CAAC,MAAM,gFAAgF;iBACtH,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC3B,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChH,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAAe,EAAE,OAAoC;IACxE,OAAO,YAAY,CACjB,IAAI,EACJ,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EACnC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CACpC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CACnB,IAAe,EACf,OAAuC,EACvC,OAAiC;IAEjC,OAAO;QACL,GAAG,IAAI;QACP,2EAA2E;QAC3E,uDAAuD;QACvD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3C,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzG,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrH,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAe,EAAE,OAAoC;IACvE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5E,OAAO,sBAAsB,CAC3B,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,OAAO,EACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAC3E,IAAI,CAAC,YAAY,KAAK,IAAI,CAC3B,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAChE,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAChE,KAAK,YAAY;YACf,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,KAAK,YAAY;YACf,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAChE,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjE,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjE,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACjG,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACrE,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACzE,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;aACzC,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;aACzC,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpG,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC3E,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/F;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAe,EACf,OAAuC,EACvC,KAAoC,EACpC,mBAAgD;IAEhD,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACrI,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACnG,OAAO,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,EAAE,CAAC;IACtI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;WACjD,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,EAAE,CAAC;IAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAC;IACpE,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC3F,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACvG,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACvG,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC7K,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACnG,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC3G,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC/G,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,KAAK;gBACf,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE;gBAC3F,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzJ,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBACpH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpG,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC;aAC/E,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC1I,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;aACjH,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACrI;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe,EAAE,OAAuC,EAAE,IAAI,GAAwB,IAAI,GAAG,EAAE;IACzH,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjE,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,yEAAyE;QACzE,wCAAwC;QACxC,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,WAAW;gBACrB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE;gBACzJ,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/E,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/E,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7H,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC3E,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACnF,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACvF,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC5F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;aACvD,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClH,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aACzF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7G;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAmC;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,OAAiC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { VelarProjectConfig } from "./config.ts";
|
|
2
|
+
import { type CheckedProject } from "./project-check.ts";
|
|
3
|
+
/**
|
|
4
|
+
* The report format `docs/escape-hatches.md` fixed for a suspected compiler
|
|
5
|
+
* defect, and the same three sections the repository's defect template asks
|
|
6
|
+
* for. D66 ruling 7 is explicit that the CLI, the issue template, the AI skill
|
|
7
|
+
* brief, and the website quote one source instead of each writing their own —
|
|
8
|
+
* so this constant is that source inside the toolchain, and a test holds it
|
|
9
|
+
* against the prose.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEFECT_REPORT_SECTIONS: readonly ["What I wrote (or wanted to write):", "What the compiler said:", "How I resolved it:"];
|
|
12
|
+
/** Where a reproduction lands when `--out-dir` is absent. `.velar/` is the project's own scratch space. */
|
|
13
|
+
export declare const REPRODUCTION_DIRECTORY: string;
|
|
14
|
+
/**
|
|
15
|
+
* D66 ruling 7B: a failing `velar check` ends with this one line and nothing
|
|
16
|
+
* else — the command that bundles the failure, no persuasion, and no notice
|
|
17
|
+
* about data leaving the machine, because none does.
|
|
18
|
+
*/
|
|
19
|
+
export declare function reproductionHint(input: string | null): string;
|
|
20
|
+
export interface ReproductionOptions {
|
|
21
|
+
readonly config: VelarProjectConfig;
|
|
22
|
+
/** The input as the author typed it, so the bundled command is the command they ran. */
|
|
23
|
+
readonly input: string | null;
|
|
24
|
+
readonly checked: CheckedProject;
|
|
25
|
+
readonly outputDirectory: string | null;
|
|
26
|
+
/** The CLI entry to re-run inside the extracted copy — this toolchain, not a resolved one. */
|
|
27
|
+
readonly toolchainEntry: string;
|
|
28
|
+
readonly cwd?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ReproductionResult {
|
|
31
|
+
readonly directory: string;
|
|
32
|
+
readonly files: readonly string[];
|
|
33
|
+
/** False when the extracted copy no longer produces the diagnostics this machine produced. */
|
|
34
|
+
readonly reproduced: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* D66 ruling 7A. Writes a self-contained minimal reproduction and returns where
|
|
38
|
+
* it went. Three disciplines the ruling states and this function keeps:
|
|
39
|
+
*
|
|
40
|
+
* 1. Nothing is uploaded. There is no network call here, and no prompt offering
|
|
41
|
+
* one; whether to send the directory is the author's decision alone.
|
|
42
|
+
* 2. Nothing beyond the reproduction is collected — no environment variables,
|
|
43
|
+
* no git remote, no account name — and every absolute path is rewritten to
|
|
44
|
+
* a project-relative one before it reaches the bundle.
|
|
45
|
+
* 3. The bundle is re-checked in a temporary extracted copy before this
|
|
46
|
+
* returns. When the extracted copy behaves differently the result says so,
|
|
47
|
+
* rather than handing over a reproduction that does not reproduce.
|
|
48
|
+
*/
|
|
49
|
+
export declare function writeReproduction(options: ReproductionOptions): Promise<ReproductionResult>;
|
|
50
|
+
//# sourceMappingURL=reproduction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reproduction.d.ts","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAI5E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,kGAIxB,CAAC;AAEZ,2GAA2G;AAC3G,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAI9D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkEjG"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { cp, lstat, mkdir, mkdtemp, readFile, readdir, realpath, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
5
|
+
import { isHostErrorCode } from "./host-error.js";
|
|
6
|
+
import { CURRENT_PROJECT_FORMAT_VERSION } from "./project-format.js";
|
|
7
|
+
import { formatCheckOutput } from "./project-check.js";
|
|
8
|
+
import { VELAR_VERSION } from "./version.js";
|
|
9
|
+
/**
|
|
10
|
+
* The report format `docs/escape-hatches.md` fixed for a suspected compiler
|
|
11
|
+
* defect, and the same three sections the repository's defect template asks
|
|
12
|
+
* for. D66 ruling 7 is explicit that the CLI, the issue template, the AI skill
|
|
13
|
+
* brief, and the website quote one source instead of each writing their own —
|
|
14
|
+
* so this constant is that source inside the toolchain, and a test holds it
|
|
15
|
+
* against the prose.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFECT_REPORT_SECTIONS = Object.freeze([
|
|
18
|
+
"What I wrote (or wanted to write):",
|
|
19
|
+
"What the compiler said:",
|
|
20
|
+
"How I resolved it:",
|
|
21
|
+
]);
|
|
22
|
+
/** Where a reproduction lands when `--out-dir` is absent. `.velar/` is the project's own scratch space. */
|
|
23
|
+
export const REPRODUCTION_DIRECTORY = join(".velar", "repro");
|
|
24
|
+
const DEFECT_TEMPLATE_URL = "https://github.com/VelarOS-AI/VelarScript/issues/new?template=1-defect.yml";
|
|
25
|
+
/**
|
|
26
|
+
* D66 ruling 7B: a failing `velar check` ends with this one line and nothing
|
|
27
|
+
* else — the command that bundles the failure, no persuasion, and no notice
|
|
28
|
+
* about data leaving the machine, because none does.
|
|
29
|
+
*/
|
|
30
|
+
export function reproductionHint(input) {
|
|
31
|
+
return `Run 'velar repro${input ? ` ${input}` : ""}' to write a minimal reproduction of this failure.`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* D66 ruling 7A. Writes a self-contained minimal reproduction and returns where
|
|
35
|
+
* it went. Three disciplines the ruling states and this function keeps:
|
|
36
|
+
*
|
|
37
|
+
* 1. Nothing is uploaded. There is no network call here, and no prompt offering
|
|
38
|
+
* one; whether to send the directory is the author's decision alone.
|
|
39
|
+
* 2. Nothing beyond the reproduction is collected — no environment variables,
|
|
40
|
+
* no git remote, no account name — and every absolute path is rewritten to
|
|
41
|
+
* a project-relative one before it reaches the bundle.
|
|
42
|
+
* 3. The bundle is re-checked in a temporary extracted copy before this
|
|
43
|
+
* returns. When the extracted copy behaves differently the result says so,
|
|
44
|
+
* rather than handing over a reproduction that does not reproduce.
|
|
45
|
+
*/
|
|
46
|
+
export async function writeReproduction(options) {
|
|
47
|
+
const config = options.config;
|
|
48
|
+
const root = config.root;
|
|
49
|
+
const cwd = options.cwd ?? process.cwd();
|
|
50
|
+
const directory = options.outputDirectory ? resolve(cwd, options.outputDirectory) : join(root, REPRODUCTION_DIRECTORY);
|
|
51
|
+
await prepareDirectory(directory, options.outputDirectory);
|
|
52
|
+
const modules = reproductionModules(options.checked);
|
|
53
|
+
const carried = [];
|
|
54
|
+
const uncarried = new Set();
|
|
55
|
+
for (const module of modules) {
|
|
56
|
+
const within = withinProject(root, module.inputPath);
|
|
57
|
+
if (!within) {
|
|
58
|
+
// Named relative to the project, never as it sits on this machine — this
|
|
59
|
+
// list reaches the bundle, and an absolute path here would be the leak
|
|
60
|
+
// discipline 2 exists to prevent.
|
|
61
|
+
const named = relative(root, module.inputPath);
|
|
62
|
+
if (!isAbsolute(named))
|
|
63
|
+
uncarried.add(named.split(sep).join("/"));
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
carried.push({ source: module.inputPath, target: within });
|
|
67
|
+
// A `look`-adjacent stylesheet or any other compiler resource is part of
|
|
68
|
+
// the source that triggers the behavior, not an asset of the build.
|
|
69
|
+
for (const resource of module.result.resources) {
|
|
70
|
+
const resourcePath = resolve(dirname(module.inputPath), resource.source);
|
|
71
|
+
const resourceWithin = withinProject(root, resourcePath);
|
|
72
|
+
if (!resourceWithin)
|
|
73
|
+
continue;
|
|
74
|
+
if (carried.some((file) => file.source === resourcePath))
|
|
75
|
+
continue;
|
|
76
|
+
carried.push({ source: resourcePath, target: resourceWithin });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const written = [];
|
|
80
|
+
for (const file of carried) {
|
|
81
|
+
const target = join(directory, file.target);
|
|
82
|
+
await mkdir(dirname(target), { recursive: true });
|
|
83
|
+
await cp(file.source, target);
|
|
84
|
+
written.push(file.target);
|
|
85
|
+
}
|
|
86
|
+
const manifest = config.manifestPath ? await readFile(config.manifestPath, "utf8") : synthesizedManifest(root, config.entryPath);
|
|
87
|
+
await writeFile(join(directory, "velar.json"), manifest, "utf8");
|
|
88
|
+
written.push("velar.json");
|
|
89
|
+
await writeFile(join(directory, "package.json"), reproductionPackage(config), "utf8");
|
|
90
|
+
written.push("package.json");
|
|
91
|
+
const bundleInput = options.input && extname(resolve(cwd, options.input)) === ".vel"
|
|
92
|
+
? withinProject(root, resolve(cwd, options.input))
|
|
93
|
+
: null;
|
|
94
|
+
// Everything a check reads is on disk by now, so the copy below is checked
|
|
95
|
+
// against the real bundle. The README is written afterwards because it has to
|
|
96
|
+
// report what that check found, and because prose cannot change a compile.
|
|
97
|
+
const diagnostics = projectRelative(formatCheckOutput(options.checked), root);
|
|
98
|
+
const extracted = await recheckExtractedCopy(directory, bundleInput, options.toolchainEntry);
|
|
99
|
+
const reproduced = extracted === diagnostics;
|
|
100
|
+
await writeFile(join(directory, "README.md"), reproductionReadme({
|
|
101
|
+
diagnostics,
|
|
102
|
+
reproduced,
|
|
103
|
+
extracted,
|
|
104
|
+
bundleInput,
|
|
105
|
+
sources: written.filter((file) => file.endsWith(".vel")),
|
|
106
|
+
uncarried: [...uncarried].sort(),
|
|
107
|
+
}), "utf8");
|
|
108
|
+
written.push("README.md");
|
|
109
|
+
return { directory, files: written, reproduced };
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The entry's own module graph, plus the graph of every `*.test.vel` root that
|
|
113
|
+
* actually produced one of the reported errors. A test module nothing
|
|
114
|
+
* complained about is left out; so is every unreachable file in the tree. The
|
|
115
|
+
* entry graph itself stays whole because dropping a module the graph imports
|
|
116
|
+
* replaces the reported diagnostic with an unresolved-import failure, which is
|
|
117
|
+
* a different bug report than the one being filed.
|
|
118
|
+
*/
|
|
119
|
+
function reproductionModules(checked) {
|
|
120
|
+
const modules = new Map();
|
|
121
|
+
const [entry, ...tests] = checked.roots;
|
|
122
|
+
for (const module of entry?.result.modules ?? [])
|
|
123
|
+
modules.set(module.inputPath, module);
|
|
124
|
+
for (const root of tests) {
|
|
125
|
+
if (root.errors.length === 0)
|
|
126
|
+
continue;
|
|
127
|
+
for (const module of root.result.modules)
|
|
128
|
+
if (!modules.has(module.inputPath))
|
|
129
|
+
modules.set(module.inputPath, module);
|
|
130
|
+
}
|
|
131
|
+
return [...modules.values()];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The path a file takes inside the bundle, or null when it does not belong
|
|
135
|
+
* there. Installed packages are excluded on purpose: they are restored by
|
|
136
|
+
* `npm install`, and copying them would put third-party trees into a minimal
|
|
137
|
+
* reproduction.
|
|
138
|
+
*/
|
|
139
|
+
function withinProject(root, path) {
|
|
140
|
+
const fromRoot = relative(root, path);
|
|
141
|
+
if (fromRoot === "" || isAbsolute(fromRoot))
|
|
142
|
+
return null;
|
|
143
|
+
const segments = fromRoot.split(sep);
|
|
144
|
+
if (segments[0] === ".." || segments.includes("node_modules"))
|
|
145
|
+
return null;
|
|
146
|
+
return segments.join("/");
|
|
147
|
+
}
|
|
148
|
+
/** Every absolute path this machine would otherwise leak, rewritten to its project-relative form. */
|
|
149
|
+
function projectRelative(text, root) {
|
|
150
|
+
let output = text;
|
|
151
|
+
for (const form of new Set([root, root.split(sep).join("/")])) {
|
|
152
|
+
output = output.split(`${form}${sep}`).join("").split(`${form}/`).join("").split(form).join(".");
|
|
153
|
+
}
|
|
154
|
+
return output;
|
|
155
|
+
}
|
|
156
|
+
function synthesizedManifest(root, entryPath) {
|
|
157
|
+
return `${JSON.stringify({
|
|
158
|
+
formatVersion: CURRENT_PROJECT_FORMAT_VERSION,
|
|
159
|
+
entry: relative(root, entryPath).split(sep).join("/"),
|
|
160
|
+
}, null, 2)}\n`;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Only what the toolchain needs to check this source again. The author's own
|
|
164
|
+
* package.json is deliberately not copied: its fields carry names, registries,
|
|
165
|
+
* and repository URLs that are not part of the reproduction. Compiler
|
|
166
|
+
* extensions come from the bundled `velar.json`, which is.
|
|
167
|
+
*/
|
|
168
|
+
function reproductionPackage(config) {
|
|
169
|
+
const devDependencies = { "@velarscript/cli": VELAR_VERSION };
|
|
170
|
+
for (const name of config.extensions) {
|
|
171
|
+
devDependencies[name] = config.extensionGraph.find((package_) => package_.name === name)?.version ?? VELAR_VERSION;
|
|
172
|
+
}
|
|
173
|
+
return `${JSON.stringify({
|
|
174
|
+
name: "velar-reproduction",
|
|
175
|
+
version: "0.0.0",
|
|
176
|
+
private: true,
|
|
177
|
+
type: "module",
|
|
178
|
+
devDependencies,
|
|
179
|
+
}, null, 2)}\n`;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Discipline 3: copy the bundle somewhere else and run the same check against
|
|
183
|
+
* the copy. Everything the check reports is compared verbatim, so a bundle that
|
|
184
|
+
* is missing a file it needed fails this rather than reaching a maintainer.
|
|
185
|
+
*/
|
|
186
|
+
async function recheckExtractedCopy(directory, bundleInput, toolchainEntry) {
|
|
187
|
+
const temporary = await realpath(await mkdtemp(join(tmpdir(), "velar-repro-check-")));
|
|
188
|
+
try {
|
|
189
|
+
const extracted = join(temporary, "reproduction");
|
|
190
|
+
await cp(directory, extracted, { recursive: true });
|
|
191
|
+
const argument = bundleInput ? join(extracted, bundleInput) : extracted;
|
|
192
|
+
const checked = spawnSync(process.execPath, [toolchainEntry, "check", argument], {
|
|
193
|
+
encoding: "utf8",
|
|
194
|
+
maxBuffer: 32 * 1024 * 1024,
|
|
195
|
+
});
|
|
196
|
+
if (checked.error)
|
|
197
|
+
return `the extracted copy could not be checked: ${checked.error.message}\n`;
|
|
198
|
+
const hint = `${reproductionHint(bundleInput ?? ".")}\n`;
|
|
199
|
+
const output = projectRelative(withoutRuntimeWarnings(checked.stderr ?? ""), extracted);
|
|
200
|
+
return output.endsWith(hint) ? output.slice(0, -hint.length) : output;
|
|
201
|
+
}
|
|
202
|
+
finally {
|
|
203
|
+
await rm(temporary, { recursive: true, force: true });
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/** A Node warning on the child's stderr is not something the compiler said. */
|
|
207
|
+
function withoutRuntimeWarnings(text) {
|
|
208
|
+
return text
|
|
209
|
+
.split("\n")
|
|
210
|
+
.filter((line) => !/^\(node:\d+\) /u.test(line) && !line.startsWith("(Use `node "))
|
|
211
|
+
.join("\n");
|
|
212
|
+
}
|
|
213
|
+
async function prepareDirectory(directory, requested) {
|
|
214
|
+
let metadata;
|
|
215
|
+
try {
|
|
216
|
+
metadata = await lstat(directory);
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
if (!isHostErrorCode(error, "ENOENT") && !isHostErrorCode(error, "ENOTDIR"))
|
|
220
|
+
throw error;
|
|
221
|
+
await mkdir(directory, { recursive: true });
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (!metadata.isDirectory())
|
|
225
|
+
throw new Error(`'${requested ?? REPRODUCTION_DIRECTORY}' already exists and is not a directory`);
|
|
226
|
+
if ((await readdir(directory)).length === 0)
|
|
227
|
+
return;
|
|
228
|
+
// The default location is inside `.velar`, which the project owns and every
|
|
229
|
+
// template gitignores, so a second run replaces the first. A directory the
|
|
230
|
+
// author named is never emptied for them.
|
|
231
|
+
if (requested !== null)
|
|
232
|
+
throw new Error(`'${requested}' already exists and is not empty; name an empty directory`);
|
|
233
|
+
await rm(directory, { recursive: true, force: true });
|
|
234
|
+
await mkdir(directory, { recursive: true });
|
|
235
|
+
}
|
|
236
|
+
function reproductionReadme(parts) {
|
|
237
|
+
const command = `npx velar check${parts.bundleInput ? ` ${parts.bundleInput}` : ""}`;
|
|
238
|
+
const listed = parts.sources.slice(0, 12).map((file) => `\`${file}\``).join(", ");
|
|
239
|
+
const sources = parts.sources.length > 12 ? `${listed}, and ${parts.sources.length - 12} more` : listed;
|
|
240
|
+
const lines = [
|
|
241
|
+
"# Minimal reproduction",
|
|
242
|
+
"",
|
|
243
|
+
"Written by `velar repro`. Nothing was uploaded and nothing was collected beyond",
|
|
244
|
+
"what is in this directory — whether to send it, and to whom, is your decision.",
|
|
245
|
+
"",
|
|
246
|
+
`Versions: velar ${VELAR_VERSION} · node ${process.version} · ${process.platform} ${process.arch}`,
|
|
247
|
+
"",
|
|
248
|
+
"## Reproducing",
|
|
249
|
+
"",
|
|
250
|
+
"```sh",
|
|
251
|
+
"npm install",
|
|
252
|
+
command,
|
|
253
|
+
"```",
|
|
254
|
+
"",
|
|
255
|
+
...(parts.reproduced
|
|
256
|
+
? [
|
|
257
|
+
"This directory was extracted to a temporary location and re-checked before it",
|
|
258
|
+
"was handed over: the diagnostics below are what it produces there too.",
|
|
259
|
+
]
|
|
260
|
+
: [
|
|
261
|
+
"This directory was extracted to a temporary location and re-checked before it",
|
|
262
|
+
"was handed over, and **it reproduces on this machine but not in the extracted",
|
|
263
|
+
"bundle.** Treat the diagnostics below as the report and this directory as an",
|
|
264
|
+
"incomplete reproduction; what the extracted copy said instead is at the end of",
|
|
265
|
+
"this file.",
|
|
266
|
+
]),
|
|
267
|
+
"",
|
|
268
|
+
...(parts.uncarried.length > 0
|
|
269
|
+
? [
|
|
270
|
+
"This reproduction does not carry every module the check read. These came from",
|
|
271
|
+
"outside the project and were left to `npm install`:",
|
|
272
|
+
"",
|
|
273
|
+
...parts.uncarried.map((path) => `- \`${path}\``),
|
|
274
|
+
"",
|
|
275
|
+
]
|
|
276
|
+
: []),
|
|
277
|
+
`## ${DEFECT_REPORT_SECTIONS[0]}`,
|
|
278
|
+
"",
|
|
279
|
+
"TODO — this section is yours to write. The source that triggers the behavior is",
|
|
280
|
+
sources ? `in this directory: ${sources}.` : "in this directory.",
|
|
281
|
+
"Cut it down further if you can; if the compiler refused something you wanted to",
|
|
282
|
+
"write, show what you wanted to write instead.",
|
|
283
|
+
"",
|
|
284
|
+
`## ${DEFECT_REPORT_SECTIONS[1]}`,
|
|
285
|
+
"",
|
|
286
|
+
"Filled in verbatim from the run that produced this directory. Do not trim it —",
|
|
287
|
+
"the code, the caret line, and the wording all matter.",
|
|
288
|
+
"",
|
|
289
|
+
...fenced(parts.diagnostics),
|
|
290
|
+
"",
|
|
291
|
+
`## ${DEFECT_REPORT_SECTIONS[2]}`,
|
|
292
|
+
"",
|
|
293
|
+
"TODO — this section is yours to write. Name the workaround that unblocked you,",
|
|
294
|
+
"or write the single word `blocked`. Both are useful: a workaround tells us the",
|
|
295
|
+
"severity, `blocked` tells us the priority.",
|
|
296
|
+
"",
|
|
297
|
+
"---",
|
|
298
|
+
"",
|
|
299
|
+
`File it with the three sections above: ${DEFECT_TEMPLATE_URL}`,
|
|
300
|
+
...(parts.reproduced
|
|
301
|
+
? []
|
|
302
|
+
: [
|
|
303
|
+
"",
|
|
304
|
+
"## What the extracted copy said instead",
|
|
305
|
+
"",
|
|
306
|
+
"Not part of the report. It is here so this directory does not read as a clean",
|
|
307
|
+
"reproduction when it is not one. The copy was checked without `npm install`.",
|
|
308
|
+
"",
|
|
309
|
+
...fenced(parts.extracted || "(the extracted copy reported nothing)\n"),
|
|
310
|
+
]),
|
|
311
|
+
"",
|
|
312
|
+
];
|
|
313
|
+
return `${lines.join("\n")}`;
|
|
314
|
+
}
|
|
315
|
+
/** A fence longer than any backtick run inside — VelarScript source may hold backtick strings. */
|
|
316
|
+
function fenced(text) {
|
|
317
|
+
const longest = [...text.matchAll(/`+/gu)].reduce((width, match) => Math.max(width, match[0].length), 0);
|
|
318
|
+
const fence = "`".repeat(Math.max(3, longest + 1));
|
|
319
|
+
return [`${fence}text`, text.replace(/\n$/u, ""), fence];
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=reproduction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reproduction.js","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"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"}
|