whale-code 6.5.5 → 6.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/README.md +39 -31
  2. package/bin/{swagmanager-mcp.js → whale-code.js} +17 -2
  3. package/dist/cli/app.js +148 -72
  4. package/dist/cli/app.js.map +1 -0
  5. package/dist/cli/chat/AgentSelector.js +105 -10
  6. package/dist/cli/chat/AgentSelector.js.map +1 -0
  7. package/dist/cli/chat/ChatApp.d.ts +31 -0
  8. package/dist/cli/chat/ChatApp.js +539 -286
  9. package/dist/cli/chat/ChatApp.js.map +1 -0
  10. package/dist/cli/chat/ChatInput.js +1088 -770
  11. package/dist/cli/chat/ChatInput.js.map +1 -0
  12. package/dist/cli/chat/MarkdownText.js +39 -14
  13. package/dist/cli/chat/MarkdownText.js.map +1 -0
  14. package/dist/cli/chat/MemoryManager.js +181 -46
  15. package/dist/cli/chat/MemoryManager.js.map +1 -0
  16. package/dist/cli/chat/MessageList.d.ts +2 -3
  17. package/dist/cli/chat/MessageList.js +186 -45
  18. package/dist/cli/chat/MessageList.js.map +1 -0
  19. package/dist/cli/chat/ModelSelector.js +282 -63
  20. package/dist/cli/chat/ModelSelector.js.map +1 -0
  21. package/dist/cli/chat/NodeManager.js +165 -75
  22. package/dist/cli/chat/NodeManager.js.map +1 -0
  23. package/dist/cli/chat/NodeSelector.js +171 -30
  24. package/dist/cli/chat/NodeSelector.js.map +1 -0
  25. package/dist/cli/chat/PlanApproval.js +281 -57
  26. package/dist/cli/chat/PlanApproval.js.map +1 -0
  27. package/dist/cli/chat/RewindViewer.js +559 -144
  28. package/dist/cli/chat/RewindViewer.js.map +1 -0
  29. package/dist/cli/chat/SessionManager.js +137 -30
  30. package/dist/cli/chat/SessionManager.js.map +1 -0
  31. package/dist/cli/chat/SlashMenu.js +293 -164
  32. package/dist/cli/chat/SlashMenu.js.map +1 -0
  33. package/dist/cli/chat/StatusBar.js +172 -9
  34. package/dist/cli/chat/StatusBar.js.map +1 -0
  35. package/dist/cli/chat/StoreSelector.js +147 -18
  36. package/dist/cli/chat/StoreSelector.js.map +1 -0
  37. package/dist/cli/chat/StreamingText.d.ts +1 -5
  38. package/dist/cli/chat/StreamingText.js +22 -7
  39. package/dist/cli/chat/StreamingText.js.map +1 -0
  40. package/dist/cli/chat/SubagentPanel.d.ts +1 -2
  41. package/dist/cli/chat/SubagentPanel.js +612 -72
  42. package/dist/cli/chat/SubagentPanel.js.map +1 -0
  43. package/dist/cli/chat/TeamPanel.d.ts +1 -0
  44. package/dist/cli/chat/TeamPanel.js +230 -30
  45. package/dist/cli/chat/TeamPanel.js.map +1 -0
  46. package/dist/cli/chat/ThemeSelector.js +84 -24
  47. package/dist/cli/chat/ThemeSelector.js.map +1 -0
  48. package/dist/cli/chat/ToolIndicator.js +1476 -371
  49. package/dist/cli/chat/ToolIndicator.js.map +1 -0
  50. package/dist/cli/chat/hooks/useAgentLoop.d.ts +1 -0
  51. package/dist/cli/chat/hooks/useAgentLoop.js +481 -367
  52. package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
  53. package/dist/cli/chat/hooks/useSlashCommands.d.ts +3 -14
  54. package/dist/cli/chat/hooks/useSlashCommands.js +744 -572
  55. package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
  56. package/dist/cli/commands/config-cmd.js +56 -57
  57. package/dist/cli/commands/config-cmd.js.map +1 -0
  58. package/dist/cli/commands/db.js +184 -169
  59. package/dist/cli/commands/db.js.map +1 -0
  60. package/dist/cli/commands/doctor.js +212 -122
  61. package/dist/cli/commands/doctor.js.map +1 -0
  62. package/dist/cli/commands/init.js +211 -244
  63. package/dist/cli/commands/init.js.map +1 -0
  64. package/dist/cli/commands/mcp.js +127 -122
  65. package/dist/cli/commands/mcp.js.map +1 -0
  66. package/dist/cli/login/LoginApp.js +355 -141
  67. package/dist/cli/login/LoginApp.js.map +1 -0
  68. package/dist/cli/print-mode.js +196 -177
  69. package/dist/cli/print-mode.js.map +1 -0
  70. package/dist/cli/serve-mode.js +615 -530
  71. package/dist/cli/serve-mode.js.map +1 -0
  72. package/dist/cli/services/agent-config.d.ts +5 -1
  73. package/dist/cli/services/agent-config.js +66 -36
  74. package/dist/cli/services/agent-config.js.map +1 -0
  75. package/dist/cli/services/agent-definitions.d.ts +4 -1
  76. package/dist/cli/services/agent-definitions.js +97 -56
  77. package/dist/cli/services/agent-definitions.js.map +1 -0
  78. package/dist/cli/services/agent-events.js +225 -162
  79. package/dist/cli/services/agent-events.js.map +1 -0
  80. package/dist/cli/services/agent-loop.js +976 -688
  81. package/dist/cli/services/agent-loop.js.map +1 -0
  82. package/dist/cli/services/agent-worker-base.d.ts +35 -5
  83. package/dist/cli/services/agent-worker-base.js +337 -153
  84. package/dist/cli/services/agent-worker-base.js.map +1 -0
  85. package/dist/cli/services/api-retry.js +69 -64
  86. package/dist/cli/services/api-retry.js.map +1 -0
  87. package/dist/cli/services/auth-service.d.ts +3 -3
  88. package/dist/cli/services/auth-service.js +209 -132
  89. package/dist/cli/services/auth-service.js.map +1 -0
  90. package/dist/cli/services/background-processes.js +343 -267
  91. package/dist/cli/services/background-processes.js.map +1 -0
  92. package/dist/cli/services/browser-auth.d.ts +2 -2
  93. package/dist/cli/services/browser-auth.js +159 -118
  94. package/dist/cli/services/browser-auth.js.map +1 -0
  95. package/dist/cli/services/claude-md-loader.js +40 -36
  96. package/dist/cli/services/claude-md-loader.js.map +1 -0
  97. package/dist/cli/services/config-store.d.ts +9 -4
  98. package/dist/cli/services/config-store.js +164 -117
  99. package/dist/cli/services/config-store.js.map +1 -0
  100. package/dist/cli/services/debug-log.d.ts +1 -1
  101. package/dist/cli/services/debug-log.js +34 -35
  102. package/dist/cli/services/debug-log.js.map +1 -0
  103. package/dist/cli/services/env-detect.d.ts +7 -0
  104. package/dist/cli/services/env-detect.js +9 -0
  105. package/dist/cli/services/env-detect.js.map +1 -0
  106. package/dist/cli/services/error-logger.js +187 -169
  107. package/dist/cli/services/error-logger.js.map +1 -0
  108. package/dist/cli/services/file-history.d.ts +1 -1
  109. package/dist/cli/services/file-history.js +50 -54
  110. package/dist/cli/services/file-history.js.map +1 -0
  111. package/dist/cli/services/format-server-response.js +332 -372
  112. package/dist/cli/services/format-server-response.js.map +1 -0
  113. package/dist/cli/services/git-context.js +61 -45
  114. package/dist/cli/services/git-context.js.map +1 -0
  115. package/dist/cli/services/hooks.d.ts +2 -2
  116. package/dist/cli/services/hooks.js +195 -180
  117. package/dist/cli/services/hooks.js.map +1 -0
  118. package/dist/cli/services/ink-incremental.d.ts +19 -0
  119. package/dist/cli/services/ink-incremental.js +59 -0
  120. package/dist/cli/services/ink-incremental.js.map +1 -0
  121. package/dist/cli/services/ink-resize-fix.js +54 -44
  122. package/dist/cli/services/ink-resize-fix.js.map +1 -0
  123. package/dist/cli/services/ink-sync-output.d.ts +12 -0
  124. package/dist/cli/services/ink-sync-output.js +16 -0
  125. package/dist/cli/services/ink-sync-output.js.map +1 -0
  126. package/dist/cli/services/interactive-tools.js +268 -212
  127. package/dist/cli/services/interactive-tools.js.map +1 -0
  128. package/dist/cli/services/keybinding-manager.d.ts +11 -1
  129. package/dist/cli/services/keybinding-manager.js +126 -63
  130. package/dist/cli/services/keybinding-manager.js.map +1 -0
  131. package/dist/cli/services/local-tools.d.ts +1 -1
  132. package/dist/cli/services/local-tools.js +939 -656
  133. package/dist/cli/services/local-tools.js.map +1 -0
  134. package/dist/cli/services/lsp-manager.js +757 -594
  135. package/dist/cli/services/lsp-manager.js.map +1 -0
  136. package/dist/cli/services/mcp-client.d.ts +1 -1
  137. package/dist/cli/services/mcp-client.js +173 -134
  138. package/dist/cli/services/mcp-client.js.map +1 -0
  139. package/dist/cli/services/memory-manager.js +53 -40
  140. package/dist/cli/services/memory-manager.js.map +1 -0
  141. package/dist/cli/services/model-manager.js +55 -40
  142. package/dist/cli/services/model-manager.js.map +1 -0
  143. package/dist/cli/services/model-router.js +115 -85
  144. package/dist/cli/services/model-router.js.map +1 -0
  145. package/dist/cli/services/paths.d.ts +30 -0
  146. package/dist/cli/services/paths.js +81 -0
  147. package/dist/cli/services/paths.js.map +1 -0
  148. package/dist/cli/services/permission-modes.js +32 -25
  149. package/dist/cli/services/permission-modes.js.map +1 -0
  150. package/dist/cli/services/rewind.js +182 -168
  151. package/dist/cli/services/rewind.js.map +1 -0
  152. package/dist/cli/services/ripgrep.js +115 -115
  153. package/dist/cli/services/ripgrep.js.map +1 -0
  154. package/dist/cli/services/sandbox.d.ts +1 -1
  155. package/dist/cli/services/sandbox.js +58 -37
  156. package/dist/cli/services/sandbox.js.map +1 -0
  157. package/dist/cli/services/server-tools.js +738 -565
  158. package/dist/cli/services/server-tools.js.map +1 -0
  159. package/dist/cli/services/session-persistence.js +69 -74
  160. package/dist/cli/services/session-persistence.js.map +1 -0
  161. package/dist/cli/services/subagent-worker.js +42 -27
  162. package/dist/cli/services/subagent-worker.js.map +1 -0
  163. package/dist/cli/services/subagent.d.ts +2 -0
  164. package/dist/cli/services/subagent.js +605 -433
  165. package/dist/cli/services/subagent.js.map +1 -0
  166. package/dist/cli/services/system-prompt.js +86 -78
  167. package/dist/cli/services/system-prompt.js.map +1 -0
  168. package/dist/cli/services/task-decomposer.d.ts +1 -1
  169. package/dist/cli/services/task-decomposer.js +172 -139
  170. package/dist/cli/services/task-decomposer.js.map +1 -0
  171. package/dist/cli/services/team-lead.d.ts +2 -2
  172. package/dist/cli/services/team-lead.js +727 -529
  173. package/dist/cli/services/team-lead.js.map +1 -0
  174. package/dist/cli/services/team-state.js +319 -319
  175. package/dist/cli/services/team-state.js.map +1 -0
  176. package/dist/cli/services/teammate.d.ts +8 -2
  177. package/dist/cli/services/teammate.js +857 -569
  178. package/dist/cli/services/teammate.js.map +1 -0
  179. package/dist/cli/services/telemetry.d.ts +6 -1
  180. package/dist/cli/services/telemetry.js +180 -157
  181. package/dist/cli/services/telemetry.js.map +1 -0
  182. package/dist/cli/services/tools/agent-tools.d.ts +3 -3
  183. package/dist/cli/services/tools/agent-tools.js +480 -322
  184. package/dist/cli/services/tools/agent-tools.js.map +1 -0
  185. package/dist/cli/services/tools/file-ops.js +563 -450
  186. package/dist/cli/services/tools/file-ops.js.map +1 -0
  187. package/dist/cli/services/tools/search-tools.js +231 -162
  188. package/dist/cli/services/tools/search-tools.js.map +1 -0
  189. package/dist/cli/services/tools/shell-exec.js +197 -151
  190. package/dist/cli/services/tools/shell-exec.js.map +1 -0
  191. package/dist/cli/services/tools/task-manager.js +206 -173
  192. package/dist/cli/services/tools/task-manager.js.map +1 -0
  193. package/dist/cli/services/tools/web-tools.js +388 -341
  194. package/dist/cli/services/tools/web-tools.js.map +1 -0
  195. package/dist/cli/setup/SetupApp.d.ts +2 -2
  196. package/dist/cli/setup/SetupApp.js +608 -160
  197. package/dist/cli/setup/SetupApp.js.map +1 -0
  198. package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
  199. package/dist/cli/shared/ErrorBoundary.js +73 -0
  200. package/dist/cli/shared/ErrorBoundary.js.map +1 -0
  201. package/dist/cli/shared/MatrixIntro.js +66 -69
  202. package/dist/cli/shared/MatrixIntro.js.map +1 -0
  203. package/dist/cli/shared/SpinnerSlot.d.ts +14 -0
  204. package/dist/cli/shared/SpinnerSlot.js +63 -0
  205. package/dist/cli/shared/SpinnerSlot.js.map +1 -0
  206. package/dist/cli/shared/Theme.d.ts +1 -1
  207. package/dist/cli/shared/Theme.js +136 -92
  208. package/dist/cli/shared/Theme.js.map +1 -0
  209. package/dist/cli/shared/WhaleBanner.js +99 -11
  210. package/dist/cli/shared/WhaleBanner.js.map +1 -0
  211. package/dist/cli/shared/markdown.d.ts +3 -1
  212. package/dist/cli/shared/markdown.js +736 -674
  213. package/dist/cli/shared/markdown.js.map +1 -0
  214. package/dist/cli/shared/marked-terminal.d.js +2 -0
  215. package/dist/cli/shared/marked-terminal.d.js.map +1 -0
  216. package/dist/cli/shared/theme-manager.js +99 -90
  217. package/dist/cli/shared/theme-manager.js.map +1 -0
  218. package/dist/cli/shared/theme-presets.js +256 -254
  219. package/dist/cli/shared/theme-presets.js.map +1 -0
  220. package/dist/cli/status/StatusApp.js +235 -86
  221. package/dist/cli/status/StatusApp.js.map +1 -0
  222. package/dist/cli/stores/StoreApp.js +275 -65
  223. package/dist/cli/stores/StoreApp.js.map +1 -0
  224. package/dist/index.d.ts +2 -2
  225. package/dist/index.js +509 -396
  226. package/dist/index.js.map +1 -0
  227. package/dist/local-agent/connection.d.ts +2 -2
  228. package/dist/local-agent/connection.js +352 -293
  229. package/dist/local-agent/connection.js.map +1 -0
  230. package/dist/local-agent/discovery.js +259 -122
  231. package/dist/local-agent/discovery.js.map +1 -0
  232. package/dist/local-agent/executor.js +216 -193
  233. package/dist/local-agent/executor.js.map +1 -0
  234. package/dist/local-agent/index.d.ts +2 -2
  235. package/dist/local-agent/index.js +156 -156
  236. package/dist/local-agent/index.js.map +1 -0
  237. package/dist/node/adapters/base.js +18 -8
  238. package/dist/node/adapters/base.js.map +1 -0
  239. package/dist/node/adapters/discord.js +286 -275
  240. package/dist/node/adapters/discord.js.map +1 -0
  241. package/dist/node/adapters/email.js +189 -202
  242. package/dist/node/adapters/email.js.map +1 -0
  243. package/dist/node/adapters/imessage.js +145 -142
  244. package/dist/node/adapters/imessage.js.map +1 -0
  245. package/dist/node/adapters/slack.js +237 -236
  246. package/dist/node/adapters/slack.js.map +1 -0
  247. package/dist/node/adapters/sms.js +149 -151
  248. package/dist/node/adapters/sms.js.map +1 -0
  249. package/dist/node/adapters/telegram.js +88 -92
  250. package/dist/node/adapters/telegram.js.map +1 -0
  251. package/dist/node/adapters/webchat.js +160 -136
  252. package/dist/node/adapters/webchat.js.map +1 -0
  253. package/dist/node/adapters/whatsapp.js +212 -215
  254. package/dist/node/adapters/whatsapp.js.map +1 -0
  255. package/dist/node/cli.js +884 -653
  256. package/dist/node/cli.js.map +1 -0
  257. package/dist/node/config.js +20 -18
  258. package/dist/node/config.js.map +1 -0
  259. package/dist/node/gateway-client.js +191 -181
  260. package/dist/node/gateway-client.js.map +1 -0
  261. package/dist/node/portal/clipboard.js +161 -130
  262. package/dist/node/portal/clipboard.js.map +1 -0
  263. package/dist/node/portal/discovery.js +51 -45
  264. package/dist/node/portal/discovery.js.map +1 -0
  265. package/dist/node/portal/forward.js +64 -58
  266. package/dist/node/portal/forward.js.map +1 -0
  267. package/dist/node/portal/index.js +246 -221
  268. package/dist/node/portal/index.js.map +1 -0
  269. package/dist/node/portal/multiplexer.js +192 -182
  270. package/dist/node/portal/multiplexer.js.map +1 -0
  271. package/dist/node/portal/permissions.js +102 -70
  272. package/dist/node/portal/permissions.js.map +1 -0
  273. package/dist/node/portal/protocol.js +153 -116
  274. package/dist/node/portal/protocol.js.map +1 -0
  275. package/dist/node/portal/screen.js +80 -69
  276. package/dist/node/portal/screen.js.map +1 -0
  277. package/dist/node/portal/session.js +124 -117
  278. package/dist/node/portal/session.js.map +1 -0
  279. package/dist/node/portal/shell.js +140 -113
  280. package/dist/node/portal/shell.js.map +1 -0
  281. package/dist/node/portal/stream.js +77 -75
  282. package/dist/node/portal/stream.js.map +1 -0
  283. package/dist/node/portal/transfer.js +190 -167
  284. package/dist/node/portal/transfer.js.map +1 -0
  285. package/dist/node/portal/ui.js +124 -99
  286. package/dist/node/portal/ui.js.map +1 -0
  287. package/dist/node/remote-desktop/compile-helper.js +50 -45
  288. package/dist/node/remote-desktop/compile-helper.js.map +1 -0
  289. package/dist/node/remote-desktop/index.js +215 -187
  290. package/dist/node/remote-desktop/index.js.map +1 -0
  291. package/dist/node/remote-desktop/protocol.js +45 -29
  292. package/dist/node/remote-desktop/protocol.js.map +1 -0
  293. package/dist/node/runtime.js +493 -410
  294. package/dist/node/runtime.js.map +1 -0
  295. package/dist/server/handlers/__test-utils__/test-db.js +39 -89
  296. package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
  297. package/dist/server/handlers/analytics.js +467 -261
  298. package/dist/server/handlers/analytics.js.map +1 -0
  299. package/dist/server/handlers/api-docs.js +1030 -895
  300. package/dist/server/handlers/api-docs.js.map +1 -0
  301. package/dist/server/handlers/api-keys.js +291 -242
  302. package/dist/server/handlers/api-keys.js.map +1 -0
  303. package/dist/server/handlers/billing.js +330 -239
  304. package/dist/server/handlers/billing.js.map +1 -0
  305. package/dist/server/handlers/browser.js +468 -395
  306. package/dist/server/handlers/browser.js.map +1 -0
  307. package/dist/server/handlers/catalog.js +1377 -978
  308. package/dist/server/handlers/catalog.js.map +1 -0
  309. package/dist/server/handlers/clickhouse.js +157 -109
  310. package/dist/server/handlers/clickhouse.js.map +1 -0
  311. package/dist/server/handlers/comms.js +1439 -984
  312. package/dist/server/handlers/comms.js.map +1 -0
  313. package/dist/server/handlers/creations.js +461 -394
  314. package/dist/server/handlers/creations.js.map +1 -0
  315. package/dist/server/handlers/crm.js +1082 -791
  316. package/dist/server/handlers/crm.js.map +1 -0
  317. package/dist/server/handlers/discovery.js +251 -232
  318. package/dist/server/handlers/discovery.js.map +1 -0
  319. package/dist/server/handlers/embeddings.js +241 -164
  320. package/dist/server/handlers/embeddings.js.map +1 -0
  321. package/dist/server/handlers/enrichment.js +887 -718
  322. package/dist/server/handlers/enrichment.js.map +1 -0
  323. package/dist/server/handlers/image-gen.js +467 -376
  324. package/dist/server/handlers/image-gen.js.map +1 -0
  325. package/dist/server/handlers/inventory.js +797 -424
  326. package/dist/server/handlers/inventory.js.map +1 -0
  327. package/dist/server/handlers/kali.js +272 -230
  328. package/dist/server/handlers/kali.js.map +1 -0
  329. package/dist/server/handlers/llm-providers.js +803 -580
  330. package/dist/server/handlers/llm-providers.js.map +1 -0
  331. package/dist/server/handlers/local-agent.js +133 -105
  332. package/dist/server/handlers/local-agent.js.map +1 -0
  333. package/dist/server/handlers/media.js +1179 -857
  334. package/dist/server/handlers/media.js.map +1 -0
  335. package/dist/server/handlers/meta-ads.js +2669 -2093
  336. package/dist/server/handlers/meta-ads.js.map +1 -0
  337. package/dist/server/handlers/nodes.js +1321 -913
  338. package/dist/server/handlers/nodes.js.map +1 -0
  339. package/dist/server/handlers/operations.js +183 -157
  340. package/dist/server/handlers/operations.js.map +1 -0
  341. package/dist/server/handlers/platform.js +346 -210
  342. package/dist/server/handlers/platform.js.map +1 -0
  343. package/dist/server/handlers/remove-bg.js +118 -86
  344. package/dist/server/handlers/remove-bg.js.map +1 -0
  345. package/dist/server/handlers/storefront.js +586 -446
  346. package/dist/server/handlers/storefront.js.map +1 -0
  347. package/dist/server/handlers/supply-chain.js +546 -326
  348. package/dist/server/handlers/supply-chain.js.map +1 -0
  349. package/dist/server/handlers/transcription.js +106 -97
  350. package/dist/server/handlers/transcription.js.map +1 -0
  351. package/dist/server/handlers/video-gen.js +593 -424
  352. package/dist/server/handlers/video-gen.js.map +1 -0
  353. package/dist/server/handlers/voice.js +1458 -1039
  354. package/dist/server/handlers/voice.js.map +1 -0
  355. package/dist/server/handlers/workflow-steps.js +2837 -2116
  356. package/dist/server/handlers/workflow-steps.js.map +1 -0
  357. package/dist/server/handlers/workflows.js +1630 -933
  358. package/dist/server/handlers/workflows.js.map +1 -0
  359. package/dist/server/index.js +3167 -2422
  360. package/dist/server/index.js.map +1 -0
  361. package/dist/server/lib/batch-client.js +471 -409
  362. package/dist/server/lib/batch-client.js.map +1 -0
  363. package/dist/server/lib/clickhouse-buffer.js +118 -104
  364. package/dist/server/lib/clickhouse-buffer.js.map +1 -0
  365. package/dist/server/lib/clickhouse-client.js +107 -107
  366. package/dist/server/lib/clickhouse-client.js.map +1 -0
  367. package/dist/server/lib/coa-renderer.js +1786 -356
  368. package/dist/server/lib/coa-renderer.js.map +1 -0
  369. package/dist/server/lib/code-worker-pool.js +227 -177
  370. package/dist/server/lib/code-worker-pool.js.map +1 -0
  371. package/dist/server/lib/code-worker.js +174 -164
  372. package/dist/server/lib/code-worker.js.map +1 -0
  373. package/dist/server/lib/compaction-service.d.ts +2 -12
  374. package/dist/server/lib/compaction-service.js +74 -184
  375. package/dist/server/lib/compaction-service.js.map +1 -0
  376. package/dist/server/lib/logger.js +36 -24
  377. package/dist/server/lib/logger.js.map +1 -0
  378. package/dist/server/lib/otel.js +101 -80
  379. package/dist/server/lib/otel.js.map +1 -0
  380. package/dist/server/lib/pdf-renderer.js +952 -788
  381. package/dist/server/lib/pdf-renderer.js.map +1 -0
  382. package/dist/server/lib/prompt-sanitizer.js +188 -108
  383. package/dist/server/lib/prompt-sanitizer.js.map +1 -0
  384. package/dist/server/lib/provider-capabilities.js +136 -138
  385. package/dist/server/lib/provider-capabilities.js.map +1 -0
  386. package/dist/server/lib/provider-failover.js +190 -168
  387. package/dist/server/lib/provider-failover.js.map +1 -0
  388. package/dist/server/lib/rate-limiter.js +186 -117
  389. package/dist/server/lib/rate-limiter.js.map +1 -0
  390. package/dist/server/lib/react-pdf-layout.js +551 -382
  391. package/dist/server/lib/react-pdf-layout.js.map +1 -0
  392. package/dist/server/lib/server-agent-loop.d.ts +4 -1
  393. package/dist/server/lib/server-agent-loop.js +906 -634
  394. package/dist/server/lib/server-agent-loop.js.map +1 -0
  395. package/dist/server/lib/server-subagent.js +260 -164
  396. package/dist/server/lib/server-subagent.js.map +1 -0
  397. package/dist/server/lib/session-checkpoint.js +105 -96
  398. package/dist/server/lib/session-checkpoint.js.map +1 -0
  399. package/dist/server/lib/ssrf-guard.js +193 -184
  400. package/dist/server/lib/ssrf-guard.js.map +1 -0
  401. package/dist/server/lib/supabase-client.js +94 -82
  402. package/dist/server/lib/supabase-client.js.map +1 -0
  403. package/dist/server/lib/template-resolver.js +154 -176
  404. package/dist/server/lib/template-resolver.js.map +1 -0
  405. package/dist/server/lib/utils.js +242 -133
  406. package/dist/server/lib/utils.js.map +1 -0
  407. package/dist/server/local-agent-gateway.d.ts +2 -2
  408. package/dist/server/local-agent-gateway.js +785 -627
  409. package/dist/server/local-agent-gateway.js.map +1 -0
  410. package/dist/server/providers/anthropic.js +250 -172
  411. package/dist/server/providers/anthropic.js.map +1 -0
  412. package/dist/server/providers/bedrock.js +217 -158
  413. package/dist/server/providers/bedrock.js.map +1 -0
  414. package/dist/server/providers/gemini.js +548 -418
  415. package/dist/server/providers/gemini.js.map +1 -0
  416. package/dist/server/providers/openai.js +571 -437
  417. package/dist/server/providers/openai.js.map +1 -0
  418. package/dist/server/providers/registry.js +23 -18
  419. package/dist/server/providers/registry.js.map +1 -0
  420. package/dist/server/providers/shared.js +123 -95
  421. package/dist/server/providers/shared.js.map +1 -0
  422. package/dist/server/providers/types.js +1 -11
  423. package/dist/server/providers/types.js.map +1 -0
  424. package/dist/server/proxy-handlers.js +209 -165
  425. package/dist/server/proxy-handlers.js.map +1 -0
  426. package/dist/server/tool-router.js +959 -599
  427. package/dist/server/tool-router.js.map +1 -0
  428. package/dist/server/validation.js +248 -188
  429. package/dist/server/validation.js.map +1 -0
  430. package/dist/server/worker.js +202 -133
  431. package/dist/server/worker.js.map +1 -0
  432. package/dist/setup.d.ts +2 -2
  433. package/dist/setup.js +151 -147
  434. package/dist/setup.js.map +1 -0
  435. package/dist/shared/agent-core.d.ts +115 -26
  436. package/dist/shared/agent-core.js +956 -522
  437. package/dist/shared/agent-core.js.map +1 -0
  438. package/dist/shared/anthropic-types.js +1 -6
  439. package/dist/shared/anthropic-types.js.map +1 -0
  440. package/dist/shared/api-client.d.ts +16 -9
  441. package/dist/shared/api-client.js +419 -327
  442. package/dist/shared/api-client.js.map +1 -0
  443. package/dist/shared/compaction.d.ts +36 -0
  444. package/dist/shared/compaction.js +138 -0
  445. package/dist/shared/compaction.js.map +1 -0
  446. package/dist/shared/constants.js +67 -64
  447. package/dist/shared/constants.js.map +1 -0
  448. package/dist/shared/sse-parser.js +221 -219
  449. package/dist/shared/sse-parser.js.map +1 -0
  450. package/dist/shared/tool-dispatch.d.ts +4 -0
  451. package/dist/shared/tool-dispatch.js +226 -165
  452. package/dist/shared/tool-dispatch.js.map +1 -0
  453. package/dist/shared/types.js +1 -6
  454. package/dist/shared/types.js.map +1 -0
  455. package/dist/types/cli-highlight.d.js +2 -0
  456. package/dist/types/cli-highlight.d.js.map +1 -0
  457. package/dist/types/diff.d.js +2 -0
  458. package/dist/types/diff.d.js.map +1 -0
  459. package/dist/types/pdf-parse.d.js +2 -0
  460. package/dist/types/pdf-parse.d.js.map +1 -0
  461. package/dist/updater.d.ts +1 -1
  462. package/dist/updater.js +118 -92
  463. package/dist/updater.js.map +1 -0
  464. package/dist/webchat/widget.js +227 -380
  465. package/dist/webchat/widget.js.map +1 -0
  466. package/package.json +22 -10
  467. package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
  468. package/vendor/ink/build/ansi-tokenizer.js +316 -0
  469. package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
  470. package/vendor/ink/build/apply-styles.js +175 -0
  471. package/vendor/ink/build/build-layout.js +77 -0
  472. package/vendor/ink/build/calculate-wrapped-text.js +53 -0
  473. package/vendor/ink/build/colorize.d.ts +3 -0
  474. package/vendor/ink/build/colorize.js +48 -0
  475. package/vendor/ink/build/colorize.js.map +1 -0
  476. package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
  477. package/vendor/ink/build/components/AccessibilityContext.js +5 -0
  478. package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
  479. package/vendor/ink/build/components/App.d.ts +18 -0
  480. package/vendor/ink/build/components/App.js +351 -0
  481. package/vendor/ink/build/components/App.js.map +1 -0
  482. package/vendor/ink/build/components/AppContext.d.ts +15 -0
  483. package/vendor/ink/build/components/AppContext.js +11 -0
  484. package/vendor/ink/build/components/AppContext.js.map +1 -0
  485. package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
  486. package/vendor/ink/build/components/BackgroundContext.js +3 -0
  487. package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
  488. package/vendor/ink/build/components/Box.d.ts +117 -0
  489. package/vendor/ink/build/components/Box.js +34 -0
  490. package/vendor/ink/build/components/Box.js.map +1 -0
  491. package/vendor/ink/build/components/Color.js +62 -0
  492. package/vendor/ink/build/components/Cursor.d.ts +83 -0
  493. package/vendor/ink/build/components/Cursor.js +53 -0
  494. package/vendor/ink/build/components/Cursor.js.map +1 -0
  495. package/vendor/ink/build/components/CursorContext.d.ts +11 -0
  496. package/vendor/ink/build/components/CursorContext.js +8 -0
  497. package/vendor/ink/build/components/CursorContext.js.map +1 -0
  498. package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
  499. package/vendor/ink/build/components/ErrorBoundary.js +23 -0
  500. package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
  501. package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
  502. package/vendor/ink/build/components/ErrorOverview.js +84 -0
  503. package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
  504. package/vendor/ink/build/components/FocusContext.d.ts +16 -0
  505. package/vendor/ink/build/components/FocusContext.js +17 -0
  506. package/vendor/ink/build/components/FocusContext.js.map +1 -0
  507. package/vendor/ink/build/components/Newline.d.ts +13 -0
  508. package/vendor/ink/build/components/Newline.js +8 -0
  509. package/vendor/ink/build/components/Newline.js.map +1 -0
  510. package/vendor/ink/build/components/Spacer.d.ts +7 -0
  511. package/vendor/ink/build/components/Spacer.js +11 -0
  512. package/vendor/ink/build/components/Spacer.js.map +1 -0
  513. package/vendor/ink/build/components/Static.d.ts +24 -0
  514. package/vendor/ink/build/components/Static.js +28 -0
  515. package/vendor/ink/build/components/Static.js.map +1 -0
  516. package/vendor/ink/build/components/StderrContext.d.ts +15 -0
  517. package/vendor/ink/build/components/StderrContext.js +13 -0
  518. package/vendor/ink/build/components/StderrContext.js.map +1 -0
  519. package/vendor/ink/build/components/StdinContext.d.ts +22 -0
  520. package/vendor/ink/build/components/StdinContext.js +19 -0
  521. package/vendor/ink/build/components/StdinContext.js.map +1 -0
  522. package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
  523. package/vendor/ink/build/components/StdoutContext.js +13 -0
  524. package/vendor/ink/build/components/StdoutContext.js.map +1 -0
  525. package/vendor/ink/build/components/Text.d.ts +55 -0
  526. package/vendor/ink/build/components/Text.js +50 -0
  527. package/vendor/ink/build/components/Text.js.map +1 -0
  528. package/vendor/ink/build/components/Transform.d.ts +16 -0
  529. package/vendor/ink/build/components/Transform.js +15 -0
  530. package/vendor/ink/build/components/Transform.js.map +1 -0
  531. package/vendor/ink/build/cursor-helpers.d.ts +38 -0
  532. package/vendor/ink/build/cursor-helpers.js +56 -0
  533. package/vendor/ink/build/cursor-helpers.js.map +1 -0
  534. package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
  535. package/vendor/ink/build/devtools-window-polyfill.js +65 -0
  536. package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
  537. package/vendor/ink/build/devtools.d.ts +1 -0
  538. package/vendor/ink/build/devtools.js +11 -0
  539. package/vendor/ink/build/devtools.js.map +1 -0
  540. package/vendor/ink/build/dom.d.ts +56 -0
  541. package/vendor/ink/build/dom.js +124 -0
  542. package/vendor/ink/build/dom.js.map +1 -0
  543. package/vendor/ink/build/experimental/apply-style.js +140 -0
  544. package/vendor/ink/build/experimental/dom.js +123 -0
  545. package/vendor/ink/build/experimental/output.js +91 -0
  546. package/vendor/ink/build/experimental/reconciler.js +141 -0
  547. package/vendor/ink/build/experimental/renderer.js +81 -0
  548. package/vendor/ink/build/get-max-width.d.ts +3 -0
  549. package/vendor/ink/build/get-max-width.js +10 -0
  550. package/vendor/ink/build/get-max-width.js.map +1 -0
  551. package/vendor/ink/build/hooks/use-app.d.ts +5 -0
  552. package/vendor/ink/build/hooks/use-app.js +8 -0
  553. package/vendor/ink/build/hooks/use-app.js.map +1 -0
  554. package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
  555. package/vendor/ink/build/hooks/use-cursor.js +29 -0
  556. package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
  557. package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
  558. package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
  559. package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
  560. package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
  561. package/vendor/ink/build/hooks/use-focus.js +42 -0
  562. package/vendor/ink/build/hooks/use-focus.js.map +1 -0
  563. package/vendor/ink/build/hooks/use-input.d.ts +131 -0
  564. package/vendor/ink/build/hooks/use-input.js +124 -0
  565. package/vendor/ink/build/hooks/use-input.js.map +1 -0
  566. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  567. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  568. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  569. package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
  570. package/vendor/ink/build/hooks/use-stderr.js +8 -0
  571. package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
  572. package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
  573. package/vendor/ink/build/hooks/use-stdin.js +8 -0
  574. package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
  575. package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
  576. package/vendor/ink/build/hooks/use-stdout.js +8 -0
  577. package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
  578. package/vendor/ink/build/hooks/useInput.js +38 -0
  579. package/vendor/ink/build/index.d.ts +34 -0
  580. package/vendor/ink/build/index.js +20 -0
  581. package/vendor/ink/build/index.js.map +1 -0
  582. package/vendor/ink/build/ink.d.ts +90 -0
  583. package/vendor/ink/build/ink.js +654 -0
  584. package/vendor/ink/build/ink.js.map +1 -0
  585. package/vendor/ink/build/input-parser.d.ts +7 -0
  586. package/vendor/ink/build/input-parser.js +154 -0
  587. package/vendor/ink/build/input-parser.js.map +1 -0
  588. package/vendor/ink/build/instance.js +205 -0
  589. package/vendor/ink/build/instances.d.ts +3 -0
  590. package/vendor/ink/build/instances.js +8 -0
  591. package/vendor/ink/build/instances.js.map +1 -0
  592. package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
  593. package/vendor/ink/build/kitty-keyboard.js +32 -0
  594. package/vendor/ink/build/kitty-keyboard.js.map +1 -0
  595. package/vendor/ink/build/layout.d.ts +7 -0
  596. package/vendor/ink/build/layout.js +33 -0
  597. package/vendor/ink/build/layout.js.map +1 -0
  598. package/vendor/ink/build/log-update.d.ts +19 -0
  599. package/vendor/ink/build/log-update.js +243 -0
  600. package/vendor/ink/build/log-update.js.map +1 -0
  601. package/vendor/ink/build/measure-element.d.ts +16 -0
  602. package/vendor/ink/build/measure-element.js +9 -0
  603. package/vendor/ink/build/measure-element.js.map +1 -0
  604. package/vendor/ink/build/measure-text.d.ts +6 -0
  605. package/vendor/ink/build/measure-text.js +21 -0
  606. package/vendor/ink/build/measure-text.js.map +1 -0
  607. package/vendor/ink/build/options.d.ts +52 -0
  608. package/vendor/ink/build/options.js +2 -0
  609. package/vendor/ink/build/options.js.map +1 -0
  610. package/vendor/ink/build/output.d.ts +35 -0
  611. package/vendor/ink/build/output.js +183 -0
  612. package/vendor/ink/build/output.js.map +1 -0
  613. package/vendor/ink/build/parse-keypress.d.ts +22 -0
  614. package/vendor/ink/build/parse-keypress.js +493 -0
  615. package/vendor/ink/build/parse-keypress.js.map +1 -0
  616. package/vendor/ink/build/reconciler.d.ts +4 -0
  617. package/vendor/ink/build/reconciler.js +274 -0
  618. package/vendor/ink/build/reconciler.js.map +1 -0
  619. package/vendor/ink/build/render-background.d.ts +4 -0
  620. package/vendor/ink/build/render-background.js +25 -0
  621. package/vendor/ink/build/render-background.js.map +1 -0
  622. package/vendor/ink/build/render-border.d.ts +4 -0
  623. package/vendor/ink/build/render-border.js +73 -0
  624. package/vendor/ink/build/render-border.js.map +1 -0
  625. package/vendor/ink/build/render-node-to-output.d.ts +14 -0
  626. package/vendor/ink/build/render-node-to-output.js +147 -0
  627. package/vendor/ink/build/render-node-to-output.js.map +1 -0
  628. package/vendor/ink/build/render-to-string.d.ts +38 -0
  629. package/vendor/ink/build/render-to-string.js +115 -0
  630. package/vendor/ink/build/render-to-string.js.map +1 -0
  631. package/vendor/ink/build/render.d.ts +121 -0
  632. package/vendor/ink/build/render.js +55 -0
  633. package/vendor/ink/build/render.js.map +1 -0
  634. package/vendor/ink/build/renderer.d.ts +8 -0
  635. package/vendor/ink/build/renderer.js +55 -0
  636. package/vendor/ink/build/renderer.js.map +1 -0
  637. package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
  638. package/vendor/ink/build/sanitize-ansi.js +27 -0
  639. package/vendor/ink/build/sanitize-ansi.js.map +1 -0
  640. package/vendor/ink/build/screen-reader-update.d.ts +13 -0
  641. package/vendor/ink/build/screen-reader-update.js +38 -0
  642. package/vendor/ink/build/screen-reader-update.js.map +1 -0
  643. package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
  644. package/vendor/ink/build/squash-text-nodes.js +36 -0
  645. package/vendor/ink/build/squash-text-nodes.js.map +1 -0
  646. package/vendor/ink/build/styles.d.ts +240 -0
  647. package/vendor/ink/build/styles.js +232 -0
  648. package/vendor/ink/build/styles.js.map +1 -0
  649. package/vendor/ink/build/utils.d.ts +2 -0
  650. package/vendor/ink/build/utils.js +4 -0
  651. package/vendor/ink/build/utils.js.map +1 -0
  652. package/vendor/ink/build/wrap-text.d.ts +3 -0
  653. package/vendor/ink/build/wrap-text.js +31 -0
  654. package/vendor/ink/build/wrap-text.js.map +1 -0
  655. package/vendor/ink/build/write-synchronized.d.ts +4 -0
  656. package/vendor/ink/build/write-synchronized.js +7 -0
  657. package/vendor/ink/build/write-synchronized.js.map +1 -0
  658. package/vendor/ink/license +10 -0
  659. package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
  660. package/vendor/ink/node_modules/@types/node/README.md +15 -0
  661. package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
  662. package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
  663. package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
  664. package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  665. package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
  666. package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
  667. package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
  668. package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  669. package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
  670. package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
  671. package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
  672. package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
  673. package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  674. package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
  675. package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
  676. package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
  677. package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
  678. package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
  679. package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
  680. package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
  681. package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  682. package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
  683. package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
  684. package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
  685. package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
  686. package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
  687. package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
  688. package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  689. package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
  690. package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
  691. package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
  692. package/vendor/ink/node_modules/@types/node/package.json +155 -0
  693. package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
  694. package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
  695. package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
  696. package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
  697. package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
  698. package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
  699. package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
  700. package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
  701. package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
  702. package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
  703. package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
  704. package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
  705. package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
  706. package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
  707. package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
  708. package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
  709. package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
  710. package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
  711. package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
  712. package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
  713. package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
  714. package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
  715. package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
  716. package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
  717. package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  718. package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  719. package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  720. package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  721. package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  722. package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  723. package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
  724. package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
  725. package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
  726. package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
  727. package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
  728. package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
  729. package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
  730. package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  731. package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  732. package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
  733. package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  734. package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  735. package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  736. package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
  737. package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  738. package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  739. package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  740. package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  741. package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  742. package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  743. package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  744. package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  745. package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
  746. package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
  747. package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
  748. package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
  749. package/vendor/ink/node_modules/node-pty/README.md +164 -0
  750. package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
  751. package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
  752. package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  753. package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
  754. package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
  755. package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
  756. package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
  757. package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
  758. package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
  759. package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
  760. package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  761. package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
  762. package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
  763. package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  764. package/vendor/ink/node_modules/node-pty/package.json +65 -0
  765. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  766. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  767. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  768. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  769. package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  770. package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  771. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  772. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  773. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  774. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  775. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  776. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  777. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  778. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  779. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  780. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  781. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  782. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  783. package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
  784. package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
  785. package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
  786. package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  787. package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
  788. package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
  789. package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  790. package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
  791. package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
  792. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  793. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  794. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  795. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  796. package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
  797. package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
  798. package/vendor/ink/node_modules/undici-types/README.md +6 -0
  799. package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
  800. package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
  801. package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
  802. package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  803. package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
  804. package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
  805. package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
  806. package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
  807. package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
  808. package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
  809. package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  810. package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
  811. package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  812. package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
  813. package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
  814. package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
  815. package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
  816. package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  817. package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
  818. package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
  819. package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
  820. package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
  821. package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
  822. package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
  823. package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
  824. package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
  825. package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
  826. package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
  827. package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  828. package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
  829. package/vendor/ink/node_modules/undici-types/package.json +55 -0
  830. package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
  831. package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
  832. package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
  833. package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
  834. package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
  835. package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
  836. package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
  837. package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  838. package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  839. package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
  840. package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
  841. package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
  842. package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
  843. package/vendor/ink/package.json +201 -0
  844. package/vendor/ink/readme.md +2636 -0
  845. package/bin/swag-agent.js +0 -9
  846. package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
  847. package/dist/server/lib/pg-rate-limiter.js +0 -86
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coa-renderer.js","names":["React","Document","Page","Text","View","Image","StyleSheet","renderToBuffer","Svg","Path","e","createElement","colors","black","gray900","gray800","gray700","gray600","gray500","gray400","gray300","gray200","gray100","gray50","green700","green500","green50","white","pieColors","THCa","THCP","CBD","CBDa","CBG","CBGa","CBC","CBN","CBDV","THCV","CBL","CBCA","CBNA","Other","styles","create","page","paddingTop","paddingBottom","paddingLeft","paddingRight","fontSize","fontFamily","color","backgroundColor","header","flexDirection","justifyContent","borderBottomWidth","borderBottomColor","marginBottom","headerLeft","alignItems","logo","width","height","companyInfo","marginLeft","companyName","companySubname","marginTop","divider","marginHorizontal","labContact","lineHeight","docTitle","sampleSection","sampleCol","flex","paddingHorizontal","sampleTitle","infoRow","infoLabel","infoValue","sectionHeader","sectionTitle","sectionStatus","tableContainer","table","borderWidth","borderColor","tableHeader","tableHeaderCell","padding","textAlign","borderRightWidth","borderRightColor","tableHeaderCellLast","tableRow","minHeight","tableRowAlt","tableCell","tableCellLast","tableCellLeft","tableSummaryRow","summaryContainer","summaryBox","summaryBoxInactive","summaryValue","summaryValueInactive","summaryLabel","summaryLabelInactive","summaryTableTitle","summaryTable","summaryTableRow","summaryTableCell","summaryTableCellLeft","methodology","methodologyTitle","methodologyText","footer","borderTopWidth","borderTopColor","footerLeft","qrSection","marginRight","qrCode","qrLabel","disclaimer","footerRight","footerCompany","signatureSection","signatureName","signatureTitle","panelStyles","pageHeader","pageHeaderLeft","pageHeaderLogo","pageHeaderTitle","pageHeaderCompany","pageHeaderSubtitle","pageHeaderRight","pageTitle","pageSampleInfo","panelSection","summaryCard","borderRadius","summaryCardTitle","summaryCardText","panelHeader","panelTitle","flexShrink","statusBadge","paddingVertical","statusBadgeFail","panelTable","panelTableHeader","panelTableHeaderCell","panelTableRow","panelTableCell","panelTableCellLeft","pesticideTableRow","pesticideTableCell","pesticideTableCellLeft","passText","failText","twoColumnContainer","gap","columnHalf","pageFooter","position","bottom","left","right","footerText","categoryBadge","categoryTitle","categorySubtitle","createPieSlice","cx","cy","r","startAngle","endAngle","start","x","Math","cos","PI","y","sin","end","largeArc","PieChart","cannabinoids","detected","filter","c","result","percentWeight","sort","a","b","length","reduce","sum","placeholderData","name","pct","currentAngle","placeholderSlices","map","item","i","angle","path","key","String","d","fill","opacity","placeholderLegend","style","viewBox","total","slices","legend","slice","displayName","replace","toFixed","PanelPageHeader","data","title","logoUrl","src","labName","split","join","sampleName","sampleId","sampleType","dateCollected","dateReceived","dateTested","batchId","clientName","clientAddress","licenseNumber","letterSpacing","PanelPageFooter","pageNum","totalPages","methodText","qrCodeDataUrl","labWebsite","signatureUrl","labDirector","directorTitle","approvalDate","SafetyTestingPage","microbialPassed","microbialResults","some","status","heavyMetalsPassed","heavyMetalsResults","mycotoxinsPassed","mycotoxinResults","size","analyte","test","limit","lod","loq","PesticidePage","category","pesticides","allPassed","half","ceil","leftColumn","rightColumn","isCat1","renderColumn","items","ResidualSolventsPage","testsResidualSolvents","solvents","CannabisCOADocument","totalTHC","totalCBD","totalCBDDisplay","totalCannabinoids","hasResidualSolvents","fullPanel","top4","pages","push","sampleSize","mgPerG","parseFloat","testsBatch","testsCannabinoids","testsMoisture","moisture","notes","pesticidesCat1","pesticidesCat2","renderCOAToPdf","doc","buffer","Buffer","from"],"sources":["../../../src/server/lib/coa-renderer.ts"],"sourcesContent":["// server/lib/coa-renderer.ts — React-PDF COA renderer\n// Ported from CoaGenerator edge function. Produces pixel-perfect branded COA PDFs.\n\nimport React from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n Image,\n StyleSheet,\n renderToBuffer,\n Svg,\n Path,\n} from \"@react-pdf/renderer\";\n\nconst e = React.createElement;\n\n// ============================================================================\n// Design Tokens\n// ============================================================================\n\nconst colors = {\n black: \"#000000\",\n gray900: \"#111827\",\n gray800: \"#1f2937\",\n gray700: \"#374151\",\n gray600: \"#4b5563\",\n gray500: \"#6b7280\",\n gray400: \"#9ca3af\",\n gray300: \"#d1d5db\",\n gray200: \"#e5e7eb\",\n gray100: \"#f3f4f6\",\n gray50: \"#f9fafb\",\n green700: \"#15803d\",\n green500: \"#10b981\",\n green50: \"#f0fdf4\",\n white: \"#ffffff\",\n};\n\nconst pieColors: Record<string, string> = {\n THCa: \"#10B981\",\n \"D9-THC\": \"#F59E0B\",\n \"D8-THC\": \"#EF4444\",\n THCP: \"#8B5CF6\",\n CBD: \"#3B82F6\",\n CBDa: \"#06B6D4\",\n CBG: \"#14B8A6\",\n CBGa: \"#059669\",\n CBC: \"#EC4899\",\n CBN: \"#F97316\",\n CBDV: \"#6366F1\",\n THCV: \"#A855F7\",\n CBL: \"#84CC16\",\n CBCA: \"#D946EF\",\n CBNA: \"#F43F5E\",\n Other: \"#9CA3AF\",\n};\n\n// ============================================================================\n// Interfaces\n// ============================================================================\n\nexport interface COAData {\n labName?: string;\n labContact?: string;\n logoUrl?: string;\n labWebsite?: string;\n labDirector?: string;\n directorTitle?: string;\n signatureUrl?: string;\n approvalDate?: string;\n sampleName: string;\n sampleId: string;\n strain?: string;\n sampleType?: string;\n sampleSize?: string;\n batchId?: string;\n dateCollected?: string;\n dateReceived?: string;\n dateTested?: string;\n dateReported?: string;\n clientName: string;\n clientAddress?: string;\n licenseNumber?: string;\n clientState?: string;\n clientType?: string;\n cannabinoids?: Cannabinoid[];\n totalTHC?: number;\n totalCBD?: number;\n totalCannabinoids?: number;\n moisture?: number;\n D9_THC?: number;\n d9_thc?: number;\n testsBatch?: boolean;\n testsCannabinoids?: boolean;\n testsMoisture?: boolean;\n qrCodeDataUrl?: string;\n notes?: string;\n fullPanel?: boolean;\n totalPages?: number;\n microbialResults?: MicrobialResult[];\n heavyMetalsResults?: HeavyMetalResult[];\n mycotoxinResults?: MycotoxinResult[];\n pesticidesCat1?: PesticideResult[];\n pesticidesCat2?: PesticideResult[];\n testsResidualSolvents?: ResidualSolventResult[];\n}\n\ninterface Cannabinoid {\n name: string;\n lod: number;\n loq: number;\n result: string | number;\n percentWeight: number;\n mgPerG: number;\n}\n\ninterface MicrobialResult {\n test?: string;\n analyte?: string;\n result: number | \"ND\";\n limit: number | \"ND\" | string;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface HeavyMetalResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface MycotoxinResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface PesticideResult {\n analyte: string;\n result: \"ND\" | number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface ResidualSolventResult {\n analyte: string;\n result: string | number;\n limit: number;\n loq?: number;\n unit: string;\n status: \"Pass\" | \"Fail\";\n}\n\n// ============================================================================\n// StyleSheets\n// ============================================================================\n\nconst styles = StyleSheet.create({\n page: {\n paddingTop: 15,\n paddingBottom: 15,\n paddingLeft: 10,\n paddingRight: 10,\n fontSize: 8,\n fontFamily: \"Helvetica\",\n color: colors.gray900,\n backgroundColor: colors.white,\n },\n header: {\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n paddingBottom: 6,\n marginBottom: 6,\n },\n headerLeft: { flexDirection: \"row\", alignItems: \"center\" },\n logo: { width: 45, height: 45 },\n companyInfo: { marginLeft: 8 },\n companyName: { fontSize: 22, fontFamily: \"Helvetica-Bold\", color: colors.black },\n companySubname: { fontSize: 17, color: colors.black, marginTop: -2 },\n divider: { width: 1, height: 45, backgroundColor: colors.gray300, marginHorizontal: 10 },\n labContact: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n docTitle: { fontSize: 11, color: colors.gray700, marginTop: 6 },\n sampleSection: {\n flexDirection: \"row\",\n marginBottom: 8,\n paddingBottom: 6,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n sampleCol: { flex: 1, paddingHorizontal: 8 },\n sampleTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n infoRow: { flexDirection: \"row\", marginBottom: 2 },\n infoLabel: { fontSize: 7.5, fontFamily: \"Helvetica-Bold\", color: colors.gray900 },\n infoValue: { fontSize: 7.5, color: colors.gray700, marginLeft: 3 },\n sectionHeader: { flexDirection: \"row\", justifyContent: \"space-between\", marginBottom: 4 },\n sectionTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\" },\n sectionStatus: { fontSize: 8, color: colors.gray700 },\n tableContainer: { flexDirection: \"row\" },\n table: { flex: 1, borderWidth: 1, borderColor: colors.gray200 },\n tableHeader: {\n flexDirection: \"row\",\n backgroundColor: colors.gray50,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n tableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n tableHeaderCellLast: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n },\n tableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 22,\n },\n tableRowAlt: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200,\n backgroundColor: colors.gray50, minHeight: 22,\n },\n tableCell: {\n padding: 6, fontSize: 9, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200, color: colors.gray700,\n },\n tableCellLast: { padding: 6, fontSize: 9, textAlign: \"center\", color: colors.gray700 },\n tableCellLeft: {\n padding: 6, fontSize: 9, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200, fontFamily: \"Helvetica-Bold\",\n },\n tableSummaryRow: {\n flexDirection: \"row\", backgroundColor: colors.gray100, minHeight: 22,\n },\n summaryContainer: { width: 145, marginLeft: 12 },\n summaryBox: {\n borderWidth: 2, borderColor: colors.green500, backgroundColor: colors.green50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryBoxInactive: {\n borderWidth: 2, borderColor: colors.gray300, backgroundColor: colors.gray50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryValue: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green700 },\n summaryValueInactive: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.gray500 },\n summaryLabel: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginTop: 3 },\n summaryLabelInactive: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.gray500, marginTop: 3 },\n summaryTableTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", marginTop: 10, marginBottom: 4 },\n summaryTable: { borderWidth: 1, borderColor: colors.gray200 },\n summaryTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n summaryTableCell: { padding: 4, fontSize: 8, flex: 1, textAlign: \"center\" },\n summaryTableCellLeft: {\n padding: 4, fontSize: 8, flex: 1, textAlign: \"left\", fontFamily: \"Helvetica-Bold\",\n },\n methodology: { backgroundColor: colors.gray50, padding: 8, marginTop: 8, marginBottom: 8 },\n methodologyTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray700, lineHeight: 1.5 },\n footer: {\n flexDirection: \"row\", borderTopWidth: 1, borderTopColor: colors.gray200,\n paddingTop: 8, marginTop: 6,\n },\n footerLeft: { flex: 1, flexDirection: \"row\" },\n qrSection: { alignItems: \"center\", marginRight: 12 },\n qrCode: { width: 60, height: 60, borderWidth: 1, borderColor: colors.gray300 },\n qrLabel: { fontSize: 7, color: colors.gray700, marginTop: 3 },\n disclaimer: { flex: 1, fontSize: 7, color: colors.gray700, lineHeight: 1.4 },\n footerRight: { width: 150, alignItems: \"flex-end\" },\n footerCompany: { fontSize: 9, textAlign: \"right\", marginBottom: 8 },\n signatureSection: {\n borderTopWidth: 1, borderTopColor: colors.gray300, paddingTop: 8, alignItems: \"flex-end\",\n },\n signatureName: { fontSize: 9, fontFamily: \"Helvetica-Bold\" },\n signatureTitle: { fontSize: 8, color: colors.gray700 },\n});\n\nconst panelStyles = StyleSheet.create({\n pageHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n borderBottomWidth: 2, borderBottomColor: colors.green500, paddingBottom: 6, marginBottom: 8,\n },\n pageHeaderLeft: { flexDirection: \"row\", alignItems: \"center\" },\n pageHeaderLogo: { width: 28, height: 28 },\n pageHeaderTitle: { marginLeft: 8 },\n pageHeaderCompany: { fontSize: 14, fontFamily: \"Helvetica-Bold\" },\n pageHeaderSubtitle: { fontSize: 9, color: colors.gray600 },\n pageHeaderRight: { textAlign: \"right\" },\n pageTitle: { fontSize: 12, fontFamily: \"Helvetica-Bold\" },\n pageSampleInfo: { fontSize: 8, color: colors.gray600 },\n panelSection: { marginBottom: 6 },\n summaryCard: {\n backgroundColor: colors.green50, borderWidth: 2, borderColor: colors.green500,\n borderRadius: 8, padding: 8, marginBottom: 8,\n },\n summaryCardTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginBottom: 6 },\n summaryCardText: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n panelHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n backgroundColor: colors.gray100, padding: 8, marginBottom: 1,\n },\n panelTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", flexShrink: 0 },\n statusBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n statusBadgeFail: {\n backgroundColor: \"#EF4444\", color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n panelTable: { borderWidth: 1, borderColor: colors.gray200 },\n panelTableHeader: {\n flexDirection: \"row\", backgroundColor: colors.gray50,\n borderBottomWidth: 1, borderBottomColor: colors.gray200,\n },\n panelTableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n panelTableCell: {\n padding: 3, fontSize: 7, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableCellLeft: {\n padding: 3, fontSize: 7, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n pesticideTableRow: {\n flexDirection: \"row\", borderBottomWidth: 0.5, borderBottomColor: colors.gray200, minHeight: 14,\n },\n pesticideTableCell: {\n padding: 2, fontSize: 6.5, textAlign: \"center\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n pesticideTableCellLeft: {\n padding: 2, fontSize: 6.5, textAlign: \"left\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n passText: { color: colors.green700, fontFamily: \"Helvetica-Bold\" },\n failText: { color: \"#EF4444\", fontFamily: \"Helvetica-Bold\" },\n twoColumnContainer: { flexDirection: \"row\", gap: 12 },\n columnHalf: { flex: 1 },\n pageFooter: {\n position: \"absolute\", bottom: 20, left: 20, right: 20,\n flexDirection: \"row\", justifyContent: \"space-between\",\n borderTopWidth: 1, borderTopColor: colors.gray200, paddingTop: 8,\n },\n footerText: { fontSize: 7, color: colors.gray600 },\n methodology: { marginTop: 8, padding: 6, backgroundColor: colors.gray50 },\n methodologyTitle: { fontSize: 8, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray600, lineHeight: 1.4 },\n categoryBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 6, paddingVertical: 2, fontSize: 7, fontFamily: \"Helvetica-Bold\",\n },\n categoryTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginLeft: 8 },\n categorySubtitle: { fontSize: 7, color: colors.gray600, marginLeft: 8 },\n});\n\n// ============================================================================\n// Pie Chart\n// ============================================================================\n\nconst createPieSlice = (cx: number, cy: number, r: number, startAngle: number, endAngle: number): string => {\n const start = {\n x: cx + r * Math.cos((startAngle * Math.PI) / 180),\n y: cy + r * Math.sin((startAngle * Math.PI) / 180),\n };\n const end = {\n x: cx + r * Math.cos((endAngle * Math.PI) / 180),\n y: cy + r * Math.sin((endAngle * Math.PI) / 180),\n };\n const largeArc = endAngle - startAngle > 180 ? 1 : 0;\n return `M ${cx} ${cy} L ${start.x} ${start.y} A ${r} ${r} 0 ${largeArc} 1 ${end.x} ${end.y} Z`;\n};\n\nconst PieChart = ({ cannabinoids }: { cannabinoids: Cannabinoid[] }) => {\n const detected = cannabinoids\n .filter((c) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a, b) => b.percentWeight - a.percentWeight);\n const cx = 35, cy = 35, r = 30;\n\n if (detected.length === 0 || detected.reduce((sum, c) => sum + c.percentWeight, 0) === 0) {\n const placeholderData = [\n { name: \"D9-THC\", pct: 65 }, { name: \"THCa\", pct: 20 },\n { name: \"CBD\", pct: 10 }, { name: \"Other\", pct: 5 },\n ];\n let currentAngle = -90;\n const placeholderSlices = placeholderData.map((item, i) => {\n const angle = (item.pct / 100) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[item.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color, opacity: 0.4 });\n });\n const placeholderLegend = placeholderData.map((item, i) => {\n const color = pieColors[item.name] || pieColors.Other;\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, opacity: 0.4, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray400 } }, `${item.name}: --%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...placeholderSlices),\n e(View, { style: { marginLeft: 4 } }, ...placeholderLegend),\n );\n }\n\n const total = detected.reduce((sum, c) => sum + c.percentWeight, 0);\n let currentAngle = -90;\n const slices = detected.map((c, i) => {\n const angle = (c.percentWeight / total) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[c.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color });\n });\n const legend = detected.slice(0, 6).map((c, i) => {\n const color = pieColors[c.name] || pieColors.Other;\n const displayName = c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray700 } }, `${displayName}: ${c.percentWeight.toFixed(2)}%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...slices),\n e(View, { style: { marginLeft: 4 } }, ...legend),\n );\n};\n\n// ============================================================================\n// Shared Components (Pages 2-5)\n// ============================================================================\n\nconst PanelPageHeader = ({ data, title }: { data: COAData; title: string }) => {\n return e(View, null,\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n ),\n e(Text, { style: { ...styles.docTitle, fontSize: 10, fontFamily: \"Helvetica-Bold\" } }, title),\n ),\n e(View, { style: { ...styles.sampleSection, marginBottom: 8 } },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Sample ID:\"),\n e(Text, { style: styles.infoValue }, data.sampleId),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Matrix:\"),\n e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Collected:\"),\n e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Received:\"),\n e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Completed:\"),\n e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Batch #:\"),\n e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\", justifyContent: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4, textAlign: \"center\" } }, \"Test Result\"),\n e(View, { style: {\n width: 70, height: 40, borderWidth: 3, borderColor: colors.green500,\n borderRadius: 4, backgroundColor: colors.white, alignItems: \"center\", justifyContent: \"center\",\n } },\n e(Text, { style: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green500, letterSpacing: 2 } }, \"PASS\"),\n ),\n ),\n ),\n );\n};\n\nconst PanelPageFooter = ({ data, pageNum, totalPages }: { data: COAData; pageNum: number; totalPages: number }) => {\n const methodText = pageNum === 2\n ? \"All safety and compliance testing is performed in accordance with ISO 17025 accredited laboratory standards. Heavy metals via ICP-MS. Microbial via qPCR. Solvents via HS-GC-MS. Mycotoxins via LC-MS/MS. ND = Not Detected (below Limit of Detection).\"\n : pageNum >= 3\n ? \"Comprehensive pesticide screening performed using LC-MS/MS in accordance with ISO 17025 standards. Category I pesticides are banned substances with zero tolerance. Category II pesticides have established action levels. All results in ppm. ND = Not Detected.\"\n : \"Testing performed using validated methods per ISO 17025 standards. This Certificate applies only to the sample(s) tested.\";\n\n return e(View, null,\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText }, methodText),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.approvalDate || data.dateTested || \"\\u2014\"),\n e(Text, { style: { fontSize: 7, color: colors.gray500, marginTop: 8, textAlign: \"right\" } },\n `Page ${pageNum} of ${totalPages}`,\n ),\n ),\n ),\n ),\n );\n};\n\n// ============================================================================\n// Page 2: Safety & Compliance\n// ============================================================================\n\nconst SafetyTestingPage = ({ data }: { data: COAData }) => {\n const microbialPassed = !data.microbialResults?.some((r) => r.status === \"Fail\");\n const heavyMetalsPassed = !data.heavyMetalsResults?.some((r) => r.status === \"Fail\");\n const mycotoxinsPassed = !data.mycotoxinResults?.some((r) => r.status === \"Fail\");\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Safety & Compliance Testing\" }),\n e(View, { style: panelStyles.summaryCard },\n e(Text, { style: panelStyles.summaryCardTitle }, \"\\u2713 All Safety Tests Passed\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"This sample has been tested for microbial contaminants, heavy metals, and mycotoxins. All results are within acceptable limits as defined by state regulations and industry standards.\",\n ),\n ),\n e(View, { style: panelStyles.twoColumnContainer },\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Microbial Contaminants\"),\n e(Text, { style: microbialPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n microbialPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Test\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.microbialResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"45%\" } }, r.analyte || r.test || \"\"),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\" } }, String(r.limit || \"\")),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"15%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Heavy Metals Analysis\"),\n e(Text, { style: heavyMetalsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n heavyMetalsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.heavyMetalsResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Mycotoxins\"),\n e(Text, { style: mycotoxinsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n mycotoxinsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.mycotoxinResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n ),\n e(PanelPageFooter, { data, pageNum: 2, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Pages 3 & 4: Pesticide tables (shared renderer)\n// ============================================================================\n\nconst PesticidePage = ({ data, category, pesticides, pageNum }: {\n data: COAData; category: \"I\" | \"II\"; pesticides: PesticideResult[]; pageNum: number;\n}) => {\n const allPassed = !pesticides.some((r) => r.status === \"Fail\");\n const half = Math.ceil(pesticides.length / 2);\n const leftColumn = pesticides.slice(0, half);\n const rightColumn = pesticides.slice(half);\n const isCat1 = category === \"I\";\n\n const renderColumn = (items: PesticideResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"60%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"60%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: {\n ...panelStyles.pesticideTableCell, width: \"20%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: isCat1 ? \"Pesticide Screening\" : \"Pesticide Screening (Continued)\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Pesticide Tests Passed\" : \"\\u26A0 Pesticide Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n isCat1\n ? \"Category I pesticides are banned substances with zero tolerance. Any detection of these pesticides results in automatic failure and product cannot be sold.\"\n : \"Category II pesticides have established action levels. Results must be below the regulatory limits shown. These pesticides are restricted but allowed at specified concentrations.\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 8 } },\n e(Text, { style: panelStyles.categoryBadge }, `CATEGORY ${category}`),\n e(Text, { style: panelStyles.categoryTitle },\n isCat1 ? `Zero Tolerance - ${pesticides.length} Analytes` : `Action Level - ${pesticides.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle },\n isCat1 ? \"Any detection = FAIL\" : \"Must be below established limits\"),\n ),\n isCat1 ? e(View, { style: { ...panelStyles.panelHeader, marginBottom: 8 } },\n e(Text, { style: panelStyles.panelTitle }, \"Pesticide Analysis - 66 Analytes\"),\n e(Text, { style: allPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n allPassed ? \"Pass\" : \"Fail\"),\n ) : null,\n isCat1 ? e(Text, { style: { fontSize: 7, color: colors.gray600, marginBottom: 8 } },\n \"Method: LC-MS/MS | LOD: 0.005-0.05 ppm | LOQ: 0.01-0.1 ppm\") : null,\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Page 5: Residual Solvents\n// ============================================================================\n\nconst ResidualSolventsPage = ({ data }: { data: COAData }) => {\n const allPassed = !data.testsResidualSolvents?.some((r) => r.status === \"Fail\");\n const solvents = data.testsResidualSolvents || [];\n const half = Math.ceil(solvents.length / 2);\n const leftColumn = solvents.slice(0, half);\n const rightColumn = solvents.slice(half);\n\n const renderColumn = (items: ResidualSolventResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Solvent\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"25%\" } }, \"Result (ppm)\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"30%\", borderRightWidth: 0 } }, \"Limit (ppm)\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"45%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"25%\", fontFamily: \"Helvetica-Bold\" } },\n typeof r.result === \"string\" ? r.result : String(r.result)),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"30%\", borderRightWidth: 0 } },\n String(r.limit)),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Residual Solvents Analysis\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Solvent Tests Passed\" : \"\\u26A0 Solvent Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"Residual solvents testing per USP <467> standards. Class 1 solvents (carcinogens) have strict limits. Class 2/3 solvents have higher allowable limits. All results in ppm (parts per million).\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 12 } },\n e(Text, { style: panelStyles.categoryBadge }, \"USP <467>\"),\n e(Text, { style: panelStyles.categoryTitle }, `Residual Solvents - ${solvents.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle }, \"HS-GC-MS Analysis\"),\n ),\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum: 5, totalPages: data.totalPages || 5 }),\n );\n};\n\n// ============================================================================\n// Main Document\n// ============================================================================\n\nconst CannabisCOADocument = ({ data }: { data: COAData }) => {\n const totalTHC = data.totalTHC && data.totalTHC > 0 ? data.totalTHC.toFixed(2) : \"ND\";\n const totalCBD = data.totalCBD || 0;\n const totalCBDDisplay = totalCBD > 0 ? totalCBD.toFixed(2) : \"ND\";\n const totalCannabinoids = data.totalCannabinoids && data.totalCannabinoids > 0 ? data.totalCannabinoids.toFixed(2) : \"ND\";\n const hasResidualSolvents = data.testsResidualSolvents && data.testsResidualSolvents.length > 0;\n const totalPages = data.fullPanel ? (hasResidualSolvents ? 5 : 4) : 1;\n\n const top4 = (data.cannabinoids || [])\n .filter((c: Cannabinoid) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a: Cannabinoid, b: Cannabinoid) => b.percentWeight - a.percentWeight)\n .slice(0, 4);\n\n const pages = [];\n\n // Page 1: Cannabinoid Profile\n pages.push(e(Page, { key: \"page1\", size: \"A4\", style: styles.page },\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n ),\n e(Text, { style: styles.docTitle }, \"Certificate of Analysis\"),\n ),\n e(View, { style: styles.sampleSection },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample ID:\"), e(Text, { style: styles.infoValue }, data.sampleId)),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Matrix:\"), e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample Size:\"), e(Text, { style: styles.infoValue }, data.sampleSize || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Collected:\"), e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Received:\"), e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Completed:\"), e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Batch #:\"), e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4 } }, \"Cannabinoid Distribution\"),\n e(PieChart, { cannabinoids: data.cannabinoids || [] }),\n ),\n ),\n e(View, { style: styles.sectionHeader },\n e(Text, { style: styles.sectionTitle }, \"Cannabinoids\"),\n e(Text, { style: styles.sectionStatus }, \"Complete\"),\n ),\n e(View, { style: styles.tableContainer },\n e(View, { style: styles.table },\n e(View, { style: styles.tableHeader },\n e(Text, { style: { ...styles.tableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOD mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOQ mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"22%\" } }, \"Result %\"),\n e(Text, { style: { ...styles.tableHeaderCellLast, width: \"22%\" } }, \"Result mg/g\"),\n ),\n ...(data.cannabinoids || []).map((c, i) => {\n const displayName = (c.name || \"\").replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: i % 2 === 0 ? styles.tableRow : styles.tableRowAlt },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, displayName),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.lod.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.loq.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } },\n c.result === \"ND\" ? \"ND\" : c.percentWeight.toFixed(2)),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } },\n c.result === \"ND\" ? \"ND\" : c.mgPerG.toFixed(2)),\n );\n }),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total THC\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalTHC),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalTHC === \"ND\" ? \"ND\" : (parseFloat(totalTHC) * 10).toFixed(2)),\n ),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total CBD\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCBDDisplay),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCBD > 0 ? (totalCBD * 10).toFixed(2) : \"ND\"),\n ),\n e(View, { style: { ...styles.tableSummaryRow, borderBottomWidth: 0 } },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total Cannabinoids\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCannabinoids),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCannabinoids === \"ND\" ? \"ND\" : (parseFloat(totalCannabinoids) * 10).toFixed(2)),\n ),\n ),\n e(View, { style: styles.summaryContainer },\n ...top4.map((c: Cannabinoid, i: number) =>\n e(View, { key: String(i), style: styles.summaryBox },\n e(Text, { style: styles.summaryValue }, `${c.percentWeight.toFixed(2)}%`),\n e(Text, { style: styles.summaryLabel }, c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\")),\n ),\n ),\n e(Text, { style: styles.summaryTableTitle }, \"Summary\"),\n e(View, { style: styles.summaryTable },\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Test\"),\n e(Text, { style: styles.summaryTableCell }, \"Date\"),\n e(Text, { style: styles.summaryTableCell }, \"Result\"),\n ),\n e(View, { style: styles.summaryTableRow },\n e(Text, { style: styles.summaryTableCellLeft }, \"Batch\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? \"Complete\" : \"Not Submitted\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Cannabinoids\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? \"Complete\" : \"Not Tested\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, borderBottomWidth: 0 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Moisture\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? `${data.moisture ? data.moisture.toFixed(2) : \"0.00\"}%` : \"Not Tested\"),\n ),\n ),\n ),\n ),\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, data.notes || \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText },\n \"Total THC = D9-THC + 0.877 \\u00D7 THCa. Total CBD = CBD + 0.877 \\u00D7 CBDa. Total Cannabinoids = Sum of individual cannabinoids detected. Testing performed using validated HPLC-UV/MS methods per ISO 17025 standards. Unless otherwise stated, all quality control samples performed within specifications. This Certificate applies only to the sample(s) tested and is not a declaration of product safety, efficacy, or regulatory compliance.\",\n ),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.approvalDate || data.dateTested || \"\\u2014\"),\n data.fullPanel ? e(Text, { style: { fontSize: 7, color: colors.gray500, marginTop: 8, textAlign: \"right\" } },\n `Page 1 of ${totalPages}`) : null,\n ),\n ),\n ),\n ));\n\n if (data.fullPanel) {\n pages.push(e(SafetyTestingPage, { key: \"page2\", data: { ...data, totalPages } }));\n pages.push(e(PesticidePage, { key: \"page3\", data: { ...data, totalPages }, category: \"I\", pesticides: data.pesticidesCat1 || [], pageNum: 3 }));\n pages.push(e(PesticidePage, { key: \"page4\", data: { ...data, totalPages }, category: \"II\", pesticides: data.pesticidesCat2 || [], pageNum: 4 }));\n if (hasResidualSolvents) {\n pages.push(e(ResidualSolventsPage, { key: \"page5\", data: { ...data, totalPages } }));\n }\n }\n\n return e(Document, {}, ...pages);\n};\n\n// ============================================================================\n// Public API\n// ============================================================================\n\nexport async function renderCOAToPdf(data: COAData): Promise<Buffer> {\n const doc = React.createElement(CannabisCOADocument, { data }) as any;\n const buffer = await renderToBuffer(doc);\n return Buffer.from(buffer);\n}\n"],"mappings":"AAAA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,QAAQ,EACRC,IAAI,EACJC,IAAI,EACJC,IAAI,EACJC,KAAK,EACLC,UAAU,EACVC,cAAc,EACdC,GAAG,EACHC,IAAI,QACC,qBAAqB;AAE5B,MAAMC,CAAC,GAAGV,KAAK,CAACW,aAAa;;AAE7B;AACA;AACA;;AAEA,MAAMC,MAAM,GAAG;EACbC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,SAAS;EACjBC,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,SAAS;EACnBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,SAAiC,GAAG;EACxCC,IAAI,EAAE,SAAS;EACf,QAAQ,EAAE,SAAS;EACnB,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAkGA;AACA;AACA;;AAEA,MAAMC,MAAM,GAAGrC,UAAU,CAACsC,MAAM,CAAC;EAC/BC,IAAI,EAAE;IACJC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE,EAAE;IACjBC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,CAAC;IACXC,UAAU,EAAE,WAAW;IACvBC,KAAK,EAAExC,MAAM,CAACE,OAAO;IACrBuC,eAAe,EAAEzC,MAAM,CAACe;EAC1B,CAAC;EACD2B,MAAM,EAAE;IACNC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IACjC0B,aAAa,EAAE,CAAC;IAChBY,YAAY,EAAE;EAChB,CAAC;EACDC,UAAU,EAAE;IAAEL,aAAa,EAAE,KAAK;IAAEM,UAAU,EAAE;EAAS,CAAC;EAC1DC,IAAI,EAAE;IAAEC,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAG,CAAC;EAC/BC,WAAW,EAAE;IAAEC,UAAU,EAAE;EAAE,CAAC;EAC9BC,WAAW,EAAE;IAAEjB,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACC;EAAM,CAAC;EAChFuD,cAAc,EAAE;IAAElB,QAAQ,EAAE,EAAE;IAAEE,KAAK,EAAExC,MAAM,CAACC,KAAK;IAAEwD,SAAS,EAAE,CAAC;EAAE,CAAC;EACpEC,OAAO,EAAE;IAAEP,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE,EAAE;IAAEX,eAAe,EAAEzC,MAAM,CAACQ,OAAO;IAAEmD,gBAAgB,EAAE;EAAG,CAAC;EACxFC,UAAU,EAAE;IAAEtB,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEyD,UAAU,EAAE;EAAI,CAAC;EACnEC,QAAQ,EAAE;IAAExB,QAAQ,EAAE,EAAE;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEqD,SAAS,EAAE;EAAE,CAAC;EAC/DM,aAAa,EAAE;IACbpB,aAAa,EAAE,KAAK;IACpBI,YAAY,EAAE,CAAC;IACfZ,aAAa,EAAE,CAAC;IAChBU,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE9C,MAAM,CAACS;EAC5B,CAAC;EACDuD,SAAS,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,iBAAiB,EAAE;EAAE,CAAC;EAC5CC,WAAW,EAAE;IAAE7B,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEQ,YAAY,EAAE;EAAE,CAAC;EAC5EqB,OAAO,EAAE;IAAEzB,aAAa,EAAE,KAAK;IAAEI,YAAY,EAAE;EAAE,CAAC;EAClDsB,SAAS,EAAE;IAAE/B,QAAQ,EAAE,GAAG;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACE;EAAQ,CAAC;EACjFoE,SAAS,EAAE;IAAEhC,QAAQ,EAAE,GAAG;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEkD,UAAU,EAAE;EAAE,CAAC;EAClEiB,aAAa,EAAE;IAAE5B,aAAa,EAAE,KAAK;IAAEC,cAAc,EAAE,eAAe;IAAEG,YAAY,EAAE;EAAE,CAAC;EACzFyB,YAAY,EAAE;IAAElC,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAiB,CAAC;EAC5DkC,aAAa,EAAE;IAAEnC,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI;EAAQ,CAAC;EACrDsE,cAAc,EAAE;IAAE/B,aAAa,EAAE;EAAM,CAAC;EACxCgC,KAAK,EAAE;IAAEV,IAAI,EAAE,CAAC;IAAEW,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACS;EAAQ,CAAC;EAC/DqE,WAAW,EAAE;IACXnC,aAAa,EAAE,KAAK;IACpBF,eAAe,EAAEzC,MAAM,CAACW,MAAM;IAC9BkC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE9C,MAAM,CAACS;EAC5B,CAAC;EACDsE,eAAe,EAAE;IACfC,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAE0C,SAAS,EAAE,QAAQ;IAC1EC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAChD,CAAC;EACD2E,mBAAmB,EAAE;IACnBJ,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAE0C,SAAS,EAAE;EACpE,CAAC;EACDI,QAAQ,EAAE;IACR1C,aAAa,EAAE,KAAK;IAAEE,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IAAE6E,SAAS,EAAE;EAC5F,CAAC;EACDC,WAAW,EAAE;IACX5C,aAAa,EAAE,KAAK;IAAEE,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IAC7EgC,eAAe,EAAEzC,MAAM,CAACW,MAAM;IAAE2E,SAAS,EAAE;EAC7C,CAAC;EACDE,SAAS,EAAE;IACTR,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,QAAQ;IAC5CC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS,OAAO;IAAE+B,KAAK,EAAExC,MAAM,CAACI;EACvE,CAAC;EACDqF,aAAa,EAAE;IAAET,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,QAAQ;IAAEzC,KAAK,EAAExC,MAAM,CAACI;EAAQ,CAAC;EACtFsF,aAAa,EAAE;IACbV,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,MAAM;IAC1CC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS,OAAO;IAAE8B,UAAU,EAAE;EACrE,CAAC;EACDoD,eAAe,EAAE;IACfhD,aAAa,EAAE,KAAK;IAAEF,eAAe,EAAEzC,MAAM,CAACU,OAAO;IAAE4E,SAAS,EAAE;EACpE,CAAC;EACDM,gBAAgB,EAAE;IAAEzC,KAAK,EAAE,GAAG;IAAEG,UAAU,EAAE;EAAG,CAAC;EAChDuC,UAAU,EAAE;IACVjB,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACa,QAAQ;IAAE4B,eAAe,EAAEzC,MAAM,CAACc,OAAO;IAC7EkE,OAAO,EAAE,EAAE;IAAEjC,YAAY,EAAE,CAAC;IAAEE,UAAU,EAAE;EAC5C,CAAC;EACD6C,kBAAkB,EAAE;IAClBlB,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACQ,OAAO;IAAEiC,eAAe,EAAEzC,MAAM,CAACW,MAAM;IAC3EqE,OAAO,EAAE,EAAE;IAAEjC,YAAY,EAAE,CAAC;IAAEE,UAAU,EAAE;EAC5C,CAAC;EACD8C,YAAY,EAAE;IAAEzD,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACY;EAAS,CAAC;EACpFoF,oBAAoB,EAAE;IAAE1D,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACM;EAAQ,CAAC;EAC3F2F,YAAY,EAAE;IAAE3D,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACY,QAAQ;IAAE6C,SAAS,EAAE;EAAE,CAAC;EACjGyC,oBAAoB,EAAE;IAAE5D,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACM,OAAO;IAAEmD,SAAS,EAAE;EAAE,CAAC;EACxG0C,iBAAiB,EAAE;IAAE7D,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEkB,SAAS,EAAE,EAAE;IAAEV,YAAY,EAAE;EAAE,CAAC;EACjGqD,YAAY,EAAE;IAAExB,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACS;EAAQ,CAAC;EAC7D4F,eAAe,EAAE;IACf1D,aAAa,EAAE,KAAK;IAAEE,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IAAE6E,SAAS,EAAE;EAC5F,CAAC;EACDgB,gBAAgB,EAAE;IAAEtB,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2B,IAAI,EAAE,CAAC;IAAEgB,SAAS,EAAE;EAAS,CAAC;EAC3EsB,oBAAoB,EAAE;IACpBvB,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2B,IAAI,EAAE,CAAC;IAAEgB,SAAS,EAAE,MAAM;IAAE1C,UAAU,EAAE;EACnE,CAAC;EACDiE,WAAW,EAAE;IAAE/D,eAAe,EAAEzC,MAAM,CAACW,MAAM;IAAEqE,OAAO,EAAE,CAAC;IAAEvB,SAAS,EAAE,CAAC;IAAEV,YAAY,EAAE;EAAE,CAAC;EAC1F0D,gBAAgB,EAAE;IAAEnE,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAEQ,YAAY,EAAE;EAAE,CAAC;EAChF2D,eAAe,EAAE;IAAEpE,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEyD,UAAU,EAAE;EAAI,CAAC;EACxE8C,MAAM,EAAE;IACNhE,aAAa,EAAE,KAAK;IAAEiE,cAAc,EAAE,CAAC;IAAEC,cAAc,EAAE7G,MAAM,CAACS,OAAO;IACvEyB,UAAU,EAAE,CAAC;IAAEuB,SAAS,EAAE;EAC5B,CAAC;EACDqD,UAAU,EAAE;IAAE7C,IAAI,EAAE,CAAC;IAAEtB,aAAa,EAAE;EAAM,CAAC;EAC7CoE,SAAS,EAAE;IAAE9D,UAAU,EAAE,QAAQ;IAAE+D,WAAW,EAAE;EAAG,CAAC;EACpDC,MAAM,EAAE;IAAE9D,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEwB,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACQ;EAAQ,CAAC;EAC9E0G,OAAO,EAAE;IAAE5E,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEqD,SAAS,EAAE;EAAE,CAAC;EAC7D0D,UAAU,EAAE;IAAElD,IAAI,EAAE,CAAC;IAAE3B,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEyD,UAAU,EAAE;EAAI,CAAC;EAC5EuD,WAAW,EAAE;IAAEjE,KAAK,EAAE,GAAG;IAAEF,UAAU,EAAE;EAAW,CAAC;EACnDoE,aAAa,EAAE;IAAE/E,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,OAAO;IAAElC,YAAY,EAAE;EAAE,CAAC;EACnEuE,gBAAgB,EAAE;IAChBV,cAAc,EAAE,CAAC;IAAEC,cAAc,EAAE7G,MAAM,CAACQ,OAAO;IAAE0B,UAAU,EAAE,CAAC;IAAEe,UAAU,EAAE;EAChF,CAAC;EACDsE,aAAa,EAAE;IAAEjF,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAiB,CAAC;EAC5DiF,cAAc,EAAE;IAAElF,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI;EAAQ;AACvD,CAAC,CAAC;AAEF,MAAMqH,WAAW,GAAG/H,UAAU,CAACsC,MAAM,CAAC;EACpC0F,UAAU,EAAE;IACV/E,aAAa,EAAE,KAAK;IAAEC,cAAc,EAAE,eAAe;IAAEK,UAAU,EAAE,QAAQ;IAC3EJ,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACa,QAAQ;IAAEsB,aAAa,EAAE,CAAC;IAAEY,YAAY,EAAE;EAC5F,CAAC;EACD4E,cAAc,EAAE;IAAEhF,aAAa,EAAE,KAAK;IAAEM,UAAU,EAAE;EAAS,CAAC;EAC9D2E,cAAc,EAAE;IAAEzE,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAG,CAAC;EACzCyE,eAAe,EAAE;IAAEvE,UAAU,EAAE;EAAE,CAAC;EAClCwE,iBAAiB,EAAE;IAAExF,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAiB,CAAC;EACjEwF,kBAAkB,EAAE;IAAEzF,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACK;EAAQ,CAAC;EAC1D2H,eAAe,EAAE;IAAE/C,SAAS,EAAE;EAAQ,CAAC;EACvCgD,SAAS,EAAE;IAAE3F,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAiB,CAAC;EACzD2F,cAAc,EAAE;IAAE5F,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACK;EAAQ,CAAC;EACtD8H,YAAY,EAAE;IAAEpF,YAAY,EAAE;EAAE,CAAC;EACjCqF,WAAW,EAAE;IACX3F,eAAe,EAAEzC,MAAM,CAACc,OAAO;IAAE8D,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACa,QAAQ;IAC7EwH,YAAY,EAAE,CAAC;IAAErD,OAAO,EAAE,CAAC;IAAEjC,YAAY,EAAE;EAC7C,CAAC;EACDuF,gBAAgB,EAAE;IAAEhG,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEC,KAAK,EAAExC,MAAM,CAACY,QAAQ;IAAEmC,YAAY,EAAE;EAAE,CAAC;EACzGwF,eAAe,EAAE;IAAEjG,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACI,OAAO;IAAEyD,UAAU,EAAE;EAAI,CAAC;EACxE2E,WAAW,EAAE;IACX7F,aAAa,EAAE,KAAK;IAAEC,cAAc,EAAE,eAAe;IAAEK,UAAU,EAAE,QAAQ;IAC3ER,eAAe,EAAEzC,MAAM,CAACU,OAAO;IAAEsE,OAAO,EAAE,CAAC;IAAEjC,YAAY,EAAE;EAC7D,CAAC;EACD0F,UAAU,EAAE;IAAEnG,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,gBAAgB;IAAEmG,UAAU,EAAE;EAAE,CAAC;EACzEC,WAAW,EAAE;IACXlG,eAAe,EAAEzC,MAAM,CAACa,QAAQ;IAAE2B,KAAK,EAAExC,MAAM,CAACe,KAAK;IACrDmD,iBAAiB,EAAE,CAAC;IAAE0E,eAAe,EAAE,CAAC;IAAEP,YAAY,EAAE,CAAC;IACzD/F,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE;EAC3B,CAAC;EACDsG,eAAe,EAAE;IACfpG,eAAe,EAAE,SAAS;IAAED,KAAK,EAAExC,MAAM,CAACe,KAAK;IAC/CmD,iBAAiB,EAAE,CAAC;IAAE0E,eAAe,EAAE,CAAC;IAAEP,YAAY,EAAE,CAAC;IACzD/F,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE;EAC3B,CAAC;EACDuG,UAAU,EAAE;IAAElE,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE7E,MAAM,CAACS;EAAQ,CAAC;EAC3DsI,gBAAgB,EAAE;IAChBpG,aAAa,EAAE,KAAK;IAAEF,eAAe,EAAEzC,MAAM,CAACW,MAAM;IACpDkC,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS;EAClD,CAAC;EACDuI,oBAAoB,EAAE;IACpBhE,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAE0C,SAAS,EAAE,QAAQ;IAC1EC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAChD,CAAC;EACDwI,aAAa,EAAE;IACbtG,aAAa,EAAE,KAAK;IAAEE,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IAAE6E,SAAS,EAAE;EAC5F,CAAC;EACD4D,cAAc,EAAE;IACdlE,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,QAAQ;IAC5CC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAChD,CAAC;EACD0I,kBAAkB,EAAE;IAClBnE,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,CAAC;IAAE2C,SAAS,EAAE,MAAM;IAC1CC,gBAAgB,EAAE,CAAC;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAChD,CAAC;EACD2I,iBAAiB,EAAE;IACjBzG,aAAa,EAAE,KAAK;IAAEE,iBAAiB,EAAE,GAAG;IAAEC,iBAAiB,EAAE9C,MAAM,CAACS,OAAO;IAAE6E,SAAS,EAAE;EAC9F,CAAC;EACD+D,kBAAkB,EAAE;IAClBrE,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,GAAG;IAAE2C,SAAS,EAAE,QAAQ;IAC9CC,gBAAgB,EAAE,GAAG;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAClD,CAAC;EACD6I,sBAAsB,EAAE;IACtBtE,OAAO,EAAE,CAAC;IAAE1C,QAAQ,EAAE,GAAG;IAAE2C,SAAS,EAAE,MAAM;IAC5CC,gBAAgB,EAAE,GAAG;IAAEC,gBAAgB,EAAEnF,MAAM,CAACS;EAClD,CAAC;EACD8I,QAAQ,EAAE;IAAE/G,KAAK,EAAExC,MAAM,CAACY,QAAQ;IAAE2B,UAAU,EAAE;EAAiB,CAAC;EAClEiH,QAAQ,EAAE;IAAEhH,KAAK,EAAE,SAAS;IAAED,UAAU,EAAE;EAAiB,CAAC;EAC5DkH,kBAAkB,EAAE;IAAE9G,aAAa,EAAE,KAAK;IAAE+G,GAAG,EAAE;EAAG,CAAC;EACrDC,UAAU,EAAE;IAAE1F,IAAI,EAAE;EAAE,CAAC;EACvB2F,UAAU,EAAE;IACVC,QAAQ,EAAE,UAAU;IAAEC,MAAM,EAAE,EAAE;IAAEC,IAAI,EAAE,EAAE;IAAEC,KAAK,EAAE,EAAE;IACrDrH,aAAa,EAAE,KAAK;IAAEC,cAAc,EAAE,eAAe;IACrDgE,cAAc,EAAE,CAAC;IAAEC,cAAc,EAAE7G,MAAM,CAACS,OAAO;IAAEyB,UAAU,EAAE;EACjE,CAAC;EACD+H,UAAU,EAAE;IAAE3H,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACK;EAAQ,CAAC;EAClDmG,WAAW,EAAE;IAAE/C,SAAS,EAAE,CAAC;IAAEuB,OAAO,EAAE,CAAC;IAAEvC,eAAe,EAAEzC,MAAM,CAACW;EAAO,CAAC;EACzE8F,gBAAgB,EAAE;IAAEnE,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAEQ,YAAY,EAAE;EAAE,CAAC;EAChF2D,eAAe,EAAE;IAAEpE,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACK,OAAO;IAAEwD,UAAU,EAAE;EAAI,CAAC;EACxEqG,aAAa,EAAE;IACbzH,eAAe,EAAEzC,MAAM,CAACa,QAAQ;IAAE2B,KAAK,EAAExC,MAAM,CAACe,KAAK;IACrDmD,iBAAiB,EAAE,CAAC;IAAE0E,eAAe,EAAE,CAAC;IAAEtG,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE;EACrE,CAAC;EACD4H,aAAa,EAAE;IAAE7H,QAAQ,EAAE,CAAC;IAAEC,UAAU,EAAE,gBAAgB;IAAEe,UAAU,EAAE;EAAE,CAAC;EAC3E8G,gBAAgB,EAAE;IAAE9H,QAAQ,EAAE,CAAC;IAAEE,KAAK,EAAExC,MAAM,CAACK,OAAO;IAAEiD,UAAU,EAAE;EAAE;AACxE,CAAC,CAAC;;AAEF;AACA;AACA;;AAEA,MAAM+G,cAAc,GAAGA,CAACC,EAAU,EAAEC,EAAU,EAAEC,CAAS,EAAEC,UAAkB,EAAEC,QAAgB,KAAa;EAC1G,MAAMC,KAAK,GAAG;IACZC,CAAC,EAAEN,EAAE,GAAGE,CAAC,GAAGK,IAAI,CAACC,GAAG,CAAEL,UAAU,GAAGI,IAAI,CAACE,EAAE,GAAI,GAAG,CAAC;IAClDC,CAAC,EAAET,EAAE,GAAGC,CAAC,GAAGK,IAAI,CAACI,GAAG,CAAER,UAAU,GAAGI,IAAI,CAACE,EAAE,GAAI,GAAG;EACnD,CAAC;EACD,MAAMG,GAAG,GAAG;IACVN,CAAC,EAAEN,EAAE,GAAGE,CAAC,GAAGK,IAAI,CAACC,GAAG,CAAEJ,QAAQ,GAAGG,IAAI,CAACE,EAAE,GAAI,GAAG,CAAC;IAChDC,CAAC,EAAET,EAAE,GAAGC,CAAC,GAAGK,IAAI,CAACI,GAAG,CAAEP,QAAQ,GAAGG,IAAI,CAACE,EAAE,GAAI,GAAG;EACjD,CAAC;EACD,MAAMI,QAAQ,GAAGT,QAAQ,GAAGD,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;EACpD,OAAO,KAAKH,EAAE,IAAIC,EAAE,MAAMI,KAAK,CAACC,CAAC,IAAID,KAAK,CAACK,CAAC,MAAMR,CAAC,IAAIA,CAAC,MAAMW,QAAQ,MAAMD,GAAG,CAACN,CAAC,IAAIM,GAAG,CAACF,CAAC,IAAI;AAChG,CAAC;AAED,MAAMI,QAAQ,GAAGA,CAAC;EAAEC;AAA8C,CAAC,KAAK;EACtE,MAAMC,QAAQ,GAAGD,YAAY,CAC1BE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAK,IAAI,IAAID,CAAC,CAACE,aAAa,GAAG,CAAC,CAAC,CACvDC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACH,aAAa,GAAGE,CAAC,CAACF,aAAa,CAAC;EACpD,MAAMpB,EAAE,GAAG,EAAE;IAAEC,EAAE,GAAG,EAAE;IAAEC,CAAC,GAAG,EAAE;EAE9B,IAAIc,QAAQ,CAACQ,MAAM,KAAK,CAAC,IAAIR,QAAQ,CAACS,MAAM,CAAC,CAACC,GAAG,EAAER,CAAC,KAAKQ,GAAG,GAAGR,CAAC,CAACE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;IACxF,MAAMO,eAAe,GAAG,CACtB;MAAEC,IAAI,EAAE,QAAQ;MAAEC,GAAG,EAAE;IAAG,CAAC,EAAE;MAAED,IAAI,EAAE,MAAM;MAAEC,GAAG,EAAE;IAAG,CAAC,EACtD;MAAED,IAAI,EAAE,KAAK;MAAEC,GAAG,EAAE;IAAG,CAAC,EAAE;MAAED,IAAI,EAAE,OAAO;MAAEC,GAAG,EAAE;IAAE,CAAC,CACpD;IACD,IAAIC,YAAY,GAAG,CAAC,EAAE;IACtB,MAAMC,iBAAiB,GAAGJ,eAAe,CAACK,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;MACzD,MAAMC,KAAK,GAAIF,IAAI,CAACJ,GAAG,GAAG,GAAG,GAAI,GAAG;MACpC,MAAMO,IAAI,GAAGrC,cAAc,CAACC,EAAE,EAAEC,EAAE,EAAEC,CAAC,EAAE4B,YAAY,EAAEA,YAAY,GAAGK,KAAK,CAAC;MAC1E,MAAMjK,KAAK,GAAGxB,SAAS,CAACuL,IAAI,CAACL,IAAI,CAAC,IAAIlL,SAAS,CAACc,KAAK;MACrDsK,YAAY,IAAIK,KAAK;MACrB,OAAO3M,CAAC,CAACD,IAAI,EAAE;QAAE8M,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;QAAEK,CAAC,EAAEH,IAAI;QAAEI,IAAI,EAAEtK,KAAK;QAAEuK,OAAO,EAAE;MAAI,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,MAAMC,iBAAiB,GAAGf,eAAe,CAACK,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;MACzD,MAAMhK,KAAK,GAAGxB,SAAS,CAACuL,IAAI,CAACL,IAAI,CAAC,IAAIlL,SAAS,CAACc,KAAK;MACrD,OAAOhC,CAAC,CAACN,IAAI,EAAE;QAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;QAAES,KAAK,EAAE;UAAEtK,aAAa,EAAE,KAAK;UAAEM,UAAU,EAAE,QAAQ;UAAEF,YAAY,EAAE;QAAE;MAAE,CAAC,EACvGjD,CAAC,CAACN,IAAI,EAAE;QAAEyN,KAAK,EAAE;UAAE9J,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEX,eAAe,EAAED,KAAK;UAAEuK,OAAO,EAAE,GAAG;UAAE/F,WAAW,EAAE;QAAE;MAAE,CAAC,CAAC,EACjGlH,CAAC,CAACP,IAAI,EAAE;QAAE0N,KAAK,EAAE;UAAE3K,QAAQ,EAAE,CAAC;UAAEE,KAAK,EAAExC,MAAM,CAACO;QAAQ;MAAE,CAAC,EAAE,GAAGgM,IAAI,CAACL,IAAI,OAAO,CAChF,CAAC;IACH,CAAC,CAAC;IACF,OAAOpM,CAAC,CAACN,IAAI,EAAE;MAAEyN,KAAK,EAAE;QAAEtK,aAAa,EAAE,KAAK;QAAEM,UAAU,EAAE;MAAa;IAAE,CAAC,EAC1EnD,CAAC,CAACF,GAAG,EAAE;MAAEuD,KAAK,EAAE,EAAE;MAAEC,MAAM,EAAE,EAAE;MAAE8J,OAAO,EAAE;IAAY,CAAC,EAAE,GAAGb,iBAAiB,CAAC,EAC7EvM,CAAC,CAACN,IAAI,EAAE;MAAEyN,KAAK,EAAE;QAAE3J,UAAU,EAAE;MAAE;IAAE,CAAC,EAAE,GAAG0J,iBAAiB,CAC5D,CAAC;EACH;EAEA,MAAMG,KAAK,GAAG7B,QAAQ,CAACS,MAAM,CAAC,CAACC,GAAG,EAAER,CAAC,KAAKQ,GAAG,GAAGR,CAAC,CAACE,aAAa,EAAE,CAAC,CAAC;EACnE,IAAIU,YAAY,GAAG,CAAC,EAAE;EACtB,MAAMgB,MAAM,GAAG9B,QAAQ,CAACgB,GAAG,CAAC,CAACd,CAAC,EAAEgB,CAAC,KAAK;IACpC,MAAMC,KAAK,GAAIjB,CAAC,CAACE,aAAa,GAAGyB,KAAK,GAAI,GAAG;IAC7C,MAAMT,IAAI,GAAGrC,cAAc,CAACC,EAAE,EAAEC,EAAE,EAAEC,CAAC,EAAE4B,YAAY,EAAEA,YAAY,GAAGK,KAAK,CAAC;IAC1E,MAAMjK,KAAK,GAAGxB,SAAS,CAACwK,CAAC,CAACU,IAAI,CAAC,IAAIlL,SAAS,CAACc,KAAK;IAClDsK,YAAY,IAAIK,KAAK;IACrB,OAAO3M,CAAC,CAACD,IAAI,EAAE;MAAE8M,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;MAAEK,CAAC,EAAEH,IAAI;MAAEI,IAAI,EAAEtK;IAAM,CAAC,CAAC;EAC1D,CAAC,CAAC;EACF,MAAM6K,MAAM,GAAG/B,QAAQ,CAACgC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAChB,GAAG,CAAC,CAACd,CAAC,EAAEgB,CAAC,KAAK;IAChD,MAAMhK,KAAK,GAAGxB,SAAS,CAACwK,CAAC,CAACU,IAAI,CAAC,IAAIlL,SAAS,CAACc,KAAK;IAClD,MAAMyL,WAAW,GAAG/B,CAAC,CAACU,IAAI,CAACsB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;IAC7F,OAAO1N,CAAC,CAACN,IAAI,EAAE;MAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;MAAES,KAAK,EAAE;QAAEtK,aAAa,EAAE,KAAK;QAAEM,UAAU,EAAE,QAAQ;QAAEF,YAAY,EAAE;MAAE;IAAE,CAAC,EACvGjD,CAAC,CAACN,IAAI,EAAE;MAAEyN,KAAK,EAAE;QAAE9J,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;QAAEX,eAAe,EAAED,KAAK;QAAEwE,WAAW,EAAE;MAAE;IAAE,CAAC,CAAC,EACnFlH,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE3K,QAAQ,EAAE,CAAC;QAAEE,KAAK,EAAExC,MAAM,CAACI;MAAQ;IAAE,CAAC,EAAE,GAAGmN,WAAW,KAAK/B,CAAC,CAACE,aAAa,CAAC+B,OAAO,CAAC,CAAC,CAAC,GAAG,CAC7G,CAAC;EACH,CAAC,CAAC;EACF,OAAO3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAEtK,aAAa,EAAE,KAAK;MAAEM,UAAU,EAAE;IAAa;EAAE,CAAC,EAC1EnD,CAAC,CAACF,GAAG,EAAE;IAAEuD,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAE8J,OAAO,EAAE;EAAY,CAAC,EAAE,GAAGE,MAAM,CAAC,EAClEtN,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE3J,UAAU,EAAE;IAAE;EAAE,CAAC,EAAE,GAAG+J,MAAM,CACjD,CAAC;AACH,CAAC;;AAED;AACA;AACA;;AAEA,MAAMK,eAAe,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAwC,CAAC,KAAK;EAC7E,OAAO9N,CAAC,CAACN,IAAI,EAAE,IAAI,EACjBM,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACW;EAAO,CAAC,EAC9B5C,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiB;EAAW,CAAC,EAClC2K,IAAI,CAACE,OAAO,GACR/N,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACE,OAAO;IAAEZ,KAAK,EAAElL,MAAM,CAACmB;EAAK,CAAC,CAAC,GACnDpD,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACmB,IAAI;MAAET,eAAe,EAAEzC,MAAM,CAACa,QAAQ;MAAEwH,YAAY,EAAE;IAAE;EAAE,CAAC,CAAC,EAC7FvI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACsB;EAAY,CAAC,EACnCvD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwB;EAAY,CAAC,EAAE,CAACoK,IAAI,CAACI,OAAO,IAAI,KAAK,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7ElO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyB;EAAe,CAAC,EAAE,CAACmK,IAAI,CAACI,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACV,KAAK,CAAC,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CACpG,CAAC,EACDnO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC2B;EAAQ,CAAC,CAAC,EAClC5D,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC6B;EAAW,CAAC,EAAE+J,IAAI,CAAC/J,UAAU,IAAI,EAAE,CAC7D,CAAC,EACD9D,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC+B,QAAQ;MAAExB,QAAQ,EAAE,EAAE;MAAEC,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAEqL,KAAK,CAC9F,CAAC,EACD9N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACgC,aAAa;MAAEhB,YAAY,EAAE;IAAE;EAAE,CAAC,EAC7DjD,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACoC;EAAY,CAAC,EAAEwJ,IAAI,CAACO,UAAU,CAAC,EACvDpO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAClDvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACQ,QAAQ,CACpD,CAAC,EACDrO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,SAAS,CAAC,EAC/CvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACS,UAAU,IAAI,OAAO,CACjE,CACF,CAAC,EACDtO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAClDvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACU,aAAa,IAAI,QAAQ,CACrE,CAAC,EACDvO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,WAAW,CAAC,EACjDvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACW,YAAY,IAAI,QAAQ,CACpE,CAAC,EACDxO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAClDvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACY,UAAU,IAAI,QAAQ,CAClE,CAAC,EACDzO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAC/BtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,UAAU,CAAC,EAChDvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACa,OAAO,IAAI,QAAQ,CAC/D,CACF,CAAC,EACD1O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,SAAS,CAAC,EAC/CvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACuC,SAAS;MAAE/B,UAAU,EAAE,gBAAgB;MAAEe,UAAU,EAAE;IAAE;EAAE,CAAC,EAAEqK,IAAI,CAACc,UAAU,CAAC,EACzGd,IAAI,CAACe,aAAa,GAAG5O,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACuC,SAAS;MAAEhB,UAAU,EAAE,CAAC;MAAEhB,QAAQ,EAAE;IAAI;EAAE,CAAC,EAAEqL,IAAI,CAACe,aAAa,CAAC,GAAG,IAAI,EACzHf,IAAI,CAACgB,aAAa,GAAG7O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EACpDtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,QAAQ,CAAC,EAC9CvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACgB,aAAa,CACzD,CAAC,GAAG,IACN,CAAC,EACD7O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACiC,SAAS;MAAEf,UAAU,EAAE,QAAQ;MAAEL,cAAc,EAAE;IAAS;EAAE,CAAC,EACxF9C,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACsC,SAAS;MAAEtB,YAAY,EAAE,CAAC;MAAEkC,SAAS,EAAE;IAAS;EAAE,CAAC,EAAE,aAAa,CAAC,EAChGnF,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MACf9J,KAAK,EAAE,EAAE;MAAEC,MAAM,EAAE,EAAE;MAAEwB,WAAW,EAAE,CAAC;MAAEC,WAAW,EAAE7E,MAAM,CAACa,QAAQ;MACnEwH,YAAY,EAAE,CAAC;MAAE5F,eAAe,EAAEzC,MAAM,CAACe,KAAK;MAAEkC,UAAU,EAAE,QAAQ;MAAEL,cAAc,EAAE;IACxF;EAAE,CAAC,EACD9C,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,EAAE;MAAEC,UAAU,EAAE,gBAAgB;MAAEC,KAAK,EAAExC,MAAM,CAACa,QAAQ;MAAE+N,aAAa,EAAE;IAAE;EAAE,CAAC,EAAE,MAAM,CACrH,CACF,CACF,CACF,CAAC;AACH,CAAC;AAED,MAAMC,eAAe,GAAGA,CAAC;EAAElB,IAAI;EAAEmB,OAAO;EAAEC;AAAmE,CAAC,KAAK;EACjH,MAAMC,UAAU,GAAGF,OAAO,KAAK,CAAC,GAC5B,yPAAyP,GACzPA,OAAO,IAAI,CAAC,GACV,mQAAmQ,GACnQ,2HAA2H;EAEjI,OAAOhP,CAAC,CAACN,IAAI,EAAE,IAAI,EACjBM,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACyE;EAAY,CAAC,EACnC1G,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC0E;EAAiB,CAAC,EAAE,+BAA+B,CAAC,EAC5E3G,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC2E;EAAgB,CAAC,EAAEsI,UAAU,CACvD,CAAC,EACDlP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC4E;EAAO,CAAC,EAC9B7G,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC+E;EAAW,CAAC,EAClC6G,IAAI,CAACsB,aAAa,GAAGnP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACgF;EAAU,CAAC,EACtDjH,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACsB,aAAa;IAAEhC,KAAK,EAAElL,MAAM,CAACkF;EAAO,CAAC,CAAC,EAC3DnH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACmF;EAAQ,CAAC,EAAE,uBAAuB,CAC5D,CAAC,GAAG,IAAI,EACRpH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACoF;EAAW,CAAC,EAClC,GAAGwG,IAAI,CAACI,OAAO,IAAI,iBAAiB,wYAAwYJ,IAAI,CAACI,OAAO,IAAI,gBAAgB,GAC9c,CAAC,EACDjO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACoF,UAAU;MAAE1D,SAAS,EAAE;IAAE;EAAE,CAAC,EACvD,+DAA+DkK,IAAI,CAACuB,UAAU,IAAI,0BAA0B,EAC9G,CACF,CAAC,EACDpP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqF;EAAY,CAAC,EACnCtH,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACsF;EAAc,CAAC,EACrCvH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE1K,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAEoL,IAAI,CAACI,OAAO,IAAI,YAAY,CAAC,EAClFjO,CAAC,CAACP,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAClCO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,CAAC;MAAEE,KAAK,EAAExC,MAAM,CAACK;IAAQ;EAAE,CAAC,EAAEsN,IAAI,CAACuB,UAAU,IAAI,0BAA0B,CAC1G,CAAC,EACDpP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACuF;EAAiB,CAAC,EACxCqG,IAAI,CAACwB,YAAY,GAAGrP,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACwB,YAAY;IAAElC,KAAK,EAAE;MAAE9J,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE,EAAE;MAAEL,YAAY,EAAE;IAAE;EAAE,CAAC,CAAC,GAAG,IAAI,EACnHjD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwF;EAAc,CAAC,EAAEoG,IAAI,CAACyB,WAAW,IAAI,gBAAgB,CAAC,EAC9EtP,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyF;EAAe,CAAC,EAAEmG,IAAI,CAAC0B,aAAa,IAAI,qBAAqB,CAAC,EACtFvP,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyF;EAAe,CAAC,EAAEmG,IAAI,CAAC2B,YAAY,IAAI3B,IAAI,CAACY,UAAU,IAAI,QAAQ,CAAC,EAC3FzO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,CAAC;MAAEE,KAAK,EAAExC,MAAM,CAACM,OAAO;MAAEmD,SAAS,EAAE,CAAC;MAAEwB,SAAS,EAAE;IAAQ;EAAE,CAAC,EACzF,QAAQ6J,OAAO,OAAOC,UAAU,EAClC,CACF,CACF,CACF,CACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;;AAEA,MAAMQ,iBAAiB,GAAGA,CAAC;EAAE5B;AAAwB,CAAC,KAAK;EACzD,MAAM6B,eAAe,GAAG,CAAC7B,IAAI,CAAC8B,gBAAgB,EAAEC,IAAI,CAAElF,CAAC,IAAKA,CAAC,CAACmF,MAAM,KAAK,MAAM,CAAC;EAChF,MAAMC,iBAAiB,GAAG,CAACjC,IAAI,CAACkC,kBAAkB,EAAEH,IAAI,CAAElF,CAAC,IAAKA,CAAC,CAACmF,MAAM,KAAK,MAAM,CAAC;EACpF,MAAMG,gBAAgB,GAAG,CAACnC,IAAI,CAACoC,gBAAgB,EAAEL,IAAI,CAAElF,CAAC,IAAKA,CAAC,CAACmF,MAAM,KAAK,MAAM,CAAC;EAEjF,OAAO7P,CAAC,CAACR,IAAI,EAAE;IAAE0Q,IAAI,EAAE,IAAI;IAAE/C,KAAK,EAAElL,MAAM,CAACE;EAAK,CAAC,EAC/CnC,CAAC,CAAC4N,eAAe,EAAE;IAAEC,IAAI;IAAEC,KAAK,EAAE;EAA8B,CAAC,CAAC,EAClE9N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACW;EAAY,CAAC,EACxCtI,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACa;EAAiB,CAAC,EAAE,gCAAgC,CAAC,EAClFxI,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACc;EAAgB,CAAC,EAC5C,wLACF,CACF,CAAC,EACDzI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACgC;EAAmB,CAAC,EAC/C3J,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACkC;EAAW,CAAC,EACvC7J,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACU;EAAa,CAAC,EACzCrI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACe;EAAY,CAAC,EACxC1I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACgB;EAAW,CAAC,EAAE,wBAAwB,CAAC,EACpE3I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAEuC,eAAe,GAAG/H,WAAW,CAACkB,WAAW,GAAGlB,WAAW,CAACoB;EAAgB,CAAC,EACxF2G,eAAe,GAAG,MAAM,GAAG,MAAM,CACrC,CAAC,EACD1P,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACqB;EAAW,CAAC,EACvChJ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACsB;EAAiB,CAAC,EAC7CjJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,MAAM,CAAC,EACpGnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,QAAQ,CAAC,EACnFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,OAAO,CAAC,EAClFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EAAE,QAAQ,CACzG,CAAC,EACD,GAAG,CAACyI,IAAI,CAAC8B,gBAAgB,IAAI,EAAE,EAAEnD,GAAG,CAAC,CAAC9B,CAAC,EAAEgC,CAAC,KACxC1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAExF,WAAW,CAACwB;EAAc,CAAC,EAC1DnJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC0B,kBAAkB;MAAEhG,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqH,CAAC,CAACyF,OAAO,IAAIzF,CAAC,CAAC0F,IAAI,IAAI,EAAE,CAAC,EAClGpQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAC9FiI,CAAC,CAACiB,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGmB,MAAM,CAACpC,CAAC,CAACiB,MAAM,CAAC,CAAC,EAC9C3L,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEyJ,MAAM,CAACpC,CAAC,CAAC2F,KAAK,IAAI,EAAE,CAAC,CAAC,EAC1FrQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MACf,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE,CAAC;MAChE,IAAIsF,CAAC,CAACmF,MAAM,KAAK,MAAM,GAAGlI,WAAW,CAAC8B,QAAQ,GAAG9B,WAAW,CAAC+B,QAAQ;IACvE;EAAE,CAAC,EAAEgB,CAAC,CAACmF,MAAM,CACf,CACF,CACF,CACF,CACF,CAAC,EACD7P,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACkC;EAAW,CAAC,EACvC7J,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACU;EAAa,CAAC,EACzCrI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACe;EAAY,CAAC,EACxC1I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACgB;EAAW,CAAC,EAAE,uBAAuB,CAAC,EACnE3I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE2C,iBAAiB,GAAGnI,WAAW,CAACkB,WAAW,GAAGlB,WAAW,CAACoB;EAAgB,CAAC,EAC1F+G,iBAAiB,GAAG,MAAM,GAAG,MAAM,CACvC,CAAC,EACD9P,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACqB;EAAW,CAAC,EACvChJ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACsB;EAAiB,CAAC,EAC7CjJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,SAAS,CAAC,EACvGnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,KAAK,CAAC,EAChFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,KAAK,CAAC,EAChFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,QAAQ,CAAC,EACnFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,OAAO,CAAC,EAClFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EAAE,QAAQ,CACzG,CAAC,EACD,GAAG,CAACyI,IAAI,CAACkC,kBAAkB,IAAI,EAAE,EAAEvD,GAAG,CAAC,CAAC9B,CAAC,EAAEgC,CAAC,KAC1C1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAExF,WAAW,CAACwB;EAAc,CAAC,EAC1DnJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC0B,kBAAkB;MAAEhG,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqH,CAAC,CAACyF,OAAO,CAAC,EAClFnQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEyJ,MAAM,CAACpC,CAAC,CAAC4F,GAAG,CAAC,CAAC,EAClFtQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEyJ,MAAM,CAACpC,CAAC,CAAC6F,GAAG,CAAC,CAAC,EAClFvQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAC9FiI,CAAC,CAACiB,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGmB,MAAM,CAACpC,CAAC,CAACiB,MAAM,CAAC,CAAC,EAC9C3L,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,IAAIqH,CAAC,CAAC2F,KAAK,EAAE,CAAC,EAClFrQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MACf,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE,CAAC;MAChE,IAAIsF,CAAC,CAACmF,MAAM,KAAK,MAAM,GAAGlI,WAAW,CAAC8B,QAAQ,GAAG9B,WAAW,CAAC+B,QAAQ;IACvE;EAAE,CAAC,EAAEgB,CAAC,CAACmF,MAAM,CACf,CACF,CACF,CACF,CAAC,EACD7P,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACU;EAAa,CAAC,EACzCrI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACe;EAAY,CAAC,EACxC1I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACgB;EAAW,CAAC,EAAE,YAAY,CAAC,EACxD3I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE6C,gBAAgB,GAAGrI,WAAW,CAACkB,WAAW,GAAGlB,WAAW,CAACoB;EAAgB,CAAC,EACzFiH,gBAAgB,GAAG,MAAM,GAAG,MAAM,CACtC,CAAC,EACDhQ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACqB;EAAW,CAAC,EACvChJ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACsB;EAAiB,CAAC,EAC7CjJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,SAAS,CAAC,EACvGnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,KAAK,CAAC,EAChFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,KAAK,CAAC,EAChFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,QAAQ,CAAC,EACnFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,OAAO,CAAC,EAClFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EAAE,QAAQ,CACzG,CAAC,EACD,GAAG,CAACyI,IAAI,CAACoC,gBAAgB,IAAI,EAAE,EAAEzD,GAAG,CAAC,CAAC9B,CAAC,EAAEgC,CAAC,KACxC1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAExF,WAAW,CAACwB;EAAc,CAAC,EAC1DnJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC0B,kBAAkB;MAAEhG,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqH,CAAC,CAACyF,OAAO,CAAC,EAClFnQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEyJ,MAAM,CAACpC,CAAC,CAAC4F,GAAG,CAAC,CAAC,EAClFtQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEyJ,MAAM,CAACpC,CAAC,CAAC6F,GAAG,CAAC,CAAC,EAClFvQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAC9FiI,CAAC,CAACiB,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGmB,MAAM,CAACpC,CAAC,CAACiB,MAAM,CAAC,CAAC,EAC9C3L,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,IAAIqH,CAAC,CAAC2F,KAAK,EAAE,CAAC,EAClFrQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MACf,GAAGxF,WAAW,CAACyB,cAAc;MAAE/F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE,CAAC;MAChE,IAAIsF,CAAC,CAACmF,MAAM,KAAK,MAAM,GAAGlI,WAAW,CAAC8B,QAAQ,GAAG9B,WAAW,CAAC+B,QAAQ;IACvE;EAAE,CAAC,EAAEgB,CAAC,CAACmF,MAAM,CACf,CACF,CACF,CACF,CACF,CACF,CAAC,EACD7P,CAAC,CAAC+O,eAAe,EAAE;IAAElB,IAAI;IAAEmB,OAAO,EAAE,CAAC;IAAEC,UAAU,EAAEpB,IAAI,CAACoB,UAAU,IAAI;EAAE,CAAC,CAC3E,CAAC;AACH,CAAC;;AAED;AACA;AACA;;AAEA,MAAMuB,aAAa,GAAGA,CAAC;EAAE3C,IAAI;EAAE4C,QAAQ;EAAEC,UAAU;EAAE1B;AAErD,CAAC,KAAK;EACJ,MAAM2B,SAAS,GAAG,CAACD,UAAU,CAACd,IAAI,CAAElF,CAAC,IAAKA,CAAC,CAACmF,MAAM,KAAK,MAAM,CAAC;EAC9D,MAAMe,IAAI,GAAG7F,IAAI,CAAC8F,IAAI,CAACH,UAAU,CAAC1E,MAAM,GAAG,CAAC,CAAC;EAC7C,MAAM8E,UAAU,GAAGJ,UAAU,CAAClD,KAAK,CAAC,CAAC,EAAEoD,IAAI,CAAC;EAC5C,MAAMG,WAAW,GAAGL,UAAU,CAAClD,KAAK,CAACoD,IAAI,CAAC;EAC1C,MAAMI,MAAM,GAAGP,QAAQ,KAAK,GAAG;EAE/B,MAAMQ,YAAY,GAAIC,KAAwB,IAC5ClR,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACkC;EAAW,CAAC,EACvC7J,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACqB;EAAW,CAAC,EACvChJ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACsB;EAAiB,CAAC,EAC7CjJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,SAAS,CAAC,EACvGnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,QAAQ,CAAC,EACnFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EAAE,QAAQ,CACzG,CAAC,EACD,GAAG8L,KAAK,CAAC1E,GAAG,CAAC,CAAC9B,CAAC,EAAEgC,CAAC,KAChB1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAExF,WAAW,CAAC2B;EAAkB,CAAC,EAC9DtJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC6B,sBAAsB;MAAEnG,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqH,CAAC,CAACyF,OAAO,CAAC,EACtFnQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC4B,kBAAkB;MAAElG,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAClGiI,CAAC,CAACiB,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGmB,MAAM,CAACpC,CAAC,CAACiB,MAAM,CAAC,CAAC,EAC9C3L,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MACf,GAAGxF,WAAW,CAAC4B,kBAAkB;MAAElG,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE,CAAC;MACpE,IAAIsF,CAAC,CAACmF,MAAM,KAAK,MAAM,GAAGlI,WAAW,CAAC8B,QAAQ,GAAG9B,WAAW,CAAC+B,QAAQ;IACvE;EAAE,CAAC,EAAEgB,CAAC,CAACmF,MAAM,CACf,CACF,CACF,CACF,CAAC;EAEH,OAAO7P,CAAC,CAACR,IAAI,EAAE;IAAE0Q,IAAI,EAAE,IAAI;IAAE/C,KAAK,EAAElL,MAAM,CAACE;EAAK,CAAC,EAC/CnC,CAAC,CAAC4N,eAAe,EAAE;IAAEC,IAAI;IAAEC,KAAK,EAAEkD,MAAM,GAAG,qBAAqB,GAAG;EAAkC,CAAC,CAAC,EACvGhR,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACW,WAAW;MAAE3F,eAAe,EAAEgO,SAAS,GAAGzQ,MAAM,CAACc,OAAO,GAAG;IAAU;EAAE,CAAC,EACxGhB,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACa;EAAiB,CAAC,EAAEmI,SAAS,GAAG,mCAAmC,GAAG,4BAA4B,CAAC,EAChI3Q,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACc;EAAgB,CAAC,EAC5CuI,MAAM,GACF,6JAA6J,GAC7J,oLACN,CACF,CAAC,EACDhR,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAEtK,aAAa,EAAE,KAAK;MAAEM,UAAU,EAAE,QAAQ;MAAEF,YAAY,EAAE;IAAE;EAAE,CAAC,EAChFjD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACyC;EAAc,CAAC,EAAE,YAAYqG,QAAQ,EAAE,CAAC,EACrEzQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAAC0C;EAAc,CAAC,EAC1C2G,MAAM,GAAG,oBAAoBN,UAAU,CAAC1E,MAAM,WAAW,GAAG,kBAAkB0E,UAAU,CAAC1E,MAAM,WAAW,CAAC,EAC7GhM,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAAC2C;EAAiB,CAAC,EAC7C0G,MAAM,GAAG,sBAAsB,GAAG,kCAAkC,CACxE,CAAC,EACDA,MAAM,GAAGhR,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACe,WAAW;MAAEzF,YAAY,EAAE;IAAE;EAAE,CAAC,EACzEjD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACgB;EAAW,CAAC,EAAE,kCAAkC,CAAC,EAC9E3I,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAEwD,SAAS,GAAGhJ,WAAW,CAACkB,WAAW,GAAGlB,WAAW,CAACoB;EAAgB,CAAC,EAClF4H,SAAS,GAAG,MAAM,GAAG,MAAM,CAC/B,CAAC,GAAG,IAAI,EACRK,MAAM,GAAGhR,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,CAAC;MAAEE,KAAK,EAAExC,MAAM,CAACK,OAAO;MAAE0C,YAAY,EAAE;IAAE;EAAE,CAAC,EACjF,4DAA4D,CAAC,GAAG,IAAI,EACtEjD,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACgC;EAAmB,CAAC,EAAEsH,YAAY,CAACH,UAAU,CAAC,EAAEG,YAAY,CAACF,WAAW,CAAC,CAAC,EACvG/Q,CAAC,CAAC+O,eAAe,EAAE;IAAElB,IAAI;IAAEmB,OAAO;IAAEC,UAAU,EAAEpB,IAAI,CAACoB,UAAU,IAAI;EAAE,CAAC,CACxE,CAAC;AACH,CAAC;;AAED;AACA;AACA;;AAEA,MAAMkC,oBAAoB,GAAGA,CAAC;EAAEtD;AAAwB,CAAC,KAAK;EAC5D,MAAM8C,SAAS,GAAG,CAAC9C,IAAI,CAACuD,qBAAqB,EAAExB,IAAI,CAAElF,CAAC,IAAKA,CAAC,CAACmF,MAAM,KAAK,MAAM,CAAC;EAC/E,MAAMwB,QAAQ,GAAGxD,IAAI,CAACuD,qBAAqB,IAAI,EAAE;EACjD,MAAMR,IAAI,GAAG7F,IAAI,CAAC8F,IAAI,CAACQ,QAAQ,CAACrF,MAAM,GAAG,CAAC,CAAC;EAC3C,MAAM8E,UAAU,GAAGO,QAAQ,CAAC7D,KAAK,CAAC,CAAC,EAAEoD,IAAI,CAAC;EAC1C,MAAMG,WAAW,GAAGM,QAAQ,CAAC7D,KAAK,CAACoD,IAAI,CAAC;EAExC,MAAMK,YAAY,GAAIC,KAA8B,IAClDlR,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACkC;EAAW,CAAC,EACvC7J,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACqB;EAAW,CAAC,EACvChJ,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACsB;EAAiB,CAAC,EAC7CjJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,SAAS,CAAC,EACvGnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,cAAc,CAAC,EACzFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACuB,oBAAoB;MAAE7F,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EAAE,aAAa,CAC9G,CAAC,EACD,GAAG8L,KAAK,CAAC1E,GAAG,CAAC,CAAC9B,CAAC,EAAEgC,CAAC,KAChB1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAExF,WAAW,CAAC2B;EAAkB,CAAC,EAC9DtJ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC6B,sBAAsB;MAAEnG,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqH,CAAC,CAACyF,OAAO,CAAC,EACtFnQ,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC4B,kBAAkB;MAAElG,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAClG,OAAOiI,CAAC,CAACiB,MAAM,KAAK,QAAQ,GAAGjB,CAAC,CAACiB,MAAM,GAAGmB,MAAM,CAACpC,CAAC,CAACiB,MAAM,CAAC,CAAC,EAC7D3L,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAAC4B,kBAAkB;MAAElG,KAAK,EAAE,KAAK;MAAE+B,gBAAgB,EAAE;IAAE;EAAE,CAAC,EACzF0H,MAAM,CAACpC,CAAC,CAAC2F,KAAK,CAAC,CACnB,CACF,CACF,CACF,CAAC;EAEH,OAAOrQ,CAAC,CAACR,IAAI,EAAE;IAAE0Q,IAAI,EAAE,IAAI;IAAE/C,KAAK,EAAElL,MAAM,CAACE;EAAK,CAAC,EAC/CnC,CAAC,CAAC4N,eAAe,EAAE;IAAEC,IAAI;IAAEC,KAAK,EAAE;EAA6B,CAAC,CAAC,EACjE9N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGxF,WAAW,CAACW,WAAW;MAAE3F,eAAe,EAAEgO,SAAS,GAAGzQ,MAAM,CAACc,OAAO,GAAG;IAAU;EAAE,CAAC,EACxGhB,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACa;EAAiB,CAAC,EAAEmI,SAAS,GAAG,iCAAiC,GAAG,0BAA0B,CAAC,EAC5H3Q,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACc;EAAgB,CAAC,EAC5C,gMACF,CACF,CAAC,EACDzI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAEtK,aAAa,EAAE,KAAK;MAAEM,UAAU,EAAE,QAAQ;MAAEF,YAAY,EAAE;IAAG;EAAE,CAAC,EACjFjD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAACyC;EAAc,CAAC,EAAE,WAAW,CAAC,EAC1DpK,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAAC0C;EAAc,CAAC,EAAE,uBAAuBgH,QAAQ,CAACrF,MAAM,WAAW,CAAC,EAChGhM,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAExF,WAAW,CAAC2C;EAAiB,CAAC,EAAE,mBAAmB,CACtE,CAAC,EACDtK,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAExF,WAAW,CAACgC;EAAmB,CAAC,EAAEsH,YAAY,CAACH,UAAU,CAAC,EAAEG,YAAY,CAACF,WAAW,CAAC,CAAC,EACvG/Q,CAAC,CAAC+O,eAAe,EAAE;IAAElB,IAAI;IAAEmB,OAAO,EAAE,CAAC;IAAEC,UAAU,EAAEpB,IAAI,CAACoB,UAAU,IAAI;EAAE,CAAC,CAC3E,CAAC;AACH,CAAC;;AAED;AACA;AACA;;AAEA,MAAMqC,mBAAmB,GAAGA,CAAC;EAAEzD;AAAwB,CAAC,KAAK;EAC3D,MAAM0D,QAAQ,GAAG1D,IAAI,CAAC0D,QAAQ,IAAI1D,IAAI,CAAC0D,QAAQ,GAAG,CAAC,GAAG1D,IAAI,CAAC0D,QAAQ,CAAC5D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;EACrF,MAAM6D,QAAQ,GAAG3D,IAAI,CAAC2D,QAAQ,IAAI,CAAC;EACnC,MAAMC,eAAe,GAAGD,QAAQ,GAAG,CAAC,GAAGA,QAAQ,CAAC7D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;EACjE,MAAM+D,iBAAiB,GAAG7D,IAAI,CAAC6D,iBAAiB,IAAI7D,IAAI,CAAC6D,iBAAiB,GAAG,CAAC,GAAG7D,IAAI,CAAC6D,iBAAiB,CAAC/D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;EACzH,MAAMgE,mBAAmB,GAAG9D,IAAI,CAACuD,qBAAqB,IAAIvD,IAAI,CAACuD,qBAAqB,CAACpF,MAAM,GAAG,CAAC;EAC/F,MAAMiD,UAAU,GAAGpB,IAAI,CAAC+D,SAAS,GAAID,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAI,CAAC;EAErE,MAAME,IAAI,GAAG,CAAChE,IAAI,CAACtC,YAAY,IAAI,EAAE,EAClCE,MAAM,CAAEC,CAAc,IAAKA,CAAC,CAACC,MAAM,KAAK,IAAI,IAAID,CAAC,CAACE,aAAa,GAAG,CAAC,CAAC,CACpEC,IAAI,CAAC,CAACC,CAAc,EAAEC,CAAc,KAAKA,CAAC,CAACH,aAAa,GAAGE,CAAC,CAACF,aAAa,CAAC,CAC3E4B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAEd,MAAMsE,KAAK,GAAG,EAAE;;EAEhB;EACAA,KAAK,CAACC,IAAI,CAAC/R,CAAC,CAACR,IAAI,EAAE;IAAEqN,GAAG,EAAE,OAAO;IAAEqD,IAAI,EAAE,IAAI;IAAE/C,KAAK,EAAElL,MAAM,CAACE;EAAK,CAAC,EACjEnC,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACW;EAAO,CAAC,EAC9B5C,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiB;EAAW,CAAC,EAClC2K,IAAI,CAACE,OAAO,GACR/N,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACE,OAAO;IAAEZ,KAAK,EAAElL,MAAM,CAACmB;EAAK,CAAC,CAAC,GACnDpD,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACmB,IAAI;MAAET,eAAe,EAAEzC,MAAM,CAACa,QAAQ;MAAEwH,YAAY,EAAE;IAAE;EAAE,CAAC,CAAC,EAC7FvI,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACsB;EAAY,CAAC,EACnCvD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwB;EAAY,CAAC,EAAE,CAACoK,IAAI,CAACI,OAAO,IAAI,KAAK,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7ElO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyB;EAAe,CAAC,EAAE,CAACmK,IAAI,CAACI,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACV,KAAK,CAAC,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CACpG,CAAC,EACDnO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC2B;EAAQ,CAAC,CAAC,EAClC5D,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC6B;EAAW,CAAC,EAAE+J,IAAI,CAAC/J,UAAU,IAAI,EAAE,CAC7D,CAAC,EACD9D,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC+B;EAAS,CAAC,EAAE,yBAAyB,CAC/D,CAAC,EACDhE,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACgC;EAAc,CAAC,EACrCjE,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACoC;EAAY,CAAC,EAAEwJ,IAAI,CAACO,UAAU,CAAC,EACvDpO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACQ,QAAQ,CAAC,CAAC,EAC3IrO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,SAAS,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACS,UAAU,IAAI,OAAO,CAAC,CAAC,EACrJtO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,cAAc,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACmE,UAAU,IAAI,QAAQ,CAAC,CAC5J,CAAC,EACDhS,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACU,aAAa,IAAI,QAAQ,CAAC,CAAC,EAC5JvO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,WAAW,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACW,YAAY,IAAI,QAAQ,CAAC,CAAC,EAC1JxO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,YAAY,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACY,UAAU,IAAI,QAAQ,CAAC,CAAC,EACzJzO,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EAAEtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,UAAU,CAAC,EAAEvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACa,OAAO,IAAI,QAAQ,CAAC,CACrJ,CAAC,EACD1O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACiC;EAAU,CAAC,EACjClE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,SAAS,CAAC,EAC/CvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACuC,SAAS;MAAE/B,UAAU,EAAE,gBAAgB;MAAEe,UAAU,EAAE;IAAE;EAAE,CAAC,EAAEqK,IAAI,CAACc,UAAU,CAAC,EACzGd,IAAI,CAACe,aAAa,GAAG5O,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACuC,SAAS;MAAEhB,UAAU,EAAE,CAAC;MAAEhB,QAAQ,EAAE;IAAI;EAAE,CAAC,EAAEqL,IAAI,CAACe,aAAa,CAAC,GAAG,IAAI,EACzHf,IAAI,CAACgB,aAAa,GAAG7O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqC;EAAQ,CAAC,EACpDtE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACsC;EAAU,CAAC,EAAE,QAAQ,CAAC,EAC9CvE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuC;EAAU,CAAC,EAAEqJ,IAAI,CAACgB,aAAa,CACzD,CAAC,GAAG,IACN,CAAC,EACD7O,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACiC,SAAS;MAAEf,UAAU,EAAE;IAAS;EAAE,CAAC,EAC9DnD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACsC,SAAS;MAAEtB,YAAY,EAAE;IAAE;EAAE,CAAC,EAAE,0BAA0B,CAAC,EACxFjD,CAAC,CAACsL,QAAQ,EAAE;IAAEC,YAAY,EAAEsC,IAAI,CAACtC,YAAY,IAAI;EAAG,CAAC,CACvD,CACF,CAAC,EACDvL,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACwC;EAAc,CAAC,EACrCzE,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyC;EAAa,CAAC,EAAE,cAAc,CAAC,EACvD1E,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC0C;EAAc,CAAC,EAAE,UAAU,CACrD,CAAC,EACD3E,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC2C;EAAe,CAAC,EACtC5E,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC4C;EAAM,CAAC,EAC7B7E,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC+C;EAAY,CAAC,EACnChF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACgD,eAAe;MAAE5B,KAAK,EAAE,KAAK;MAAE8B,SAAS,EAAE;IAAO;EAAE,CAAC,EAAE,SAAS,CAAC,EAC7FnF,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACgD,eAAe;MAAE5B,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,UAAU,CAAC,EAC3ErD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACgD,eAAe;MAAE5B,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,UAAU,CAAC,EAC3ErD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACgD,eAAe;MAAE5B,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,UAAU,CAAC,EAC3ErD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACqD,mBAAmB;MAAEjC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,aAAa,CACnF,CAAC,EACD,GAAG,CAACwK,IAAI,CAACtC,YAAY,IAAI,EAAE,EAAEiB,GAAG,CAAC,CAACd,CAAC,EAAEgB,CAAC,KAAK;IACzC,MAAMe,WAAW,GAAG,CAAC/B,CAAC,CAACU,IAAI,IAAI,EAAE,EAAEsB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;IACrG,OAAO1N,CAAC,CAACN,IAAI,EAAE;MAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;MAAES,KAAK,EAAET,CAAC,GAAG,CAAC,KAAK,CAAC,GAAGzK,MAAM,CAACsD,QAAQ,GAAGtD,MAAM,CAACwD;IAAY,CAAC,EAC1FzF,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE,GAAGlL,MAAM,CAAC2D,aAAa;QAAEvC,KAAK,EAAE;MAAM;IAAE,CAAC,EAAEoK,WAAW,CAAC,EAC1EzN,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE,GAAGlL,MAAM,CAACyD,SAAS;QAAErC,KAAK,EAAE;MAAM;IAAE,CAAC,EAAEqI,CAAC,CAAC4E,GAAG,CAAC3C,OAAO,CAAC,CAAC,CAAC,CAAC,EAC3E3N,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE,GAAGlL,MAAM,CAACyD,SAAS;QAAErC,KAAK,EAAE;MAAM;IAAE,CAAC,EAAEqI,CAAC,CAAC6E,GAAG,CAAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,EAC3E3N,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE,GAAGlL,MAAM,CAACyD,SAAS;QAAErC,KAAK,EAAE,KAAK;QAAEZ,UAAU,EAAE;MAAiB;IAAE,CAAC,EACpFiJ,CAAC,CAACC,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGD,CAAC,CAACE,aAAa,CAAC+B,OAAO,CAAC,CAAC,CAAC,CAAC,EACxD3N,CAAC,CAACP,IAAI,EAAE;MAAE0N,KAAK,EAAE;QAAE,GAAGlL,MAAM,CAAC0D,aAAa;QAAEtC,KAAK,EAAE;MAAM;IAAE,CAAC,EAC1DqI,CAAC,CAACC,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGD,CAAC,CAACuG,MAAM,CAACtE,OAAO,CAAC,CAAC,CAAC,CAClD,CAAC;EACH,CAAC,CAAC,EACF3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC4D;EAAgB,CAAC,EACvC7F,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC2D,aAAa;MAAEvC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,WAAW,CAAC,EAC1ErD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAE8O,QAAQ,CAAC,EACjGvR,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC0D,aAAa;MAAEtC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEkO,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAG,CAACW,UAAU,CAACX,QAAQ,CAAC,GAAG,EAAE,EAAE5D,OAAO,CAAC,CAAC,CAAC,CACjI,CAAC,EACD3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC4D;EAAgB,CAAC,EACvC7F,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC2D,aAAa;MAAEvC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,WAAW,CAAC,EAC1ErD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAEgP,eAAe,CAAC,EACxGzR,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC0D,aAAa;MAAEtC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEmO,QAAQ,GAAG,CAAC,GAAG,CAACA,QAAQ,GAAG,EAAE,EAAE7D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAChH,CAAC,EACD3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC4D,eAAe;MAAE9C,iBAAiB,EAAE;IAAE;EAAE,CAAC,EACpE/C,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC2D,aAAa;MAAEvC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,oBAAoB,CAAC,EACnFrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAE,EAAE,CAAC,EAC7DrD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACyD,SAAS;MAAErC,KAAK,EAAE,KAAK;MAAEZ,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAEiP,iBAAiB,CAAC,EAC1G1R,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAAC0D,aAAa;MAAEtC,KAAK,EAAE;IAAM;EAAE,CAAC,EAAEqO,iBAAiB,KAAK,IAAI,GAAG,IAAI,GAAG,CAACQ,UAAU,CAACR,iBAAiB,CAAC,GAAG,EAAE,EAAE/D,OAAO,CAAC,CAAC,CAAC,CACnJ,CACF,CAAC,EACD3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC6D;EAAiB,CAAC,EACxC,GAAG+L,IAAI,CAACrF,GAAG,CAAC,CAACd,CAAc,EAAEgB,CAAS,KACpC1M,CAAC,CAACN,IAAI,EAAE;IAAEmN,GAAG,EAAEC,MAAM,CAACJ,CAAC,CAAC;IAAES,KAAK,EAAElL,MAAM,CAAC8D;EAAW,CAAC,EAClD/F,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACgE;EAAa,CAAC,EAAE,GAAGyF,CAAC,CAACE,aAAa,CAAC+B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACzE3N,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACkE;EAAa,CAAC,EAAEuF,CAAC,CAACU,IAAI,CAACsB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAC3F,CACF,CAAC,EACD1N,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACoE;EAAkB,CAAC,EAAE,SAAS,CAAC,EACvDrG,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqE;EAAa,CAAC,EACpCtG,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACsE,eAAe;MAAE5D,eAAe,EAAEzC,MAAM,CAACW;IAAO;EAAE,CAAC,EAC9Eb,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwE;EAAqB,CAAC,EAAE,MAAM,CAAC,EACvDzG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAE,MAAM,CAAC,EACnDxG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAE,QAAQ,CACtD,CAAC,EACDxG,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACsE;EAAgB,CAAC,EACvCvG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwE;EAAqB,CAAC,EAAE,OAAO,CAAC,EACxDzG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACsE,UAAU,GAAGtE,IAAI,CAACY,UAAU,IAAI,QAAQ,GAAG,QAAQ,CAAC,EACrGzO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACsE,UAAU,GAAG,UAAU,GAAG,eAAe,CAC5F,CAAC,EACDnS,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACsE,eAAe;MAAE5D,eAAe,EAAEzC,MAAM,CAACW;IAAO;EAAE,CAAC,EAC9Eb,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwE;EAAqB,CAAC,EAAE,cAAc,CAAC,EAC/DzG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACuE,iBAAiB,GAAGvE,IAAI,CAACY,UAAU,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAC5GzO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACuE,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAChG,CAAC,EACDpS,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACsE,eAAe;MAAExD,iBAAiB,EAAE;IAAE;EAAE,CAAC,EACpE/C,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwE;EAAqB,CAAC,EAAE,UAAU,CAAC,EAC3DzG,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACwE,aAAa,GAAGxE,IAAI,CAACY,UAAU,IAAI,QAAQ,GAAG,QAAQ,CAAC,EACxGzO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACuE;EAAiB,CAAC,EAAEqH,IAAI,CAACwE,aAAa,GAAG,GAAGxE,IAAI,CAACyE,QAAQ,GAAGzE,IAAI,CAACyE,QAAQ,CAAC3E,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,YAAY,CACzI,CACF,CACF,CACF,CAAC,EACD3N,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACyE;EAAY,CAAC,EACnC1G,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC0E;EAAiB,CAAC,EAAEkH,IAAI,CAAC0E,KAAK,IAAI,+BAA+B,CAAC,EAC1FvS,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAAC2E;EAAgB,CAAC,EACvC,sbACF,CACF,CAAC,EACD5G,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC4E;EAAO,CAAC,EAC9B7G,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAAC+E;EAAW,CAAC,EAClC6G,IAAI,CAACsB,aAAa,GAAGnP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACgF;EAAU,CAAC,EACtDjH,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACsB,aAAa;IAAEhC,KAAK,EAAElL,MAAM,CAACkF;EAAO,CAAC,CAAC,EAC3DnH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACmF;EAAQ,CAAC,EAAE,uBAAuB,CAC5D,CAAC,GAAG,IAAI,EACRpH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACoF;EAAW,CAAC,EAClC,GAAGwG,IAAI,CAACI,OAAO,IAAI,iBAAiB,wYAAwYJ,IAAI,CAACI,OAAO,IAAI,gBAAgB,GAC9c,CAAC,EACDjO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE,GAAGlL,MAAM,CAACoF,UAAU;MAAE1D,SAAS,EAAE;IAAE;EAAE,CAAC,EACvD,+DAA+DkK,IAAI,CAACuB,UAAU,IAAI,0BAA0B,EAC9G,CACF,CAAC,EACDpP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACqF;EAAY,CAAC,EACnCtH,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACsF;EAAc,CAAC,EACrCvH,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE1K,UAAU,EAAE;IAAiB;EAAE,CAAC,EAAEoL,IAAI,CAACI,OAAO,IAAI,YAAY,CAAC,EAClFjO,CAAC,CAACP,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAClCO,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,CAAC;MAAEE,KAAK,EAAExC,MAAM,CAACK;IAAQ;EAAE,CAAC,EAAEsN,IAAI,CAACuB,UAAU,IAAI,0BAA0B,CAC1G,CAAC,EACDpP,CAAC,CAACN,IAAI,EAAE;IAAEyN,KAAK,EAAElL,MAAM,CAACuF;EAAiB,CAAC,EACxCqG,IAAI,CAACwB,YAAY,GAAGrP,CAAC,CAACL,KAAK,EAAE;IAAEqO,GAAG,EAAEH,IAAI,CAACwB,YAAY;IAAElC,KAAK,EAAE;MAAE9J,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE,EAAE;MAAEL,YAAY,EAAE;IAAE;EAAE,CAAC,CAAC,GAAG,IAAI,EACnHjD,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACwF;EAAc,CAAC,EAAEoG,IAAI,CAACyB,WAAW,IAAI,gBAAgB,CAAC,EAC9EtP,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyF;EAAe,CAAC,EAAEmG,IAAI,CAAC0B,aAAa,IAAI,qBAAqB,CAAC,EACtFvP,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAElL,MAAM,CAACyF;EAAe,CAAC,EAAEmG,IAAI,CAAC2B,YAAY,IAAI3B,IAAI,CAACY,UAAU,IAAI,QAAQ,CAAC,EAC3FZ,IAAI,CAAC+D,SAAS,GAAG5R,CAAC,CAACP,IAAI,EAAE;IAAE0N,KAAK,EAAE;MAAE3K,QAAQ,EAAE,CAAC;MAAEE,KAAK,EAAExC,MAAM,CAACM,OAAO;MAAEmD,SAAS,EAAE,CAAC;MAAEwB,SAAS,EAAE;IAAQ;EAAE,CAAC,EAC1G,aAAa8J,UAAU,EAAE,CAAC,GAAG,IACjC,CACF,CACF,CACF,CAAC,CAAC;EAEF,IAAIpB,IAAI,CAAC+D,SAAS,EAAE;IAClBE,KAAK,CAACC,IAAI,CAAC/R,CAAC,CAACyP,iBAAiB,EAAE;MAAE5C,GAAG,EAAE,OAAO;MAAEgB,IAAI,EAAE;QAAE,GAAGA,IAAI;QAAEoB;MAAW;IAAE,CAAC,CAAC,CAAC;IACjF6C,KAAK,CAACC,IAAI,CAAC/R,CAAC,CAACwQ,aAAa,EAAE;MAAE3D,GAAG,EAAE,OAAO;MAAEgB,IAAI,EAAE;QAAE,GAAGA,IAAI;QAAEoB;MAAW,CAAC;MAAEwB,QAAQ,EAAE,GAAG;MAAEC,UAAU,EAAE7C,IAAI,CAAC2E,cAAc,IAAI,EAAE;MAAExD,OAAO,EAAE;IAAE,CAAC,CAAC,CAAC;IAC/I8C,KAAK,CAACC,IAAI,CAAC/R,CAAC,CAACwQ,aAAa,EAAE;MAAE3D,GAAG,EAAE,OAAO;MAAEgB,IAAI,EAAE;QAAE,GAAGA,IAAI;QAAEoB;MAAW,CAAC;MAAEwB,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAE7C,IAAI,CAAC4E,cAAc,IAAI,EAAE;MAAEzD,OAAO,EAAE;IAAE,CAAC,CAAC,CAAC;IAChJ,IAAI2C,mBAAmB,EAAE;MACvBG,KAAK,CAACC,IAAI,CAAC/R,CAAC,CAACmR,oBAAoB,EAAE;QAAEtE,GAAG,EAAE,OAAO;QAAEgB,IAAI,EAAE;UAAE,GAAGA,IAAI;UAAEoB;QAAW;MAAE,CAAC,CAAC,CAAC;IACtF;EACF;EAEA,OAAOjP,CAAC,CAACT,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAGuS,KAAK,CAAC;AAClC,CAAC;;AAED;AACA;AACA;;AAEA,OAAO,eAAeY,cAAcA,CAAC7E,IAAa,EAAmB;EACnE,MAAM8E,GAAG,gBAAGrT,KAAK,CAACW,aAAa,CAACqR,mBAAmB,EAAE;IAAEzD;EAAK,CAAC,CAAQ;EACrE,MAAM+E,MAAM,GAAG,MAAM/S,cAAc,CAAC8S,GAAG,CAAC;EACxC,OAAOE,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC;AAC5B","ignoreList":[]}