@simplysm/orm-common 13.0.100 → 14.0.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.
Files changed (238) hide show
  1. package/dist/create-db-context.d.ts +10 -10
  2. package/dist/create-db-context.js +312 -276
  3. package/dist/create-db-context.js.map +1 -6
  4. package/dist/ddl/column-ddl.d.ts +4 -4
  5. package/dist/ddl/column-ddl.js +41 -35
  6. package/dist/ddl/column-ddl.js.map +1 -6
  7. package/dist/ddl/initialize.d.ts +17 -17
  8. package/dist/ddl/initialize.js +200 -142
  9. package/dist/ddl/initialize.js.map +1 -6
  10. package/dist/ddl/relation-ddl.d.ts +6 -6
  11. package/dist/ddl/relation-ddl.js +55 -48
  12. package/dist/ddl/relation-ddl.js.map +1 -6
  13. package/dist/ddl/schema-ddl.d.ts +4 -4
  14. package/dist/ddl/schema-ddl.js +21 -15
  15. package/dist/ddl/schema-ddl.js.map +1 -6
  16. package/dist/ddl/table-ddl.d.ts +20 -20
  17. package/dist/ddl/table-ddl.js +139 -93
  18. package/dist/ddl/table-ddl.js.map +1 -6
  19. package/dist/define-db-context.js +10 -13
  20. package/dist/define-db-context.js.map +1 -6
  21. package/dist/errors/db-transaction-error.d.ts +15 -15
  22. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  23. package/dist/errors/db-transaction-error.js +53 -19
  24. package/dist/errors/db-transaction-error.js.map +1 -6
  25. package/dist/exec/executable.d.ts +23 -23
  26. package/dist/exec/executable.js +94 -40
  27. package/dist/exec/executable.js.map +1 -6
  28. package/dist/exec/queryable.d.ts +97 -97
  29. package/dist/exec/queryable.js +1310 -1204
  30. package/dist/exec/queryable.js.map +1 -6
  31. package/dist/exec/search-parser.d.ts +31 -31
  32. package/dist/exec/search-parser.d.ts.map +1 -1
  33. package/dist/exec/search-parser.js +158 -59
  34. package/dist/exec/search-parser.js.map +1 -6
  35. package/dist/expr/expr-unit.d.ts +4 -4
  36. package/dist/expr/expr-unit.js +24 -18
  37. package/dist/expr/expr-unit.js.map +1 -6
  38. package/dist/expr/expr.d.ts +6 -6
  39. package/dist/expr/expr.js +1872 -1844
  40. package/dist/expr/expr.js.map +1 -6
  41. package/dist/index.js +23 -1
  42. package/dist/index.js.map +1 -6
  43. package/dist/models/system-migration.js +7 -7
  44. package/dist/models/system-migration.js.map +1 -6
  45. package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
  46. package/dist/query-builder/base/expr-renderer-base.js +27 -21
  47. package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
  48. package/dist/query-builder/base/query-builder-base.d.ts +21 -21
  49. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  50. package/dist/query-builder/base/query-builder-base.js +90 -80
  51. package/dist/query-builder/base/query-builder-base.js.map +1 -6
  52. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  53. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  54. package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
  55. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
  56. package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
  57. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
  58. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  59. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  60. package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
  61. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
  62. package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
  63. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
  64. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  65. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  66. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
  67. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
  68. package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
  69. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
  70. package/dist/query-builder/query-builder.d.ts +1 -1
  71. package/dist/query-builder/query-builder.js +13 -13
  72. package/dist/query-builder/query-builder.js.map +1 -6
  73. package/dist/schema/factory/column-builder.d.ts +84 -84
  74. package/dist/schema/factory/column-builder.js +248 -185
  75. package/dist/schema/factory/column-builder.js.map +1 -6
  76. package/dist/schema/factory/index-builder.d.ts +38 -38
  77. package/dist/schema/factory/index-builder.js +144 -85
  78. package/dist/schema/factory/index-builder.js.map +1 -6
  79. package/dist/schema/factory/relation-builder.d.ts +91 -91
  80. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  81. package/dist/schema/factory/relation-builder.js +274 -136
  82. package/dist/schema/factory/relation-builder.js.map +1 -6
  83. package/dist/schema/procedure-builder.d.ts +51 -51
  84. package/dist/schema/procedure-builder.d.ts.map +1 -1
  85. package/dist/schema/procedure-builder.js +205 -131
  86. package/dist/schema/procedure-builder.js.map +1 -6
  87. package/dist/schema/table-builder.d.ts +55 -55
  88. package/dist/schema/table-builder.d.ts.map +1 -1
  89. package/dist/schema/table-builder.js +274 -205
  90. package/dist/schema/table-builder.js.map +1 -6
  91. package/dist/schema/view-builder.d.ts +44 -44
  92. package/dist/schema/view-builder.d.ts.map +1 -1
  93. package/dist/schema/view-builder.js +189 -116
  94. package/dist/schema/view-builder.js.map +1 -6
  95. package/dist/types/column.js +60 -30
  96. package/dist/types/column.js.map +1 -6
  97. package/dist/types/db-context-def.d.ts +9 -9
  98. package/dist/types/db-context-def.js +2 -1
  99. package/dist/types/db-context-def.js.map +1 -6
  100. package/dist/types/db.d.ts +47 -47
  101. package/dist/types/db.js +15 -5
  102. package/dist/types/db.js.map +1 -6
  103. package/dist/types/expr.d.ts +81 -81
  104. package/dist/types/expr.d.ts.map +1 -1
  105. package/dist/types/expr.js +3 -1
  106. package/dist/types/expr.js.map +1 -6
  107. package/dist/types/query-def.d.ts +46 -46
  108. package/dist/types/query-def.d.ts.map +1 -1
  109. package/dist/types/query-def.js +31 -24
  110. package/dist/types/query-def.js.map +1 -6
  111. package/dist/utils/result-parser.js +362 -221
  112. package/dist/utils/result-parser.js.map +1 -6
  113. package/package.json +5 -7
  114. package/src/create-db-context.ts +31 -31
  115. package/src/ddl/column-ddl.ts +4 -4
  116. package/src/ddl/initialize.ts +38 -38
  117. package/src/ddl/relation-ddl.ts +6 -6
  118. package/src/ddl/schema-ddl.ts +4 -4
  119. package/src/ddl/table-ddl.ts +24 -24
  120. package/src/errors/db-transaction-error.ts +13 -13
  121. package/src/exec/executable.ts +25 -25
  122. package/src/exec/queryable.ts +134 -134
  123. package/src/exec/search-parser.ts +50 -50
  124. package/src/expr/expr-unit.ts +4 -4
  125. package/src/expr/expr.ts +13 -13
  126. package/src/index.ts +8 -8
  127. package/src/models/system-migration.ts +1 -1
  128. package/src/query-builder/base/expr-renderer-base.ts +21 -21
  129. package/src/query-builder/base/query-builder-base.ts +33 -33
  130. package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
  131. package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
  132. package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
  133. package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
  134. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
  135. package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
  136. package/src/query-builder/query-builder.ts +1 -1
  137. package/src/schema/factory/column-builder.ts +86 -86
  138. package/src/schema/factory/index-builder.ts +38 -38
  139. package/src/schema/factory/relation-builder.ts +93 -93
  140. package/src/schema/procedure-builder.ts +52 -52
  141. package/src/schema/table-builder.ts +56 -56
  142. package/src/schema/view-builder.ts +45 -45
  143. package/src/types/column.ts +1 -1
  144. package/src/types/db-context-def.ts +15 -15
  145. package/src/types/db.ts +50 -50
  146. package/src/types/expr.ts +103 -103
  147. package/src/types/query-def.ts +50 -50
  148. package/src/utils/result-parser.ts +39 -39
  149. package/README.md +0 -192
  150. package/docs/core.md +0 -234
  151. package/docs/expression.md +0 -234
  152. package/docs/query-builder.md +0 -93
  153. package/docs/queryable.md +0 -198
  154. package/docs/schema-builders.md +0 -463
  155. package/docs/types.md +0 -445
  156. package/docs/utilities.md +0 -27
  157. package/tests/db-context/create-db-context.spec.ts +0 -193
  158. package/tests/db-context/define-db-context.spec.ts +0 -17
  159. package/tests/ddl/basic.expected.ts +0 -341
  160. package/tests/ddl/basic.spec.ts +0 -557
  161. package/tests/ddl/column-builder.expected.ts +0 -310
  162. package/tests/ddl/column-builder.spec.ts +0 -525
  163. package/tests/ddl/index-builder.expected.ts +0 -38
  164. package/tests/ddl/index-builder.spec.ts +0 -148
  165. package/tests/ddl/procedure-builder.expected.ts +0 -52
  166. package/tests/ddl/procedure-builder.spec.ts +0 -128
  167. package/tests/ddl/relation-builder.expected.ts +0 -36
  168. package/tests/ddl/relation-builder.spec.ts +0 -171
  169. package/tests/ddl/table-builder.expected.ts +0 -113
  170. package/tests/ddl/table-builder.spec.ts +0 -399
  171. package/tests/ddl/view-builder.expected.ts +0 -38
  172. package/tests/ddl/view-builder.spec.ts +0 -116
  173. package/tests/dml/delete.expected.ts +0 -96
  174. package/tests/dml/delete.spec.ts +0 -127
  175. package/tests/dml/insert.expected.ts +0 -192
  176. package/tests/dml/insert.spec.ts +0 -210
  177. package/tests/dml/update.expected.ts +0 -176
  178. package/tests/dml/update.spec.ts +0 -222
  179. package/tests/dml/upsert.expected.ts +0 -215
  180. package/tests/dml/upsert.spec.ts +0 -190
  181. package/tests/errors/queryable-errors.spec.ts +0 -126
  182. package/tests/escape.spec.ts +0 -59
  183. package/tests/examples/pivot.expected.ts +0 -211
  184. package/tests/examples/pivot.spec.ts +0 -200
  185. package/tests/examples/sampling.expected.ts +0 -69
  186. package/tests/examples/sampling.spec.ts +0 -42
  187. package/tests/examples/unpivot.expected.ts +0 -120
  188. package/tests/examples/unpivot.spec.ts +0 -161
  189. package/tests/exec/search-parser.spec.ts +0 -267
  190. package/tests/executable/basic.expected.ts +0 -18
  191. package/tests/executable/basic.spec.ts +0 -54
  192. package/tests/expr/comparison.expected.ts +0 -282
  193. package/tests/expr/comparison.spec.ts +0 -334
  194. package/tests/expr/conditional.expected.ts +0 -134
  195. package/tests/expr/conditional.spec.ts +0 -249
  196. package/tests/expr/date.expected.ts +0 -332
  197. package/tests/expr/date.spec.ts +0 -459
  198. package/tests/expr/math.expected.ts +0 -62
  199. package/tests/expr/math.spec.ts +0 -59
  200. package/tests/expr/string.expected.ts +0 -218
  201. package/tests/expr/string.spec.ts +0 -300
  202. package/tests/expr/utility.expected.ts +0 -147
  203. package/tests/expr/utility.spec.ts +0 -155
  204. package/tests/select/basic.expected.ts +0 -322
  205. package/tests/select/basic.spec.ts +0 -433
  206. package/tests/select/filter.expected.ts +0 -357
  207. package/tests/select/filter.spec.ts +0 -954
  208. package/tests/select/group.expected.ts +0 -169
  209. package/tests/select/group.spec.ts +0 -159
  210. package/tests/select/join.expected.ts +0 -582
  211. package/tests/select/join.spec.ts +0 -692
  212. package/tests/select/order.expected.ts +0 -150
  213. package/tests/select/order.spec.ts +0 -140
  214. package/tests/select/recursive-cte.expected.ts +0 -244
  215. package/tests/select/recursive-cte.spec.ts +0 -514
  216. package/tests/select/result-meta.spec.ts +0 -270
  217. package/tests/select/subquery.expected.ts +0 -363
  218. package/tests/select/subquery.spec.ts +0 -441
  219. package/tests/select/view.expected.ts +0 -155
  220. package/tests/select/view.spec.ts +0 -235
  221. package/tests/select/window.expected.ts +0 -345
  222. package/tests/select/window.spec.ts +0 -433
  223. package/tests/setup/MockExecutor.ts +0 -18
  224. package/tests/setup/TestDbContext.ts +0 -59
  225. package/tests/setup/models/Company.ts +0 -13
  226. package/tests/setup/models/Employee.ts +0 -10
  227. package/tests/setup/models/MonthlySales.ts +0 -11
  228. package/tests/setup/models/Post.ts +0 -16
  229. package/tests/setup/models/Sales.ts +0 -10
  230. package/tests/setup/models/User.ts +0 -19
  231. package/tests/setup/procedure/GetAllUsers.ts +0 -9
  232. package/tests/setup/procedure/GetUserById.ts +0 -12
  233. package/tests/setup/test-utils.ts +0 -72
  234. package/tests/setup/views/ActiveUsers.ts +0 -8
  235. package/tests/setup/views/UserSummary.ts +0 -11
  236. package/tests/types/nullable-queryable-record.spec.ts +0 -97
  237. package/tests/utils/result-parser-perf.spec.ts +0 -143
  238. package/tests/utils/result-parser.spec.ts +0 -667
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/exec/queryable.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
1
+ {"version":3,"file":"queryable.js","sourceRoot":"","sources":["..\\..\\src\\exec\\queryable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAerD,OAAO,EAGN,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC;;;;GAIG;AACH,MAAM,aAAa;IAEE;IACA;IAFnB,YACmB,GAAkB,EAClB,UAAkB;QADlB,QAAG,GAAH,GAAG,CAAe;QAClB,eAAU,GAAV,UAAU,CAAQ;IAClC,CAAC;IAEJ;;;;;OAKG;IACH,IAAI,CAAmC,KAAQ;QAC7C,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAuB,OAA2B;QACtD,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,EAAE,EAAE,IAAI,CAAC,UAAU;YACnB,OAAO;YACP,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAA2B,GAAG,OAAgC;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACzD,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,EAAE,qBAAqB;YACpC,EAAE,EAAE,IAAI,CAAC,UAAU;YACnB,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,kBAAkB;IAEH;IACA;IAFnB,YACmB,OAAkC,EAClC,QAAgB;QADhB,YAAO,GAAP,OAAO,CAA2B;QAClC,aAAQ,GAAR,QAAQ,CAAQ;IAChC,CAAC;IAEJ;;;;;OAKG;IACH,IAAI,CACF,KAAQ;QAER,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QAE1C,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CACjE,MAAM,EACN,GAAG,EAAE,CACH,IAAI,SAAS,CAAmB;YAC9B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;YACxE,eAAe,EAAE,KAAK;SACvB,CAAC,CACE,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,OAA2B;QAE3B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QAE1C,OAAO,IAAI,SAAS,CAAW;YAC7B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,OAAO;YACP,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC,IAAI,CACL,MAAM,EACN,GAAG,EAAE,CACH,IAAI,SAAS,CAAmB;YAC9B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;YACxE,eAAe,EAAE,KAAK;SACvB,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CACH,GAAG,OAAgC;QAEnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACzD,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QAE1C,OAAO,IAAI,SAAS,CAAa;YAC/B,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,EAAE,qBAAqB;YACpC,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;SACtE,CAAC,CAAC,IAAI,CACL,MAAM,EACN,GAAG,EAAE,CACH,IAAI,SAAS,CAAC;YACZ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;YACxE,eAAe,EAAE,KAAK;SACvB,CAAC,CACE,CAAC;IACX,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,SAAS;IAIC;IAArB,YAAqB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAEnD,iEAAiE;IAEjE;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,EAA0C;QAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aAC3E,CAAQ,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,IAAI,SAAS,CAAa;YAC/B,GAAG,IAAI,CAAC,IAAI;YACZ,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,IAAI;SACtB,CAAQ,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ;QACN,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,sDAAsD;IAEtD;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,KAAa;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,GAAG,EAAE,KAAK;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,IAAY,EAAE,IAAY;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACtE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,6BAA6B,EAAE;gBACrD,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,kDAAkD;IAElD;;;;;;;;;;;;;OAaG;IACH,OAAO,CACL,EAAkE,EAClE,OAAwB;QAExB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,8CAA8C;IAE9C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAA+D;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CACJ,EAAuE,EACvE,UAAkB;QAElB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3E,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,oCAAoC;QACpC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAClD,CAAC;gBACF,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,4CAA4C;QAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY;IAEZ,yDAAyD;IAEzD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,EAAoE;QAEpE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,IAAI,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,SAA+D;QACpE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,yDAAyD;IAEzD;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CACF,EAAK,EACL,EAA0E;QAE1E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QAE1C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE1D,qEAAqE;QACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,oCAAoC;QACpC,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE5E,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;gBACpB,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC;aACI;YACzB,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SAC9E,CAAQ,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CACR,EAAK,EACL,EAA0E;QAK1E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QAE1C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE1D,qEAAqE;QACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,oCAAoC;QACpC,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE5E,OAAO,IAAI,SAAS,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;gBACpB,CAAC,EAAE,CAAC,EAAE,WAAW;aACM;YACzB,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7E,CAAQ,CAAC;IACZ,CAAC;IAED,YAAY;IAEZ,8CAA8C;IAE9C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,EAA8C;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,EAAS,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAEO,QAAQ,CAAC,aAAqB;QACpC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,IAAI,MAAM,GAAwB,IAAI,CAAC;QACvC,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,YAAY,YAAY,YAAY,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9B,uBAAuB;YACvB,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;YACzF,IAAI,YAAY,EAAE,CAAC;gBACjB,uCAAuC;gBACvC,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtD,IAAI,YAAY,YAAY,YAAY,EAAE,CAAC;oBACzC,YAAY,GAAG,YAAY,CAAC;gBAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,OAAO,YAAY,kBAAkB,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,WAAW,YAAY,iBAAiB,IAAI,WAAW,YAAY,kBAAkB,EAAE,CAAC;gBAC1F,yCAAyC;gBACzC,mCAAmC;gBACnC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3C,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEtE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;oBACtE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAEpC,6DAA6D;oBAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACtE,MAAM,OAAO,GAAG,CACd,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAC/B,CAAC;oBAC1B,MAAM,UAAU,GAAoB,EAAE,CAAC;oBAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAA8B,CAAC;wBAE/E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;oBAED,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,YAAY,GAAG,WAAW,CAAC;YAC7B,CAAC;iBAAM,IACL,WAAW,YAAY,uBAAuB;gBAC9C,WAAW,YAAY,wBAAwB,EAC/C,CAAC;gBACD,0DAA0D;gBAC1D,mCAAmC;gBACnC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,QAAQ,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,YAAY,kBAAkB,CAAC,EAAE,CAAC;oBAC1F,MAAM,IAAI,KAAK,CACb,IAAI,YAAY,eAAe,SAAS,QAAQ;wBAC9C,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,0CAA0C,CACrE,CAAC;gBACJ,CAAC;gBACD,MAAM,WAAW,GAAG,WAAW,CAAC;gBAChC,MAAM,QAAQ,GAAY,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;gBAE7D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxC,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAEjE,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,UAAuC,EAAE,EAAE;oBACnF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAEpC,6DAA6D;oBAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACtE,MAAM,OAAO,GAAG,CACd,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAC/B,CAAC;oBAC1B,MAAM,UAAU,GAAoB,EAAE,CAAC;oBAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAA8B,CAAC;wBACjE,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAA8B,CAAC;wBAEzE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;oBAED,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC,CAAC;gBAEF,MAAM,GAAG,QAAQ;oBACf,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;oBACpD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEjD,YAAY,GAAG,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,MAAiC,CAAC;IAC3C,CAAC;IAED,YAAY;IAEZ,uDAAuD;IAEvD;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI;QACF,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,qBAAqB,CAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CACV,GAAG,OAAgC;QAEnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACzD,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,EAAE,qBAAqB;YACpC,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,0DAA0D;IAE1D;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CACP,EAA4D;QAE5D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aAC3E,CAAC,CAAC;QACL,CAAC;QACD,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QAE5C,mDAAmD;QACnD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpD,qEAAqE;QACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAE3B,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YACnE,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAW,EAAE,0CAA0C;gBAC7D,SAAS,EAAE,QAAQ;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,uDAAuD;IAEvD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAC1B,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CACvB,CAAC;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CAAC,8BAA8B,EAAE;gBACtD,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;gBAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,YAAY,YAAY,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,KAAK,CAAC,EAAgE;QAC1E,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,OAAO,GAAG,EAAE;YAChB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QAEtC,OAAO,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,iBAAiB;QACf,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE;YAC1B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3F,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAClB,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC7C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;iBACxD;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QAMnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,IAAI,YAAY,YAAY,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CACrB,OAAyD,EACzD,MAAc;QAEd,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAElD,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAClD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,KAA0B;QAC/C,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAE7C,MAAM,OAAO,GAAuB;gBAClC,GAAG,SAAS;gBACZ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,aAAwB;QACpC,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,MAAM,KAAK,GAA0C,EAAE,CAAC;QAExD,MAAM,eAAe,GAAG,CAAC,IAA0B,EAAE,MAAc,EAAE,EAAE;YACrE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAEhE,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;oBAC5B,YAAY;oBACZ,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,cAAc;oBACd,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;wBACrC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACnC,sBAAsB;oBACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACpC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAkCD,KAAK,CAAC,MAAM,CACV,OAAgC,EAChC,aAAmB;QAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,UAAU,GAAsC,EAAE,CAAC;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YAE/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAC9C,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAqBD,KAAK,CAAC,iBAAiB,CACrB,MAA6B,EAC7B,aAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,EAC3C,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAwBD,KAAK,CAAC,UAAU,CAGd,WAAmB,EAAE,aAAsB;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,EACzC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,iBAAiB,CACf,OAAgC,EAChC,aAAyD;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2D,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,4CAA4C;QAC5C,MAAM,gBAAgB,GACpB,SAAS,CAAC,SAAS,IAAI,IAAI;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA6B,CAAC,SAAS,CAAC,SAAU,CAAC,KAAK,SAAS,CAAC,CAAC;QAE1F,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,OAAO;YACP,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;YAC/C,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAC1B,MAA6B,EAC7B,aAAyD;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2D,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErE,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,MAAM;YACN,iBAAiB;YACjB,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CACnB,WAAmB,EACnB,aAA0D;QAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC;YACtD,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC5C,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAqCD,KAAK,CAAC,MAAM,CACV,SAAwF,EACxF,aAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAClD,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAyBD,KAAK,CAAC,MAAM,CACV,aAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EACvC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,iBAAiB,CACf,SAAwF,EACxF,aAAyD;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2D,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9D,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,aAAyD;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2D,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAsDD,KAAK,CAAC,MAAM,CAIV,kBAEmF,EACnF,uBAEO,EACP,aAAmB;QAEnB,MAAM,cAAc,GAAG,kBAAyD,CAAC;QAEjF,MAAM,cAAc,GAAG,CACrB,uBAAuB,YAAY,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB,CACvB,CAAC;QAEtE,MAAM,iBAAiB,GACrB,uBAAuB,YAAY,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAExF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAC5C,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,EAC3E,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACxE,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,iBAAiB,CACf,cAAmD,EACnD,cAAgF,EAChF,aAAyD;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2D,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAExE,kBAAkB;QAClB,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,YAAY,GAAyB,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,iDAAiD;QACjD,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACjF,CAAC;QAEF,OAAO,GAAG,CAAC,cAAc,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,iBAAiB;YACjB,YAAY;YACZ,YAAY;YACZ,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,0CAA0C;IAE1C;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,YAAY,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,YAAY;IAEZ,0CAA0C;IAElC,gBAAgB;QAItB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,IAAI,YAAY,YAAY,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,SAA6B,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAA8B,CAAC,EAAE,CAAC;gBAClF,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC3B,SAAS,GAAG,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;gBACtC,SAAS;aACV,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;CAGF;AAED,gDAAgD;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAgB,EAChB,WAAmC;IAEnC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IACvC,IAAI,EAAE,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,CAAC,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,SAAS,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,CAC/G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAC5B,OAAiC,EACjC,KAAa,EACb,YAAoB,EAAE;IAEtB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAExD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG;oBACZ,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAgC,EAAE,KAAK,EAAE,OAAO,CAAC;iBAC/E,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAoC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAkC,CAAC;AAC5C,CAAC;AAgHD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAWnC;;;GAGG;AACH,SAAS,eAAe,CAAU,OAAiB,EAAE;IACnD,OAAO,IAAI,KAAK,CAAC,EAAwB,EAAE;QACzC,GAAG,CAAC,CAAC,EAAE,IAAqB;YAC1B,IAAI,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC/C,OAAO,eAAe,CAAU,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,YAAY;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,SAAS,CACvB,EAAiB,EACjB,WAAqB,EACrB,EAAW;IAEX,OAAO,GAAG,EAAE;QACV,0CAA0C;QAC1C,8BAA8B;QAC9B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QAExC,yBAAyB;QACzB,IAAI,WAAW,YAAY,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5E,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,OAA8B,CAAC;YAEnE,OAAO,IAAI,SAAS,CAAC;gBACnB,EAAE;gBACF,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;oBAChD,GAAG;oBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC;iBACzC,CAAC,CACH;aACF,CAAQ,CAAC;QACZ,CAAC;QAED,uBAAuB;QACvB,IAAI,WAAW,YAAY,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE3C,8BAA8B;YAC9B,OAAO,IAAI,SAAS,CAAC;gBACnB,EAAE;gBACF,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aAC7D,CAAQ,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED,YAAY"}
@@ -1,47 +1,47 @@
1
1
  /**
2
- * Search query parsing result (LIKE pattern)
2
+ * 검색 쿼리 파싱 결과 (LIKE 패턴)
3
3
  */
4
4
  export interface ParsedSearchQuery {
5
- /** General search terms (OR condition) - LIKE pattern */
5
+ /** 일반 검색어 (OR 조건) - LIKE 패턴 */
6
6
  or: string[];
7
- /** Required search terms (AND condition, + prefix or quotes) - LIKE pattern */
7
+ /** 필수 검색어 (AND 조건, + 접두사 또는 따옴표) - LIKE 패턴 */
8
8
  must: string[];
9
- /** Excluded search terms (NOT condition, - prefix) - LIKE pattern */
9
+ /** 제외 검색어 (NOT 조건, - 접두사) - LIKE 패턴 */
10
10
  not: string[];
11
11
  }
12
12
  /**
13
- * Parse search query string and convert to SQL LIKE pattern.
13
+ * 검색 쿼리 문자열을 파싱하여 SQL LIKE 패턴으로 변환한다.
14
14
  *
15
- * ## Search Syntax
15
+ * ## 검색 구문
16
16
  *
17
- * | Syntax | Meaning | Example |
17
+ * | 구문 | 의미 | 예시 |
18
18
  * |--------|---------|---------|
19
- * | `term1 term2` | OR (one of them) | `apple banana` |
20
- * | `+term` | Required (AND) | `+apple +banana` |
21
- * | `-term` | Excluded (NOT) | `apple -banana` |
22
- * | `"exact phrase"` | Exact match (required) | `"delicious fruit"` |
23
- * | `*` | Wildcard | `app*` → `app%` |
19
+ * | `term1 term2` | OR (하나 이상 일치) | `apple banana` |
20
+ * | `+term` | 필수 포함 (AND) | `+apple +banana` |
21
+ * | `-term` | 제외 (NOT) | `apple -banana` |
22
+ * | `"exact phrase"` | 정확한 구문 일치 (필수) | `"맛있는 과일"` |
23
+ * | `*` | 와일드카드 | `app*` → `app%` |
24
24
  *
25
- * ## Escape Sequences
25
+ * ## 이스케이프 시퀀스
26
26
  *
27
- * | Input | Meaning |
27
+ * | 입력 | 의미 |
28
28
  * |-------|---------|
29
- * | `\\` | Literal `\` |
30
- * | `\*` | Literal `*` |
31
- * | `\%` | Literal `%` |
32
- * | `\"` | Literal `"` |
33
- * | `\+` | Literal `+` |
34
- * | `\-` | Literal `-` |
29
+ * | `\\` | 리터럴 `\` |
30
+ * | `\*` | 리터럴 `*` |
31
+ * | `\%` | 리터럴 `%` |
32
+ * | `\"` | 리터럴 `"` |
33
+ * | `\+` | 리터럴 `+` |
34
+ * | `\-` | 리터럴 `-` |
35
35
  *
36
- * ## Special Cases
36
+ * ## 특수 케이스
37
37
  *
38
- * - Unclosed quotes (`"text`) are treated as regular text including the quote character.
38
+ * - 닫히지 않은 따옴표(`"text`) 따옴표를 포함한 일반 텍스트로 처리된다.
39
39
  *
40
- * ## Examples
40
+ * ## 예시
41
41
  *
42
42
  * ```typescript
43
43
  * parseSearchQuery('apple "delicious fruit" -banana +strawberry')
44
- * // Result:
44
+ * // 결과:
45
45
  * // {
46
46
  * // or: ["%apple%"],
47
47
  * // must: ["%delicious fruit%", "%strawberry%"],
@@ -49,24 +49,24 @@ export interface ParsedSearchQuery {
49
49
  * // }
50
50
  *
51
51
  * parseSearchQuery('app* test')
52
- * // Result:
52
+ * // 결과:
53
53
  * // {
54
- * // or: ["app%", "%test%"], // app* starts with "app", test is substring match
54
+ * // or: ["app%", "%test%"], // app*는 "app"으로 시작, test 부분 문자열 검색
55
55
  * // must: [],
56
56
  * // not: []
57
57
  * // }
58
58
  *
59
- * parseSearchQuery('app\\*test') // escaped *
60
- * // Result:
59
+ * parseSearchQuery('app\\*test') // 이스케이프된 *
60
+ * // 결과:
61
61
  * // {
62
- * // or: ["%app*test%"], // literal *
62
+ * // or: ["%app*test%"], // 리터럴 *
63
63
  * // must: [],
64
64
  * // not: []
65
65
  * // }
66
66
  * ```
67
67
  *
68
- * @param searchText Search query string
69
- * @returns Parsed search query object (LIKE pattern)
68
+ * @param searchText 검색 쿼리 문자열
69
+ * @returns 파싱된 검색 쿼리 객체 (LIKE 패턴)
70
70
  */
71
71
  export declare function parseSearchQuery(searchText: string): ParsedSearchQuery;
72
72
  //# sourceMappingURL=search-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["..\\..\\src\\exec\\search-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,+EAA+E;IAC/E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qEAAqE;IACrE,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAkEtE"}
1
+ {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["..\\..\\src\\exec\\search-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAkEtE"}
@@ -1,66 +1,165 @@
1
+ // 이스케이프 시퀀스를 플레이스홀더로 치환
1
2
  const ESC = {
2
- BACKSLASH: "\0BACKSLASH\0",
3
- ASTERISK: "\0ASTERISK\0",
4
- PERCENT: "\0PERCENT\0",
5
- QUOTE: "\0QUOTE\0",
6
- PLUS: "\0PLUS\0",
7
- MINUS: "\0MINUS\0"
3
+ BACKSLASH: "\x00BACKSLASH\x00",
4
+ ASTERISK: "\x00ASTERISK\x00",
5
+ PERCENT: "\x00PERCENT\x00",
6
+ QUOTE: "\x00QUOTE\x00",
7
+ PLUS: "\x00PLUS\x00",
8
+ MINUS: "\x00MINUS\x00",
8
9
  };
9
- function parseSearchQuery(searchText) {
10
- const result = {
11
- or: [],
12
- must: [],
13
- not: []
14
- };
15
- if (searchText.trim() === "") {
16
- return result;
17
- }
18
- let processed = searchText.replace(/\\\\/g, ESC.BACKSLASH).replace(/\\\*/g, ESC.ASTERISK).replace(/\\%/g, ESC.PERCENT).replace(/\\"/g, ESC.QUOTE).replace(/\\\+/g, ESC.PLUS).replace(/\\-/g, ESC.MINUS);
19
- const quotedRegex = /([+-]?)"([^"]*)"/g;
20
- let match;
21
- while ((match = quotedRegex.exec(processed)) != null) {
22
- const prefix = match[1];
23
- let term = match[2];
24
- if (term.trim() === "") continue;
25
- const pattern = termToLikePattern(term);
26
- if (prefix === "+") {
27
- result.must.push(pattern);
28
- } else if (prefix === "-") {
29
- result.not.push(pattern);
30
- } else {
31
- result.must.push(pattern);
10
+ /**
11
+ * 검색 쿼리 문자열을 파싱하여 SQL LIKE 패턴으로 변환한다.
12
+ *
13
+ * ## 검색 구문
14
+ *
15
+ * | 구문 | 의미 | 예시 |
16
+ * |--------|---------|---------|
17
+ * | `term1 term2` | OR (하나 이상 일치) | `apple banana` |
18
+ * | `+term` | 필수 포함 (AND) | `+apple +banana` |
19
+ * | `-term` | 제외 (NOT) | `apple -banana` |
20
+ * | `"exact phrase"` | 정확한 구문 일치 (필수) | `"맛있는 과일"` |
21
+ * | `*` | 와일드카드 | `app*` → `app%` |
22
+ *
23
+ * ## 이스케이프 시퀀스
24
+ *
25
+ * | 입력 | 의미 |
26
+ * |-------|---------|
27
+ * | `\\` | 리터럴 `\` |
28
+ * | `\*` | 리터럴 `*` |
29
+ * | `\%` | 리터럴 `%` |
30
+ * | `\"` | 리터럴 `"` |
31
+ * | `\+` | 리터럴 `+` |
32
+ * | `\-` | 리터럴 `-` |
33
+ *
34
+ * ## 특수 케이스
35
+ *
36
+ * - 닫히지 않은 따옴표(`"text`)는 따옴표를 포함한 일반 텍스트로 처리된다.
37
+ *
38
+ * ## 예시
39
+ *
40
+ * ```typescript
41
+ * parseSearchQuery('apple "delicious fruit" -banana +strawberry')
42
+ * // 결과:
43
+ * // {
44
+ * // or: ["%apple%"],
45
+ * // must: ["%delicious fruit%", "%strawberry%"],
46
+ * // not: ["%banana%"]
47
+ * // }
48
+ *
49
+ * parseSearchQuery('app* test')
50
+ * // 결과:
51
+ * // {
52
+ * // or: ["app%", "%test%"], // app*는 "app"으로 시작, test는 부분 문자열 검색
53
+ * // must: [],
54
+ * // not: []
55
+ * // }
56
+ *
57
+ * parseSearchQuery('app\\*test') // 이스케이프된 *
58
+ * // 결과:
59
+ * // {
60
+ * // or: ["%app*test%"], // 리터럴 *
61
+ * // must: [],
62
+ * // not: []
63
+ * // }
64
+ * ```
65
+ *
66
+ * @param searchText 검색 쿼리 문자열
67
+ * @returns 파싱된 검색 쿼리 객체 (LIKE 패턴)
68
+ */
69
+ export function parseSearchQuery(searchText) {
70
+ const result = {
71
+ or: [],
72
+ must: [],
73
+ not: [],
74
+ };
75
+ if (searchText.trim() === "") {
76
+ return result;
77
+ }
78
+ let processed = searchText
79
+ .replace(/\\\\/g, ESC.BACKSLASH)
80
+ .replace(/\\\*/g, ESC.ASTERISK)
81
+ .replace(/\\%/g, ESC.PERCENT)
82
+ .replace(/\\"/g, ESC.QUOTE)
83
+ .replace(/\\\+/g, ESC.PLUS)
84
+ .replace(/\\-/g, ESC.MINUS);
85
+ // 따옴표 구간 추출
86
+ const quotedRegex = /([+-]?)"([^"]*)"/g;
87
+ let match;
88
+ while ((match = quotedRegex.exec(processed)) != null) {
89
+ const prefix = match[1];
90
+ let term = match[2];
91
+ if (term.trim() === "")
92
+ continue;
93
+ const pattern = termToLikePattern(term);
94
+ if (prefix === "+") {
95
+ result.must.push(pattern);
96
+ }
97
+ else if (prefix === "-") {
98
+ result.not.push(pattern);
99
+ }
100
+ else {
101
+ // 따옴표 텍스트는 must로 처리 (정확한 일치 = 필수)
102
+ result.must.push(pattern);
103
+ }
32
104
  }
33
- }
34
- processed = processed.replace(/[+-]?"[^"]*"/g, " ");
35
- const tokens = processed.split(/\s+/).filter((t) => t.length > 0);
36
- for (let token of tokens) {
37
- let targetArray = result.or;
38
- if (token.startsWith("+")) {
39
- targetArray = result.must;
40
- token = token.slice(1);
41
- } else if (token.startsWith("-")) {
42
- targetArray = result.not;
43
- token = token.slice(1);
105
+ // 따옴표 구간 제거
106
+ processed = processed.replace(/[+-]?"[^"]*"/g, " ");
107
+ // 공백으로 토큰 분리
108
+ const tokens = processed.split(/\s+/).filter((t) => t.length > 0);
109
+ for (let token of tokens) {
110
+ let targetArray = result.or;
111
+ // + 또는 - 접두사 처리
112
+ if (token.startsWith("+")) {
113
+ targetArray = result.must;
114
+ token = token.slice(1);
115
+ }
116
+ else if (token.startsWith("-")) {
117
+ targetArray = result.not;
118
+ token = token.slice(1);
119
+ }
120
+ if (token.trim() === "")
121
+ continue;
122
+ const pattern = termToLikePattern(token);
123
+ targetArray.push(pattern);
44
124
  }
45
- if (token.trim() === "") continue;
46
- const pattern = termToLikePattern(token);
47
- targetArray.push(pattern);
48
- }
49
- return result;
125
+ return result;
50
126
  }
127
+ /**
128
+ * 검색어를 SQL LIKE 패턴으로 변환 (내부 함수)
129
+ *
130
+ * 와일드카드 규칙:
131
+ * - `apple` (와일드카드 없음) → `%apple%` (부분 문자열 검색, 기본값)
132
+ * - `apple*` → `apple%` (시작 일치)
133
+ * - `*apple` → `%apple` (끝 일치)
134
+ * - `*apple*` → `%apple%` (명시적 부분 문자열)
135
+ * - `a*ple` → `a%ple` (중간 일치)
136
+ */
51
137
  function termToLikePattern(term) {
52
- const WILDCARD = "WILDCARD";
53
- const hasWildcard = term.includes("*");
54
- let pattern = term.replace(/\*/g, WILDCARD);
55
- pattern = pattern.replace(/\\/g, "\\\\").replace(/%/g, "\\%").replace(/_/g, "\\_").replace(/\[/g, "\\[");
56
- pattern = pattern.replaceAll(WILDCARD, "%");
57
- pattern = pattern.replaceAll(ESC.BACKSLASH, "\\\\").replaceAll(ESC.ASTERISK, "*").replaceAll(ESC.PERCENT, "\\%").replaceAll(ESC.QUOTE, '"').replaceAll(ESC.PLUS, "+").replaceAll(ESC.MINUS, "-");
58
- if (hasWildcard) {
59
- return pattern;
60
- }
61
- return `%${pattern}%`;
138
+ // 와일드카드 *를 임시 마커로 변환 (이스케이프된 것은 이미 ESC.ASTERISK로 처리됨)
139
+ const WILDCARD = "\x01WILDCARD\x01";
140
+ const hasWildcard = term.includes("*");
141
+ let pattern = term.replace(/\*/g, WILDCARD);
142
+ // SQL LIKE 특수 문자 이스케이프 (\ → \\, % → \%, _ → \_, [ → \[)
143
+ pattern = pattern
144
+ .replace(/\\/g, "\\\\")
145
+ .replace(/%/g, "\\%")
146
+ .replace(/_/g, "\\_")
147
+ .replace(/\[/g, "\\[");
148
+ // 와일드카드 마커 → % (SQL 와일드카드)로 변환
149
+ pattern = pattern.replaceAll(WILDCARD, "%");
150
+ // 이스케이프 플레이스홀더 복원
151
+ pattern = pattern
152
+ .replaceAll(ESC.BACKSLASH, "\\\\") // \\ → SQL \\
153
+ .replaceAll(ESC.ASTERISK, "*") // \* → literal * (not special in SQL)
154
+ .replaceAll(ESC.PERCENT, "\\%") // \% → SQL \%
155
+ .replaceAll(ESC.QUOTE, '"')
156
+ .replaceAll(ESC.PLUS, "+")
157
+ .replaceAll(ESC.MINUS, "-");
158
+ // 와일드카드가 없으면 양쪽에 % 추가 (기본 부분 문자열 검색)
159
+ // 와일드카드가 있으면 사용자가 지정한 패턴 그대로 사용
160
+ if (hasWildcard) {
161
+ return pattern;
162
+ }
163
+ return `%${pattern}%`;
62
164
  }
63
- export {
64
- parseSearchQuery
65
- };
66
- //# sourceMappingURL=search-parser.js.map
165
+ //# sourceMappingURL=search-parser.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/exec/search-parser.ts"],
4
- "mappings": "AAaA,MAAM,MAAM;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AACT;AA6DO,SAAS,iBAAiB,YAAuC;AACtE,QAAM,SAA4B;AAAA,IAChC,IAAI,CAAC;AAAA,IACL,MAAM,CAAC;AAAA,IACP,KAAK,CAAC;AAAA,EACR;AAEA,MAAI,WAAW,KAAK,MAAM,IAAI;AAC5B,WAAO;AAAA,EACT;AAEA,MAAI,YAAY,WACb,QAAQ,SAAS,IAAI,SAAS,EAC9B,QAAQ,SAAS,IAAI,QAAQ,EAC7B,QAAQ,QAAQ,IAAI,OAAO,EAC3B,QAAQ,QAAQ,IAAI,KAAK,EACzB,QAAQ,SAAS,IAAI,IAAI,EACzB,QAAQ,QAAQ,IAAI,KAAK;AAG5B,QAAM,cAAc;AACpB,MAAI;AAEJ,UAAQ,QAAQ,YAAY,KAAK,SAAS,MAAM,MAAM;AACpD,UAAM,SAAS,MAAM,CAAC;AACtB,QAAI,OAAO,MAAM,CAAC;AAElB,QAAI,KAAK,KAAK,MAAM,GAAI;AAExB,UAAM,UAAU,kBAAkB,IAAI;AAEtC,QAAI,WAAW,KAAK;AAClB,aAAO,KAAK,KAAK,OAAO;AAAA,IAC1B,WAAW,WAAW,KAAK;AACzB,aAAO,IAAI,KAAK,OAAO;AAAA,IACzB,OAAO;AAEL,aAAO,KAAK,KAAK,OAAO;AAAA,IAC1B;AAAA,EACF;AAGA,cAAY,UAAU,QAAQ,iBAAiB,GAAG;AAGlD,QAAM,SAAS,UAAU,MAAM,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;AAEhE,WAAS,SAAS,QAAQ;AACxB,QAAI,cAAc,OAAO;AAGzB,QAAI,MAAM,WAAW,GAAG,GAAG;AACzB,oBAAc,OAAO;AACrB,cAAQ,MAAM,MAAM,CAAC;AAAA,IACvB,WAAW,MAAM,WAAW,GAAG,GAAG;AAChC,oBAAc,OAAO;AACrB,cAAQ,MAAM,MAAM,CAAC;AAAA,IACvB;AAEA,QAAI,MAAM,KAAK,MAAM,GAAI;AAEzB,UAAM,UAAU,kBAAkB,KAAK;AACvC,gBAAY,KAAK,OAAO;AAAA,EAC1B;AAEA,SAAO;AACT;AAYA,SAAS,kBAAkB,MAAsB;AAE/C,QAAM,WAAW;AACjB,QAAM,cAAc,KAAK,SAAS,GAAG;AACrC,MAAI,UAAU,KAAK,QAAQ,OAAO,QAAQ;AAG1C,YAAU,QACP,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,MAAM,KAAK,EACnB,QAAQ,OAAO,KAAK;AAGvB,YAAU,QAAQ,WAAW,UAAU,GAAG;AAG1C,YAAU,QACP,WAAW,IAAI,WAAW,MAAM,EAChC,WAAW,IAAI,UAAU,GAAG,EAC5B,WAAW,IAAI,SAAS,KAAK,EAC7B,WAAW,IAAI,OAAO,GAAG,EACzB,WAAW,IAAI,MAAM,GAAG,EACxB,WAAW,IAAI,OAAO,GAAG;AAI5B,MAAI,aAAa;AACf,WAAO;AAAA,EACT;AAEA,SAAO,IAAI,OAAO;AACpB;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"search-parser.js","sourceRoot":"","sources":["..\\..\\src\\exec\\search-parser.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { ColumnPrimitive, ColumnPrimitiveStr } from "../types/column";
2
2
  import type { Expr, WhereExpr } from "../types/expr";
3
3
  /**
4
- * Type-safe expression wrapper
5
- * Tracks expression return type using TypeScript generics
4
+ * 타입 안전 표현식 래퍼
5
+ * TypeScript 제네릭을 사용하여 표현식 반환 타입을 추적한다
6
6
  */
7
7
  export declare class ExprUnit<TPrimitive extends ColumnPrimitive> {
8
8
  readonly dataType: ColumnPrimitiveStr;
@@ -12,14 +12,14 @@ export declare class ExprUnit<TPrimitive extends ColumnPrimitive> {
12
12
  constructor(dataType: ColumnPrimitiveStr, expr: Expr);
13
13
  }
14
14
  /**
15
- * Expression wrapper for WHERE clause
15
+ * WHERE 절용 표현식 래퍼
16
16
  */
17
17
  export declare class WhereExprUnit {
18
18
  readonly expr: WhereExpr;
19
19
  constructor(expr: WhereExpr);
20
20
  }
21
21
  /**
22
- * Input type that accepts ExprUnit or literal values
22
+ * ExprUnit 또는 리터럴 값을 받는 입력 타입
23
23
  */
24
24
  export type ExprInput<TPrimitive extends ColumnPrimitive> = ExprUnit<TPrimitive> | TPrimitive;
25
25
  //# sourceMappingURL=expr-unit.d.ts.map
@@ -1,20 +1,26 @@
1
- class ExprUnit {
2
- constructor(dataType, expr) {
3
- this.dataType = dataType;
4
- this.expr = expr;
5
- }
6
- $infer;
7
- get n() {
8
- return new ExprUnit(this.dataType, this.expr);
9
- }
1
+ /**
2
+ * 타입 안전 표현식 래퍼
3
+ * TypeScript 제네릭을 사용하여 표현식 반환 타입을 추적한다
4
+ */
5
+ export class ExprUnit {
6
+ dataType;
7
+ expr;
8
+ $infer;
9
+ get n() {
10
+ return new ExprUnit(this.dataType, this.expr);
11
+ }
12
+ constructor(dataType, expr) {
13
+ this.dataType = dataType;
14
+ this.expr = expr;
15
+ }
10
16
  }
11
- class WhereExprUnit {
12
- constructor(expr) {
13
- this.expr = expr;
14
- }
17
+ /**
18
+ * WHERE 절용 표현식 래퍼
19
+ */
20
+ export class WhereExprUnit {
21
+ expr;
22
+ constructor(expr) {
23
+ this.expr = expr;
24
+ }
15
25
  }
16
- export {
17
- ExprUnit,
18
- WhereExprUnit
19
- };
20
- //# sourceMappingURL=expr-unit.js.map
26
+ //# sourceMappingURL=expr-unit.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/expr/expr-unit.ts"],
4
- "mappings": "AAOO,MAAM,SAA6C;AAAA,EAOxD,YACW,UACA,MACT;AAFS;AACA;AAAA,EACR;AAAA,EATM;AAAA,EAET,IAAI,IAAuC;AACzC,WAAO,IAAI,SAAkC,KAAK,UAAU,KAAK,IAAI;AAAA,EACvE;AAMF;AAKO,MAAM,cAAc;AAAA,EACzB,YAAqB,MAAiB;AAAjB;AAAA,EAAkB;AACzC;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"expr-unit.js","sourceRoot":"","sources":["..\\..\\src\\expr\\expr-unit.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAQR;IACA;IARF,MAAM,CAAc;IAE7B,IAAI,CAAC;QACH,OAAO,IAAI,QAAQ,CAA0B,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,YACW,QAA4B,EAC5B,IAAU;QADV,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,SAAI,GAAJ,IAAI,CAAM;IAClB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IACH;IAArB,YAAqB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;IAAG,CAAC;CACzC"}
@@ -10,17 +10,17 @@ interface WinSpecInput {
10
10
  orderBy?: [ExprInput<ColumnPrimitive>, ("ASC" | "DESC")?][];
11
11
  }
12
12
  /**
13
- * Switch expression builder interface
13
+ * Switch expression builder 인터페이스
14
14
  */
15
15
  export interface SwitchExprBuilder<TPrimitive extends ColumnPrimitive> {
16
16
  case(condition: WhereExprUnit, then: ExprInput<TPrimitive>): SwitchExprBuilder<TPrimitive>;
17
17
  default(value: ExprInput<TPrimitive>): ExprUnit<TPrimitive>;
18
18
  }
19
19
  /**
20
- * Dialect-independent SQL expression builder
20
+ * Dialect 독립적 SQL expression builder
21
21
  *
22
- * Generates JSON AST (Expr) instead of SQL strings, which QueryBuilder
23
- * converts to each DBMS (MySQL, MSSQL, PostgreSQL)
22
+ * SQL 문자열 대신 JSON AST(Expr) 생성하며, QueryBuilder
23
+ * DBMS(MySQL, MSSQL, PostgreSQL)로 변환
24
24
  *
25
25
  * @example
26
26
  * ```typescript
@@ -43,8 +43,8 @@ export interface SwitchExprBuilder<TPrimitive extends ColumnPrimitive> {
43
43
  * }))
44
44
  * ```
45
45
  *
46
- * @see {@link Queryable} Query builder class
47
- * @see {@link ExprUnit} Expression wrapper class
46
+ * @see {@link Queryable} Query builder 클래스
47
+ * @see {@link ExprUnit} Expression 래퍼 클래스
48
48
  */
49
49
  export declare const expr: {
50
50
  /**