@8wave/ai-elements 0.84.0 → 0.85.0

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 (459) hide show
  1. package/README.md +109 -0
  2. package/dist/_chunks/Media-Cu3QLEp0.js +120 -0
  3. package/dist/_chunks/Media-Cu3QLEp0.js.map +1 -0
  4. package/dist/_chunks/{PkStreamingMarkdown-SVWv4Oye.js → PkStreamingMarkdown-C_fNNe9O.js} +307 -295
  5. package/dist/_chunks/PkStreamingMarkdown-C_fNNe9O.js.map +1 -0
  6. package/dist/_chunks/PkToolRequestConfirm-DfRFlvE0.js +48 -0
  7. package/dist/_chunks/PkToolRequestConfirm-DfRFlvE0.js.map +1 -0
  8. package/dist/_chunks/PkToolRequestGeolocation-BpH3Ev71.js +67 -0
  9. package/dist/_chunks/PkToolRequestGeolocation-BpH3Ev71.js.map +1 -0
  10. package/dist/_chunks/PkToolRequestOAuthConnection-Ctz50teF.js +63 -0
  11. package/dist/_chunks/PkToolRequestOAuthConnection-Ctz50teF.js.map +1 -0
  12. package/dist/_chunks/{PkToolShowArtifact-Ddz3DsWl.js → PkToolShowArtifact-Drp_zW-3.js} +33 -33
  13. package/dist/_chunks/{PkToolShowArtifact-Ddz3DsWl.js.map → PkToolShowArtifact-Drp_zW-3.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowCalendarEvent-Kl7HolAK.js → PkToolShowCalendarEvent-D1XYExcQ.js} +40 -40
  15. package/dist/_chunks/{PkToolShowCalendarEvent-Kl7HolAK.js.map → PkToolShowCalendarEvent-D1XYExcQ.js.map} +1 -1
  16. package/dist/_chunks/PkToolShowComparison-DjK4sXS0.js +64 -0
  17. package/dist/_chunks/{PkToolShowComparison-BzyqEIMV.js.map → PkToolShowComparison-DjK4sXS0.js.map} +1 -1
  18. package/dist/_chunks/PkToolShowContactForm-DresTyBD.js +119 -0
  19. package/dist/_chunks/PkToolShowContactForm-DresTyBD.js.map +1 -0
  20. package/dist/_chunks/PkToolShowDiagram-Bg6gQn7r.js +228 -0
  21. package/dist/_chunks/PkToolShowDiagram-Bg6gQn7r.js.map +1 -0
  22. package/dist/_chunks/{PkToolShowEmail-DsmUAss-.js → PkToolShowEmail-DGCKzD3s.js} +31 -31
  23. package/dist/_chunks/{PkToolShowEmail-DsmUAss-.js.map → PkToolShowEmail-DGCKzD3s.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowImageGallery-BDKm1kSX.js → PkToolShowImageGallery-BhyAMaes.js} +19 -19
  25. package/dist/_chunks/{PkToolShowImageGallery-BDKm1kSX.js.map → PkToolShowImageGallery-BhyAMaes.js.map} +1 -1
  26. package/dist/_chunks/PkToolShowLocation-BDVFw7qK.js +1140 -0
  27. package/dist/_chunks/PkToolShowLocation-BDVFw7qK.js.map +1 -0
  28. package/dist/_chunks/{PkToolShowMessage-xy09z85p.js → PkToolShowMessage-BqH-tE8K.js} +27 -27
  29. package/dist/_chunks/{PkToolShowMessage-xy09z85p.js.map → PkToolShowMessage-BqH-tE8K.js.map} +1 -1
  30. package/dist/_chunks/PkToolShowMultipleChoice-DNfjzGxI.js +81 -0
  31. package/dist/_chunks/PkToolShowMultipleChoice-DNfjzGxI.js.map +1 -0
  32. package/dist/_chunks/{PkToolShowProductList-Al_csZaz.js → PkToolShowProductList-DeU4qyZp.js} +26 -26
  33. package/dist/_chunks/{PkToolShowProductList-Al_csZaz.js.map → PkToolShowProductList-DeU4qyZp.js.map} +1 -1
  34. package/dist/_chunks/{PkToolShowQrCode-RUJ3enlC.js → PkToolShowQrCode-BrljSubk.js} +22 -22
  35. package/dist/_chunks/{PkToolShowQrCode-RUJ3enlC.js.map → PkToolShowQrCode-BrljSubk.js.map} +1 -1
  36. package/dist/_chunks/PkToolShowSources-Ca36N91a.js +396 -0
  37. package/dist/_chunks/PkToolShowSources-Ca36N91a.js.map +1 -0
  38. package/dist/_chunks/PkToolShowSuggestedReply-2lyEikVx.js +47 -0
  39. package/dist/_chunks/PkToolShowSuggestedReply-2lyEikVx.js.map +1 -0
  40. package/dist/_chunks/{PkToolShowWeather-CSua0gHs.js → PkToolShowWeather-CnTyMQTT.js} +63 -63
  41. package/dist/_chunks/{PkToolShowWeather-CSua0gHs.js.map → PkToolShowWeather-CnTyMQTT.js.map} +1 -1
  42. package/dist/_chunks/{PkToolShowWebPages-8GWslqfY.js → PkToolShowWebPages-X0tkNJhc.js} +19 -19
  43. package/dist/_chunks/{PkToolShowWebPages-8GWslqfY.js.map → PkToolShowWebPages-X0tkNJhc.js.map} +1 -1
  44. package/dist/_chunks/{PkUrl-CeYapZ9E.js → PkUrl-ChRoceUn.js} +12 -12
  45. package/dist/_chunks/{PkUrl-CeYapZ9E.js.map → PkUrl-ChRoceUn.js.map} +1 -1
  46. package/dist/_chunks/{VvCheckbox.es-kAXSBkfn.js → VvCheckbox.es-CjtdGRKd.js} +63 -63
  47. package/dist/_chunks/{VvCheckbox.es-kAXSBkfn.js.map → VvCheckbox.es-CjtdGRKd.js.map} +1 -1
  48. package/dist/_chunks/{VvCheckboxGroup.es-Db-bLs2D.js → VvCheckboxGroup.es-DYHTVBaF.js} +91 -91
  49. package/dist/_chunks/{VvCheckboxGroup.es-Db-bLs2D.js.map → VvCheckboxGroup.es-DYHTVBaF.js.map} +1 -1
  50. package/dist/_chunks/VvCombobox.es-BxxQaz48.js +1998 -0
  51. package/dist/_chunks/{VvCombobox.es-CUUNtqyJ.js.map → VvCombobox.es-BxxQaz48.js.map} +1 -1
  52. package/dist/_chunks/{VvInputText.es-DeAexenB.js → VvInputText.es-B13qbrJj.js} +420 -420
  53. package/dist/_chunks/{VvInputText.es-DeAexenB.js.map → VvInputText.es-B13qbrJj.js.map} +1 -1
  54. package/dist/_chunks/{VvRadio.es-lb_BYfq5.js → VvRadio.es-DuSk75Cl.js} +117 -117
  55. package/dist/_chunks/{VvRadio.es-lb_BYfq5.js.map → VvRadio.es-DuSk75Cl.js.map} +1 -1
  56. package/dist/_chunks/{VvRadioGroup.es-BjvxDtU_.js → VvRadioGroup.es-BjPz7xfR.js} +91 -91
  57. package/dist/_chunks/{VvRadioGroup.es-BjvxDtU_.js.map → VvRadioGroup.es-BjPz7xfR.js.map} +1 -1
  58. package/dist/_chunks/{VvSelect.es-C9hkmhJf.js → VvSelect.es-CKFBoQN-.js} +119 -119
  59. package/dist/_chunks/{VvSelect.es-C9hkmhJf.js.map → VvSelect.es-CKFBoQN-.js.map} +1 -1
  60. package/dist/_chunks/VvTextarea.es-CICFo2Rh.js +1110 -0
  61. package/dist/_chunks/{VvTextarea.es-B5txwRRm.js.map → VvTextarea.es-CICFo2Rh.js.map} +1 -1
  62. package/dist/_chunks/dist-Dplp2WfI.js +799 -0
  63. package/dist/_chunks/{dist-DHG50RNO.js.map → dist-Dplp2WfI.js.map} +1 -1
  64. package/dist/_chunks/{esm-8uCGyZon.js → esm-CtL6xvv9.js} +19 -19
  65. package/dist/_chunks/{esm-8uCGyZon.js.map → esm-CtL6xvv9.js.map} +1 -1
  66. package/dist/_chunks/{floating-ui.vue-bC-fUl9J.js → floating-ui.vue-BWkka9Fn.js} +6 -6
  67. package/dist/_chunks/{floating-ui.vue-bC-fUl9J.js.map → floating-ui.vue-BWkka9Fn.js.map} +1 -1
  68. package/dist/_chunks/{iconify-B2ZQHsNr.js → iconify-DlYsYC8z.js} +5 -5
  69. package/dist/_chunks/{iconify-B2ZQHsNr.js.map → iconify-DlYsYC8z.js.map} +1 -1
  70. package/dist/_chunks/{index.es-CusxIi0s.js → index.es-9_Td6lnP.js} +2306 -2306
  71. package/dist/_chunks/{index.es-CusxIi0s.js.map → index.es-9_Td6lnP.js.map} +1 -1
  72. package/dist/_chunks/index.es-BC4SxvmK.js +994 -0
  73. package/dist/_chunks/index.es-BC4SxvmK.js.map +1 -0
  74. package/dist/_chunks/{src-RaVs-PqK.js → src-L9Jq1dyr.js} +11 -11
  75. package/dist/_chunks/{src-RaVs-PqK.js.map → src-L9Jq1dyr.js.map} +1 -1
  76. package/dist/_chunks/{useLightbox-C7JFztx4.js → useLightbox-kKLPhYUx.js} +9 -7
  77. package/dist/_chunks/{useLightbox-C7JFztx4.js.map → useLightbox-kKLPhYUx.js.map} +1 -1
  78. package/dist/_chunks/{vue-i18n-fHp3k8qw.js → vue-i18n-BjaFxqmH.js} +40 -40
  79. package/dist/_chunks/{vue-i18n-fHp3k8qw.js.map → vue-i18n-BjaFxqmH.js.map} +1 -1
  80. package/dist/_chunks/{vue.runtime.esm-bundler-7_kt7y9A.js → vue.runtime.esm-bundler-B-iHWsf4.js} +702 -702
  81. package/dist/_chunks/{vue.runtime.esm-bundler-7_kt7y9A.js.map → vue.runtime.esm-bundler-B-iHWsf4.js.map} +1 -1
  82. package/dist/ai-elements.es.js +4016 -10669
  83. package/dist/ai-elements.es.js.map +1 -1
  84. package/dist-vue/PkChatbot.js +1 -1
  85. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  86. package/dist-vue/PkChatbotFilePreview.js +1 -1
  87. package/dist-vue/PkChatbotInput.js +1 -1
  88. package/dist-vue/PkChatbotMessages.js +1 -1
  89. package/dist-vue/PkChatbotViewChat.js +1 -1
  90. package/dist-vue/PkChatbotViewConversations.js +1 -1
  91. package/dist-vue/PkChatbotViewProfile.js +1 -1
  92. package/dist-vue/_chunks/Media-D5pFbMNh.js +120 -0
  93. package/dist-vue/_chunks/Media-D5pFbMNh.js.map +1 -0
  94. package/dist-vue/_chunks/PkChatbot-UDExD81D.js +190 -0
  95. package/dist-vue/_chunks/PkChatbot-UDExD81D.js.map +1 -0
  96. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BiVUo4kv.js → PkChatbotFeedbackForm-Dy2ojy2E.js} +1 -1
  97. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BiVUo4kv.js.map → PkChatbotFeedbackForm-Dy2ojy2E.js.map} +1 -1
  98. package/dist-vue/_chunks/{PkChatbotFilePreview-0N9ASbIp.js → PkChatbotFilePreview-7hRouK9o.js} +5 -3
  99. package/dist-vue/_chunks/PkChatbotFilePreview-7hRouK9o.js.map +1 -0
  100. package/dist-vue/_chunks/{PkChatbotInput-CsazCkTA.js → PkChatbotInput-Dn4KFNfx.js} +3 -3
  101. package/dist-vue/_chunks/{PkChatbotInput-CsazCkTA.js.map → PkChatbotInput-Dn4KFNfx.js.map} +1 -1
  102. package/dist-vue/_chunks/{PkChatbotMessages-BDziUgck.js → PkChatbotMessages-DUOrit9Y.js} +47 -33
  103. package/dist-vue/_chunks/PkChatbotMessages-DUOrit9Y.js.map +1 -0
  104. package/dist-vue/_chunks/PkChatbotViewChat-BgH9Op_G.js +225 -0
  105. package/dist-vue/_chunks/PkChatbotViewChat-BgH9Op_G.js.map +1 -0
  106. package/dist-vue/_chunks/{PkChatbotViewConversations-kIc1reZT.js → PkChatbotViewConversations-B9KC-0ir.js} +13 -13
  107. package/dist-vue/_chunks/{PkChatbotViewConversations-kIc1reZT.js.map → PkChatbotViewConversations-B9KC-0ir.js.map} +1 -1
  108. package/dist-vue/_chunks/{PkChatbotViewProfile-pSKOgtIR.js → PkChatbotViewProfile-C0q898hz.js} +2 -2
  109. package/dist-vue/_chunks/{PkChatbotViewProfile-pSKOgtIR.js.map → PkChatbotViewProfile-C0q898hz.js.map} +1 -1
  110. package/dist-vue/_chunks/{PkStreamingMarkdown-BUiAi-qv.js → PkStreamingMarkdown-BDtjktHX.js} +296 -284
  111. package/dist-vue/_chunks/PkStreamingMarkdown-BDtjktHX.js.map +1 -0
  112. package/dist-vue/_chunks/PkSvgViewer-DoClMDnF.js +125 -0
  113. package/dist-vue/_chunks/PkSvgViewer-DoClMDnF.js.map +1 -0
  114. package/dist-vue/_chunks/PkToolRequestConfirm-BcZ10rMb.js +48 -0
  115. package/dist-vue/_chunks/{PkToolRequestConfirm-BsHpoI-c.js.map → PkToolRequestConfirm-BcZ10rMb.js.map} +1 -1
  116. package/dist-vue/_chunks/PkToolRequestGeolocation-DXSqWFTR.js +67 -0
  117. package/dist-vue/_chunks/PkToolRequestGeolocation-DXSqWFTR.js.map +1 -0
  118. package/dist-vue/_chunks/PkToolRequestOAuthConnection-CIrFBhxL.js +63 -0
  119. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-shcJXxtk.js.map → PkToolRequestOAuthConnection-CIrFBhxL.js.map} +1 -1
  120. package/dist-vue/_chunks/{PkToolShowArtifact-D4BVWuMi.js → PkToolShowArtifact-BVFPfZT8.js} +3 -3
  121. package/dist-vue/_chunks/{PkToolShowArtifact-D4BVWuMi.js.map → PkToolShowArtifact-BVFPfZT8.js.map} +1 -1
  122. package/dist-vue/_chunks/{PkToolShowCalendarEvent-Q_2-tXmC.js → PkToolShowCalendarEvent-9jaBqWBJ.js} +3 -3
  123. package/dist-vue/_chunks/{PkToolShowCalendarEvent-Q_2-tXmC.js.map → PkToolShowCalendarEvent-9jaBqWBJ.js.map} +1 -1
  124. package/dist-vue/_chunks/{PkToolShowComparison-BpYZb-z5.js → PkToolShowComparison-D1YHzvyy.js} +2 -2
  125. package/dist-vue/_chunks/{PkToolShowComparison-BpYZb-z5.js.map → PkToolShowComparison-D1YHzvyy.js.map} +1 -1
  126. package/dist-vue/_chunks/{PkToolShowContactForm-DuOeYoCU.js → PkToolShowContactForm-BVtuQVGs.js} +5 -5
  127. package/dist-vue/_chunks/{PkToolShowContactForm-DuOeYoCU.js.map → PkToolShowContactForm-BVtuQVGs.js.map} +1 -1
  128. package/dist-vue/_chunks/PkToolShowDiagram-CLyYku9I.js +112 -0
  129. package/dist-vue/_chunks/PkToolShowDiagram-CLyYku9I.js.map +1 -0
  130. package/dist-vue/_chunks/{PkToolShowEmail-CDR-Cw-s.js → PkToolShowEmail-BZzv2-6y.js} +2 -2
  131. package/dist-vue/_chunks/{PkToolShowEmail-CDR-Cw-s.js.map → PkToolShowEmail-BZzv2-6y.js.map} +1 -1
  132. package/dist-vue/_chunks/{PkToolShowImageGallery-DhGmTPMP.js → PkToolShowImageGallery-Bt7QNtGe.js} +4 -4
  133. package/dist-vue/_chunks/{PkToolShowImageGallery-DhGmTPMP.js.map → PkToolShowImageGallery-Bt7QNtGe.js.map} +1 -1
  134. package/dist-vue/_chunks/PkToolShowLocation-DAg9HeYq.js +143 -0
  135. package/dist-vue/_chunks/PkToolShowLocation-DAg9HeYq.js.map +1 -0
  136. package/dist-vue/_chunks/{PkToolShowMessage-Cqb0WP-x.js → PkToolShowMessage-DvnO4DDb.js} +2 -2
  137. package/dist-vue/_chunks/{PkToolShowMessage-Cqb0WP-x.js.map → PkToolShowMessage-DvnO4DDb.js.map} +1 -1
  138. package/dist-vue/_chunks/{PkToolShowMultipleChoice-x7hNm6I2.js → PkToolShowMultipleChoice-BEWDze3p.js} +2 -2
  139. package/dist-vue/_chunks/{PkToolShowMultipleChoice-x7hNm6I2.js.map → PkToolShowMultipleChoice-BEWDze3p.js.map} +1 -1
  140. package/dist-vue/_chunks/{PkToolShowProductList-CMFBvHAY.js → PkToolShowProductList-Cyh_fdTh.js} +3 -3
  141. package/dist-vue/_chunks/{PkToolShowProductList-CMFBvHAY.js.map → PkToolShowProductList-Cyh_fdTh.js.map} +1 -1
  142. package/dist-vue/_chunks/{PkToolShowQrCode-LFCfdWyu.js → PkToolShowQrCode-Dz3HlJGs.js} +2 -2
  143. package/dist-vue/_chunks/{PkToolShowQrCode-LFCfdWyu.js.map → PkToolShowQrCode-Dz3HlJGs.js.map} +1 -1
  144. package/dist-vue/_chunks/{PkToolShowSources-D0wbYpTR.js → PkToolShowSources-cFvwqgDz.js} +21 -21
  145. package/dist-vue/_chunks/{PkToolShowSources-D0wbYpTR.js.map → PkToolShowSources-cFvwqgDz.js.map} +1 -1
  146. package/dist-vue/_chunks/{PkToolShowSuggestedReply-CIP1xfB1.js → PkToolShowSuggestedReply-DIrmkOUq.js} +2 -2
  147. package/dist-vue/_chunks/{PkToolShowSuggestedReply-CIP1xfB1.js.map → PkToolShowSuggestedReply-DIrmkOUq.js.map} +1 -1
  148. package/dist-vue/_chunks/{PkToolShowWeather-zT-4E-aX.js → PkToolShowWeather-CKFmoP6M.js} +1 -1
  149. package/dist-vue/_chunks/{PkToolShowWeather-zT-4E-aX.js.map → PkToolShowWeather-CKFmoP6M.js.map} +1 -1
  150. package/dist-vue/_chunks/{PkToolShowWebPages-DLc-5nE0.js → PkToolShowWebPages-DDsErkru.js} +4 -4
  151. package/dist-vue/_chunks/{PkToolShowWebPages-DLc-5nE0.js.map → PkToolShowWebPages-DDsErkru.js.map} +1 -1
  152. package/dist-vue/_chunks/{PkUrl-Da1k1VEM.js → PkUrl-DdRprvPJ.js} +1 -1
  153. package/dist-vue/_chunks/{PkUrl-Da1k1VEM.js.map → PkUrl-DdRprvPJ.js.map} +1 -1
  154. package/dist-vue/_chunks/{apl-gZJv8aE0.js → apl-CiKuf38q.js} +1 -1
  155. package/dist-vue/_chunks/{apl-gZJv8aE0.js.map → apl-CiKuf38q.js.map} +1 -1
  156. package/dist-vue/_chunks/{asciiarmor-BKzT2CxY.js → asciiarmor-Cv_figT_.js} +1 -1
  157. package/dist-vue/_chunks/{asciiarmor-BKzT2CxY.js.map → asciiarmor-Cv_figT_.js.map} +1 -1
  158. package/dist-vue/_chunks/{asn1-CUOx9oeT.js → asn1-o22T4Rhb.js} +1 -1
  159. package/dist-vue/_chunks/{asn1-CUOx9oeT.js.map → asn1-o22T4Rhb.js.map} +1 -1
  160. package/dist-vue/_chunks/{asterisk-CtQouKe4.js → asterisk-BVQJUqvD.js} +1 -1
  161. package/dist-vue/_chunks/{asterisk-CtQouKe4.js.map → asterisk-BVQJUqvD.js.map} +1 -1
  162. package/dist-vue/_chunks/{brainfuck-C6v-NuzS.js → brainfuck-BUjoLd18.js} +1 -1
  163. package/dist-vue/_chunks/{brainfuck-C6v-NuzS.js.map → brainfuck-BUjoLd18.js.map} +1 -1
  164. package/dist-vue/_chunks/{clike-DBPD1mz3.js → clike-DnfYdh2t.js} +1 -1
  165. package/dist-vue/_chunks/{clike-DBPD1mz3.js.map → clike-DnfYdh2t.js.map} +1 -1
  166. package/dist-vue/_chunks/{clojure-xtczAEDV.js → clojure-Spy-VDMe.js} +1 -1
  167. package/dist-vue/_chunks/{clojure-xtczAEDV.js.map → clojure-Spy-VDMe.js.map} +1 -1
  168. package/dist-vue/_chunks/{cmake-DdDZ3JWF.js → cmake-Ctp7rWzy.js} +1 -1
  169. package/dist-vue/_chunks/{cmake-DdDZ3JWF.js.map → cmake-Ctp7rWzy.js.map} +1 -1
  170. package/dist-vue/_chunks/{cobol-BAMxIfCa.js → cobol-DX59jXra.js} +1 -1
  171. package/dist-vue/_chunks/{cobol-BAMxIfCa.js.map → cobol-DX59jXra.js.map} +1 -1
  172. package/dist-vue/_chunks/{coffeescript-CGTuQQp6.js → coffeescript-Bq4R3kBT.js} +1 -1
  173. package/dist-vue/_chunks/{coffeescript-CGTuQQp6.js.map → coffeescript-Bq4R3kBT.js.map} +1 -1
  174. package/dist-vue/_chunks/{commonlisp-Ccb03OgK.js → commonlisp-qnCvPlJb.js} +1 -1
  175. package/dist-vue/_chunks/{commonlisp-Ccb03OgK.js.map → commonlisp-qnCvPlJb.js.map} +1 -1
  176. package/dist-vue/_chunks/{createChatbotApiClient-C_E35aQf.js → createChatbotApiClient-C-jT5hE0.js} +96 -95
  177. package/dist-vue/_chunks/createChatbotApiClient-C-jT5hE0.js.map +1 -0
  178. package/dist-vue/_chunks/{crystal-DdoSQSAv.js → crystal-B02ya4cQ.js} +1 -1
  179. package/dist-vue/_chunks/{crystal-DdoSQSAv.js.map → crystal-B02ya4cQ.js.map} +1 -1
  180. package/dist-vue/_chunks/{css-TU14Ca1R.js → css-CzWlO-Xb.js} +1 -1
  181. package/dist-vue/_chunks/{css-TU14Ca1R.js.map → css-CzWlO-Xb.js.map} +1 -1
  182. package/dist-vue/_chunks/{cypher-CXLa4pI5.js → cypher-CLyYkG2-.js} +1 -1
  183. package/dist-vue/_chunks/{cypher-CXLa4pI5.js.map → cypher-CLyYkG2-.js.map} +1 -1
  184. package/dist-vue/_chunks/{d-BArAGMlp.js → d-DGUXRLLi.js} +1 -1
  185. package/dist-vue/_chunks/{d-BArAGMlp.js.map → d-DGUXRLLi.js.map} +1 -1
  186. package/dist-vue/_chunks/{diff-C3LIbTwG.js → diff-DRe8JdWk.js} +1 -1
  187. package/dist-vue/_chunks/{diff-C3LIbTwG.js.map → diff-DRe8JdWk.js.map} +1 -1
  188. package/dist-vue/_chunks/{dist-CUYb2Ykk.js → dist-7BKkikZw.js} +2 -2
  189. package/dist-vue/_chunks/{dist-CUYb2Ykk.js.map → dist-7BKkikZw.js.map} +1 -1
  190. package/dist-vue/_chunks/{dist-DlMrwhCk.js → dist-7u7jBD-H.js} +1 -1
  191. package/dist-vue/_chunks/{dist-DlMrwhCk.js.map → dist-7u7jBD-H.js.map} +1 -1
  192. package/dist-vue/_chunks/{dist-Bj32YA2b.js → dist-8BVnK6QW.js} +4 -4
  193. package/dist-vue/_chunks/{dist-Bj32YA2b.js.map → dist-8BVnK6QW.js.map} +1 -1
  194. package/dist-vue/_chunks/{dist-BtzPY8uU.js → dist-9IwNDEHQ.js} +2 -2
  195. package/dist-vue/_chunks/{dist-BtzPY8uU.js.map → dist-9IwNDEHQ.js.map} +1 -1
  196. package/dist-vue/_chunks/{dist-BMTTRExI.js → dist-BGTESNxJ.js} +1 -1
  197. package/dist-vue/_chunks/{dist-BMTTRExI.js.map → dist-BGTESNxJ.js.map} +1 -1
  198. package/dist-vue/_chunks/{dist-BUm8Nt7d.js → dist-BWdaSTBW.js} +2 -2
  199. package/dist-vue/_chunks/{dist-BUm8Nt7d.js.map → dist-BWdaSTBW.js.map} +1 -1
  200. package/dist-vue/_chunks/{dist-tDt7-5Hh.js → dist-BtFxPYCM.js} +1 -1
  201. package/dist-vue/_chunks/{dist-tDt7-5Hh.js.map → dist-BtFxPYCM.js.map} +1 -1
  202. package/dist-vue/_chunks/{dist-BM3i3wHC.js → dist-BwrhMmQA.js} +1 -1
  203. package/dist-vue/_chunks/{dist-BM3i3wHC.js.map → dist-BwrhMmQA.js.map} +1 -1
  204. package/dist-vue/_chunks/{dist-B_3TGJwf.js → dist-Cm-J5l4S2.js} +1 -1
  205. package/dist-vue/_chunks/dist-Cm-J5l4S2.js.map +1 -0
  206. package/dist-vue/_chunks/{dist-CUah0Xys.js → dist-CnmeOb2N.js} +3 -3
  207. package/dist-vue/_chunks/{dist-CUah0Xys.js.map → dist-CnmeOb2N.js.map} +1 -1
  208. package/dist-vue/_chunks/{dist-DI-XHVdE.js → dist-D34LRAfv.js} +2 -2
  209. package/dist-vue/_chunks/{dist-DI-XHVdE.js.map → dist-D34LRAfv.js.map} +1 -1
  210. package/dist-vue/_chunks/{dist-DACzskoy2.js → dist-D35h9xud2.js} +3 -3
  211. package/dist-vue/_chunks/{dist-DACzskoy2.js.map → dist-D35h9xud2.js.map} +1 -1
  212. package/dist-vue/_chunks/dist-DMKuVADK2.js +441 -0
  213. package/dist-vue/_chunks/dist-DMKuVADK2.js.map +1 -0
  214. package/dist-vue/_chunks/{dist-CwWFe7zF.js → dist-Dg1nGvwP.js} +1 -1
  215. package/dist-vue/_chunks/{dist-CwWFe7zF.js.map → dist-Dg1nGvwP.js.map} +1 -1
  216. package/dist-vue/_chunks/{dist-B2nNrire.js → dist-YcwJuFBx.js} +2 -2
  217. package/dist-vue/_chunks/{dist-B2nNrire.js.map → dist-YcwJuFBx.js.map} +1 -1
  218. package/dist-vue/_chunks/{dist-2JsKACZj.js → dist-b5CbbjSp.js} +1 -1
  219. package/dist-vue/_chunks/{dist-2JsKACZj.js.map → dist-b5CbbjSp.js.map} +1 -1
  220. package/dist-vue/_chunks/{dist-Cr5fwgdD.js → dist-kywGQjza.js} +2 -2
  221. package/dist-vue/_chunks/{dist-Cr5fwgdD.js.map → dist-kywGQjza.js.map} +1 -1
  222. package/dist-vue/_chunks/{dist-Df_bnb-v.js → dist-l6sREGf7.js} +1 -1
  223. package/dist-vue/_chunks/{dist-Df_bnb-v.js.map → dist-l6sREGf7.js.map} +1 -1
  224. package/dist-vue/_chunks/{dist-B1Xwe66S.js → dist-x5C6fPIQ.js} +2 -2
  225. package/dist-vue/_chunks/{dist-B1Xwe66S.js.map → dist-x5C6fPIQ.js.map} +1 -1
  226. package/dist-vue/_chunks/{dist-BgntOJ9J.js → dist-x73cXb-w.js} +3 -3
  227. package/dist-vue/_chunks/{dist-BgntOJ9J.js.map → dist-x73cXb-w.js.map} +1 -1
  228. package/dist-vue/_chunks/{dockerfile-DzujQve1.js → dockerfile-BpKVodrd.js} +2 -2
  229. package/dist-vue/_chunks/{dockerfile-DzujQve1.js.map → dockerfile-BpKVodrd.js.map} +1 -1
  230. package/dist-vue/_chunks/{dtd-B1f0YqWO.js → dtd-q9vHTxZ1.js} +1 -1
  231. package/dist-vue/_chunks/{dtd-B1f0YqWO.js.map → dtd-q9vHTxZ1.js.map} +1 -1
  232. package/dist-vue/_chunks/{dylan-bedk9ukf.js → dylan-CTRyD_yN.js} +1 -1
  233. package/dist-vue/_chunks/{dylan-bedk9ukf.js.map → dylan-CTRyD_yN.js.map} +1 -1
  234. package/dist-vue/_chunks/{ebnf-Cs5X8R8U.js → ebnf-DPw9AGDC.js} +1 -1
  235. package/dist-vue/_chunks/{ebnf-Cs5X8R8U.js.map → ebnf-DPw9AGDC.js.map} +1 -1
  236. package/dist-vue/_chunks/{ecl-CXPqOJjc.js → ecl-CuLlc0XE.js} +1 -1
  237. package/dist-vue/_chunks/{ecl-CXPqOJjc.js.map → ecl-CuLlc0XE.js.map} +1 -1
  238. package/dist-vue/_chunks/{eiffel-Oa4yGKHO.js → eiffel-DYyjt7F3.js} +1 -1
  239. package/dist-vue/_chunks/{eiffel-Oa4yGKHO.js.map → eiffel-DYyjt7F3.js.map} +1 -1
  240. package/dist-vue/_chunks/{elm-CEbGa4zC.js → elm-DcYv6ZJY.js} +1 -1
  241. package/dist-vue/_chunks/{elm-CEbGa4zC.js.map → elm-DcYv6ZJY.js.map} +1 -1
  242. package/dist-vue/_chunks/{erlang-BNnTSw8C.js → erlang-nipePvRg.js} +1 -1
  243. package/dist-vue/_chunks/{erlang-BNnTSw8C.js.map → erlang-nipePvRg.js.map} +1 -1
  244. package/dist-vue/_chunks/{factor-BIER3ncI.js → factor-C_jm0Hi8.js} +2 -2
  245. package/dist-vue/_chunks/{factor-BIER3ncI.js.map → factor-C_jm0Hi8.js.map} +1 -1
  246. package/dist-vue/_chunks/{fcl-HxmGK-W5.js → fcl-CqmPhDgo.js} +1 -1
  247. package/dist-vue/_chunks/{fcl-HxmGK-W5.js.map → fcl-CqmPhDgo.js.map} +1 -1
  248. package/dist-vue/_chunks/{forth-BoRU1oYL.js → forth-GAg6IwF6.js} +1 -1
  249. package/dist-vue/_chunks/{forth-BoRU1oYL.js.map → forth-GAg6IwF6.js.map} +1 -1
  250. package/dist-vue/_chunks/{fortran-8E8eLx-x.js → fortran-DyrSTiy7.js} +1 -1
  251. package/dist-vue/_chunks/{fortran-8E8eLx-x.js.map → fortran-DyrSTiy7.js.map} +1 -1
  252. package/dist-vue/_chunks/{gas-DzrG9cIr.js → gas-CBY6LBUu.js} +1 -1
  253. package/dist-vue/_chunks/{gas-DzrG9cIr.js.map → gas-CBY6LBUu.js.map} +1 -1
  254. package/dist-vue/_chunks/{gherkin-d-xjbPN9.js → gherkin-F6vIWaV0.js} +1 -1
  255. package/dist-vue/_chunks/{gherkin-d-xjbPN9.js.map → gherkin-F6vIWaV0.js.map} +1 -1
  256. package/dist-vue/_chunks/{groovy-DluoS5pg.js → groovy-DBvpslJE.js} +1 -1
  257. package/dist-vue/_chunks/{groovy-DluoS5pg.js.map → groovy-DBvpslJE.js.map} +1 -1
  258. package/dist-vue/_chunks/{haskell-DWzSrwGO.js → haskell-CzcXTuY3.js} +1 -1
  259. package/dist-vue/_chunks/{haskell-DWzSrwGO.js.map → haskell-CzcXTuY3.js.map} +1 -1
  260. package/dist-vue/_chunks/{haxe-nucWqdAl.js → haxe-C0K87vd-.js} +1 -1
  261. package/dist-vue/_chunks/{haxe-nucWqdAl.js.map → haxe-C0K87vd-.js.map} +1 -1
  262. package/dist-vue/_chunks/{http-wcQY3fv1.js → http-lhCYiIUK.js} +1 -1
  263. package/dist-vue/_chunks/{http-wcQY3fv1.js.map → http-lhCYiIUK.js.map} +1 -1
  264. package/dist-vue/_chunks/{idl-BZjtu2uP.js → idl-DiwlVJ2e.js} +1 -1
  265. package/dist-vue/_chunks/{idl-BZjtu2uP.js.map → idl-DiwlVJ2e.js.map} +1 -1
  266. package/dist-vue/_chunks/{javascript-D-DeSYfi.js → javascript-DoLQ_01m.js} +1 -1
  267. package/dist-vue/_chunks/{javascript-D-DeSYfi.js.map → javascript-DoLQ_01m.js.map} +1 -1
  268. package/dist-vue/_chunks/{julia-BdkHYLKN.js → julia-D-9kev9I.js} +1 -1
  269. package/dist-vue/_chunks/{julia-BdkHYLKN.js.map → julia-D-9kev9I.js.map} +1 -1
  270. package/dist-vue/_chunks/{livescript-B-rE2yGH.js → livescript-BXKPrYL1.js} +1 -1
  271. package/dist-vue/_chunks/{livescript-B-rE2yGH.js.map → livescript-BXKPrYL1.js.map} +1 -1
  272. package/dist-vue/_chunks/{lua-8MR4kmO6.js → lua-CmoiUImJ.js} +1 -1
  273. package/dist-vue/_chunks/{lua-8MR4kmO6.js.map → lua-CmoiUImJ.js.map} +1 -1
  274. package/dist-vue/_chunks/{mathematica-DsQZ56s1.js → mathematica-C0zVH3hb.js} +1 -1
  275. package/dist-vue/_chunks/{mathematica-DsQZ56s1.js.map → mathematica-C0zVH3hb.js.map} +1 -1
  276. package/dist-vue/_chunks/{mbox-BlqAOSZk.js → mbox-BQjArxBt.js} +1 -1
  277. package/dist-vue/_chunks/{mbox-BlqAOSZk.js.map → mbox-BQjArxBt.js.map} +1 -1
  278. package/dist-vue/_chunks/{mirc-CeWiL7Xj.js → mirc-CH7vSjBP.js} +1 -1
  279. package/dist-vue/_chunks/{mirc-CeWiL7Xj.js.map → mirc-CH7vSjBP.js.map} +1 -1
  280. package/dist-vue/_chunks/{mllike-B4w9rV72.js → mllike-BtNDtwtH.js} +1 -1
  281. package/dist-vue/_chunks/{mllike-B4w9rV72.js.map → mllike-BtNDtwtH.js.map} +1 -1
  282. package/dist-vue/_chunks/{modelica-BeZSjbWb.js → modelica-D0D4gw71.js} +1 -1
  283. package/dist-vue/_chunks/{modelica-BeZSjbWb.js.map → modelica-D0D4gw71.js.map} +1 -1
  284. package/dist-vue/_chunks/{mscgen-Diy4rp5E.js → mscgen-BREuUTcQ.js} +1 -1
  285. package/dist-vue/_chunks/{mscgen-Diy4rp5E.js.map → mscgen-BREuUTcQ.js.map} +1 -1
  286. package/dist-vue/_chunks/{mumps-DHp_hepw.js → mumps-Cj1f6cBa.js} +1 -1
  287. package/dist-vue/_chunks/{mumps-DHp_hepw.js.map → mumps-Cj1f6cBa.js.map} +1 -1
  288. package/dist-vue/_chunks/{nginx-ZUseZ3KV.js → nginx-CTa-DOcs.js} +1 -1
  289. package/dist-vue/_chunks/{nginx-ZUseZ3KV.js.map → nginx-CTa-DOcs.js.map} +1 -1
  290. package/dist-vue/_chunks/{nsis-g-2nkKRi.js → nsis-BWAOyRUP.js} +2 -2
  291. package/dist-vue/_chunks/{nsis-g-2nkKRi.js.map → nsis-BWAOyRUP.js.map} +1 -1
  292. package/dist-vue/_chunks/{ntriples-COZl-CW9.js → ntriples-zIN_qrIe.js} +1 -1
  293. package/dist-vue/_chunks/{ntriples-COZl-CW9.js.map → ntriples-zIN_qrIe.js.map} +1 -1
  294. package/dist-vue/_chunks/{octave-qefefCKI.js → octave-DIV6S7Pt.js} +1 -1
  295. package/dist-vue/_chunks/{octave-qefefCKI.js.map → octave-DIV6S7Pt.js.map} +1 -1
  296. package/dist-vue/_chunks/{oz-B7xBKeTb.js → oz-5rNpxapS.js} +1 -1
  297. package/dist-vue/_chunks/{oz-B7xBKeTb.js.map → oz-5rNpxapS.js.map} +1 -1
  298. package/dist-vue/_chunks/{pascal-B0deIU4R.js → pascal-7C5712Nh.js} +1 -1
  299. package/dist-vue/_chunks/{pascal-B0deIU4R.js.map → pascal-7C5712Nh.js.map} +1 -1
  300. package/dist-vue/_chunks/{perl-CrEeHa0-.js → perl-eAVlqDxG.js} +1 -1
  301. package/dist-vue/_chunks/{perl-CrEeHa0-.js.map → perl-eAVlqDxG.js.map} +1 -1
  302. package/dist-vue/_chunks/{pig-CQcAmjLr.js → pig-C6AL_r8r.js} +1 -1
  303. package/dist-vue/_chunks/{pig-CQcAmjLr.js.map → pig-C6AL_r8r.js.map} +1 -1
  304. package/dist-vue/_chunks/{powershell-CEOsLn17.js → powershell-DsA9A7ee.js} +1 -1
  305. package/dist-vue/_chunks/{powershell-CEOsLn17.js.map → powershell-DsA9A7ee.js.map} +1 -1
  306. package/dist-vue/_chunks/{properties-CIZ3QFxD.js → properties-DuF6jBwF.js} +1 -1
  307. package/dist-vue/_chunks/{properties-CIZ3QFxD.js.map → properties-DuF6jBwF.js.map} +1 -1
  308. package/dist-vue/_chunks/{protobuf-B9FrV1JK.js → protobuf-nlPU8ZM-.js} +1 -1
  309. package/dist-vue/_chunks/{protobuf-B9FrV1JK.js.map → protobuf-nlPU8ZM-.js.map} +1 -1
  310. package/dist-vue/_chunks/{pug-Dn8VvwH3.js → pug-C1RwTStM.js} +2 -2
  311. package/dist-vue/_chunks/{pug-Dn8VvwH3.js.map → pug-C1RwTStM.js.map} +1 -1
  312. package/dist-vue/_chunks/{puppet-C6TXtx4p.js → puppet-DFYbyNW2.js} +1 -1
  313. package/dist-vue/_chunks/{puppet-C6TXtx4p.js.map → puppet-DFYbyNW2.js.map} +1 -1
  314. package/dist-vue/_chunks/{python-DcAJJ0JG.js → python-Dv1DGCiz.js} +1 -1
  315. package/dist-vue/_chunks/{python-DcAJJ0JG.js.map → python-Dv1DGCiz.js.map} +1 -1
  316. package/dist-vue/_chunks/{q-WbmgnnmF.js → q-X1HLKyVv.js} +1 -1
  317. package/dist-vue/_chunks/{q-WbmgnnmF.js.map → q-X1HLKyVv.js.map} +1 -1
  318. package/dist-vue/_chunks/{r-C22XZ_AN.js → r-BZGUCY-c.js} +1 -1
  319. package/dist-vue/_chunks/{r-C22XZ_AN.js.map → r-BZGUCY-c.js.map} +1 -1
  320. package/dist-vue/_chunks/{rpm-B9APie5d.js → rpm-CDLCwfOD.js} +1 -1
  321. package/dist-vue/_chunks/{rpm-B9APie5d.js.map → rpm-CDLCwfOD.js.map} +1 -1
  322. package/dist-vue/_chunks/{ruby-D24Ax8EE.js → ruby-cVyKV-zg.js} +1 -1
  323. package/dist-vue/_chunks/{ruby-D24Ax8EE.js.map → ruby-cVyKV-zg.js.map} +1 -1
  324. package/dist-vue/_chunks/{sas-D4-twsz3.js → sas-BDPIwc3L.js} +1 -1
  325. package/dist-vue/_chunks/{sas-D4-twsz3.js.map → sas-BDPIwc3L.js.map} +1 -1
  326. package/dist-vue/_chunks/{scheme-CCmbAfjG.js → scheme-6m6S6r1m.js} +1 -1
  327. package/dist-vue/_chunks/{scheme-CCmbAfjG.js.map → scheme-6m6S6r1m.js.map} +1 -1
  328. package/dist-vue/_chunks/{shell-oVzTSWfo.js → shell-Dcuubvcg.js} +1 -1
  329. package/dist-vue/_chunks/{shell-oVzTSWfo.js.map → shell-Dcuubvcg.js.map} +1 -1
  330. package/dist-vue/_chunks/{sieve-DUlxvKqS.js → sieve-C0Ec4mOZ.js} +1 -1
  331. package/dist-vue/_chunks/{sieve-DUlxvKqS.js.map → sieve-C0Ec4mOZ.js.map} +1 -1
  332. package/dist-vue/_chunks/{simple-mode-B6svE9zR.js → simple-mode-CaO_UoX6.js} +1 -1
  333. package/dist-vue/_chunks/{simple-mode-B6svE9zR.js.map → simple-mode-CaO_UoX6.js.map} +1 -1
  334. package/dist-vue/_chunks/{smalltalk-9-Xd93Rn.js → smalltalk-C8mY0f87.js} +1 -1
  335. package/dist-vue/_chunks/{smalltalk-9-Xd93Rn.js.map → smalltalk-C8mY0f87.js.map} +1 -1
  336. package/dist-vue/_chunks/{solr-DzeE5sFM.js → solr-jbM7m8s0.js} +1 -1
  337. package/dist-vue/_chunks/{solr-DzeE5sFM.js.map → solr-jbM7m8s0.js.map} +1 -1
  338. package/dist-vue/_chunks/{sparql-GFDxBmFa.js → sparql-DJZXdQFZ.js} +1 -1
  339. package/dist-vue/_chunks/{sparql-GFDxBmFa.js.map → sparql-DJZXdQFZ.js.map} +1 -1
  340. package/dist-vue/_chunks/{spreadsheet-BD6sBFg8.js → spreadsheet-iKWvNdRt.js} +1 -1
  341. package/dist-vue/_chunks/{spreadsheet-BD6sBFg8.js.map → spreadsheet-iKWvNdRt.js.map} +1 -1
  342. package/dist-vue/_chunks/{sql-JuMmsoSB.js → sql-BQ2tj9MP.js} +1 -1
  343. package/dist-vue/_chunks/{sql-JuMmsoSB.js.map → sql-BQ2tj9MP.js.map} +1 -1
  344. package/dist-vue/_chunks/{src-EtGd6cRz.js → src-DW4YojFN.js} +10 -10
  345. package/dist-vue/_chunks/{src-EtGd6cRz.js.map → src-DW4YojFN.js.map} +1 -1
  346. package/dist-vue/_chunks/{stex-Cy057UFl.js → stex-BEcrdSPS.js} +1 -1
  347. package/dist-vue/_chunks/{stex-Cy057UFl.js.map → stex-BEcrdSPS.js.map} +1 -1
  348. package/dist-vue/_chunks/{stylus-0KIe3uMX.js → stylus-b5gEI930.js} +1 -1
  349. package/dist-vue/_chunks/{stylus-0KIe3uMX.js.map → stylus-b5gEI930.js.map} +1 -1
  350. package/dist-vue/_chunks/{swift-tYMDqvYT.js → swift-RNJNWQs6.js} +1 -1
  351. package/dist-vue/_chunks/{swift-tYMDqvYT.js.map → swift-RNJNWQs6.js.map} +1 -1
  352. package/dist-vue/_chunks/{tcl-CSbjfJ81.js → tcl-BbY3AuDS.js} +1 -1
  353. package/dist-vue/_chunks/{tcl-CSbjfJ81.js.map → tcl-BbY3AuDS.js.map} +1 -1
  354. package/dist-vue/_chunks/{textile-Qe0pFxF7.js → textile-BM2q07iw.js} +1 -1
  355. package/dist-vue/_chunks/{textile-Qe0pFxF7.js.map → textile-BM2q07iw.js.map} +1 -1
  356. package/dist-vue/_chunks/{tiddlywiki-CYhUSC90.js → tiddlywiki-Bu7ffwvE.js} +1 -1
  357. package/dist-vue/_chunks/{tiddlywiki-CYhUSC90.js.map → tiddlywiki-Bu7ffwvE.js.map} +1 -1
  358. package/dist-vue/_chunks/{tiki-jtNVir5w.js → tiki-BSMiLiXp.js} +1 -1
  359. package/dist-vue/_chunks/{tiki-jtNVir5w.js.map → tiki-BSMiLiXp.js.map} +1 -1
  360. package/dist-vue/_chunks/{toml-C3FMZ9FE.js → toml-D3U9uI6V.js} +1 -1
  361. package/dist-vue/_chunks/{toml-C3FMZ9FE.js.map → toml-D3U9uI6V.js.map} +1 -1
  362. package/dist-vue/_chunks/{troff-FdVM_sPB.js → troff-DK_RaQh-.js} +1 -1
  363. package/dist-vue/_chunks/{troff-FdVM_sPB.js.map → troff-DK_RaQh-.js.map} +1 -1
  364. package/dist-vue/_chunks/{ttcn-Tmx7e7xS.js → ttcn-DVxr7ZdN.js} +1 -1
  365. package/dist-vue/_chunks/{ttcn-Tmx7e7xS.js.map → ttcn-DVxr7ZdN.js.map} +1 -1
  366. package/dist-vue/_chunks/{ttcn-cfg-BP7MXn1J.js → ttcn-cfg-CJG9xdrY.js} +1 -1
  367. package/dist-vue/_chunks/{ttcn-cfg-BP7MXn1J.js.map → ttcn-cfg-CJG9xdrY.js.map} +1 -1
  368. package/dist-vue/_chunks/{turtle-BtDXIrpF.js → turtle-Cj5kMy4D.js} +1 -1
  369. package/dist-vue/_chunks/{turtle-BtDXIrpF.js.map → turtle-Cj5kMy4D.js.map} +1 -1
  370. package/dist-vue/_chunks/{useChatbotStore-BXi-Gx7b.js → useChatbotStore-DCCWlutT.js} +1244 -1217
  371. package/dist-vue/_chunks/useChatbotStore-DCCWlutT.js.map +1 -0
  372. package/dist-vue/_chunks/{useSafeLocalStorage-BL5mqfb7.js → useSafeLocalStorage-DmA2eEi6.js} +2 -2
  373. package/dist-vue/_chunks/{useSafeLocalStorage-BL5mqfb7.js.map → useSafeLocalStorage-DmA2eEi6.js.map} +1 -1
  374. package/dist-vue/_chunks/{utils-CRojvghU.js → utils-UX35fb5C.js} +13 -13
  375. package/dist-vue/_chunks/{utils-CRojvghU.js.map → utils-UX35fb5C.js.map} +1 -1
  376. package/dist-vue/_chunks/{vb-DZ7E2F9i.js → vb-RlGsZALV.js} +1 -1
  377. package/dist-vue/_chunks/{vb-DZ7E2F9i.js.map → vb-RlGsZALV.js.map} +1 -1
  378. package/dist-vue/_chunks/{vbscript-DmYal433.js → vbscript-C6LN5bsX.js} +1 -1
  379. package/dist-vue/_chunks/{vbscript-DmYal433.js.map → vbscript-C6LN5bsX.js.map} +1 -1
  380. package/dist-vue/_chunks/{velocity-Dwi9C1bZ.js → velocity-7A5nvZTA.js} +1 -1
  381. package/dist-vue/_chunks/{velocity-Dwi9C1bZ.js.map → velocity-7A5nvZTA.js.map} +1 -1
  382. package/dist-vue/_chunks/{verilog-6XMMKLGD.js → verilog-CoPTkjsM.js} +1 -1
  383. package/dist-vue/_chunks/{verilog-6XMMKLGD.js.map → verilog-CoPTkjsM.js.map} +1 -1
  384. package/dist-vue/_chunks/{vhdl-BczymJF3.js → vhdl-BRtaeCKx.js} +1 -1
  385. package/dist-vue/_chunks/{vhdl-BczymJF3.js.map → vhdl-BRtaeCKx.js.map} +1 -1
  386. package/dist-vue/_chunks/{webidl-CaC70GJ2.js → webidl-BVwPXw7k.js} +1 -1
  387. package/dist-vue/_chunks/{webidl-CaC70GJ2.js.map → webidl-BVwPXw7k.js.map} +1 -1
  388. package/dist-vue/_chunks/{xquery-JS07XjNe.js → xquery-CXV9KVdL.js} +1 -1
  389. package/dist-vue/_chunks/{xquery-JS07XjNe.js.map → xquery-CXV9KVdL.js.map} +1 -1
  390. package/dist-vue/_chunks/{yacas-BXZNhOsZ.js → yacas-5ByKKRqf.js} +1 -1
  391. package/dist-vue/_chunks/{yacas-BXZNhOsZ.js.map → yacas-5ByKKRqf.js.map} +1 -1
  392. package/dist-vue/_chunks/{z80-Dtc8Q5vA.js → z80-wbH4fW7-.js} +1 -1
  393. package/dist-vue/_chunks/{z80-Dtc8Q5vA.js.map → z80-wbH4fW7-.js.map} +1 -1
  394. package/dist-vue/api.js +1 -1
  395. package/dist-vue/apps/web-component/src/components/EmbeddedChatWidget.ce.d.ts +8 -5
  396. package/dist-vue/apps/web-component/src/components/FloatingChatWidget.ce.d.ts +8 -1
  397. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +4 -0
  398. package/dist-vue/apps/web-component/src/lib.d.ts +34 -0
  399. package/dist-vue/apps/web-component/src/utils/emitWidgetEvent.d.ts +10 -0
  400. package/dist-vue/composables.js +4 -4
  401. package/dist-vue/index.js +8628 -4422
  402. package/dist-vue/index.js.map +1 -1
  403. package/dist-vue/locales.js +106 -62
  404. package/dist-vue/packages/auth/src/index.d.ts +12 -12
  405. package/dist-vue/packages/components/src/PkEditorJsonSchema.d.ts +36 -0
  406. package/dist-vue/packages/components/src/PkSchemaField.d.ts +17 -0
  407. package/dist-vue/packages/components/src/PkSvgViewer.d.ts +8 -0
  408. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +5 -2
  409. package/dist-vue/packages/components/src/chat/PkChatbot.d.ts +2 -0
  410. package/dist-vue/packages/components/src/chat/PkChatbotMessages.d.ts +1 -0
  411. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +6 -6
  412. package/dist-vue/packages/components/src/chat/PkStreamingMarkdown.d.ts +2 -0
  413. package/dist-vue/packages/components/src/chat/PkStreamingMarkdownAutoscroll.d.ts +1 -0
  414. package/dist-vue/packages/components/src/chat/PkToolShowDiagram.d.ts +8 -0
  415. package/dist-vue/packages/components/src/chat/PkToolShowLocation.d.ts +2 -0
  416. package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
  417. package/dist-vue/packages/components/src/index.d.ts +4 -1
  418. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +21 -3
  419. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  420. package/dist-vue/packages/composable/src/useJsonSchemaEditor.d.ts +45 -0
  421. package/dist-vue/packages/models/src/schema/Agent.d.ts +4 -0
  422. package/dist-vue/packages/models/src/schema/Chat.d.ts +3 -0
  423. package/dist-vue/packages/models/src/schema/Notification.d.ts +6 -0
  424. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +2 -0
  425. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +2 -0
  426. package/dist-vue/packages/models/src/schema/constants.d.ts +2 -0
  427. package/dist-vue/packages/models/src/utils.d.ts +2 -0
  428. package/dist-vue/style.css +1 -1
  429. package/package.json +7 -7
  430. package/dist/_chunks/PkStreamingMarkdown-SVWv4Oye.js.map +0 -1
  431. package/dist/_chunks/PkToolShowComparison-BzyqEIMV.js +0 -64
  432. package/dist/_chunks/VvCombobox.es-CUUNtqyJ.js +0 -1998
  433. package/dist/_chunks/VvTextarea.es-B5txwRRm.js +0 -1110
  434. package/dist/_chunks/dist-DHG50RNO.js +0 -768
  435. package/dist/_chunks/marker-icon-2x-Df3ovzYv.js +0 -7
  436. package/dist/_chunks/marker-icon-2x-Df3ovzYv.js.map +0 -1
  437. package/dist/_chunks/marker-icon-CCYFvBsS.js +0 -7
  438. package/dist/_chunks/marker-icon-CCYFvBsS.js.map +0 -1
  439. package/dist/_chunks/marker-shadow-CHjnGkIt.js +0 -7
  440. package/dist/_chunks/marker-shadow-CHjnGkIt.js.map +0 -1
  441. package/dist-vue/_chunks/Media-Dq8UU7iQ.js +0 -120
  442. package/dist-vue/_chunks/Media-Dq8UU7iQ.js.map +0 -1
  443. package/dist-vue/_chunks/PkChatbot-CoXx7Rul.js +0 -191
  444. package/dist-vue/_chunks/PkChatbot-CoXx7Rul.js.map +0 -1
  445. package/dist-vue/_chunks/PkChatbotFilePreview-0N9ASbIp.js.map +0 -1
  446. package/dist-vue/_chunks/PkChatbotMessages-BDziUgck.js.map +0 -1
  447. package/dist-vue/_chunks/PkChatbotViewChat-DMnMkELX.js +0 -278
  448. package/dist-vue/_chunks/PkChatbotViewChat-DMnMkELX.js.map +0 -1
  449. package/dist-vue/_chunks/PkStreamingMarkdown-BUiAi-qv.js.map +0 -1
  450. package/dist-vue/_chunks/PkToolRequestConfirm-BsHpoI-c.js +0 -49
  451. package/dist-vue/_chunks/PkToolRequestOAuthConnection-shcJXxtk.js +0 -64
  452. package/dist-vue/_chunks/PkToolShowLocation-DBHdxOFr.js +0 -149
  453. package/dist-vue/_chunks/PkToolShowLocation-DBHdxOFr.js.map +0 -1
  454. package/dist-vue/_chunks/createChatbotApiClient-C_E35aQf.js.map +0 -1
  455. package/dist-vue/_chunks/dist-B_3TGJwf.js.map +0 -1
  456. package/dist-vue/_chunks/dist-sx4PacBp2.js +0 -440
  457. package/dist-vue/_chunks/dist-sx4PacBp2.js.map +0 -1
  458. package/dist-vue/_chunks/useChatbotStore-BXi-Gx7b.js.map +0 -1
  459. /package/dist/_chunks/{_plugin-vue_export-helper-BWIS0o4o.js → _plugin-vue_export-helper-5qR9iAls.js} +0 -0
@@ -1,149 +0,0 @@
1
- import { a as e } from "./useChatbotStore-BXi-Gx7b.js";
2
- import { v as t, y as n } from "./src-EtGd6cRz.js";
3
- import { VvButton as r, VvButtonGroup as i, VvDropdown as a, VvDropdownAction as o, VvIcon as s } from "@volverjs/ui-vue/components";
4
- import { computed as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, createVNode as p, defineComponent as m, getCurrentInstance as h, guardReactiveProps as g, normalizeProps as _, onMounted as v, openBlock as y, ref as b, toDisplayString as x, unref as S, watchEffect as C, withCtx as w } from "vue";
5
- import { useClipboard as T } from "@vueuse/core";
6
- import { Icon as E } from "leaflet";
7
- import { LMap as D, LMarker as O, LPopup as k, LTileLayer as A } from "@maxel01/vue-leaflet";
8
- import j from "leaflet/dist/images/marker-icon.png";
9
- import M from "leaflet/dist/images/marker-icon-2x.png";
10
- import N from "leaflet/dist/images/marker-shadow.png";
11
- //#region ../../packages/components/src/chat/PkToolShowLocation.vue?vue&type=script&setup=true&lang.ts
12
- var P = {
13
- key: 0,
14
- class: "border border-surface-3 rounded-xl w-full overflow-hidden"
15
- }, F = { class: "px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8" }, I = { class: "font-bold" }, L = {
16
- key: 0,
17
- class: "h-224 border-b border-surface-3"
18
- }, R = { class: "p-sm flex flex-col gap-4" }, z = { class: "font-semibold text-word-1 text-14" }, B = { class: "text-12 text-word-3" }, V = {
19
- key: 0,
20
- class: "text-12 text-word-4"
21
- }, H = /* @__PURE__ */ m({
22
- __name: "PkToolShowLocation",
23
- props: {
24
- part: {},
25
- forwardGeocode: { type: Function }
26
- },
27
- setup(e) {
28
- delete E.Default.prototype._getIconUrl, E.Default.mergeOptions({
29
- iconUrl: j,
30
- iconRetinaUrl: M,
31
- shadowUrl: N
32
- });
33
- let m = e, { copy: H, copied: U } = T(), W = c(() => m.part), G = b(null);
34
- v(() => {
35
- n("https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css", t(h()?.proxy?.$el));
36
- }), C(async () => {
37
- let e = W.value.input;
38
- if (!(!e || e.latitude != null || !e.address) && m.forwardGeocode) try {
39
- let t = await m.forwardGeocode(e.address);
40
- t && (G.value = [t.latitude, t.longitude]);
41
- } catch {}
42
- });
43
- let K = c(() => W.value.input?.latitude != null && W.value.input?.longitude != null || G.value != null), q = c(() => W.value.input?.latitude != null && W.value.input?.longitude != null ? [W.value.input.latitude, W.value.input.longitude] : G.value ?? [0, 0]), J = () => {
44
- let e = W.value.input;
45
- if (!e) return;
46
- let t = K.value ? `${q.value[0]},${q.value[1]}` : e.address;
47
- window.open(`https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(t)}`, "_blank");
48
- }, Y = () => {
49
- let e = W.value.input;
50
- if (!e) return;
51
- let t = K.value ? `${q.value[0]},${q.value[1]}` : e.address;
52
- window.open(`https://maps.apple.com/?daddr=${encodeURIComponent(t)}`, "_blank");
53
- }, X = () => {
54
- let e = W.value.input;
55
- e && (K.value ? window.open(`https://waze.com/ul?ll=${q.value[0]},${q.value[1]}&navigate=yes`, "_blank") : window.open(`https://waze.com/ul?q=${encodeURIComponent(e.address)}&navigate=yes`, "_blank"));
56
- }, Z = () => {
57
- let e = W.value.input;
58
- e && H(`${e.name}\n${e.address}`);
59
- };
60
- return (e, t) => {
61
- let n = s, c = r, m = o, h = a, v = i;
62
- return W.value?.input ? (y(), u("div", P, [
63
- d("div", F, [
64
- p(n, {
65
- name: "ri:map-pin-line",
66
- class: "text-16"
67
- }),
68
- d("strong", I, x(e.$t("label.location")), 1),
69
- p(v, {
70
- modifiers: "compact",
71
- class: "ml-auto shrink-0"
72
- }, {
73
- default: w(() => [p(c, {
74
- modifiers: "action-quiet-small",
75
- icon: S(U) ? "ri:check-line" : "ri:file-copy-line",
76
- label: S(U) ? e.$t("action.copied") : e.$t("action.copy"),
77
- onClick: Z
78
- }, null, 8, ["icon", "label"]), p(h, _(g({
79
- placement: "bottom-end",
80
- modifiers: "menu",
81
- flip: !0,
82
- offset: 3,
83
- strategy: "fixed"
84
- })), {
85
- items: w(() => [
86
- p(m, { onClick: J }, {
87
- default: w(() => [p(n, { name: "ri:map-2-line" }), t[0] ||= f(" Google Maps ", -1)]),
88
- _: 1
89
- }),
90
- p(m, { onClick: Y }, {
91
- default: w(() => [p(n, { name: "ri:map-line" }), t[1] ||= f(" Apple Maps ", -1)]),
92
- _: 1
93
- }),
94
- p(m, { onClick: X }, {
95
- default: w(() => [p(n, { name: "ri:navigation-line" }), t[2] ||= f(" Waze ", -1)]),
96
- _: 1
97
- })
98
- ]),
99
- default: w(() => [p(c, {
100
- icon: "ri:direction-line",
101
- modifiers: "action-quiet-small",
102
- label: e.$t("action.getDirections")
103
- }, null, 8, ["label"])]),
104
- _: 1
105
- }, 16)]),
106
- _: 1
107
- })
108
- ]),
109
- K.value ? (y(), u("div", L, [p(S(D), {
110
- zoom: 12,
111
- center: q.value,
112
- "use-global-leaflet": !1,
113
- options: {
114
- scrollWheelZoom: !1,
115
- dragging: !0,
116
- zoomControl: !0,
117
- attributionControl: !1
118
- },
119
- style: {
120
- height: "100%",
121
- width: "100%"
122
- }
123
- }, {
124
- default: w(() => [p(S(A), {
125
- url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
126
- "layer-type": "base",
127
- name: "OpenStreetMap"
128
- }), p(S(O), { "lat-lng": q.value }, {
129
- default: w(() => [p(S(k), null, {
130
- default: w(() => [f(x(W.value.input.name), 1)]),
131
- _: 1
132
- })]),
133
- _: 1
134
- }, 8, ["lat-lng"])]),
135
- _: 1
136
- }, 8, ["center"])])) : l("", !0),
137
- d("div", R, [
138
- d("p", z, x(W.value.input.name), 1),
139
- d("p", B, x(W.value.input.address), 1),
140
- W.value.input.additionalInfo ? (y(), u("p", V, x(W.value.input.additionalInfo), 1)) : l("", !0)
141
- ])
142
- ])) : l("", !0);
143
- };
144
- }
145
- }), U = /* @__PURE__ */ e({ default: () => W }), W = H;
146
- //#endregion
147
- export { U as n, W as t };
148
-
149
- //# sourceMappingURL=PkToolShowLocation-DBHdxOFr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PkToolShowLocation-DBHdxOFr.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowLocation.vue","../../../../packages/components/src/chat/PkToolShowLocation.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createChatbotApiClient-C_E35aQf.js","names":["c","l","u","d","f","s","n","e","t","i","r"],"sources":["../../../../packages/models/src/schema/Agent.ts","../../../../node_modules/.pnpm/@ucast+core@2.0.0/node_modules/@ucast/core/dist/esm/index.mjs","../../../../node_modules/.pnpm/@ucast+mongo@3.0.0/node_modules/@ucast/mongo/dist/esm/index.mjs","../../../../packages/ability/src/types.ts","../../../../packages/ability/src/roles/User.ts","../../../../packages/ability/src/index.ts","../../../../packages/composable/src/chatbot/api/createChatbotApiClient.ts"],"sourcesContent":["import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport { LanguageModel } from './constants'\nimport { MediaSchema, MIME_TYPE_REGEX } from './Media'\n\nexport enum AgentStatus {\n Draft = 'draft',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum AgentVisibility {\n Public = 'public',\n Private = 'private',\n Organization = 'organization',\n}\n\nexport enum AgentType {\n Chat = 'chat',\n Reasoning = 'reasoning',\n}\n\nexport enum AgentSearchMode {\n Semantic = 'semantic',\n Balanced = 'balanced',\n Keyword = 'keyword',\n}\n\n/**\n * Provider-specific reasoning configurations.\n *\n * Each provider has its own reasoning API:\n * - OpenAI (GPT-5, o-series): `reasoningEffort` + `reasoningSummary`\n * - Anthropic (Claude 4.6+): adaptive thinking with `effort` levels, or legacy `budgetTokens`\n * - Google (Gemini 3/3.1): `thinkingLevel`; Gemini 2.5: `thinkingBudget`\n * - DeepSeek: on/off thinking toggle\n *\n * Only the matching provider's config is used at runtime (based on model prefix).\n * Admins can pre-configure multiple providers for easy model switching.\n */\n\nexport const OpenAIReasoningSchema = z.object({\n reasoningEffort: z\n .enum(['none', 'low', 'medium', 'high', 'xhigh'])\n .optional(),\n reasoningSummary: z.enum(['auto', 'detailed', 'concise']).optional(),\n})\nexport type OpenAIReasoning = z.infer<typeof OpenAIReasoningSchema>\n\nexport const AnthropicReasoningSchema = z.object({\n type: z.enum(['adaptive', 'enabled', 'disabled']).optional(),\n effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max']).optional(),\n display: z.enum(['summarized', 'omitted']).optional(),\n budgetTokens: z.number().int().positive().optional(),\n})\nexport type AnthropicReasoning = z.infer<typeof AnthropicReasoningSchema>\n\nexport const GoogleReasoningSchema = z.object({\n thinkingLevel: z.enum(['minimal', 'low', 'medium', 'high']).optional(),\n thinkingBudget: z.number().int().optional(),\n includeThoughts: z.boolean().optional(),\n})\nexport type GoogleReasoning = z.infer<typeof GoogleReasoningSchema>\n\nexport const DeepSeekReasoningSchema = z.object({\n type: z.enum(['enabled', 'disabled']).optional(),\n})\nexport type DeepSeekReasoning = z.infer<typeof DeepSeekReasoningSchema>\n\n/**\n * Migrates legacy format `{ effort: 'high', reasoningSummary: 'auto' }` to the new\n * per-provider format. Applied via preprocess so old DB data auto-migrates on parse.\n */\nfunction migrateReasoningConfig(val: unknown): unknown {\n if (!val || typeof val !== 'object') {\n return val\n }\n const obj = val as Record<string, unknown>\n // Detect legacy format: has `effort` key with old enum values\n if (\n 'effort' in obj &&\n !(\n 'openai' in obj ||\n 'anthropic' in obj ||\n 'google' in obj ||\n 'deepseek' in obj\n )\n ) {\n const effort = obj.effort as string | undefined\n const reasoningSummary = obj.reasoningSummary as string | undefined\n const migrated: Record<string, unknown> = {}\n\n if (effort && effort !== 'off') {\n migrated.openai = {\n reasoningEffort: effort,\n ...(reasoningSummary ? { reasoningSummary } : {}),\n }\n migrated.anthropic = {\n type: 'adaptive' as const,\n effort: effort as 'low' | 'medium' | 'high',\n }\n migrated.google = {\n thinkingLevel: effort as 'low' | 'medium' | 'high',\n }\n migrated.deepseek = { type: 'enabled' as const }\n } else {\n migrated.openai = { reasoningEffort: 'none' }\n migrated.deepseek = { type: 'disabled' as const }\n }\n return migrated\n }\n return val\n}\n\nexport const AgentReasoningSchema = z.preprocess(\n migrateReasoningConfig,\n z\n .object({\n openai: OpenAIReasoningSchema.optional(),\n anthropic: AnthropicReasoningSchema.optional(),\n google: GoogleReasoningSchema.optional(),\n deepseek: DeepSeekReasoningSchema.optional(),\n })\n .optional(),\n)\n\nexport type AgentReasoning = z.infer<typeof AgentReasoningSchema>\n\nexport enum AgentBuiltInTool {\n Geocode = 'geocode',\n GetWeather = 'getWeather',\n ReadDocumentFile = 'readDocumentFile',\n RequestConfirm = 'requestConfirm',\n RequestGeolocation = 'requestGeolocation',\n RetrieveRevisedAnswers = 'retrieveRevisedAnswers',\n SearchInKnowledgeBase = 'searchInKnowledgeBase',\n ShowArtifact = 'showArtifact',\n ShowCalendarEvent = 'showCalendarEvent',\n ShowComparison = 'showComparison',\n ShowContactForm = 'showContactForm',\n ShowEmail = 'showEmail',\n ShowImageGallery = 'showImageGallery',\n ShowLocation = 'showLocation',\n ShowMessage = 'showMessage',\n ShowMultipleChoice = 'showMultipleChoice',\n ShowProductList = 'showProductList',\n ShowQrCode = 'showQrCode',\n ShowSources = 'showSources',\n ShowSuggestedReply = 'showSuggestedReply',\n ShowWeather = 'showWeather',\n ShowWebPages = 'showWebPages',\n}\n\n/**\n * Returns true if the tool renders a UI element (card, form, list, etc.).\n * Used in `prepareStep` to prevent duplicate UI elements across streaming steps.\n */\nexport function isPresentationTool(toolName: string): boolean {\n return (\n toolName === AgentBuiltInTool.RequestConfirm ||\n toolName === AgentBuiltInTool.ShowArtifact ||\n toolName === AgentBuiltInTool.ShowCalendarEvent ||\n toolName === AgentBuiltInTool.ShowComparison ||\n toolName === AgentBuiltInTool.ShowContactForm ||\n toolName === AgentBuiltInTool.ShowEmail ||\n toolName === AgentBuiltInTool.ShowImageGallery ||\n toolName === AgentBuiltInTool.ShowLocation ||\n toolName === AgentBuiltInTool.ShowMessage ||\n toolName === AgentBuiltInTool.ShowMultipleChoice ||\n toolName === AgentBuiltInTool.ShowProductList ||\n toolName === AgentBuiltInTool.ShowQrCode ||\n toolName === AgentBuiltInTool.ShowSources ||\n toolName === AgentBuiltInTool.ShowSuggestedReply ||\n toolName === AgentBuiltInTool.ShowWeather ||\n toolName === AgentBuiltInTool.ShowWebPages\n )\n}\n\nexport const AgentMultipleChoiceSettingsSchema = z.object({\n maxOptions: z.number().int().min(2).max(10).optional().default(5),\n allowCustomAnswer: z.boolean().optional().default(false),\n})\nexport type AgentMultipleChoiceSettings = z.infer<\n typeof AgentMultipleChoiceSettingsSchema\n>\n\nexport const DEFAULT_MAX_STEP_COUNT = 10\nexport const DEFAULT_SUB_AGENT_MAX_STEP_COUNT = 6\nexport const DEFAULT_ENDPOINT_MAX_STEP_COUNT = 5\n\nexport enum WebSearchProvider {\n Perplexity = 'perplexity',\n Parallel = 'parallel',\n Native = 'native',\n}\n\nexport const PerplexitySearchConfigSchema = z.object({\n maxResults: z.number().int().min(1).max(20).optional(),\n maxTokens: z.number().int().positive().max(1_000_000).optional(),\n maxTokensPerPage: z.number().int().positive().optional(),\n country: z.string().max(2).optional(),\n searchLanguageFilter: z.array(z.string().max(5)).max(10).optional(),\n searchDomainFilter: z.array(z.string()).max(20).optional(),\n searchRecencyFilter: z.enum(['day', 'week', 'month', 'year']).optional(),\n})\nexport type PerplexitySearchConfig = z.infer<\n typeof PerplexitySearchConfigSchema\n>\n\nexport const ParallelSearchConfigSchema = z.object({\n mode: z.enum(['one-shot', 'agentic']).optional(),\n maxResults: z.number().int().min(1).max(20).optional(),\n sourcePolicy: z\n .object({\n includeDomains: z.array(z.string()).optional(),\n excludeDomains: z.array(z.string()).optional(),\n afterDate: z.string().optional(),\n })\n .optional(),\n excerpts: z\n .object({\n maxCharsPerResult: z.number().int().positive().optional(),\n maxCharsTotal: z.number().int().positive().optional(),\n })\n .optional(),\n fetchPolicy: z\n .object({\n maxAgeSeconds: z.number().int().positive().optional(),\n })\n .optional(),\n})\nexport type ParallelSearchConfig = z.infer<typeof ParallelSearchConfigSchema>\n\nexport const NativeWebSearchConfigSchema = z.object({\n openai: z.object({}).optional(),\n anthropic: z\n .object({\n maxUses: z.number().int().positive().optional(),\n allowedDomains: z.array(z.string()).optional(),\n blockedDomains: z.array(z.string()).optional(),\n userLocation: z\n .object({\n type: z.literal('approximate').optional(),\n country: z.string().optional(),\n region: z.string().optional(),\n city: z.string().optional(),\n timezone: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n google: z.object({}).optional(),\n})\nexport type NativeWebSearchConfig = z.infer<typeof NativeWebSearchConfigSchema>\n\nexport const AgentWebSearchSchema = z.object({\n enabled: z.boolean().default(false),\n provider: z\n .enum(WebSearchProvider)\n .optional()\n .default(WebSearchProvider.Native),\n perplexity: PerplexitySearchConfigSchema.optional(),\n parallel: ParallelSearchConfigSchema.optional(),\n native: NativeWebSearchConfigSchema.optional(),\n})\nexport type AgentWebSearch = z.infer<typeof AgentWebSearchSchema>\n\nexport const AgentToolsSchema = z.object({\n disabled: z.array(z.enum(AgentBuiltInTool)).default([]),\n showMultipleChoice: AgentMultipleChoiceSettingsSchema.optional().default(\n () => AgentMultipleChoiceSettingsSchema.parse({}),\n ),\n webSearch: AgentWebSearchSchema.optional().default(() =>\n AgentWebSearchSchema.parse({}),\n ),\n})\nexport type AgentTools = z.infer<typeof AgentToolsSchema>\n\nexport const AgentModelSchema = z.object({\n prompt: z.string().optional(),\n temperature: z.number().min(0).max(2).optional().default(0.6),\n maxOutputTokens: z.number().positive().optional(),\n presencePenalty: z.number().min(-2).max(2).optional(),\n frequencyPenalty: z.number().min(-2).max(2).optional(),\n searchMode: z\n .enum(AgentSearchMode)\n .optional()\n .default(AgentSearchMode.Balanced),\n limit: z.number().positive().max(100).optional().default(10),\n maxStepCount: z\n .number()\n .int()\n .min(1)\n .max(40)\n .optional()\n .default(DEFAULT_MAX_STEP_COUNT),\n reasoning: AgentReasoningSchema,\n})\nexport type AgentModel = z.infer<typeof AgentModelSchema>\n\nexport const LocalizedStringSchema = z.preprocess(\n (val) => (typeof val === 'string' ? { it: val } : val),\n z.record(z.string(), z.string()),\n)\nexport type LocalizedString = z.infer<typeof LocalizedStringSchema>\n\nexport const DEFAULT_WIDGET_URL =\n 'https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js'\n\nexport enum AgentLoaderStrategy {\n InlineModule = 'inline-module',\n ScriptSrc = 'script-src',\n DynamicImport = 'dynamic-import',\n}\n\nexport enum AgentChannel {\n Frontoffice = 'frontoffice',\n App = 'app',\n Widget = 'widget',\n}\n\nexport const ALL_AGENT_CHANNELS = Object.values(AgentChannel) as AgentChannel[]\n\nexport const AgentInterfaceSchema = z.object({\n media: MediaSchema.optional(),\n logo: z.string().optional(),\n theme: z.enum(['light', 'dark', 'auto']).optional().default('auto'),\n mainColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/)\n .optional()\n .default('#000000'),\n textColor: z.enum(['auto', 'white', 'black']).optional().default('auto'),\n useColorsForAgentHeader: z.boolean().optional().default(false),\n initialMessage: LocalizedStringSchema.optional(),\n greeting: z.array(LocalizedStringSchema).min(1).max(10).optional(),\n messagePlaceholder: LocalizedStringSchema.optional(),\n dismissableNotice: LocalizedStringSchema.optional(),\n footerMessage: LocalizedStringSchema.optional(),\n privacyPolicyNotice: LocalizedStringSchema.optional(),\n welcomePopup: z.boolean().optional().default(false),\n floatingButtonPosition: z\n .enum(['left', 'right'])\n .optional()\n .default('right'),\n maxMessageLength: z.number().int().positive().optional(),\n widgetUrl: z.url().default(DEFAULT_WIDGET_URL),\n loadDelay: z.number().int().min(0).max(30000).optional().default(0),\n loaderStrategy: z\n .enum(AgentLoaderStrategy)\n .optional()\n .default(AgentLoaderStrategy.InlineModule),\n customCss: z.string().optional(),\n smoothStream: z.boolean().optional().default(false),\n})\nexport type AgentInterface = z.infer<typeof AgentInterfaceSchema>\n\nexport const CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'application/pdf',\n 'text/plain',\n 'text/markdown',\n 'text/csv',\n] as const\n\nexport type ChatFileUploadMimeType =\n (typeof CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES)[number]\n\nexport const CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES = 104_857_600 // 100 MB\n\nexport const AgentFileUploadSchema = z.object({\n enabled: z.boolean().default(false),\n maxFileSizeBytes: z\n .number()\n .int()\n .positive()\n .max(CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES)\n .optional()\n .default(20_971_520),\n allowedMimeTypes: z\n .array(z.string().regex(MIME_TYPE_REGEX))\n .optional()\n .default([...CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES]),\n maxFilesPerMessage: z\n .number()\n .int()\n .positive()\n .max(10)\n .optional()\n .default(5),\n maxFilesPerChat: z.number().int().positive().max(50).optional().default(20),\n})\nexport type AgentFileUpload = z.infer<typeof AgentFileUploadSchema>\n\nexport const AgentGatewayOptionsSchema = z.object({\n zeroDataRetention: z.boolean().default(true),\n disallowPromptTraining: z.boolean().default(true),\n providerTimeoutMs: z.number().int().min(1000).max(789000).optional(),\n})\nexport type AgentGatewayOptions = z.infer<typeof AgentGatewayOptionsSchema>\n\nexport const AgentSettingsSchema = z.object({\n model: AgentModelSchema,\n interface: AgentInterfaceSchema,\n tools: AgentToolsSchema.optional().default(() =>\n AgentToolsSchema.parse({}),\n ),\n fileUpload: AgentFileUploadSchema.optional().default(() =>\n AgentFileUploadSchema.parse({}),\n ),\n gatewayOptions: AgentGatewayOptionsSchema.optional().default(() =>\n AgentGatewayOptionsSchema.parse({}),\n ),\n channels: z\n .array(z.enum(AgentChannel))\n .optional()\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\nexport type AgentSettings = z.infer<typeof AgentSettingsSchema>\n\nexport const AgentSecuritySchema = z.object({\n rateLimits: z.object({\n minuteRateLimit: z.number().int().min(0).optional(),\n hourRateLimit: z.number().int().min(0).optional(),\n dayRateLimit: z.number().int().min(0).optional(),\n monthRateLimit: z.number().int().min(0).optional(),\n }),\n trustedOrigins: z\n .object({\n origins: z\n .array(z.url().or(z.literal('')))\n .transform((items) => {\n return items?.filter((item) => item?.trim())\n })\n .default([]),\n })\n .default({ origins: [] }),\n})\nexport type AgentSecurity = z.infer<typeof AgentSecuritySchema>\n\nexport const AgentDtoSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n prompt: z.string().optional(),\n model: z.string().default(LanguageModel.gpt52Chat),\n fallbackModels: z.array(z.string()).default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z.enum(AgentVisibility).default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullish(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n})\n\nexport const AgentSchema = z.lazy(() =>\n z.object({\n id: z.string(),\n name: z.string(),\n prompt: z.string(),\n model: z.string(),\n fallbackModels: z.array(z.string()).nullable().default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z\n .enum(AgentVisibility)\n .default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullable(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n createdAt: z.coerce.date(),\n createdBy: z.string(),\n updatedAt: z.coerce.date(),\n updatedBy: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n outOfBudget: z.boolean().optional().default(false),\n outOfBudgetReason: z.string().optional().default(''),\n }),\n)\n\nexport const AgentPublicSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.enum(AgentStatus),\n visibility: z.enum(AgentVisibility),\n organizationId: z.string(),\n interface: AgentInterfaceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n logo: z.string().optional(),\n capabilities: z.object({\n fileUpload: AgentFileUploadSchema,\n }),\n channels: z\n .array(z.enum(AgentChannel))\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\n\nexport const AgentsQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort([\n 'id',\n 'updatedAt',\n 'createdAt',\n 'name',\n 'type',\n 'status',\n 'visibility',\n 'model',\n ]),\n ...zodQs.filters(['done', 'type']),\n ...zodQs.filter('id'),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n})\n\nexport type AgentDto = z.infer<typeof AgentDtoSchema>\nexport type Agent = z.infer<typeof AgentSchema>\nexport type AgentPublic = z.infer<typeof AgentPublicSchema>\n\nexport type AgentQuerystring = z.infer<typeof AgentsQuerystringSchema>\n","var e=class{constructor(e,t){this.operator=e,this.value=t,Object.defineProperty(this,`_notes`,{writable:!0})}get notes(){return this._notes}addNote(e){this._notes=this._notes||[],this._notes.push(e)}},t=class extends e{},n=class extends t{constructor(e,t){if(!Array.isArray(t))throw Error(`\"${e}\" operator expects to receive an array of conditions`);super(e,t)}};const r=`__itself__`;var i=class extends e{constructor(e,t,n){super(e,n),this.field=t}};const a=new t(`__null__`,null),o=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));function s(e,t){return t instanceof n&&t.operator===e}function c(e,t){let r;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a instanceof n){if(a.operator!==e){r&&r.push(a);continue}if(a.value.length===0)continue;r||(r=t.slice(0,i));let n=a.value;for(let e=0,t=n.length;e<t;e++)r.push(n[e])}else r&&r.push(a)}return r||t}function l(e,t){if(t.length===1)return t[0];if(t.length===0)return new n(e,t);let r=c(e,t);return r.length===1?r[0]:(r.length,new n(e,r))}const u=e=>e,d=()=>Object.create(null),f=Object.defineProperty(d(),`__@type@__`,{value:`ignore value`});function p(e,t,n=!1){if(!e||e&&e.constructor!==Object)return!1;for(let r in e)if(o(e,r)&&o(t,r)&&(!n||e[r]!==f))return!0;return!1}function m(e){let t=[];for(let n in e)o(e,n)&&e[n]!==f&&t.push(n);return t}function h(e,t){t!==a&&e.push(t)}const g=e=>l(`and`,e),_=e=>l(`or`,e);function v(e,t){let n=e[t];if(typeof n!=`function`)throw Error(`Unable to interpret \"${String(t)}\" condition. Did you forget to register interpreter for it?`);return n}function y(e){return e.operator}function b(e,t){let n=t,r=n&&n.getInterpreterName||y,i;switch(n?n.numberOfArguments:0){case 1:i=(t=>v(e,r(t,n))(t,a));break;case 3:i=((t,i,o)=>v(e,r(t,n))(t,i,o,a));break;default:i=((t,i)=>v(e,r(t,n))(t,i,a));break}let a={...n,interpret:i};return a.interpret}const x={compound(e,t,r){let i=(Array.isArray(t)?t:[t]).map(e=>r.parse(e));return new n(e.name,i)},field(e,t,n){return new i(e.name,n.field,t)},document(e,n){return new t(e.name,n)}};var S=class{constructor(e,t=d()){this.parse=this.parse.bind(this),this._options={operatorToConditionName:t.operatorToConditionName||u,defaultOperatorName:t.defaultOperatorName||`eq`,mergeFinalConditions:t.mergeFinalConditions||g},this._instructions=Object.keys(e).reduce((t,n)=>(t[n]={name:this._options.operatorToConditionName(n),...e[n]},t),{}),this._fieldInstructionContext={...t.fieldContext,field:``,query:{},parse:this.parse,hasOperators:e=>p(e,this._instructions,t.useIgnoreValue)},this._documentInstructionContext={...t.documentContext,parse:this.parse,query:{}},this._objectKeys=t.useIgnoreValue?m:Object.keys}setParse(e){this.parse=e,this._fieldInstructionContext.parse=e,this._documentInstructionContext.parse=e}parseField(e,t,n,r){let i=this._instructions[t];if(!i)throw Error(`Unsupported operator \"${t}\"`);if(i.type!==`field`)throw Error(`Unexpected ${i.type} operator \"${t}\" at field level`);return this._fieldInstructionContext.field=e,this._fieldInstructionContext.query=r,this.parseInstruction(i,n,this._fieldInstructionContext)}parseInstruction(e,t,n){return typeof e.validate==`function`&&e.validate(e,t),(e.parse||x[e.type])(e,t,n)}parseFieldOperators(e,t){let n=[],r=this._objectKeys(t);for(let i=0,a=r.length;i<a;i++){let a=r[i];if(!this._instructions[a])throw Error(`Field query for \"${e}\" may contain only operators or a plain object as a value`);h(n,this.parseField(e,a,t[a],t))}return n}parse(e){let t=[],n=this._objectKeys(e);this._documentInstructionContext.query=e;for(let r=0,i=n.length;r<i;r++){let i=n[r],a=e[i],o=this._instructions[i];if(o){if(o.type!==`document`&&o.type!==`compound`)throw Error(`Cannot use parsing instruction for operator \"${i}\" in \"document\" context as it is supposed to be used in \"${o.type}\" context`);h(t,this.parseInstruction(o,a,this._documentInstructionContext))}else this._fieldInstructionContext.hasOperators(a)?t.push(...this.parseFieldOperators(i,a)):h(t,this.parseField(i,this._options.defaultOperatorName,a,e))}return this._options.mergeFinalConditions(t)}};function C(e,t){return(n,...r)=>{let i=e(n,...r),a=t.bind(null,i);return Object.defineProperty(a,`ast`,{value:i}),a}}export{n as CompoundCondition,e as Condition,t as DocumentCondition,i as FieldCondition,r as ITSELF,a as NULL_CONDITION,S as ObjectQueryParser,g as buildAnd,_ as buildOr,b as createInterpreter,C as createTranslatorFactory,x as defaultInstructionParsers,p as hasOperators,u as identity,f as ignoreValue,s as isCompound,d as object,l as optimizedCompoundCondition};\n//# sourceMappingURL=index.mjs.map","import{CompoundCondition as e,FieldCondition as t,ITSELF as n,NULL_CONDITION as r,ObjectQueryParser as i,buildAnd as a,defaultInstructionParsers as o,optimizedCompoundCondition as s}from\"@ucast/core\";var c=Object.defineProperty,l=((e,t)=>{let n={};for(var r in e)c(n,r,{get:e[r],enumerable:!0});return t||c(n,Symbol.toStringTag,{value:`Module`}),n})({$all:()=>y,$and:()=>u,$elemMatch:()=>h,$eq:()=>E,$exists:()=>x,$gt:()=>C,$gte:()=>S,$in:()=>_,$lt:()=>w,$lte:()=>T,$mod:()=>b,$ne:()=>D,$nin:()=>v,$nor:()=>f,$not:()=>m,$options:()=>k,$or:()=>d,$regex:()=>O,$size:()=>g,$where:()=>A});const u={type:`compound`,validate:M,parse(e,t,n){let r=p(e,t,n);return s(e.name,r)}},d=u,f={type:`compound`,validate:M,parse(t,n,r){let i=p(t,n,r);return new e(t.name,i)}};function p(e,t,n){let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i];F(e,a,i),r[i]=n.parse(a)}return r}const m={type:`field`,validate(e,t){if(!(t&&(t instanceof RegExp||t.constructor===Object)))throw Error(`\"${e.name}\" expects to receive either regular expression or object of field operators`)},parse(n,r,i){let a=r instanceof RegExp?new t(`regex`,i.field,r):i.parse(r,i);return new e(n.name,[a])}},h={type:`field`,validate(e,t){if(!t||t.constructor!==Object)throw Error(`\"${e.name}\" expects to receive an object with nested query or field level operators`)},parse(e,r,{parse:i,field:a,hasOperators:o}){let s=o(r)?i(r,{field:n}):i(r);return new t(e.name,a,s)}},g={type:`field`,validate:P(`number`)},_={type:`field`,validate:j},v=_,y=_,b={type:`field`,validate(e,t){if(!Array.isArray(t)||t.length!==2)throw Error(`\"${e.name}\" expects an array with 2 numeric elements`)}},x={type:`field`,validate:P(`boolean`)},S={type:`field`,validate:N},C=S,w=C,T=C,E={type:`field`},D=E,O={type:`field`,validate(e,t){if(!(t instanceof RegExp)&&typeof t!=`string`)throw Error(`\"${e.name}\" expects value to be a regular expression or a string that represents regular expression`)},parse(e,n,r){let i=typeof n==`string`?new RegExp(n,r.query.$options||``):n;return new t(e.name,r.field,i)}},k={type:`field`,parse:()=>r},A={type:`document`,validate:P(`function`)};function j(e,t){if(!Array.isArray(t))throw Error(`\"${e.name}\" expects value to be an array`)}function M(e,t){if(j(e,t),!t.length)throw Error(`\"${e.name}\" expects to have at least one element in array`)}function N(e,t){if(!(typeof t==`string`||typeof t==`number`||t instanceof Date))throw Error(`\"${e.name}\" expects value to be comparable (i.e., string, number or date)`)}function P(e){return(t,n)=>{if(typeof n!==e)throw Error(`\"${t.name}\" expects value to be a \"${e}\"`)}}function F(e,t,n){let r=t;if(!r||r.constructor!==Object)throw Error(`\"${e.name}\" expects item at index ${n} to be an object`)}var I=class extends i{constructor(e){super(e,{defaultOperatorName:`$eq`,operatorToConditionName:e=>e.slice(1)})}parse(e,t){return t&&t.field?a(this.parseFieldOperators(t.field,e)):super.parse(e)}};const L=l;export{y as $all,u as $and,h as $elemMatch,E as $eq,x as $exists,C as $gt,S as $gte,_ as $in,w as $lt,T as $lte,b as $mod,D as $ne,v as $nin,f as $nor,m as $not,k as $options,d as $or,O as $regex,g as $size,A as $where,I as MongoQueryParser,L as allParsingInstructions,o as defaultParsers};\n//# sourceMappingURL=index.mjs.map","import type { MongoQuery } from '@ucast/mongo2js'\nimport type { Session } from 'auth'\n\nexport enum Audience {\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Public = 'public',\n}\n\nexport enum Subject {\n All = 'all',\n Todo = 'todo',\n User = 'user',\n Chat = 'chat',\n Agent = 'agent',\n SubAgent = 'subAgent',\n Document = 'document',\n AgentDocument = 'agent_document',\n AgentAnalytic = 'agent_analytic',\n McpServer = 'mcp_server',\n Media = 'media',\n RevisedAnswer = 'revised_answer',\n Organization = 'organization',\n Member = 'member',\n Lead = 'lead',\n MessageFeedback = 'message_feedback',\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Invitation = 'invitation',\n Crawler = 'crawler',\n ReasoningChat = 'reasoning_chat',\n TimeTrackerChat = 'time_tracker_chat',\n OrganizationExternalAuth = 'organization_external_auth',\n AgentEndpoint = 'agent_endpoint',\n AgentEndpointLog = 'agent_endpoint_log',\n AgentApiTool = 'agent_api_tool',\n DocumentFolder = 'document_folder',\n Integration = 'integration',\n Notification = 'notification',\n}\n\n// action\nexport type Action =\n | 'create'\n | 'read'\n | 'update'\n | 'delete'\n | 'manage'\n | 'impersonate'\n | 'invite'\n | 'access'\n | 'clone'\n | 'ban'\n | 'unban'\n | 'change-role'\n | 'resend'\n | 'cancel'\n | 'execute'\n | 'refill'\n\nexport type Capability = {\n action: Action\n subject: Subject\n fields?: string[]\n condition?: MongoQuery\n inverted?: boolean\n}\n\nexport type CapabilitiesFactory = (\n currentSession?: Session | null,\n) => Capability[]\n","import { AgentStatus } from 'models'\nimport type { CapabilitiesFactory } from '../types'\nimport { Subject } from '../types'\n\nconst GuestCapabilities: CapabilitiesFactory = (currentSession) => {\n if (!currentSession) {\n return []\n }\n return [\n // chats\n {\n subject: Subject.Chat,\n action: 'create',\n },\n {\n subject: Subject.Chat,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n {\n subject: Subject.Chat,\n action: 'update',\n },\n {\n subject: Subject.Chat,\n action: 'delete',\n },\n // agents\n {\n subject: Subject.Agent,\n action: 'read',\n condition: {\n status: {\n $eq: AgentStatus.Active,\n },\n },\n },\n // feedbacks\n {\n subject: Subject.MessageFeedback,\n action: 'create',\n },\n {\n subject: Subject.MessageFeedback,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n ]\n}\nexport default GuestCapabilities\n","import type { MongoAbility, InferSubjects, ForcedSubject } from '@casl/ability'\nimport type { MongoQuery } from '@ucast/mongo2js'\nimport { Action, Capability, Subject } from './types'\nimport { $or } from '@ucast/mongo2js'\nimport {\n AbilityBuilder,\n createMongoAbility,\n buildMongoQueryMatcher,\n Ability as PureAbility,\n createAliasResolver,\n FieldMatcher,\n} from '@casl/ability'\nimport { organizationCapabilitiesByRole, userCapabilitiesByRole } from './roles'\nimport type { Session } from 'auth'\nimport DefaultCapabilities from './roles/User'\nimport { createAccessControl } from 'better-auth/plugins'\nimport {\n adminAc,\n defaultStatements,\n memberAc,\n ownerAc,\n} from 'better-auth/plugins/organization/access'\n\nexport const OrganizationRoles = {\n admin: 'admin',\n owner: 'owner',\n member: 'member',\n user: 'user',\n} as const\n\nexport const UserRoles = {\n admin: 'admin',\n user: 'user',\n} as const\n\n// action alias\nconst resolveAction = createAliasResolver({\n modify: ['read', 'update', 'delete'],\n})\n\n// subject\nexport type AbilitySubject =\n | InferSubjects<'all' | Subject, true>\n | ForcedSubject<InferSubjects<'all' | Subject, true>>\ntype Ability = MongoAbility<[Action, AbilitySubject]>\n\n// matcher\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst conditionsMatcher = buildMongoQueryMatcher({ $or } as Record<string, any>)\nconst fieldMatcher: FieldMatcher = (fields) => (field) => fields.includes(field)\n\n// ability\nexport const ability = new PureAbility<[Action, AbilitySubject], MongoQuery>(\n DefaultCapabilities(),\n {\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n },\n)\n\nexport const isValidOrganizationRole = (\n role?: string | null,\n): role is keyof typeof OrganizationRoles => {\n if (!role) {\n return false\n }\n return role in OrganizationRoles\n}\n\nexport const isValidUserRole = (\n role?: string | null,\n): role is keyof typeof UserRoles => {\n if (!role) {\n return false\n }\n return role in UserRoles\n}\n\nexport const getOrganizationRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidOrganizationRole(currentSession?.session.organizationRole)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities =\n organizationCapabilitiesByRole[currentSession.session.organizationRole]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const getUserRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidUserRole(currentSession?.user.role)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities = userCapabilitiesByRole[currentSession.user.role]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const updateAbilityFromSession = (currentSession?: Session | null) => {\n const { can, build, cannot } = new AbilityBuilder<Ability>(\n createMongoAbility,\n )\n const organizationRoleCapabilities =\n getOrganizationRoleCapabilities(currentSession)\n const userRoleCapabilities = getUserRoleCapabilities(currentSession)\n const capabilities = [\n ...organizationRoleCapabilities,\n ...userRoleCapabilities,\n ]\n capabilities.forEach((capability) => {\n const { action, subject, fields, condition, inverted } = capability\n if (inverted) {\n cannot(action, subject, fields, condition)\n return\n }\n can(action, subject, fields, condition)\n })\n ability.update(\n build({\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n }).rules,\n )\n}\n\nconst ac = createAccessControl(defaultStatements)\nconst adminRole = ac.newRole(adminAc.statements)\nconst ownerRole = ac.newRole(ownerAc.statements)\nconst memberRole = ac.newRole(memberAc.statements)\nconst userRole = ac.newRole(memberAc.statements)\n\nexport const betterAuthOrganizationSettings = {\n ac,\n roles: {\n owner: ownerRole,\n admin: adminRole,\n member: memberRole,\n user: userRole,\n },\n}\n\nexport * from './types'\nexport { subject } from '@casl/ability'\n","import { Audience } from 'ability'\nimport type { Chat, MessageFeedback, AgentPublic, MediaSource } from 'models'\nimport { addInitialSlash, removeTrailingSlash } from 'utils'\n\nexport interface ChatbotApiClientOptions {\n baseUrl: string\n basePath?: string\n headers?: () => Record<string, string> | undefined\n credentials?: RequestCredentials\n}\n\nexport interface SubmitFeedbackPayload {\n messageId: string\n chatId: string\n agentId: string\n vote?: 'upvote' | 'downvote'\n userQuestion: string\n assistantMessage: string\n comment?: string\n}\n\nexport interface SubmitLeadPayload {\n agentId: string\n chatId: string\n [key: string]: unknown\n}\n\nexport interface ChatbotApiClient {\n getConversations(\n agentId: string,\n userId: string | undefined,\n ): Promise<Chat[]>\n getChat(agentId: string, chatId: string): Promise<Chat | null>\n updateChatTitle(\n agentId: string,\n chatId: string,\n title: string,\n ): Promise<Chat>\n deleteChat(agentId: string, chatId: string): Promise<void>\n getMessageFeedbacks(chatId: string): Promise<MessageFeedback[]>\n submitMessageFeedback(\n payload: SubmitFeedbackPayload,\n ): Promise<MessageFeedback>\n submitLead(payload: SubmitLeadPayload): Promise<void>\n getAgent(orgSlug: string, agentId: string): Promise<AgentPublic>\n getMediaUrl(agentId: string, chatId: string, storedFileName: string): string\n appendAuthToken(url: string): string\n uploadMedia(\n agentId: string,\n chatId: string,\n file: File,\n ): Promise<MediaSource>\n getChatEndpoint(agentId: string, type?: 'chat' | 'reasoning'): string\n expandSourceContext(\n agentId: string,\n documentId: string,\n chunkIndex: number,\n windowSize?: number,\n ): Promise<{ content: string }>\n downloadSourceDocument(\n agentId: string,\n documentId: string,\n ): Promise<{ downloadUrl: string; filename: string; mimeType: string }>\n reverseGeocode(\n lat: number,\n lon: number,\n lang?: string,\n ): Promise<string | undefined>\n forwardGeocode(\n query: string,\n lang?: string,\n ): Promise<\n { latitude: number; longitude: number; displayName: string } | undefined\n >\n getOAuthAuthorizeUrl(\n agentId: string,\n serverName: string,\n ): Promise<{ mcpServerId: string; authorizeUrl: string }>\n}\n\nexport function createChatbotApiClient(\n options: ChatbotApiClientOptions,\n): ChatbotApiClient {\n const basePath = options.basePath\n ? addInitialSlash(options.basePath)\n : `/api/v1/${Audience.Public}`\n\n const baseUrl = `${removeTrailingSlash(options.baseUrl)}${basePath}`\n\n async function request<T>(\n url: string,\n init?: RequestInit,\n responseType: 'json' | 'void' = 'json',\n ): Promise<T> {\n const response = await fetch(`${baseUrl}${url}`, {\n credentials: options.credentials ?? 'include',\n ...init,\n headers: {\n ...options.headers?.(),\n ...init?.headers,\n },\n })\n\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n\n if (responseType === 'void' || response.status === 204) {\n return undefined as T\n }\n\n return response.json() as Promise<T>\n }\n\n return {\n async getConversations(agentId, userId) {\n const userFilter = userId\n ? `&filter[userId]=${encodeURIComponent(userId)}`\n : ''\n return request<Chat[]>(\n `/agents/${encodeURIComponent(agentId)}/chats?sort=-lastMessageAt&page[size]=100${userFilter}`,\n )\n },\n\n async getChat(agentId, chatId) {\n const result = await request<Chat | undefined>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n )\n return result ?? null\n },\n\n async updateChatTitle(agentId, chatId, title) {\n return request<Chat>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ title }),\n },\n )\n },\n\n async deleteChat(agentId, chatId) {\n await request<void>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n { method: 'DELETE' },\n 'void',\n )\n },\n\n async getMessageFeedbacks(chatId) {\n return request<MessageFeedback[]>(\n `/message-feedbacks?filter[chatId]=${encodeURIComponent(chatId)}&page[size]=200`,\n )\n },\n\n async submitMessageFeedback(payload) {\n return request<MessageFeedback>('/message-feedbacks', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n },\n\n async submitLead(payload) {\n await request<void>(\n '/leads',\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n },\n 'void',\n )\n },\n\n async getAgent(orgSlug, agentId) {\n return request<AgentPublic>(\n `/organizations/${encodeURIComponent(orgSlug)}/agents/${encodeURIComponent(agentId)}`,\n )\n },\n\n async uploadMedia(agentId, chatId, file) {\n const formData = new FormData()\n formData.append('file', file)\n const response = await fetch(\n `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/upload`,\n {\n method: 'POST',\n credentials: options.credentials ?? 'include',\n // Do NOT set Content-Type — browser sets multipart/form-data with boundary automatically\n headers: options.headers?.(),\n body: formData,\n },\n )\n if (!response.ok) {\n const text = await response.text().catch(() => '')\n let title = `Upload failed: ${response.status}`\n try {\n title =\n (JSON.parse(text) as { title?: string }).title ?? title\n } catch {\n // ignore parse errors\n }\n throw new Error(title)\n }\n return response.json() as Promise<MediaSource>\n },\n\n getChatEndpoint(agentId, type = 'chat') {\n const path = type === 'reasoning' ? 'reasoning-chat' : 'chat'\n return `${baseUrl}/agents/${encodeURIComponent(agentId)}/${path}`\n },\n\n appendAuthToken(url) {\n const bearer = options\n .headers?.()\n ?.[`Authorization`]?.slice('Bearer '.length)\n if (!bearer) {\n return url\n }\n const separator = url.includes('?') ? '&' : '?'\n return `${url}${separator}token=${encodeURIComponent(bearer)}`\n },\n\n getMediaUrl(agentId, chatId, storedFileName) {\n const base = `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/${encodeURIComponent(storedFileName)}/view`\n return this.appendAuthToken(base)\n },\n\n async expandSourceContext(\n agentId,\n documentId,\n chunkIndex,\n windowSize = 2,\n ) {\n return request<{ content: string }>(\n `/agents/${encodeURIComponent(agentId)}/sources/expand-context`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n documentId,\n chunkIndex,\n windowSize,\n }),\n },\n )\n },\n\n async downloadSourceDocument(agentId, documentId) {\n return request<{\n downloadUrl: string\n filename: string\n mimeType: string\n }>(\n `/agents/${encodeURIComponent(agentId)}/sources/documents/${encodeURIComponent(documentId)}/download`,\n )\n },\n\n async reverseGeocode(lat, lon, lang) {\n const params = new URLSearchParams({\n lat: String(lat),\n lon: String(lon),\n })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n const data = await request<{ displayName?: string }>(\n `/geocoder/reverse?${params}`,\n )\n return data.displayName\n } catch {\n return undefined\n }\n },\n\n async forwardGeocode(query, lang) {\n const params = new URLSearchParams({ q: query })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n return await request<{\n latitude: number\n longitude: number\n displayName: string\n }>(`/geocoder/forward?${params}`)\n } catch {\n return undefined\n }\n },\n\n async getOAuthAuthorizeUrl(agentId, serverName) {\n const params = new URLSearchParams({ serverName })\n return request<{ mcpServerId: string; authorizeUrl: string }>(\n `/agents/${encodeURIComponent(agentId)}/mcp-oauth/authorize?${params}`,\n )\n },\n }\n}\n"],"x_google_ignoreList":[1,2],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-B_3TGJwf.js","names":[],"sources":["../../../../node_modules/.pnpm/@lezer+go@1.0.1/node_modules/@lezer/go/dist/index.js","../../../../node_modules/.pnpm/@codemirror+lang-go@6.0.1/node_modules/@codemirror/lang-go/dist/index.js"],"sourcesContent":["import { ExternalTokenizer, ContextTracker, LRParser, LocalTokenGroup } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst insertedSemi = 177,\n space$1 = 179,\n identifier = 184,\n String = 12,\n closeParen$1 = 13,\n Number = 17,\n Rune = 20,\n closeBrace$1 = 25,\n closeBracket = 53,\n IncDecOp = 95,\n _return = 142,\n _break = 144,\n _continue = 145,\n fallthrough = 148;\n\nconst newline = 10, carriageReturn = 13, space = 32, tab = 9, slash = 47, closeParen = 41, closeBrace = 125;\n\nconst semicolon = new ExternalTokenizer((input, stack) => {\n for (let scan = 0, next = input.next;;) {\n if (stack.context && (next < 0 || next == newline || next == carriageReturn ||\n next == slash && input.peek(scan + 1) == slash) ||\n next == closeParen || next == closeBrace)\n input.acceptToken(insertedSemi);\n if (next != space && next != tab) break\n next = input.peek(++scan);\n }\n}, {contextual: true});\n\nlet trackedTokens = new Set([IncDecOp, identifier, Rune, String, Number,\n _break, _continue, _return, fallthrough,\n closeParen$1, closeBracket, closeBrace$1]);\n\nconst trackTokens = new ContextTracker({\n start: false,\n shift: (context, term) => term == space$1 ? context : trackedTokens.has(term)\n});\n\nconst goHighlighting = styleTags({\n \"func interface struct chan map const type var\": tags.definitionKeyword,\n \"import package\": tags.moduleKeyword,\n \"switch for go select return break continue goto fallthrough case if else defer\": tags.controlKeyword,\n \"range\": tags.keyword,\n Bool: tags.bool,\n String: tags.string,\n Rune: tags.character,\n Number: tags.number,\n Nil: tags.null,\n VariableName: tags.variableName,\n DefName: tags.definition(tags.variableName),\n TypeName: tags.typeName,\n LabelName: tags.labelName,\n FieldName: tags.propertyName,\n \"FunctionDecl/DefName\": tags.function(tags.definition(tags.variableName)),\n \"TypeSpec/DefName\": tags.definition(tags.typeName),\n \"CallExpr/VariableName\": tags.function(tags.variableName),\n LineComment: tags.lineComment,\n BlockComment: tags.blockComment,\n LogicOp: tags.logicOperator,\n ArithOp: tags.arithmeticOperator,\n BitOp: tags.bitwiseOperator,\n \"DerefOp .\": tags.derefOperator,\n \"UpdateOp IncDecOp\": tags.updateOperator,\n CompareOp: tags.compareOperator,\n \"= :=\": tags.definitionOperator,\n \"<-\": tags.operator,\n \"~ \\\"*\\\"\": tags.modifier,\n \"; ,\": tags.separator,\n \"... :\": tags.punctuation,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace,\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,package:10, import:18, true:380, false:380, nil:383, struct:48, func:68, interface:78, chan:94, map:118, make:157, new:159, const:204, type:212, var:224, if:236, else:238, switch:242, case:248, default:250, for:260, range:266, go:270, select:274, return:284, break:288, continue:290, goto:292, fallthrough:296, defer:300};\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh\",\n stateData: \"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~\",\n goto: \"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l\",\n nodeNames: \"⚠ LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl\",\n maxTerm: 218,\n context: trackTokens,\n nodeProps: [\n [\"isolate\", -3,2,12,20,\"\"],\n [\"group\", -18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,\"Expr\",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,\"Statement\",-12,23,31,33,38,46,49,50,51,52,56,57,58,\"Type\"],\n [\"openedBy\", 13,\"(\",25,\"{\",53,\"[\"],\n [\"closedBy\", 14,\")\",26,\"}\",54,\"]\"]\n ],\n propSources: [goHighlighting],\n skippedNodes: [0,1,2,153],\n repeatNodeCount: 23,\n tokenData: \":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~\",\n tokenizers: [semicolon, 1, 2, new LocalTokenGroup(\"j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~\", 25, 181)],\n topRules: {\"SourceFile\":[0,3]},\n dynamicPrecedences: {\"19\":1,\"51\":-1,\"55\":2,\"69\":-1,\"108\":-1},\n specialized: [{term: 184, get: (value) => spec_identifier[value] || -1}],\n tokenPrec: 5451\n});\n\nexport { parser };\n","import { parser } from '@lezer/go';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, flatIndent, delimitedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { snippetCompletion, ifNotIn, completeFromList } from '@codemirror/autocomplete';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\n/**\nA collection of Go-related [snippets](https://codemirror.net/6/docs/ref/#autocomplete.snippet).\n*/\nconst snippets = [\n /*@__PURE__*/snippetCompletion(\"func ${name}(${params}) ${type} {\\n\\t${}\\n}\", {\n label: \"func\",\n detail: \"declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"func (${receiver}) ${name}(${params}) ${type} {\\n\\t${}\\n}\", {\n label: \"func\",\n detail: \"method declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"var ${name} = ${value}\", {\n label: \"var\",\n detail: \"declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"type ${name} ${type}\", {\n label: \"type\",\n detail: \"declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"const ${name} = ${value}\", {\n label: \"const\",\n detail: \"declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"type ${name} = ${type}\", {\n label: \"type\",\n detail: \"alias declaration\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for ${init}; ${test}; ${update} {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for ${i} := range ${value} {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"range\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"select {\\n\\t${}\\n}\", {\n label: \"select\",\n detail: \"statement\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"case ${}:\\n${}\", {\n label: \"case\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"switch ${} {\\n\\t${}\\n}\", {\n label: \"switch\",\n detail: \"statement\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"switch ${}.(${type}) {\\n\\t${}\\n}\", {\n label: \"switch\",\n detail: \"type statement\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if ${} {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if ${} {\\n\\t${}\\n} else {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"/ else block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"import ${name} \\\"${module}\\\"\\n${}\", {\n label: \"import\",\n detail: \"declaration\",\n type: \"keyword\"\n }),\n];\n\nconst cache = /*@__PURE__*/new NodeWeakMap();\nconst ScopeNodes = /*@__PURE__*/new Set([\n \"SourceFile\", \"Block\",\n \"FunctionDecl\", \"MethodDecl\", \"FunctionLiteral\",\n \"ForStatement\", \"SwitchStatement\", \"TypeSwitchStatement\", \"IfStatement\",\n]);\nfunction defIDs(type, spec) {\n return (node, def) => {\n outer: for (let cur = node.node.firstChild, depth = 0, parent = null;;) {\n while (!cur) {\n if (!depth)\n break outer;\n depth--;\n cur = parent.nextSibling;\n parent = parent.parent;\n }\n if (spec && cur.name == spec || cur.name == \"SpecList\") {\n depth++;\n parent = cur;\n cur = cur.firstChild;\n }\n else {\n if (cur.name == \"DefName\")\n def(cur, type);\n cur = cur.nextSibling;\n }\n }\n return true;\n };\n}\nconst gatherCompletions = {\n FunctionDecl: /*@__PURE__*/defIDs(\"function\"),\n VarDecl: /*@__PURE__*/defIDs(\"var\", \"VarSpec\"),\n ConstDecl: /*@__PURE__*/defIDs(\"constant\", \"ConstSpec\"),\n TypeDecl: /*@__PURE__*/defIDs(\"type\", \"TypeSpec\"),\n ImportDecl: /*@__PURE__*/defIDs(\"constant\", \"ImportSpec\"),\n Parameter: /*@__PURE__*/defIDs(\"var\"),\n __proto__: null\n};\nfunction getScope(doc, node) {\n let cached = cache.get(node);\n if (cached)\n return cached;\n let completions = [], top = true;\n function def(node, type) {\n let name = doc.sliceString(node.from, node.to);\n completions.push({ label: name, type });\n }\n node.cursor(IterMode.IncludeAnonymous).iterate(node => {\n if (top) {\n top = false;\n }\n else if (node.name) {\n let gather = gatherCompletions[node.name];\n if (gather && gather(node, def) || ScopeNodes.has(node.name))\n return false;\n }\n else if (node.to - node.from > 8192) {\n // Allow caching for bigger internal nodes\n for (let c of getScope(doc, node.node))\n completions.push(c);\n return false;\n }\n });\n cache.set(node, completions);\n return completions;\n}\nconst Identifier = /^[\\w$\\xa1-\\uffff][\\w$\\d\\xa1-\\uffff]*$/;\nconst dontComplete = [\n \"String\", \"LineComment\", \"BlockComment\",\n \"DefName\", \"LabelName\", \"FieldName\",\n \".\", \"?.\"\n];\n/**\nCompletion source that looks up locally defined names in Go code.\n*/\nconst localCompletionSource = context => {\n let inner = syntaxTree(context.state).resolveInner(context.pos, -1);\n if (dontComplete.indexOf(inner.name) > -1)\n return null;\n let isWord = inner.name == \"VariableName\" ||\n inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));\n if (!isWord && !context.explicit)\n return null;\n let options = [];\n for (let pos = inner; pos; pos = pos.parent) {\n if (ScopeNodes.has(pos.name))\n options = options.concat(getScope(context.state.doc, pos));\n }\n return {\n options,\n from: isWord ? inner.from : context.pos,\n validFor: Identifier\n };\n};\n\n/**\nA language provider based on the [Lezer Go\nparser](https://github.com/lezer-parser/go), extended with\nfolding and indentation information.\n*/\nconst goLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"go\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n IfStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|else\\b)/ }),\n LabeledStatement: flatIndent,\n \"SwitchBlock SelectBlock\": context => {\n let after = context.textAfter, closed = /^\\s*\\}/.test(after), isCase = /^\\s*(case|default)\\b/.test(after);\n return context.baseIndent + (closed || isCase ? 0 : context.unit);\n },\n Block: /*@__PURE__*/delimitedIndent({ closing: \"}\" }),\n BlockComment: () => null,\n Statement: /*@__PURE__*/continuedIndent({ except: /^{/ }),\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList\": foldInside,\n BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }\n })\n ]\n }),\n languageData: {\n closeBrackets: { brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"] },\n commentTokens: { line: \"//\", block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*(?:case\\b|default\\b|\\})$/\n }\n});\nlet kwCompletion = (name) => ({ label: name, type: \"keyword\" });\nconst keywords = /*@__PURE__*/\"interface struct chan map package go return break continue goto fallthrough else defer range true false nil\".split(\" \").map(kwCompletion);\n/**\nGo support. Includes [snippet](https://codemirror.net/6/docs/ref/#lang-go.snippets) and local\nvariable completion.\n*/\nfunction go() {\n let completions = snippets.concat(keywords);\n return new LanguageSupport(goLanguage, [\n goLanguage.data.of({\n autocomplete: ifNotIn(dontComplete, completeFromList(completions))\n }),\n goLanguage.data.of({\n autocomplete: localCompletionSource\n })\n ]);\n}\n\nexport { go, goLanguage, localCompletionSource, snippets };\n"],"x_google_ignoreList":[0,1],"mappings":"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"}