n8n 1.120.4 → 1.121.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/abstract-server.d.ts +1 -1
  2. package/dist/abstract-server.js +4 -4
  3. package/dist/abstract-server.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/chat/utils.js +5 -3
  6. package/dist/chat/utils.js.map +1 -1
  7. package/dist/commands/base-command.js +2 -2
  8. package/dist/commands/base-command.js.map +1 -1
  9. package/dist/commands/execute-batch.d.ts +1 -1
  10. package/dist/commands/execute.d.ts +2 -2
  11. package/dist/commands/export/credentials.d.ts +2 -2
  12. package/dist/commands/export/entities.d.ts +3 -0
  13. package/dist/commands/export/entities.js +9 -2
  14. package/dist/commands/export/entities.js.map +1 -1
  15. package/dist/commands/export/workflow.d.ts +2 -2
  16. package/dist/commands/import/credentials.d.ts +2 -2
  17. package/dist/commands/import/entities.d.ts +3 -0
  18. package/dist/commands/import/entities.js +10 -2
  19. package/dist/commands/import/entities.js.map +1 -1
  20. package/dist/commands/import/workflow.d.ts +2 -2
  21. package/dist/commands/ttwf/generate.d.ts +3 -3
  22. package/dist/constants.js +1 -0
  23. package/dist/constants.js.map +1 -1
  24. package/dist/controllers/auth.controller.js +4 -0
  25. package/dist/controllers/auth.controller.js.map +1 -1
  26. package/dist/controllers/e2e.controller.js +0 -1
  27. package/dist/controllers/e2e.controller.js.map +1 -1
  28. package/dist/controllers/invitation.controller.js +8 -4
  29. package/dist/controllers/invitation.controller.js.map +1 -1
  30. package/dist/credentials/credentials.service.d.ts +2 -0
  31. package/dist/credentials/credentials.service.js +33 -10
  32. package/dist/credentials/credentials.service.js.map +1 -1
  33. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +11 -23
  34. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  35. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js +1 -0
  36. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js.map +1 -1
  37. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js +1 -0
  38. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js.map +1 -1
  39. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.d.ts +4 -2
  40. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js +55 -29
  41. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js.map +1 -1
  42. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.d.ts +2 -0
  43. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js +23 -1
  44. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js.map +1 -1
  45. package/dist/execution-lifecycle/execute-error-workflow.js +1 -0
  46. package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
  47. package/dist/execution-lifecycle/save-execution-progress.d.ts +1 -1
  48. package/dist/execution-lifecycle/save-execution-progress.js +2 -13
  49. package/dist/execution-lifecycle/save-execution-progress.js.map +1 -1
  50. package/dist/executions/execution.service.js +1 -45
  51. package/dist/executions/execution.service.js.map +1 -1
  52. package/dist/interfaces.d.ts +2 -1
  53. package/dist/ldap.ee/constants.d.ts +3 -0
  54. package/dist/ldap.ee/constants.js +4 -0
  55. package/dist/ldap.ee/constants.js.map +1 -1
  56. package/dist/ldap.ee/ldap.service.ee.d.ts +1 -0
  57. package/dist/ldap.ee/ldap.service.ee.js +26 -0
  58. package/dist/ldap.ee/ldap.service.ee.js.map +1 -1
  59. package/dist/license.d.ts +0 -1
  60. package/dist/license.js +2 -4
  61. package/dist/license.js.map +1 -1
  62. package/dist/manual-execution.service.js +6 -5
  63. package/dist/manual-execution.service.js.map +1 -1
  64. package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +1 -2
  65. package/dist/modules/breaking-changes/breaking-changes.controller.js +1 -1
  66. package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -1
  67. package/dist/modules/breaking-changes/breaking-changes.service.d.ts +3 -3
  68. package/dist/modules/breaking-changes/breaking-changes.service.js +16 -11
  69. package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
  70. package/dist/modules/breaking-changes/rules/index.d.ts +1 -1
  71. package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.d.ts +9 -0
  72. package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js +70 -0
  73. package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js.map +1 -0
  74. package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.d.ts +6 -0
  75. package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js +53 -0
  76. package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js.map +1 -0
  77. package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.d.ts +11 -0
  78. package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js +64 -0
  79. package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js.map +1 -0
  80. package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.d.ts +7 -0
  81. package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js +74 -0
  82. package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js.map +1 -0
  83. package/dist/modules/breaking-changes/rules/v2/file-access.rule.d.ts +4 -4
  84. package/dist/modules/breaking-changes/rules/v2/file-access.rule.js +3 -2
  85. package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -1
  86. package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.d.ts +10 -0
  87. package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js +66 -0
  88. package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js.map +1 -0
  89. package/dist/modules/breaking-changes/rules/v2/index.d.ts +8 -2
  90. package/dist/modules/breaking-changes/rules/v2/index.js +35 -1
  91. package/dist/modules/breaking-changes/rules/v2/index.js.map +1 -1
  92. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.d.ts +6 -0
  93. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +51 -0
  94. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -0
  95. package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js +8 -1
  96. package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -1
  97. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.d.ts +10 -0
  98. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +65 -0
  99. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -0
  100. package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.d.ts +6 -0
  101. package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js +51 -0
  102. package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js.map +1 -0
  103. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.d.ts +9 -0
  104. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js +57 -0
  105. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js.map +1 -0
  106. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.d.ts +3 -3
  107. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js +3 -2
  108. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -1
  109. package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.d.ts +9 -0
  110. package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js +70 -0
  111. package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js.map +1 -0
  112. package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.d.ts +9 -0
  113. package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js +75 -0
  114. package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js.map +1 -0
  115. package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.d.ts +6 -0
  116. package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js +57 -0
  117. package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js.map +1 -0
  118. package/dist/modules/breaking-changes/rules/v2/task-runners.rule.d.ts +9 -0
  119. package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js +64 -0
  120. package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js.map +1 -0
  121. package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.d.ts +6 -0
  122. package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js +44 -0
  123. package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js.map +1 -0
  124. package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.d.ts +12 -0
  125. package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js +112 -0
  126. package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js.map +1 -0
  127. package/dist/modules/breaking-changes/types/rule.types.d.ts +1 -2
  128. package/dist/modules/breaking-changes/types/rule.types.js.map +1 -1
  129. package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +2 -0
  130. package/dist/modules/chat-hub/chat-hub-agent.entity.js +4 -0
  131. package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -1
  132. package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +3 -0
  133. package/dist/modules/chat-hub/chat-hub-agent.service.js +3 -0
  134. package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
  135. package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +2 -0
  136. package/dist/modules/chat-hub/chat-hub-session.entity.js +4 -0
  137. package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
  138. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +3 -2
  139. package/dist/modules/chat-hub/chat-hub-workflow.service.js +64 -30
  140. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  141. package/dist/modules/chat-hub/chat-hub.controller.d.ts +1 -1
  142. package/dist/modules/chat-hub/chat-hub.controller.js +2 -2
  143. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
  144. package/dist/modules/chat-hub/chat-hub.service.d.ts +8 -7
  145. package/dist/modules/chat-hub/chat-hub.service.js +65 -70
  146. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  147. package/dist/modules/chat-hub/chat-hub.types.d.ts +3 -10
  148. package/dist/modules/data-table/data-table-rows.repository.d.ts +2 -1
  149. package/dist/modules/data-table/data-table-rows.repository.js +38 -3
  150. package/dist/modules/data-table/data-table-rows.repository.js.map +1 -1
  151. package/dist/modules/data-table/data-table.service.d.ts +1 -1
  152. package/dist/modules/data-table/data-table.service.js +2 -2
  153. package/dist/modules/data-table/data-table.service.js.map +1 -1
  154. package/dist/modules/mcp/mcp.constants.d.ts +6 -0
  155. package/dist/modules/mcp/mcp.constants.js +8 -1
  156. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  157. package/dist/modules/mcp/mcp.errors.d.ts +6 -0
  158. package/dist/modules/mcp/mcp.errors.js +16 -0
  159. package/dist/modules/mcp/mcp.errors.js.map +1 -0
  160. package/dist/modules/mcp/mcp.service.d.ts +5 -1
  161. package/dist/modules/mcp/mcp.service.js +11 -2
  162. package/dist/modules/mcp/mcp.service.js.map +1 -1
  163. package/dist/modules/mcp/mcp.settings.controller.js +5 -4
  164. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  165. package/dist/modules/mcp/mcp.types.d.ts +18 -0
  166. package/dist/modules/mcp/mcp.utils.d.ts +3 -1
  167. package/dist/modules/mcp/mcp.utils.js +7 -1
  168. package/dist/modules/mcp/mcp.utils.js.map +1 -1
  169. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +107 -0
  170. package/dist/modules/mcp/tools/execute-workflow.tool.js +308 -0
  171. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -0
  172. package/dist/modules/mcp/tools/get-workflow-details.tool.js +11 -5
  173. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  174. package/dist/modules/mcp/tools/schemas.d.ts +5 -0
  175. package/dist/modules/mcp/tools/schemas.js +1 -0
  176. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  177. package/dist/modules/mcp/tools/search-workflows.tool.js +24 -8
  178. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  179. package/dist/modules/mcp/tools/webhook-utils.d.ts +2 -1
  180. package/dist/modules/mcp/tools/webhook-utils.js +68 -4
  181. package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
  182. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -3
  183. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  184. package/dist/server.d.ts +1 -1
  185. package/dist/server.js +1 -1
  186. package/dist/server.js.map +1 -1
  187. package/dist/services/credentials-tester.service.js +1 -5
  188. package/dist/services/credentials-tester.service.js.map +1 -1
  189. package/dist/services/dynamic-node-parameters.service.js +1 -1
  190. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  191. package/dist/services/export.service.d.ts +1 -1
  192. package/dist/services/export.service.js +16 -5
  193. package/dist/services/export.service.js.map +1 -1
  194. package/dist/services/frontend.service.js +3 -11
  195. package/dist/services/frontend.service.js.map +1 -1
  196. package/dist/services/import.service.d.ts +4 -4
  197. package/dist/services/import.service.js +20 -9
  198. package/dist/services/import.service.js.map +1 -1
  199. package/dist/sso.ee/oidc/oidc.service.ee.d.ts +1 -1
  200. package/dist/sso.ee/oidc/oidc.service.ee.js +5 -0
  201. package/dist/sso.ee/oidc/oidc.service.ee.js.map +1 -1
  202. package/dist/sso.ee/oidc/routes/oidc.controller.ee.d.ts +1 -1
  203. package/dist/sso.ee/sso-helpers.d.ts +1 -0
  204. package/dist/sso.ee/sso-helpers.js +6 -0
  205. package/dist/sso.ee/sso-helpers.js.map +1 -1
  206. package/dist/task-runners/errors/task-request-timeout.error.d.ts +8 -0
  207. package/dist/task-runners/errors/task-request-timeout.error.js +19 -0
  208. package/dist/task-runners/errors/task-request-timeout.error.js.map +1 -0
  209. package/dist/task-runners/task-broker/task-broker.service.d.ts +3 -0
  210. package/dist/task-runners/task-broker/task-broker.service.js +22 -0
  211. package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
  212. package/dist/task-runners/task-managers/local-task-requester.d.ts +3 -1
  213. package/dist/task-runners/task-managers/local-task-requester.js +9 -3
  214. package/dist/task-runners/task-managers/local-task-requester.js.map +1 -1
  215. package/dist/task-runners/task-managers/task-requester.d.ts +8 -2
  216. package/dist/task-runners/task-managers/task-requester.js +34 -2
  217. package/dist/task-runners/task-managers/task-requester.js.map +1 -1
  218. package/dist/utils/circuit-breaker.d.ts +36 -0
  219. package/dist/utils/circuit-breaker.js +118 -0
  220. package/dist/utils/circuit-breaker.js.map +1 -0
  221. package/dist/utils/sliding-window.d.ts +13 -0
  222. package/dist/utils/sliding-window.js +27 -0
  223. package/dist/utils/sliding-window.js.map +1 -0
  224. package/dist/webhooks/webhook-helpers.js +5 -17
  225. package/dist/webhooks/webhook-helpers.js.map +1 -1
  226. package/dist/webhooks/webhook.service.js +26 -3
  227. package/dist/webhooks/webhook.service.js.map +1 -1
  228. package/dist/workflow-execute-additional-data.d.ts +1 -1
  229. package/dist/workflow-execute-additional-data.js +4 -13
  230. package/dist/workflow-execute-additional-data.js.map +1 -1
  231. package/dist/workflows/workflow-execution.service.js +12 -25
  232. package/dist/workflows/workflow-execution.service.js.map +1 -1
  233. package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.d.ts → workflow-history/workflow-history-helper.d.ts} +0 -2
  234. package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.js → workflow-history/workflow-history-helper.js} +1 -10
  235. package/dist/workflows/workflow-history/workflow-history-helper.js.map +1 -0
  236. package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.js → workflow-history/workflow-history-manager.js} +4 -7
  237. package/dist/workflows/workflow-history/workflow-history-manager.js.map +1 -0
  238. package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.d.ts → workflow-history/workflow-history.controller.d.ts} +1 -4
  239. package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.js → workflow-history/workflow-history.controller.js} +4 -33
  240. package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -0
  241. package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.js → workflow-history/workflow-history.service.js} +18 -18
  242. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -0
  243. package/dist/workflows/workflow.service.d.ts +1 -1
  244. package/dist/workflows/workflow.service.js +15 -8
  245. package/dist/workflows/workflow.service.js.map +1 -1
  246. package/dist/workflows/workflows.controller.d.ts +1 -1
  247. package/dist/workflows/workflows.controller.js +2 -2
  248. package/dist/workflows/workflows.controller.js.map +1 -1
  249. package/package.json +16 -16
  250. package/templates/form-trigger.handlebars +2 -3
  251. package/dist/workflows/workflow-history.ee/workflow-history-helper.ee.js.map +0 -1
  252. package/dist/workflows/workflow-history.ee/workflow-history-manager.ee.js.map +0 -1
  253. package/dist/workflows/workflow-history.ee/workflow-history.controller.ee.js.map +0 -1
  254. package/dist/workflows/workflow-history.ee/workflow-history.service.ee.js.map +0 -1
  255. /package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.d.ts → workflow-history/workflow-history-manager.d.ts} +0 -0
  256. /package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.d.ts → workflow-history/workflow-history.service.d.ts} +0 -0
@@ -15,6 +15,13 @@ const backend_common_1 = require("@n8n/backend-common");
15
15
  const db_1 = require("@n8n/db");
16
16
  const di_1 = require("@n8n/di");
17
17
  const n8n_workflow_1 = require("n8n-workflow");
18
+ const chat_hub_agent_service_1 = require("./chat-hub-agent.service");
19
+ const chat_hub_credentials_service_1 = require("./chat-hub-credentials.service");
20
+ const chat_hub_workflow_service_1 = require("./chat-hub-workflow.service");
21
+ const chat_hub_constants_1 = require("./chat-hub.constants");
22
+ const chat_message_repository_1 = require("./chat-message.repository");
23
+ const chat_session_repository_1 = require("./chat-session.repository");
24
+ const stream_capturer_1 = require("./stream-capturer");
18
25
  const active_executions_1 = require("../../active-executions");
19
26
  const credentials_finder_service_1 = require("../../credentials/credentials-finder.service");
20
27
  const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
@@ -25,13 +32,6 @@ const workflow_execute_additional_data_1 = require("../../workflow-execute-addit
25
32
  const workflow_execution_service_1 = require("../../workflows/workflow-execution.service");
26
33
  const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
27
34
  const workflow_service_1 = require("../../workflows/workflow.service");
28
- const chat_hub_agent_service_1 = require("./chat-hub-agent.service");
29
- const chat_hub_credentials_service_1 = require("./chat-hub-credentials.service");
30
- const chat_hub_workflow_service_1 = require("./chat-hub-workflow.service");
31
- const chat_hub_constants_1 = require("./chat-hub.constants");
32
- const chat_message_repository_1 = require("./chat-message.repository");
33
- const chat_session_repository_1 = require("./chat-session.repository");
34
- const stream_capturer_1 = require("./stream-capturer");
35
35
  let ChatHubService = class ChatHubService {
36
36
  constructor(logger, executionService, nodeParametersService, executionRepository, workflowExecutionService, workflowService, workflowFinderService, workflowRepository, activeExecutions, sessionRepository, messageRepository, credentialsFinderService, chatHubAgentService, chatHubCredentialsService, chatHubWorkflowService) {
37
37
  this.logger = logger;
@@ -255,24 +255,24 @@ let ChatHubService = class ChatHubService {
255
255
  return credentials[api_types_1.PROVIDER_CREDENTIAL_TYPE_MAP[provider]]?.id ?? null;
256
256
  }
257
257
  async sendHumanMessage(res, user, payload) {
258
- const { sessionId, messageId, message, model, credentials, previousMessageId } = payload;
259
- const { provider } = model;
260
- const selectedModel = this.getModelWithCredentials(model, credentials);
258
+ const { sessionId, messageId, message, model, credentials, previousMessageId, tools } = payload;
259
+ const credentialId = this.getModelCredential(model, credentials);
261
260
  const { executionData, workflowData } = await this.messageRepository.manager.transaction(async (trx) => {
262
- const session = await this.getChatSession(user, sessionId, selectedModel, true, trx);
261
+ let session = await this.getChatSession(user, sessionId, trx);
262
+ session ??= await this.createChatSession(user, sessionId, model, credentialId, tools, trx);
263
263
  await this.ensurePreviousMessage(previousMessageId, sessionId, trx);
264
264
  const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
265
265
  const history = this.buildMessageHistory(messages, previousMessageId);
266
- await this.saveHumanMessage(payload, user, previousMessageId, selectedModel, undefined, trx);
267
- if (provider === 'n8n') {
266
+ await this.saveHumanMessage(payload, user, previousMessageId, model, undefined, trx);
267
+ if (model.provider === 'n8n') {
268
268
  return await this.prepareCustomAgentWorkflow(user, sessionId, model.workflowId, message);
269
269
  }
270
- if (provider === 'custom-agent') {
270
+ if (model.provider === 'custom-agent') {
271
271
  return await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
272
272
  }
273
- return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
273
+ return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
274
274
  });
275
- await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, selectedModel, provider);
275
+ await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, model);
276
276
  if (previousMessageId === null) {
277
277
  await this.generateSessionTitle(user, sessionId, message, credentials, model).catch((error) => {
278
278
  this.logger.error(`Title generation failed: ${error}`);
@@ -281,10 +281,11 @@ let ChatHubService = class ChatHubService {
281
281
  }
282
282
  async editMessage(res, user, payload) {
283
283
  const { sessionId, editId, messageId, message, model, credentials } = payload;
284
- const { provider } = model;
285
- const selectedModel = this.getModelWithCredentials(model, credentials);
286
284
  const workflow = await this.messageRepository.manager.transaction(async (trx) => {
287
- const session = await this.getChatSession(user, sessionId, selectedModel, true, trx);
285
+ const session = await this.getChatSession(user, sessionId, trx);
286
+ if (!session) {
287
+ throw new not_found_error_1.NotFoundError('Chat session not found');
288
+ }
288
289
  const messageToEdit = await this.getChatMessage(session.id, editId, [], trx);
289
290
  if (!['ai', 'human'].includes(messageToEdit.type)) {
290
291
  throw new bad_request_error_1.BadRequestError('Only human and AI messages can be edited');
@@ -297,14 +298,14 @@ let ChatHubService = class ChatHubService {
297
298
  const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
298
299
  const history = this.buildMessageHistory(messages, messageToEdit.previousMessageId);
299
300
  const revisionOfMessageId = messageToEdit.revisionOfMessageId ?? messageToEdit.id;
300
- await this.saveHumanMessage(payload, user, messageToEdit.previousMessageId, selectedModel, revisionOfMessageId, trx);
301
- if (provider === 'n8n') {
301
+ await this.saveHumanMessage(payload, user, messageToEdit.previousMessageId, model, revisionOfMessageId, trx);
302
+ if (model.provider === 'n8n') {
302
303
  return await this.prepareCustomAgentWorkflow(user, sessionId, model.workflowId, message);
303
304
  }
304
- if (provider === 'custom-agent') {
305
+ if (model.provider === 'custom-agent') {
305
306
  return await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
306
307
  }
307
- return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
308
+ return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
308
309
  }
309
310
  return null;
310
311
  });
@@ -312,14 +313,16 @@ let ChatHubService = class ChatHubService {
312
313
  return;
313
314
  }
314
315
  const { workflowData, executionData } = workflow;
315
- await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, selectedModel, provider);
316
+ await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, model);
316
317
  }
317
318
  async regenerateAIMessage(res, user, payload) {
318
319
  const { sessionId, retryId, model, credentials } = payload;
319
320
  const { provider } = model;
320
- const selectedModel = this.getModelWithCredentials(model, credentials);
321
321
  const { workflow: { workflowData, executionData }, retryOfMessageId, previousMessageId, } = await this.messageRepository.manager.transaction(async (trx) => {
322
- const session = await this.getChatSession(user, sessionId, undefined, false, trx);
322
+ const session = await this.getChatSession(user, sessionId, trx);
323
+ if (!session) {
324
+ throw new not_found_error_1.NotFoundError('Chat session not found');
325
+ }
323
326
  const messageToRetry = await this.getChatMessage(session.id, retryId, [], trx);
324
327
  if (messageToRetry.type !== 'ai') {
325
328
  throw new bad_request_error_1.BadRequestError('Can only retry AI messages');
@@ -344,7 +347,7 @@ let ChatHubService = class ChatHubService {
344
347
  workflow = await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
345
348
  }
346
349
  else {
347
- workflow = await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
350
+ workflow = await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
348
351
  }
349
352
  return {
350
353
  workflow,
@@ -352,11 +355,11 @@ let ChatHubService = class ChatHubService {
352
355
  retryOfMessageId,
353
356
  };
354
357
  });
355
- await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, selectedModel, provider, retryOfMessageId);
358
+ await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId);
356
359
  }
357
- async prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, trx) {
360
+ async prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, tools, trx) {
358
361
  const credential = await this.chatHubCredentialsService.ensureCredentials(user, model.provider, credentials, trx);
359
- return await this.chatHubWorkflowService.createChatWorkflow(user.id, sessionId, credential.projectId, history, message, credentials, model, systemMessage, trx);
362
+ return await this.chatHubWorkflowService.createChatWorkflow(user.id, sessionId, credential.projectId, history, message, credentials, model, systemMessage, tools, trx);
360
363
  }
361
364
  async prepareChatAgentWorkflow(agentId, user, sessionId, history, message, trx) {
362
365
  const agent = await this.chatHubAgentService.getAgentById(agentId, user.id);
@@ -384,7 +387,8 @@ let ChatHubService = class ChatHubService {
384
387
  name: '',
385
388
  },
386
389
  };
387
- return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, trx);
390
+ const tools = [];
391
+ return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, tools, trx);
388
392
  }
389
393
  async prepareCustomAgentWorkflow(user, sessionId, workflowId, message) {
390
394
  const workflowEntity = await this.workflowFinderService.findWorkflowForUser(workflowId, user, ['workflow:read'], { includeTags: false, includeParentFolder: false });
@@ -419,22 +423,14 @@ let ChatHubService = class ChatHubService {
419
423
  source: null,
420
424
  },
421
425
  ];
422
- const executionData = {
423
- startData: {},
424
- resultData: {
425
- runData: {},
426
- },
426
+ const executionData = (0, n8n_workflow_1.createRunExecutionData)({
427
427
  executionData: {
428
- contextData: {},
429
- metadata: {},
430
428
  nodeExecutionStack,
431
- waitingExecution: {},
432
- waitingExecutionSource: {},
433
429
  },
434
430
  manualData: {
435
431
  userId: user.id,
436
432
  },
437
- };
433
+ });
438
434
  return {
439
435
  workflowData: {
440
436
  ...workflowEntity,
@@ -453,6 +449,9 @@ let ChatHubService = class ChatHubService {
453
449
  }
454
450
  async stopGeneration(user, sessionId, messageId) {
455
451
  const session = await this.getChatSession(user, sessionId);
452
+ if (!session) {
453
+ throw new not_found_error_1.NotFoundError('Chat session not found');
454
+ }
456
455
  const message = await this.getChatMessage(session.id, messageId, [
457
456
  'execution',
458
457
  'execution.workflow',
@@ -469,7 +468,7 @@ let ChatHubService = class ChatHubService {
469
468
  await this.executionService.stop(message.execution.id, [message.execution.workflowId]);
470
469
  await this.messageRepository.updateChatMessage(messageId, { status: 'cancelled' });
471
470
  }
472
- async executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, selectedModel, retryOfMessageId = null) {
471
+ async executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId = null) {
473
472
  this.logger.debug(`Starting execution of workflow "${workflowData.name}" with ID ${workflowData.id}`);
474
473
  let executionId = undefined;
475
474
  const aggregator = (0, stream_capturer_1.createStructuredChunkAggregator)(previousMessageId, retryOfMessageId, {
@@ -478,7 +477,7 @@ let ChatHubService = class ChatHubService {
478
477
  ...message,
479
478
  sessionId,
480
479
  executionId,
481
- selectedModel,
480
+ model,
482
481
  retryOfMessageId,
483
482
  });
484
483
  },
@@ -555,12 +554,12 @@ let ChatHubService = class ChatHubService {
555
554
  throw error;
556
555
  }
557
556
  }
558
- async executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, selectedModel, provider, retryOfMessageId = null) {
557
+ async executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId = null) {
559
558
  try {
560
- await this.executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, selectedModel, retryOfMessageId);
559
+ await this.executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId);
561
560
  }
562
561
  finally {
563
- if (provider !== 'n8n') {
562
+ if (model.provider !== 'n8n') {
564
563
  await this.deleteChatWorkflow(workflowData.id);
565
564
  }
566
565
  }
@@ -709,7 +708,7 @@ let ChatHubService = class ChatHubService {
709
708
  const title = this.getAIOutput(execution, chat_hub_constants_1.NODE_NAMES.TITLE_GENERATOR_AGENT);
710
709
  return title ?? null;
711
710
  }
712
- async saveHumanMessage(payload, user, previousMessageId, selectedModel, revisionOfMessageId, trx) {
711
+ async saveHumanMessage(payload, user, previousMessageId, model, revisionOfMessageId, trx) {
713
712
  await this.messageRepository.createChatMessage({
714
713
  id: payload.messageId,
715
714
  sessionId: payload.sessionId,
@@ -718,11 +717,11 @@ let ChatHubService = class ChatHubService {
718
717
  content: payload.message,
719
718
  previousMessageId,
720
719
  revisionOfMessageId,
721
- ...selectedModel,
722
720
  name: user.firstName || 'User',
721
+ ...model,
723
722
  }, trx);
724
723
  }
725
- async saveAIMessage({ id, sessionId, executionId, previousMessageId, content, selectedModel, retryOfMessageId, status, }) {
724
+ async saveAIMessage({ id, sessionId, executionId, previousMessageId, content, model, retryOfMessageId, status, }) {
726
725
  await this.messageRepository.createChatMessage({
727
726
  id,
728
727
  sessionId,
@@ -733,35 +732,27 @@ let ChatHubService = class ChatHubService {
733
732
  status,
734
733
  content,
735
734
  retryOfMessageId,
736
- ...selectedModel,
735
+ ...model,
737
736
  });
738
737
  }
739
- getModelWithCredentials(selectedModel, credentials) {
740
- const provider = selectedModel.provider;
741
- const modelWithCredentials = {
742
- ...selectedModel,
743
- credentialId: provider !== 'n8n' ? this.pickCredentialId(provider, credentials) : null,
744
- };
745
- return modelWithCredentials;
738
+ getModelCredential(model, credentials) {
739
+ const credentialId = model.provider !== 'n8n' ? this.pickCredentialId(model.provider, credentials) : null;
740
+ return credentialId;
746
741
  }
747
- async getChatSession(user, sessionId, selectedModel, initialize = false, trx) {
748
- const existing = await this.sessionRepository.getOneById(sessionId, user.id, trx);
749
- if (existing) {
750
- return existing;
751
- }
752
- else if (!initialize) {
753
- throw new not_found_error_1.NotFoundError('Chat session not found');
754
- }
742
+ async getChatSession(user, sessionId, trx) {
743
+ return await this.sessionRepository.getOneById(sessionId, user.id, trx);
744
+ }
745
+ async createChatSession(user, sessionId, model, credentialId, tools, trx) {
755
746
  let agentName = undefined;
756
- if (selectedModel?.provider === 'custom-agent') {
757
- const agent = await this.chatHubAgentService.getAgentById(selectedModel.agentId, user.id);
747
+ if (model.provider === 'custom-agent') {
748
+ const agent = await this.chatHubAgentService.getAgentById(model.agentId, user.id);
758
749
  if (!agent) {
759
750
  throw new bad_request_error_1.BadRequestError('Agent not found for chat session initialization');
760
751
  }
761
752
  agentName = agent.name;
762
753
  }
763
- if (selectedModel?.provider === 'n8n') {
764
- const workflow = await this.workflowFinderService.findWorkflowForUser(selectedModel.workflowId, user, ['workflow:read'], { includeTags: false, includeParentFolder: false });
754
+ if (model.provider === 'n8n') {
755
+ const workflow = await this.workflowFinderService.findWorkflowForUser(model.workflowId, user, ['workflow:read'], { includeTags: false, includeParentFolder: false });
765
756
  if (!workflow) {
766
757
  throw new bad_request_error_1.BadRequestError('Workflow not found for chat session initialization');
767
758
  }
@@ -780,7 +771,9 @@ let ChatHubService = class ChatHubService {
780
771
  ownerId: user.id,
781
772
  title: 'New Chat',
782
773
  agentName,
783
- ...selectedModel,
774
+ tools,
775
+ credentialId,
776
+ ...model,
784
777
  }, trx);
785
778
  }
786
779
  async getChatMessage(sessionId, messageId, relations = [], trx) {
@@ -805,6 +798,7 @@ let ChatHubService = class ChatHubService {
805
798
  agentName: session.agentName,
806
799
  createdAt: session.createdAt.toISOString(),
807
800
  updatedAt: session.updatedAt.toISOString(),
801
+ tools: session.tools,
808
802
  }));
809
803
  }
810
804
  async getConversation(userId, sessionId) {
@@ -827,6 +821,7 @@ let ChatHubService = class ChatHubService {
827
821
  agentName: session.agentName,
828
822
  createdAt: session.createdAt.toISOString(),
829
823
  updatedAt: session.updatedAt.toISOString(),
824
+ tools: session.tools,
830
825
  },
831
826
  conversation: {
832
827
  messages: Object.fromEntries(messages.map((m) => [m.id, this.convertMessageToDto(m)])),
@@ -1 +1 @@
1
- {"version":3,"file":"chat-hub.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-hub.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAkBwB;AACxB,wDAA6C;AAC7C,gCAA4F;AAC5F,gCAAkC;AAGlC,+CAgBsB;AAEtB,qEAA+D;AAC/D,iFAAoG;AAEpG,2EAAqE;AACrE,6DAAgG;AAMhG,uEAAqE;AACrE,uEAAqE;AACrE,uDAA6F;AAE7F,2DAAuD;AACvD,yFAAoF;AACpF,kFAA6E;AAC7E,8EAAyE;AACzE,sEAAkE;AAClE,gGAA0F;AAC1F,yFAA6D;AAC7D,uFAAkF;AAClF,iFAA4E;AAC5E,mEAA+D;AAGxD,IAAM,cAAc,GAApB,MAAM,cAAc;IAC1B,YACkB,MAAc,EACd,gBAAkC,EAClC,qBAAmD,EACnD,mBAAwC,EACxC,wBAAkD,EAClD,eAAgC,EAChC,qBAA4C,EAC5C,kBAAsC,EACtC,gBAAkC,EAClC,iBAA2C,EAC3C,iBAA2C,EAC3C,wBAAkD,EAClD,mBAAwC,EACxC,yBAAoD,EACpD,sBAA8C;QAd9C,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAA8B;QACnD,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,oBAAe,GAAf,eAAe,CAAiB;QAChC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,2BAAsB,GAAtB,sBAAsB,CAAwB;IAC7D,CAAC;IAEJ,KAAK,CAAC,SAAS,CACd,IAAU,EACV,aAAwD;QAExD,MAAM,cAAc,GAAG,MAAM,IAAA,0CAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,iCAAqB,CAAC,OAAO,CAAC;QAEhD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,EAAE;YACvF,iBAAiB;SACjB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,SAAS,CAAC,GAAG,CACZ,KAAK,EAAE,QAAyB,EAAE,EAAE;YACnC,MAAM,WAAW,GAAqB,EAAE,CAAC;YAEzC,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACvD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnC,CAAC;gBAGD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;oBAC1E,OAAO;wBACN,QAAQ;wBACR,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE;qBACvE,CAAC;gBACH,CAAC;gBAED,WAAW,CAAC,wCAA4B,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;YACtF,CAAC;YAED,IAAI,CAAC;gBACJ,OAAO;oBACN,QAAQ;oBACR,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC;iBAC9E,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO;oBACN,QAAQ;oBACR,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE;iBACvE,CAAC;YACH,CAAC;QACF,CAAC,CACD,CACD,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,CACtB,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE;YACxB,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YACpB,OAAO,GAAG,CAAC;QACZ,CAAC,EACD,EAAE,GAAG,mCAAuB,EAAE,CAC9B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CACnC,IAAU,EACV,QAAyB,EACzB,WAA6B,EAC7B,cAA8C;QAE9C,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACZ,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAClE,KAAK,WAAW;gBACf,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACrE,KAAK,QAAQ;gBACZ,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAClE,KAAK,KAAK;gBACT,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACrD,KAAK,cAAc;gBAClB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,WAA6B,EAC7B,cAA8C;QAE9C,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CACxF,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,2CAAsB,CAAC,MAAM,EAC7B,EAAE,EACF,WAAW,CACX,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gBACvC,KAAK,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBACD,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;SACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CACjC,WAA6B,EAC7B,cAA8C;QAE9C,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CACxF,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,2CAAsB,CAAC,SAAS,EAChC,EAAE,EACF,WAAW,CACX,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gBACvC,KAAK,EAAE;oBACN,QAAQ,EAAE,WAAW;oBACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBACD,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;SACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,WAA6B,EAC7B,cAA8C;QAE9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACxE;YAGC,OAAO,EAAE;gBACR,OAAO,EAAE;oBACR,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,gBAAgB;iBACrB;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE;wBACZ;4BACC,IAAI,EAAE,cAAc;4BACpB,UAAU,EAAE;gCACX,QAAQ,EAAE,QAAQ;6BAClB;yBACD;wBACD;4BACC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACX,IAAI,EAAE,kDAAkD;6BACxD;yBACD;wBACD;4BACC,IAAI,EAAE,aAAa;4BACnB,UAAU,EAAE;gCACX,IAAI,EAAE,yBAAyB;gCAC/B,KAAK,EAAE,yBAAyB;gCAChC,WAAW,EAAE,gCAAgC;6BAC7C;yBACD;wBACD;4BACC,IAAI,EAAE,MAAM;4BACZ,UAAU,EAAE;gCACX,GAAG,EAAE,MAAM;6BACX;yBACD;qBACD;iBACD;aACD;SACD,EACD,cAAc,EACd,2CAAsB,CAAC,MAAM,EAC7B,EAAE,EACF,WAAW,CACX,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gBACvC,KAAK,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBACD,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;SACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,IAAU;QACnD,MAAM,SAAS,GAAG,CAAC,qCAAsB,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CACzE,IAAI,EACJ,SAAS,EACT,IAAI,CACJ,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,SAAS;iBAEf,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;iBAC/D,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qCAAsB,CAAC,CAAC;gBACzF,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACX,CAAC;gBAED,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACrD,OAAO,EAAE,CAAC;gBACX,CAAC;gBAED,MAAM,IAAI,GACT,OAAO,WAAW,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ;oBACpD,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS;oBAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAElB,OAAO;oBACN;wBACC,IAAI,EAAE,IAAI,IAAI,eAAe;wBAC7B,WAAW,EACV,OAAO,WAAW,CAAC,UAAU,CAAC,gBAAgB,KAAK,QAAQ;4BAC3D,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;4BACjD,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB;4BACzC,CAAC,CAAC,IAAI;wBACR,KAAK,EAAE;4BACN,QAAQ,EAAE,KAAK;4BACf,UAAU,EAAE,QAAQ,CAAC,EAAE;yBACvB;wBACD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;wBACvE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;qBACvE;iBACD,CAAC;YACH,CAAC,CAAC;SACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QAClD,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAEO,eAAe,CAAC,SAA6B;QACpD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/F,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,SAA6B,EAAE,QAAgB;QAClE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAG/C,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBAClC,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;oBACpF,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9B,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,gBAAgB,CACvB,QAAyB,EACzB,WAA6B;QAE7B,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,WAAW,CAAC,wCAA4B,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAa,EAAE,IAAU,EAAE,OAA4B;QAC7E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAEhG,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEjE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CACvF,KAAK,EAAE,GAAG,EAAE,EAAE;YACb,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,KAAK,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAE3F,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAEtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAErF,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9B,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1F,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACvC,OAAO,MAAM,IAAI,CAAC,wBAAwB,CACzC,KAAK,CAAC,OAAO,EACb,IAAI,EACJ,SAAS,EACT,OAAO,EACP,OAAO,EACP,GAAG,CACH,CAAC;YACH,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,uBAAuB,CACxC,IAAI,EACJ,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,CAAC,KAAK,EACb,GAAG,CACH,CAAC;QACH,CAAC,CACD,CAAC;QAEF,MAAM,IAAI,CAAC,8BAA8B,CACxC,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;QAIF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAClF,CAAC,KAAK,EAAE,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAa,EAAE,IAAU,EAAE,OAA2B;QACvE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,+BAAa,CAAC,wBAAwB,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAE7E,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,mCAAe,CAAC,0CAA0C,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAEjC,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1F,OAAO,IAAI,CAAC;YACb,CAAC;YAED,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBAGpF,MAAM,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,IAAI,aAAa,CAAC,EAAE,CAAC;gBAElF,MAAM,IAAI,CAAC,gBAAgB,CAC1B,OAAO,EACP,IAAI,EACJ,aAAa,CAAC,iBAAiB,EAC/B,KAAK,EACL,mBAAmB,EACnB,GAAG,CACH,CAAC;gBAEF,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC9B,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC1F,CAAC;gBAED,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oBACvC,OAAO,MAAM,IAAI,CAAC,wBAAwB,CACzC,KAAK,CAAC,OAAO,EACb,IAAI,EACJ,SAAS,EACT,OAAO,EACP,OAAO,EACP,GAAG,CACH,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,uBAAuB,CACxC,IAAI,EACJ,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,CAAC,KAAK,EACb,GAAG,CACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QAEjD,MAAM,IAAI,CAAC,8BAA8B,CACxC,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAa,EAAE,IAAU,EAAE,OAAiC;QACrF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE3B,MAAM,EACL,QAAQ,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,EACzC,gBAAgB,EAChB,iBAAiB,GACjB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,+BAAa,CAAC,wBAAwB,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAE/E,IAAI,cAAc,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,mCAAe,CAAC,4BAA4B,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAErF,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,MAAM,IAAI,mCAAe,CAAC,6CAA6C,CAAC,CAAC;YAC1E,CAAC;YAGD,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAChE,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YAKD,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,IAAI,cAAc,CAAC,EAAE,CAAC;YAC9E,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjE,IAAI,QAAQ,CAAC;YACb,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACxB,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAC/C,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACP,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACxC,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC7C,KAAK,CAAC,OAAO,EACb,IAAI,EACJ,SAAS,EACT,OAAO,EACP,OAAO,EACP,GAAG,CACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC5C,IAAI,EACJ,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,CAAC,KAAK,EACb,GAAG,CACH,CAAC;YACH,CAAC;YAED,OAAO;gBACN,QAAQ;gBACR,iBAAiB,EAAE,gBAAgB,CAAC,EAAE;gBACtC,gBAAgB;aAChB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,8BAA8B,CACxC,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,gBAAgB,CAChB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACpC,IAAU,EACV,SAAwB,EACxB,WAA6B,EAC7B,KAA0B,EAC1B,OAAyB,EACzB,OAAe,EACf,aAAiC,EACjC,KAAc,EACd,GAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACxE,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,WAAW,EACX,GAAG,CACH,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAC1D,IAAI,CAAC,EAAE,EACP,SAAS,EACT,UAAU,CAAC,SAAS,EACpB,OAAO,EACP,OAAO,EACP,WAAW,EACX,KAAK,EACL,aAAa,EACb,KAAK,EACL,GAAG,CACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACrC,OAAe,EACf,IAAU,EACV,SAAwB,EACxB,OAAyB,EACzB,OAAe,EACf,GAAkB;QAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mCAAe,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,IAAI,mCAAe,CAAC,qCAAqC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACnE,MAAM,IAAI,mCAAe,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QAEzC,MAAM,KAAK,GAAwB;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,CAAC;QAEF,MAAM,WAAW,GAAqB;YACrC,CAAC,wCAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAC/C,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,EAAE;aACR;SACD,CAAC;QAEF,MAAM,KAAK,GAAY,EAAE,CAAC;QAE1B,OAAO,MAAM,IAAI,CAAC,uBAAuB,CACxC,IAAI,EACJ,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,KAAK,EACL,GAAG,CACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACvC,IAAU,EACV,SAAwB,EACxB,UAAkB,EAClB,OAAe;QAEf,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAC1E,UAAU,EACV,IAAI,EACJ,CAAC,eAAe,CAAC,EACjB,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAClD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,mCAAe,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qCAAsB,CAC9C,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,mCAAe,CAAC,6CAA6C,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,wCAAyB,CACjD,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,mCAAe,CACxB,mEAAmE,CACnE,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAmB;YAC1C;gBACC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACL,IAAI,EAAE;wBACL;4BACC;gCACC,IAAI,EAAE;oCACL,SAAS;oCACT,MAAM,EAAE,aAAa;oCACrB,SAAS,EAAE,OAAO;iCAClB;6BACD;yBACD;qBACD;iBACD;gBACD,MAAM,EAAE,IAAI;aACZ;SACD,CAAC;QAEF,MAAM,aAAa,GAAG,IAAA,qCAAsB,EAAC;YAC5C,aAAa,EAAE;gBACd,kBAAkB;aAClB;YACD,UAAU,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,EAAE;aACf;SACD,CAAC,CAAC;QAEH,OAAO;YACN,YAAY,EAAE;gBACb,GAAG,cAAc;aACjB;YACD,aAAa;SACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAClC,iBAAuC,EACvC,SAAiB,EACjB,GAAmB;QAEnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAC9D,iBAAiB,EACjB,SAAS,EACT,EAAE,EACF,GAAG,CACH,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,IAAI,mCAAe,CAAC,oDAAoD,CAAC,CAAC;QACjF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,SAAwB,EAAE,SAAwB;QAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE;YAChE,WAAW;YACX,oBAAoB;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,mCAAe,CAAC,2BAA2B,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,mCAAe,CAAC,qDAAqD,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,mCAAe,CAAC,mDAAmD,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAChC,GAAa,EACb,IAAU,EACV,YAA2B,EAC3B,aAAgC,EAChC,SAAwB,EACxB,iBAAgC,EAChC,KAA+B,EAC/B,mBAAyC,IAAI;QAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,mCAAmC,YAAY,CAAC,IAAI,aAAa,YAAY,CAAC,EAAE,EAAE,CAClF,CAAC;QAIF,IAAI,WAAW,GAAuB,SAAS,CAAC;QAEhD,MAAM,UAAU,GAAG,IAAA,iDAA+B,EAAC,iBAAiB,EAAE,gBAAgB,EAAE;YACvF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,MAAM,IAAI,CAAC,aAAa,CAAC;oBACxB,GAAG,OAAO;oBACV,SAAS;oBACT,WAAW;oBACX,KAAK;oBACL,gBAAgB;iBAChB,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YAG7B,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE;oBAC1D,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACtB,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gBACtC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAE9D,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAC7C,OAAO,CAAC,EAAE,EACV;wBACC,OAAO,EAAE,OAAO,CAAC,OAAO;qBACxB,EACD,GAAG,CACH,CAAC;oBAGF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAC3D,OAAO,CAAC,EAAE,EACV,SAAS,EACT,EAAE,EACF,GAAG,CACH,CAAC;oBACF,IAAI,YAAY,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC1C,OAAO;oBACR,CAAC;oBAGD,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAC7C,OAAO,CAAC,EAAE,EACV;wBACC,MAAM,EAAE,OAAO;qBACf,EACD,GAAG,CACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE1B,IAAI,KAAK,GAA2B,IAAI,CAAC;YACzC,IAAI,CAAC;gBACJ,KAAK,GAAG,IAAA,wBAAS,EAAkB,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,GAA4B;gBACzC,GAAG,KAAK;gBACR,QAAQ,EAAE;oBACT,GAAG,KAAK,CAAC,QAAQ;oBACjB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;oBAC5C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;iBAC9C;aACD,CAAC;YAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QACxC,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yCAAuB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAE3C,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,yCAAoB,CAAC,CAAC;QAC5C,MAAM,CAAC,YAAY,EAAE,CAAC;QAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CACxE,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,MAAM,EACN,IAAI,CACJ,CAAC;QAEF,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,+BAAgB,CAAC,kDAAkD,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,+BAAgB,CAAC,kDAAkD,CAAC,CAAC;YAChF,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,4CAA6B,EAAE,CAAC;gBACpD,OAAO;YACR,CAAC;YAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC3C,GAAa,EACb,IAAU,EACV,YAA2B,EAC3B,aAAgC,EAChC,SAAwB,EACxB,iBAAgC,EAChC,KAA+B,EAC/B,mBAAyC,IAAI;QAE7C,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,mBAAmB,CAC7B,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,gBAAgB,CAChB,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CACjC,IAAU,EACV,SAAwB,EACxB,YAAoB,EACpB,WAA6B,EAC7B,KAA+B;QAE/B,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAChF,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,KAAK,CACL,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACxF,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,KAAK,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC3C,IAAU,EACV,SAAwB,EACxB,YAAoB,EACpB,mBAAqC,EACrC,aAAuC;QAEvC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,GACvD,MAAM,IAAI,CAAC,kCAAkC,CAC5C,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,GAAG,CACH,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,IAAI,mCAAe,CAAC,sDAAsD,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,uBAAuB,UAAU,CAAC,EAAE,oCAAoC,UAAU,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CACtI,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CACrE,IAAI,CAAC,EAAE,EACP,SAAS,EACT,UAAU,CAAC,SAAS,EACpB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,GAAG,CACH,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAC/C,IAAU,EACV,KAA+B,EAC/B,WAA6B,EAC7B,GAAkB;QAMlB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACxE,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,WAAW,EACX,GAAG,CACH,CAAC;QAEF,OAAO;YACN,mBAAmB,EAAE,WAAW;YAChC,aAAa,EAAE,KAAK;YACpB,UAAU;SACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CACnC,IAAU,EACV,KAAsB,EACtB,GAAkB;QAMlB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAC1E,KAAK,CAAC,UAAU,EAChB,IAAI,EACJ,CAAC,eAAe,CAAC,EACjB,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAClD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,mCAAe,CAAC,yCAAyC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,SAAS,UAAU,CAAC,MAAM,0BAA0B,cAAc,CAAC,EAAE,uBAAuB,CAC5F,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,mCAAe,CAAC,iEAAiE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAyB,EAAE,KAAK,CAAC;QAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,mCAAe,CACxB,+BAA+B,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAC1E,CAAC;QACH,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,mCAAe,CACxB,oCAAoC,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAC/E,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,mCAAe,CACxB,uCAAuC,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAClF,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACxE,IAAI,EACJ,SAAS,CAAC,QAAQ,EAClB,cAAc,EACd,GAAG,CACH,CAAC;QAEF,MAAM,aAAa,GAA6B;YAC/C,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,QAAQ;SACf,CAAC;QAEF,MAAM,mBAAmB,GAAqB;YAC7C,CAAC,wCAA4B,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACnD,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,EAAE;aACR;SACD,CAAC;QAEF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,cAA8C;QAC3E,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,2CAAsB,CAAC,CAAC,IAAI,CACpE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAC7C,CAAC;YACF,IAAI,iBAAiB,EAAE,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAA8B,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EACD,EAAE,CACF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CACnC,IAAU,EACV,KAA8B,EAC9B,GAAkB;QAMlB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mCAAe,CAAC,sCAAsC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACnE,MAAM,IAAI,mCAAe,CAAC,uCAAuC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,aAAa,GAA6B;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,CAAC;QAEF,MAAM,mBAAmB,GAAqB;YAC7C,CAAC,wCAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAC/C,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,EAAE;aACR;SACD,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACxE,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,mBAAmB,EACnB,GAAG,CACH,CAAC;QAEF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACxC,IAAU,EACV,YAA2B,EAC3B,aAAgC;QAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CACtE,YAAY,EACZ,aAAa,EACb,IAAI,CACJ,CAAC;QAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,+BAAgB,CAAC,kDAAkD,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,GAAqB,CAAC;QAC1B,IAAI,CAAC;YACJ,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,+BAAgB,CAAC,kDAAkD,CAAC,CAAC;YAChF,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,4CAA6B,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,WAAW,EAAE;YACrF,YAAY,CAAC,EAAE;SACf,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,+BAA+B,CAAC;YACnF,MAAM,IAAI,+BAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,+BAAU,CAAC,qBAAqB,CAAC,CAAC;QAC5E,OAAO,KAAK,IAAI,IAAI,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC7B,OAAiD,EACjD,IAAU,EACV,iBAAuC,EACvC,KAA+B,EAC/B,mBAAmC,EACnC,GAAmB;QAEnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAC7C;YACC,EAAE,EAAE,OAAO,CAAC,SAAS;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,iBAAiB;YACjB,mBAAmB;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM;YAC9B,GAAG,KAAK;SACR,EACD,GAAG,CACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAC3B,EAAE,EACF,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,MAAM,GAWN;QACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAC9C,EAAE;YACF,SAAS;YACT,iBAAiB;YACjB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,MAAM;YACN,OAAO;YACP,gBAAgB;YAChB,GAAG,KAAK;SACR,CAAC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,KAA+B,EAAE,WAA6B;QACxF,MAAM,YAAY,GACjB,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtF,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,SAAwB,EAAE,GAAmB;QACrF,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,IAAU,EACV,SAAwB,EACxB,KAA+B,EAC/B,YAA2B,EAC3B,KAAc,EACd,GAAmB;QAEnB,IAAI,SAAS,GAAuB,SAAS,CAAC;QAE9C,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAEvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,mCAAe,CAAC,iDAAiD,CAAC,CAAC;YAC9E,CAAC;YACD,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACpE,KAAK,CAAC,UAAU,EAChB,IAAI,EACJ,CAAC,eAAe,CAAC,EACjB,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAClD,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,mCAAe,CAAC,oDAAoD,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qCAAsB,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,IAAI,mCAAe,CACxB,oEAAoE,CACpE,CAAC;YACH,CAAC;YACD,SAAS;gBACR,OAAO,WAAW,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ;oBACpD,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS;oBAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACpD;YACC,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,UAAU;YACjB,SAAS;YACT,KAAK;YACL,YAAY;YACZ,GAAG,KAAK;SACR,EACD,GAAG,CACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC3B,SAAwB,EACxB,SAAwB,EACxB,YAAsB,EAAE,EACxB,GAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEtE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,IAAI;YAC3D,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,SAAiB;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE5E,OAAO;YACN,OAAO,EAAE;gBACR,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,IAAI;gBAC3D,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;aACpB;YACD,YAAY,EAAE;gBACb,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtF;SACD,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,OAAuB;QAClD,OAAO;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAE1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;SAChD,CAAC;IACH,CAAC;IAKO,mBAAmB,CAC1B,QAA+C,EAC/C,aAAmC;QAEnC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,OAAO,GAAyB,aAAa,CAAC;QAElD,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,IAAI,IAAI,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC;IACf,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,SAAwB,EAAE,KAAa;QAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAKD,KAAK,CAAC,aAAa,CAClB,IAAU,EACV,SAAwB,EACxB,OAQC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACpE,OAAO,CAAC,UAAU,EAClB,IAAI,EACJ,CAAC,eAAe,CAAC,EACjB,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAClD,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,mCAAe,CAAC,oBAAoB,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qCAAsB,CAAC,CAAC;YAE3F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,mCAAe,CAAC,6CAA6C,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpC,OAAO,CAAC,SAAS;gBAChB,OAAO,WAAW,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ;oBACpD,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS;oBAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAErB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,mCAAe,CAAC,iBAAiB,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAEhC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAEhD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,SAAwB;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,+BAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACD,CAAA;AAhhDY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,YAAO,GAAE;qCAGiB,uBAAM;QACI,oCAAgB;QACX,8DAA4B;QAC9B,wBAAmB;QACd,qDAAwB;QACjC,kCAAe;QACT,+CAAqB;QACxB,uBAAkB;QACpB,oCAAgB;QACf,kDAAwB;QACxB,kDAAwB;QACjB,qDAAwB;QAC7B,4CAAmB;QACb,wDAAyB;QAC5B,kDAAsB;GAhBpD,cAAc,CAghD1B"}
@@ -1,13 +1,5 @@
1
- import type { ChatHubConversationModel, ChatHubProvider, ChatMessageId, ChatSessionId } from '@n8n/api-types';
2
- import type { INodeCredentials } from 'n8n-workflow';
3
- export interface ModelWithCredentials {
4
- provider: ChatHubProvider;
5
- model?: string;
6
- workflowId?: string;
7
- credentialId: string | null;
8
- agentId?: string;
9
- name?: string;
10
- }
1
+ import type { ChatHubConversationModel, ChatMessageId, ChatSessionId } from '@n8n/api-types';
2
+ import type { INode, INodeCredentials } from 'n8n-workflow';
11
3
  export interface BaseMessagePayload {
12
4
  userId: string;
13
5
  sessionId: ChatSessionId;
@@ -18,6 +10,7 @@ export interface HumanMessagePayload extends BaseMessagePayload {
18
10
  messageId: ChatMessageId;
19
11
  message: string;
20
12
  previousMessageId: ChatMessageId | null;
13
+ tools: INode[];
21
14
  }
22
15
  export interface RegenerateMessagePayload extends BaseMessagePayload {
23
16
  retryId: ChatMessageId;
@@ -18,12 +18,13 @@ export declare class DataTableRowsRepository {
18
18
  private getAffectedRowsForUpdate;
19
19
  private prepareUpdateData;
20
20
  private toDryRunRows;
21
- getManyAndCount(dataTableId: string, dto: ListDataTableContentQueryDto, trx?: EntityManager): Promise<{
21
+ getManyAndCount(dataTableId: string, dto: ListDataTableContentQueryDto, columns: DataTableColumn[], trx?: EntityManager): Promise<{
22
22
  count: number;
23
23
  data: DataTableRowsReturn;
24
24
  }>;
25
25
  getManyByIds(dataTableId: string, ids: number[], columns: DataTableColumn[], trx?: EntityManager): Promise<DataTableRowsReturn>;
26
26
  private getManyQuery;
27
+ private applySearch;
27
28
  private applyFilters;
28
29
  private applySorting;
29
30
  private applySortingByField;
@@ -320,9 +320,9 @@ let DataTableRowsRepository = class DataTableRowsRepository {
320
320
  { ...after, dryRunState: 'after' },
321
321
  ];
322
322
  }
323
- async getManyAndCount(dataTableId, dto, trx) {
323
+ async getManyAndCount(dataTableId, dto, columns, trx) {
324
324
  return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
325
- const [countQuery, query] = this.getManyQuery(dataTableId, dto, em);
325
+ const [countQuery, query] = this.getManyQuery(dataTableId, dto, columns, em);
326
326
  const data = await query.select('*').getRawMany();
327
327
  const countResult = await countQuery.select('COUNT(*) as count').getRawOne();
328
328
  const count = typeof countResult?.count === 'number'
@@ -349,18 +349,53 @@ let DataTableRowsRepository = class DataTableRowsRepository {
349
349
  return (0, sql_utils_1.normalizeRows)(rows, columns);
350
350
  }, false);
351
351
  }
352
- getManyQuery(dataTableId, dto, em) {
352
+ getManyQuery(dataTableId, dto, columns, em) {
353
353
  const query = em.createQueryBuilder();
354
354
  const tableReference = 'dataTable';
355
355
  query.from((0, sql_utils_1.toTableName)(dataTableId), tableReference);
356
356
  if (dto.filter) {
357
357
  this.applyFilters(query, dto.filter, tableReference);
358
358
  }
359
+ if (dto.search && dto.search.trim().length > 0) {
360
+ this.applySearch(query, dto.search, tableReference, columns);
361
+ }
359
362
  const countQuery = query.clone().select('COUNT(*)');
360
363
  this.applySorting(query, dto);
361
364
  this.applyPagination(query, dto);
362
365
  return [countQuery, query];
363
366
  }
367
+ applySearch(query, rawSearch, tableReference, columns) {
368
+ const dbType = this.dataSource.options.type;
369
+ const searchTerm = rawSearch.includes('%') ? rawSearch : `%${rawSearch}%`;
370
+ const isSqlite = ['sqlite', 'sqlite-pooled'].includes(dbType);
371
+ const isMy = ['mysql', 'mariadb'].includes(dbType);
372
+ const isPg = dbType === 'postgres';
373
+ const allColumnNames = columns.map((c) => c.name);
374
+ if (allColumnNames.length === 0)
375
+ return;
376
+ const tableRefQuoted = (0, sql_utils_1.quoteIdentifier)(tableReference, dbType);
377
+ const conditions = [];
378
+ for (const col of allColumnNames) {
379
+ const colRef = `${tableRefQuoted}.${(0, sql_utils_1.quoteIdentifier)(col, dbType)}`;
380
+ if (isSqlite) {
381
+ conditions.push(`UPPER(CAST(${colRef} AS TEXT)) LIKE UPPER(:search) ESCAPE '\\'`);
382
+ continue;
383
+ }
384
+ if (isMy) {
385
+ conditions.push(`UPPER(CAST(${colRef} AS CHAR)) LIKE UPPER(:search) ESCAPE '\\\\'`);
386
+ continue;
387
+ }
388
+ if (isPg) {
389
+ conditions.push(`CAST(${colRef} AS TEXT) ILIKE :search ESCAPE '\\'`);
390
+ continue;
391
+ }
392
+ conditions.push(`UPPER(CAST(${colRef} AS TEXT)) LIKE UPPER(:search)`);
393
+ }
394
+ if (conditions.length === 0)
395
+ return;
396
+ const whereClause = `(${conditions.join(' OR ')})`;
397
+ query.andWhere(whereClause, { search: (0, sql_utils_1.escapeLikeSpecials)(searchTerm) });
398
+ }
364
399
  applyFilters(query, filter, tableReference) {
365
400
  const filters = filter.filters ?? [];
366
401
  const filterType = filter.type ?? 'and';