@aotter/mantle 0.2.0-alpha.4 → 0.2.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +2 -2
  2. package/dist/admin/createAdminSurface.d.ts +3 -0
  3. package/dist/admin/createAdminSurface.d.ts.map +1 -1
  4. package/dist/admin/createAdminSurface.js +51 -8
  5. package/dist/admin/createAdminSurface.js.map +1 -1
  6. package/dist/admin/extensions.d.ts +290 -0
  7. package/dist/admin/extensions.d.ts.map +1 -0
  8. package/dist/admin/extensions.js +532 -0
  9. package/dist/admin/extensions.js.map +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.d.ts.map +1 -1
  12. package/dist/admin/index.js +1 -0
  13. package/dist/admin/index.js.map +1 -1
  14. package/dist/auth/buildAuth.d.ts +3 -1
  15. package/dist/auth/buildAuth.d.ts.map +1 -1
  16. package/dist/auth/buildAuth.js +3 -2
  17. package/dist/auth/buildAuth.js.map +1 -1
  18. package/dist/auth/callerResolver.d.ts +4 -0
  19. package/dist/auth/callerResolver.d.ts.map +1 -1
  20. package/dist/auth/callerResolver.js +4 -1
  21. package/dist/auth/callerResolver.js.map +1 -1
  22. package/dist/auth/createMantleAuth.d.ts.map +1 -1
  23. package/dist/auth/createMantleAuth.js +3 -2
  24. package/dist/auth/createMantleAuth.js.map +1 -1
  25. package/dist/auth/db.d.ts +1 -0
  26. package/dist/auth/db.d.ts.map +1 -1
  27. package/dist/auth/db.js +6 -3
  28. package/dist/auth/db.js.map +1 -1
  29. package/dist/bun/index.d.ts +0 -44
  30. package/dist/bun/index.d.ts.map +1 -1
  31. package/dist/bun/index.js +0 -84
  32. package/dist/bun/index.js.map +1 -1
  33. package/dist/cli/generate.js +3 -3
  34. package/dist/cli/generate.js.map +1 -1
  35. package/dist/cli/preset.d.ts.map +1 -1
  36. package/dist/cli/preset.js +80 -28
  37. package/dist/cli/preset.js.map +1 -1
  38. package/dist/cloudflare/index.d.ts +4 -0
  39. package/dist/cloudflare/index.d.ts.map +1 -1
  40. package/dist/cloudflare/index.js +2 -0
  41. package/dist/cloudflare/index.js.map +1 -1
  42. package/dist/core/dialect.d.ts +13 -1
  43. package/dist/core/dialect.d.ts.map +1 -1
  44. package/dist/core/driver.d.ts +7 -0
  45. package/dist/core/driver.d.ts.map +1 -1
  46. package/dist/core/runtime/createRuntime.js +1 -1
  47. package/dist/core/runtime/createRuntime.js.map +1 -1
  48. package/dist/core/sessionUser.d.ts +14 -0
  49. package/dist/core/sessionUser.d.ts.map +1 -0
  50. package/dist/core/sessionUser.js +4 -0
  51. package/dist/core/sessionUser.js.map +1 -0
  52. package/dist/core/sql/allowlist.d.ts +2 -0
  53. package/dist/core/sql/allowlist.d.ts.map +1 -1
  54. package/dist/core/sql/allowlist.js +43 -11
  55. package/dist/core/sql/allowlist.js.map +1 -1
  56. package/dist/core/sql/ast.js +1 -1
  57. package/dist/core/sql/ast.js.map +1 -1
  58. package/dist/core/sql/compile.js +1 -1
  59. package/dist/core/sql/compile.js.map +1 -1
  60. package/dist/core/sql/policy.d.ts +2 -0
  61. package/dist/core/sql/policy.d.ts.map +1 -1
  62. package/dist/core/sql/policy.js +25 -6
  63. package/dist/core/sql/policy.js.map +1 -1
  64. package/dist/core/sql/run.d.ts +0 -8
  65. package/dist/core/sql/run.d.ts.map +1 -1
  66. package/dist/core/sql/run.js +152 -35
  67. package/dist/core/sql/run.js.map +1 -1
  68. package/dist/d1/executor.d.ts +2 -0
  69. package/dist/d1/executor.d.ts.map +1 -1
  70. package/dist/d1/executor.js +6 -1
  71. package/dist/d1/executor.js.map +1 -1
  72. package/dist/mcp/createMcpSurface.d.ts +5 -2
  73. package/dist/mcp/createMcpSurface.d.ts.map +1 -1
  74. package/dist/mcp/createMcpSurface.js +14 -3
  75. package/dist/mcp/createMcpSurface.js.map +1 -1
  76. package/dist/mcp/media.d.ts +9 -0
  77. package/dist/mcp/media.d.ts.map +1 -0
  78. package/dist/mcp/media.js +33 -0
  79. package/dist/mcp/media.js.map +1 -0
  80. package/dist/postgres/adapter.d.ts +5 -2
  81. package/dist/postgres/adapter.d.ts.map +1 -1
  82. package/dist/postgres/adapter.js +7 -1
  83. package/dist/postgres/adapter.js.map +1 -1
  84. package/dist/postgres/compile/index.d.ts +1 -1
  85. package/dist/postgres/compile/index.js +1 -1
  86. package/dist/postgres/driver.d.ts +38 -21
  87. package/dist/postgres/driver.d.ts.map +1 -1
  88. package/dist/postgres/driver.js +100 -24
  89. package/dist/postgres/driver.js.map +1 -1
  90. package/dist/postgres/executor.d.ts +8 -0
  91. package/dist/postgres/executor.d.ts.map +1 -1
  92. package/dist/postgres/executor.js +40 -13
  93. package/dist/postgres/executor.js.map +1 -1
  94. package/dist/postgres/index.d.ts +2 -1
  95. package/dist/postgres/index.d.ts.map +1 -1
  96. package/dist/postgres/index.js +1 -0
  97. package/dist/postgres/index.js.map +1 -1
  98. package/dist/postgres/lower.d.ts.map +1 -1
  99. package/dist/postgres/lower.js +3 -8
  100. package/dist/postgres/lower.js.map +1 -1
  101. package/dist/postgres/print.d.ts.map +1 -1
  102. package/dist/postgres/print.js +2 -15
  103. package/dist/postgres/print.js.map +1 -1
  104. package/dist/postgres/session.d.ts +9 -0
  105. package/dist/postgres/session.d.ts.map +1 -0
  106. package/dist/postgres/session.js +111 -0
  107. package/dist/postgres/session.js.map +1 -0
  108. package/dist/postgres/storage.d.ts +14 -1
  109. package/dist/postgres/storage.d.ts.map +1 -1
  110. package/dist/postgres/storage.js +136 -54
  111. package/dist/postgres/storage.js.map +1 -1
  112. package/dist/postgres/validator.d.ts +4 -3
  113. package/dist/postgres/validator.d.ts.map +1 -1
  114. package/dist/postgres/validator.js +13 -6
  115. package/dist/postgres/validator.js.map +1 -1
  116. package/dist/spec/domain/model/ManifestGrammar.d.ts +4 -0
  117. package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -1
  118. package/dist/spec/domain/model/ManifestGrammar.js +4 -0
  119. package/dist/spec/domain/model/ManifestGrammar.js.map +1 -1
  120. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +2 -0
  121. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -1
  122. package/dist/spec/domain/service/SchemaAdminUiChecker.js +50 -6
  123. package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -1
  124. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +1 -1
  125. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -1
  126. package/dist/spec/domain/service/ViewAdminUiChecker.js +7 -2
  127. package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -1
  128. package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -1
  129. package/dist/spec/infrastructure/sql/compilePlan.js +5 -0
  130. package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -1
  131. package/dist/spec/kernel/diagnostic.d.ts +1 -1
  132. package/dist/spec/kernel/diagnostic.d.ts.map +1 -1
  133. package/dist/spec/kernel/diagnostic.js +5 -0
  134. package/dist/spec/kernel/diagnostic.js.map +1 -1
  135. package/dist/testing/cases/corpus.d.ts +2 -0
  136. package/dist/testing/cases/corpus.d.ts.map +1 -1
  137. package/dist/testing/cases/corpus.js +7 -5
  138. package/dist/testing/cases/corpus.js.map +1 -1
  139. package/dist/testing/cases/policy.d.ts +14 -1
  140. package/dist/testing/cases/policy.d.ts.map +1 -1
  141. package/dist/testing/cases/policy.js +3 -2
  142. package/dist/testing/cases/policy.js.map +1 -1
  143. package/dist/testing/cases/printer.d.ts.map +1 -1
  144. package/dist/testing/cases/printer.js +3 -1
  145. package/dist/testing/cases/printer.js.map +1 -1
  146. package/dist/testing/cases/report-view.d.ts.map +1 -1
  147. package/dist/testing/cases/report-view.js +18 -0
  148. package/dist/testing/cases/report-view.js.map +1 -1
  149. package/docs/adr/0031-host-cloud-core-contract.md +62 -1
  150. package/docs/adr/0032-store-centric-core-and-service-contract.md +17 -0
  151. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +2 -1
  152. package/docs/adr/0039-postgresql-is-native.md +130 -0
  153. package/docs/adr/README.md +2 -0
  154. package/docs/adr/adr-lite-1376-admin-extensions.md +330 -0
  155. package/docs/examples/commerce-inventory.md +18 -1
  156. package/docs/examples/reference-service/package.json +2 -2
  157. package/docs/handbook/cloudflare/authentication.md +3 -3
  158. package/docs/handbook/cloudflare/deploy-and-operate.md +4 -1
  159. package/docs/handbook/cloudflare/media-r2.md +59 -8
  160. package/docs/handbook/concepts/mcp-and-agents.md +12 -4
  161. package/docs/handbook/concepts/runtime-and-adapters.md +74 -33
  162. package/docs/handbook/concepts/views.md +1 -1
  163. package/docs/handbook/guides/admin-extensions.md +191 -0
  164. package/docs/handbook/guides/admin-ui.md +2 -1
  165. package/docs/handbook/navigation.json +2 -1
  166. package/docs/handbook/reference/diagnostics.md +1 -0
  167. package/docs/handbook/reference/procedure.md +2 -1
  168. package/docs/handbook/reference/schema.md +6 -3
  169. package/docs/handbook/reference/surface.md +6 -2
  170. package/docs/handbook/reference/view.md +7 -5
  171. package/docs/handbook/releases/index.md +78 -4
  172. package/docs/handbook/start/project-and-cli.md +20 -12
  173. package/docs/skills/develop/SKILL.md +8 -2
  174. package/docs/skills/provision/SKILL.md +4 -1
  175. package/docs/skills/update/SKILL.md +3 -0
  176. package/docs/upgrade-0.1-to-0.2.md +1 -1
  177. package/package.json +6 -5
  178. package/dist/postgres/textRows.d.ts +0 -10
  179. package/dist/postgres/textRows.d.ts.map +0 -1
  180. package/dist/postgres/textRows.js +0 -44
  181. package/dist/postgres/textRows.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/sql/policy.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,yHAAyH;AACzH,yGAAyG;AACzG,OAAO,EAAE,UAAU,IAAI,OAAO,EAAqB,MAAM,4BAA4B,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAajE,wGAAwG;AACxG,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAiExC,oGAAoG;AACpG,MAAM,KAAK,GAAG,CAAC,CAAS,EAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9D,MAAM,GAAG,GAAG,CAAC,GAAG,IAA+B,EAAiB,EAAE;IAChE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC5G,CAAC,CAAC;AACF,MAAM,EAAE,GAAG,CAAC,GAAG,CAAM,EAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5E,MAAM,IAAI,GAAG,GAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACtE,MAAM,KAAK,GAAG,CAAC,CAAI,EAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACtE,MAAM,IAAI,GAAG,CAAC,IAAO,EAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAExH,sGAAsG;AACtG,kGAAkG;AAClG,MAAM,YAAY,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnK,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACvJ,uGAAuG;AACvG,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAenD,SAAS,MAAM,CAAC,CAAI,EAAE,IAAc;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,oHAAoH;AACpH,SAAS,OAAO,CAAC,CAAY,EAAE,CAAS,EAAE,CAAI;IAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;IAChC,IAAI,CAAC,CAAC,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,GAAG,CACR,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EACpF,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EACxJ,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAC7G,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAI;IACtB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,eAAe,CAAC,CAAC,OAAO,WAAW,CAAC;QACzC,KAAK,eAAe,CAAC,CAAC,OAAO,YAAY,CAAC;QAC1C,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YACxB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,wCAAwC,CAAC,CAAC,IAAI,gDAAgD,CAAC,CAAC;AACpI,CAAC;AAED,0EAA0E;AAC1E,SAAS,IAAI,CAAC,EAAK,EAAE,CAAI;IACvB,2FAA2F;IAC3F,IAAI,EAAE,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAAE,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,2CAA2C,CAAC,CAAC;QACxI,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,2BAA2B,CAAC,CAAC;IACpF,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO;QAAE,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,iDAAiD,CAAC,CAAC;IAC7H,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,+EAA+E;IAC/G,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO;QACL,cAAc,EAAE;YACd,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;YACvB,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE;SACxP;KACF,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,CAAgB,EAAE,MAAW,EAAE;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;;QAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,IAAqC,EAAW,EAAE;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACzI,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,mEAAmE;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,4GAA4G;AAC5G,SAAS,WAAW,CAAC,CAAI,EAAE,KAAa;IACtC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,KAAK,kFAAkF,CAAC,CAAC;AAChI,CAAC;AACD,MAAM,OAAO,GAAG,CAAC,CAAI,EAAiB,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;CAClJ,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,CAAI,EAAE,CAAI;IAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACzF,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,KAAK,WAAW,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,KAAK,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACpG,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,GAAsC;IAC3C,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CACnC,CAAC;AACF,SAAS,IAAI,CAAC,CAAI,EAAE,CAAI,EAAE,IAAY;IACpC,MAAM,GAAG,GAAM,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC,CAAC,6CAA6C;QAC7F,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB;YAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;aACnD,IAAI,CAAC,CAAC,IAAI,KAAK,yBAAyB;YAAE,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC;aACpE,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB;YAAE,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC;aAClE,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B;YAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAChE,mGAAmG;QACnG,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACjE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACnC,CAAC;;YAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,UAAU,EAAE,CAAC,CAAM,EAAE,CAAI;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,wIAAwI;IACxI,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,yEAAyE;AACzE,MAAM,SAAS,GAAG,CAAC,GAAM,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACvN,mDAAmD;AACnD,MAAM,UAAU,GAAG,CAAC,GAAM,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAE3J;;;;GAIG;AACH,SAAS,MAAM,CAAC,CAAI,EAAE,CAAI;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACvB,MAAM,IAAI,GAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,CAAI,CAAiB,EAAE,CAAU,EAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAC1H,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtJ,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QACvD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,QAAQ,CAAC,CAAI,EAAE,CAAI;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAY;QACpB,SAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAC/C,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACjE,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClI,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;IACF,sFAAsF;IACtF,MAAM,UAAU,GAAG,CAAC,CAAM,EAAE,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,eAAe;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvJ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC;IACF,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAEZ,qFAAqF;IACrF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC;IAC3I,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpG,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,CAAC,WAAW;YAAE,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;aACrI,IAAI,UAAU,EAAE,CAAC;YACpB,IAAI,KAAM,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/F,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,YAAY,UAAU,uDAAuD,CAAC,CAAC;YAChH,MAAM,GAAG,GAAG,KAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5J,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,YAAY,UAAU,qCAAqC,CAAC,CAAC;YACxI,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,EAAE,EAAE,aAAa,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACrF,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,qGAAqG;IACrG,oGAAoG;IACpG,sGAAsG;IACtG,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,WAAW;QAAE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;YACrC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gBAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACvJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,CAAI,EAAE,IAAa,EAAE,CAAI;IAC3C,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAChG,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;QAC7C,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,sIAAsI;QACtI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;YACpL,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,iEAAiE,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzF,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC1J,MAAM,MAAM,GAAG,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC;AAC/D,SAAS,SAAS,CAAC,EAAiB,EAAE,CAAY,EAAE,MAAc,EAAE,CAAI,EAAE,MAAc;IACtF,0HAA0H;IAC1H,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7G,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzI,sIAAsI;IACtI,IAAI,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AACD,SAAS,QAAQ,CAAC,GAAM,EAAE,CAAI;IAC5B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5I,CAAC;AAED,SAAS,MAAM,CAAC,CAAI,EAAE,CAAI;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxH,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACnI,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AACD,SAAS,GAAG,CAAC,CAAI,EAAE,CAAI;IACrB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACnI,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AACD,SAAS,MAAM,CAAC,CAAI,EAAE,CAAI;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAE,CAAC;IAC/D,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAkB;QAC1B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,qHAAqH;QACrH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAgB,CAAC,CAAC;KAC7E,CAAC;IACF,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,oGAAoG;IACpG,0FAA0F;IAC1F,yGAAyG;IACzG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,EAAE,UAAU,EAAE;YAC7B,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAChH,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,EAAE,YAAY;SAAE,EAAE,CAAC;IACtH,MAAM,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAChC,IAAI,EAAE,EAAE,CAAC;QACP,wHAAwH;QACxH,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QACrH,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK;YAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACrK,IAAI,EAAE,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACtC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0FAA0F;QACrK,CAAC;IACH,CAAC;IACD,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,WAAW,CAAC,IAAO,EAAE,IAAgB;IACnD,MAAM,CAAC,GAAM,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChG,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACvH,0HAA0H;IAC1H,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;AAC9J,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/sql/policy.ts"],"names":[],"mappings":"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"}
@@ -60,14 +60,6 @@ export interface ViewMatch {
60
60
  readonly value: unknown;
61
61
  }[];
62
62
  }
63
- /**
64
- * Keyset pagination over a View. The sort keys (the author's plus the compiler's appended id or group key)
65
- * become hidden `_k<i>` columns; the cursor is the last row's keys and the next page filters on them. A NULL key
66
- * sorts by the page's own NULLS rule (stated on every key, so the cursor and the order agree).
67
- *
68
- * A View's own LIMIT bounds every page together. A View without ORDER BY (a DISTINCT, a GROUP BY or an aggregate) cannot
69
- * be paged: it returns its rows when they fit one page and is refused when they do not.
70
- */
71
63
  export declare function runView(env: RunEnv, p: Program, as: RunAs, opts?: {
72
64
  cursor?: readonly unknown[];
73
65
  pageSize?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/core/sql/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/core/sql/run.ts"],"names":[],"mappings":"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"}
@@ -78,12 +78,34 @@ function split(row) {
78
78
  result[k] = v;
79
79
  return { result, hook };
80
80
  }
81
+ const compiledCache = new WeakMap();
82
+ const SLOT_CAP = 32;
83
+ const level = (m, k, make) => { let v = m.get(k); if (!v)
84
+ m.set(k, (v = make())); return v; };
85
+ /**
86
+ * `compileProgram`, once per (IR, inputs, schemas, dialect, flavour). The negative-control and position-probe runs (`seen`,
87
+ * `unsafeNoVisibility`) and a Store write (`statuses`, built fresh from the request) are never cached. The returned array is the
88
+ * caller's own to change; the Compiled values in it are shared and must not be.
89
+ */
90
+ function compileCached(env, p, ir, stmts, ctx, flavour) {
91
+ if (env.seen || env.unsafeNoVisibility || ctx.statuses?.some((x) => x !== undefined) || p.statuses)
92
+ return compileProgram(stmts, ctx);
93
+ const slot = level(level(level(level(compiledCache, ir, () => new WeakMap()), p.inputs, () => new WeakMap()), env.schemas, () => new WeakMap()), env.dialect, () => new Map());
94
+ const key = `${p.kind}|${env.mode}|${[...(ctx.returning ?? [])].sort().join(",")}|${ctx.lockVersion ? "lock" : ""}|${flavour}`;
95
+ let hit = slot.get(key);
96
+ if (!hit) {
97
+ if (slot.size >= SLOT_CAP)
98
+ slot.clear();
99
+ slot.set(key, (hit = compileProgram(stmts, ctx)));
100
+ }
101
+ return hit.slice();
102
+ }
81
103
  /** A Procedure: before hooks (row ops only), one batch applied in order and all or nothing, then after hooks. */
82
104
  export async function runProcedure(env, p, as) {
83
105
  const lc = env.lifecycle;
84
106
  const afterSchemas = new Set([...(lc?.after ?? [])].map((k) => k.split(".")[0]));
85
107
  const base = ctxOf(env, p, { returning: afterSchemas, statuses: p.statuses });
86
- const plan = compileProgram(p.ir, base);
108
+ const plan = compileCached(env, p, p.ir, p.ir, base, "all");
87
109
  const versions = {};
88
110
  // a hook receives the entry as Store's `select` returns it (declared names, decoded values, `{ lat, lng }`), not the storage encoding
89
111
  const entry = (schema, row) => {
@@ -131,7 +153,7 @@ export async function runProcedure(env, p, as) {
131
153
  versions[i] = row.version;
132
154
  // the statement carries the version it was decided on, so a change in between is CONFLICT
133
155
  if (c.verb !== "insert")
134
- plan[i] = compileProgram([p.ir[i]], { ...base, lockVersion: true, statuses: [p.statuses?.[i]] })[0];
156
+ plan[i] = compileCached(env, p, p.ir[i], [p.ir[i]], { ...base, lockVersion: true, statuses: [p.statuses?.[i]] }, "one")[0];
135
157
  }
136
158
  // a row op that matched nothing is `lock` when the entry is visible at another version than the one `version = input.x` asked for
137
159
  // (ADR-0032 decision 2), and `expect` otherwise: an invisible entry is a missing one
@@ -173,18 +195,116 @@ const refuseOutput = (name) => { throw refuse(`SQL_SHAPE: the View has no output
173
195
  export const outName = (t) => t.ResTarget.name ?? t.ResTarget.val?.ColumnRef?.fields?.at(-1)?.String?.sval;
174
196
  /** `%text%` with the LIKE metacharacters escaped, so a search matches what was typed. */
175
197
  const likePattern = (text) => `%${text.replace(/[\\%_]/g, (c) => `\\${c}`)}%`;
198
+ // ---- the row-comparison cursor ------------------------------------------------------------------------
199
+ /**
200
+ * Columns every Schema's table declares NOT NULL (`postgres/storage.ts` createTable): the native ones, the scope column, and `status` when publishing.
201
+ * The scope branch is the table's truth but does not fire today: a View's readable projection never exposes the scope column to sort by.
202
+ */
203
+ const nativeNotNull = (s, column) => column === "id" || column === "version" || column === "created_at" || column === "updated_at" || column === s.scope || (!!s.publishing && column === "status");
204
+ /** The FROM items of a select, each with whether an outer join can null-extend it. */
205
+ function fromItems(items, nullable = false) {
206
+ return (items ?? []).flatMap((n) => {
207
+ const j = n.JoinExpr;
208
+ if (!j)
209
+ return [{ node: n, nullable }];
210
+ return [...fromItems([j.larg], nullable || j.jointype === "JOIN_RIGHT" || j.jointype === "JOIN_FULL"), ...fromItems([j.rarg], nullable || j.jointype === "JOIN_LEFT" || j.jointype === "JOIN_FULL")];
211
+ });
212
+ }
213
+ /**
214
+ * Whether `qual.name` (or `name`, when the select reads one source) of `sel` can never be NULL: a native column of a Schema's own table
215
+ * (not null-extended by an outer join), or a bare pass-through of one by a subquery. Anything else (an expression, a declared field,
216
+ * a CTE, a row source, an ambiguous name) is unknown, and unknown means nullable.
217
+ * ponytail: declared required fields are nullable in the table (storage.ts adds NOT NULL to native columns only), so they count as nullable here;
218
+ * the upgrade is a NOT NULL for them, which needs a storage migration.
219
+ */
220
+ function notNullIn(schemas, sel, qual, name) {
221
+ if (!sel || sel.op !== "SETOP_NONE" || sel.withClause)
222
+ return false;
223
+ const items = fromItems(sel.fromClause);
224
+ const alias = (n) => n.RangeVar ? n.RangeVar.alias?.aliasname ?? n.RangeVar.relname : n.RangeSubselect?.alias?.aliasname ?? n.RangeFunction?.alias?.aliasname;
225
+ const hit = qual === undefined ? items : items.filter((i) => alias(i.node) === qual);
226
+ if (hit.length !== 1 || (qual === undefined && items.length !== 1) || hit[0].nullable)
227
+ return false;
228
+ const { node } = hit[0];
229
+ if (node.RangeVar) {
230
+ const schema = node.RangeVar.mantle === "system" ? schemas[node.RangeVar.relname] : undefined;
231
+ return !!schema && nativeNotNull(schema, name);
232
+ }
233
+ const sub = node.RangeSubselect;
234
+ if (!sub || sub.alias?.colnames?.length || sub.lateral)
235
+ return false;
236
+ const outs = (sub.subquery.SelectStmt?.targetList ?? []).filter((t) => (t.ResTarget.name ?? t.ResTarget.val?.ColumnRef?.fields?.at(-1)?.String?.sval) === name);
237
+ const f = outs.length === 1 ? outs[0].ResTarget.val?.ColumnRef?.fields : undefined;
238
+ if (!f || f.length > 2 || f.some((x) => !x.String))
239
+ return false;
240
+ return notNullIn(schemas, sub.subquery.SelectStmt, f.length === 2 ? f[0].String.sval : undefined, f.at(-1).String.sval);
241
+ }
176
242
  /**
177
- * Keyset pagination over a View. The sort keys (the author's plus the compiler's appended id or group key)
178
- * become hidden `_k<i>` columns; the cursor is the last row's keys and the next page filters on them. A NULL key
179
- * sorts by the page's own NULLS rule (stated on every key, so the cursor and the order agree).
180
- *
181
- * A View's own LIMIT bounds every page together. A View without ORDER BY (a DISTINCT, a GROUP BY or an aggregate) cannot
182
- * be paged: it returns its rows when they fit one page and is refused when they do not.
243
+ * PostgreSQL only: whether the cursor can be one row comparison `(k0, k1, ...) > ($1, $2, ...)`. That needs every key (the appended
244
+ * tiebreaks included) NOT NULL, all in one direction, and no NULLS clause other than PostgreSQL's own default.
183
245
  */
246
+ function rowComparable(env, sel, keys, hidden) {
247
+ if (!env.dialect.nativeOrder || !keys.length)
248
+ return false;
249
+ const desc = keys[0].SortBy.sortby_dir === "SORTBY_DESC";
250
+ return keys.every((k, i) => {
251
+ const d = k.SortBy.sortby_dir;
252
+ if (d !== "SORTBY_DEFAULT" && d !== "SORTBY_ASC" && d !== "SORTBY_DESC")
253
+ return false;
254
+ if ((d === "SORTBY_DESC") !== desc)
255
+ return false;
256
+ // an explicit NULLS clause is the author's: only PostgreSQL's own default (LAST ascending, FIRST descending) leaves the order the index has
257
+ const nulls = k.SortBy.sortby_nulls;
258
+ if (nulls && nulls !== "SORTBY_NULLS_DEFAULT" && nulls !== (desc ? "SORTBY_NULLS_FIRST" : "SORTBY_NULLS_LAST"))
259
+ return false;
260
+ const f = hidden[i].ResTarget.val?.ColumnRef?.fields;
261
+ if (!f || f.length > 2 || f.some((x) => !x.String))
262
+ return false;
263
+ return notNullIn(env.schemas, sel, f.length === 2 ? f[0].String.sval : undefined, f.at(-1).String.sval);
264
+ });
265
+ }
266
+ // keyed by the compiled View, so it lives and dies with the compile cache's entry; the shapes per View are capped (a page size and a
267
+ // cursor's length come off the wire)
268
+ const pagedCache = new WeakMap();
269
+ const SHAPE_CAP = 64;
184
270
  export async function runView(env, p, as, opts = {}) {
185
- const [c] = compileProgram(p.ir, ctxOf(env, p));
271
+ const [c] = compileCached(env, p, p.ir, p.ir, ctxOf(env, p), "view");
186
272
  if (!opts.pageSize)
187
273
  return { rows: await env.executor.select({ ir: c.ast, binds: bindValues(env.dialect, c.binds, as.bind) }) };
274
+ const pageSize = opts.pageSize;
275
+ if (opts.cursor && !c.ast.SelectStmt.sortClause?.length)
276
+ throw refuse("SQL_SHAPE: this View has no ORDER BY, so it is one page and takes no cursor");
277
+ // everything the statement's text depends on besides the compiled View: the page size, which cursor keys are NULL or missing and how
278
+ // many there are (the row comparison needs all of them, non-null), and the search and equality columns. Values are binds, not text.
279
+ // Only the first nkeys elements and whether the length is exactly nkeys reach the AST, so the key's size is bounded by the View, not the wire.
280
+ const nkeys = c.ast.SelectStmt.sortClause?.length ?? 0;
281
+ const cursorShape = opts.cursor ? `${Array.from({ length: nkeys }, (_x, i) => { const v = opts.cursor[i]; return v === null ? "n" : v === undefined ? "u" : "v"; }).join("")}${opts.cursor.length === nkeys ? "=" : "!"}` : "-";
282
+ const search = opts.match?.search?.text ? opts.match.search : undefined;
283
+ const eq = opts.match?.eq ?? [];
284
+ const shape = JSON.stringify([pageSize, cursorShape, search?.columns ?? null, eq.map((e) => e.column)]);
285
+ const shapes = level(pagedCache, c, () => new Map());
286
+ let paged = shapes.get(shape);
287
+ if (!paged) {
288
+ if (shapes.size >= SHAPE_CAP)
289
+ shapes.clear();
290
+ shapes.set(shape, (paged = pagedOf(env, c, pageSize, opts.cursor, opts.match)));
291
+ }
292
+ const extra = paged.sources.map((x) => ("cursor" in x ? opts.cursor[x.cursor] : "search" in x ? likePattern(search.text) : eq[x.eq].value));
293
+ const rows = await env.executor.select({ ir: paged.ast, binds: [...bindValues(env.dialect, c.binds, as.bind), ...extra] });
294
+ if (paged.flat) {
295
+ if (rows.length > pageSize)
296
+ throw refuse(`SQL_SHAPE: this View has more than ${pageSize} rows and no ORDER BY to page them by: add an ORDER BY`);
297
+ return { rows };
298
+ }
299
+ if (!paged.nkeys && rows.length > pageSize)
300
+ throw refuse(`SQL_SHAPE: this View has more than ${pageSize} matching rows and no ORDER BY to page them by: add an ORDER BY`);
301
+ const page = rows.slice(0, pageSize);
302
+ const next = paged.nkeys && rows.length > pageSize ? Array.from({ length: paged.nkeys }, (_k, i) => page.at(-1)[`_k${i}`]) : undefined;
303
+ return { rows: page.map((r) => Object.fromEntries(paged.names.map((n) => [n, r[n]]))), ...(next ? { next } : {}) };
304
+ }
305
+ /** The paged statement for one request shape (see `runView`): the View wrapped with its cursor condition, search and equality filters. */
306
+ function pagedOf(env, c, pageSize, cursor, match) {
307
+ const opts = { cursor, pageSize, match };
188
308
  const sel = structuredClone(c.ast.SelectStmt);
189
309
  const keys = sel.sortClause ?? [];
190
310
  if (opts.cursor && !keys.length)
@@ -192,10 +312,7 @@ export async function runView(env, p, as, opts = {}) {
192
312
  const visible = sel.targetList.map(outName);
193
313
  if (!keys.length && !opts.match?.search?.text && !opts.match?.eq?.length) {
194
314
  // nothing to wrap: the View's own statement, one row past the page to tell whether it fits
195
- const rows = await env.executor.select({ ir: { SelectStmt: { ...sel, limitCount: { A_Const: { ival: { ival: opts.pageSize + 1 } } }, limitOption: "LIMIT_OPTION_COUNT" } }, binds: bindValues(env.dialect, c.binds, as.bind) });
196
- if (rows.length > opts.pageSize)
197
- throw refuse(`SQL_SHAPE: this View has more than ${opts.pageSize} rows and no ORDER BY to page them by: add an ORDER BY`);
198
- return { rows };
315
+ return { ast: { SelectStmt: { ...sel, limitCount: { A_Const: { ival: { ival: pageSize + 1 } } }, limitOption: "LIMIT_OPTION_COUNT" } }, sources: [], flat: true, names: [], nkeys: 0 };
199
316
  }
200
317
  if (visible.some((n) => !n))
201
318
  throw refuse("SQL_SHAPE: a paged View names every output column");
@@ -210,58 +327,58 @@ export async function runView(env, p, as, opts = {}) {
210
327
  : f?.length === 1 && aliasVal.has(f[0].String.sval) ? aliasVal.get(f[0].String.sval) : node;
211
328
  return { ResTarget: { name: `_k${i}`, val } };
212
329
  });
213
- // SQLite's own rule, stated: ascending puts NULL first, descending last
330
+ // the dialect's own rule, stated: SQLite puts NULL first ascending and last descending; a native-order dialect (PostgreSQL) the reverse
214
331
  const desc = (k) => k.SortBy.sortby_dir === "SORTBY_DESC";
215
- const nullsFirst = (k) => (k.SortBy.sortby_nulls === "SORTBY_NULLS_FIRST" ? true : k.SortBy.sortby_nulls === "SORTBY_NULLS_LAST" ? false : !desc(k));
332
+ const nullsFirst = (k) => (k.SortBy.sortby_nulls === "SORTBY_NULLS_FIRST" ? true : k.SortBy.sortby_nulls === "SORTBY_NULLS_LAST" ? false : desc(k) === !!env.dialect.nativeOrder);
216
333
  // an authored LIMIT bounds the whole result: the View's own ORDER BY and LIMIT pick its rows, and the pages run through those
217
334
  const inner = sel.limitCount
218
335
  ? { ...sel, targetList: [...sel.targetList, ...hidden] }
219
336
  : { ...sel, targetList: [...sel.targetList, ...hidden], sortClause: undefined, limitCount: undefined, limitOption: "LIMIT_OPTION_DEFAULT" };
220
337
  const base = c.binds.length;
221
- const extra = [];
222
- const param = (value) => (extra.push(value), { ParamRef: { number: base + extra.length } });
338
+ const sources = [];
339
+ const param = (source) => (sources.push(source), { ParamRef: { number: base + sources.length } });
223
340
  const col = (n) => ref("_p", n);
224
341
  const isNull = (n, t) => ({ NullTest: { arg: n, nulltesttype: t } });
225
342
  const conditions = [];
226
343
  if (opts.cursor) {
227
344
  const cur = opts.cursor;
228
- const same = (j) => (cur[j] === null ? isNull(col(`_k${j}`), "IS_NULL") : op("=", col(`_k${j}`), param(cur[j])));
345
+ const same = (j) => (cur[j] === null ? isNull(col(`_k${j}`), "IS_NULL") : op("=", col(`_k${j}`), param({ cursor: j })));
229
346
  // the rows after the cursor's key i: past a NULL comes every value when NULL sorts first, nothing when it sorts last
230
347
  const past = (k, i) => {
231
348
  const at = col(`_k${i}`);
232
349
  if (cur[i] === null)
233
350
  return nullsFirst(k) ? isNull(at, "IS_NOT_NULL") : undefined;
234
- const beyond = op(desc(k) ? "<" : ">", at, param(cur[i]));
351
+ const beyond = op(desc(k) ? "<" : ">", at, param({ cursor: i }));
235
352
  return nullsFirst(k) ? beyond : { BoolExpr: { boolop: "OR_EXPR", args: [beyond, isNull(at, "IS_NULL")] } };
236
353
  };
237
- const args = keys.flatMap((k, i) => {
238
- const last = past(k, i);
239
- return last ? [{ BoolExpr: { boolop: "AND_EXPR", args: [...keys.slice(0, i).map((_x, j) => same(j)), last] } }] : [];
240
- });
241
- conditions.push(args.length ? { BoolExpr: { boolop: "OR_EXPR", args } } : { A_Const: { boolval: { boolval: false } } });
354
+ if (rowComparable(env, sel, keys, hidden) && cur.length === keys.length && cur.every((v) => v !== null && v !== undefined)) {
355
+ // every key is NOT NULL and they share one direction: one row comparison, which a btree range-scans however deep the page
356
+ const row = (args) => ({ RowExpr: { args, row_format: "COERCE_IMPLICIT_CAST" } });
357
+ conditions.push(op(desc(keys[0]) ? "<" : ">", row(keys.map((_k, i) => col(`_k${i}`))), row(cur.map((_v, i) => param({ cursor: i })))));
358
+ }
359
+ else {
360
+ const args = keys.flatMap((k, i) => {
361
+ const last = past(k, i);
362
+ return last ? [{ BoolExpr: { boolop: "AND_EXPR", args: [...keys.slice(0, i).map((_x, j) => same(j)), last] } }] : [];
363
+ });
364
+ conditions.push(args.length ? { BoolExpr: { boolop: "OR_EXPR", args } } : { A_Const: { boolval: { boolval: false } } });
365
+ }
242
366
  }
243
367
  // an output by the name SQL gave it: an unquoted alias or column folds to lower case
244
368
  const output = (name) => names.find((n) => n === name) ?? names.find((n) => n === name.toLowerCase()) ?? refuseOutput(name);
245
369
  const search = opts.match?.search;
246
370
  if (search?.text) {
247
- const pattern = likePattern(search.text);
248
371
  conditions.push({ BoolExpr: { boolop: "OR_EXPR", args: search.columns.map((c) => ({ A_Expr: { kind: "AEXPR_LIKE", name: [{ String: { sval: "~~" } }], lexpr: col(output(c)),
249
- rexpr: { FuncCall: { funcname: [{ String: { sval: "like_escape" } }], args: [param(pattern), { A_Const: { sval: { sval: "\\" } } }], funcformat: "COERCE_EXPLICIT_CALL" } } } })) } });
372
+ rexpr: { FuncCall: { funcname: [{ String: { sval: "like_escape" } }], args: [param({ search: true }), { A_Const: { sval: { sval: "\\" } } }], funcformat: "COERCE_EXPLICIT_CALL" } } } })) } });
250
373
  }
251
- for (const { column, value } of opts.match?.eq ?? [])
252
- conditions.push(op("=", col(output(column)), param(value)));
374
+ (opts.match?.eq ?? []).forEach(({ column }, k) => conditions.push(op("=", col(output(column)), param({ eq: k }))));
253
375
  const outer = { SelectStmt: {
254
376
  targetList: [...names.map((n) => ({ ResTarget: { val: col(n), name: n } })), ...keys.map((_k, i) => ({ ResTarget: { val: col(`_k${i}`), name: `_k${i}` } }))],
255
377
  fromClause: [{ RangeSubselect: { subquery: { SelectStmt: inner }, alias: { aliasname: "_p" } } }],
256
378
  whereClause: conditions.length > 1 ? { BoolExpr: { boolop: "AND_EXPR", args: conditions } } : conditions[0],
257
379
  sortClause: keys.map((k, i) => ({ SortBy: { node: col(`_k${i}`), sortby_dir: k.SortBy.sortby_dir, sortby_nulls: nullsFirst(k) ? "SORTBY_NULLS_FIRST" : "SORTBY_NULLS_LAST" } })),
258
- limitCount: { A_Const: { ival: { ival: opts.pageSize + 1 } } }, limitOption: "LIMIT_OPTION_COUNT", op: "SETOP_NONE"
380
+ limitCount: { A_Const: { ival: { ival: pageSize + 1 } } }, limitOption: "LIMIT_OPTION_COUNT", op: "SETOP_NONE"
259
381
  } };
260
- const rows = await env.executor.select({ ir: outer, binds: [...bindValues(env.dialect, c.binds, as.bind), ...extra] });
261
- if (!keys.length && rows.length > opts.pageSize)
262
- throw refuse(`SQL_SHAPE: this View has more than ${opts.pageSize} matching rows and no ORDER BY to page them by: add an ORDER BY`);
263
- const page = rows.slice(0, opts.pageSize);
264
- const next = keys.length && rows.length > opts.pageSize ? keys.map((_k, i) => page.at(-1)[`_k${i}`]) : undefined;
265
- return { rows: page.map((r) => Object.fromEntries(names.map((n) => [n, r[n]]))), ...(next ? { next } : {}) };
382
+ return { ast: outer, sources, flat: false, names, nkeys: keys.length };
266
383
  }
267
384
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/core/sql/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAwC,MAAM,4BAA4B,CAAC;AAI3I,OAAO,EAAE,UAAU,EAAE,cAAc,EAAyC,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAqCtE,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3J,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjN,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,CAAU,EAAE,QAAiC,EAAE,EAAkB,EAAE,CAAC,CAAC;IAC/F,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,GAAG,KAAK;CACjK,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,UAAe,EAAE,IAAQ,EAAE,KAAS,EAAK,EAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,EAAE,YAAY,EAAE;CACrK,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,CAAgB;IACjC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChG,CAAC;AACD,kFAAkF;AAClF,SAAS,IAAI,CAAC,IAAO;IACnB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG;YAAE,SAAS;QACtE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC;AAED,iHAAiH;AACjH,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;AAClE,MAAM,GAAG,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAW,CAAC;AACnG,MAAM,WAAW,GAAG;IAClB,UAAU,EAAE,mEAAmE;IAC/E,cAAc,EAAE,kEAAkE;IAClF,qBAAqB,EAAE,oEAAoE;CACnF,CAAC;AAEX,qIAAqI;AACrI,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,CAAU,EAAE,CAAS,EAAE,CAAW,EAAE,EAAS;IAC/E,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;IACtB,IAAI,IAAO,CAAC;IACZ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvC,MAAM,MAAM,GAAQ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACpF,qHAAqH;QACrH,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC,MAAM,mEAAmE,CAAC,CAAC;QAC/I,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC,CAAC,+DAA+D;QAC9F,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,GAAG,MAAM,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/P,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAC/G,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClL,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG;QAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,2EAA2E;IAC/H,OAAO,GAAG,IAAI,EAAE,CAAC;AACnB,CAAC;AAED,8HAA8H;AAC9H,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAExG,kHAAkH;AAClH,SAAS,KAAK,CAAC,GAAa;IAC1B,MAAM,MAAM,GAA4B,EAAE,EAAE,IAAI,GAA4B,EAAE,CAAC;IAC/E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;YAAM,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnI,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,iHAAiH;AACjH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,CAAU,EAAE,EAAS;IACnE,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;IACzB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,sIAAsI;IACtI,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAa,EAAY,EAAE;QACxD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC;QACjC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,MAAM;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;iBACnE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,GAAG,CAAE,GAA0C,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;iBAC7J,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;gBAAE,GAAG,CAAE,GAA0C,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxN,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,MAAc,EAAE,IAA+B,EAAE,EAAE,CAAC,CAAC;QAC3F,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAa,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAyC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK;KAC/L,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,sHAAsH;QACtH,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QACjG,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,MAAM,iBAAiB,MAAM,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;QAC9K,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,SAAS;QACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAA6B,CAAC;YACvD,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAsB,CAAC;YACxC,MAAM,CAAC,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1N,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,aAAa,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnM,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM;YAAE,MAAM,EAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,0FAA0F;QAC1F,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACjI,CAAC;IAED,kIAAkI;IAClI,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,EAAE,CAAU,EAAoB,EAAE;QACxD,IAAI,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAE,EAAE,CAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACvK,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,EAAE,EAAE,CAAC,CAAC,GAAG;QACT,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KACjH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACnF,6EAA6E;IAC7E,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjJ,IAAI,EAAE;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,+CAA+C;YACpI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAyC,CAAC;YACnF,+HAA+H;YAC/H,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,0GAA0G;AAC1G,MAAM,YAAY,GAAG,CAAC,IAAY,EAAS,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrH,gFAAgF;AAChF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;AAiB9G,yFAAyF;AACzF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;AAEtF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,CAAU,EAAE,EAAS,EAAE,OAA8E,EAAE;IAChJ,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAClI,MAAM,GAAG,GAAG,eAAe,CAAC,CAAE,CAAC,GAAG,CAAC,UAAU,CAAM,CAAC;IACpD,MAAM,IAAI,GAAQ,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,MAAM,MAAM,CAAC,6EAA6E,CAAC,CAAC;IAC7H,MAAM,OAAO,GAA2B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QACzE,2FAA2F;QAC3F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjO,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,sCAAsC,IAAI,CAAC,QAAQ,wDAAwD,CAAC,CAAC;QAC3J,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAAE,MAAM,MAAM,CAAC,mDAAmD,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,OAAmB,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,kGAAkG;QAClG,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChH,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,wEAAwE;IACxE,MAAM,IAAI,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC;IAC7D,MAAM,UAAU,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,8HAA8H;IAC9H,MAAM,KAAK,GAAM,GAAG,CAAC,UAAU;QAC7B,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE;QACxD,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IAC9I,MAAM,IAAI,GAAG,CAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,CAAC,KAAc,EAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxG,MAAM,GAAG,GAAG,CAAC,CAAS,EAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAI,EAAE,CAA4B,EAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,qHAAqH;QACrH,MAAM,IAAI,GAAG,CAAC,CAAI,EAAE,CAAS,EAAiB,EAAE;YAC9C,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7G,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvH,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1H,CAAC;IACD,qFAAqF;IACrF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;IAClC,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACzK,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3L,CAAC;IACD,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,KAAK,GAAM,EAAE,UAAU,EAAE;YAC7B,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7J,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACjG,WAAW,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3G,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAChL,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,EAAE,YAAY;SAAE,EAAE,CAAC;IAC1H,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACxH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;QAAE,MAAM,MAAM,CAAC,sCAAsC,IAAI,CAAC,QAAQ,iEAAiE,CAAC,CAAC;IACpL,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClH,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/G,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/core/sql/run.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export declare class SqliteStoreExecutor implements StoreExecutor {
5
5
  private readonly driver;
6
6
  readonly maxBindings: number;
7
7
  constructor(driver: DatabaseDriver, maxBindings?: number);
8
+ /** The printed form of an IR, once: a sealed plan's compiled statements are the same objects on every request (see PgStoreExecutor). */
9
+ private readonly printed;
8
10
  private prepared;
9
11
  select(statement: Statement): Promise<readonly StoreRow[]>;
10
12
  apply(batch: readonly Statement[]): ReturnType<StoreExecutor["apply"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/d1/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhE,KAAK,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AA0DxD,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAkB,QAAQ,CAAC,WAAW;gBAA5C,MAAM,EAAE,cAAc,EAAW,WAAW,SAAM;IAE/E,OAAO,CAAC,QAAQ;IAKV,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC;IAK1D,KAAK,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;CAa7E"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/d1/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhE,KAAK,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AA0DxD,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAkB,QAAQ,CAAC,WAAW;gBAA5C,MAAM,EAAE,cAAc,EAAW,WAAW,SAAM;IAE/E,wIAAwI;IACxI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD,OAAO,CAAC,QAAQ;IAOV,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC;IAK1D,KAAK,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;CAa7E"}
@@ -64,10 +64,15 @@ export class SqliteStoreExecutor {
64
64
  this.driver = driver;
65
65
  this.maxBindings = maxBindings;
66
66
  }
67
+ /** The printed form of an IR, once: a sealed plan's compiled statements are the same objects on every request (see PgStoreExecutor). */
68
+ printed = new WeakMap();
67
69
  prepared(s) {
68
70
  if (s.binds.length > this.maxBindings)
69
71
  throw fail("INPUT_VALIDATION_FAILED", `a statement binds ${s.binds.length} values; the limit is ${this.maxBindings}`);
70
- return { sql: print(s.ir), binds: s.binds };
72
+ let sql = this.printed.get(s.ir);
73
+ if (sql === undefined)
74
+ this.printed.set(s.ir, (sql = print(s.ir)));
75
+ return { sql, binds: s.binds };
71
76
  }
72
77
  async select(statement) {
73
78
  const [res] = await this.driver.batch([this.prepared(statement)]).catch(mapError("select"));
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/d1/executor.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAG9F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,MAAM,IAAI,GAAG,CAAC,IAAwB,EAAE,OAAe,EAAE,QAAiC,EAAE,EAAE,CAC5F,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjI,SAAS,QAAQ,CAAC,IAAwB,EAAE,SAA0C,EAAE;IACtF,OAAO,CAAC,CAAU,EAAS,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,EAAmB;IACtC,MAAM,IAAI,GAAI,EAA0D,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;IACnE,OAAO,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,mHAAmH;AACnH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACtD,MAAM,SAAS,GAAG,iDAAiD,CAAC;AAEpE;;;;GAIG;AACH,SAAS,YAAY,CAAC,CAAU,EAAE,OAAe;IAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAA2E,CAAC;IAC3H,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9I,MAAM,IAAI,GAAG,GAAG,OAAO,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IACxG,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACnF,CAAC;AAED,SAAS,MAAM,CAAC,CAAU,EAAE,IAAwB,EAAE,SAA0C,EAAE;IAChG,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,EAAE;QAAE,MAAM,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,iEAAiE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpK,qHAAqH;IACrH,gHAAgH;IAChH,MAAM,KAAK,GAAG,gDAAgD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,KAAK;QAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,yCAAyC,CAAC,CAAC;IAC3I,oFAAoF;IACpF,MAAM,MAAM,GAAG,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,6HAA6H;QAC7H,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,CAAC,UAAU,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrJ,CAAC;IACD,IAAI,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,6DAA6D,CAAC,CAAC;IAC5J,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,0EAA0E,CAAC,CAAC;IAClK,qGAAqG;IACrG,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,qCAAqC,CAAC,CAAC;IACzH,kIAAkI;IAClI,MAAM,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,0EAA0E,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAC5M,CAAC;AAED,MAAM,OAAO,mBAAmB;IACD;IAAiC;IAA9D,YAA6B,MAAsB,EAAW,cAAc,GAAG;QAAlD,WAAM,GAAN,MAAM,CAAgB;QAAW,gBAAW,GAAX,WAAW,CAAM;IAAG,CAAC;IAE3E,QAAQ,CAAC,CAAY;QAC3B,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,MAAM,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7J,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAoB;QAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,OAAO,GAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA2B;QACrC,MAAM,IAAI,GAAmB,EAAE,CAAC;QAChC,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,gGAAgG;YAChG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,8CAA8C,CAAC,iBAAiB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACrI,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5G,CAAC;CACF"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/d1/executor.ts"],"names":[],"mappings":"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"}