@8wave/ai-elements 0.73.0 → 0.75.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 (220) hide show
  1. package/README.md +62 -15
  2. package/dist/_chunks/{PkStreamingMarkdown-orhL2kzD.js → PkStreamingMarkdown-rIdQh5_D.js} +20 -20
  3. package/dist/_chunks/PkStreamingMarkdown-rIdQh5_D.js.map +1 -0
  4. package/dist/_chunks/{PkToolShowArtifact-D-dU41VG.js → PkToolShowArtifact-CeLgwZBA.js} +6 -6
  5. package/dist/_chunks/{PkToolShowArtifact-D-dU41VG.js.map → PkToolShowArtifact-CeLgwZBA.js.map} +1 -1
  6. package/dist/_chunks/{PkToolShowCalendarEvent-B33fWbkk.js → PkToolShowCalendarEvent-cQpAAE3a.js} +10 -10
  7. package/dist/_chunks/{PkToolShowCalendarEvent-B33fWbkk.js.map → PkToolShowCalendarEvent-cQpAAE3a.js.map} +1 -1
  8. package/dist/_chunks/{PkToolShowComparison-CcKHsr36.js → PkToolShowComparison-Cu-zT8-Z.js} +6 -6
  9. package/dist/_chunks/{PkToolShowComparison-CcKHsr36.js.map → PkToolShowComparison-Cu-zT8-Z.js.map} +1 -1
  10. package/dist/_chunks/PkToolShowContactForm-CqoSVvjG.js +1658 -0
  11. package/dist/_chunks/PkToolShowContactForm-CqoSVvjG.js.map +1 -0
  12. package/dist/_chunks/{PkToolShowEmail-BOivL2p_.js → PkToolShowEmail-oLGym0R9.js} +10 -10
  13. package/dist/_chunks/{PkToolShowEmail-BOivL2p_.js.map → PkToolShowEmail-oLGym0R9.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowImageGallery-Dy0vFEU-.js → PkToolShowImageGallery-CDXSL1Mg.js} +2 -2
  15. package/dist/_chunks/{PkToolShowImageGallery-Dy0vFEU-.js.map → PkToolShowImageGallery-CDXSL1Mg.js.map} +1 -1
  16. package/dist/_chunks/{PkToolShowLocation-US6u26ra.js → PkToolShowLocation-BtRUdoEw.js} +7 -7
  17. package/dist/_chunks/{PkToolShowLocation-US6u26ra.js.map → PkToolShowLocation-BtRUdoEw.js.map} +1 -1
  18. package/dist/_chunks/{PkToolShowMessage-Cjslxq94.js → PkToolShowMessage-tJQGRhce.js} +9 -9
  19. package/dist/_chunks/{PkToolShowMessage-Cjslxq94.js.map → PkToolShowMessage-tJQGRhce.js.map} +1 -1
  20. package/dist/_chunks/{PkToolShowMultipleChoice-BEwiJCLu.js → PkToolShowMultipleChoice-CtVvdyDg.js} +3 -3
  21. package/dist/_chunks/{PkToolShowMultipleChoice-BEwiJCLu.js.map → PkToolShowMultipleChoice-CtVvdyDg.js.map} +1 -1
  22. package/dist/_chunks/{PkToolShowProductList-D3Qe8yQM.js → PkToolShowProductList-D_k6CDdb.js} +2 -2
  23. package/dist/_chunks/{PkToolShowProductList-D3Qe8yQM.js.map → PkToolShowProductList-D_k6CDdb.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowQrCode-B64sdI0N.js → PkToolShowQrCode-S1j_T8wQ.js} +6 -6
  25. package/dist/_chunks/{PkToolShowQrCode-B64sdI0N.js.map → PkToolShowQrCode-S1j_T8wQ.js.map} +1 -1
  26. package/dist/_chunks/{PkToolShowSources-B2rf94fU.js → PkToolShowSources-CroItMtG.js} +6 -5
  27. package/dist/_chunks/PkToolShowSources-CroItMtG.js.map +1 -0
  28. package/dist/_chunks/{PkToolShowSuggestedReply-BGWA08C7.js → PkToolShowSuggestedReply-BRa5Lpti.js} +2 -2
  29. package/dist/_chunks/{PkToolShowSuggestedReply-BGWA08C7.js.map → PkToolShowSuggestedReply-BRa5Lpti.js.map} +1 -1
  30. package/dist/_chunks/{PkToolShowWeather-ClMzD04y.js → PkToolShowWeather-CUpCJ8Nj.js} +3 -3
  31. package/dist/_chunks/{PkToolShowWeather-ClMzD04y.js.map → PkToolShowWeather-CUpCJ8Nj.js.map} +1 -1
  32. package/dist/_chunks/{PkToolShowWebPages-BCqywwEK.js → PkToolShowWebPages-f-dHyxfD.js} +2 -2
  33. package/dist/_chunks/{PkToolShowWebPages-BCqywwEK.js.map → PkToolShowWebPages-f-dHyxfD.js.map} +1 -1
  34. package/dist/_chunks/{VvCheckbox.es-kmMsWlkU.js → VvCheckbox.es-BF8Mdg0O.js} +2 -2
  35. package/dist/_chunks/{VvCheckbox.es-kmMsWlkU.js.map → VvCheckbox.es-BF8Mdg0O.js.map} +1 -1
  36. package/dist/_chunks/{VvCheckboxGroup.es-BRRmuO9h.js → VvCheckboxGroup.es-BJc8MmJ3.js} +109 -109
  37. package/dist/_chunks/{VvCheckboxGroup.es-BRRmuO9h.js.map → VvCheckboxGroup.es-BJc8MmJ3.js.map} +1 -1
  38. package/dist/_chunks/{VvCombobox.es-pTM53Z4B.js → VvCombobox.es-ILRHqAye.js} +256 -256
  39. package/dist/_chunks/{VvCombobox.es-pTM53Z4B.js.map → VvCombobox.es-ILRHqAye.js.map} +1 -1
  40. package/dist/_chunks/{VvInputText.es-DO39OSWk.js → VvInputText.es-CDnMeO26.js} +190 -190
  41. package/dist/_chunks/{VvInputText.es-DO39OSWk.js.map → VvInputText.es-CDnMeO26.js.map} +1 -1
  42. package/dist/_chunks/{VvRadio.es-BpQAJbon.js → VvRadio.es-C2p5vvAx.js} +2 -2
  43. package/dist/_chunks/{VvRadio.es-BpQAJbon.js.map → VvRadio.es-C2p5vvAx.js.map} +1 -1
  44. package/dist/_chunks/{VvRadioGroup.es-BSBrmx9w.js → VvRadioGroup.es-6GlWuDjY.js} +10 -10
  45. package/dist/_chunks/{VvRadioGroup.es-BSBrmx9w.js.map → VvRadioGroup.es-6GlWuDjY.js.map} +1 -1
  46. package/dist/_chunks/{VvSelect.es-DALpUK5j.js → VvSelect.es-i4lO9onq.js} +6 -6
  47. package/dist/_chunks/{VvSelect.es-DALpUK5j.js.map → VvSelect.es-i4lO9onq.js.map} +1 -1
  48. package/dist/_chunks/{VvTextarea.es-C9dwYLOG.js → VvTextarea.es-CGpiCS4S.js} +248 -248
  49. package/dist/_chunks/{VvTextarea.es-C9dwYLOG.js.map → VvTextarea.es-CGpiCS4S.js.map} +1 -1
  50. package/dist/_chunks/{dist-DtF6poRc.js → dist-BTnzL-m0.js} +131 -119
  51. package/dist/_chunks/dist-BTnzL-m0.js.map +1 -0
  52. package/dist/_chunks/{index.es-Z3Hu-QIb.js → index.es-CUjDCkXD.js} +2428 -1558
  53. package/dist/_chunks/{index.es-Z3Hu-QIb.js.map → index.es-CUjDCkXD.js.map} +1 -1
  54. package/dist/_chunks/{schemas-Bp3a8tYV.js → schemas-aPiXCaCc.js} +1309 -945
  55. package/dist/_chunks/schemas-aPiXCaCc.js.map +1 -0
  56. package/dist/ai-elements.es.js +4746 -3352
  57. package/dist/ai-elements.es.js.map +1 -1
  58. package/dist-vue/PkChatbot.js +1 -1
  59. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  60. package/dist-vue/PkChatbotFilePreview.js +1 -1
  61. package/dist-vue/PkChatbotInput.js +1 -1
  62. package/dist-vue/PkChatbotMessages.js +1 -1
  63. package/dist-vue/PkChatbotViewChat.js +1 -1
  64. package/dist-vue/PkChatbotViewConversations.js +1 -1
  65. package/dist-vue/PkChatbotViewProfile.js +1 -1
  66. package/dist-vue/_chunks/{Media-Bic_vfSX.js → Media-CXQSoKqt.js} +3 -3
  67. package/dist-vue/_chunks/{Media-Bic_vfSX.js.map → Media-CXQSoKqt.js.map} +1 -1
  68. package/dist-vue/_chunks/PkChatbot-DAzGc7al.js +190 -0
  69. package/dist-vue/_chunks/{PkChatbot-D5_ytfqS.js.map → PkChatbot-DAzGc7al.js.map} +1 -1
  70. package/dist-vue/_chunks/{PkChatbotFeedbackForm-CUnS-WyR.js → PkChatbotFeedbackForm-DvUzirPP.js} +3 -3
  71. package/dist-vue/_chunks/{PkChatbotFeedbackForm-CUnS-WyR.js.map → PkChatbotFeedbackForm-DvUzirPP.js.map} +1 -1
  72. package/dist-vue/_chunks/{PkChatbotFilePreview-JSpi3pmN.js → PkChatbotFilePreview-DHzuGtz5.js} +2 -2
  73. package/dist-vue/_chunks/{PkChatbotFilePreview-JSpi3pmN.js.map → PkChatbotFilePreview-DHzuGtz5.js.map} +1 -1
  74. package/dist-vue/_chunks/{PkChatbotInput-ODPhsqZt.js → PkChatbotInput-C5QSmt21.js} +3 -3
  75. package/dist-vue/_chunks/{PkChatbotInput-ODPhsqZt.js.map → PkChatbotInput-C5QSmt21.js.map} +1 -1
  76. package/dist-vue/_chunks/{PkChatbotMessages-CMLqkhmb.js → PkChatbotMessages-dsjB0-26.js} +16 -16
  77. package/dist-vue/_chunks/PkChatbotMessages-dsjB0-26.js.map +1 -0
  78. package/dist-vue/_chunks/{PkChatbotViewChat-wLCypxNG.js → PkChatbotViewChat-CjoezIyz.js} +9 -9
  79. package/dist-vue/_chunks/{PkChatbotViewChat-wLCypxNG.js.map → PkChatbotViewChat-CjoezIyz.js.map} +1 -1
  80. package/dist-vue/_chunks/PkChatbotViewConversations-DSQu6vY1.js +163 -0
  81. package/dist-vue/_chunks/PkChatbotViewConversations-DSQu6vY1.js.map +1 -0
  82. package/dist-vue/_chunks/{PkChatbotViewProfile-CXmmVXrD.js → PkChatbotViewProfile-BJJiaG9H.js} +2 -2
  83. package/dist-vue/_chunks/{PkChatbotViewProfile-CXmmVXrD.js.map → PkChatbotViewProfile-BJJiaG9H.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js → PkRelativeTime-WZ2aPcp_.js} +1 -1
  85. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js.map → PkRelativeTime-WZ2aPcp_.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkStreamingMarkdown-CtiMH6FD.js → PkStreamingMarkdown-BAhC3uGK.js} +20 -20
  87. package/dist-vue/_chunks/PkStreamingMarkdown-BAhC3uGK.js.map +1 -0
  88. package/dist-vue/_chunks/{PkToolShowArtifact-C2DgB_1z.js → PkToolShowArtifact-RzrDPcEQ.js} +2 -2
  89. package/dist-vue/_chunks/{PkToolShowArtifact-C2DgB_1z.js.map → PkToolShowArtifact-RzrDPcEQ.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkToolShowContactForm-BzzbXuhh.js → PkToolShowContactForm-r_GgO-ZX.js} +4 -4
  91. package/dist-vue/_chunks/{PkToolShowContactForm-BzzbXuhh.js.map → PkToolShowContactForm-r_GgO-ZX.js.map} +1 -1
  92. package/dist-vue/_chunks/{PkToolShowImageGallery-DQXrJYop.js → PkToolShowImageGallery-B7Bt6ZGv.js} +2 -2
  93. package/dist-vue/_chunks/{PkToolShowImageGallery-DQXrJYop.js.map → PkToolShowImageGallery-B7Bt6ZGv.js.map} +1 -1
  94. package/dist-vue/_chunks/{PkToolShowLocation-McDIqI8y.js → PkToolShowLocation-DteWf0Cs.js} +1 -1
  95. package/dist-vue/_chunks/{PkToolShowLocation-McDIqI8y.js.map → PkToolShowLocation-DteWf0Cs.js.map} +1 -1
  96. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DW3m6VbJ.js → PkToolShowMultipleChoice-DZXfWtQp.js} +1 -1
  97. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DW3m6VbJ.js.map → PkToolShowMultipleChoice-DZXfWtQp.js.map} +1 -1
  98. package/dist-vue/_chunks/{PkToolShowProductList-BDSJs7bn.js → PkToolShowProductList-CtqWK0x4.js} +2 -2
  99. package/dist-vue/_chunks/{PkToolShowProductList-BDSJs7bn.js.map → PkToolShowProductList-CtqWK0x4.js.map} +1 -1
  100. package/dist-vue/_chunks/{PkToolShowSources-D5cBZxwQ.js → PkToolShowSources-DK2DCvU3.js} +6 -5
  101. package/dist-vue/_chunks/PkToolShowSources-DK2DCvU3.js.map +1 -0
  102. package/dist-vue/_chunks/{PkToolShowSuggestedReply-Dm3BTWYg.js → PkToolShowSuggestedReply-30m9yWDL.js} +1 -1
  103. package/dist-vue/_chunks/{PkToolShowSuggestedReply-Dm3BTWYg.js.map → PkToolShowSuggestedReply-30m9yWDL.js.map} +1 -1
  104. package/dist-vue/_chunks/{PkToolShowWebPages-DnYVhLVU.js → PkToolShowWebPages-DZIdrdWs.js} +2 -2
  105. package/dist-vue/_chunks/{PkToolShowWebPages-DnYVhLVU.js.map → PkToolShowWebPages-DZIdrdWs.js.map} +1 -1
  106. package/dist-vue/_chunks/{PkUrl-CH4pWBR8.js → PkUrl-CGbSBfuP.js} +1 -1
  107. package/dist-vue/_chunks/{PkUrl-CH4pWBR8.js.map → PkUrl-CGbSBfuP.js.map} +1 -1
  108. package/dist-vue/_chunks/{ZodError-Ca0wCsGp.js → ZodError-C_est8SY.js} +2 -2
  109. package/dist-vue/_chunks/{ZodError-Ca0wCsGp.js.map → ZodError-C_est8SY.js.map} +1 -1
  110. package/dist-vue/_chunks/{createChatbotApiClient-2ynLWELM.js → createChatbotApiClient-f86KwRcq.js} +141 -119
  111. package/dist-vue/_chunks/createChatbotApiClient-f86KwRcq.js.map +1 -0
  112. package/dist-vue/_chunks/{dist-Bs6dYy7x.js → dist-21vPGg1O.js} +3 -3
  113. package/dist-vue/_chunks/{dist-Bs6dYy7x.js.map → dist-21vPGg1O.js.map} +1 -1
  114. package/dist-vue/_chunks/{dist-Bb1zRSg4.js → dist-BGXTbYew2.js} +4 -4
  115. package/dist-vue/_chunks/dist-BGXTbYew2.js.map +1 -0
  116. package/dist-vue/_chunks/{dist-BrlD3co0.js → dist-BL9cumqH.js} +2 -2
  117. package/dist-vue/_chunks/{dist-BrlD3co0.js.map → dist-BL9cumqH.js.map} +1 -1
  118. package/dist-vue/_chunks/{dist-B9Pw4_a5.js → dist-BU-VgsYM.js} +3 -3
  119. package/dist-vue/_chunks/{dist-B9Pw4_a5.js.map → dist-BU-VgsYM.js.map} +1 -1
  120. package/dist-vue/_chunks/{dist-D-tjAaHK.js → dist-BU5m1pTR.js} +3 -3
  121. package/dist-vue/_chunks/{dist-D-tjAaHK.js.map → dist-BU5m1pTR.js.map} +1 -1
  122. package/dist-vue/_chunks/{dist-Dn0cKZ5Q.js → dist-BbP2I_Or.js} +2 -2
  123. package/dist-vue/_chunks/{dist-Dn0cKZ5Q.js.map → dist-BbP2I_Or.js.map} +1 -1
  124. package/dist-vue/_chunks/{dist-Cvsv0YEw.js → dist-BvmTki6w.js} +3 -3
  125. package/dist-vue/_chunks/{dist-Cvsv0YEw.js.map → dist-BvmTki6w.js.map} +1 -1
  126. package/dist-vue/_chunks/{dist-QzbLuLIV.js → dist-C3dPzENq.js} +3 -3
  127. package/dist-vue/_chunks/{dist-QzbLuLIV.js.map → dist-C3dPzENq.js.map} +1 -1
  128. package/dist-vue/_chunks/{dist-BMWOJZqC.js → dist-C6AWJq9a.js} +2 -2
  129. package/dist-vue/_chunks/{dist-BMWOJZqC.js.map → dist-C6AWJq9a.js.map} +1 -1
  130. package/dist-vue/_chunks/{dist-BQCdUoYc.js → dist-CGNGkvWf.js} +4 -4
  131. package/dist-vue/_chunks/{dist-BQCdUoYc.js.map → dist-CGNGkvWf.js.map} +1 -1
  132. package/dist-vue/_chunks/{dist-JOgG1zY3.js → dist-CIN_Avbm.js} +1 -1
  133. package/dist-vue/_chunks/{dist-JOgG1zY3.js.map → dist-CIN_Avbm.js.map} +1 -1
  134. package/dist-vue/_chunks/{dist-NKG-Bt-Q.js → dist-CePpgudw.js} +3 -3
  135. package/dist-vue/_chunks/{dist-NKG-Bt-Q.js.map → dist-CePpgudw.js.map} +1 -1
  136. package/dist-vue/_chunks/{dist-C13mHkC-.js → dist-CtMo7ig_.js} +2 -2
  137. package/dist-vue/_chunks/{dist-C13mHkC-.js.map → dist-CtMo7ig_.js.map} +1 -1
  138. package/dist-vue/_chunks/{dist-DucfoJQX.js → dist-CwG072cD.js} +3 -3
  139. package/dist-vue/_chunks/{dist-DucfoJQX.js.map → dist-CwG072cD.js.map} +1 -1
  140. package/dist-vue/_chunks/{dist-_4yQQX_L.js → dist-DFvVVU0-.js} +2 -2
  141. package/dist-vue/_chunks/{dist-_4yQQX_L.js.map → dist-DFvVVU0-.js.map} +1 -1
  142. package/dist-vue/_chunks/{dist-C_tRbeXQ.js → dist-DGz57kzK.js} +2 -2
  143. package/dist-vue/_chunks/{dist-C_tRbeXQ.js.map → dist-DGz57kzK.js.map} +1 -1
  144. package/dist-vue/_chunks/{dist-C2tC3pDh.js → dist-DT30Xa-D.js} +2 -2
  145. package/dist-vue/_chunks/{dist-C2tC3pDh.js.map → dist-DT30Xa-D.js.map} +1 -1
  146. package/dist-vue/_chunks/{dist-DNn7FqmI.js → dist-DoRhRpjL.js} +2 -2
  147. package/dist-vue/_chunks/{dist-DNn7FqmI.js.map → dist-DoRhRpjL.js.map} +1 -1
  148. package/dist-vue/_chunks/{dist-CQmgfFIN.js → dist-GnhLE5-A.js} +4 -4
  149. package/dist-vue/_chunks/{dist-CQmgfFIN.js.map → dist-GnhLE5-A.js.map} +1 -1
  150. package/dist-vue/_chunks/{dist-1ToEz3Zq.js → dist-QzWOn2Kx.js} +3 -3
  151. package/dist-vue/_chunks/{dist-1ToEz3Zq.js.map → dist-QzWOn2Kx.js.map} +1 -1
  152. package/dist-vue/_chunks/{dist-e9UFeG14.js → dist-uYEYs0EJ.js} +2 -2
  153. package/dist-vue/_chunks/{dist-e9UFeG14.js.map → dist-uYEYs0EJ.js.map} +1 -1
  154. package/dist-vue/_chunks/{dist-BpT8aqtS.js → dist-ukeBjdwq.js} +4 -4
  155. package/dist-vue/_chunks/{dist-BpT8aqtS.js.map → dist-ukeBjdwq.js.map} +1 -1
  156. package/dist-vue/_chunks/{dist-BHTSdHeX.js → dist-wLB8N32T.js} +3 -3
  157. package/dist-vue/_chunks/{dist-BHTSdHeX.js.map → dist-wLB8N32T.js.map} +1 -1
  158. package/dist-vue/_chunks/{index.es-BnOT0fHY.js → index.es-_14zrNZB.js} +4 -4
  159. package/dist-vue/_chunks/{index.es-BnOT0fHY.js.map → index.es-_14zrNZB.js.map} +1 -1
  160. package/dist-vue/_chunks/{schemas-sa2dDEGb.js → schemas-Clx4oKCB.js} +1309 -945
  161. package/dist-vue/_chunks/schemas-Clx4oKCB.js.map +1 -0
  162. package/dist-vue/_chunks/{useChatbotStore-Im8Xjwte.js → useChatbotStore-CJlkoNn7.js} +756 -679
  163. package/dist-vue/_chunks/useChatbotStore-CJlkoNn7.js.map +1 -0
  164. package/dist-vue/_chunks/{useLightbox-BiZUwsmB.js → useLightbox-1sB7fmFb.js} +1 -1
  165. package/dist-vue/_chunks/{useLightbox-BiZUwsmB.js.map → useLightbox-1sB7fmFb.js.map} +1 -1
  166. package/dist-vue/_chunks/{utils-DO7emdsn.js → utils-BegUBK7s.js} +1 -1
  167. package/dist-vue/_chunks/{utils-DO7emdsn.js.map → utils-BegUBK7s.js.map} +1 -1
  168. package/dist-vue/api.js +1 -1
  169. package/dist-vue/apps/web-component/src/composables/useChatbotAgent.d.ts +9 -7
  170. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +8 -8
  171. package/dist-vue/apps/web-component/src/lib.d.ts +29 -0
  172. package/dist-vue/apps/web-component/src/main.d.ts +0 -0
  173. package/dist-vue/apps/web-component/src/modules/applicationInsights.d.ts +38 -0
  174. package/dist-vue/composables.js +3 -3
  175. package/dist-vue/index.js +3680 -3664
  176. package/dist-vue/index.js.map +1 -1
  177. package/dist-vue/locales.js +56 -20
  178. package/dist-vue/packages/auth/src/add-member-to-organization.d.ts +5 -0
  179. package/dist-vue/packages/auth/src/anonymous-reauth-plugin.d.ts +11 -0
  180. package/dist-vue/packages/auth/src/external-auth-plugin.d.ts +2 -0
  181. package/dist-vue/packages/auth/src/index.d.ts +3477 -8
  182. package/dist-vue/packages/auth/src/media-helpers.d.ts +13 -0
  183. package/dist-vue/packages/auth/src/organization-auto-join.d.ts +1 -0
  184. package/dist-vue/packages/components/src/PkEditorMarkdown.d.ts +1 -1
  185. package/dist-vue/packages/components/src/PkEditorPrompt.d.ts +2 -0
  186. package/dist-vue/packages/components/src/PkEditorRepeater.d.ts +2 -2
  187. package/dist-vue/packages/components/src/PkEditorWyswyg.d.ts +1 -1
  188. package/dist-vue/packages/components/src/PkFieldset.d.ts +3 -3
  189. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +6 -3
  190. package/dist-vue/packages/components/src/chat/PkEditorChannels.d.ts +16 -0
  191. package/dist-vue/packages/components/src/composables/index.d.ts +3 -0
  192. package/dist-vue/packages/components/src/composables/useChatbotError.d.ts +11 -11
  193. package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +2 -0
  194. package/dist-vue/packages/composable/src/constants.d.ts +5 -0
  195. package/dist-vue/packages/composable/src/useDialog.d.ts +3 -3
  196. package/dist-vue/packages/composable/src/useSettingsStore.d.ts +4 -5
  197. package/dist-vue/packages/models/src/schema/Agent.d.ts +37 -27
  198. package/dist-vue/packages/models/src/schema/Chat.d.ts +6 -0
  199. package/dist-vue/packages/models/src/schema/Document.d.ts +2 -0
  200. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +8 -6
  201. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +13 -11
  202. package/dist-vue/style.css +1 -1
  203. package/package.json +3 -3
  204. package/dist/_chunks/PkStreamingMarkdown-orhL2kzD.js.map +0 -1
  205. package/dist/_chunks/PkToolShowContactForm-SmOSbCsp.js +0 -1103
  206. package/dist/_chunks/PkToolShowContactForm-SmOSbCsp.js.map +0 -1
  207. package/dist/_chunks/PkToolShowSources-B2rf94fU.js.map +0 -1
  208. package/dist/_chunks/dist-DtF6poRc.js.map +0 -1
  209. package/dist/_chunks/schemas-Bp3a8tYV.js.map +0 -1
  210. package/dist-vue/_chunks/PkChatbot-D5_ytfqS.js +0 -190
  211. package/dist-vue/_chunks/PkChatbotMessages-CMLqkhmb.js.map +0 -1
  212. package/dist-vue/_chunks/PkChatbotViewConversations-B5qBiqo4.js +0 -40
  213. package/dist-vue/_chunks/PkChatbotViewConversations-B5qBiqo4.js.map +0 -1
  214. package/dist-vue/_chunks/PkStreamingMarkdown-CtiMH6FD.js.map +0 -1
  215. package/dist-vue/_chunks/PkToolShowSources-D5cBZxwQ.js.map +0 -1
  216. package/dist-vue/_chunks/createChatbotApiClient-2ynLWELM.js.map +0 -1
  217. package/dist-vue/_chunks/dist-Bb1zRSg4.js.map +0 -1
  218. package/dist-vue/_chunks/schemas-sa2dDEGb.js.map +0 -1
  219. package/dist-vue/_chunks/useChatbotStore-Im8Xjwte.js.map +0 -1
  220. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createChatbotApiClient-f86KwRcq.js","names":["c","l","u","d","f","s","n","e","t","i","r"],"sources":["../../../../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/models/src/schema/Agent.ts","../../../../packages/ability/src/roles/User.ts","../../../../packages/ability/src/index.ts","../../../../packages/composable/src/chatbot/api/createChatbotApiClient.ts"],"sourcesContent":["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}\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 * 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-agnostic reasoning configuration.\n *\n * Maps to provider-specific options:\n * - OpenAI (GPT-5, o-series): `reasoningEffort` + `reasoningSummary`\n * - Anthropic Claude 4.6: thinking via `thinking: { type: 'enabled' }`\n * - Google Gemini 3/3.1: `thinkingConfig.thinkingLevel`\n */\nexport const AgentReasoningSchema = z\n .object({\n /**\n * Reasoning effort level:\n * - `off` → disables reasoning (where supported)\n * - `low` → minimal thinking, fast and cheap\n * - `medium` → balanced reasoning (recommended default)\n * - `high` → deep reasoning, slower and more expensive\n */\n effort: z.enum(['off', 'low', 'medium', 'high']).optional(),\n /**\n * OpenAI only: format of the reasoning summary returned in the response.\n */\n reasoningSummary: z.enum(['auto', 'detailed', 'concise']).optional(),\n })\n .optional()\n\nexport type AgentReasoning = z.infer<typeof AgentReasoningSchema>\n\nexport enum AgentBuiltInTool {\n SearchInKnowledgeBase = 'searchInKnowledgeBase',\n ShowSources = 'showSources',\n RetrieveRevisedAnswers = 'retrieveRevisedAnswers',\n ShowMultipleChoice = 'showMultipleChoice',\n ShowArtifact = 'showArtifact',\n ShowEmail = 'showEmail',\n ShowMessage = 'showMessage',\n ShowWebPages = 'showWebPages',\n ShowProductList = 'showProductList',\n ShowContactForm = 'showContactForm',\n ShowCalendarEvent = 'showCalendarEvent',\n ShowComparison = 'showComparison',\n ShowLocation = 'showLocation',\n ShowQrCode = 'showQrCode',\n ShowImageGallery = 'showImageGallery',\n ShowSuggestedReply = 'showSuggestedReply',\n RequestGeolocation = 'requestGeolocation',\n GetWeather = 'getWeather',\n ShowWeather = 'showWeather',\n Geocode = 'geocode',\n ReadDocumentFile = 'readDocumentFile',\n}\n\nexport const AgentToolsSchema = z.object({\n disabled: z.array(z.enum(AgentBuiltInTool)).default([]),\n})\nexport type AgentTools = z.infer<typeof AgentToolsSchema>\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 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(20)\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 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})\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.default({ disabled: [] }),\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.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","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 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}\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}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { A as e, C as t, M as n, N as r, V as i, W as a, g as o, lt as s, n as c, r as l, s as u, u as d, y as f } from "./dist-JOgG1zY3.js";
2
- import { n as p } from "./dist-BpT8aqtS.js";
1
+ import { A as e, C as t, M as n, N as r, V as i, W as a, g as o, lt as s, n as c, r as l, s as u, u as d, y as f } from "./dist-CIN_Avbm.js";
2
+ import { n as p } from "./dist-ukeBjdwq.js";
3
3
  //#region ../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.js
4
4
  var m = 1, h = 2, g = 3, _ = 180, v = 4, y = 181, b = 5, x = 182, S = 6;
5
5
  function C(e) {
@@ -368,4 +368,4 @@ function q(e = {}) {
368
368
  //#endregion
369
369
  export { q as liquid };
370
370
 
371
- //# sourceMappingURL=dist-Bs6dYy7x.js.map
371
+ //# sourceMappingURL=dist-21vPGg1O.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-Bs6dYy7x.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.js"],"sourcesContent":["import { syntaxTree, LRLanguage, indentNodeProp, delimitedIndent, foldNodeProp, LanguageSupport } from '@codemirror/language';\nimport { html } from '@codemirror/lang-html';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { EditorSelection } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst interpolationStart = 1,\n tagStart = 2,\n endTagStart = 3,\n text = 180,\n endrawTagStart = 4,\n rawText = 181,\n endcommentTagStart = 5,\n commentText = 182,\n InlineComment = 6;\n\nfunction wordChar(code) {\n return code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\nconst base = /*@__PURE__*/new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n let { next } = input;\n if (next < 0)\n break;\n if (next == 123 /* Ch.BraceL */) {\n let after = input.peek(1);\n if (after == 123 /* Ch.BraceL */) {\n if (input.pos > start)\n break;\n input.acceptToken(interpolationStart, 2);\n return;\n }\n else if (after == 37 /* Ch.Percent */) {\n if (input.pos > start)\n break;\n let scan = 2, size = 2;\n for (;;) {\n let next = input.peek(scan);\n if (next == 32 /* Ch.Space */ || next == 10 /* Ch.Newline */) {\n ++scan;\n }\n else if (next == 35 /* Ch.Hash */) {\n ++scan;\n for (;;) {\n let comment = input.peek(scan);\n if (comment < 0 || comment == 10 /* Ch.Newline */)\n break;\n scan++;\n }\n }\n else if (next == 45 /* Ch.Dash */ && size == 2) {\n size = ++scan;\n }\n else {\n let end = next == 101 /* Ch.e */ && input.peek(scan + 1) == 110 /* Ch.n */ && input.peek(scan + 2) == 100 /* Ch.d */;\n input.acceptToken(end ? endTagStart : tagStart, size);\n return;\n }\n }\n }\n }\n input.advance();\n if (next == 10 /* Ch.Newline */)\n break;\n }\n if (input.pos > start)\n input.acceptToken(text);\n});\nfunction rawTokenizer(endTag, text, tagStart) {\n return new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n let { next } = input;\n if (next == 123 /* Ch.BraceL */ && input.peek(1) == 37 /* Ch.Percent */) {\n let scan = 2;\n for (;; scan++) {\n let ch = input.peek(scan);\n if (ch != 32 /* Ch.Space */ && ch != 10 /* Ch.Newline */)\n break;\n }\n let word = \"\";\n for (;; scan++) {\n let next = input.peek(scan);\n if (!wordChar(next))\n break;\n word += String.fromCharCode(next);\n }\n if (word == endTag) {\n if (input.pos > start)\n break;\n input.acceptToken(tagStart, 2);\n break;\n }\n }\n else if (next < 0) {\n break;\n }\n input.advance();\n if (next == 10 /* Ch.Newline */)\n break;\n }\n if (input.pos > start)\n input.acceptToken(text);\n });\n}\nconst comment = /*@__PURE__*/rawTokenizer(\"endcomment\", commentText, endcommentTagStart);\nconst raw = /*@__PURE__*/rawTokenizer(\"endraw\", rawText, endrawTagStart);\nconst inlineComment = /*@__PURE__*/new ExternalTokenizer(input => {\n if (input.next != 35 /* Ch.Hash */)\n return;\n input.advance();\n for (;;) {\n if (input.next == 10 /* Ch.Newline */ || input.next < 0)\n break;\n if ((input.next == 37 /* Ch.Percent */ || input.next == 125 /* Ch.BraceR */) && input.peek(1) == 125 /* Ch.BraceR */)\n break;\n input.advance();\n }\n input.acceptToken(InlineComment);\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,contains:34, or:38, and:38, true:52, false:52, empty:54, forloop:56, tablerowloop:58, continue:60, in:130, with:196, for:198, as:200, if:236, endif:240, unless:246, endunless:250, elsif:254, else:258, case:264, endcase:268, when:272, endfor:280, tablerow:286, endtablerow:290, break:294, cycle:300, echo:304, render:308, include:312, assign:316, capture:322, endcapture:326, increment:330, decrement:334};\nconst spec_TagName = {__proto__:null,if:86, endif:90, elsif:94, else:98, unless:104, endunless:108, case:114, endcase:118, when:122, for:128, endfor:138, tablerow:144, endtablerow:148, break:152, continue:156, cycle:160, comment:166, endcomment:172, raw:178, endraw:184, echo:188, render:192, include:204, assign:208, capture:214, endcapture:218, increment:222, decrement:226, liquid:230};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DSO#{OPO'#DVO$ZOPO'#D`O$iOPO'#DeO$wOPO'#DlO%VOPO'#DtO%eOSO'#EPO%jOQO'#EVO%oOPO'#EiOOOP'#Gb'#GbOOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&cQ!jO,59QO&jQ!jO'#G^OsQhO'#CtOOQW'#G^'#G^OOOP,59n,59nO)YQhO,59nOsQhO,59rOsQhO,59vO)dQhO,59xOsQhO,59{OsQhO,5:QOsQhO,5:UO!]QhO,5:XO!]QhO,5:aO)iQhO,5:eO)nQhO,5:gO)sQhO,5:iO)xQhO,5:lO)}QhO,5:rOsQhO,5:wOsQhO,5:yOsQhO,5;POsQhO,5;ROsQhO,5;UOsQhO,5;YOsQhO,5;[O+^QhO,5;^O+eOPO'#CdOOOP,59q,59qO#{OPO,59qO+sQxO'#DYOOOP,59z,59zO$ZOPO,59zO+xQxO'#DcOOOP,5:P,5:PO$iOPO,5:PO+}QxO'#DhOOOP,5:W,5:WO$wOPO,5:WO,SQxO'#DrOOOP,5:`,5:`O%VOPO,5:`O,XQxO'#DwOOOS'#GQ'#GQO,^OSO'#ESO,fOSO,5:kOOOQ'#GR'#GRO,kOQO'#EYO,sOQO,5:qOOOP,5;T,5;TO%oOPO,5;TO,xQxO'#ElOOOP-E9x-E9xO,}Q#|O,59SOsQhO,59VOsQhO,59WOsQhO,59WO-SQhO'#C}OOQW'#F|'#F|O-XQhO1G.lOOOP1G.l1G.lOsQhO,59WOsQhO,59[O-rQ!jO,59`O-yQ!jO1G/YO.QQhO1G/YOOOP1G/Y1G/YO.YQ!jO1G/^O.aQ!jO1G/bOOOP1G/d1G/dO.hQ!jO1G/gO.oQ!jO1G/lO.vQ!jO1G/pO/QQhO1G/sO/VQhO1G/{OOOP1G0P1G0POOOP1G0R1G0RO/[QhO1G0TOOOS1G0W1G0WOOOQ1G0^1G0^O/gQ!jO1G0cO/nQ!jO1G0eO0OQ!jO1G0kO0VQ!jO1G0mO0^Q!jO1G0pO0eQ!jO1G0tO0lQ!jO1G0vO0sQhO'#EtO0zQhO'#EyO1RQhO'#FSO1YQhO'#FZO1aQhO'#F_O1hQhO'#FqOOQW'#Gc'#GcOOQW'#GT'#GTO1oQhO1G0xOsQhO'#EuOsQhO'#EzOsQhO'#FOOOQW'#FQ'#FQOsQhO'#FTOsQhO'#FXO!]QhO'#F[O!]QhO'#F`OOQW'#Fd'#FdOOQW'#Ff'#FfO1vQhO'#FgOsQhO'#FiOsQhO'#FkOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0x1G0xOOOP1G/]1G/]O1{QhO,59tOOOP1G/f1G/fO2QQhO,59}OOOP1G/k1G/kO2VQhO,5:SOOOP1G/r1G/rO2[QhO,5:^OOOP1G/z1G/zO2aQhO,5:cOOOS-E:O-E:OOOOP1G0V1G0VO2fQxO'#ETOOOQ-E:P-E:POOOP1G0]1G0]O2kQxO'#EZOOOP1G0o1G0oO2pQhO,5;WOOQW1G.n1G.nO2uQ!jO1G.qO5fQ!jO1G.rO5mQ!jO1G.rOOQW'#DP'#DPO7{QhO,59iOOQW-E9z-E9zOOOP7+$W7+$WO9uQ!jO1G.rO9|Q!jO1G.vOsQhO1G.zO<[QhO7+$tOOOP7+$t7+$tOOOP7+$x7+$xOOOP7+$|7+$|OOOP7+%R7+%ROOOP7+%W7+%WOsQhO'#F}O<dQhO7+%[OOOP7+%[7+%[OsQhO7+%_OsQhO7+%gO<lQhO'#GPO<qQhO7+%oOOOP7+%o7+%oO<yQhO7+%oO=OQhO7+%}OOOP7+%}7+%}O!]QhO'#EaOOQW'#GS'#GSO=WQhO7+&POsQhO'#EaOOOP7+&P7+&POOOP7+&V7+&VO=fQhO7+&XOOOP7+&X7+&XOOOP7+&[7+&[OOOP7+&`7+&`OOOP7+&b7+&bOOQW,5;`,5;`O0sQhO,5;`OOQW'#Ew'#EwOOQW,5;e,5;eO0zQhO,5;eOOQW'#E|'#E|OOQW,5;n,5;nO1RQhO,5;nOOQW'#FV'#FVOOQW,5;u,5;uO1YQhO,5;uOOQW'#F]'#F]OOQW,5;y,5;yO1aQhO,5;yOOQW'#Fb'#FbOOQW,5<],5<]O1hQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&d7+&dO=nQ!jO,5;aO>}Q!jO,5;fO@^Q!jO,5;jOBPQ!jO,5;oOC`Q!jO,5;sOEUQhO,5;vOEZQhO,5;zOE`QhO,5<ROGVQ!jO,5<TOHxQ!jO,5<VOJqQ!jO,5<XOLdQ!jO,5<ZONVQ!jO,5<^O! fQ!jO,5<bO!#XQ!jO,5<dOOOP1G/`1G/`OOOP1G/i1G/iOOOP1G/n1G/nOOOP1G/x1G/xOOOP1G/}1G/}O!$zQhO,5:oO!%PQhO,5:uOOOP1G0r1G0rOOQW7+$]7+$]OsQhO1G/TO!%UQ!jO7+$fOOOP<<H`<<H`O!%]Q!jO,5<iOOQW-E9{-E9{OOOP<<Hv<<HvO!'XQ!jO<<HyO!'cQ!jO<<IROOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IZ<<IZO!'mQhO<<IZOOOP<<Ii<<IiO!'uQhO,5:{OOQW-E:Q-E:QOOOP<<Ik<<IkO!'zQ!jO,5:{OOOP<<Is<<IsOOQW1G0z1G0zOOQW1G1P1G1POOQW1G1Y1G1YOOQW1G1a1G1aOOQW1G1e1G1eOOQW1G1w1G1wO!)vQhO1G1_OsQhO1G1bOsQhO1G1fO!+jQhO1G1mO!-^QhO1G1mO!-cQhO1G1oOOQW'#GU'#GUO!/VQhO1G1qO!0|QhO1G1uOOOP1G0Z1G0ZOOOP1G0a1G0aO!2pQ!jO7+$oOOQW<<HQ<<HQOOQW'#Dq'#DqO!4lQhO'#DpOOQW'#GO'#GOO!6VQhOAN>eOOOPAN>eAN>eO!6_QhOAN>mOOOPAN>mAN>mO!6gQhOAN>uOOOPAN>uAN>uOsQhO1G0gO!]QhO1G0gO!6oQ!jO7+&|O!8RQ!jO7+'QO!9eQhO7+'XOOQW-E:S-E:SO!;XQhO<<HZOsQhO,5:[OOQW-E9|-E9|OOOPG24PG24POOOPG24XG24XOOOPG24aG24aO!=RQ!jO7+&ROOQW7+&R7+&RO!>zQhO<<JhO!@[QhO<<JlO!AlQhO<<JsO!C`Q!jO1G/v\",\n stateData: \"!Dx~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OgeOjfOkfOlfOmfOnfOofOpfO%RbO~OwhOxgO{iO!PjO!RkO!UlO!ZmO!_nO!boO!jpO!nqO!prO!rsO!utO!{uO#QvO#SwO#YxO#[yO#_zO#c{O#e|O#g}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jOa!rOb!lOc!mOr!nO%T!kO~OX!qO~P%}Oe!sOX%QX]%QXa%QXb%QXc%QXr%QX%T%QXi%QXx%QXu%QX#U%QX#V%QX%S%QXn%QX#j%QX#l%QX#o%QX#s%QX#u%QX#x%QX#|%QX$T%QX$X%QX$[%QX$^%QX$`%QX$b%QX$d%QX$g%QX$k%QX$m%QX#q%QX#z%QX$i%QXf%QX%R%QX#W%QX$Q%QX$V%QX~Or!nOx!wO~PsOx!zO~Ox#QO~Ox#RO~Oo#SO~Ox#TO~Ox#UO~On#pO#V#mO#j#gO#o#hO#s#iO#u#jO#x#kO#|#lO$T#nO$X#oO$[#qO$^#rO$`#sO$b#tO$d#uO$g#vO$k#wO$m#xO~Ox#yO~P*SO$zPOPWXQWXRWX~O}#{O~O!W#}O~O!]$PO~O!g$RO~O!l$TO~O$|!`OT!vX~OT$WO~O${!cOS!|X~OS$ZO~O#a$]O~O^$^O~O%R$bO~OX$eOr!nO~O]!jOa!rOb!lOc!mO%T!kO~Oi$hO~P-aOx$jO~P%}Or!nOx$jO~Ox$kO~P-aOx$lO~P-aOx$mO~P-aOx$nO~P-aOu$oOx$qO~P-aO!c$rO~O!c$sO~Ot$wOu$tOx$vO~Ox$yO~P%}Ou$zOx%OO#U$}O#V$}O~P-aOx%PO~P-aOx%RO~P%}Ox%SO~P-aOx%TO~P-aOx%UO~P-aO#l%XO~P*SO#q%[O~P*SO#z%_O~P*SO$Q%bO~P*SO$V%eO~P*SO$i%hO~P*SOx%jO~P*SOo%rO~Ox%zO~Ox%{O~Ox%|O~Ox%}O~Ox&OO~O!x&PO~O#O&QO~Ox&RO~O%S&SO~P-aO]!jO%T!kOX`ia`ic`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~Ob`i~P2|OX`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~P-aOt&TOXqarqaxqanqa#Vqa#jqa#oqa#sqa#uqa#xqa#|qa$Tqa$Xqa$[qa$^qa$`qa$bqa$dqa$gqa$kqa$mqa#lqa#qqa#zqa$Qqa$Vqa$iqa~Ob!lO~P2|OXdirdiidixdiudi#Udi#Vdi%Sdindi#jdi#ldi#odi#sdi#udi#xdi#|di$Tdi$Xdi$[di$^di$`di$bdi$ddi$gdi$kdi$mdi#qdi#zdi$idifdi%Rdi#Wdi$Qdi$Vdi~P-aOr!nOx&VO~Ou$oOx&YO~Oo&]O~Ou$tOx&_O~Oo&`O~Or!nOx&aO~Ou$zOx&dO#U$}O#V$}O~Or!nOx&fO~On#ia#V#ia#j#ia#l#ia#o#ia#s#ia#u#ia#x#ia#|#ia$T#ia$X#ia$[#ia$^#ia$`#ia$b#ia$d#ia$g#ia$k#ia$m#ia~P-aOn#na#V#na#j#na#o#na#q#na#s#na#u#na#x#na#|#na$T#na$X#na$[#na$^#na$`#na$b#na$d#na$g#na$k#na$m#na~P-aOn#rax#ra#V#ra#j#ra#o#ra#s#ra#u#ra#x#ra#|#ra$T#ra$X#ra$[#ra$^#ra$`#ra$b#ra$d#ra$g#ra$k#ra$m#ra#l#ra#q#ra#z#ra$Q#ra$V#ra$i#ra~P-aOn#wa#V#wa#j#wa#o#wa#s#wa#u#wa#x#wa#z#wa#|#wa$T#wa$X#wa$[#wa$^#wa$`#wa$b#wa$d#wa$g#wa$k#wa$m#wa~P-aOu$oOn#{ax#{a#V#{a#j#{a#o#{a#s#{a#u#{a#x#{a#|#{a$T#{a$X#{a$[#{a$^#{a$`#{a$b#{a$d#{a$g#{a$k#{a$m#{a#l#{a#q#{a#z#{a$Q#{a$V#{a$i#{a~P-aO!c&nO~O!c&oO~Ot&qOu$tOn$Zax$Za#V$Za#j$Za#o$Za#s$Za#u$Za#x$Za#|$Za$T$Za$X$Za$[$Za$^$Za$`$Za$b$Za$d$Za$g$Za$k$Za$m$Za#l$Za#q$Za#z$Za$Q$Za$V$Za$i$Za~On$]ax$]a#V$]a#j$]a#o$]a#s$]a#u$]a#x$]a#|$]a$T$]a$X$]a$[$]a$^$]a$`$]a$b$]a$d$]a$g$]a$k$]a$m$]a#l$]a#q$]a#z$]a$Q$]a$V$]a$i$]a~P%}Ou$zO#U$}O#V$}On$_ax$_a#j$_a#o$_a#s$_a#u$_a#x$_a#|$_a$T$_a$X$_a$[$_a$^$_a$`$_a$b$_a$d$_a$g$_a$k$_a$m$_a#l$_a#q$_a#z$_a$Q$_a$V$_a$i$_a~P-aOn$aax$aa#V$aa#j$aa#o$aa#s$aa#u$aa#x$aa#|$aa$T$aa$X$aa$[$aa$^$aa$`$aa$b$aa$d$aa$g$aa$k$aa$m$aa#l$aa#q$aa#z$aa$Q$aa$V$aa$i$aa~P-aOn$cax$ca#V$ca#j$ca#o$ca#s$ca#u$ca#x$ca#|$ca$T$ca$X$ca$[$ca$^$ca$`$ca$b$ca$d$ca$g$ca$k$ca$m$ca#l$ca#q$ca#z$ca$Q$ca$V$ca$i$ca~P%}On$fa#V$fa#j$fa#o$fa#s$fa#u$fa#x$fa#|$fa$T$fa$X$fa$[$fa$^$fa$`$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~P-aOn$jax$ja#V$ja#j$ja#o$ja#s$ja#u$ja#x$ja#|$ja$T$ja$X$ja$[$ja$^$ja$`$ja$b$ja$d$ja$g$ja$k$ja$m$ja#l$ja#q$ja#z$ja$Q$ja$V$ja$i$ja~P-aOn$lax$la#V$la#j$la#o$la#s$la#u$la#x$la#|$la$T$la$X$la$[$la$^$la$`$la$b$la$d$la$g$la$k$la$m$la#l$la#q$la#z$la$Q$la$V$la$i$la~P-aOx&vO~Ox&wO~Of&yO~P-aOu$qax$qan$qa#V$qa#j$qa#o$qa#s$qa#u$qa#x$qa#|$qa$T$qa$X$qa$[$qa$^$qa$`$qa$b$qa$d$qa$g$qa$k$qa$m$qa#l$qa#q$qa#z$qa$Q$qa$V$qa$i$qaX$qar$qa~P-aOx'OO%R&zO~P-aOx'QO%R&zO~P-aOu$tOx'SO~Ot'TO~O#W'UOu#Tax#Ta#U#Ta#V#Tan#Ta#j#Ta#o#Ta#s#Ta#u#Ta#x#Ta#|#Ta$T#Ta$X#Ta$[#Ta$^#Ta$`#Ta$b#Ta$d#Ta$g#Ta$k#Ta$m#Ta#l#Ta#q#Ta#z#Ta$Q#Ta$V#Ta$i#Ta~P-aOu$oOn#{ix#{i#V#{i#j#{i#o#{i#s#{i#u#{i#x#{i#|#{i$T#{i$X#{i$[#{i$^#{i$`#{i$b#{i$d#{i$g#{i$k#{i$m#{i#l#{i#q#{i#z#{i$Q#{i$V#{i$i#{i~Ou$tOn$Zix$Zi#V$Zi#j$Zi#o$Zi#s$Zi#u$Zi#x$Zi#|$Zi$T$Zi$X$Zi$[$Zi$^$Zi$`$Zi$b$Zi$d$Zi$g$Zi$k$Zi$m$Zi#l$Zi#q$Zi#z$Zi$Q$Zi$V$Zi$i$Zi~Oo'XO~Or!nOn$]ix$]i#V$]i#j$]i#o$]i#s$]i#u$]i#x$]i#|$]i$T$]i$X$]i$[$]i$^$]i$`$]i$b$]i$d$]i$g$]i$k$]i$m$]i#l$]i#q$]i#z$]i$Q$]i$V$]i$i$]i~Ou$zO#U$}O#V$}On$_ix$_i#j$_i#o$_i#s$_i#u$_i#x$_i#|$_i$T$_i$X$_i$[$_i$^$_i$`$_i$b$_i$d$_i$g$_i$k$_i$m$_i#l$_i#q$_i#z$_i$Q$_i$V$_i$i$_i~Or!nOn$cix$ci#V$ci#j$ci#o$ci#s$ci#u$ci#x$ci#|$ci$T$ci$X$ci$[$ci$^$ci$`$ci$b$ci$d$ci$g$ci$k$ci$m$ci#l$ci#q$ci#z$ci$Q$ci$V$ci$i$ci~Ou$oOXqqrqqxqqnqq#Vqq#jqq#oqq#sqq#uqq#xqq#|qq$Tqq$Xqq$[qq$^qq$`qq$bqq$dqq$gqq$kqq$mqq#lqq#qqq#zqq$Qqq$Vqq$iqq~P-aOt'[Ox!dX%R!dXn!dX#V!dX#j!dX#o!dX#s!dX#u!dX#x!dX#|!dX$Q!dX$T!dX$X!dX$[!dX$^!dX$`!dX$b!dX$d!dX$g!dX$k!dX$m!dX$V!dX~Ox'^O%R&zO~Ox'_O%R&zO~Ou$tOx'`O~O%R&zOn$Oq#V$Oq#j$Oq#o$Oq#s$Oq#u$Oq#x$Oq#|$Oq$Q$Oq$T$Oq$X$Oq$[$Oq$^$Oq$`$Oq$b$Oq$d$Oq$g$Oq$k$Oq$m$Oq~P-aO%R&zOn$Sq#V$Sq#j$Sq#o$Sq#s$Sq#u$Sq#x$Sq#|$Sq$T$Sq$V$Sq$X$Sq$[$Sq$^$Sq$`$Sq$b$Sq$d$Sq$g$Sq$k$Sq$m$Sq~P-aOu$tOn$Zqx$Zq#V$Zq#j$Zq#o$Zq#s$Zq#u$Zq#x$Zq#|$Zq$T$Zq$X$Zq$[$Zq$^$Zq$`$Zq$b$Zq$d$Zq$g$Zq$k$Zq$m$Zq#l$Zq#q$Zq#z$Zq$Q$Zq$V$Zq$i$Zq~Ou$oOXqyrqyxqynqy#Vqy#jqy#oqy#sqy#uqy#xqy#|qy$Tqy$Xqy$[qy$^qy$`qy$bqy$dqy$gqy$kqy$mqy#lqy#qqy#zqy$Qqy$Vqy$iqy~Ou#Tqx#Tq#U#Tq#V#Tqn#Tq#j#Tq#o#Tq#s#Tq#u#Tq#x#Tq#|#Tq$T#Tq$X#Tq$[#Tq$^#Tq$`#Tq$b#Tq$d#Tq$g#Tq$k#Tq$m#Tq#l#Tq#q#Tq#z#Tq$Q#Tq$V#Tq$i#Tq~P-aO%R&zOn$Oy#V$Oy#j$Oy#o$Oy#s$Oy#u$Oy#x$Oy#|$Oy$Q$Oy$T$Oy$X$Oy$[$Oy$^$Oy$`$Oy$b$Oy$d$Oy$g$Oy$k$Oy$m$Oy~O%R&zOn$Sy#V$Sy#j$Sy#o$Sy#s$Sy#u$Sy#x$Sy#|$Sy$T$Sy$V$Sy$X$Sy$[$Sy$^$Sy$`$Sy$b$Sy$d$Sy$g$Sy$k$Sy$m$Sy~Ou$tOn$Zyx$Zy#V$Zy#j$Zy#o$Zy#s$Zy#u$Zy#x$Zy#|$Zy$T$Zy$X$Zy$[$Zy$^$Zy$`$Zy$b$Zy$d$Zy$g$Zy$k$Zy$m$Zy#l$Zy#q$Zy#z$Zy$Q$Zy$V$Zy$i$Zy~Ox!di%R!din!di#V!di#j!di#o!di#s!di#u!di#x!di#|!di$Q!di$T!di$X!di$[!di$^!di$`!di$b!di$d!di$g!di$k!di$m!di$V!di~P-aO\",\n goto: \"7r%WPPPPPPPP%XP%X%i&yPP&y&yPPP&yPPP&yPPPPPPPP'wP(XPP([PP([(lP(|P([P([P([)SP)dP([)jP)zP([P([*QPP*b*l*vP([*|P+^P([P([P([P([+dP+t+wP([+zP,[,_P([P([P,bPPP([P([P([,jP,zP([P([P([P-Q-bP-rP-Q-xP.YP-QP-QP-Q.`P.pP-QP-Q.v/WP-Q/^P/nP-QP-Q-QP-QP-QP-QP-QP-Q/tP0UP-QP-QP0[0z1b2Q2`2r3U3[3b3h4WPPPPPP4^4nPPP%X7bm^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!m!r!s#g#h#i#k#l#r#s#t#u#v#w#x$h$o$r$s$}&T&n&o'T'[Q#OoQ#PpQ%p#mQ%q#nQ&b$zR'b'U!wfRehijlmnvwxyz{|!k!l!m!r!s#g#h#i#k#l#r#s#t#u#v#w#x$h$o$r$s$}&T&n&o'T'[m!och!p!u!v#V#Y$i$x%Q%s%v&r&uR$c!nm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#z!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#|!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR$O!WmWOTUVWX[`!Q!T!W!Z!^!ga&|&Z&[&}'P'V'W'c'da&{&Z&[&}'P'V'W'c'dQ!YWR$Q!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$S!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$V!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$Y!eS${#W$|T&s%t&tm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$[!gm#d}#^#_#`#a#b#c#f%W%Z%^%a%d%gm#^}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%V#^R&g%Wm#_}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%Y#_R&h%Zm#`}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%]#`R&i%^m#a}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%`#aR&j%am#b}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%c#bR&k%dm#c}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%f#cR&l%gQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!pcQ!vh^$d!p!v$i$x%Q&r&uQ$i!uQ$x#VQ%Q#YQ&r%sR&u%vQ$p!}U&X$p&m'ZQ&m%oR'Z&xQ&}&ZQ'P&[W']&}'P'c'dQ'c'VR'd'WQ$u#SW&^$u&p'R'eQ&p%rQ'R&`R'e'XQ!aYR$U!aQ!dZR$X!dQ$|#WR&c$|Q#f}Q%W#^Q%Z#_Q%^#`Q%a#aQ%d#bQ%g#c_%i#f%W%Z%^%a%d%gQ&t%tR'Y&tm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!teQ!uhQ!xiQ!yjQ!{lQ!|mQ!}nQ#VvQ#WwQ#XxQ#YyQ#ZzQ#[{Q#]|Q$_!kQ$`!lQ$a!mQ$f!rQ$g!sQ%k#gQ%l#hQ%m#iQ%n#kQ%o#lQ%s#rQ%t#sQ%u#tQ%v#uQ%w#vQ%x#wQ%y#xQ&U$hQ&W$oQ&Z$rQ&[$sQ&e$}Q&x&TQ'V&nQ'W&oQ'a'TR'f'[m#e}#^#_#`#a#b#c#f%W%Z%^%a%d%g\",\n nodeNames: \"⚠ {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement\",\n maxTerm: 191,\n nodeProps: [\n [\"closedBy\", 1,\"}}\",-4,2,3,4,5,\"%}\",23,\")\"],\n [\"openedBy\", 9,\"{{\",22,\"(\",40,\"{%\"],\n [\"group\", -13,11,12,15,16,20,24,26,27,28,29,30,31,32,\"Expression\"]\n ],\n skippedNodes: [0,6],\n repeatNodeCount: 11,\n tokenData: \")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%O~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOx~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ou~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WwQ%RT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%T~~)TO%S~~)YOr~~)]P#q#r)`~)eOX~\",\n tokenizers: [base, raw, comment, inlineComment, 0, 1, 2, 3],\n topRules: {\"Template\":[0,7]},\n specialized: [{term: 187, get: (value) => spec_identifier[value] || -1},{term: 39, get: (value) => spec_TagName[value] || -1}],\n tokenPrec: 0\n});\n\nfunction completions(words, type) {\n return words.split(\" \").map(label => ({ label, type }));\n}\nconst Filters = /*@__PURE__*/completions(\"abs append at_least at_most capitalize ceil compact concat date default \" +\n \"divided_by downcase escape escape_once first floor join last lstrip map minus modulo \" +\n \"newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip \" +\n \"size slice sort sort_natural split strip strip_html strip_newlines sum times truncate \" +\n \"truncatewords uniq upcase url_decode url_encode where\", \"function\");\nconst Tags = /*@__PURE__*/completions(\"cycle comment endcomment raw endraw echo increment decrement liquid if elsif \" +\n \"else endif unless endunless case endcase for endfor tablerow endtablerow break continue \" +\n \"assign capture endcapture render include\", \"keyword\");\nconst Expressions = /*@__PURE__*/completions(\"empty forloop tablerowloop in with as\", \"keyword\");\nconst forloop = /*@__PURE__*/completions(\"first index index0 last length rindex\", \"property\");\nconst tablerowloop = /*@__PURE__*/completions(\"col col0 col_first col_last first index index0 last length rindex rindex0 row\", \"property\");\nfunction findContext(context) {\n var _a;\n let { state, pos } = context;\n let node = syntaxTree(state).resolveInner(pos, -1).enterUnfinishedNodesBefore(pos);\n let before = ((_a = node.childBefore(pos)) === null || _a === void 0 ? void 0 : _a.name) || node.name;\n if (node.name == \"FilterName\")\n return { type: \"filter\", node };\n if (context.explicit && before == \"|\")\n return { type: \"filter\" };\n if (node.name == \"TagName\")\n return { type: \"tag\", node };\n if (context.explicit && before == \"{%\")\n return { type: \"tag\" };\n if (node.name == \"PropertyName\" && node.parent.name == \"MemberExpression\")\n return { type: \"property\", node, target: node.parent };\n if (node.name == \".\" && node.parent.name == \"MemberExpression\")\n return { type: \"property\", target: node.parent };\n if (node.name == \"MemberExpression\" && before == \".\")\n return { type: \"property\", target: node };\n if (node.name == \"VariableName\")\n return { type: \"expression\", from: node.from };\n let word = context.matchBefore(/[\\w\\u00c0-\\uffff]+$/);\n if (word)\n return { type: \"expression\", from: word.from };\n if (context.explicit && node.name != \"CommentText\" && node.name != \"StringLiteral\" &&\n node.name != \"NumberLiteral\" && node.name != \"InlineComment\")\n return { type: \"expression\" };\n return null;\n}\nfunction resolveProperties(state, node, context, properties) {\n let path = [];\n for (;;) {\n let obj = node.getChild(\"Expression\");\n if (!obj)\n return [];\n if (obj.name == \"forloop\") {\n return path.length ? [] : forloop;\n }\n else if (obj.name == \"tablerowloop\") {\n return path.length ? [] : tablerowloop;\n }\n else if (obj.name == \"VariableName\") {\n path.unshift(state.sliceDoc(obj.from, obj.to));\n break;\n }\n else if (obj.name == \"MemberExpression\") {\n let name = obj.getChild(\"PropertyName\");\n if (name)\n path.unshift(state.sliceDoc(name.from, name.to));\n node = obj;\n }\n else {\n return [];\n }\n }\n return properties ? properties(path, state, context) : [];\n}\n/**\nReturns a completion source for liquid templates. Optionally takes\na configuration that adds additional custom completions.\n*/\nfunction liquidCompletionSource(config = {}) {\n let filters = config.filters ? config.filters.concat(Filters) : Filters;\n let tags = config.tags ? config.tags.concat(Tags) : Tags;\n let exprs = config.variables ? config.variables.concat(Expressions) : Expressions;\n let { properties } = config;\n return (context) => {\n var _a;\n let cx = findContext(context);\n if (!cx)\n return null;\n let from = (_a = cx.from) !== null && _a !== void 0 ? _a : (cx.node ? cx.node.from : context.pos);\n let options;\n if (cx.type == \"filter\")\n options = filters;\n else if (cx.type == \"tag\")\n options = tags;\n else if (cx.type == \"expression\")\n options = exprs;\n else /* property */\n options = resolveProperties(context.state, cx.target, context, properties);\n return options.length ? { options, from, validFor: /^[\\w\\u00c0-\\uffff]*$/ } : null;\n };\n}\n/**\nThis extension will, when the user types a `%` between two\nmatching braces, insert two percent signs instead and put the\ncursor between them.\n*/\nconst closePercentBrace = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text) => {\n if (text != \"%\" || from != to || view.state.doc.sliceString(from - 1, to + 1) != \"{}\")\n return false;\n view.dispatch(view.state.changeByRange(range => ({\n changes: { from: range.from, to: range.to, insert: \"%%\" },\n range: EditorSelection.cursor(range.from + 1)\n })), {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n return true;\n});\n\nfunction directiveIndent(except) {\n return (context) => {\n let back = except.test(context.textAfter);\n return context.lineIndent(context.node.from) + (back ? 0 : context.unit);\n };\n}\nconst tagLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"liquid\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/styleTags({\n \"cycle comment endcomment raw endraw echo increment decrement liquid in with as\": tags.keyword,\n \"empty forloop tablerowloop\": tags.atom,\n \"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue\": tags.controlKeyword,\n \"assign capture endcapture\": tags.definitionKeyword,\n \"contains\": tags.operatorKeyword,\n \"render include\": tags.moduleKeyword,\n VariableName: tags.variableName,\n TagName: tags.tagName,\n FilterName: /*@__PURE__*/tags.function(tags.variableName),\n PropertyName: tags.propertyName,\n CompareOp: tags.compareOperator,\n AssignOp: tags.definitionOperator,\n LogicOp: tags.logicOperator,\n NumberLiteral: tags.number,\n StringLiteral: tags.string,\n BooleanLiteral: tags.bool,\n InlineComment: tags.lineComment,\n CommentText: tags.blockComment,\n \"{% %} {{ }}\": tags.brace,\n \"[ ]\": tags.bracket,\n \"( )\": tags.paren,\n \".\": tags.derefOperator,\n \", .. : |\": tags.punctuation\n }),\n /*@__PURE__*/indentNodeProp.add({\n Tag: /*@__PURE__*/delimitedIndent({ closing: \"%}\" }),\n \"UnlessDirective ForDirective TablerowDirective CaptureDirective\": /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?end\\w/),\n IfDirective: /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?(endif|else|elsif)\\b/),\n CaseDirective: /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?(endcase|when)\\b/),\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment\"(tree) {\n let first = tree.firstChild, last = tree.lastChild;\n if (!first || first.name != \"Tag\")\n return null;\n return { from: first.to, to: last.name == \"EndTag\" ? last.from : tree.to };\n }\n })\n ]\n }),\n languageData: {\n commentTokens: { line: \"#\" },\n indentOnInput: /^\\s*{%-?\\s*(?:end|elsif|else|when|)$/\n }\n});\nconst baseHTML = /*@__PURE__*/html();\nfunction makeLiquid(base) {\n return tagLanguage.configure({\n wrap: parseMixed(node => node.type.isTop ? {\n parser: base.parser,\n overlay: n => n.name == \"Text\" || n.name == \"RawText\"\n } : null)\n }, \"liquid\");\n}\n/**\nA language provider for Liquid templates.\n*/\nconst liquidLanguage = /*@__PURE__*/makeLiquid(baseHTML.language);\n/**\nLiquid template support.\n*/\nfunction liquid(config = {}) {\n let base = config.base || baseHTML;\n let lang = base.language == baseHTML.language ? liquidLanguage : makeLiquid(base.language);\n return new LanguageSupport(lang, [\n base.support,\n lang.data.of({ autocomplete: liquidCompletionSource(config) }),\n base.language.data.of({ closeBrackets: { brackets: [\"{\"] } }),\n closePercentBrace\n ]);\n}\n\nexport { closePercentBrace, liquid, liquidCompletionSource, liquidLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"dist-21vPGg1O.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.js"],"sourcesContent":["import { syntaxTree, LRLanguage, indentNodeProp, delimitedIndent, foldNodeProp, LanguageSupport } from '@codemirror/language';\nimport { html } from '@codemirror/lang-html';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { EditorSelection } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst interpolationStart = 1,\n tagStart = 2,\n endTagStart = 3,\n text = 180,\n endrawTagStart = 4,\n rawText = 181,\n endcommentTagStart = 5,\n commentText = 182,\n InlineComment = 6;\n\nfunction wordChar(code) {\n return code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\nconst base = /*@__PURE__*/new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n let { next } = input;\n if (next < 0)\n break;\n if (next == 123 /* Ch.BraceL */) {\n let after = input.peek(1);\n if (after == 123 /* Ch.BraceL */) {\n if (input.pos > start)\n break;\n input.acceptToken(interpolationStart, 2);\n return;\n }\n else if (after == 37 /* Ch.Percent */) {\n if (input.pos > start)\n break;\n let scan = 2, size = 2;\n for (;;) {\n let next = input.peek(scan);\n if (next == 32 /* Ch.Space */ || next == 10 /* Ch.Newline */) {\n ++scan;\n }\n else if (next == 35 /* Ch.Hash */) {\n ++scan;\n for (;;) {\n let comment = input.peek(scan);\n if (comment < 0 || comment == 10 /* Ch.Newline */)\n break;\n scan++;\n }\n }\n else if (next == 45 /* Ch.Dash */ && size == 2) {\n size = ++scan;\n }\n else {\n let end = next == 101 /* Ch.e */ && input.peek(scan + 1) == 110 /* Ch.n */ && input.peek(scan + 2) == 100 /* Ch.d */;\n input.acceptToken(end ? endTagStart : tagStart, size);\n return;\n }\n }\n }\n }\n input.advance();\n if (next == 10 /* Ch.Newline */)\n break;\n }\n if (input.pos > start)\n input.acceptToken(text);\n});\nfunction rawTokenizer(endTag, text, tagStart) {\n return new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n let { next } = input;\n if (next == 123 /* Ch.BraceL */ && input.peek(1) == 37 /* Ch.Percent */) {\n let scan = 2;\n for (;; scan++) {\n let ch = input.peek(scan);\n if (ch != 32 /* Ch.Space */ && ch != 10 /* Ch.Newline */)\n break;\n }\n let word = \"\";\n for (;; scan++) {\n let next = input.peek(scan);\n if (!wordChar(next))\n break;\n word += String.fromCharCode(next);\n }\n if (word == endTag) {\n if (input.pos > start)\n break;\n input.acceptToken(tagStart, 2);\n break;\n }\n }\n else if (next < 0) {\n break;\n }\n input.advance();\n if (next == 10 /* Ch.Newline */)\n break;\n }\n if (input.pos > start)\n input.acceptToken(text);\n });\n}\nconst comment = /*@__PURE__*/rawTokenizer(\"endcomment\", commentText, endcommentTagStart);\nconst raw = /*@__PURE__*/rawTokenizer(\"endraw\", rawText, endrawTagStart);\nconst inlineComment = /*@__PURE__*/new ExternalTokenizer(input => {\n if (input.next != 35 /* Ch.Hash */)\n return;\n input.advance();\n for (;;) {\n if (input.next == 10 /* Ch.Newline */ || input.next < 0)\n break;\n if ((input.next == 37 /* Ch.Percent */ || input.next == 125 /* Ch.BraceR */) && input.peek(1) == 125 /* Ch.BraceR */)\n break;\n input.advance();\n }\n input.acceptToken(InlineComment);\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,contains:34, or:38, and:38, true:52, false:52, empty:54, forloop:56, tablerowloop:58, continue:60, in:130, with:196, for:198, as:200, if:236, endif:240, unless:246, endunless:250, elsif:254, else:258, case:264, endcase:268, when:272, endfor:280, tablerow:286, endtablerow:290, break:294, cycle:300, echo:304, render:308, include:312, assign:316, capture:322, endcapture:326, increment:330, decrement:334};\nconst spec_TagName = {__proto__:null,if:86, endif:90, elsif:94, else:98, unless:104, endunless:108, case:114, endcase:118, when:122, for:128, endfor:138, tablerow:144, endtablerow:148, break:152, continue:156, cycle:160, comment:166, endcomment:172, raw:178, endraw:184, echo:188, render:192, include:204, assign:208, capture:214, endcapture:218, increment:222, decrement:226, liquid:230};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DSO#{OPO'#DVO$ZOPO'#D`O$iOPO'#DeO$wOPO'#DlO%VOPO'#DtO%eOSO'#EPO%jOQO'#EVO%oOPO'#EiOOOP'#Gb'#GbOOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&cQ!jO,59QO&jQ!jO'#G^OsQhO'#CtOOQW'#G^'#G^OOOP,59n,59nO)YQhO,59nOsQhO,59rOsQhO,59vO)dQhO,59xOsQhO,59{OsQhO,5:QOsQhO,5:UO!]QhO,5:XO!]QhO,5:aO)iQhO,5:eO)nQhO,5:gO)sQhO,5:iO)xQhO,5:lO)}QhO,5:rOsQhO,5:wOsQhO,5:yOsQhO,5;POsQhO,5;ROsQhO,5;UOsQhO,5;YOsQhO,5;[O+^QhO,5;^O+eOPO'#CdOOOP,59q,59qO#{OPO,59qO+sQxO'#DYOOOP,59z,59zO$ZOPO,59zO+xQxO'#DcOOOP,5:P,5:PO$iOPO,5:PO+}QxO'#DhOOOP,5:W,5:WO$wOPO,5:WO,SQxO'#DrOOOP,5:`,5:`O%VOPO,5:`O,XQxO'#DwOOOS'#GQ'#GQO,^OSO'#ESO,fOSO,5:kOOOQ'#GR'#GRO,kOQO'#EYO,sOQO,5:qOOOP,5;T,5;TO%oOPO,5;TO,xQxO'#ElOOOP-E9x-E9xO,}Q#|O,59SOsQhO,59VOsQhO,59WOsQhO,59WO-SQhO'#C}OOQW'#F|'#F|O-XQhO1G.lOOOP1G.l1G.lOsQhO,59WOsQhO,59[O-rQ!jO,59`O-yQ!jO1G/YO.QQhO1G/YOOOP1G/Y1G/YO.YQ!jO1G/^O.aQ!jO1G/bOOOP1G/d1G/dO.hQ!jO1G/gO.oQ!jO1G/lO.vQ!jO1G/pO/QQhO1G/sO/VQhO1G/{OOOP1G0P1G0POOOP1G0R1G0RO/[QhO1G0TOOOS1G0W1G0WOOOQ1G0^1G0^O/gQ!jO1G0cO/nQ!jO1G0eO0OQ!jO1G0kO0VQ!jO1G0mO0^Q!jO1G0pO0eQ!jO1G0tO0lQ!jO1G0vO0sQhO'#EtO0zQhO'#EyO1RQhO'#FSO1YQhO'#FZO1aQhO'#F_O1hQhO'#FqOOQW'#Gc'#GcOOQW'#GT'#GTO1oQhO1G0xOsQhO'#EuOsQhO'#EzOsQhO'#FOOOQW'#FQ'#FQOsQhO'#FTOsQhO'#FXO!]QhO'#F[O!]QhO'#F`OOQW'#Fd'#FdOOQW'#Ff'#FfO1vQhO'#FgOsQhO'#FiOsQhO'#FkOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0x1G0xOOOP1G/]1G/]O1{QhO,59tOOOP1G/f1G/fO2QQhO,59}OOOP1G/k1G/kO2VQhO,5:SOOOP1G/r1G/rO2[QhO,5:^OOOP1G/z1G/zO2aQhO,5:cOOOS-E:O-E:OOOOP1G0V1G0VO2fQxO'#ETOOOQ-E:P-E:POOOP1G0]1G0]O2kQxO'#EZOOOP1G0o1G0oO2pQhO,5;WOOQW1G.n1G.nO2uQ!jO1G.qO5fQ!jO1G.rO5mQ!jO1G.rOOQW'#DP'#DPO7{QhO,59iOOQW-E9z-E9zOOOP7+$W7+$WO9uQ!jO1G.rO9|Q!jO1G.vOsQhO1G.zO<[QhO7+$tOOOP7+$t7+$tOOOP7+$x7+$xOOOP7+$|7+$|OOOP7+%R7+%ROOOP7+%W7+%WOsQhO'#F}O<dQhO7+%[OOOP7+%[7+%[OsQhO7+%_OsQhO7+%gO<lQhO'#GPO<qQhO7+%oOOOP7+%o7+%oO<yQhO7+%oO=OQhO7+%}OOOP7+%}7+%}O!]QhO'#EaOOQW'#GS'#GSO=WQhO7+&POsQhO'#EaOOOP7+&P7+&POOOP7+&V7+&VO=fQhO7+&XOOOP7+&X7+&XOOOP7+&[7+&[OOOP7+&`7+&`OOOP7+&b7+&bOOQW,5;`,5;`O0sQhO,5;`OOQW'#Ew'#EwOOQW,5;e,5;eO0zQhO,5;eOOQW'#E|'#E|OOQW,5;n,5;nO1RQhO,5;nOOQW'#FV'#FVOOQW,5;u,5;uO1YQhO,5;uOOQW'#F]'#F]OOQW,5;y,5;yO1aQhO,5;yOOQW'#Fb'#FbOOQW,5<],5<]O1hQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&d7+&dO=nQ!jO,5;aO>}Q!jO,5;fO@^Q!jO,5;jOBPQ!jO,5;oOC`Q!jO,5;sOEUQhO,5;vOEZQhO,5;zOE`QhO,5<ROGVQ!jO,5<TOHxQ!jO,5<VOJqQ!jO,5<XOLdQ!jO,5<ZONVQ!jO,5<^O! fQ!jO,5<bO!#XQ!jO,5<dOOOP1G/`1G/`OOOP1G/i1G/iOOOP1G/n1G/nOOOP1G/x1G/xOOOP1G/}1G/}O!$zQhO,5:oO!%PQhO,5:uOOOP1G0r1G0rOOQW7+$]7+$]OsQhO1G/TO!%UQ!jO7+$fOOOP<<H`<<H`O!%]Q!jO,5<iOOQW-E9{-E9{OOOP<<Hv<<HvO!'XQ!jO<<HyO!'cQ!jO<<IROOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IZ<<IZO!'mQhO<<IZOOOP<<Ii<<IiO!'uQhO,5:{OOQW-E:Q-E:QOOOP<<Ik<<IkO!'zQ!jO,5:{OOOP<<Is<<IsOOQW1G0z1G0zOOQW1G1P1G1POOQW1G1Y1G1YOOQW1G1a1G1aOOQW1G1e1G1eOOQW1G1w1G1wO!)vQhO1G1_OsQhO1G1bOsQhO1G1fO!+jQhO1G1mO!-^QhO1G1mO!-cQhO1G1oOOQW'#GU'#GUO!/VQhO1G1qO!0|QhO1G1uOOOP1G0Z1G0ZOOOP1G0a1G0aO!2pQ!jO7+$oOOQW<<HQ<<HQOOQW'#Dq'#DqO!4lQhO'#DpOOQW'#GO'#GOO!6VQhOAN>eOOOPAN>eAN>eO!6_QhOAN>mOOOPAN>mAN>mO!6gQhOAN>uOOOPAN>uAN>uOsQhO1G0gO!]QhO1G0gO!6oQ!jO7+&|O!8RQ!jO7+'QO!9eQhO7+'XOOQW-E:S-E:SO!;XQhO<<HZOsQhO,5:[OOQW-E9|-E9|OOOPG24PG24POOOPG24XG24XOOOPG24aG24aO!=RQ!jO7+&ROOQW7+&R7+&RO!>zQhO<<JhO!@[QhO<<JlO!AlQhO<<JsO!C`Q!jO1G/v\",\n stateData: \"!Dx~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OgeOjfOkfOlfOmfOnfOofOpfO%RbO~OwhOxgO{iO!PjO!RkO!UlO!ZmO!_nO!boO!jpO!nqO!prO!rsO!utO!{uO#QvO#SwO#YxO#[yO#_zO#c{O#e|O#g}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jOa!rOb!lOc!mOr!nO%T!kO~OX!qO~P%}Oe!sOX%QX]%QXa%QXb%QXc%QXr%QX%T%QXi%QXx%QXu%QX#U%QX#V%QX%S%QXn%QX#j%QX#l%QX#o%QX#s%QX#u%QX#x%QX#|%QX$T%QX$X%QX$[%QX$^%QX$`%QX$b%QX$d%QX$g%QX$k%QX$m%QX#q%QX#z%QX$i%QXf%QX%R%QX#W%QX$Q%QX$V%QX~Or!nOx!wO~PsOx!zO~Ox#QO~Ox#RO~Oo#SO~Ox#TO~Ox#UO~On#pO#V#mO#j#gO#o#hO#s#iO#u#jO#x#kO#|#lO$T#nO$X#oO$[#qO$^#rO$`#sO$b#tO$d#uO$g#vO$k#wO$m#xO~Ox#yO~P*SO$zPOPWXQWXRWX~O}#{O~O!W#}O~O!]$PO~O!g$RO~O!l$TO~O$|!`OT!vX~OT$WO~O${!cOS!|X~OS$ZO~O#a$]O~O^$^O~O%R$bO~OX$eOr!nO~O]!jOa!rOb!lOc!mO%T!kO~Oi$hO~P-aOx$jO~P%}Or!nOx$jO~Ox$kO~P-aOx$lO~P-aOx$mO~P-aOx$nO~P-aOu$oOx$qO~P-aO!c$rO~O!c$sO~Ot$wOu$tOx$vO~Ox$yO~P%}Ou$zOx%OO#U$}O#V$}O~P-aOx%PO~P-aOx%RO~P%}Ox%SO~P-aOx%TO~P-aOx%UO~P-aO#l%XO~P*SO#q%[O~P*SO#z%_O~P*SO$Q%bO~P*SO$V%eO~P*SO$i%hO~P*SOx%jO~P*SOo%rO~Ox%zO~Ox%{O~Ox%|O~Ox%}O~Ox&OO~O!x&PO~O#O&QO~Ox&RO~O%S&SO~P-aO]!jO%T!kOX`ia`ic`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~Ob`i~P2|OX`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~P-aOt&TOXqarqaxqanqa#Vqa#jqa#oqa#sqa#uqa#xqa#|qa$Tqa$Xqa$[qa$^qa$`qa$bqa$dqa$gqa$kqa$mqa#lqa#qqa#zqa$Qqa$Vqa$iqa~Ob!lO~P2|OXdirdiidixdiudi#Udi#Vdi%Sdindi#jdi#ldi#odi#sdi#udi#xdi#|di$Tdi$Xdi$[di$^di$`di$bdi$ddi$gdi$kdi$mdi#qdi#zdi$idifdi%Rdi#Wdi$Qdi$Vdi~P-aOr!nOx&VO~Ou$oOx&YO~Oo&]O~Ou$tOx&_O~Oo&`O~Or!nOx&aO~Ou$zOx&dO#U$}O#V$}O~Or!nOx&fO~On#ia#V#ia#j#ia#l#ia#o#ia#s#ia#u#ia#x#ia#|#ia$T#ia$X#ia$[#ia$^#ia$`#ia$b#ia$d#ia$g#ia$k#ia$m#ia~P-aOn#na#V#na#j#na#o#na#q#na#s#na#u#na#x#na#|#na$T#na$X#na$[#na$^#na$`#na$b#na$d#na$g#na$k#na$m#na~P-aOn#rax#ra#V#ra#j#ra#o#ra#s#ra#u#ra#x#ra#|#ra$T#ra$X#ra$[#ra$^#ra$`#ra$b#ra$d#ra$g#ra$k#ra$m#ra#l#ra#q#ra#z#ra$Q#ra$V#ra$i#ra~P-aOn#wa#V#wa#j#wa#o#wa#s#wa#u#wa#x#wa#z#wa#|#wa$T#wa$X#wa$[#wa$^#wa$`#wa$b#wa$d#wa$g#wa$k#wa$m#wa~P-aOu$oOn#{ax#{a#V#{a#j#{a#o#{a#s#{a#u#{a#x#{a#|#{a$T#{a$X#{a$[#{a$^#{a$`#{a$b#{a$d#{a$g#{a$k#{a$m#{a#l#{a#q#{a#z#{a$Q#{a$V#{a$i#{a~P-aO!c&nO~O!c&oO~Ot&qOu$tOn$Zax$Za#V$Za#j$Za#o$Za#s$Za#u$Za#x$Za#|$Za$T$Za$X$Za$[$Za$^$Za$`$Za$b$Za$d$Za$g$Za$k$Za$m$Za#l$Za#q$Za#z$Za$Q$Za$V$Za$i$Za~On$]ax$]a#V$]a#j$]a#o$]a#s$]a#u$]a#x$]a#|$]a$T$]a$X$]a$[$]a$^$]a$`$]a$b$]a$d$]a$g$]a$k$]a$m$]a#l$]a#q$]a#z$]a$Q$]a$V$]a$i$]a~P%}Ou$zO#U$}O#V$}On$_ax$_a#j$_a#o$_a#s$_a#u$_a#x$_a#|$_a$T$_a$X$_a$[$_a$^$_a$`$_a$b$_a$d$_a$g$_a$k$_a$m$_a#l$_a#q$_a#z$_a$Q$_a$V$_a$i$_a~P-aOn$aax$aa#V$aa#j$aa#o$aa#s$aa#u$aa#x$aa#|$aa$T$aa$X$aa$[$aa$^$aa$`$aa$b$aa$d$aa$g$aa$k$aa$m$aa#l$aa#q$aa#z$aa$Q$aa$V$aa$i$aa~P-aOn$cax$ca#V$ca#j$ca#o$ca#s$ca#u$ca#x$ca#|$ca$T$ca$X$ca$[$ca$^$ca$`$ca$b$ca$d$ca$g$ca$k$ca$m$ca#l$ca#q$ca#z$ca$Q$ca$V$ca$i$ca~P%}On$fa#V$fa#j$fa#o$fa#s$fa#u$fa#x$fa#|$fa$T$fa$X$fa$[$fa$^$fa$`$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~P-aOn$jax$ja#V$ja#j$ja#o$ja#s$ja#u$ja#x$ja#|$ja$T$ja$X$ja$[$ja$^$ja$`$ja$b$ja$d$ja$g$ja$k$ja$m$ja#l$ja#q$ja#z$ja$Q$ja$V$ja$i$ja~P-aOn$lax$la#V$la#j$la#o$la#s$la#u$la#x$la#|$la$T$la$X$la$[$la$^$la$`$la$b$la$d$la$g$la$k$la$m$la#l$la#q$la#z$la$Q$la$V$la$i$la~P-aOx&vO~Ox&wO~Of&yO~P-aOu$qax$qan$qa#V$qa#j$qa#o$qa#s$qa#u$qa#x$qa#|$qa$T$qa$X$qa$[$qa$^$qa$`$qa$b$qa$d$qa$g$qa$k$qa$m$qa#l$qa#q$qa#z$qa$Q$qa$V$qa$i$qaX$qar$qa~P-aOx'OO%R&zO~P-aOx'QO%R&zO~P-aOu$tOx'SO~Ot'TO~O#W'UOu#Tax#Ta#U#Ta#V#Tan#Ta#j#Ta#o#Ta#s#Ta#u#Ta#x#Ta#|#Ta$T#Ta$X#Ta$[#Ta$^#Ta$`#Ta$b#Ta$d#Ta$g#Ta$k#Ta$m#Ta#l#Ta#q#Ta#z#Ta$Q#Ta$V#Ta$i#Ta~P-aOu$oOn#{ix#{i#V#{i#j#{i#o#{i#s#{i#u#{i#x#{i#|#{i$T#{i$X#{i$[#{i$^#{i$`#{i$b#{i$d#{i$g#{i$k#{i$m#{i#l#{i#q#{i#z#{i$Q#{i$V#{i$i#{i~Ou$tOn$Zix$Zi#V$Zi#j$Zi#o$Zi#s$Zi#u$Zi#x$Zi#|$Zi$T$Zi$X$Zi$[$Zi$^$Zi$`$Zi$b$Zi$d$Zi$g$Zi$k$Zi$m$Zi#l$Zi#q$Zi#z$Zi$Q$Zi$V$Zi$i$Zi~Oo'XO~Or!nOn$]ix$]i#V$]i#j$]i#o$]i#s$]i#u$]i#x$]i#|$]i$T$]i$X$]i$[$]i$^$]i$`$]i$b$]i$d$]i$g$]i$k$]i$m$]i#l$]i#q$]i#z$]i$Q$]i$V$]i$i$]i~Ou$zO#U$}O#V$}On$_ix$_i#j$_i#o$_i#s$_i#u$_i#x$_i#|$_i$T$_i$X$_i$[$_i$^$_i$`$_i$b$_i$d$_i$g$_i$k$_i$m$_i#l$_i#q$_i#z$_i$Q$_i$V$_i$i$_i~Or!nOn$cix$ci#V$ci#j$ci#o$ci#s$ci#u$ci#x$ci#|$ci$T$ci$X$ci$[$ci$^$ci$`$ci$b$ci$d$ci$g$ci$k$ci$m$ci#l$ci#q$ci#z$ci$Q$ci$V$ci$i$ci~Ou$oOXqqrqqxqqnqq#Vqq#jqq#oqq#sqq#uqq#xqq#|qq$Tqq$Xqq$[qq$^qq$`qq$bqq$dqq$gqq$kqq$mqq#lqq#qqq#zqq$Qqq$Vqq$iqq~P-aOt'[Ox!dX%R!dXn!dX#V!dX#j!dX#o!dX#s!dX#u!dX#x!dX#|!dX$Q!dX$T!dX$X!dX$[!dX$^!dX$`!dX$b!dX$d!dX$g!dX$k!dX$m!dX$V!dX~Ox'^O%R&zO~Ox'_O%R&zO~Ou$tOx'`O~O%R&zOn$Oq#V$Oq#j$Oq#o$Oq#s$Oq#u$Oq#x$Oq#|$Oq$Q$Oq$T$Oq$X$Oq$[$Oq$^$Oq$`$Oq$b$Oq$d$Oq$g$Oq$k$Oq$m$Oq~P-aO%R&zOn$Sq#V$Sq#j$Sq#o$Sq#s$Sq#u$Sq#x$Sq#|$Sq$T$Sq$V$Sq$X$Sq$[$Sq$^$Sq$`$Sq$b$Sq$d$Sq$g$Sq$k$Sq$m$Sq~P-aOu$tOn$Zqx$Zq#V$Zq#j$Zq#o$Zq#s$Zq#u$Zq#x$Zq#|$Zq$T$Zq$X$Zq$[$Zq$^$Zq$`$Zq$b$Zq$d$Zq$g$Zq$k$Zq$m$Zq#l$Zq#q$Zq#z$Zq$Q$Zq$V$Zq$i$Zq~Ou$oOXqyrqyxqynqy#Vqy#jqy#oqy#sqy#uqy#xqy#|qy$Tqy$Xqy$[qy$^qy$`qy$bqy$dqy$gqy$kqy$mqy#lqy#qqy#zqy$Qqy$Vqy$iqy~Ou#Tqx#Tq#U#Tq#V#Tqn#Tq#j#Tq#o#Tq#s#Tq#u#Tq#x#Tq#|#Tq$T#Tq$X#Tq$[#Tq$^#Tq$`#Tq$b#Tq$d#Tq$g#Tq$k#Tq$m#Tq#l#Tq#q#Tq#z#Tq$Q#Tq$V#Tq$i#Tq~P-aO%R&zOn$Oy#V$Oy#j$Oy#o$Oy#s$Oy#u$Oy#x$Oy#|$Oy$Q$Oy$T$Oy$X$Oy$[$Oy$^$Oy$`$Oy$b$Oy$d$Oy$g$Oy$k$Oy$m$Oy~O%R&zOn$Sy#V$Sy#j$Sy#o$Sy#s$Sy#u$Sy#x$Sy#|$Sy$T$Sy$V$Sy$X$Sy$[$Sy$^$Sy$`$Sy$b$Sy$d$Sy$g$Sy$k$Sy$m$Sy~Ou$tOn$Zyx$Zy#V$Zy#j$Zy#o$Zy#s$Zy#u$Zy#x$Zy#|$Zy$T$Zy$X$Zy$[$Zy$^$Zy$`$Zy$b$Zy$d$Zy$g$Zy$k$Zy$m$Zy#l$Zy#q$Zy#z$Zy$Q$Zy$V$Zy$i$Zy~Ox!di%R!din!di#V!di#j!di#o!di#s!di#u!di#x!di#|!di$Q!di$T!di$X!di$[!di$^!di$`!di$b!di$d!di$g!di$k!di$m!di$V!di~P-aO\",\n goto: \"7r%WPPPPPPPP%XP%X%i&yPP&y&yPPP&yPPP&yPPPPPPPP'wP(XPP([PP([(lP(|P([P([P([)SP)dP([)jP)zP([P([*QPP*b*l*vP([*|P+^P([P([P([P([+dP+t+wP([+zP,[,_P([P([P,bPPP([P([P([,jP,zP([P([P([P-Q-bP-rP-Q-xP.YP-QP-QP-Q.`P.pP-QP-Q.v/WP-Q/^P/nP-QP-Q-QP-QP-QP-QP-QP-Q/tP0UP-QP-QP0[0z1b2Q2`2r3U3[3b3h4WPPPPPP4^4nPPP%X7bm^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!m!r!s#g#h#i#k#l#r#s#t#u#v#w#x$h$o$r$s$}&T&n&o'T'[Q#OoQ#PpQ%p#mQ%q#nQ&b$zR'b'U!wfRehijlmnvwxyz{|!k!l!m!r!s#g#h#i#k#l#r#s#t#u#v#w#x$h$o$r$s$}&T&n&o'T'[m!och!p!u!v#V#Y$i$x%Q%s%v&r&uR$c!nm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#z!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#|!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR$O!WmWOTUVWX[`!Q!T!W!Z!^!ga&|&Z&[&}'P'V'W'c'da&{&Z&[&}'P'V'W'c'dQ!YWR$Q!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$S!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$V!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$Y!eS${#W$|T&s%t&tm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$[!gm#d}#^#_#`#a#b#c#f%W%Z%^%a%d%gm#^}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%V#^R&g%Wm#_}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%Y#_R&h%Zm#`}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%]#`R&i%^m#a}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%`#aR&j%am#b}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%c#bR&k%dm#c}#^#_#`#a#b#c#f%W%Z%^%a%d%gQ%f#cR&l%gQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!pcQ!vh^$d!p!v$i$x%Q&r&uQ$i!uQ$x#VQ%Q#YQ&r%sR&u%vQ$p!}U&X$p&m'ZQ&m%oR'Z&xQ&}&ZQ'P&[W']&}'P'c'dQ'c'VR'd'WQ$u#SW&^$u&p'R'eQ&p%rQ'R&`R'e'XQ!aYR$U!aQ!dZR$X!dQ$|#WR&c$|Q#f}Q%W#^Q%Z#_Q%^#`Q%a#aQ%d#bQ%g#c_%i#f%W%Z%^%a%d%gQ&t%tR'Y&tm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!teQ!uhQ!xiQ!yjQ!{lQ!|mQ!}nQ#VvQ#WwQ#XxQ#YyQ#ZzQ#[{Q#]|Q$_!kQ$`!lQ$a!mQ$f!rQ$g!sQ%k#gQ%l#hQ%m#iQ%n#kQ%o#lQ%s#rQ%t#sQ%u#tQ%v#uQ%w#vQ%x#wQ%y#xQ&U$hQ&W$oQ&Z$rQ&[$sQ&e$}Q&x&TQ'V&nQ'W&oQ'a'TR'f'[m#e}#^#_#`#a#b#c#f%W%Z%^%a%d%g\",\n nodeNames: \"⚠ {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement\",\n maxTerm: 191,\n nodeProps: [\n [\"closedBy\", 1,\"}}\",-4,2,3,4,5,\"%}\",23,\")\"],\n [\"openedBy\", 9,\"{{\",22,\"(\",40,\"{%\"],\n [\"group\", -13,11,12,15,16,20,24,26,27,28,29,30,31,32,\"Expression\"]\n ],\n skippedNodes: [0,6],\n repeatNodeCount: 11,\n tokenData: \")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%O~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOx~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ou~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WwQ%RT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%T~~)TO%S~~)YOr~~)]P#q#r)`~)eOX~\",\n tokenizers: [base, raw, comment, inlineComment, 0, 1, 2, 3],\n topRules: {\"Template\":[0,7]},\n specialized: [{term: 187, get: (value) => spec_identifier[value] || -1},{term: 39, get: (value) => spec_TagName[value] || -1}],\n tokenPrec: 0\n});\n\nfunction completions(words, type) {\n return words.split(\" \").map(label => ({ label, type }));\n}\nconst Filters = /*@__PURE__*/completions(\"abs append at_least at_most capitalize ceil compact concat date default \" +\n \"divided_by downcase escape escape_once first floor join last lstrip map minus modulo \" +\n \"newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip \" +\n \"size slice sort sort_natural split strip strip_html strip_newlines sum times truncate \" +\n \"truncatewords uniq upcase url_decode url_encode where\", \"function\");\nconst Tags = /*@__PURE__*/completions(\"cycle comment endcomment raw endraw echo increment decrement liquid if elsif \" +\n \"else endif unless endunless case endcase for endfor tablerow endtablerow break continue \" +\n \"assign capture endcapture render include\", \"keyword\");\nconst Expressions = /*@__PURE__*/completions(\"empty forloop tablerowloop in with as\", \"keyword\");\nconst forloop = /*@__PURE__*/completions(\"first index index0 last length rindex\", \"property\");\nconst tablerowloop = /*@__PURE__*/completions(\"col col0 col_first col_last first index index0 last length rindex rindex0 row\", \"property\");\nfunction findContext(context) {\n var _a;\n let { state, pos } = context;\n let node = syntaxTree(state).resolveInner(pos, -1).enterUnfinishedNodesBefore(pos);\n let before = ((_a = node.childBefore(pos)) === null || _a === void 0 ? void 0 : _a.name) || node.name;\n if (node.name == \"FilterName\")\n return { type: \"filter\", node };\n if (context.explicit && before == \"|\")\n return { type: \"filter\" };\n if (node.name == \"TagName\")\n return { type: \"tag\", node };\n if (context.explicit && before == \"{%\")\n return { type: \"tag\" };\n if (node.name == \"PropertyName\" && node.parent.name == \"MemberExpression\")\n return { type: \"property\", node, target: node.parent };\n if (node.name == \".\" && node.parent.name == \"MemberExpression\")\n return { type: \"property\", target: node.parent };\n if (node.name == \"MemberExpression\" && before == \".\")\n return { type: \"property\", target: node };\n if (node.name == \"VariableName\")\n return { type: \"expression\", from: node.from };\n let word = context.matchBefore(/[\\w\\u00c0-\\uffff]+$/);\n if (word)\n return { type: \"expression\", from: word.from };\n if (context.explicit && node.name != \"CommentText\" && node.name != \"StringLiteral\" &&\n node.name != \"NumberLiteral\" && node.name != \"InlineComment\")\n return { type: \"expression\" };\n return null;\n}\nfunction resolveProperties(state, node, context, properties) {\n let path = [];\n for (;;) {\n let obj = node.getChild(\"Expression\");\n if (!obj)\n return [];\n if (obj.name == \"forloop\") {\n return path.length ? [] : forloop;\n }\n else if (obj.name == \"tablerowloop\") {\n return path.length ? [] : tablerowloop;\n }\n else if (obj.name == \"VariableName\") {\n path.unshift(state.sliceDoc(obj.from, obj.to));\n break;\n }\n else if (obj.name == \"MemberExpression\") {\n let name = obj.getChild(\"PropertyName\");\n if (name)\n path.unshift(state.sliceDoc(name.from, name.to));\n node = obj;\n }\n else {\n return [];\n }\n }\n return properties ? properties(path, state, context) : [];\n}\n/**\nReturns a completion source for liquid templates. Optionally takes\na configuration that adds additional custom completions.\n*/\nfunction liquidCompletionSource(config = {}) {\n let filters = config.filters ? config.filters.concat(Filters) : Filters;\n let tags = config.tags ? config.tags.concat(Tags) : Tags;\n let exprs = config.variables ? config.variables.concat(Expressions) : Expressions;\n let { properties } = config;\n return (context) => {\n var _a;\n let cx = findContext(context);\n if (!cx)\n return null;\n let from = (_a = cx.from) !== null && _a !== void 0 ? _a : (cx.node ? cx.node.from : context.pos);\n let options;\n if (cx.type == \"filter\")\n options = filters;\n else if (cx.type == \"tag\")\n options = tags;\n else if (cx.type == \"expression\")\n options = exprs;\n else /* property */\n options = resolveProperties(context.state, cx.target, context, properties);\n return options.length ? { options, from, validFor: /^[\\w\\u00c0-\\uffff]*$/ } : null;\n };\n}\n/**\nThis extension will, when the user types a `%` between two\nmatching braces, insert two percent signs instead and put the\ncursor between them.\n*/\nconst closePercentBrace = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text) => {\n if (text != \"%\" || from != to || view.state.doc.sliceString(from - 1, to + 1) != \"{}\")\n return false;\n view.dispatch(view.state.changeByRange(range => ({\n changes: { from: range.from, to: range.to, insert: \"%%\" },\n range: EditorSelection.cursor(range.from + 1)\n })), {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n return true;\n});\n\nfunction directiveIndent(except) {\n return (context) => {\n let back = except.test(context.textAfter);\n return context.lineIndent(context.node.from) + (back ? 0 : context.unit);\n };\n}\nconst tagLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"liquid\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/styleTags({\n \"cycle comment endcomment raw endraw echo increment decrement liquid in with as\": tags.keyword,\n \"empty forloop tablerowloop\": tags.atom,\n \"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue\": tags.controlKeyword,\n \"assign capture endcapture\": tags.definitionKeyword,\n \"contains\": tags.operatorKeyword,\n \"render include\": tags.moduleKeyword,\n VariableName: tags.variableName,\n TagName: tags.tagName,\n FilterName: /*@__PURE__*/tags.function(tags.variableName),\n PropertyName: tags.propertyName,\n CompareOp: tags.compareOperator,\n AssignOp: tags.definitionOperator,\n LogicOp: tags.logicOperator,\n NumberLiteral: tags.number,\n StringLiteral: tags.string,\n BooleanLiteral: tags.bool,\n InlineComment: tags.lineComment,\n CommentText: tags.blockComment,\n \"{% %} {{ }}\": tags.brace,\n \"[ ]\": tags.bracket,\n \"( )\": tags.paren,\n \".\": tags.derefOperator,\n \", .. : |\": tags.punctuation\n }),\n /*@__PURE__*/indentNodeProp.add({\n Tag: /*@__PURE__*/delimitedIndent({ closing: \"%}\" }),\n \"UnlessDirective ForDirective TablerowDirective CaptureDirective\": /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?end\\w/),\n IfDirective: /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?(endif|else|elsif)\\b/),\n CaseDirective: /*@__PURE__*/directiveIndent(/^\\s*(\\{%-?\\s*)?(endcase|when)\\b/),\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment\"(tree) {\n let first = tree.firstChild, last = tree.lastChild;\n if (!first || first.name != \"Tag\")\n return null;\n return { from: first.to, to: last.name == \"EndTag\" ? last.from : tree.to };\n }\n })\n ]\n }),\n languageData: {\n commentTokens: { line: \"#\" },\n indentOnInput: /^\\s*{%-?\\s*(?:end|elsif|else|when|)$/\n }\n});\nconst baseHTML = /*@__PURE__*/html();\nfunction makeLiquid(base) {\n return tagLanguage.configure({\n wrap: parseMixed(node => node.type.isTop ? {\n parser: base.parser,\n overlay: n => n.name == \"Text\" || n.name == \"RawText\"\n } : null)\n }, \"liquid\");\n}\n/**\nA language provider for Liquid templates.\n*/\nconst liquidLanguage = /*@__PURE__*/makeLiquid(baseHTML.language);\n/**\nLiquid template support.\n*/\nfunction liquid(config = {}) {\n let base = config.base || baseHTML;\n let lang = base.language == baseHTML.language ? liquidLanguage : makeLiquid(base.language);\n return new LanguageSupport(lang, [\n base.support,\n lang.data.of({ autocomplete: liquidCompletionSource(config) }),\n base.language.data.of({ closeBrackets: { brackets: [\"{\"] } }),\n closePercentBrace\n ]);\n}\n\nexport { closePercentBrace, liquid, liquidCompletionSource, liquidLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { M as e, N as t, V as n, n as r, r as i, s as a, u as o } from "./dist-JOgG1zY3.js";
2
- import { n as s } from "./dist-BpT8aqtS.js";
3
- import { r as c } from "./dist-NKG-Bt-Q.js";
1
+ import { M as e, N as t, V as n, n as r, r as i, s as a, u as o } from "./dist-CIN_Avbm.js";
2
+ import { n as s } from "./dist-ukeBjdwq.js";
3
+ import { r as c } from "./dist-CePpgudw.js";
4
4
  //#region ../../node_modules/.pnpm/@codemirror+lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.js
5
5
  var l = 1, u = 33, d = 34, f = 35, p = 36, m = /* @__PURE__ */ new r((e) => {
6
6
  let t = e.pos;
@@ -117,4 +117,4 @@ function N(e = {}) {
117
117
  //#endregion
118
118
  export { N as angular };
119
119
 
120
- //# sourceMappingURL=dist-Bb1zRSg4.js.map
120
+ //# sourceMappingURL=dist-BGXTbYew2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-BGXTbYew2.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.js"],"sourcesContent":["import { LRLanguage, LanguageSupport } from '@codemirror/language';\nimport { html } from '@codemirror/lang-html';\nimport { javascriptLanguage } from '@codemirror/lang-javascript';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst Text = 1,\n attributeContentSingle = 33,\n attributeContentDouble = 34,\n scriptAttributeContentSingle = 35,\n scriptAttributeContentDouble = 36;\n\nconst text = /*@__PURE__*/new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n if (input.next == 10 /* Ch.Newline */) {\n input.advance();\n break;\n }\n else if (input.next == 123 /* Ch.BraceL */ && input.peek(1) == 123 /* Ch.BraceL */ || input.next < 0) {\n break;\n }\n input.advance();\n }\n if (input.pos > start)\n input.acceptToken(Text);\n});\nfunction attrContent(quote, token, script) {\n return new ExternalTokenizer(input => {\n let start = input.pos;\n while (input.next != quote && input.next >= 0 &&\n (script || input.next != 38 /* Ch.Ampersand */ && (input.next != 123 /* Ch.BraceL */ || input.peek(1) != 123 /* Ch.BraceL */)))\n input.advance();\n if (input.pos > start)\n input.acceptToken(token);\n });\n}\nconst attrSingle = /*@__PURE__*/attrContent(39 /* Ch.SingleQuote */, attributeContentSingle, false);\nconst attrDouble = /*@__PURE__*/attrContent(34 /* Ch.DoubleQuote */, attributeContentDouble, false);\nconst scriptAttrSingle = /*@__PURE__*/attrContent(39 /* Ch.SingleQuote */, scriptAttributeContentSingle, true);\nconst scriptAttrDouble = /*@__PURE__*/attrContent(34 /* Ch.DoubleQuote */, scriptAttributeContentDouble, true);\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO<<GrOOQO<<Gr<<GrOOQO1G/[1G/[OOOS-E6x-E6xOOQO1G.}1G.}OOOQ-E6y-E6yOOQOAN=^AN=^\",\n stateData: \"&d~OvOS~OPROSQOVROWRO~OZTO[XO^VOaUOhWO~OR]OU^O~O[`O^aO~O[bO~O[cO~O[dO~ObeO~ObfO~ObgO~ORhO~O]kOwiO~O[lO~O_mO~OynOzoO~OysOztO~O[uO~O]wOwiO~O_yOwiO~OtzO~Os|O~OSQOV!OOW!OOr!OOy!QO~OSQOV!ROW!ROq!ROz!QO~O_!TOwiO~O]!UO~Oy!VO~Oz!VO~OSQOV!OOW!OOr!OOy!XO~OSQOV!ROW!ROq!ROz!XO~O]!ZO~O\",\n goto: \"#dyPPPPPzPPPP!WPPPPP!WPP!Z!^!a!d!dP!g!j!m!p!v#Q#WPPPPPPPP#^SROSS!Os!PT!Rt!SRYPRqeR{nR}oRZPRqfR[PRqgQSOR_SQj`SvjxRxlQ!PsR!W!PQ!StR!Y!SQpeRrf\",\n nodeNames: \"⚠ Text Content }} {{ Interpolation InterpolationContent Entity InvalidEntity Attribute BoundAttributeName [ Identifier ] ( ) ReferenceName # Is ExpressionAttributeValue AttributeInterpolation AttributeInterpolation EventName DirectiveName * StatementAttributeValue AttributeName AttributeValue\",\n maxTerm: 42,\n nodeProps: [\n [\"openedBy\", 3,\"{{\",15,\"(\"],\n [\"closedBy\", 4,\"}}\",14,\")\"],\n [\"isolate\", -4,5,19,25,27,\"\"]\n ],\n skippedNodes: [0],\n repeatNodeCount: 4,\n tokenData: \"0r~RyOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mqr#rrs%jst&Qtv#rvw&hwx)zxy*byz*xz{+`{}#r}!O+v!O!P-]!P!Q#r!Q![+v![!]+v!]!_#r!_!`-s!`!c#r!c!}+v!}#O.Z#O#P#r#P#Q.q#Q#R#r#R#S+v#S#T#r#T#o+v#o#p/X#p#q#r#q#r0Z#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vQ#wTUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rQ$ZSO#q#r#r;'S#r;'S;=`$g<%lO#rQ$jP;=`<%l#rR$t[UQvPOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mq#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR%qTyPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&XTaPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&oXUQWPOp'[pq#rq!]'[!]!^#r!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R'aXUQOp'[pq#rq!]'[!]!^'|!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R(TTVPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR(gXOp'[pq#rq!]'[!]!^'|!^#q'[#q#r)S#r;'S'[;'S;=`)t<%lO'[P)VUOp)Sq!])S!]!^)i!^;'S)S;'S;=`)n<%lO)SP)nOVPP)qP;=`<%l)SR)wP;=`<%l'[R*RTzPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR*iT^PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+PT_PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+gThPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+}b[PUQO}#r}!O+v!O!Q#r!Q![+v![!]+v!]!c#r!c!}+v!}#R#r#R#S+v#S#T#r#T#o+v#o#q#r#q#r$W#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vR-YP;=`<%l+vR-dTwPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR-zTUQbPO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.bTZPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.xT]PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/^VUQO#o#r#o#p/s#p#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/zTSPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#r~0^TO#q#r#q#r0m#r;'S#r;'S;=`$g<%lO#r~0rOR~\",\n tokenizers: [text, attrSingle, attrDouble, scriptAttrSingle, scriptAttrDouble, 0, 1],\n topRules: {\"Content\":[0,2],\"Attribute\":[1,9]},\n tokenPrec: 0\n});\n\nconst exprParser = /*@__PURE__*/javascriptLanguage.parser.configure({\n top: \"SingleExpression\"\n});\nconst baseParser = /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/styleTags({\n Text: tags.content,\n Is: tags.definitionOperator,\n AttributeName: tags.attributeName,\n \"AttributeValue ExpressionAttributeValue StatementAttributeValue\": tags.attributeValue,\n Entity: tags.character,\n InvalidEntity: tags.invalid,\n \"BoundAttributeName/Identifier\": tags.attributeName,\n \"EventName/Identifier\": /*@__PURE__*/tags.special(tags.attributeName),\n \"ReferenceName/Identifier\": tags.variableName,\n \"DirectiveName/Identifier\": tags.keyword,\n \"{{ }}\": tags.brace,\n \"( )\": tags.paren,\n \"[ ]\": tags.bracket,\n \"# '*'\": tags.punctuation\n })\n ]\n});\nconst exprMixed = { parser: exprParser }, statementMixed = { parser: javascriptLanguage.parser };\nconst textParser = /*@__PURE__*/baseParser.configure({\n wrap: /*@__PURE__*/parseMixed((node, input) => node.name == \"InterpolationContent\" ? exprMixed : null),\n});\nconst attrParser = /*@__PURE__*/baseParser.configure({\n wrap: /*@__PURE__*/parseMixed((node, input) => {\n var _a;\n return node.name == \"InterpolationContent\" ? exprMixed\n : node.name != \"AttributeInterpolation\" ? null\n : ((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.name) == \"StatementAttributeValue\" ? statementMixed : exprMixed;\n }),\n top: \"Attribute\"\n});\nconst textMixed = { parser: textParser }, attrMixed = { parser: attrParser };\nconst baseHTML = /*@__PURE__*/html({ selfClosingTags: true });\nfunction mkAngular(language) {\n return language.configure({ wrap: parseMixed(mixAngular) }, \"angular\");\n}\n/**\nA language provider for Angular Templates.\n*/\nconst angularLanguage = /*@__PURE__*/mkAngular(baseHTML.language);\nfunction mixAngular(node, input) {\n switch (node.name) {\n case \"Attribute\":\n return /^[*#(\\[]|\\{\\{/.test(input.read(node.from, node.to)) ? attrMixed : null;\n case \"Text\":\n return textMixed;\n }\n return null;\n}\n/**\nAngular Template language support.\n*/\nfunction angular(config = {}) {\n let base = baseHTML;\n if (config.base) {\n if (config.base.language.name != \"html\" || !(config.base.language instanceof LRLanguage))\n throw new RangeError(\"The base option must be the result of calling html(...)\");\n base = config.base;\n }\n return new LanguageSupport(base.language == baseHTML.language ? angularLanguage : mkAngular(base.language), [base.support, base.language.data.of({\n closeBrackets: { brackets: [\"[\", \"{\", '\"'] },\n indentOnInput: /^\\s*[\\}\\]]$/\n })]);\n}\n\nexport { angular, angularLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { C as e, M as t, N as n, _ as r, g as i, m as a, r as o, s, u as c, v as l, y as u } from "./dist-JOgG1zY3.js";
1
+ import { C as e, M as t, N as n, _ as r, g as i, m as a, r as o, s, u as c, v as l, y as u } from "./dist-CIN_Avbm.js";
2
2
  //#region ../../node_modules/.pnpm/@lezer+java@1.1.3/node_modules/@lezer/java/dist/index.js
3
3
  var d = t({
4
4
  null: n.null,
@@ -264,4 +264,4 @@ function h() {
264
264
  //#endregion
265
265
  export { h as java };
266
266
 
267
- //# sourceMappingURL=dist-BrlD3co0.js.map
267
+ //# sourceMappingURL=dist-BL9cumqH.js.map