@morojs/moro 1.6.0 → 1.6.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 (388) hide show
  1. package/README.md +256 -74
  2. package/dist/core/auth/morojs-adapter.js +20 -20
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/file-loader.d.ts +6 -1
  5. package/dist/core/config/file-loader.js +249 -19
  6. package/dist/core/config/file-loader.js.map +1 -1
  7. package/dist/core/config/index.d.ts +12 -41
  8. package/dist/core/config/index.js +54 -65
  9. package/dist/core/config/index.js.map +1 -1
  10. package/dist/core/config/loader.d.ts +7 -0
  11. package/dist/core/config/loader.js +269 -0
  12. package/dist/core/config/loader.js.map +1 -0
  13. package/dist/core/config/schema.d.ts +2 -2
  14. package/dist/core/config/schema.js +44 -52
  15. package/dist/core/config/schema.js.map +1 -1
  16. package/dist/core/config/utils.d.ts +3 -10
  17. package/dist/core/config/utils.js +58 -31
  18. package/dist/core/config/utils.js.map +1 -1
  19. package/dist/core/config/validation.d.ts +17 -0
  20. package/dist/core/config/validation.js +131 -0
  21. package/dist/core/config/validation.js.map +1 -0
  22. package/dist/core/database/adapters/drizzle.d.ts +1 -1
  23. package/dist/core/database/adapters/drizzle.js +11 -18
  24. package/dist/core/database/adapters/drizzle.js.map +1 -1
  25. package/dist/core/database/adapters/index.d.ts +7 -7
  26. package/dist/core/database/adapters/index.js +29 -19
  27. package/dist/core/database/adapters/index.js.map +1 -1
  28. package/dist/core/database/adapters/mongodb.d.ts +1 -13
  29. package/dist/core/database/adapters/mongodb.js +10 -46
  30. package/dist/core/database/adapters/mongodb.js.map +1 -1
  31. package/dist/core/database/adapters/mysql.d.ts +1 -14
  32. package/dist/core/database/adapters/mysql.js +9 -19
  33. package/dist/core/database/adapters/mysql.js.map +1 -1
  34. package/dist/core/database/adapters/postgresql.d.ts +2 -12
  35. package/dist/core/database/adapters/postgresql.js +9 -19
  36. package/dist/core/database/adapters/postgresql.js.map +1 -1
  37. package/dist/core/database/adapters/redis.d.ts +1 -12
  38. package/dist/core/database/adapters/redis.js +13 -48
  39. package/dist/core/database/adapters/redis.js.map +1 -1
  40. package/dist/core/database/adapters/sqlite.d.ts +1 -3
  41. package/dist/core/database/adapters/sqlite.js +8 -19
  42. package/dist/core/database/adapters/sqlite.js.map +1 -1
  43. package/dist/core/database/index.d.ts +2 -2
  44. package/dist/core/database/index.js +18 -2
  45. package/dist/core/database/index.js.map +1 -1
  46. package/dist/core/docs/index.d.ts +9 -9
  47. package/dist/core/docs/index.js +35 -14
  48. package/dist/core/docs/index.js.map +1 -1
  49. package/dist/core/docs/openapi-generator.d.ts +2 -2
  50. package/dist/core/docs/openapi-generator.js +16 -11
  51. package/dist/core/docs/openapi-generator.js.map +1 -1
  52. package/dist/core/docs/schema-to-openapi.d.ts +2 -2
  53. package/dist/core/docs/schema-to-openapi.js +11 -5
  54. package/dist/core/docs/schema-to-openapi.js.map +1 -1
  55. package/dist/core/docs/simple-docs.d.ts +1 -1
  56. package/dist/core/docs/simple-docs.js +9 -4
  57. package/dist/core/docs/simple-docs.js.map +1 -1
  58. package/dist/core/docs/swagger-ui.d.ts +2 -2
  59. package/dist/core/docs/swagger-ui.js +29 -26
  60. package/dist/core/docs/swagger-ui.js.map +1 -1
  61. package/dist/core/docs/zod-to-openapi.js +28 -31
  62. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  63. package/dist/core/events/event-bus.d.ts +1 -1
  64. package/dist/core/events/event-bus.js +10 -6
  65. package/dist/core/events/event-bus.js.map +1 -1
  66. package/dist/core/events/index.d.ts +2 -2
  67. package/dist/core/events/index.js +5 -1
  68. package/dist/core/events/index.js.map +1 -1
  69. package/dist/core/framework.d.ts +12 -19
  70. package/dist/core/framework.js +100 -277
  71. package/dist/core/framework.js.map +1 -1
  72. package/dist/core/http/http-server.d.ts +1 -13
  73. package/dist/core/http/http-server.js +85 -175
  74. package/dist/core/http/http-server.js.map +1 -1
  75. package/dist/core/http/index.d.ts +3 -4
  76. package/dist/core/http/index.js +8 -3
  77. package/dist/core/http/index.js.map +1 -1
  78. package/dist/core/http/router.d.ts +1 -13
  79. package/dist/core/http/router.js +43 -117
  80. package/dist/core/http/router.js.map +1 -1
  81. package/dist/core/logger/filters.d.ts +1 -1
  82. package/dist/core/logger/filters.js +23 -20
  83. package/dist/core/logger/filters.js.map +1 -1
  84. package/dist/core/logger/index.d.ts +3 -3
  85. package/dist/core/logger/index.js +24 -2
  86. package/dist/core/logger/index.js.map +1 -1
  87. package/dist/core/logger/logger.d.ts +14 -30
  88. package/dist/core/logger/logger.js +223 -398
  89. package/dist/core/logger/logger.js.map +1 -1
  90. package/dist/core/logger/outputs.d.ts +1 -1
  91. package/dist/core/logger/outputs.js +17 -8
  92. package/dist/core/logger/outputs.js.map +1 -1
  93. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  94. package/dist/core/middleware/built-in/adapters/cache/file.js +47 -10
  95. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  96. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  97. package/dist/core/middleware/built-in/adapters/cache/index.js +17 -10
  98. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  99. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  100. package/dist/core/middleware/built-in/adapters/cache/memory.js +7 -3
  101. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  102. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -3
  103. package/dist/core/middleware/built-in/adapters/cache/redis.js +9 -11
  104. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  105. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  106. package/dist/core/middleware/built-in/adapters/cdn/azure.js +7 -3
  107. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  108. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  109. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +7 -3
  110. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  111. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -3
  112. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +10 -12
  113. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  114. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  115. package/dist/core/middleware/built-in/adapters/cdn/index.js +17 -10
  116. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
  117. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  118. package/dist/core/middleware/built-in/adapters/index.js +23 -4
  119. package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
  120. package/dist/core/middleware/built-in/auth-helpers.js +22 -11
  121. package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
  122. package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
  123. package/dist/core/middleware/built-in/auth-providers.js +9 -4
  124. package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
  125. package/dist/core/middleware/built-in/auth.d.ts +2 -2
  126. package/dist/core/middleware/built-in/auth.js +26 -93
  127. package/dist/core/middleware/built-in/auth.js.map +1 -1
  128. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  129. package/dist/core/middleware/built-in/cache.js +12 -11
  130. package/dist/core/middleware/built-in/cache.js.map +1 -1
  131. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  132. package/dist/core/middleware/built-in/cdn.js +9 -5
  133. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  134. package/dist/core/middleware/built-in/cookie.d.ts +1 -1
  135. package/dist/core/middleware/built-in/cookie.js +7 -3
  136. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  137. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  138. package/dist/core/middleware/built-in/cors.js +7 -3
  139. package/dist/core/middleware/built-in/cors.js.map +1 -1
  140. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  141. package/dist/core/middleware/built-in/csp.js +8 -5
  142. package/dist/core/middleware/built-in/csp.js.map +1 -1
  143. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  144. package/dist/core/middleware/built-in/csrf.js +8 -5
  145. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  146. package/dist/core/middleware/built-in/error-tracker.js +7 -3
  147. package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
  148. package/dist/core/middleware/built-in/index.d.ts +27 -28
  149. package/dist/core/middleware/built-in/index.js +78 -48
  150. package/dist/core/middleware/built-in/index.js.map +1 -1
  151. package/dist/core/middleware/built-in/performance-monitor.js +7 -3
  152. package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
  153. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  154. package/dist/core/middleware/built-in/rate-limit.js +7 -3
  155. package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
  156. package/dist/core/middleware/built-in/request-logger.js +8 -5
  157. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  158. package/dist/core/middleware/built-in/session.d.ts +2 -2
  159. package/dist/core/middleware/built-in/session.js +15 -11
  160. package/dist/core/middleware/built-in/session.js.map +1 -1
  161. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  162. package/dist/core/middleware/built-in/sse.js +14 -12
  163. package/dist/core/middleware/built-in/sse.js.map +1 -1
  164. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  165. package/dist/core/middleware/built-in/validation.js +7 -3
  166. package/dist/core/middleware/built-in/validation.js.map +1 -1
  167. package/dist/core/middleware/index.d.ts +4 -4
  168. package/dist/core/middleware/index.js +28 -8
  169. package/dist/core/middleware/index.js.map +1 -1
  170. package/dist/core/modules/auto-discovery.d.ts +2 -19
  171. package/dist/core/modules/auto-discovery.js +74 -391
  172. package/dist/core/modules/auto-discovery.js.map +1 -1
  173. package/dist/core/modules/index.d.ts +2 -2
  174. package/dist/core/modules/index.js +9 -2
  175. package/dist/core/modules/index.js.map +1 -1
  176. package/dist/core/modules/modules.d.ts +3 -3
  177. package/dist/core/modules/modules.js +54 -23
  178. package/dist/core/modules/modules.js.map +1 -1
  179. package/dist/core/networking/adapters/index.d.ts +3 -4
  180. package/dist/core/networking/adapters/index.js +7 -3
  181. package/dist/core/networking/adapters/index.js.map +1 -1
  182. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
  183. package/dist/core/networking/adapters/socketio-adapter.js +40 -5
  184. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  185. package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
  186. package/dist/core/networking/adapters/ws-adapter.js +43 -8
  187. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  188. package/dist/core/networking/index.d.ts +2 -3
  189. package/dist/core/networking/index.js +7 -2
  190. package/dist/core/networking/index.js.map +1 -1
  191. package/dist/core/networking/service-discovery.js +12 -8
  192. package/dist/core/networking/service-discovery.js.map +1 -1
  193. package/dist/core/networking/websocket-adapter.js +2 -1
  194. package/dist/core/networking/websocket-adapter.js.map +1 -1
  195. package/dist/core/networking/websocket-manager.d.ts +3 -3
  196. package/dist/core/networking/websocket-manager.js +11 -9
  197. package/dist/core/networking/websocket-manager.js.map +1 -1
  198. package/dist/core/routing/app-integration.d.ts +2 -2
  199. package/dist/core/routing/app-integration.js +12 -7
  200. package/dist/core/routing/app-integration.js.map +1 -1
  201. package/dist/core/routing/index.d.ts +2 -22
  202. package/dist/core/routing/index.js +27 -185
  203. package/dist/core/routing/index.js.map +1 -1
  204. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  205. package/dist/core/runtime/aws-lambda-adapter.js +6 -2
  206. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  207. package/dist/core/runtime/base-adapter.d.ts +2 -2
  208. package/dist/core/runtime/base-adapter.js +7 -3
  209. package/dist/core/runtime/base-adapter.js.map +1 -1
  210. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  211. package/dist/core/runtime/cloudflare-workers-adapter.js +6 -2
  212. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  213. package/dist/core/runtime/index.d.ts +12 -12
  214. package/dist/core/runtime/index.js +35 -22
  215. package/dist/core/runtime/index.js.map +1 -1
  216. package/dist/core/runtime/node-adapter.d.ts +4 -4
  217. package/dist/core/runtime/node-adapter.js +49 -18
  218. package/dist/core/runtime/node-adapter.js.map +1 -1
  219. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  220. package/dist/core/runtime/vercel-edge-adapter.js +6 -2
  221. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  222. package/dist/core/utilities/circuit-breaker.js +5 -1
  223. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  224. package/dist/core/utilities/container.js +22 -12
  225. package/dist/core/utilities/container.js.map +1 -1
  226. package/dist/core/utilities/hooks.d.ts +2 -2
  227. package/dist/core/utilities/hooks.js +12 -7
  228. package/dist/core/utilities/hooks.js.map +1 -1
  229. package/dist/core/utilities/index.d.ts +4 -5
  230. package/dist/core/utilities/index.js +19 -5
  231. package/dist/core/utilities/index.js.map +1 -1
  232. package/dist/core/validation/adapters.d.ts +1 -1
  233. package/dist/core/validation/adapters.js +26 -15
  234. package/dist/core/validation/adapters.js.map +1 -1
  235. package/dist/core/validation/index.d.ts +4 -6
  236. package/dist/core/validation/index.js +28 -57
  237. package/dist/core/validation/index.js.map +1 -1
  238. package/dist/core/validation/schema-interface.js +9 -3
  239. package/dist/core/validation/schema-interface.js.map +1 -1
  240. package/dist/index.d.ts +52 -51
  241. package/dist/index.js +132 -23
  242. package/dist/index.js.map +1 -1
  243. package/dist/moro.d.ts +10 -61
  244. package/dist/moro.js +237 -575
  245. package/dist/moro.js.map +1 -1
  246. package/dist/types/auth.js +9 -3
  247. package/dist/types/auth.js.map +1 -1
  248. package/dist/types/cache.js +2 -1
  249. package/dist/types/cdn.js +2 -1
  250. package/dist/types/config.d.ts +2 -70
  251. package/dist/types/config.js +2 -1
  252. package/dist/types/config.js.map +1 -1
  253. package/dist/types/core.d.ts +42 -36
  254. package/dist/types/core.js +2 -1
  255. package/dist/types/database.js +2 -1
  256. package/dist/types/discovery.js +2 -1
  257. package/dist/types/events.js +2 -1
  258. package/dist/types/hooks.d.ts +1 -1
  259. package/dist/types/hooks.js +2 -1
  260. package/dist/types/http.d.ts +1 -16
  261. package/dist/types/http.js +2 -1
  262. package/dist/types/logger.d.ts +0 -7
  263. package/dist/types/logger.js +2 -1
  264. package/dist/types/module.d.ts +0 -11
  265. package/dist/types/module.js +2 -1
  266. package/dist/types/runtime.d.ts +1 -1
  267. package/dist/types/runtime.js +2 -1
  268. package/dist/types/session.js +2 -1
  269. package/package.json +52 -19
  270. package/src/core/auth/morojs-adapter.ts +13 -18
  271. package/src/core/config/file-loader.ts +273 -13
  272. package/src/core/config/index.ts +34 -83
  273. package/src/core/config/loader.ts +633 -0
  274. package/src/core/config/schema.ts +33 -44
  275. package/src/core/config/utils.ts +31 -24
  276. package/src/core/config/validation.ts +140 -0
  277. package/src/core/database/README.md +16 -26
  278. package/src/core/database/adapters/drizzle.ts +6 -18
  279. package/src/core/database/adapters/index.ts +13 -13
  280. package/src/core/database/adapters/mongodb.ts +5 -53
  281. package/src/core/database/adapters/mysql.ts +4 -32
  282. package/src/core/database/adapters/postgresql.ts +5 -30
  283. package/src/core/database/adapters/redis.ts +8 -61
  284. package/src/core/database/adapters/sqlite.ts +3 -19
  285. package/src/core/database/index.ts +2 -2
  286. package/src/core/docs/index.ts +8 -8
  287. package/src/core/docs/openapi-generator.ts +4 -4
  288. package/src/core/docs/schema-to-openapi.ts +6 -3
  289. package/src/core/docs/simple-docs.ts +2 -2
  290. package/src/core/docs/swagger-ui.ts +16 -19
  291. package/src/core/docs/zod-to-openapi.ts +34 -34
  292. package/src/core/events/event-bus.ts +2 -2
  293. package/src/core/events/index.ts +2 -2
  294. package/src/core/framework.ts +67 -311
  295. package/src/core/http/http-server.ts +45 -190
  296. package/src/core/http/index.ts +3 -4
  297. package/src/core/http/router.ts +40 -129
  298. package/src/core/logger/filters.ts +5 -13
  299. package/src/core/logger/index.ts +3 -4
  300. package/src/core/logger/logger.ts +216 -435
  301. package/src/core/logger/outputs.ts +3 -1
  302. package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
  303. package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
  304. package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
  305. package/src/core/middleware/built-in/adapters/cache/redis.ts +4 -18
  306. package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
  307. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
  308. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +5 -16
  309. package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
  310. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  311. package/src/core/middleware/built-in/auth-helpers.ts +1 -1
  312. package/src/core/middleware/built-in/auth-providers.ts +1 -1
  313. package/src/core/middleware/built-in/auth.ts +21 -102
  314. package/src/core/middleware/built-in/cache.ts +6 -8
  315. package/src/core/middleware/built-in/cdn.ts +4 -4
  316. package/src/core/middleware/built-in/cookie.ts +2 -2
  317. package/src/core/middleware/built-in/cors.ts +2 -2
  318. package/src/core/middleware/built-in/csp.ts +3 -3
  319. package/src/core/middleware/built-in/csrf.ts +3 -3
  320. package/src/core/middleware/built-in/error-tracker.ts +1 -1
  321. package/src/core/middleware/built-in/index.ts +30 -38
  322. package/src/core/middleware/built-in/performance-monitor.ts +1 -1
  323. package/src/core/middleware/built-in/rate-limit.ts +2 -2
  324. package/src/core/middleware/built-in/request-logger.ts +1 -3
  325. package/src/core/middleware/built-in/session.ts +8 -7
  326. package/src/core/middleware/built-in/sse.ts +9 -11
  327. package/src/core/middleware/built-in/validation.ts +2 -2
  328. package/src/core/middleware/index.ts +6 -6
  329. package/src/core/modules/auto-discovery.ts +15 -478
  330. package/src/core/modules/index.ts +2 -2
  331. package/src/core/modules/modules.ts +12 -23
  332. package/src/core/networking/adapters/index.ts +3 -4
  333. package/src/core/networking/adapters/socketio-adapter.ts +3 -5
  334. package/src/core/networking/adapters/ws-adapter.ts +9 -8
  335. package/src/core/networking/index.ts +2 -3
  336. package/src/core/networking/service-discovery.ts +7 -6
  337. package/src/core/networking/websocket-manager.ts +7 -7
  338. package/src/core/routing/app-integration.ts +3 -3
  339. package/src/core/routing/index.ts +17 -201
  340. package/src/core/runtime/aws-lambda-adapter.ts +3 -3
  341. package/src/core/runtime/base-adapter.ts +2 -2
  342. package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
  343. package/src/core/runtime/index.ts +13 -13
  344. package/src/core/runtime/node-adapter.ts +10 -16
  345. package/src/core/runtime/vercel-edge-adapter.ts +3 -3
  346. package/src/core/utilities/hooks.ts +3 -3
  347. package/src/core/utilities/index.ts +4 -5
  348. package/src/core/validation/adapters.ts +1 -1
  349. package/src/core/validation/index.ts +16 -68
  350. package/src/index.ts +66 -73
  351. package/src/moro.ts +204 -685
  352. package/src/types/config.ts +2 -71
  353. package/src/types/core.ts +47 -49
  354. package/src/types/hooks.ts +1 -1
  355. package/src/types/http.ts +1 -23
  356. package/src/types/logger.ts +0 -9
  357. package/src/types/module.ts +0 -12
  358. package/src/types/runtime.ts +1 -1
  359. package/tsconfig.json +2 -4
  360. package/dist/core/config/config-manager.d.ts +0 -44
  361. package/dist/core/config/config-manager.js +0 -104
  362. package/dist/core/config/config-manager.js.map +0 -1
  363. package/dist/core/config/config-sources.d.ts +0 -21
  364. package/dist/core/config/config-sources.js +0 -499
  365. package/dist/core/config/config-sources.js.map +0 -1
  366. package/dist/core/config/config-validator.d.ts +0 -21
  367. package/dist/core/config/config-validator.js +0 -788
  368. package/dist/core/config/config-validator.js.map +0 -1
  369. package/dist/core/http/uws-http-server.d.ts +0 -64
  370. package/dist/core/http/uws-http-server.js +0 -688
  371. package/dist/core/http/uws-http-server.js.map +0 -1
  372. package/dist/core/middleware/built-in/jwt-helpers.d.ts +0 -118
  373. package/dist/core/middleware/built-in/jwt-helpers.js +0 -218
  374. package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
  375. package/dist/core/networking/adapters/uws-adapter.d.ts +0 -44
  376. package/dist/core/networking/adapters/uws-adapter.js +0 -513
  377. package/dist/core/networking/adapters/uws-adapter.js.map +0 -1
  378. package/dist/core/utilities/package-utils.d.ts +0 -38
  379. package/dist/core/utilities/package-utils.js +0 -57
  380. package/dist/core/utilities/package-utils.js.map +0 -1
  381. package/jest.config.mjs +0 -41
  382. package/src/core/config/config-manager.ts +0 -133
  383. package/src/core/config/config-sources.ts +0 -596
  384. package/src/core/config/config-validator.ts +0 -1113
  385. package/src/core/http/uws-http-server.ts +0 -794
  386. package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
  387. package/src/core/networking/adapters/uws-adapter.ts +0 -619
  388. package/src/core/utilities/package-utils.ts +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/core/http/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/core/http/http-server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,+BAA6E;AAC7E,2CAA6B;AAC7B,+BAAiC;AACjC,sCAAkD;AAGlD,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAExC,MAAa,cAAc;IACjB,MAAM,CAAS;IACf,MAAM,GAAiB,EAAE,CAAC;IAC1B,gBAAgB,GAAiB,EAAE,CAAC;IACpC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,oBAAoB,GAAG,IAAI,CAAC;IAC5B,MAAM,GAAG,IAAA,8BAAqB,EAAC,YAAY,CAAC,CAAC;IAC7C,WAAW,CAAM;IACjB,cAAc,GAAG,CAAC,CAAC;IAE3B,iDAAiD;IACzC,eAAe,GAA6B,EAAE,CAAC;IAC/C,UAAU,GAAa,EAAE,CAAC;IACjB,WAAW,GAAG,EAAE,CAAC;IAElC,8DAA8D;IACtD,wBAAwB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/D,8DAA8D;IACtD,MAAM,CAAU,gBAAgB,GAAG,IAAI,GAAG,CAAC;QACjD,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,SAAS,EAAE,SAAS,CAAC;KACvB,CAAC,CAAC;IAEK,MAAM,CAAU,gBAAgB,GAAG,IAAI,GAAG,CAAC;QACjD,CAAC,cAAc,EAAE,cAAc,CAAC;QAChC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QACpC,CAAC,eAAe,EAAE,eAAe,CAAC;QAClC,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,eAAe,EAAE,eAAe,CAAC;KACnC,CAAC,CAAC;IAEH,6DAA6D;IACrD,MAAM,CAAU,kBAAkB,GAAG;QAC3C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC9D,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC;QACrE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC/D,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC;QAC/E,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC;QAC/E,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IACnE,MAAM,CAAU,YAAY,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAU,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEnE;QACE,0DAA0D;QAC1D,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,sBAAsB;gBACtB,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,qCAAqC;QACrC,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBACxD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAc;QACxC,oCAAoC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACrB,iCAAiC;gBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED;QACE,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,iFAAiF;QACjF,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,YAAY;QACjD,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,YAAY;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,6BAA6B;IAC5D,CAAC;IAED,sEAAsE;IACtE,oBAAoB,CAClB,SAGI,EAAE;QAEN,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;YACrD,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC,iBAAiB;QACzD,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,UAAsB;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,cAAc,CAAC,WAAgB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,QAAsC;QACnF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAiB,CAAC;QAC9C,MAAM,UAAU,GAAG,QAAwB,CAAC;QAE5C,MAAM,KAAK,GAAG;YACZ,MAAM;YACN,IAAI;YACJ,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,qCAAqC;QACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,6BAA6B;YAC7B,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI;aACtB,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC3C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;aACD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEzB,OAAO;YACL,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC;YACxC,UAAU;SACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1C,8CAA8C;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAI,CAAC;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,8BAA8B;gBAC9B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACzB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC;YAED,oDAAoD;YACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;YAC3B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,0CAA0C;YAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;oBACxC,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,kCAAkC;YAClC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEtE,oDAAoD;YACpD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,mDAAmD;gBACnD,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;gBACrE,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,mCAAmC;gBACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjE,kBAAkB;YAClB,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC7E,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAC5E,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,EAAE;gBACnD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,GAAG;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,mEAAmE;gBACnE,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACvB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,uBAAuB;wBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,4DAA4D;oBAC5D,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;wBAC5C,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;wBACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,4DAA4D;wBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,EACnD,gBAAgB,EAChB;4BACE,YAAY,EAAE,OAAO,OAAO;4BAC5B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;yBACnC,CACF,CAAC;oBACJ,CAAC;oBAED,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;wBACtC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,uBAAuB;4BAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;yBAC7B,CAAC,CACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qDAAqD,EACrD,gBAAgB,CACjB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,2DAA2D;YAC3D,gEAAgE;YAChE,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAC1C,CAAC;YACD,IACE,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,MAAM,KAAK,cAAc;gBACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EACxC,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAC1C,CAAC;YACD,IACE,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,MAAM,KAAK,cAAc;gBACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EACxC,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IACnE,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,0EAA0E;YAC1E,6CAA6C;YAC7C,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,kBAAkB,CAAC,MAA8B;QACvD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,sCAAsC;IAC9B,iBAAiB;QACvB,wCAAwC;QACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE1B,wCAAwC;QACxC,qDAAqD;QACrD,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC;YACnB,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAQ,EAAE,IAAS;QAC7C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE9C,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,aAAa;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,oBAAoB;QACpB,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAChD,CAAC;QAED,uEAAuE;QACvE,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,cAAc,CAAC,GAAoB;QACzC,MAAM,OAAO,GAAG,GAAkB,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAC5C,+BAA+B;QAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAiC,CAAC;QAExD,gBAAgB;QAChB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,YAAoB;QACvC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC;QAElC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAmB;QACzC,MAAM,OAAO,GAAG,GAAmB,CAAC;QAEpC,2CAA2C;QAC3C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;YACjC,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,uDAAuD;YACvD,IAAI,UAAkB,CAAC;YAEvB,qDAAqD;YACrD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC1D,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC5D,iCAAiC;oBACjC,UAAU,GAAG,cAAc,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvH,CAAC;qBAAM,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;oBACnE,iCAAiC;oBACjC,UAAU,GAAG,cAAc,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,GAAG,CAAC;gBACvG,CAAC;qBAAM,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;oBACtE,0BAA0B;oBAC1B,UAAU,GAAG,cAAc,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjF,CAAC;qBAAM,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;oBACtE,2BAA2B;oBAC3B,UAAU,GAAG,cAAc,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,+CAA+C;oBAC/C,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,gDAAgD;YAChD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;YACxC,IAAI,aAAa,GAAG,KAAK,EAAE,CAAC;gBAC1B,6BAA6B;gBAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAEzD,oDAAoD;YACpD,MAAM,WAAW,GACf,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAE7E,wEAAwE;YACxE,MAAM,OAAO,GAAoC;gBAC/C,cAAc,EAAE,iCAAiC;aAClD,CAAC;YAEF,+BAA+B;YAC/B,IAAI,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAEpE,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3C,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;oBACrC,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;oBAE9C,0BAA0B;oBAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;wBAC/C,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,uCAAuC;oBACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;qBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC9C,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;oBACxC,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;oBAE9C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;wBAC/C,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,uCAAuC;oBACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;YACH,CAAC;YAED,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YAE/C,iDAAiD;YACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC/C,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,gEAAgE;YAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,GAAG,CAAC,IAAqB,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,8CAA8C;YAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,qBAAqB;oBACrB,IAAI,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;oBACvE,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;wBACxB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAAe,EAAE,EAAE,EAAE;YAClE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,YAAY,GAAG,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;YAE5C,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC;YAClE,IAAI,OAAO,CAAC,OAAO;gBAAE,YAAY,IAAI,aAAa,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAClF,IAAI,OAAO,CAAC,QAAQ;gBAAE,YAAY,IAAI,YAAY,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,UAAU,CAAC;YAC/C,IAAI,OAAO,CAAC,QAAQ;gBAAE,YAAY,IAAI,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI;gBAAE,YAAY,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC;YAE3D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC5C,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBACtB,CAAC,CAAC,CAAC,eAAyB,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,GAAG,CAAC,IAAY,EAAE,UAAe,EAAE,EAAE,EAAE;YACxD,MAAM,YAAY,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACrE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAW,EAAE,SAAiB,GAAG,EAAE,EAAE;YACvD,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;YAC5C,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEzC,mCAAmC;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC/C,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhD,0CAA0C;gBAC1C,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAEvD,sBAAsB;gBACtB,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,0BAA0B;gBAE1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,SAAS,GAA2B;YACxC,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QAEF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;IACpE,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,2CAA2C;QAC3C,MAAM,SAAS,GAAG;YAChB,OAAO;YACP,kBAAkB;YAClB,wBAAwB;YACxB,iBAAiB;YACjB,eAAe;SAChB,CAAC;QAEF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,QAAQ,iBAAiB,CAAC;QACtC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAoB;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;YAE/C,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAEtD,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;wBACrE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBACvD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CACpB,MAAc,EACd,WAAmB;QAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAEhD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAEnE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE1B,IAAI,aAAa,EAAE,CAAC;oBAClB,iBAAiB;oBACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;oBACrF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAErF,KAAK,CAAC,IAAI,CAAC,GAAG;wBACZ,QAAQ;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;wBACxC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC;qBAC/C,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,0BAA0B;oBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IAChE,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClD,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,aAAa,GAAiB,EAAE,CAAC;IACjC,oBAAoB,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvD,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,uEAAuE;IAC/D,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gDAAgD;IAC3F,MAAM,CAAU,mBAAmB,GAAG,GAAG,CAAC,CAAC,oDAAoD;IAE/F,SAAS,CAAC,MAAc,EAAE,IAAY;QAC5C,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;QAE/C,mDAAmD;QACnD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE3C,4CAA4C;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAEnD,kEAAkE;YAClE,IAAI,QAAQ,GAAG,cAAc,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAChF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,4BAA4B;YAC1E,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,GAAsB,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;YAE7F,0DAA0D;YAC1D,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;oBACpF,KAAK,GAAG,cAAc,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,UAAwB,EACxB,GAAgB,EAChB,GAAiB;QAEjB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,yCAAyC;YACzC,IAAI,GAAG,CAAC,WAAW;gBAAE,OAAO;YAE5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;gBAEvB,MAAM,IAAI,GAAG,GAAG,EAAE;oBAChB,IAAI,UAAU;wBAAE,OAAO;oBACvB,UAAU,GAAG,IAAI,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAElC,0BAA0B;oBAC1B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;wBAC9B,MAAM;6BACH,IAAI,CAAC,GAAG,EAAE;4BACT,IAAI,CAAC,UAAU;gCAAE,IAAI,EAAE,CAAC;wBAC1B,CAAC,CAAC;6BACD,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAID,MAAM,CAAC,IAAY,EAAE,IAA4B,EAAE,QAAqB;QACtE,0EAA0E;QAC1E,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,YAAY;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;AAz7BH,wCA07BC;AAED,sBAAsB;AACT,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,CAAC,UAAsD,EAAE,EAAc,EAAE;QAC7E,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,CAAC;YACjF,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAE7E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAe,EAAE;QACvB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;YACpE,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAC;YAClF,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,EAAE,CAAC,UAAkD,EAAE,EAAc,EAAE;QAChF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAEjC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAE5D,0CAA0C;YAC1C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YAC9B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YAE9B,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;gBACrD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEpC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;oBAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9E,CAAC;gBAED,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAQ,EAAE,UAAkB,EAAE,EAAE;wBAC5D,IAAI,GAAG,EAAE,CAAC;4BACR,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC9E,CAAC;wBACD,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;wBACnD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;wBACvD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;oBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAQ,EAAE,UAAkB,EAAE,EAAE;wBAC/D,IAAI,GAAG,EAAE,CAAC;4BACR,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC9E,CAAC;wBACD,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;wBACnD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;wBACvD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,UAAU,IAAS;gBAC5B,iDAAiD;gBACjD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;gBAClE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,UAAU,IAAS;gBAC5B,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,aAAa,EAAE,GAAe,EAAE;QAC9B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACpC,0CAA0C;YAC5C,CAAC,CAAC,CAAC;YAEH,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,EAAE,CAAC,UAA8B,EAAE,EAAc,EAAE;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;QACtC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;YAErE,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,0BAA0B;oBACjC,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,OAMR,EAAc,EAAE;QACf,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,oCAAoC;YACpC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,wDAAa,QAAQ,GAAC,CAAC;gBAEtC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEjD,wCAAwC;gBACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBAED,kBAAkB;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;wBAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;wBAC7D,OAAO;oBACT,CAAC;yBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACzC,IAAI,EAAE,CAAC;wBACP,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC;gBACV,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,8CAA8C;oBACtD,OAAO;gBACT,CAAC;gBAED,qBAAqB;gBACrB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;oBAChE,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;wBACjD,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC5C,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;gCACxB,QAAQ,GAAG,SAAS,CAAC;gCACrB,KAAK,GAAG,UAAU,CAAC;gCACnB,UAAU,GAAG,IAAI,CAAC;gCAClB,MAAM;4BACR,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,8BAA8B;wBAChC,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,IAAI,EAAE,CAAC;wBACP,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,SAAS,GAA2B;oBACxC,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,wBAAwB;oBAC/B,OAAO,EAAE,kBAAkB;oBAC3B,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,iBAAiB;iBAC1B,CAAC;gBAEF,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;gBAEhF,mCAAmC;gBACnC,MAAM,SAAS,GAAG;oBAChB,OAAO;oBACP,kBAAkB;oBAClB,wBAAwB;oBACxB,iBAAiB;oBACjB,eAAe;iBAChB,CAAC;gBACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;gBAEnF,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC3C,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE5C,gBAAgB;gBAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAED,eAAe;gBACf,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,MAAM;yBAChB,UAAU,CAAC,KAAK,CAAC;yBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;yBAChD,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjB,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;oBAEnC,8BAA8B;oBAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACjD,IAAI,WAAW,KAAK,IAAI,IAAI,GAAG,EAAE,CAAC;wBAChC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;wBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,uBAAuB;gBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC1B,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBAED,YAAY;gBACZ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CACN,UAKI,EAAE,EACM,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAEtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,gDAAgD;YAChD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;gBAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;gBAE1C,sBAAsB;gBACtB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,2BAA2B,QAAQ,WAAW;qBACtD,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,qBAAqB;gBACrB,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAW,CAAC;oBAE7B,qBAAqB;oBACrB,IAAI,QAAQ,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;wBAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,QAAQ,QAAQ,CAAC,QAAQ,0BAA0B,WAAW,iBAAiB;yBACvF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,qBAAqB;oBACrB,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,aAAa,QAAQ,CAAC,QAAQ,eAAe;yBACrD,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,EAAE,CAAC,OAKV,EAAc,EAAE;QACf,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEhD,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,gCAAgC;YAChC,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAY,EAAE,EAAE,EAAE;gBACtD,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;oBAElC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;oBAElE,IAAI,eAAuB,CAAC;oBAE5B,oBAAoB;oBACpB,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;wBACrD,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;wBAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;4BAClB,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAED,4DAA4D;oBAC5D,IAAI,QAAQ,GAAG,eAAe,CAAC;oBAE/B,qCAAqC;oBACrC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;wBAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBAEH,qDAAqD;oBACrD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;wBAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;wBACnF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrD,CAAC,CAAC,CAAC;oBAEH,iDAAiD;oBACjD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,0CAA0C,EAC1C,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;wBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;4BAAE,OAAO,EAAE,CAAC;wBAErC,OAAO,KAAK;6BACT,GAAG,CAAC,IAAI,CAAC,EAAE;4BACV,IAAI,YAAY,GAAG,QAAQ,CAAC;4BAC5B,yCAAyC;4BACzC,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,gBAAgB,EAChB,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;gCAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC7D,CAAC,CACF,CAAC;4BACF,OAAO,YAAY,CAAC;wBACtB,CAAC,CAAC;6BACD,IAAI,CAAC,EAAE,CAAC,CAAC;oBACd,CAAC,CACF,CAAC;oBAEF,uDAAuD;oBACvD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,sCAAsC,EACtC,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;wBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;wBACrC,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClC,CAAC,CACF,CAAC;oBAEF,gBAAgB;oBAChB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,OAAO,CAAC,CAAC;wBACxF,IAAI,CAAC;4BACH,IAAI,aAAqB,CAAC;4BAE1B,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gCACnD,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;4BACjD,CAAC;iCAAM,CAAC;gCACN,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gCACvD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oCAClB,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gCAC/C,CAAC;4BACH,CAAC;4BAED,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,uCAAuC;wBACzC,CAAC;oBACH,CAAC;oBAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBAC3C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,SAAS,EAAE,CACT,UAGI,EAAE,EACM,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,yCAAyC;YACxC,GAAW,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,UAAe,EAAE,EAAE,EAAE;gBACtD,+BAA+B;gBAC/B,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,IAAK,GAAW,CAAC,MAAM,IAAK,GAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACxF,IAAI,CAAC;wBACH,MAAM,UAAU,GAAI,GAAW,CAAC,MAAM,CAAC,UAAU,CAAC;4BAChD,SAAS,EAAE,KAAK;4BAChB,OAAO,EAAE,IAAI;4BACb,GAAG,OAAO,CAAC,OAAO;yBACnB,CAAC,CAAC;wBAEH,IAAI,UAAU,EAAE,CAAC;4BACf,qBAAqB;4BACrB,OAAO,UAAU,CAAC;wBACpB,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,iCAAiC;oBACnC,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,iCAAiC;YACjC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxE,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxC,GAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;wBACjC,OAAO,EAAE;4BACP,cAAc,EAAE,QAAQ,CAAC,IAAI,IAAI,YAAY;yBAC9C;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,GAAG,EAAE,CACH,UAII,EAAE,EACM,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,2BAA2B;YAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtD,kBAAkB;gBAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,cAAc,EAAE,mBAAmB;oBACnC,eAAe,EAAE,UAAU;oBAC3B,UAAU,EAAE,YAAY;oBACxB,6BAA6B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;oBAC7D,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;iBAC3E,CAAC,CAAC;gBAEH,8BAA8B;gBAC7B,GAAW,CAAC,SAAS,GAAG,CAAC,IAAS,EAAE,KAAc,EAAE,EAAW,EAAE,EAAE;oBAClE,IAAI,EAAE;wBAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACjC,IAAI,KAAK;wBAAE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,KAAK,CAAC,SAAS,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,CAAC,CAAC;gBAED,GAAW,CAAC,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;oBAC7C,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO,MAAM,CAAC,CAAC;gBAChC,CAAC,CAAC;gBAED,GAAW,CAAC,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE;oBACtC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAChC,CAAC,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,iBAAiB,GAA0B,IAAI,CAAC;gBACpD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;wBAClC,GAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjB,GAAW,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;gBAED,oBAAoB;gBACpB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACnB,IAAI,iBAAiB,EAAE,CAAC;wBACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,KAAK,EAAE,CACL,UAGI,EAAE,EACM,EAAE;QACd,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,gCAAgC;YAC/B,GAAW,CAAC,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,KAAW,EAAE,EAAE;gBAC/D,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;oBAElC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClC,CAAC;oBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oBAEhC,2BAA2B;oBAC3B,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;oBAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,uCAAuC;wBACvC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;wBAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,qBAAqB;oBACrB,MAAM,MAAM,GAAG,KAAK;yBACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;yBACrB,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE;wBACP,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClC,OAAO;4BACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAClC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC;yBACxC,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEL,kBAAkB;oBAClB,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACnE,OAAO;oBACT,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,eAAe;wBACf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;wBAElC,IAAI,KAAK,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;4BACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,WAAW,QAAQ,EAAE,CAAC,CAAC;4BAClE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;4BAC7D,OAAO;wBACT,CAAC;wBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;wBACpE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBAE3C,mBAAmB;wBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE;4BACtD,KAAK;4BACL,GAAG;yBACJ,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,uCAAuC;wBACvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC;wBACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kCAAkC,QAAQ,EAAE,CAAC,CAAC;wBAE5E,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;4BACpC,IAAI,KAAK,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ;gCAAE,SAAS;4BAEnD,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;4BAClC,GAAG,CAAC,KAAK,CAAC,SAAS,QAAQ,MAAM,CAAC,CAAC;4BACnC,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,IAAI,GAAG,IAAI,QAAQ,UAAU,CAAC,CAAC;4BAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gCACtD,KAAK;gCACL,GAAG;6BACJ,CAAC,CAAC;4BACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gCAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gCAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;4BACnC,CAAC,CAAC,CAAC;wBACL,CAAC;wBACD,GAAG,CAAC,KAAK,CAAC,SAAS,QAAQ,QAAQ,CAAC,CAAC;wBACrC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,EAAE,CACJ,UAOI,EAAE,EACM,EAAE;QACd,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE;YAC1D,OAAO,KAAK,IAAI,YAAY,IAAI,KAAK,KAAK,YAAY,CAAC;QACzD,CAAC,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,mCAAmC;YAClC,GAAW,CAAC,SAAS,GAAG,GAAG,EAAE;gBAC5B,IAAI,CAAE,GAAW,CAAC,UAAU,EAAE,CAAC;oBAC5B,GAAW,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;oBAC1C,sBAAsB;oBACtB,GAAG,CAAC,MAAM,CAAC,UAAU,EAAG,GAAW,CAAC,UAAU,EAAE;wBAC9C,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBAC3D,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,OAAO,IAAK,GAAG,CAAC,MAAc,CAAC,SAAS;qBACtF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAQ,GAAW,CAAC,UAAU,CAAC;YACjC,CAAC,CAAC;YAEF,qCAAqC;YACrC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAO,CAAC,EAAE,CAAC;gBACxC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,gCAAgC;YAChC,MAAM,KAAK,GACT,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE5F,gCAAgC;YAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,CAAC,WAAW,CAAC,KAAe,EAAE,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,qBAAqB;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,GAAG,EAAE,CACH,UAoBI,EAAE,EACM,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI;gBACvC,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,CAAC,QAAQ,CAAC;gBACnB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB,CAAC;YAEF,8BAA8B;YAC9B,IAAI,KAAyB,CAAC;YAC9B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjD,GAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;YAChC,CAAC;YAED,yBAAyB;YACzB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9D,IAAI,SAAS,KAAK,yBAAyB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBAChE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IAAI,SAAS,KAAK,sBAAsB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACpE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC3C,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEnC,mDAAmD;oBACnD,IAAI,KAAK,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,UAAU,CAAC,EAAE,CAAC;wBACrE,UAAU,IAAI,WAAW,KAAK,GAAG,CAAC;oBACpC,CAAC;oBAED,kCAAkC;oBAClC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,IAAI,UAAU,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU;gBACnC,CAAC,CAAC,qCAAqC;gBACvC,CAAC,CAAC,yBAAyB,CAAC;YAE9B,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEpC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAA8B;QACvC,CAAC,EAAE,CAAC;QACJ,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI,GAAG,IAAI;QACf,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;KACvB,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;IAE9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAE7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -1,4 +1,3 @@
1
- export { MoroHttpServer, middleware } from './http-server.js';
2
- export { UWebSocketsHttpServer } from './uws-http-server.js';
3
- export { Router } from './router.js';
4
- export type { HttpRequest, HttpResponse, HttpHandler, Middleware } from '../../types/http.js';
1
+ export { MoroHttpServer, middleware } from './http-server';
2
+ export { Router } from './router';
3
+ export type { HttpRequest, HttpResponse, HttpHandler, Middleware } from '../../types/http';
@@ -1,5 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = exports.middleware = exports.MoroHttpServer = void 0;
1
4
  // HTTP System - Centralized Exports
2
- export { MoroHttpServer, middleware } from './http-server.js';
3
- export { UWebSocketsHttpServer } from './uws-http-server.js';
4
- export { Router } from './router.js';
5
+ var http_server_1 = require("./http-server");
6
+ Object.defineProperty(exports, "MoroHttpServer", { enumerable: true, get: function () { return http_server_1.MoroHttpServer; } });
7
+ Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return http_server_1.middleware; } });
8
+ var router_1 = require("./router");
9
+ Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return router_1.Router; } });
5
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/http/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/http/index.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,6CAA2D;AAAlD,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AACnC,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
@@ -1,11 +1,7 @@
1
- import { HttpRequest, HttpResponse, HttpHandler, Middleware, RouteDefinition } from '../../types/http.js';
1
+ import { HttpRequest, HttpResponse, HttpHandler, Middleware, RouteDefinition } from '../../types/http';
2
2
  export declare class Router {
3
3
  private routes;
4
4
  private logger;
5
- private staticRoutes;
6
- private dynamicRoutes;
7
- private paramObjectPool;
8
- private readonly maxPoolSize;
9
5
  get(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
10
6
  post(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
11
7
  put(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
@@ -15,12 +11,4 @@ export declare class Router {
15
11
  private pathToRegex;
16
12
  handle(req: HttpRequest, res: HttpResponse, basePath?: string): Promise<boolean>;
17
13
  getRoutes(): RouteDefinition[];
18
- private acquireParamObject;
19
- private releaseParamObject;
20
- getPerformanceStats(): {
21
- totalRoutes: number;
22
- staticRoutes: number;
23
- dynamicRoutes: number;
24
- paramObjectPoolSize: number;
25
- };
26
14
  }
@@ -1,13 +1,10 @@
1
- import { createFrameworkLogger } from '../logger/index.js';
2
- export class Router {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = void 0;
4
+ const logger_1 = require("../logger");
5
+ class Router {
3
6
  routes = [];
4
- logger = createFrameworkLogger('Router');
5
- // Performance optimizations - O(1) static route lookup
6
- staticRoutes = new Map(); // "GET:/api/users" -> route
7
- dynamicRoutes = []; // Routes with parameters
8
- // Object pooling for parameters to reduce GC pressure
9
- paramObjectPool = [];
10
- maxPoolSize = 50;
7
+ logger = (0, logger_1.createFrameworkLogger)('Router');
11
8
  get(path, ...handlers) {
12
9
  this.addRoute('GET', path, handlers);
13
10
  }
@@ -27,35 +24,14 @@ export class Router {
27
24
  const { pattern, paramNames } = this.pathToRegex(path);
28
25
  const handler = handlers.pop();
29
26
  const middleware = handlers;
30
- const route = {
27
+ this.routes.push({
31
28
  method,
32
29
  path,
33
30
  pattern,
34
31
  paramNames,
35
32
  handler,
36
33
  middleware,
37
- };
38
- // Add to routes array (maintain compatibility)
39
- this.routes.push(route);
40
- // Performance optimization: separate static and dynamic routes
41
- const isStatic = !path.includes(':') && !path.includes('*');
42
- if (isStatic && middleware.length === 0) {
43
- // Static route with no middleware - use O(1) lookup
44
- const routeKey = `${method}:${path}`;
45
- this.staticRoutes.set(routeKey, route);
46
- this.logger.debug(`Added static route: ${routeKey}`, 'FastRoute');
47
- }
48
- else {
49
- // Dynamic route or has middleware - needs regex matching
50
- this.dynamicRoutes.push(route);
51
- this.logger.debug(`Added dynamic route: ${method} ${path}`, 'DynamicRoute');
52
- }
53
- // Initialize object pool on first route
54
- if (this.paramObjectPool.length === 0) {
55
- for (let i = 0; i < this.maxPoolSize; i++) {
56
- this.paramObjectPool.push({});
57
- }
58
- }
34
+ });
59
35
  }
60
36
  pathToRegex(path) {
61
37
  const paramNames = [];
@@ -78,106 +54,56 @@ export class Router {
78
54
  path = '/';
79
55
  }
80
56
  this.logger.debug(`Router processing: originalPath="${req.path}", basePath="${basePath}", processedPath="${path}"`, 'Processing');
81
- // PERFORMANCE OPTIMIZATION: Fast path - O(1) static route lookup first
82
- const routeKey = `${req.method}:${path}`;
83
- const staticRoute = this.staticRoutes.get(routeKey);
84
- if (staticRoute) {
85
- this.logger.debug(`Fast route match: ${routeKey}`, 'FastRoute');
86
- // Static route with no middleware - execute handler directly
87
- req.params = {}; // No params for static routes
88
- const result = await staticRoute.handler(req, res);
89
- // If handler returns data and response hasn't been sent, send it
90
- if (result !== undefined && result !== null && !res.headersSent) {
91
- res.json(result);
92
- }
93
- return true;
94
- }
95
- // Fallback: Dynamic route matching (with middleware support)
96
- const route = this.dynamicRoutes.find(r => r.method === req.method && r.pattern.test(path));
97
- this.logger.debug(`Found dynamic route: ${!!route}${route ? ` ${route.method} ${route.path}` : ' none'}`, 'RouteMatch');
57
+ const route = this.routes.find(r => r.method === req.method && r.pattern.test(path));
58
+ this.logger.debug(`Found route: ${!!route}${route ? ` ${route.method} ${route.path}` : ' none'}`, 'RouteMatch');
98
59
  if (!route) {
99
60
  return false; // Route not found
100
61
  }
101
- // Extract path parameters using object pooling
62
+ // Extract path parameters
102
63
  const matches = path.match(route.pattern);
103
64
  if (matches) {
104
- req.params = this.acquireParamObject();
65
+ req.params = {};
105
66
  route.paramNames.forEach((name, index) => {
106
67
  req.params[name] = matches[index + 1];
107
68
  });
108
69
  }
109
- try {
110
- // Execute middleware
111
- for (const mw of route.middleware) {
112
- await new Promise((resolve, reject) => {
113
- let nextCalled = false;
114
- const next = () => {
115
- if (nextCalled)
116
- return;
117
- nextCalled = true;
118
- resolve();
119
- };
120
- try {
121
- const result = mw(req, res, next);
122
- if (result instanceof Promise) {
123
- result
124
- .then(() => {
125
- if (!nextCalled)
126
- next();
127
- })
128
- .catch(reject);
129
- }
130
- }
131
- catch (error) {
132
- reject(error);
70
+ // Execute middleware
71
+ for (const mw of route.middleware) {
72
+ await new Promise((resolve, reject) => {
73
+ let nextCalled = false;
74
+ const next = () => {
75
+ if (nextCalled)
76
+ return;
77
+ nextCalled = true;
78
+ resolve();
79
+ };
80
+ try {
81
+ const result = mw(req, res, next);
82
+ if (result instanceof Promise) {
83
+ result
84
+ .then(() => {
85
+ if (!nextCalled)
86
+ next();
87
+ })
88
+ .catch(reject);
133
89
  }
134
- });
135
- if (res.headersSent)
136
- break; // Early exit if response sent
137
- }
138
- // Execute handler
139
- const result = await route.handler(req, res);
140
- // If handler returns data and response hasn't been sent, send it
141
- if (result !== undefined && result !== null && !res.headersSent) {
142
- res.json(result);
143
- }
144
- return true;
90
+ }
91
+ catch (error) {
92
+ reject(error);
93
+ }
94
+ });
145
95
  }
146
- finally {
147
- // Release parameter object back to pool
148
- if (req.params && matches) {
149
- this.releaseParamObject(req.params);
150
- }
96
+ // Execute handler
97
+ const result = await route.handler(req, res);
98
+ // If handler returns data and response hasn't been sent, send it
99
+ if (result !== undefined && result !== null && !res.headersSent) {
100
+ res.json(result);
151
101
  }
102
+ return true;
152
103
  }
153
104
  getRoutes() {
154
105
  return [...this.routes];
155
106
  }
156
- // Object pooling methods for performance optimization
157
- acquireParamObject() {
158
- const obj = this.paramObjectPool.pop();
159
- if (obj) {
160
- // Clear the object
161
- for (const key in obj) {
162
- delete obj[key];
163
- }
164
- return obj;
165
- }
166
- return {};
167
- }
168
- releaseParamObject(obj) {
169
- if (this.paramObjectPool.length < this.maxPoolSize) {
170
- this.paramObjectPool.push(obj);
171
- }
172
- }
173
- // Performance statistics for monitoring
174
- getPerformanceStats() {
175
- return {
176
- totalRoutes: this.routes.length,
177
- staticRoutes: this.staticRoutes.size,
178
- dynamicRoutes: this.dynamicRoutes.length,
179
- paramObjectPoolSize: this.paramObjectPool.length,
180
- };
181
- }
182
107
  }
108
+ exports.Router = Router;
183
109
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/http/router.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,OAAO,MAAM;IACT,MAAM,GAAsB,EAAE,CAAC;IAC/B,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEjD,uDAAuD;IAC/C,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC,CAAC,4BAA4B;IAC/E,aAAa,GAAsB,EAAE,CAAC,CAAC,yBAAyB;IAExE,sDAAsD;IAC9C,eAAe,GAA6B,EAAE,CAAC;IACtC,WAAW,GAAG,EAAE,CAAC;IAElC,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,QAAsC;QACnF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAiB,CAAC;QAC9C,MAAM,UAAU,GAAG,QAAwB,CAAC;QAE5C,MAAM,KAAK,GAAoB;YAC7B,MAAM;YACN,IAAI;YACJ,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;QAEF,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,oDAAoD;YACpD,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9E,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI;aACtB,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC3C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;aACD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEzB,OAAO;YACL,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC;YACxC,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,GAAiB,EAAE,WAAmB,EAAE;QACrE,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAE1F,+DAA+D;QAC/D,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,GAAG,CAAC,IAAI,gBAAgB,QAAQ,qBAAqB,IAAI,GAAG,EAChG,YAAY,CACb,CAAC;QAEF,uEAAuE;QACvE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;YAEhE,6DAA6D;YAC7D,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,8BAA8B;YAC/C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEnD,iEAAiE;YACjE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EACtF,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,kBAAkB;QAClC,CAAC;QAED,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,qBAAqB;YACrB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,MAAM,IAAI,GAAG,GAAG,EAAE;wBAChB,IAAI,UAAU;4BAAE,OAAO;wBACvB,UAAU,GAAG,IAAI,CAAC;wBAClB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBAEF,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;wBAElC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;4BAC9B,MAAM;iCACH,IAAI,CAAC,GAAG,EAAE;gCACT,IAAI,CAAC,UAAU;oCAAE,IAAI,EAAE,CAAC;4BAC1B,CAAC,CAAC;iCACD,KAAK,CAAC,MAAM,CAAC,CAAC;wBACnB,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,WAAW;oBAAE,MAAM,CAAC,8BAA8B;YAC5D,CAAC;YAED,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAE7C,iEAAiE;YACjE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,wCAAwC;YACxC,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,sDAAsD;IAC9C,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,mBAAmB;YACnB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,kBAAkB,CAAC,GAA2B;QACpD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,mBAAmB;QACjB,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YACpC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;YACxC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;SACjD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/http/router.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LogFilter } from '../../types/logger.js';
1
+ import { LogFilter } from '../../types/logger';
2
2
  export declare const levelFilter: (minLevel: string) => LogFilter;
3
3
  export declare const contextFilter: (allowedContexts: string[]) => LogFilter;
4
4
  export declare const rateLimitFilter: (maxPerSecond: number) => LogFilter;