@scalar/agent-chat 0.9.12 → 0.9.14

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 (235) hide show
  1. package/dist/App.vue.d.ts +5 -3
  2. package/dist/App.vue.d.ts.map +1 -1
  3. package/dist/App.vue.js +7 -0
  4. package/dist/App.vue.js.map +1 -0
  5. package/dist/App.vue.script.js +43 -0
  6. package/dist/App.vue.script.js.map +1 -0
  7. package/dist/Chat.vue.js +7 -0
  8. package/dist/Chat.vue.js.map +1 -0
  9. package/dist/Chat.vue.script.js +48 -0
  10. package/dist/Chat.vue.script.js.map +1 -0
  11. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  12. package/dist/api.d.ts +1 -3
  13. package/dist/api.d.ts.map +1 -1
  14. package/dist/api.js +74 -0
  15. package/dist/api.js.map +1 -0
  16. package/dist/client-tools/execute-request.d.ts +1 -1
  17. package/dist/client-tools/execute-request.js +88 -0
  18. package/dist/client-tools/execute-request.js.map +1 -0
  19. package/dist/components/ActionsDropdown.vue.js +9 -0
  20. package/dist/components/ActionsDropdown.vue.js.map +1 -0
  21. package/dist/components/ActionsDropdown.vue.script.js +33 -0
  22. package/dist/components/ActionsDropdown.vue.script.js.map +1 -0
  23. package/dist/components/ApprovalSection.vue.js +9 -0
  24. package/dist/components/ApprovalSection.vue.js.map +1 -0
  25. package/dist/components/ApprovalSection.vue.script.js +26 -0
  26. package/dist/components/ApprovalSection.vue.script.js.map +1 -0
  27. package/dist/components/AuthenticationProvided.vue.js +13 -0
  28. package/dist/components/AuthenticationProvided.vue.js.map +1 -0
  29. package/dist/components/AuthenticationRequired.vue.js +13 -0
  30. package/dist/components/AuthenticationRequired.vue.js.map +1 -0
  31. package/dist/components/AutosendPaused.vue.js +13 -0
  32. package/dist/components/AutosendPaused.vue.js.map +1 -0
  33. package/dist/components/BuildingRequest.vue.js +19 -0
  34. package/dist/components/BuildingRequest.vue.js.map +1 -0
  35. package/dist/components/ContextItem.vue.js +9 -0
  36. package/dist/components/ContextItem.vue.js.map +1 -0
  37. package/dist/components/ContextItem.vue.script.js +13 -0
  38. package/dist/components/ContextItem.vue.script.js.map +1 -0
  39. package/dist/components/ErrorMessage.vue.d.ts +1 -1
  40. package/dist/components/ErrorMessage.vue.js +9 -0
  41. package/dist/components/ErrorMessage.vue.js.map +1 -0
  42. package/dist/components/ErrorMessage.vue.script.js +22 -0
  43. package/dist/components/ErrorMessage.vue.script.js.map +1 -0
  44. package/dist/components/FreeMessagesInfoSection.vue.js +9 -0
  45. package/dist/components/FreeMessagesInfoSection.vue.js.map +1 -0
  46. package/dist/components/FreeMessagesInfoSection.vue.script.js +43 -0
  47. package/dist/components/FreeMessagesInfoSection.vue.script.js.map +1 -0
  48. package/dist/components/LoadingMiniOpenAPIDoc.vue.js +13 -0
  49. package/dist/components/LoadingMiniOpenAPIDoc.vue.js.map +1 -0
  50. package/dist/components/LoadingOpenAPISpecsSummary.vue.js +13 -0
  51. package/dist/components/LoadingOpenAPISpecsSummary.vue.js.map +1 -0
  52. package/dist/components/Logo.vue.js +23 -0
  53. package/dist/components/Logo.vue.js.map +1 -0
  54. package/dist/components/PaymentSection.vue.js +9 -0
  55. package/dist/components/PaymentSection.vue.js.map +1 -0
  56. package/dist/components/PaymentSection.vue.script.js +22 -0
  57. package/dist/components/PaymentSection.vue.script.js.map +1 -0
  58. package/dist/components/RequestApproved.vue.js +13 -0
  59. package/dist/components/RequestApproved.vue.js.map +1 -0
  60. package/dist/components/RequestFailed.vue.js +19 -0
  61. package/dist/components/RequestFailed.vue.js.map +1 -0
  62. package/dist/components/RequestPreview.vue.d.ts +1 -1
  63. package/dist/components/RequestPreview.vue.js +9 -0
  64. package/dist/components/RequestPreview.vue.js.map +1 -0
  65. package/dist/components/RequestPreview.vue.script.js +96 -0
  66. package/dist/components/RequestPreview.vue.script.js.map +1 -0
  67. package/dist/components/RequestRejected.vue.js +19 -0
  68. package/dist/components/RequestRejected.vue.js.map +1 -0
  69. package/dist/components/RequestSuccess.vue.js +13 -0
  70. package/dist/components/RequestSuccess.vue.js.map +1 -0
  71. package/dist/components/ResponseBody/ResponseBody.vue.d.ts +1 -1
  72. package/dist/components/ResponseBody/ResponseBody.vue.js +7 -0
  73. package/dist/components/ResponseBody/ResponseBody.vue.js.map +1 -0
  74. package/dist/components/ResponseBody/ResponseBody.vue.script.js +43 -0
  75. package/dist/components/ResponseBody/ResponseBody.vue.script.js.map +1 -0
  76. package/dist/components/ResponseBody/ResponseBodyInfo.vue.js +12 -0
  77. package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -0
  78. package/dist/components/ResponseBody/ResponseBodyPreview.vue.d.ts +1 -1
  79. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +9 -0
  80. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js.map +1 -0
  81. package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js +59 -0
  82. package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js.map +1 -0
  83. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js +7 -0
  84. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js.map +1 -0
  85. package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js +22 -0
  86. package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js.map +1 -0
  87. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js +7 -0
  88. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js.map +1 -0
  89. package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js +23 -0
  90. package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js.map +1 -0
  91. package/dist/components/ResponseBody/helpers/media-types.js +223 -0
  92. package/dist/components/ResponseBody/helpers/media-types.js.map +1 -0
  93. package/dist/components/ResponseBody/helpers/process-response-body.js +33 -0
  94. package/dist/components/ResponseBody/helpers/process-response-body.js.map +1 -0
  95. package/dist/components/SearchPopover.vue.js +9 -0
  96. package/dist/components/SearchPopover.vue.js.map +1 -0
  97. package/dist/components/SearchPopover.vue.script.js +53 -0
  98. package/dist/components/SearchPopover.vue.script.js.map +1 -0
  99. package/dist/components/Selector.vue.js +7 -0
  100. package/dist/components/Selector.vue.js.map +1 -0
  101. package/dist/components/Selector.vue.script.js +62 -0
  102. package/dist/components/Selector.vue.script.js.map +1 -0
  103. package/dist/components/SendingRequest.vue.js +19 -0
  104. package/dist/components/SendingRequest.vue.js.map +1 -0
  105. package/dist/components/ServerSelector.vue.js +7 -0
  106. package/dist/components/ServerSelector.vue.js.map +1 -0
  107. package/dist/components/ServerSelector.vue.script.js +60 -0
  108. package/dist/components/ServerSelector.vue.script.js.map +1 -0
  109. package/dist/components/UploadSection.vue.d.ts +1 -1
  110. package/dist/components/UploadSection.vue.js +9 -0
  111. package/dist/components/UploadSection.vue.js.map +1 -0
  112. package/dist/components/UploadSection.vue.script.js +52 -0
  113. package/dist/components/UploadSection.vue.script.js.map +1 -0
  114. package/dist/consts/urls.js +12 -0
  115. package/dist/consts/urls.js.map +1 -0
  116. package/dist/entities/error/constants.js +6 -0
  117. package/dist/entities/error/constants.js.map +1 -0
  118. package/dist/entities/error/helpers.d.ts +1 -1
  119. package/dist/entities/error/helpers.js +11 -0
  120. package/dist/entities/error/helpers.js.map +1 -0
  121. package/dist/entities/index.d.ts +9 -9
  122. package/dist/entities/index.js +10 -2
  123. package/dist/entities/prompt/constants.js +6 -0
  124. package/dist/entities/prompt/constants.js.map +1 -0
  125. package/dist/entities/registry/document.js +14 -0
  126. package/dist/entities/registry/document.js.map +1 -0
  127. package/dist/entities/tools/ask-for-authentication.js +7 -0
  128. package/dist/entities/tools/ask-for-authentication.js.map +1 -0
  129. package/dist/entities/tools/constants.js +6 -0
  130. package/dist/entities/tools/constants.js.map +1 -0
  131. package/dist/entities/tools/execute-request.d.ts +1 -1
  132. package/dist/entities/tools/execute-request.js +13 -0
  133. package/dist/entities/tools/execute-request.js.map +1 -0
  134. package/dist/entities/tools/get-mini-openapi-spec.js +7 -0
  135. package/dist/entities/tools/get-mini-openapi-spec.js.map +1 -0
  136. package/dist/entities/tools/get-openapi-spec-summary.js +6 -0
  137. package/dist/entities/tools/get-openapi-spec-summary.js.map +1 -0
  138. package/dist/helpers.js +42 -0
  139. package/dist/helpers.js.map +1 -0
  140. package/dist/hooks/use-agent-key-documents.js +24 -0
  141. package/dist/hooks/use-agent-key-documents.js.map +1 -0
  142. package/dist/hooks/use-chat-approvals.d.ts +1 -1
  143. package/dist/hooks/use-chat-approvals.js +38 -0
  144. package/dist/hooks/use-chat-approvals.js.map +1 -0
  145. package/dist/hooks/use-chat-error.js +25 -0
  146. package/dist/hooks/use-chat-error.js.map +1 -0
  147. package/dist/hooks/use-chat-pending-client-tool-parts.js +14 -0
  148. package/dist/hooks/use-chat-pending-client-tool-parts.js.map +1 -0
  149. package/dist/hooks/use-chat-scroll.js +17 -0
  150. package/dist/hooks/use-chat-scroll.js.map +1 -0
  151. package/dist/hooks/use-curated-documents.js +14 -0
  152. package/dist/hooks/use-curated-documents.js.map +1 -0
  153. package/dist/hooks/use-search.d.ts +1 -1
  154. package/dist/hooks/use-search.js +23 -0
  155. package/dist/hooks/use-search.js.map +1 -0
  156. package/dist/hooks/use-signup-link.js +17 -0
  157. package/dist/hooks/use-signup-link.js.map +1 -0
  158. package/dist/hooks/use-term-and-conditions.js +20 -0
  159. package/dist/hooks/use-term-and-conditions.js.map +1 -0
  160. package/dist/hooks/use-upload-tmp-document.js +92 -0
  161. package/dist/hooks/use-upload-tmp-document.js.map +1 -0
  162. package/dist/index.d.ts +2 -2
  163. package/dist/index.js +2 -2065
  164. package/dist/package.json +1 -1
  165. package/dist/plugins/persistance.js +16 -0
  166. package/dist/plugins/persistance.js.map +1 -0
  167. package/dist/registry/add-documents-to-store.d.ts +2 -2
  168. package/dist/registry/add-documents-to-store.js +36 -0
  169. package/dist/registry/add-documents-to-store.js.map +1 -0
  170. package/dist/registry/create-document-name.js +8 -0
  171. package/dist/registry/create-document-name.js.map +1 -0
  172. package/dist/state/state.d.ts +9 -7
  173. package/dist/state/state.d.ts.map +1 -1
  174. package/dist/state/state.js +153 -0
  175. package/dist/state/state.js.map +1 -0
  176. package/dist/views/Catalog/Catalog.vue.js +10 -0
  177. package/dist/views/Catalog/Catalog.vue.js.map +1 -0
  178. package/dist/views/Catalog/Catalog.vue.script.js +50 -0
  179. package/dist/views/Catalog/Catalog.vue.script.js.map +1 -0
  180. package/dist/views/Chat/Chat.vue.js +9 -0
  181. package/dist/views/Chat/Chat.vue.js.map +1 -0
  182. package/dist/views/Chat/Chat.vue.script.js +55 -0
  183. package/dist/views/Chat/Chat.vue.script.js.map +1 -0
  184. package/dist/views/Chat/Messages/AskForAuthentication.vue.d.ts +2 -2
  185. package/dist/views/Chat/Messages/AskForAuthentication.vue.js +9 -0
  186. package/dist/views/Chat/Messages/AskForAuthentication.vue.js.map +1 -0
  187. package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js +72 -0
  188. package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +1 -0
  189. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.d.ts +2 -2
  190. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +9 -0
  191. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js.map +1 -0
  192. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js +26 -0
  193. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js.map +1 -0
  194. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.d.ts +2 -2
  195. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js +9 -0
  196. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js.map +1 -0
  197. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.script.js +39 -0
  198. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.script.js.map +1 -0
  199. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.d.ts +2 -2
  200. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +7 -0
  201. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +1 -0
  202. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js +21 -0
  203. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js.map +1 -0
  204. package/dist/views/Chat/Messages/Text.vue.js +7 -0
  205. package/dist/views/Chat/Messages/Text.vue.js.map +1 -0
  206. package/dist/views/Chat/Messages/Text.vue.script.js +14 -0
  207. package/dist/views/Chat/Messages/Text.vue.script.js.map +1 -0
  208. package/dist/views/Layout.vue.js +9 -0
  209. package/dist/views/Layout.vue.js.map +1 -0
  210. package/dist/views/Layout.vue.script.js +25 -0
  211. package/dist/views/Layout.vue.script.js.map +1 -0
  212. package/dist/views/PromptForm.vue.js +9 -0
  213. package/dist/views/PromptForm.vue.js.map +1 -0
  214. package/dist/views/PromptForm.vue.script.js +202 -0
  215. package/dist/views/PromptForm.vue.script.js.map +1 -0
  216. package/dist/views/Settings/Auth.vue.js +7 -0
  217. package/dist/views/Settings/Auth.vue.js.map +1 -0
  218. package/dist/views/Settings/Auth.vue.script.js +63 -0
  219. package/dist/views/Settings/Auth.vue.script.js.map +1 -0
  220. package/dist/views/Settings/DocSettings.vue.js +9 -0
  221. package/dist/views/Settings/DocSettings.vue.js.map +1 -0
  222. package/dist/views/Settings/DocSettings.vue.script.js +48 -0
  223. package/dist/views/Settings/DocSettings.vue.script.js.map +1 -0
  224. package/dist/views/Settings/Settings.vue.js +10 -0
  225. package/dist/views/Settings/Settings.vue.js.map +1 -0
  226. package/dist/views/Settings/Settings.vue.script.js +59 -0
  227. package/dist/views/Settings/Settings.vue.script.js.map +1 -0
  228. package/dist/views/Start.vue.js +9 -0
  229. package/dist/views/Start.vue.js.map +1 -0
  230. package/dist/views/Start.vue.script.js +41 -0
  231. package/dist/views/Start.vue.script.js.map +1 -0
  232. package/package.json +9 -9
  233. package/dist/entities-NWeuOkBB.js +0 -28
  234. package/dist/entities-NWeuOkBB.js.map +0 -1
  235. package/dist/index.js.map +0 -1
@@ -1,28 +0,0 @@
1
- import e, { z as t } from "zod";
2
- //#region src/entities/error/helpers.ts
3
- function n(e, t) {
4
- return {
5
- code: e,
6
- detail: t
7
- };
8
- }
9
- //#endregion
10
- //#region src/entities/registry/document.ts
11
- var r = e.object({
12
- id: e.string(),
13
- title: e.string(),
14
- namespace: e.string(),
15
- currentVersion: e.string(),
16
- logoUrl: e.url().nullable(),
17
- slug: e.string()
18
- }), i = { LIMIT_REACHED: "LIMIT_REACHED" }, a = 1e4, o = "ask-for-authentication", s = t.object({ uniqueIdentifier: t.string() }), c = "---", l = "execute-request", u = t.object({
19
- method: t.string(),
20
- path: t.string(),
21
- headers: t.record(t.string(), t.string()).optional(),
22
- body: t.string().optional(),
23
- documentIdentifier: t.string()
24
- }), d = "get-mini-openapi-spec", f = t.object({ question: t.string() }), p = "get-openapi-specs-summary";
25
- //#endregion
26
- export { u as a, s as c, r as d, n as f, l as i, a as l, d as n, c as o, f as r, o as s, p as t, i as u };
27
-
28
- //# sourceMappingURL=entities-NWeuOkBB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities-NWeuOkBB.js","names":[],"sources":["../src/entities/error/helpers.ts","../src/entities/registry/document.ts","../src/entities/error/constants.ts","../src/entities/prompt/constants.ts","../src/entities/tools/ask-for-authentication.ts","../src/entities/tools/constants.ts","../src/entities/tools/execute-request.ts","../src/entities/tools/get-mini-openapi-spec.ts","../src/entities/tools/get-openapi-spec-summary.ts"],"sourcesContent":["import type { AgentChatError } from './constants'\n\nexport function createError<const T extends string, D>(code: T, detail: D): AgentChatError<T, D> {\n return {\n code,\n detail,\n }\n}\n","import type { OpenAPIV3_1 } from '@scalar/openapi-types'\nimport type { SecurityScheme } from '@scalar/types/entities'\nimport z from 'zod'\n\nexport const registryApiMetadata = z.object({\n id: z.string(),\n title: z.string(),\n namespace: z.string(),\n currentVersion: z.string(),\n logoUrl: z.url().nullable(),\n slug: z.string(),\n})\n\nexport type ApiMetadata = z.infer<typeof registryApiMetadata> & { removable?: boolean; searchEnabled?: boolean }\n\nexport type RegistryDocument = { namespace: string; slug: string }\n\nexport type DocumentSettings = Record<\n string,\n {\n securitySchemes: SecurityScheme[]\n activeServer: OpenAPIV3_1.ServerObject | undefined\n }\n>\n","export type AgentChatError<T extends string = string, D = unknown> = {\n code: T\n detail: D\n}\n\nexport const AgentErrorCodes = {\n LIMIT_REACHED: 'LIMIT_REACHED',\n} as const\n","export const MAX_PROMPT_SIZE = 10_000\n","import { z } from 'zod'\n\nexport const ASK_FOR_AUTHENTICATION_TOOL_NAME = 'ask-for-authentication' as const\n\nexport const askForAuthenticationInputSchema = z.object({\n uniqueIdentifier: z.string(),\n})\n\nexport type AskForAuthenticationInput = z.input<typeof askForAuthenticationInputSchema>\n","export const TOOL_NAMESPACE_SLUG_DELIMITER = '---'\n","import type { Result } from 'neverpanic'\nimport { z } from 'zod'\n\nimport type { AgentChatError } from '@/entities/error/constants'\n\nexport const EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME = 'execute-request' as const\n\nexport const executeClientSideRequestToolInputSchema = z.object({\n method: z.string(),\n path: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n body: z.string().optional(),\n documentIdentifier: z.string(),\n})\n\nexport type ExecuteClientSideRequestToolInput = z.input<typeof executeClientSideRequestToolInputSchema>\n\nexport type ExecuteClientSideRequestToolOutput = Result<\n { status: number; responseBody?: unknown; headers: {} },\n | AgentChatError<\n 'FAILED_TO_PARSE_RESPONSE_BODY',\n {\n originalError: unknown\n }\n >\n | AgentChatError<\n 'REQUEST_NOT_OK',\n {\n status: number\n url: string\n responseBody: unknown\n headers: Record<string, string>\n }\n >\n | AgentChatError<\n 'FAILED_TO_FETCH',\n {\n originalError: unknown\n }\n >\n | AgentChatError<\n 'DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED',\n {\n documentName: string\n namespace: string\n slug: string\n }\n >\n | AgentChatError<'FAILED_TO_DETERMINE_DOCUMENT', { namespace?: string; slug?: string; documentIdentifier: string }>\n | AgentChatError<'FAILED_TO_EXECUTE_REQUEST', unknown>\n>\n","import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js'\nimport type { OpenAPIV3_1 } from '@scalar/openapi-types'\nimport { z } from 'zod'\n\nexport const GET_MINI_OPENAPI_SPEC_TOOL_NAME = 'get-mini-openapi-spec' as const\n\nexport const getMiniOpenAPIDocToolInputSchema = z.object({\n question: z.string(),\n})\n\nexport type GetMiniOpenAPIDocToolInput = z.input<typeof getMiniOpenAPIDocToolInputSchema>\n\nexport type GetMiniOpenAPIDocToolOutput = CallToolResult & {\n structuredContent: Partial<OpenAPIV3_1.Document>\n}\n","import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js'\nimport type { OpenAPIV3_1 } from '@scalar/openapi-types'\n\nexport const GET_OPENAPI_SPECS_SUMMARY_TOOL_NAME = 'get-openapi-specs-summary' as const\n\nexport type GetOpenAPISpecsSummaryToolOutput = CallToolResult & {\n structuredContent: {\n info?: OpenAPIV3_1.InfoObject\n paths: string[]\n }\n}\n"],"mappings":";;AAEA,SAAgB,EAAuC,GAAS,GAAiC;AAC/F,QAAO;EACL;EACA;EACD;;;;ACFH,IAAa,IAAsB,EAAE,OAAO;CAC1C,IAAI,EAAE,QAAQ;CACd,OAAO,EAAE,QAAQ;CACjB,WAAW,EAAE,QAAQ;CACrB,gBAAgB,EAAE,QAAQ;CAC1B,SAAS,EAAE,KAAK,CAAC,UAAU;CAC3B,MAAM,EAAE,QAAQ;CACjB,CAAC,ECNW,IAAkB,EAC7B,eAAe,iBAChB,ECPY,IAAkB,KCElB,IAAmC,0BAEnC,IAAkC,EAAE,OAAO,EACtD,kBAAkB,EAAE,QAAQ,EAC7B,CAAC,ECNW,IAAgC,OCKhC,IAAwC,mBAExC,IAA0C,EAAE,OAAO;CAC9D,QAAQ,EAAE,QAAQ;CAClB,MAAM,EAAE,QAAQ;CAChB,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACpD,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,oBAAoB,EAAE,QAAQ;CAC/B,CAAC,ECTW,IAAkC,yBAElC,IAAmC,EAAE,OAAO,EACvD,UAAU,EAAE,QAAQ,EACrB,CAAC,ECLW,IAAsC"}