@templatical/editor 0.23.0 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/{AiChatSidebar-Bru6-ziQ.js → AiChatSidebar-X4viKtvs.js} +14 -14
  2. package/dist/{AiFeatureMenu-CcqjRMFW.js → AiFeatureMenu-DDAamRaA.js} +7 -7
  3. package/dist/{BlockIssueBadge-Dmj9rVra.js → BlockIssueBadge-Qxrl7Ujl.js} +5 -5
  4. package/dist/BlockPreviewCanvas-Cf-kxbEr.js +117 -0
  5. package/dist/{CloudEditor-iK4vkpNm.js → CloudEditor-JIzhj1Xq.js} +134 -129
  6. package/dist/{CollaboratorBar-C_1SF7Xf.js → CollaboratorBar-tC7AACTb.js} +4 -4
  7. package/dist/{ColorPicker-s9GHXjZs.js → ColorPicker--_2PbzFk.js} +9 -11
  8. package/dist/{CommentsSidebar-DvNEdugN.js → CommentsSidebar-Ci2Ov8FG.js} +15 -15
  9. package/dist/{CountdownBlock-J_Q9JRQM.js → CountdownBlock-aZIKfBWY.js} +3 -3
  10. package/dist/{CountdownToolbar-DPRcv3Fu.js → CountdownToolbar-DHp6T0Q_.js} +4 -4
  11. package/dist/DesignReferenceSidebar-DQsC-3hB.js +264 -0
  12. package/dist/{IssuesPanel-CEnEGFtd.js → IssuesPanel-CoOfib44.js} +8 -8
  13. package/dist/{LoadingTrack-KIcREPlS.js → LoadingTrack-XK_eeUdq.js} +1 -1
  14. package/dist/MergeTagModeToggle-CiFiSV0C.js +180 -0
  15. package/dist/{MergeTagSuggestion-D9eCryMC.js → MergeTagSuggestion-D0OHRv7L.js} +9 -13
  16. package/dist/{NumberWithSuffix-CCPN_oCh.js → NumberWithSuffix-CXFbUqsx.js} +2 -2
  17. package/dist/{ParagraphEditor-MKJYyWN9.js → ParagraphEditor-Cy-bpEjI.js} +45 -45
  18. package/dist/{RichTextEditorContent-FbnWsh46.js → RichTextEditorContent-CYJko6id.js} +9 -9
  19. package/dist/{SaveBlockDialog-CFAJHP3v.js → SaveBlockDialog-CNTSaMEa.js} +11 -11
  20. package/dist/{SavedBlocksBrowserModal-C_-Xcm0Q.js → SavedBlocksBrowserModal-CvxS5-YX.js} +11 -11
  21. package/dist/{SavedBlocksPanels-CRf7zzFn.js → SavedBlocksPanels-CNdUxS89.js} +2 -2
  22. package/dist/{SavedBlocksPickBar-C1FTJP-I.js → SavedBlocksPickBar-BvXKhblL.js} +4 -4
  23. package/dist/{SnapshotHistory-DWlQ3Eh0.js → SnapshotHistory-BqPSIV9L.js} +10 -10
  24. package/dist/{TemplateScoringPanel-ifGGGWs5.js → TemplateScoringPanel-CMEuz9yF.js} +15 -15
  25. package/dist/{TestEmailModal-D90-3Yex.js → TestEmailModal-BDhnnCBx.js} +71 -59
  26. package/dist/{TestEmailPanel-B0u_Yd3X.js → TestEmailPanel--RwnwLn2.js} +2 -2
  27. package/dist/{TitleEditor-DzsPxKv4.js → TitleEditor-F7E_pU9H.js} +13 -13
  28. package/dist/TplModal-BIiS24Of.js +49 -0
  29. package/dist/{blockTypeIcons-CpKkI47V.js → blockTypeIcons-C6PnLMp7.js} +26 -26
  30. package/dist/bundle-stats.json +6 -6
  31. package/dist/{ca-D47BxSGu.js → ca-CO4nq6TX.js} +8 -1
  32. package/dist/cdn/chunks/{AiChatSidebar-BMnsF8G6.js → AiChatSidebar-UbF3ePzR.js} +15 -15
  33. package/dist/cdn/chunks/{AiChatSidebar-BMnsF8G6.js.map → AiChatSidebar-UbF3ePzR.js.map} +1 -1
  34. package/dist/cdn/chunks/{AiFeatureMenu-hWgWQg11.js → AiFeatureMenu-OIwoJzHG.js} +9 -9
  35. package/dist/cdn/chunks/{AiFeatureMenu-hWgWQg11.js.map → AiFeatureMenu-OIwoJzHG.js.map} +1 -1
  36. package/dist/cdn/chunks/{BlockIssueBadge-Da4yR-mh.js → BlockIssueBadge-Bd2EuT1C.js} +5 -5
  37. package/dist/cdn/chunks/{BlockIssueBadge-Da4yR-mh.js.map → BlockIssueBadge-Bd2EuT1C.js.map} +1 -1
  38. package/dist/cdn/chunks/BlockPreviewCanvas-C-ut8GkJ.js +119 -0
  39. package/dist/cdn/chunks/BlockPreviewCanvas-C-ut8GkJ.js.map +1 -0
  40. package/dist/cdn/chunks/{CloudEditor-S8zLHtKb.js → CloudEditor-D87qsqbZ.js} +133 -128
  41. package/dist/cdn/chunks/CloudEditor-D87qsqbZ.js.map +1 -0
  42. package/dist/cdn/chunks/{CollaboratorBar-mkJVAkSh.js → CollaboratorBar-Br4RvNrA.js} +5 -5
  43. package/dist/cdn/chunks/{CollaboratorBar-mkJVAkSh.js.map → CollaboratorBar-Br4RvNrA.js.map} +1 -1
  44. package/dist/cdn/chunks/{ColorPicker-DZSzZ5ZP.js → ColorPicker-B-ymPPtU.js} +10 -12
  45. package/dist/cdn/chunks/{ColorPicker-DZSzZ5ZP.js.map → ColorPicker-B-ymPPtU.js.map} +1 -1
  46. package/dist/cdn/chunks/{CommentsSidebar-DHdRiGPX.js → CommentsSidebar-Tv_WTcJv.js} +19 -19
  47. package/dist/cdn/chunks/{CommentsSidebar-DHdRiGPX.js.map → CommentsSidebar-Tv_WTcJv.js.map} +1 -1
  48. package/dist/cdn/chunks/{CountdownBlock-Bffpoppw.js → CountdownBlock-cEcXSK91.js} +4 -4
  49. package/dist/cdn/chunks/{CountdownBlock-Bffpoppw.js.map → CountdownBlock-cEcXSK91.js.map} +1 -1
  50. package/dist/cdn/chunks/{CountdownToolbar-DAnmIZjq.js → CountdownToolbar-CLp3_ebk.js} +5 -5
  51. package/dist/cdn/chunks/{CountdownToolbar-DAnmIZjq.js.map → CountdownToolbar-CLp3_ebk.js.map} +1 -1
  52. package/dist/cdn/chunks/{DesignReferenceSidebar-CM-k15pd.js → DesignReferenceSidebar-YeqxSsxO.js} +33 -33
  53. package/dist/cdn/chunks/{DesignReferenceSidebar-CM-k15pd.js.map → DesignReferenceSidebar-YeqxSsxO.js.map} +1 -1
  54. package/dist/cdn/chunks/{IssuesPanel-D80JedOj.js → IssuesPanel-BhsvC3XQ.js} +10 -10
  55. package/dist/cdn/chunks/{IssuesPanel-D80JedOj.js.map → IssuesPanel-BhsvC3XQ.js.map} +1 -1
  56. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js → LoadingTrack-G2tuXqCJ.js} +2 -2
  57. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js.map → LoadingTrack-G2tuXqCJ.js.map} +1 -1
  58. package/dist/cdn/chunks/MergeTagModeToggle-DrdxQA0K.js +127 -0
  59. package/dist/cdn/chunks/MergeTagModeToggle-DrdxQA0K.js.map +1 -0
  60. package/dist/cdn/chunks/{MergeTagSuggestion-BM349_QH.js → MergeTagSuggestion-Ces5Ua78.js} +3 -3
  61. package/dist/cdn/chunks/{MergeTagSuggestion-BM349_QH.js.map → MergeTagSuggestion-Ces5Ua78.js.map} +1 -1
  62. package/dist/cdn/chunks/{NumberWithSuffix-CjlVNIEe.js → NumberWithSuffix-BK_Xh4w4.js} +3 -3
  63. package/dist/cdn/chunks/{NumberWithSuffix-CjlVNIEe.js.map → NumberWithSuffix-BK_Xh4w4.js.map} +1 -1
  64. package/dist/cdn/chunks/{ParagraphEditor-J-1RLyi7.js → ParagraphEditor-DKz4vTWB.js} +128 -128
  65. package/dist/cdn/chunks/{ParagraphEditor-J-1RLyi7.js.map → ParagraphEditor-DKz4vTWB.js.map} +1 -1
  66. package/dist/cdn/chunks/{RichTextEditorContent-BbdgJqWM.js → RichTextEditorContent-CJ2WVicQ.js} +8 -8
  67. package/dist/cdn/chunks/{RichTextEditorContent-BbdgJqWM.js.map → RichTextEditorContent-CJ2WVicQ.js.map} +1 -1
  68. package/dist/cdn/chunks/{SaveBlockDialog-Bi_Z3kuA.js → SaveBlockDialog-DTemkKPX.js} +9 -9
  69. package/dist/cdn/chunks/{SaveBlockDialog-Bi_Z3kuA.js.map → SaveBlockDialog-DTemkKPX.js.map} +1 -1
  70. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CesYxFsH.js → SavedBlocksBrowserModal-DbMaIbeH.js} +9 -9
  71. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CesYxFsH.js.map → SavedBlocksBrowserModal-DbMaIbeH.js.map} +1 -1
  72. package/dist/cdn/chunks/{SavedBlocksPanels-BsSpJwrW.js → SavedBlocksPanels-CUffuDAC.js} +3 -3
  73. package/dist/cdn/chunks/{SavedBlocksPanels-BsSpJwrW.js.map → SavedBlocksPanels-CUffuDAC.js.map} +1 -1
  74. package/dist/cdn/chunks/{SavedBlocksPickBar-CduR1Cpb.js → SavedBlocksPickBar-D7SmNz2n.js} +7 -7
  75. package/dist/cdn/chunks/{SavedBlocksPickBar-CduR1Cpb.js.map → SavedBlocksPickBar-D7SmNz2n.js.map} +1 -1
  76. package/dist/cdn/chunks/{SnapshotHistory-DO-gzr3i.js → SnapshotHistory-m5Z8bTej.js} +10 -10
  77. package/dist/cdn/chunks/{SnapshotHistory-DO-gzr3i.js.map → SnapshotHistory-m5Z8bTej.js.map} +1 -1
  78. package/dist/cdn/chunks/{TemplateScoringPanel-CTk8WwxU.js → TemplateScoringPanel-DgRU5fty.js} +53 -53
  79. package/dist/cdn/chunks/{TemplateScoringPanel-CTk8WwxU.js.map → TemplateScoringPanel-DgRU5fty.js.map} +1 -1
  80. package/dist/cdn/chunks/TestEmailModal-Ce8-vzGh.js +174 -0
  81. package/dist/cdn/chunks/TestEmailModal-Ce8-vzGh.js.map +1 -0
  82. package/dist/cdn/chunks/{TestEmailPanel-048m0kxX.js → TestEmailPanel-BlmIKKSL.js} +3 -3
  83. package/dist/cdn/chunks/{TestEmailPanel-048m0kxX.js.map → TestEmailPanel-BlmIKKSL.js.map} +1 -1
  84. package/dist/cdn/chunks/{TitleEditor-J1vgU_J6.js → TitleEditor-C6_bQxYR.js} +19 -19
  85. package/dist/cdn/chunks/{TitleEditor-J1vgU_J6.js.map → TitleEditor-C6_bQxYR.js.map} +1 -1
  86. package/dist/cdn/chunks/TplModal-D6bFON2K.js +50 -0
  87. package/dist/cdn/chunks/TplModal-D6bFON2K.js.map +1 -0
  88. package/dist/cdn/chunks/blockTypeIcons-B8s3_ahs.js +21 -0
  89. package/dist/cdn/chunks/{blockTypeIcons-etMMQoVv.js.map → blockTypeIcons-B8s3_ahs.js.map} +1 -1
  90. package/dist/cdn/chunks/{ca-D47BxSGu.js → ca-CO4nq6TX.js} +9 -2
  91. package/dist/cdn/chunks/{ca-D47BxSGu.js.map → ca-CO4nq6TX.js.map} +1 -1
  92. package/dist/cdn/chunks/{cloud-F-aVi9hj.js → cloud-CRlDc0Ev.js} +13 -17
  93. package/dist/cdn/chunks/{cloud-F-aVi9hj.js.map → cloud-CRlDc0Ev.js.map} +1 -1
  94. package/dist/{de-CnnxBwh7.js → cdn/chunks/de-CUeaFJph.js} +10 -1
  95. package/dist/cdn/chunks/{de-CnnxBwh7.js.map → de-CUeaFJph.js.map} +1 -1
  96. package/dist/cdn/chunks/{dist-CxTt8FRE.js → dist-B8AX9np4.js} +16 -12
  97. package/dist/cdn/chunks/dist-B8AX9np4.js.map +1 -0
  98. package/dist/cdn/chunks/{dist-CiBEt0VR.js → dist-lZgXNk4G.js} +36 -20
  99. package/dist/cdn/chunks/dist-lZgXNk4G.js.map +1 -0
  100. package/dist/cdn/chunks/{draggable-D840DIZB.js → draggable-JcMTNF3U.js} +14 -15
  101. package/dist/cdn/chunks/{draggable-D840DIZB.js.map → draggable-JcMTNF3U.js.map} +1 -1
  102. package/dist/{en-5gW-bYy2.js → cdn/chunks/en-zCYIPAL5.js} +10 -1
  103. package/dist/cdn/chunks/{en-5gW-bYy2.js.map → en-zCYIPAL5.js.map} +1 -1
  104. package/dist/cdn/chunks/{es-sQ9SdI0l.js → es-BSiH7YkP.js} +9 -2
  105. package/dist/cdn/chunks/{es-sQ9SdI0l.js.map → es-BSiH7YkP.js.map} +1 -1
  106. package/dist/cdn/chunks/{extensions-C49c51P1.js → extensions-CKMD_er_.js} +25 -21
  107. package/dist/cdn/chunks/{extensions-C49c51P1.js.map → extensions-CKMD_er_.js.map} +1 -1
  108. package/dist/{fr-DBZ5w21C.js → cdn/chunks/fr-DTVJ3det.js} +10 -1
  109. package/dist/cdn/chunks/fr-DTVJ3det.js.map +1 -0
  110. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js → htmlparser-CPhs2cYE.js} +3 -5
  111. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js.map → htmlparser-CPhs2cYE.js.map} +1 -1
  112. package/dist/cdn/chunks/{icons-CYWw8Xfp.js → icons-Cp4ZIJw-.js} +65 -44
  113. package/dist/cdn/chunks/icons-Cp4ZIJw-.js.map +1 -0
  114. package/dist/cdn/chunks/keys-CswSK7eb.js +12 -0
  115. package/dist/cdn/chunks/keys-CswSK7eb.js.map +1 -0
  116. package/dist/cdn/chunks/{liquid.browser-BJOEu6Cg.js → liquid.browser-CZaQe87t.js} +756 -718
  117. package/dist/cdn/chunks/liquid.browser-CZaQe87t.js.map +1 -0
  118. package/dist/cdn/chunks/{nl-DOL7Fnfo.js → nl-BqSquFS3.js} +9 -2
  119. package/dist/cdn/chunks/nl-BqSquFS3.js.map +1 -0
  120. package/dist/{pt-BR-DRCdHX1d.js → cdn/chunks/pt-BR-CMljK37h.js} +10 -1
  121. package/dist/cdn/chunks/{pt-BR-DRCdHX1d.js.map → pt-BR-CMljK37h.js.map} +1 -1
  122. package/dist/cdn/chunks/{pusher-R0v5p99W.js → pusher-kUlkqMvR.js} +21 -28
  123. package/dist/cdn/chunks/{pusher-R0v5p99W.js.map → pusher-kUlkqMvR.js.map} +1 -1
  124. package/dist/cdn/chunks/{rolldown-runtime-Dqa2HsxW.js → rolldown-runtime-B0aSnxlc.js} +2 -2
  125. package/dist/cdn/chunks/{src-SluTVSz_.js → src-B3HKHglu.js} +19 -23
  126. package/dist/cdn/chunks/{src-SluTVSz_.js.map → src-B3HKHglu.js.map} +1 -1
  127. package/dist/cdn/chunks/{src-CM0gCvAS.js → src-B4UhYbI8.js} +253 -253
  128. package/dist/cdn/chunks/{src-CM0gCvAS.js.map → src-B4UhYbI8.js.map} +1 -1
  129. package/dist/cdn/chunks/{src-CzoMNRq4.js → src-CumZZNXZ.js} +542 -806
  130. package/dist/cdn/chunks/{src-CzoMNRq4.js.map → src-CumZZNXZ.js.map} +1 -1
  131. package/dist/cdn/chunks/{src-BKI1x1k7.js → src-D5mfLR4V.js} +183 -165
  132. package/dist/cdn/chunks/{src-BKI1x1k7.js.map → src-D5mfLR4V.js.map} +1 -1
  133. package/dist/cdn/chunks/{styles-BbfU2w9R.js → styles--m9OCb_Z.js} +730 -723
  134. package/dist/cdn/chunks/styles--m9OCb_Z.js.map +1 -0
  135. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +6 -0
  136. package/dist/cdn/chunks/{timeouts-Bmi_yePw.js.map → timeouts-SsLMC4a3.js.map} +1 -1
  137. package/dist/cdn/chunks/{tiptap-DUTbZTeR.js → tiptap-rsib432n.js} +136 -123
  138. package/dist/cdn/chunks/tiptap-rsib432n.js.map +1 -0
  139. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js → useAliveFlag-CseYNikC.js} +2 -2
  140. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js.map → useAliveFlag-CseYNikC.js.map} +1 -1
  141. package/dist/cdn/chunks/{useCloudI18n-BjNENqkM.js → useCloudI18n-sx1pqEbY.js} +3 -3
  142. package/dist/cdn/chunks/{useCloudI18n-BjNENqkM.js.map → useCloudI18n-sx1pqEbY.js.map} +1 -1
  143. package/dist/cdn/chunks/{useEditorCore-CzMhD6Gd.js → useEditorCore-ZqF7P99K.js} +457 -435
  144. package/dist/cdn/chunks/useEditorCore-ZqF7P99K.js.map +1 -0
  145. package/dist/cdn/chunks/{useI18n-8Wd7G-cq.js → useI18n-vD57BfVR.js} +3 -3
  146. package/dist/cdn/chunks/{useI18n-8Wd7G-cq.js.map → useI18n-vD57BfVR.js.map} +1 -1
  147. package/dist/cdn/chunks/{useMergeTag-C7G31KV-.js → useMergeTag-HatzNGgc.js} +5 -5
  148. package/dist/cdn/chunks/{useMergeTag-C7G31KV-.js.map → useMergeTag-HatzNGgc.js.map} +1 -1
  149. package/dist/cdn/chunks/{usePopoverPosition-Bx0QewTv.js → usePopoverPosition-BdQ3Sv4B.js} +3 -3
  150. package/dist/cdn/chunks/{usePopoverPosition-Bx0QewTv.js.map → usePopoverPosition-BdQ3Sv4B.js.map} +1 -1
  151. package/dist/cdn/editor.css +1 -1
  152. package/dist/cdn/editor.js +144 -139
  153. package/dist/cdn/editor.js.map +1 -1
  154. package/dist/{check-BpQDKiPz.js → check-CIhIDh4h.js} +1 -1
  155. package/dist/{chevron-down-j8GrdTyz.js → chevron-down-CZ0m6G3s.js} +1 -1
  156. package/dist/{chevron-up-BACyVhyC.js → chevron-up-BH_tJLeb.js} +1 -1
  157. package/dist/{circle-alert-CgtE46ND.js → circle-alert-DkEXnGPV.js} +1 -1
  158. package/dist/{clock-BzKLLW5L.js → clock-BDIJZUET.js} +1 -1
  159. package/dist/{cloud-CeZPgo1V.js → cloud-R8ci6yR1.js} +10 -14
  160. package/dist/{createLucideIcon-JWHwTI6N.js → createLucideIcon-AEltGIse.js} +3 -3
  161. package/dist/{cdn/chunks/de-CnnxBwh7.js → de-CUeaFJph.js} +8 -3
  162. package/dist/{dist-3DHaYEiT.js → dist-B6Px6GPj.js} +2 -2
  163. package/dist/{dist-BJbqgyPn.js → dist-Ba5Q-UX1.js} +106 -88
  164. package/dist/{dist-CL_CfQ3Q.js → dist-BxbTVeY0.js} +2 -2
  165. package/dist/{dist-DOtLGnLr.js → dist-CIqhVQ1O.js} +6 -6
  166. package/dist/{dist-CclnU_v0.js → dist-CRH880TV.js} +2 -2
  167. package/dist/{dist-3HenmYIg.js → dist-CcQFPJMF.js} +117 -101
  168. package/dist/dist-CkPvZCld.js +5 -0
  169. package/dist/{dist-BCnJcAQc.js → dist-DSIgxp0v.js} +2 -2
  170. package/dist/{dist-DYv_Pttj.js → dist-DT1XnEnj.js} +33 -17
  171. package/dist/{dist-Ih7ejWzn.js → dist-DX4x6mQ1.js} +4 -4
  172. package/dist/{dist-B_etKYyh.js → dist-Dx71pluS.js} +18 -13
  173. package/dist/{dist-bivrM-nS.js → dist-DyCHUyRR.js} +2 -2
  174. package/dist/dist-iCEDH3cC.js +5 -0
  175. package/dist/{dist-DKWoZJAV.js → dist-nR6mxyqI.js} +2 -2
  176. package/dist/{cdn/chunks/en-5gW-bYy2.js → en-zCYIPAL5.js} +8 -3
  177. package/dist/{es-sQ9SdI0l.js → es-BSiH7YkP.js} +8 -1
  178. package/dist/{extensions-3870a_3R.js → extensions-CGxj6-2o.js} +23 -19
  179. package/dist/{cdn/chunks/fr-DBZ5w21C.js → fr-DTVJ3det.js} +8 -3
  180. package/dist/{image-up-CQdtq8ge.js → image-up-8ktdYdaZ.js} +1 -1
  181. package/dist/{info-BUJBXoE6.js → info-CvrCgTLH.js} +1 -1
  182. package/dist/keys-uWpGv4Pq.js +10 -0
  183. package/dist/{liquid.browser-DZLtv26k.js → liquid.browser-BECWFL5Z.js} +755 -717
  184. package/dist/{list-checks-BGHaCSD5.js → list-checks-yzGT93ZL.js} +1 -1
  185. package/dist/{loader-circle-C-Z6kgI6.js → loader-circle-B6euendB.js} +1 -1
  186. package/dist/{message-circle-CEm5qckV.js → message-circle-BMldLVcA.js} +1 -1
  187. package/dist/{nl-DOL7Fnfo.js → nl-BqSquFS3.js} +8 -1
  188. package/dist/{pencil-DdwmkKLb.js → pencil-CkKkSd6N.js} +1 -1
  189. package/dist/{cdn/chunks/pt-BR-DRCdHX1d.js → pt-BR-CMljK37h.js} +8 -3
  190. package/dist/{refresh-cw-maKlg0dl.js → refresh-cw-fBPgB97G.js} +1 -1
  191. package/dist/{runtime-dom.esm-bundler-GdMI8WqG.js → runtime-dom.esm-bundler-CBbDt7sw.js} +2 -2
  192. package/dist/{scan-line-BFgesTOY.js → scan-line-CRoEOUiK.js} +1 -1
  193. package/dist/{send-B70aQDrA.js → send-B9Tt2qBi.js} +1 -1
  194. package/dist/{shield-check-B7x5OKt5.js → shield-check-QfZkYeIo.js} +1 -1
  195. package/dist/{sparkles-DVlm1Ipp.js → sparkles-8UeMmZb8.js} +1 -1
  196. package/dist/style.css +1 -1
  197. package/dist/{styles-BWTIgN5L.js → styles-C9AMvkJk.js} +884 -877
  198. package/dist/templatical-editor.js +96 -91
  199. package/dist/{text-align-start-Vay3Kvo2.js → text-align-start-Dn8uIheW.js} +1 -1
  200. package/dist/{trash-2-DE8CmxAG.js → trash-2-DDyvqj0E.js} +1 -1
  201. package/dist/{triangle-alert-Djg6IG8N.js → triangle-alert-B3PydLzl.js} +1 -1
  202. package/dist/{upload-BwwE0U6G.js → upload-hE8ItfyG.js} +2 -2
  203. package/dist/{useAliveFlag-C43EhZFY.js → useAliveFlag-AfoTE_AY.js} +1 -1
  204. package/dist/{useCloudI18n-BmiygEM4.js → useCloudI18n-BC_QV2Z7.js} +2 -2
  205. package/dist/{useEditorCore-CuMMIfiS.js → useEditorCore-Dojb-P2f.js} +941 -921
  206. package/dist/{useI18n-D2L9Mkik.js → useI18n-DzOcl2wl.js} +2 -2
  207. package/dist/{useMergeTag-BTdDq5DC.js → useMergeTag-BFxXCv3p.js} +4 -4
  208. package/dist/{usePopoverPosition-BO2LNy5n.js → usePopoverPosition-Dtr1Mp1x.js} +13 -13
  209. package/dist/{vue.runtime.esm-bundler-B0xoGkDv.js → vue.runtime.esm-bundler-Xpz-L9Fn.js} +27 -22
  210. package/dist/{x-CkD6A1iB.js → x-C4lETLDx.js} +1 -1
  211. package/package.json +25 -25
  212. package/dist/BlockPreviewCanvas-MD9BGuXV.js +0 -115
  213. package/dist/DesignReferenceSidebar-BxPo0zyx.js +0 -264
  214. package/dist/TplModal-CykwWFhF.js +0 -49
  215. package/dist/ViewportToggle-BjmbNoao.js +0 -97
  216. package/dist/cdn/chunks/BlockPreviewCanvas-eASrdFSN.js +0 -117
  217. package/dist/cdn/chunks/BlockPreviewCanvas-eASrdFSN.js.map +0 -1
  218. package/dist/cdn/chunks/CloudEditor-S8zLHtKb.js.map +0 -1
  219. package/dist/cdn/chunks/TestEmailModal-CCWEVrE2.js +0 -162
  220. package/dist/cdn/chunks/TestEmailModal-CCWEVrE2.js.map +0 -1
  221. package/dist/cdn/chunks/TplModal-BN53d9Se.js +0 -50
  222. package/dist/cdn/chunks/TplModal-BN53d9Se.js.map +0 -1
  223. package/dist/cdn/chunks/ViewportToggle-CFmF-N4i.js +0 -66
  224. package/dist/cdn/chunks/ViewportToggle-CFmF-N4i.js.map +0 -1
  225. package/dist/cdn/chunks/blockTypeIcons-etMMQoVv.js +0 -21
  226. package/dist/cdn/chunks/dist-CiBEt0VR.js.map +0 -1
  227. package/dist/cdn/chunks/dist-CxTt8FRE.js.map +0 -1
  228. package/dist/cdn/chunks/fr-DBZ5w21C.js.map +0 -1
  229. package/dist/cdn/chunks/icons-CYWw8Xfp.js.map +0 -1
  230. package/dist/cdn/chunks/keys-D7kUmfpE.js +0 -12
  231. package/dist/cdn/chunks/keys-D7kUmfpE.js.map +0 -1
  232. package/dist/cdn/chunks/liquid.browser-BJOEu6Cg.js.map +0 -1
  233. package/dist/cdn/chunks/nl-DOL7Fnfo.js.map +0 -1
  234. package/dist/cdn/chunks/styles-BbfU2w9R.js.map +0 -1
  235. package/dist/cdn/chunks/timeouts-Bmi_yePw.js +0 -6
  236. package/dist/cdn/chunks/tiptap-DUTbZTeR.js.map +0 -1
  237. package/dist/cdn/chunks/useEditorCore-CzMhD6Gd.js.map +0 -1
  238. package/dist/dist-CcQLJeWV.js +0 -5
  239. package/dist/dist-DerdmERj.js +0 -5
  240. package/dist/keys-CHPcp-Nz.js +0 -10
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/liquidjs@10.27.2/node_modules/liquidjs/dist/liquid.browser.mjs
1
+ //#region ../../node_modules/.pnpm/liquidjs@10.28.0/node_modules/liquidjs/dist/liquid.browser.mjs
2
2
  var e = class {
3
3
  constructor(e, t, n, r, i) {
4
4
  this.kind = e, this.input = t, this.begin = n, this.end = r, this.file = i;
@@ -36,7 +36,7 @@ function u(e, t, n) {
36
36
  if (t < 0 && (t = e.length + t), !(n && !i.call(e, t))) return e[t];
37
37
  }
38
38
  function d(e) {
39
- return e = p(e), g(e) ? e : a(e) && e.length > 0 ? [e] : ie(e) ? Array.from(e) : _(e) ? Object.keys(e).map((t) => [t, e[t]]) : [];
39
+ return e = p(e), g(e) ? e : a(e) && e.length > 0 ? [e] : ie(e) ? Array.from(e) : se(e) ? Object.keys(e).map((t) => [t, e[t]]) : [];
40
40
  }
41
41
  function f(e) {
42
42
  return e = p(e), h(e) ? [] : g(e) ? e : [e];
@@ -66,7 +66,7 @@ function re(e) {
66
66
  return e && m(e.length);
67
67
  }
68
68
  function ie(e) {
69
- return _(e) && Symbol.iterator in e;
69
+ return se(e) && Symbol.iterator in e;
70
70
  }
71
71
  function ae(e, t) {
72
72
  e ||= {};
@@ -76,59 +76,59 @@ function ae(e, t) {
76
76
  function oe(e) {
77
77
  return e[e.length - 1];
78
78
  }
79
- function _(e) {
79
+ function se(e) {
80
80
  let t = typeof e;
81
81
  return e !== null && (t === "object" || t === "function");
82
82
  }
83
- function se(e, t, n = 1) {
83
+ function ce(e, t, n = 1) {
84
84
  let r = [];
85
85
  for (let i = e; i < t; i += n) r.push(i);
86
86
  return r;
87
87
  }
88
- function v(e, t, n = " ") {
89
- return le(e, t, n, (e, t) => t + e);
88
+ function _(e, t, n = " ") {
89
+ return ue(e, t, n, (e, t) => t + e);
90
90
  }
91
- function ce(e, t, n = " ") {
92
- return le(e, t, n, (e, t) => e + t);
91
+ function le(e, t, n = " ") {
92
+ return ue(e, t, n, (e, t) => e + t);
93
93
  }
94
- function le(e, t, n, r) {
94
+ function ue(e, t, n, r) {
95
95
  e = String(e);
96
96
  let i = t - e.length;
97
97
  return i <= 0 ? e : r(e, n.repeat(i));
98
98
  }
99
- function ue(e) {
99
+ function de(e) {
100
100
  return e;
101
101
  }
102
- function de(e) {
102
+ function fe(e) {
103
103
  return [...e].some((e) => e >= "a" && e <= "z") ? e.toUpperCase() : e.toLowerCase();
104
104
  }
105
- function fe(e, t) {
105
+ function pe(e, t) {
106
106
  return e.length > t ? e.slice(0, t - 3) + "..." : e;
107
107
  }
108
- function pe(e, t) {
108
+ function me(e, t) {
109
109
  return h(e) && h(t) ? 0 : h(e) ? 1 : h(t) || e < t ? -1 : +(e > t);
110
110
  }
111
- function me(e, t) {
111
+ function he(e, t) {
112
112
  return h(e) && h(t) ? 0 : h(e) ? 1 : h(t) || (e = r.call(e), t = r.call(t), e < t) ? -1 : +(e > t);
113
113
  }
114
- function he(e) {
114
+ function ge(e) {
115
115
  return function(...t) {
116
116
  return e.call(this, ...t.map(p));
117
117
  };
118
118
  }
119
- function y(e) {
119
+ function v(e) {
120
120
  return function(...t) {
121
121
  return e.call(this, ...t.map(ee));
122
122
  };
123
123
  }
124
- function* b(e) {
124
+ function* y(e) {
125
125
  let t = /* @__PURE__ */ new Set();
126
126
  for (let n of e) {
127
127
  let e = JSON.stringify(n);
128
128
  t.has(e) || (t.add(e), yield n);
129
129
  }
130
130
  }
131
- var ge = "__liquidClass__", x = class extends Error {
131
+ var _e = "__liquidClass__", b = class extends Error {
132
132
  constructor(e, t) {
133
133
  super(typeof e == "string" ? e : e.message), this.context = "", typeof e != "string" && Object.defineProperty(this, "originalError", {
134
134
  value: e,
@@ -136,36 +136,36 @@ var ge = "__liquidClass__", x = class extends Error {
136
136
  }), Object.defineProperty(this, "token", {
137
137
  value: t,
138
138
  enumerable: !1
139
- }), Object.defineProperty(this, ge, {
139
+ }), Object.defineProperty(this, _e, {
140
140
  value: "LiquidError",
141
141
  enumerable: !1
142
142
  });
143
143
  }
144
144
  update() {
145
145
  Object.defineProperty(this, "context", {
146
- value: we(this.token),
146
+ value: Te(this.token),
147
147
  enumerable: !1
148
- }), this.message = Te(this.message, this.token), this.stack = this.message + "\n" + this.context + "\n" + this.stack, this.originalError && (this.stack += "\nFrom " + this.originalError.stack);
148
+ }), this.message = Ee(this.message, this.token), this.stack = this.message + "\n" + this.context + "\n" + this.stack, this.originalError && (this.stack += "\nFrom " + this.originalError.stack);
149
149
  }
150
150
  static is(e) {
151
- return e?.[ge] === "LiquidError";
151
+ return e?.[_e] === "LiquidError";
152
152
  }
153
- }, _e = class extends x {
153
+ }, ve = class extends b {
154
154
  constructor(e, t) {
155
155
  super(e, t), this.name = "TokenizationError", super.update();
156
156
  }
157
- }, ve = class extends x {
157
+ }, ye = class extends b {
158
158
  constructor(e, t) {
159
159
  super(e, t), this.name = "ParseError", this.message = e.message, super.update();
160
160
  }
161
- }, ye = class extends x {
161
+ }, be = class extends b {
162
162
  constructor(e, t) {
163
163
  super(e, t.token), this.name = "RenderError", this.message = e.message, super.update();
164
164
  }
165
165
  static is(e) {
166
166
  return e.name === "RenderError";
167
167
  }
168
- }, be = class extends x {
168
+ }, xe = class extends b {
169
169
  constructor(e) {
170
170
  super(e[0], e[0].token), this.errors = e, this.name = "LiquidErrors";
171
171
  let t = e.length > 1 ? "s" : "";
@@ -174,32 +174,32 @@ var ge = "__liquidClass__", x = class extends Error {
174
174
  static is(e) {
175
175
  return e.name === "LiquidErrors";
176
176
  }
177
- }, xe = class extends x {
177
+ }, Se = class extends b {
178
178
  constructor(e, t) {
179
179
  super(e, t), this.name = "UndefinedVariableError", this.message = e.message, super.update();
180
180
  }
181
- }, Se = class extends Error {
181
+ }, Ce = class extends Error {
182
182
  constructor(e) {
183
183
  super(`undefined variable: ${e}`), this.name = "InternalUndefinedVariableError", this.variableName = e;
184
184
  }
185
- }, Ce = class extends Error {
185
+ }, we = class extends Error {
186
186
  constructor(e) {
187
187
  super(e), this.name = "AssertionError", this.message = e + "";
188
188
  }
189
189
  };
190
- function we(e) {
190
+ function Te(e) {
191
191
  let [t, n] = e.getPosition(), r = e.input.split("\n"), i = Math.max(t - 2, 1), a = Math.min(t + 3, r.length);
192
- return se(i, a + 1).map((e) => {
193
- let i = `${e === t ? ">> " : " "}${v(String(e), String(a).length)}| `, o = e === t ? "\n" + v("^", n + i.length) : "";
192
+ return ce(i, a + 1).map((e) => {
193
+ let i = `${e === t ? ">> " : " "}${_(String(e), String(a).length)}| `, o = e === t ? "\n" + _("^", n + i.length) : "";
194
194
  return i += r[e - 1], i += o, i;
195
195
  }).join("\n");
196
196
  }
197
- function Te(e, t) {
197
+ function Ee(e, t) {
198
198
  t.file && (e += `, file:${t.file}`);
199
199
  let [n, r] = t.getPosition();
200
200
  return e += `, line:${n}, col:${r}`, e;
201
201
  }
202
- var S = [
202
+ var x = [
203
203
  0,
204
204
  0,
205
205
  0,
@@ -328,19 +328,19 @@ var S = [
328
328
  0,
329
329
  0,
330
330
  0
331
- ], Ee = 1, C = 4, De = 8, Oe = 16, ke = 32, Ae = 64, je = 128;
332
- function Me(e) {
331
+ ], De = 1, S = 4, Oe = 8, ke = 16, Ae = 32, je = 64, Me = 128;
332
+ function Ne(e) {
333
333
  let t = e.charCodeAt(0);
334
- return t >= 128 ? !S[t] : !!(S[t] & Ee);
334
+ return t >= 128 ? !x[t] : !!(x[t] & De);
335
335
  }
336
- S[160] = S[5760] = S[6158] = S[8192] = S[8193] = S[8194] = S[8195] = S[8196] = S[8197] = S[8198] = S[8199] = S[8200] = S[8201] = S[8202] = S[8232] = S[8233] = S[8239] = S[8287] = S[12288] = C, S[8220] = S[8221] = je;
337
- function w(e, t) {
338
- if (!e) throw new Ce(typeof t == "function" ? t() : t || `expect ${e} to be true`);
336
+ x[160] = x[5760] = x[6158] = x[8192] = x[8193] = x[8194] = x[8195] = x[8196] = x[8197] = x[8198] = x[8199] = x[8200] = x[8201] = x[8202] = x[8232] = x[8233] = x[8239] = x[8287] = x[12288] = S, x[8220] = x[8221] = Me;
337
+ function C(e, t) {
338
+ if (!e) throw new we(typeof t == "function" ? t() : t || `expect ${e} to be true`);
339
339
  }
340
- function T(e, t = `unexpected ${JSON.stringify(e)}`) {
341
- w(!e, t);
340
+ function Pe(e, t = `unexpected ${JSON.stringify(e)}`) {
341
+ C(!e, t);
342
342
  }
343
- var Ne = class extends t {
343
+ var Fe = class extends t {
344
344
  equals(e) {
345
345
  return h(p(e));
346
346
  }
@@ -359,9 +359,9 @@ var Ne = class extends t {
359
359
  valueOf() {
360
360
  return null;
361
361
  }
362
- }, Pe = class e extends t {
362
+ }, Ie = class e extends t {
363
363
  equals(t) {
364
- return t instanceof e ? !1 : (t = p(t), a(t) || g(t) ? t.length === 0 : _(t) ? Object.keys(t).length === 0 : !1);
364
+ return t instanceof e ? !1 : (t = p(t), a(t) || g(t) ? t.length === 0 : se(t) ? Object.keys(t).length === 0 : !1);
365
365
  }
366
366
  gt() {
367
367
  return !1;
@@ -381,14 +381,14 @@ var Ne = class extends t {
381
381
  static is(t) {
382
382
  return t instanceof e;
383
383
  }
384
- }, Fe = class e extends Pe {
384
+ }, Le = class e extends Ie {
385
385
  equals(e) {
386
386
  return e === !1 || h(p(e)) ? !0 : a(e) ? /^\s*$/.test(e) : super.equals(e);
387
387
  }
388
388
  static is(t) {
389
389
  return t instanceof e;
390
390
  }
391
- }, Ie = class extends t {
391
+ }, Re = class extends t {
392
392
  constructor(e, t, n) {
393
393
  super(), this.i = 0, this.length = e, this.name = `${n}-${t}`;
394
394
  }
@@ -416,65 +416,65 @@ var Ne = class extends t {
416
416
  valueOf() {
417
417
  return JSON.stringify(this);
418
418
  }
419
- }, Le = class {
419
+ }, ze = class {
420
420
  constructor() {
421
421
  this.buffer = "";
422
422
  }
423
423
  write(e) {
424
424
  this.buffer += l(e);
425
425
  }
426
- }, Re = class {
426
+ }, Be = class {
427
427
  constructor() {
428
428
  throw this.buffer = "", this.stream = null, Error("streaming not supported in browser");
429
429
  }
430
- }, ze = class {
430
+ }, Ve = class {
431
431
  constructor() {
432
432
  this.buffer = "";
433
433
  }
434
434
  write(e) {
435
- e = p(e), typeof e != "string" && this.buffer === "" ? this.buffer = e : this.buffer = l(this.buffer) + l(e);
435
+ e = p(e), this.buffer = typeof e != "string" && this.buffer === "" ? e : l(this.buffer) + l(e);
436
436
  }
437
- }, Be = class extends t {
437
+ }, He = class extends t {
438
438
  constructor(e = () => "") {
439
439
  super(), this.superBlockRender = e;
440
440
  }
441
441
  *super() {
442
- let e = new Le();
442
+ let e = new ze();
443
443
  return yield this.superBlockRender(e), e.buffer;
444
444
  }
445
445
  };
446
- function E(e) {
446
+ function w(e) {
447
447
  return e && o(e.equals) && o(e.gt) && o(e.geq) && o(e.lt) && o(e.leq);
448
448
  }
449
- var Ve = new Ne(), He = {
449
+ var Ue = new Fe(), We = {
450
450
  true: !0,
451
451
  false: !1,
452
- nil: Ve,
453
- null: Ve,
454
- empty: new Pe(),
455
- blank: new Fe()
456
- }, Ue = /* @__PURE__ */ new WeakMap();
457
- function We(e) {
458
- let t = Ue.get(e);
452
+ nil: Ue,
453
+ null: Ue,
454
+ empty: new Ie(),
455
+ blank: new Le()
456
+ }, Ge = /* @__PURE__ */ new WeakMap();
457
+ function Ke(e) {
458
+ let t = Ge.get(e);
459
459
  if (t) return t;
460
460
  let n = {};
461
461
  for (let [t, r] of Object.entries(e)) {
462
462
  let e = n;
463
463
  for (let n = 0; n < t.length; n++) {
464
464
  let r = t[n];
465
- e[r] = e[r] || {}, n === t.length - 1 && Me(t[n]) && (e[r].needBoundary = !0), e = e[r];
465
+ e[r] = e[r] || {}, n === t.length - 1 && Ne(t[n]) && (e[r].needBoundary = !0), e = e[r];
466
466
  }
467
467
  e.data = r, e.end = !0;
468
468
  }
469
- return Ue.set(e, n), n;
469
+ return Ge.set(e, n), n;
470
470
  }
471
- var Ge = function() {
472
- return Ge = Object.assign || function(e) {
471
+ var qe = function() {
472
+ return qe = Object.assign || function(e) {
473
473
  for (var t, n = 1, r = arguments.length; n < r; n++) for (var i in t = arguments[n], t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
474
474
  return e;
475
- }, Ge.apply(this, arguments);
475
+ }, qe.apply(this, arguments);
476
476
  };
477
- function D(e, t, n, r) {
477
+ function T(e, t, n, r) {
478
478
  function i(e) {
479
479
  return e instanceof n ? e : new n(function(t) {
480
480
  t(e);
@@ -501,19 +501,19 @@ function D(e, t, n, r) {
501
501
  c((r = r.apply(e, t || [])).next());
502
502
  });
503
503
  }
504
- function Ke(e, t) {
504
+ function Je(e, t) {
505
505
  let n = t || e;
506
506
  return (t, ...r) => t ? n(...r) : e(...r);
507
507
  }
508
- function O(e) {
509
- return D(this, void 0, void 0, function* () {
508
+ function E(e) {
509
+ return T(this, void 0, void 0, function* () {
510
510
  if (!c(e)) return e;
511
511
  let t, n = !1, r = "next";
512
512
  do {
513
513
  let i = e[r](t);
514
514
  n = !!i.done, t = i.value, r = "next";
515
515
  try {
516
- c(t) && (t = O(t)), s(t) && (t = yield t);
516
+ c(t) && (t = E(t)), s(t) && (t = yield t);
517
517
  } catch (e) {
518
518
  r = "throw", t = e;
519
519
  }
@@ -521,24 +521,24 @@ function O(e) {
521
521
  return t;
522
522
  });
523
523
  }
524
- function k(e) {
524
+ function D(e) {
525
525
  if (!c(e)) return e;
526
526
  let t, n = !1, r = "next";
527
527
  do {
528
528
  let i = e[r](t);
529
529
  if (n = !!i.done, t = i.value, r = "next", c(t)) try {
530
- t = k(t);
530
+ t = D(t);
531
531
  } catch (e) {
532
532
  r = "throw", t = e;
533
533
  }
534
534
  } while (!n);
535
535
  return t;
536
536
  }
537
- var qe = /%([-_0^#:]+)?(\d+)?([EO])?(.)/;
538
- function Je(e) {
537
+ var Ye = /%([-_0^#:]+)?(\d+)?([EO])?(.)/;
538
+ function Xe(e) {
539
539
  return [
540
540
  31,
541
- Ze(e) ? 29 : 28,
541
+ $e(e) ? 29 : 28,
542
542
  31,
543
543
  30,
544
544
  31,
@@ -551,20 +551,20 @@ function Je(e) {
551
551
  31
552
552
  ];
553
553
  }
554
- function Ye(e) {
554
+ function Ze(e) {
555
555
  let t = 0;
556
- for (let n = 0; n < e.getMonth(); ++n) t += Je(e)[n];
556
+ for (let n = 0; n < e.getMonth(); ++n) t += Xe(e)[n];
557
557
  return t + e.getDate();
558
558
  }
559
- function Xe(e, t) {
560
- let n = Ye(e) + (t - e.getDay()), r = 7 - new Date(e.getFullYear(), 0, 1).getDay() + t;
559
+ function Qe(e, t) {
560
+ let n = Ze(e) + (t - e.getDay()), r = 7 - new Date(e.getFullYear(), 0, 1).getDay() + t;
561
561
  return String(Math.floor((n - r) / 7) + 1);
562
562
  }
563
- function Ze(e) {
563
+ function $e(e) {
564
564
  let t = e.getFullYear();
565
565
  return !!(!(t & 3) && (t % 100 || t % 400 == 0 && t));
566
566
  }
567
- function Qe(e) {
567
+ function et(e) {
568
568
  let t = e.getDate();
569
569
  if ([
570
570
  11,
@@ -578,10 +578,10 @@ function Qe(e) {
578
578
  default: return "th";
579
579
  }
580
580
  }
581
- function $e(e) {
581
+ function tt(e) {
582
582
  return parseInt(e.getFullYear().toString().substring(0, 2), 10);
583
583
  }
584
- var et = {
584
+ var nt = {
585
585
  d: 2,
586
586
  e: 2,
587
587
  H: 2,
@@ -595,23 +595,23 @@ var et = {
595
595
  S: 2,
596
596
  U: 2,
597
597
  W: 2
598
- }, tt = /* @__PURE__ */ new Set("aAbBceklpP");
599
- function nt(e, t) {
598
+ }, rt = /* @__PURE__ */ new Set("aAbBceklpP");
599
+ function it(e, t) {
600
600
  let n = Math.abs(e.getTimezoneOffset()), r = Math.floor(n / 60), i = n % 60;
601
- return (e.getTimezoneOffset() > 0 ? "-" : "+") + v(r, 2, "0") + (t.flags[":"] ? ":" : "") + v(i, 2, "0");
601
+ return (e.getTimezoneOffset() > 0 ? "-" : "+") + _(r, 2, "0") + (t.flags[":"] ? ":" : "") + _(i, 2, "0");
602
602
  }
603
- var rt = {
603
+ var at = {
604
604
  a: (e) => e.getShortWeekdayName(),
605
605
  A: (e) => e.getLongWeekdayName(),
606
606
  b: (e) => e.getShortMonthName(),
607
607
  B: (e) => e.getLongMonthName(),
608
608
  c: (e) => e.toLocaleString(),
609
- C: (e) => $e(e),
609
+ C: (e) => tt(e),
610
610
  d: (e) => e.getDate(),
611
611
  e: (e) => e.getDate(),
612
612
  H: (e) => e.getHours(),
613
613
  I: (e) => String(e.getHours() % 12 || 12),
614
- j: (e) => Ye(e),
614
+ j: (e) => Ze(e),
615
615
  k: (e) => e.getHours(),
616
616
  l: (e) => String(e.getHours() % 12 || 12),
617
617
  L: (e) => e.getMilliseconds(),
@@ -619,36 +619,36 @@ var rt = {
619
619
  M: (e) => e.getMinutes(),
620
620
  N: (e, t) => {
621
621
  var n;
622
- let r = Number(t.width) || 9, i = v(String(e.getMilliseconds()), 3, "0").slice(0, r);
623
- return (n = t.memoryLimit) == null || n.use(r - i.length), ce(i, r, "0");
622
+ let r = Number(t.width) || 9, i = _(String(e.getMilliseconds()), 3, "0").slice(0, r);
623
+ return (n = t.memoryLimit) == null || n.use(r - i.length), le(i, r, "0");
624
624
  },
625
625
  p: (e) => e.getHours() < 12 ? "AM" : "PM",
626
626
  P: (e) => e.getHours() < 12 ? "am" : "pm",
627
- q: (e) => Qe(e),
628
- s: (e) => Math.round(e.getTime() / 1e3),
627
+ q: (e) => et(e),
628
+ s: (e) => Math.floor(e.dateValue() / 1e3),
629
629
  S: (e) => e.getSeconds(),
630
630
  u: (e) => e.getDay() || 7,
631
- U: (e) => Xe(e, 0),
631
+ U: (e) => Qe(e, 0),
632
632
  w: (e) => e.getDay(),
633
- W: (e) => Xe(e, 1),
633
+ W: (e) => Qe(e, 1),
634
634
  x: (e) => e.toLocaleDateString(),
635
635
  X: (e) => e.toLocaleTimeString(),
636
636
  y: (e) => e.getFullYear().toString().slice(2, 4),
637
637
  Y: (e) => e.getFullYear(),
638
- z: nt,
639
- Z: (e, t) => e.getTimeZoneName() || nt(e, t),
638
+ z: it,
639
+ Z: (e, t) => e.getTimeZoneName() || it(e, t),
640
640
  t: () => " ",
641
641
  n: () => "\n",
642
642
  "%": () => "%"
643
643
  };
644
- rt.h = rt.b;
645
- function it(e, t, n) {
644
+ at.h = at.b;
645
+ function O(e, t, n) {
646
646
  let r = "", i = t, a;
647
- for (; a = qe.exec(i);) r += i.slice(0, a.index), i = i.slice(a.index + a[0].length), r += at(e, a, n);
647
+ for (; a = Ye.exec(i);) r += i.slice(0, a.index), i = i.slice(a.index + a[0].length), r += ot(e, a, n);
648
648
  return r + i;
649
649
  }
650
- function at(e, t, n) {
651
- let [r, i = "", a, o, s] = t, c = rt[s];
650
+ function ot(e, t, n) {
651
+ let [r, i = "", a, o, s] = t, c = at[s];
652
652
  if (!c) return r;
653
653
  let l = {};
654
654
  for (let e of i) l[e] = !0;
@@ -657,13 +657,13 @@ function at(e, t, n) {
657
657
  width: a,
658
658
  modifier: o,
659
659
  memoryLimit: n
660
- })), d = tt.has(s) ? " " : "0", f = Number(a) || et[s] || 0;
661
- return l["^"] ? u = u.toUpperCase() : l["#"] && (u = de(u)), l._ ? d = " " : l[0] && (d = "0"), l["-"] && (f = 0), n?.use(Number(f) - u.length), v(u, f, d);
660
+ })), d = rt.has(s) ? " " : "0", f = Number(a) || nt[s] || 0;
661
+ return l["^"] ? u = u.toUpperCase() : l["#"] && (u = fe(u)), l._ ? d = " " : l[0] && (d = "0"), l["-"] && (f = 0), n?.use(Number(f) - u.length), _(u, f, d);
662
662
  }
663
- function ot() {
663
+ function st() {
664
664
  return typeof Intl < "u" ? Intl.DateTimeFormat : void 0;
665
665
  }
666
- var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
666
+ var ct = 6e4, lt = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, ut = [
667
667
  "January",
668
668
  "February",
669
669
  "March",
@@ -676,7 +676,7 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
676
676
  "October",
677
677
  "November",
678
678
  "December"
679
- ], ut = lt.map((e) => e.slice(0, 3)), dt = [
679
+ ], dt = ut.map((e) => e.slice(0, 3)), ft = [
680
680
  "Sunday",
681
681
  "Monday",
682
682
  "Tuesday",
@@ -684,15 +684,18 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
684
684
  "Thursday",
685
685
  "Friday",
686
686
  "Saturday"
687
- ], ft = dt.map((e) => e.slice(0, 3)), A = class e {
687
+ ], pt = ft.map((e) => e.slice(0, 3)), k = class e {
688
688
  constructor(t, n, r) {
689
- this.locale = n, this.DateTimeFormat = ot(), this.date = new Date(t), this.timezoneFixed = r !== void 0, r === void 0 && (r = this.date.getTimezoneOffset()), this.timezoneOffset = a(r) ? e.getTimezoneOffset(r, this.date) : r, this.timezoneName = a(r) ? r : "";
690
- let i = (this.date.getTimezoneOffset() - this.timezoneOffset) * st, o = this.date.getTime() + i;
689
+ this.locale = n, this.DateTimeFormat = st(), this.date = new Date(t), this.timezoneFixed = r !== void 0, r === void 0 && (r = this.date.getTimezoneOffset()), this.timezoneOffset = a(r) ? e.getTimezoneOffset(r, this.date) : r, this.timezoneName = a(r) ? r : "";
690
+ let i = (this.date.getTimezoneOffset() - this.timezoneOffset) * ct, o = this.date.getTime() + i;
691
691
  this.displayDate = new Date(o);
692
692
  }
693
693
  getTime() {
694
694
  return this.displayDate.getTime();
695
695
  }
696
+ dateValue() {
697
+ return this.date.getTime();
698
+ }
696
699
  getMilliseconds() {
697
700
  return this.displayDate.getMilliseconds();
698
701
  }
@@ -734,16 +737,16 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
734
737
  if (this.DateTimeFormat) return this.DateTimeFormat().resolvedOptions().timeZone;
735
738
  }
736
739
  getLongMonthName() {
737
- return this.format({ month: "long" }) ?? lt[this.getMonth()];
740
+ return this.format({ month: "long" }) ?? ut[this.getMonth()];
738
741
  }
739
742
  getShortMonthName() {
740
- return this.format({ month: "short" }) ?? ut[this.getMonth()];
743
+ return this.format({ month: "short" }) ?? dt[this.getMonth()];
741
744
  }
742
745
  getLongWeekdayName() {
743
- return this.format({ weekday: "long" }) ?? dt[this.displayDate.getDay()];
746
+ return this.format({ weekday: "long" }) ?? ft[this.displayDate.getDay()];
744
747
  }
745
748
  getShortWeekdayName() {
746
- return this.format({ weekday: "short" }) ?? ft[this.displayDate.getDay()];
749
+ return this.format({ weekday: "short" }) ?? pt[this.displayDate.getDay()];
747
750
  }
748
751
  valid() {
749
752
  return !isNaN(this.getTime());
@@ -752,7 +755,7 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
752
755
  return this.DateTimeFormat && this.DateTimeFormat(this.locale, e).format(this.displayDate);
753
756
  }
754
757
  static createDateFixedToTimezone(t, n) {
755
- let r = t.match(ct);
758
+ let r = t.match(lt);
756
759
  if (r && r[1] === "Z") return new e(+new Date(t), n, 0);
757
760
  if (r && r[2] && r[3] && r[4]) {
758
761
  let [, , i, a, o] = r, s = (i === "+" ? -1 : 1) * (parseInt(a, 10) * 60 + parseInt(o, 10));
@@ -762,59 +765,59 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
762
765
  }
763
766
  static getTimezoneOffset(e, t) {
764
767
  let n = t.toLocaleString("en-US", { timeZone: e }), r = t.toLocaleString("en-US", { timeZone: "UTC" }), i = new Date(n);
765
- return (new Date(r) - +i) / (60 * 1e3);
768
+ return (new Date(r) - +i) / 6e4;
766
769
  }
767
- }, pt = class {
770
+ }, mt = class {
768
771
  constructor(e, t) {
769
772
  this.base = 0, this.message = `${e} limit exceeded`, this.limit = t;
770
773
  }
771
774
  use(e) {
772
- +e > 0 && (w(this.base + +e <= this.limit, this.message), this.base += +e);
775
+ +e > 0 && (C(this.base + +e <= this.limit, this.message), this.base += +e);
773
776
  }
774
777
  check(e) {
775
- +e > 0 && w(+e <= this.limit, this.message);
778
+ +e > 0 && C(+e <= this.limit, this.message);
776
779
  }
777
- }, mt = class extends e {
780
+ }, ht = class extends e {
778
781
  constructor(e, [t, n], r, i, a, o, s, c) {
779
782
  super(e, r, i, a, c), this.trimLeft = !1, this.trimRight = !1;
780
783
  let l = r[t] === "-", u = r[n - 1] === "-", d = l ? t + 1 : t, f = u ? n - 1 : n;
781
- for (; d < f && S[r.charCodeAt(d)] & C;) d++;
782
- for (; f > d && S[r.charCodeAt(f - 1)] & C;) f--;
784
+ for (; d < f && x[r.charCodeAt(d)] & S;) d++;
785
+ for (; f > d && x[r.charCodeAt(f - 1)] & S;) f--;
783
786
  this.contentRange = [d, f], this.trimLeft = l || o, this.trimRight = u || s;
784
787
  }
785
788
  get content() {
786
789
  return this.input.slice(this.contentRange[0], this.contentRange[1]);
787
790
  }
788
- }, ht = class extends mt {
791
+ }, gt = class extends ht {
789
792
  constructor(e, t, n, r, i) {
790
793
  let { trimTagLeft: a, trimTagRight: o, tagDelimiterLeft: s, tagDelimiterRight: c } = r, [l, u] = [t + s.length, n - c.length];
791
- super(q.Tag, [l, u], e, t, n, a, o, i), this.tokenizer = new L(e, r.operators, i, this.contentRange), this.name = this.tokenizer.readTagName(), this.tokenizer.assert(this.name, "illegal tag syntax, tag name expected"), this.tokenizer.skipBlank(), this.args = this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
794
+ super(q.Tag, [l, u], e, t, n, a, o, i), this.tokenizer = new L(e, r.operators, i, this.contentRange, r.groupedExpressions), this.name = this.tokenizer.readTagName(), this.tokenizer.assert(this.name, "illegal tag syntax, tag name expected"), this.tokenizer.skipBlank(), this.args = this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
792
795
  }
793
- }, gt = class extends mt {
796
+ }, _t = class extends ht {
794
797
  constructor(e, t, n, r, i) {
795
798
  let { trimOutputLeft: a, trimOutputRight: o, outputDelimiterLeft: s, outputDelimiterRight: c } = r, l = [t + s.length, n - c.length];
796
799
  super(q.Output, l, e, t, n, a, o, i);
797
800
  }
798
- }, _t = class extends e {
801
+ }, vt = class extends e {
799
802
  constructor(e, t, n, r) {
800
803
  super(q.HTML, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.trimLeft = 0, this.trimRight = 0;
801
804
  }
802
805
  getContent() {
803
806
  return this.input.slice(this.begin + this.trimLeft, this.end - this.trimRight);
804
807
  }
805
- }, vt = class extends e {
808
+ }, yt = class extends e {
806
809
  constructor(e, t, n, r) {
807
810
  super(q.Number, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.content = Number(this.getText());
808
811
  }
809
- }, yt = class extends e {
812
+ }, bt = class extends e {
810
813
  constructor(e, t, n, r) {
811
814
  super(q.Word, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.content = this.getText();
812
815
  }
813
- }, bt = class extends e {
816
+ }, xt = class extends e {
814
817
  constructor(e, t, n, r) {
815
- super(q.Literal, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.literal = this.getText(), this.content = He[this.literal];
818
+ super(q.Literal, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.literal = this.getText(), this.content = We[this.literal];
816
819
  }
817
- }, xt = {
820
+ }, St = {
818
821
  "==": 2,
819
822
  "!=": 2,
820
823
  ">": 2,
@@ -825,7 +828,7 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
825
828
  not: 1,
826
829
  and: 0,
827
830
  or: 0
828
- }, St = {
831
+ }, Ct = {
829
832
  "==": 0,
830
833
  "!=": 0,
831
834
  ">": 0,
@@ -836,26 +839,26 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
836
839
  not: 1,
837
840
  and: 0,
838
841
  or: 0
839
- }, Ct = class extends e {
842
+ }, wt = class extends e {
840
843
  constructor(e, t, n, r) {
841
844
  super(q.Operator, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.operator = this.getText();
842
845
  }
843
846
  getPrecedence() {
844
- return this.operator in xt ? xt[this.operator] : 1;
847
+ return this.operator in St ? St[this.operator] : 1;
845
848
  }
846
- }, wt = class extends e {
849
+ }, Tt = class extends e {
847
850
  constructor(e, t, n, r, i, a) {
848
851
  super(q.PropertyAccess, n, r, i, a), this.variable = e, this.props = t;
849
852
  }
850
- }, Tt = class extends e {
853
+ }, Et = class extends e {
851
854
  constructor(e, t, n, r, i, a) {
852
855
  super(q.Filter, n, r, i, a), this.name = e, this.args = t;
853
856
  }
854
- }, Et = class extends e {
857
+ }, Dt = class extends e {
855
858
  constructor(e, t, n, r, i, a) {
856
859
  super(q.Hash, e, t, n, a), this.input = e, this.begin = t, this.end = n, this.name = r, this.value = i, this.file = a;
857
860
  }
858
- }, Dt = /[\da-fA-F]/, Ot = /[0-7]/, kt = {
861
+ }, Ot = /[\da-fA-F]/, kt = /[0-7]/, At = {
859
862
  b: "\b",
860
863
  f: "\f",
861
864
  n: "\n",
@@ -863,172 +866,200 @@ var st = 6e4, ct = /([zZ]|([+-])(\d{2}):?(\d{2}))$/, lt = [
863
866
  t: " ",
864
867
  v: "\v"
865
868
  };
866
- function At(e) {
869
+ function jt(e) {
867
870
  let t = e.charCodeAt(0);
868
871
  return t >= 97 ? t - 87 : t >= 65 ? t - 55 : t - 48;
869
872
  }
870
- function jt(e) {
873
+ function Mt(e) {
871
874
  let t = "";
872
875
  for (let n = 1; n < e.length - 1; n++) {
873
876
  if (e[n] !== "\\") {
874
877
  t += e[n];
875
878
  continue;
876
879
  }
877
- if (kt[e[n + 1]] !== void 0) t += kt[e[++n]];
880
+ if (At[e[n + 1]] !== void 0) t += At[e[++n]];
878
881
  else if (e[n + 1] === "u") {
879
882
  let r = 0, i = n + 2;
880
- for (; i <= n + 5 && Dt.test(e[i]);) r = r * 16 + At(e[i++]);
883
+ for (; i <= n + 5 && Ot.test(e[i]);) r = r * 16 + jt(e[i++]);
881
884
  n = i - 1, t += String.fromCharCode(r);
882
- } else if (!Ot.test(e[n + 1])) t += e[++n];
885
+ } else if (!kt.test(e[n + 1])) t += e[++n];
883
886
  else {
884
887
  let r = n + 1, i = 0;
885
- for (; r <= n + 3 && Ot.test(e[r]);) i = i * 8 + At(e[r++]);
888
+ for (; r <= n + 3 && kt.test(e[r]);) i = i * 8 + jt(e[r++]);
886
889
  n = r - 1, t += String.fromCharCode(i);
887
890
  }
888
891
  }
889
892
  return t;
890
893
  }
891
- var Mt = class extends e {
894
+ var Nt = class extends e {
892
895
  constructor(e, t, n, r) {
893
- super(q.Quoted, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.content = jt(this.getText());
896
+ super(q.Quoted, e, t, n, r), this.input = e, this.begin = t, this.end = n, this.file = r, this.content = Mt(this.getText());
894
897
  }
895
- }, Nt = class extends e {
898
+ }, Pt = class extends e {
896
899
  constructor(e, t, n, r, i, a) {
897
900
  super(q.Range, e, t, n, a), this.input = e, this.begin = t, this.end = n, this.lhs = r, this.rhs = i, this.file = a;
898
901
  }
899
- }, Pt = class extends mt {
902
+ }, Ft = class extends ht {
900
903
  constructor(e, t, n, r, i) {
901
- super(q.Tag, [t, n], e, t, n, !1, !1, i), this.tokenizer = new L(e, r.operators, i, this.contentRange), this.name = this.tokenizer.readTagName(), this.tokenizer.assert(this.name, "illegal liquid tag syntax"), this.tokenizer.skipBlank();
904
+ super(q.Tag, [t, n], e, t, n, !1, !1, i), this.tokenizer = new L(e, r.operators, i, this.contentRange, r.groupedExpressions), this.name = this.tokenizer.readTagName(), this.tokenizer.assert(this.name, "illegal liquid tag syntax"), this.tokenizer.skipBlank();
902
905
  }
903
906
  get args() {
904
907
  return this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
905
908
  }
906
- }, Ft = class extends e {
909
+ }, It = class extends e {
907
910
  constructor(e, t, n, r, i, a) {
908
911
  super(q.FilteredValue, n, r, i, a), this.initial = e, this.filters = t, this.input = n, this.begin = r, this.end = i, this.file = a;
909
912
  }
910
- }, It = { now: () => Date.now() };
911
- function Lt() {
912
- return typeof global == "object" && global.performance || typeof window == "object" && window.performance || It;
913
+ }, Lt = { now: () => Date.now() };
914
+ function Rt() {
915
+ return typeof global == "object" && global.performance || typeof window == "object" && window.performance || Lt;
913
916
  }
914
- var Rt = class {
917
+ var zt = class {
915
918
  renderTemplatesToNodeStream(e, t) {
916
- let n = new Re();
917
- return Promise.resolve().then(() => O(this.renderTemplates(e, t, n))).then(() => n.end(), (e) => n.error(e)), n.stream;
919
+ let n = new Be();
920
+ return Promise.resolve().then(() => E(this.renderTemplates(e, t, n))).then(() => n.end(), (e) => n.error(e)), n.stream;
918
921
  }
919
922
  *renderTemplates(e, t, n) {
920
- n ||= t.opts.keepOutputType ? new ze() : new Le(), t.renderLimit.check(Lt().now());
923
+ n ||= t.opts.keepOutputType ? new Ve() : new ze(), t.renderLimit.check(Rt().now());
921
924
  let r = [];
922
925
  for (let i of e) {
923
- t.renderLimit.check(Lt().now());
926
+ t.renderLimit.check(Rt().now());
924
927
  try {
925
928
  let e = yield i.render(t, n);
926
929
  if (e && n.write(e), t.breakCalled || t.continueCalled) break;
927
930
  } catch (e) {
928
- let n = x.is(e) ? e : new ye(e, i);
931
+ let n = b.is(e) ? e : new be(e, i);
929
932
  if (t.opts.catchAllErrors) r.push(n);
930
933
  else throw n;
931
934
  }
932
935
  }
933
- if (r.length) throw new be(r);
936
+ if (r.length) throw new xe(r);
934
937
  return n.buffer;
935
938
  }
936
- }, zt = class {
939
+ };
940
+ function Bt(e) {
941
+ return g(e);
942
+ }
943
+ var Vt = class {
944
+ constructor(e, t, n) {
945
+ this.token = e, this.name = e.name, this.handler = o(t) ? t : o(t?.handler) ? t.handler : de, this.raw = !o(t) && !!t?.raw, this.args = e.args, this.liquid = n;
946
+ }
947
+ *render(e, t) {
948
+ let n = [];
949
+ for (let e of this.args) Bt(e) ? n.push([e[0], yield A(e[1], t)]) : n.push(yield A(e, t));
950
+ return yield this.handler.apply({
951
+ context: t,
952
+ token: this.token,
953
+ liquid: this.liquid
954
+ }, [e, ...n]);
955
+ }
956
+ }, Ht = class {
937
957
  constructor(e) {
938
- this.postfix = [...Ut(e)];
958
+ this.postfix = [...qt(e)];
939
959
  }
940
960
  *evaluate(e, t) {
941
- w(e, "unable to evaluate: context not defined");
961
+ C(e, "unable to evaluate: context not defined");
942
962
  let n = [];
943
- for (let r of this.postfix) if (Un(r)) {
963
+ for (let r of this.postfix) if (Gn(r)) {
944
964
  let t = n.pop(), i;
945
- if (St[r.operator] === 1) i = yield e.opts.operators[r.operator](t, e);
965
+ if (Ct[r.operator] === 1) i = yield e.opts.operators[r.operator](t, e);
946
966
  else {
947
967
  let a = n.pop();
948
968
  i = yield e.opts.operators[r.operator](a, t, e);
949
969
  }
950
970
  n.push(i);
951
- } else n.push(yield j(r, e, t));
971
+ } else n.push(yield A(r, e, t));
952
972
  return n[0];
953
973
  }
954
974
  valid() {
955
975
  return !!this.postfix.length;
956
976
  }
957
977
  };
958
- function* j(e, t, n = !1) {
978
+ function* A(e, t, n = !1) {
959
979
  if (e) {
960
980
  if ("content" in e) return e.content;
961
- if (Jn(e)) return yield Bt(e, t, n);
962
- if (Xn(e)) return yield Ht(e, t);
981
+ if (Xn(e)) return yield Wt(e, t, n);
982
+ if (Qn(e)) return yield Kt(e, t);
983
+ if ($n(e)) return yield Ut(e, t, n);
963
984
  }
964
985
  }
965
- function* Bt(e, t, n) {
986
+ function* Ut(e, t, n) {
987
+ C(t.liquid, "FilteredValueToken evaluation requires liquid instance in context"), n ||= t.opts.lenientIf && e.filters.length > 0 && e.filters[0].name === "default";
988
+ let r = yield e.initial.evaluate(t, n);
989
+ for (let n of e.filters) {
990
+ let e = t.liquid.filters[n.name];
991
+ C(e || !t.liquid.options.strictFilters, () => `undefined filter: ${n.name}`), r = yield new Vt(n, e, t.liquid).render(r, t);
992
+ }
993
+ return r;
994
+ }
995
+ function* Wt(e, t, n) {
966
996
  let r = [];
967
- for (let n of e.props) r.push(yield j(n, t, !1));
997
+ for (let n of e.props) r.push(yield A(n, t, !1));
968
998
  try {
969
999
  if (e.variable) {
970
- let i = yield j(e.variable, t, n);
1000
+ let i = yield A(e.variable, t, n);
971
1001
  return yield t._getFromScope(i, r);
972
- } else return yield t._get(r);
1002
+ }
1003
+ return yield t._get(r);
973
1004
  } catch (t) {
974
1005
  if (n && t.name === "InternalUndefinedVariableError") return null;
975
- throw new xe(t, e);
1006
+ throw new Se(t, e);
976
1007
  }
977
1008
  }
978
- function Vt(e) {
1009
+ function Gt(e) {
979
1010
  return e.content;
980
1011
  }
981
- function* Ht(e, t) {
982
- let n = yield j(e.lhs, t), r = yield j(e.rhs, t);
983
- return t.memoryLimit.use(r - n + 1), se(+n, +r + 1);
1012
+ function* Kt(e, t) {
1013
+ let n = yield A(e.lhs, t), r = yield A(e.rhs, t);
1014
+ return t.memoryLimit.use(r - n + 1), ce(+n, +r + 1);
984
1015
  }
985
- function* Ut(e) {
1016
+ function* qt(e) {
986
1017
  let t = [];
987
- for (let n of e) if (Un(n)) {
1018
+ for (let n of e) if (Gn(n)) {
988
1019
  for (; t.length && t[t.length - 1].getPrecedence() > n.getPrecedence();) yield t.pop();
989
1020
  t.push(n);
990
1021
  } else yield n;
991
1022
  for (; t.length;) yield t.pop();
992
1023
  }
993
- function M(e, t) {
994
- return !Wt(e, t);
1024
+ function j(e, t) {
1025
+ return !M(e, t);
995
1026
  }
996
- function Wt(e, t) {
1027
+ function M(e, t) {
997
1028
  return e = p(e), t.opts.jsTruthy ? !e : e === !1 || e == null;
998
1029
  }
999
- var Gt = {
1030
+ var Jt = {
1000
1031
  "==": N,
1001
1032
  "!=": (e, t) => !N(e, t),
1002
- ">": (e, t) => E(e) ? e.gt(t) : E(t) ? t.lt(e) : p(e) > p(t),
1003
- "<": (e, t) => E(e) ? e.lt(t) : E(t) ? t.gt(e) : p(e) < p(t),
1004
- ">=": (e, t) => E(e) ? e.geq(t) : E(t) ? t.leq(e) : p(e) >= p(t),
1005
- "<=": (e, t) => E(e) ? e.leq(t) : E(t) ? t.geq(e) : p(e) <= p(t),
1033
+ ">": (e, t) => w(e) ? e.gt(t) : w(t) ? t.lt(e) : p(e) > p(t),
1034
+ "<": (e, t) => w(e) ? e.lt(t) : w(t) ? t.gt(e) : p(e) < p(t),
1035
+ ">=": (e, t) => w(e) ? e.geq(t) : w(t) ? t.leq(e) : p(e) >= p(t),
1036
+ "<=": (e, t) => w(e) ? e.leq(t) : w(t) ? t.geq(e) : p(e) <= p(t),
1006
1037
  contains: (e, t) => (e = p(e), g(e) ? e.some((e) => N(e, t)) : o(e?.indexOf) ? e.indexOf(p(t)) > -1 : !1),
1007
- not: (e, t) => Wt(p(e), t),
1008
- and: (e, t, n) => M(p(e), n) && M(p(t), n),
1009
- or: (e, t, n) => M(p(e), n) || M(p(t), n)
1038
+ not: (e, t) => M(p(e), t),
1039
+ and: (e, t, n) => j(p(e), n) && j(p(t), n),
1040
+ or: (e, t, n) => j(p(e), n) || j(p(t), n)
1010
1041
  };
1011
1042
  function N(e, t) {
1012
- return E(e) ? e.equals(t) : E(t) ? t.equals(e) : (e = p(e), t = p(t), g(e) ? g(t) && Kt(e, t) : e === t);
1043
+ return w(e) ? e.equals(t) : w(t) ? t.equals(e) : (e = p(e), t = p(t), g(e) ? g(t) && Yt(e, t) : e === t);
1013
1044
  }
1014
- function Kt(e, t) {
1045
+ function Yt(e, t) {
1015
1046
  return e.length === t.length && !e.some((e, n) => !N(e, t[n]));
1016
1047
  }
1017
- function qt(e, t) {
1048
+ function Xt(e, t) {
1018
1049
  return e.some((e) => N(e, t));
1019
1050
  }
1020
- var Jt = class {
1051
+ var Zt = class {
1021
1052
  constructor(e, t, n, r) {
1022
1053
  this.key = e, this.value = t, this.next = n, this.prev = r;
1023
1054
  }
1024
- }, Yt = class {
1055
+ }, Qt = class {
1025
1056
  constructor(e, t = 0) {
1026
- this.limit = e, this.size = t, this.cache = {}, this.head = new Jt("HEAD", null, null, null), this.tail = new Jt("TAIL", null, null, null), this.head.next = this.tail, this.tail.prev = this.head;
1057
+ this.limit = e, this.size = t, this.cache = {}, this.head = new Zt("HEAD", null, null, null), this.tail = new Zt("TAIL", null, null, null), this.head.next = this.tail, this.tail.prev = this.head;
1027
1058
  }
1028
1059
  write(e, t) {
1029
1060
  if (this.cache[e]) this.cache[e].value = t;
1030
1061
  else {
1031
- let n = new Jt(e, t, this.head.next, this.head);
1062
+ let n = new Zt(e, t, this.head.next, this.head);
1032
1063
  this.head.next.prev = n, this.head.next = n, this.cache[e] = n, this.size++, this.ensureLimit();
1033
1064
  }
1034
1065
  }
@@ -1048,7 +1079,7 @@ var Jt = class {
1048
1079
  this.size > this.limit && this.remove(this.tail.prev.key);
1049
1080
  }
1050
1081
  };
1051
- function Xt(e, t) {
1082
+ function $t(e, t) {
1052
1083
  let n = document.createElement("base");
1053
1084
  n.href = e;
1054
1085
  let r = document.getElementsByTagName("head")[0];
@@ -1058,14 +1089,14 @@ function Xt(e, t) {
1058
1089
  let a = i.href;
1059
1090
  return r.removeChild(n), a;
1060
1091
  }
1061
- function Zt(e, t, n) {
1062
- return e.length && oe(e) !== "/" && (e += "/"), Xt(e, t).replace(/^(\w+:\/\/[^/]+)(\/[^?]+)/, (e, t, r) => {
1092
+ function en(e, t, n) {
1093
+ return e.length && oe(e) !== "/" && (e += "/"), $t(e, t).replace(/^(\w+:\/\/[^/]+)(\/[^?]+)/, (e, t, r) => {
1063
1094
  let i = r.split("/").pop();
1064
1095
  return /\.\w+$/.test(i) ? e : t + r + n;
1065
1096
  });
1066
1097
  }
1067
- function Qt(e) {
1068
- return D(this, void 0, void 0, function* () {
1098
+ function tn(e) {
1099
+ return T(this, void 0, void 0, function* () {
1069
1100
  return new Promise((t, n) => {
1070
1101
  let r = new XMLHttpRequest();
1071
1102
  r.onload = () => {
@@ -1076,70 +1107,70 @@ function Qt(e) {
1076
1107
  });
1077
1108
  });
1078
1109
  }
1079
- function $t(e) {
1110
+ function nn(e) {
1080
1111
  let t = new XMLHttpRequest();
1081
1112
  if (t.open("GET", e, !1), t.send(), t.status < 200 || t.status >= 300) throw Error(t.statusText);
1082
1113
  return t.responseText;
1083
1114
  }
1084
- function en(e) {
1085
- return D(this, void 0, void 0, function* () {
1115
+ function rn(e) {
1116
+ return T(this, void 0, void 0, function* () {
1086
1117
  return !0;
1087
1118
  });
1088
1119
  }
1089
- function tn(e) {
1120
+ function an(e) {
1090
1121
  return !0;
1091
1122
  }
1092
- function nn(e) {
1093
- return Xt(e, ".");
1123
+ function on(e) {
1124
+ return $t(e, ".");
1094
1125
  }
1095
- var rn = /*#__PURE__*/ Object.freeze({
1126
+ var sn = /*#__PURE__*/ Object.freeze({
1096
1127
  __proto__: null,
1097
- resolve: Zt,
1098
- readFile: Qt,
1099
- readFileSync: $t,
1100
- exists: en,
1101
- existsSync: tn,
1102
- dirname: nn,
1128
+ resolve: en,
1129
+ readFile: tn,
1130
+ readFileSync: nn,
1131
+ exists: rn,
1132
+ existsSync: an,
1133
+ dirname: on,
1103
1134
  sep: "/"
1104
1135
  });
1105
- function an(e, t) {
1136
+ function cn(e, t) {
1106
1137
  typeof t == "string" ? e.use(t.length) : t === null || typeof t == "number" || typeof t == "boolean" ? e.use(JSON.stringify(t).length) : Array.isArray(t) ? e.use(t.length + 1) : typeof t == "object" && e.use(2);
1107
1138
  }
1108
- function on(e, t, ...n) {
1109
- return e = p(e), g(e) || a(e) ? e.length ? e : t : e === !1 && new Map(n).get("allow_false") ? !1 : Wt(e, this.context) ? t : e;
1139
+ function ln(e, t, ...n) {
1140
+ return e = p(e), g(e) || a(e) ? e.length ? e : t : e === !1 && new Map(n).get("allow_false") ? !1 : M(e, this.context) ? t : e;
1110
1141
  }
1111
- function sn(e, t = 0) {
1142
+ function un(e, t = 0) {
1112
1143
  let n = this.context.memoryLimit;
1113
- return JSON.stringify(e, (e, t) => (an(n, t), t), t);
1144
+ return JSON.stringify(e, (e, t) => (cn(n, t), t), t);
1114
1145
  }
1115
- function cn(e, t = 0) {
1146
+ function dn(e, t = 0) {
1116
1147
  let n = this.context.memoryLimit, r = [];
1117
1148
  return JSON.stringify(e, function(e, t) {
1118
- if (typeof t != "object" || !t) return an(n, t), t;
1149
+ if (typeof t != "object" || !t) return cn(n, t), t;
1119
1150
  for (; r.length > 0 && r[r.length - 1] !== this;) r.pop();
1120
- return r.includes(t) ? (n.use(10), "[Circular]") : (r.push(t), an(n, t), t);
1151
+ return r.includes(t) ? (n.use(10), "[Circular]") : (r.push(t), cn(n, t), t);
1121
1152
  }, t);
1122
1153
  }
1123
- function ln(e) {
1154
+ function fn(e) {
1124
1155
  return Number(e);
1125
1156
  }
1126
- var un = {
1127
- default: on,
1157
+ var pn = {
1158
+ default: ln,
1128
1159
  raw: {
1129
1160
  raw: !0,
1130
- handler: ue
1161
+ handler: de
1131
1162
  },
1132
- jsonify: sn,
1133
- to_integer: ln,
1134
- json: sn,
1135
- inspect: cn
1136
- }, dn = {
1163
+ jsonify: un,
1164
+ to_integer: fn,
1165
+ json: un,
1166
+ inspect: dn
1167
+ }, mn = {
1137
1168
  "&": "&amp;",
1138
1169
  "<": "&lt;",
1139
1170
  ">": "&gt;",
1140
1171
  "\"": "&#34;",
1141
1172
  "'": "&#39;"
1142
- }, fn = {
1173
+ }, hn = {
1143
1174
  "&amp;": "&",
1144
1175
  "&lt;": "<",
1145
1176
  "&gt;": ">",
@@ -1147,22 +1178,22 @@ var un = {
1147
1178
  "&#39;": "'"
1148
1179
  };
1149
1180
  function P(e) {
1150
- return e = l(e), this.context.memoryLimit.use(e.length), e.replace(/&|<|>|"|'/g, (e) => dn[e]);
1181
+ return e = l(e), this.context.memoryLimit.use(e.length), e.replace(/&|<|>|"|'/g, (e) => mn[e]);
1151
1182
  }
1152
- function pn(e) {
1183
+ function gn(e) {
1153
1184
  return P.call(this, e);
1154
1185
  }
1155
- function mn(e) {
1156
- return e = l(e), this.context.memoryLimit.use(e.length), e.replace(/&(amp|lt|gt|#34|#39);/g, (e) => fn[e]);
1186
+ function _n(e) {
1187
+ return e = l(e), this.context.memoryLimit.use(e.length), e.replace(/&(amp|lt|gt|#34|#39);/g, (e) => hn[e]);
1157
1188
  }
1158
- function hn(e) {
1159
- return P.call(this, mn.call(this, e));
1189
+ function vn(e) {
1190
+ return P.call(this, _n.call(this, e));
1160
1191
  }
1161
- function gn(e) {
1192
+ function yn(e) {
1162
1193
  let t = l(e);
1163
1194
  return this.context.memoryLimit.use(t.length), t.replace(/\r?\n/gm, "<br />\n");
1164
1195
  }
1165
- function _n(e) {
1196
+ function bn(e) {
1166
1197
  let t = l(e);
1167
1198
  this.context.memoryLimit.use(t.length);
1168
1199
  let n = /* @__PURE__ */ new Map([
@@ -1188,19 +1219,19 @@ function _n(e) {
1188
1219
  }
1189
1220
  return r;
1190
1221
  }
1191
- var vn = /*#__PURE__*/ Object.freeze({
1222
+ var xn = /*#__PURE__*/ Object.freeze({
1192
1223
  __proto__: null,
1193
1224
  escape: P,
1194
- xml_escape: pn,
1195
- escape_once: hn,
1196
- newline_to_br: gn,
1197
- strip_html: _n
1198
- }), yn = class {
1225
+ xml_escape: gn,
1226
+ escape_once: vn,
1227
+ newline_to_br: yn,
1228
+ strip_html: bn
1229
+ }), Sn = class {
1199
1230
  constructor(e) {
1200
1231
  this.mapping = e, this.sep = "/";
1201
1232
  }
1202
1233
  exists(e) {
1203
- return D(this, void 0, void 0, function* () {
1234
+ return T(this, void 0, void 0, function* () {
1204
1235
  return this.existsSync(e);
1205
1236
  });
1206
1237
  }
@@ -1208,7 +1239,7 @@ var vn = /*#__PURE__*/ Object.freeze({
1208
1239
  return !h(this.mapping[e]);
1209
1240
  }
1210
1241
  readFile(e) {
1211
- return D(this, void 0, void 0, function* () {
1242
+ return T(this, void 0, void 0, function* () {
1212
1243
  return this.readFileSync(e);
1213
1244
  });
1214
1245
  }
@@ -1237,7 +1268,7 @@ var vn = /*#__PURE__*/ Object.freeze({
1237
1268
  keyValueSeparator: ":",
1238
1269
  cache: void 0,
1239
1270
  extname: "",
1240
- fs: rn,
1271
+ fs: sn,
1241
1272
  dynamicPartials: !0,
1242
1273
  jsTruthy: !1,
1243
1274
  dateFormat: "%A, %B %-e, %Y at %-l:%M %P %z",
@@ -1258,49 +1289,50 @@ var vn = /*#__PURE__*/ Object.freeze({
1258
1289
  lenientIf: !1,
1259
1290
  globals: {},
1260
1291
  keepOutputType: !1,
1261
- operators: Gt,
1292
+ operators: Jt,
1293
+ groupedExpressions: !1,
1262
1294
  memoryLimit: Infinity,
1263
1295
  parseLimit: Infinity,
1264
1296
  renderLimit: Infinity
1265
1297
  };
1266
- function bn(e) {
1298
+ function Cn(e) {
1267
1299
  if (e.hasOwnProperty("root") && (e.hasOwnProperty("partials") || (e.partials = e.root), e.hasOwnProperty("layouts") || (e.layouts = e.root)), e.hasOwnProperty("cache")) {
1268
1300
  let t;
1269
- t = typeof e.cache == "number" ? e.cache > 0 ? new Yt(e.cache) : void 0 : typeof e.cache == "object" ? e.cache : e.cache ? new Yt(1024) : void 0, e.cache = t;
1301
+ t = typeof e.cache == "number" ? e.cache > 0 ? new Qt(e.cache) : void 0 : typeof e.cache == "object" ? e.cache : e.cache ? new Qt(1024) : void 0, e.cache = t;
1270
1302
  }
1271
- return e = Object.assign(Object.assign(Object.assign({}, F), e.jekyllInclude ? { dynamicPartials: !1 } : {}), e), (!e.fs.dirname || !e.fs.sep) && e.relativeReference && (console.warn("[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning"), e.relativeReference = !1), e.root = I(e.root), e.partials = I(e.partials), e.layouts = I(e.layouts), e.outputEscape = e.outputEscape && xn(e.outputEscape), e.locale ||= ot()?.().resolvedOptions().locale ?? "en-US", e.templates && (e.fs = new yn(e.templates), e.relativeReference = !0, e.root = e.partials = e.layouts = "."), e;
1303
+ return e = Object.assign(Object.assign(Object.assign({}, F), e.jekyllInclude ? { dynamicPartials: !1 } : {}), e), (!e.fs.dirname || !e.fs.sep) && e.relativeReference && (console.warn("[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning"), e.relativeReference = !1), e.root = I(e.root), e.partials = I(e.partials), e.layouts = I(e.layouts), e.outputEscape = e.outputEscape && wn(e.outputEscape), e.locale || (e.locale = st()?.().resolvedOptions().locale ?? "en-US"), e.templates && (e.fs = new Sn(e.templates), e.relativeReference = !0, e.root = e.partials = e.layouts = "."), e;
1272
1304
  }
1273
- function xn(e) {
1274
- return e === "escape" ? P : e === "json" ? un.json : (w(o(e), "`outputEscape` need to be of type string or function"), e);
1305
+ function wn(e) {
1306
+ return e === "escape" ? P : e === "json" ? pn.json : (C(o(e), "`outputEscape` need to be of type string or function"), e);
1275
1307
  }
1276
1308
  function I(e) {
1277
1309
  let t = [];
1278
1310
  return g(e) && (t = e), a(e) && (t = [e]), t;
1279
1311
  }
1280
- function Sn(e, t) {
1312
+ function Tn(e, t) {
1281
1313
  let n = !1;
1282
1314
  for (let r = 0; r < e.length; r++) {
1283
1315
  let i = e[r];
1284
- Hn(i) && (!n && i.trimLeft && Cn(e[r - 1], t.greedy), J(i) && (i.name === "raw" ? n = !0 : i.name === "endraw" && (n = !1)), !n && i.trimRight && wn(e[r + 1], t.greedy));
1316
+ Wn(i) && (!n && i.trimLeft && En(e[r - 1], t.greedy), J(i) && (i.name === "raw" ? n = !0 : i.name === "endraw" && (n = !1)), !n && i.trimRight && Dn(e[r + 1], t.greedy));
1285
1317
  }
1286
1318
  }
1287
- function Cn(e, t) {
1288
- if (!e || !Wn(e)) return;
1289
- let n = t ? C : Oe;
1290
- for (; S[e.input.charCodeAt(e.end - 1 - e.trimRight)] & n;) e.trimRight++;
1319
+ function En(e, t) {
1320
+ if (!e || !Kn(e)) return;
1321
+ let n = t ? S : ke;
1322
+ for (; x[e.input.charCodeAt(e.end - 1 - e.trimRight)] & n;) e.trimRight++;
1291
1323
  }
1292
- function wn(e, t) {
1293
- if (!e || !Wn(e)) return;
1294
- let n = t ? C : Oe;
1295
- for (; S[e.input.charCodeAt(e.begin + e.trimLeft)] & n;) e.trimLeft++;
1324
+ function Dn(e, t) {
1325
+ if (!e || !Kn(e)) return;
1326
+ let n = t ? S : ke;
1327
+ for (; x[e.input.charCodeAt(e.begin + e.trimLeft)] & n;) e.trimLeft++;
1296
1328
  e.input.charAt(e.begin + e.trimLeft) === "\n" && e.trimLeft++;
1297
1329
  }
1298
1330
  var L = class {
1299
- constructor(e, t = F.operators, n, r) {
1300
- this.input = e, this.file = n, this.rawBeginAt = -1, this.p = r ? r[0] : 0, this.N = r ? r[1] : e.length, this.opTrie = We(t), this.literalTrie = We(He);
1331
+ constructor(e, t = F.operators, n, r, i = !1) {
1332
+ this.input = e, this.file = n, this.rawBeginAt = -1, this.p = r ? r[0] : 0, this.N = r ? r[1] : e.length, this.opTrie = Ke(t), this.literalTrie = Ke(We), this.groupedExpressions = i;
1301
1333
  }
1302
1334
  readExpression() {
1303
- return new zt(this.readExpressionTokens());
1335
+ return new Ht(this.readExpressionTokens());
1304
1336
  }
1305
1337
  *readExpressionTokens() {
1306
1338
  for (; this.p < this.N;) {
@@ -1320,16 +1352,16 @@ var L = class {
1320
1352
  readOperator() {
1321
1353
  this.skipBlank();
1322
1354
  let e = this.matchTrie(this.opTrie);
1323
- if (e !== -1) return new Ct(this.input, this.p, this.p = e, this.file);
1355
+ if (e !== -1) return new wt(this.input, this.p, this.p = e, this.file);
1324
1356
  }
1325
1357
  matchTrie(e) {
1326
1358
  let t = e, n = this.p, r;
1327
1359
  for (; t[this.input[n]] && n < this.N;) t = t[this.input[n++]], t.end && (r = t);
1328
- return !r || r.needBoundary && Me(this.peek(n - this.p)) ? -1 : n;
1360
+ return !r || r.needBoundary && Ne(this.peek(n - this.p)) ? -1 : n;
1329
1361
  }
1330
1362
  readFilteredValue() {
1331
1363
  let e = this.p, t = this.readExpression();
1332
- return this.assert(t.valid(), `invalid value expression: ${this.snapshot()}`), new Ft(t, this.readFilters(), this.input, e, this.p, this.file);
1364
+ return this.assert(t.valid(), `invalid value expression: ${this.snapshot()}`), new It(t, this.readFilters(), this.input, e, this.p, this.file);
1333
1365
  }
1334
1366
  readFilters() {
1335
1367
  let e = [];
@@ -1340,7 +1372,7 @@ var L = class {
1340
1372
  }
1341
1373
  }
1342
1374
  readFilter() {
1343
- if (this.skipBlank(), this.end()) return null;
1375
+ if (this.skipBlank(), this.end() || this.peek() === ")") return null;
1344
1376
  this.assert(this.read() === "|", "expected \"|\" before filter");
1345
1377
  let e = this.readIdentifier();
1346
1378
  if (!e.size()) return this.assert(this.end(), "expected filter name"), null;
@@ -1348,10 +1380,10 @@ var L = class {
1348
1380
  if (this.skipBlank(), this.peek() === ":") do {
1349
1381
  ++this.p;
1350
1382
  let e = this.readFilterArg();
1351
- e && t.push(e), this.skipBlank(), this.assert(this.end() || this.peek() === "," || this.peek() === "|", () => `unexpected character ${this.snapshot()}`);
1383
+ e && t.push(e), this.skipBlank(), this.assert(this.end() || this.peek() === "," || this.peek() === "|" || this.peek() === ")", () => `unexpected character ${this.snapshot()}`);
1352
1384
  } while (this.peek() === ",");
1353
- else if (!(this.peek() === "|" || this.end())) throw this.error("expected \":\" after filter name");
1354
- return new Tt(e.getText(), t, this.input, e.begin, this.p, this.file);
1385
+ else if (!(this.peek() === "|" || this.peek() === ")" || this.end())) throw this.error("expected \":\" after filter name");
1386
+ return new Et(e.getText(), t, this.input, e.begin, this.p, this.file);
1355
1387
  }
1356
1388
  readFilterArg() {
1357
1389
  let e = this.readValue();
@@ -1367,7 +1399,7 @@ var L = class {
1367
1399
  let n = this.readTopLevelToken(e);
1368
1400
  t.push(n);
1369
1401
  }
1370
- return Sn(t, e), t;
1402
+ return Tn(t, e), t;
1371
1403
  }
1372
1404
  readTopLevelToken(e) {
1373
1405
  let { tagDelimiterLeft: t, outputDelimiterLeft: n } = e;
@@ -1376,17 +1408,17 @@ var L = class {
1376
1408
  readHTMLToken(e) {
1377
1409
  let t = this.p;
1378
1410
  for (; this.p < this.N && !e.some((e) => this.match(e));) ++this.p;
1379
- return new _t(this.input, t, this.p, this.file);
1411
+ return new vt(this.input, t, this.p, this.file);
1380
1412
  }
1381
1413
  readTagToken(e) {
1382
1414
  let { file: t, input: n } = this, r = this.p;
1383
1415
  if (this.readToDelimiter(e.tagDelimiterRight) === -1) throw this.error(`tag ${this.snapshot(r)} not closed`, r);
1384
- let i = new ht(n, r, this.p, e, t);
1416
+ let i = new gt(n, r, this.p, e, t);
1385
1417
  return i.name === "raw" && (this.rawBeginAt = r), i;
1386
1418
  }
1387
1419
  readToDelimiter(e, t = !1) {
1388
1420
  for (this.skipBlank(); this.p < this.N;) {
1389
- if (t && this.peekType() & De) {
1421
+ if (t && this.peekType() & Oe) {
1390
1422
  this.readQuoted();
1391
1423
  continue;
1392
1424
  }
@@ -1397,7 +1429,7 @@ var L = class {
1397
1429
  readOutputToken(e = F) {
1398
1430
  let { file: t, input: n } = this, { outputDelimiterRight: r } = e, i = this.p;
1399
1431
  if (this.readToDelimiter(r, !0) === -1) throw this.error(`output ${this.snapshot(i)} not closed`, i);
1400
- return new gt(n, i, this.p, e, t);
1432
+ return new _t(n, i, this.p, e, t);
1401
1433
  }
1402
1434
  readEndrawOrRawContent(e) {
1403
1435
  let { tagDelimiterLeft: t, tagDelimiterRight: n } = e, r = this.p, i = this.readTo(t) - t.length;
@@ -1409,7 +1441,7 @@ var L = class {
1409
1441
  for (; this.p <= this.N;) {
1410
1442
  if (this.rmatch(n)) {
1411
1443
  let t = this.p;
1412
- return r === i ? (this.rawBeginAt = -1, new ht(this.input, r, t, e, this.file)) : (this.p = i, new _t(this.input, r, i, this.file));
1444
+ return r === i ? (this.rawBeginAt = -1, new gt(this.input, r, t, e, this.file)) : (this.p = i, new vt(this.input, r, i, this.file));
1413
1445
  }
1414
1446
  if (this.rmatch(t)) break;
1415
1447
  this.p++;
@@ -1430,16 +1462,16 @@ var L = class {
1430
1462
  let t = this.p;
1431
1463
  this.readToDelimiter("\n");
1432
1464
  let n = this.p;
1433
- return new Pt(this.input, t, n, e, this.file);
1465
+ return new Ft(this.input, t, n, e, this.file);
1434
1466
  }
1435
1467
  error(e, t = this.p) {
1436
- return new _e(e, new yt(this.input, t, this.N, this.file));
1468
+ return new ve(e, new bt(this.input, t, this.N, this.file));
1437
1469
  }
1438
1470
  assert(e, t, n) {
1439
1471
  if (!e) throw this.error(typeof t == "function" ? t() : t, n);
1440
1472
  }
1441
1473
  snapshot(e = this.p) {
1442
- return JSON.stringify(fe(this.input.slice(e, this.N), 32));
1474
+ return JSON.stringify(pe(this.input.slice(e, this.N), 32));
1443
1475
  }
1444
1476
  readWord() {
1445
1477
  return this.readIdentifier();
@@ -1447,8 +1479,8 @@ var L = class {
1447
1479
  readIdentifier() {
1448
1480
  this.skipBlank();
1449
1481
  let e = this.p;
1450
- for (; !this.end() && Me(this.peek());) ++this.p;
1451
- return new yt(this.input, e, this.p, this.file);
1482
+ for (; !this.end() && Ne(this.peek());) ++this.p;
1483
+ return new bt(this.input, e, this.p, this.file);
1452
1484
  }
1453
1485
  readNonEmptyIdentifier() {
1454
1486
  let e = this.readIdentifier();
@@ -1472,7 +1504,7 @@ var L = class {
1472
1504
  let r;
1473
1505
  this.skipBlank();
1474
1506
  let i = a(e) ? e : e ? "=" : ":";
1475
- return this.peek() === i && (++this.p, r = this.readValue()), new Et(this.input, t, this.p, n, r, this.file);
1507
+ return this.peek() === i && (++this.p, r = this.readValue()), new Dt(this.input, t, this.p, n, r, this.file);
1476
1508
  }
1477
1509
  remaining() {
1478
1510
  return this.input.slice(this.p, this.N);
@@ -1492,20 +1524,22 @@ var L = class {
1492
1524
  }
1493
1525
  readValue() {
1494
1526
  this.skipBlank();
1495
- let e = this.p, t = this.readLiteral() || this.readQuoted() || this.readRange() || this.readNumber(), n = this.readProperties(!t);
1496
- return n.length ? new wt(t, n, this.input, e, this.p) : t;
1527
+ let e = this.p, t = this.readLiteral() || this.readQuoted() || this.readNumber();
1528
+ !t && this.peek() === "(" && (t = this.readGroupOrRange());
1529
+ let n = this.readProperties(!t);
1530
+ return n.length ? new Tt(t, n, this.input, e, this.p) : t;
1497
1531
  }
1498
1532
  readScopeValue() {
1499
1533
  this.skipBlank();
1500
1534
  let e = this.p, t = this.readProperties();
1501
- if (t.length) return new wt(void 0, t, this.input, e, this.p);
1535
+ if (t.length) return new Tt(void 0, t, this.input, e, this.p);
1502
1536
  }
1503
1537
  readProperties(e = !0) {
1504
1538
  let t = [];
1505
1539
  for (;;) {
1506
1540
  if (this.peek() === "[") {
1507
1541
  this.p++;
1508
- let e = this.readValue() || new yt(this.input, this.p, this.p, this.file);
1542
+ let e = this.readValue() || new bt(this.input, this.p, this.p, this.file);
1509
1543
  this.assert(this.readTo("]") !== -1, "[ not closed"), t.push(e);
1510
1544
  continue;
1511
1545
  }
@@ -1530,13 +1564,13 @@ var L = class {
1530
1564
  readNumber() {
1531
1565
  this.skipBlank();
1532
1566
  let e = !1, t = !1, n = 0;
1533
- for (this.peekType() & Ae && n++; this.p + n <= this.N;) if (this.peekType(n) & ke) t = !0, n++;
1567
+ for (this.peekType() & je && n++; this.p + n <= this.N;) if (this.peekType(n) & Ae) t = !0, n++;
1534
1568
  else if (this.peek(n) === "." && this.peek(n + 1) !== ".") {
1535
1569
  if (e || !t) return;
1536
1570
  e = !0, n++;
1537
1571
  } else break;
1538
- if (t && !Me(this.peek(n))) {
1539
- let e = new vt(this.input, this.p, this.p + n, this.file);
1572
+ if (t && !Ne(this.peek(n))) {
1573
+ let e = new yt(this.input, this.p, this.p + n, this.file);
1540
1574
  return this.advance(n), e;
1541
1575
  }
1542
1576
  }
@@ -1544,18 +1578,27 @@ var L = class {
1544
1578
  this.skipBlank();
1545
1579
  let e = this.matchTrie(this.literalTrie);
1546
1580
  if (e === -1) return;
1547
- let t = new bt(this.input, this.p, e, this.file);
1581
+ let t = new xt(this.input, this.p, e, this.file);
1548
1582
  return this.p = e, t;
1549
1583
  }
1550
- readRange() {
1584
+ readGroupOrRange() {
1551
1585
  this.skipBlank();
1552
1586
  let e = this.p;
1553
1587
  if (this.peek() !== "(") return;
1554
1588
  ++this.p;
1555
1589
  let t = this.readValueOrThrow();
1556
- this.skipBlank(), this.assert(this.read() === "." && this.read() === ".", "invalid range syntax");
1557
- let n = this.readValueOrThrow();
1558
- return this.skipBlank(), this.assert(this.read() === ")", "invalid range syntax"), new Nt(this.input, e, this.p, t, n, this.file);
1590
+ if (this.skipBlank(), this.peek() === "." && this.peek(1) === ".") {
1591
+ this.p += 2;
1592
+ let n = this.readValueOrThrow();
1593
+ return this.skipBlank(), this.assert(this.read() === ")", "invalid range syntax"), new Pt(this.input, e, this.p, t, n, this.file);
1594
+ }
1595
+ if (this.groupedExpressions) {
1596
+ let n = new Ht([t, ...this.readExpressionTokens()]);
1597
+ this.assert(n.valid(), () => `invalid value expression: ${this.snapshot()}`);
1598
+ let r = this.readFilters();
1599
+ return this.skipBlank(), this.assert(this.read() === ")", "unbalanced parentheses"), new It(n, r, this.input, e, this.p, this.file);
1600
+ }
1601
+ throw this.error("invalid range syntax");
1559
1602
  }
1560
1603
  readValueOrThrow() {
1561
1604
  let e = this.readValue();
@@ -1564,11 +1607,11 @@ var L = class {
1564
1607
  readQuoted() {
1565
1608
  this.skipBlank();
1566
1609
  let e = this.p;
1567
- if (!(this.peekType() & De)) return;
1610
+ if (!(this.peekType() & Oe)) return;
1568
1611
  ++this.p;
1569
1612
  let t = !1;
1570
1613
  for (; this.p < this.N && (++this.p, !(this.input[this.p - 1] === this.input[e] && !t));) t ? t = !1 : this.input[this.p - 1] === "\\" && (t = !0);
1571
- return new Mt(this.input, e, this.p, this.file);
1614
+ return new Nt(this.input, e, this.p, this.file);
1572
1615
  }
1573
1616
  *readFileNameTemplate(e) {
1574
1617
  let { outputDelimiterLeft: t } = e, n = [
@@ -1590,15 +1633,15 @@ var L = class {
1590
1633
  return !0;
1591
1634
  }
1592
1635
  peekType(e = 0) {
1593
- return this.p + e >= this.N ? 0 : S[this.input.charCodeAt(this.p + e)];
1636
+ return this.p + e >= this.N ? 0 : x[this.input.charCodeAt(this.p + e)];
1594
1637
  }
1595
1638
  peek(e = 0) {
1596
1639
  return this.p + e >= this.N ? "" : this.input[this.p + e];
1597
1640
  }
1598
1641
  skipBlank() {
1599
- for (; this.peekType() & C;) ++this.p;
1642
+ for (; this.peekType() & S;) ++this.p;
1600
1643
  }
1601
- }, Tn = class {
1644
+ }, On = class {
1602
1645
  constructor(e, t) {
1603
1646
  this.handlers = {}, this.stopRequested = !1, this.tokens = e, this.parseToken = t;
1604
1647
  }
@@ -1622,11 +1665,11 @@ var L = class {
1622
1665
  stop() {
1623
1666
  return this.stopRequested = !0, this;
1624
1667
  }
1625
- }, En = class {
1668
+ }, kn = class {
1626
1669
  constructor(e) {
1627
1670
  this.token = e;
1628
1671
  }
1629
- }, R = class extends En {
1672
+ }, R = class extends kn {
1630
1673
  constructor(e, t, n) {
1631
1674
  super(e), this.name = e.name, this.liquid = n, this.tokenizer = e.tokenizer;
1632
1675
  }
@@ -1638,11 +1681,11 @@ var L = class {
1638
1681
  }
1639
1682
  *render(e) {
1640
1683
  let t = {};
1641
- for (let n of Object.keys(this.hash)) t[n] = this.hash[n] === void 0 ? !0 : yield j(this.hash[n], e);
1684
+ for (let n of Object.keys(this.hash)) t[n] = this.hash[n] === void 0 ? !0 : yield A(this.hash[n], e);
1642
1685
  return t;
1643
1686
  }
1644
1687
  };
1645
- function Dn(e) {
1688
+ function An(e) {
1646
1689
  return class extends R {
1647
1690
  constructor(t, n, r) {
1648
1691
  super(t, n, r), o(e.parse) && e.parse.call(this, t, n);
@@ -1653,27 +1696,11 @@ function Dn(e) {
1653
1696
  }
1654
1697
  };
1655
1698
  }
1656
- function On(e) {
1657
- return g(e);
1658
- }
1659
- var kn = class {
1660
- constructor(e, t, n) {
1661
- this.token = e, this.name = e.name, this.handler = o(t) ? t : o(t?.handler) ? t.handler : ue, this.raw = !o(t) && !!t?.raw, this.args = e.args, this.liquid = n;
1662
- }
1663
- *render(e, t) {
1664
- let n = [];
1665
- for (let e of this.args) On(e) ? n.push([e[0], yield j(e[1], t)]) : n.push(yield j(e, t));
1666
- return yield this.handler.apply({
1667
- context: t,
1668
- token: this.token,
1669
- liquid: this.liquid
1670
- }, [e, ...n]);
1671
- }
1672
- }, B = class {
1699
+ var B = class {
1673
1700
  constructor(e, t) {
1674
1701
  this.filters = [];
1675
- let n = typeof e == "string" ? new L(e, t.options.operators).readFilteredValue() : e;
1676
- this.initial = n.initial, this.filters = n.filters.map((e) => new kn(e, this.getFilter(t, e.name), t));
1702
+ let n = typeof e == "string" ? new L(e, t.options.operators, void 0, void 0, t.options.groupedExpressions).readFilteredValue() : e;
1703
+ this.initial = n.initial, this.filters = n.filters.map((e) => new Vt(e, this.getFilter(t, e.name), t));
1677
1704
  }
1678
1705
  *value(e, t) {
1679
1706
  t ||= e.opts.lenientIf && this.filters.length > 0 && this.filters[0].name === "default";
@@ -1683,17 +1710,17 @@ var kn = class {
1683
1710
  }
1684
1711
  getFilter(e, t) {
1685
1712
  let n = e.filters[t];
1686
- return w(n || !e.options.strictFilters, () => `undefined filter: ${t}`), n;
1713
+ return C(n || !e.options.strictFilters, () => `undefined filter: ${t}`), n;
1687
1714
  }
1688
- }, An = class extends En {
1715
+ }, jn = class extends kn {
1689
1716
  constructor(e, t) {
1690
1717
  super(e);
1691
- let n = new L(e.input, t.options.operators, e.file, e.contentRange);
1718
+ let n = new L(e.input, t.options.operators, e.file, e.contentRange, t.options.groupedExpressions);
1692
1719
  this.value = new B(n.readFilteredValue(), t);
1693
1720
  let r = this.value.filters, i = t.options.outputEscape;
1694
1721
  if (!r[r.length - 1]?.raw && i) {
1695
- let e = new Tt(toString.call(i), [], "", 0, 0);
1696
- r.push(new kn(e, i, t));
1722
+ let e = new Et(toString.call(i), [], "", 0, 0);
1723
+ r.push(new Vt(e, i, t));
1697
1724
  }
1698
1725
  }
1699
1726
  *render(e, t) {
@@ -1703,7 +1730,7 @@ var kn = class {
1703
1730
  *arguments() {
1704
1731
  yield this.value;
1705
1732
  }
1706
- }, jn = class extends En {
1733
+ }, Mn = class extends kn {
1707
1734
  constructor(e) {
1708
1735
  super(e), this.str = e.getContent();
1709
1736
  }
@@ -1715,7 +1742,7 @@ var kn = class {
1715
1742
  this.segments = e, this.location = t;
1716
1743
  }
1717
1744
  toString() {
1718
- return Bn(this.segments, !0);
1745
+ return Hn(this.segments, !0);
1719
1746
  }
1720
1747
  toArray() {
1721
1748
  function* t(...n) {
@@ -1723,16 +1750,16 @@ var kn = class {
1723
1750
  }
1724
1751
  return Array.from(t(...this.segments));
1725
1752
  }
1726
- }, Mn = class {
1753
+ }, Nn = class {
1727
1754
  constructor() {
1728
1755
  this.map = /* @__PURE__ */ new Map();
1729
1756
  }
1730
1757
  get(e) {
1731
- let t = Bn([e.segments[0]]);
1758
+ let t = Hn([e.segments[0]]);
1732
1759
  return this.map.has(t) || this.map.set(t, []), this.map.get(t);
1733
1760
  }
1734
1761
  has(e) {
1735
- return this.map.has(Bn([e.segments[0]]));
1762
+ return this.map.has(Hn([e.segments[0]]));
1736
1763
  }
1737
1764
  push(e) {
1738
1765
  this.get(e).push(e);
@@ -1740,9 +1767,9 @@ var kn = class {
1740
1767
  asObject() {
1741
1768
  return Object.fromEntries(this.map);
1742
1769
  }
1743
- }, Nn = { partials: !0 };
1744
- function* Pn(e, t, n) {
1745
- let r = new Mn(), i = new Mn(), o = new Mn(), s = new Fn(/* @__PURE__ */ new Set()), c = /* @__PURE__ */ new Set();
1770
+ }, Pn = { partials: !0 };
1771
+ function* Fn(e, t, n) {
1772
+ let r = new Nn(), i = new Nn(), o = new Nn(), s = new In(/* @__PURE__ */ new Set()), c = /* @__PURE__ */ new Set();
1746
1773
  function l(e, t) {
1747
1774
  r.push(e);
1748
1775
  let n = t.alias(e);
@@ -1756,7 +1783,7 @@ function* Pn(e, t, n) {
1756
1783
  for (let n of e.segments) n instanceof V && l(n, t);
1757
1784
  }
1758
1785
  function* u(e, r) {
1759
- if (e.arguments) for (let t of e.arguments()) for (let e of In(t)) l(e, r);
1786
+ if (e.arguments) for (let t of e.arguments()) for (let e of Ln(t)) l(e, r);
1760
1787
  if (e.localScope) for (let t of e.localScope()) {
1761
1788
  r.add(t.content), r.deleteAlias(t.content);
1762
1789
  let [e, n] = t.getPosition();
@@ -1773,12 +1800,12 @@ function* Pn(e, t, n) {
1773
1800
  return;
1774
1801
  }
1775
1802
  if (c.has(i.name)) return;
1776
- let o = /* @__PURE__ */ new Set(), s = i.isolated ? new Fn(o) : r.push(o);
1803
+ let o = /* @__PURE__ */ new Set(), s = i.isolated ? new In(o) : r.push(o);
1777
1804
  for (let e of i.scope) if (a(e)) o.add(e);
1778
1805
  else {
1779
1806
  let [t, n] = e;
1780
1807
  o.add(t);
1781
- let r = Array.from(In(n));
1808
+ let r = Array.from(Ln(n));
1782
1809
  r.length && s.setAlias(t, r[0].segments);
1783
1810
  }
1784
1811
  for (let r of yield e.children(t, n)) yield u(r, s), c.add(i.name);
@@ -1797,12 +1824,12 @@ function* Pn(e, t, n) {
1797
1824
  };
1798
1825
  }
1799
1826
  function H(e, t = {}) {
1800
- return O(Pn(e, Object.assign(Object.assign({}, Nn), t).partials, !1));
1827
+ return E(Fn(e, Object.assign(Object.assign({}, Pn), t).partials, !1));
1801
1828
  }
1802
1829
  function U(e, t = {}) {
1803
- return k(Pn(e, Object.assign(Object.assign({}, Nn), t).partials, !0));
1830
+ return D(Fn(e, Object.assign(Object.assign({}, Pn), t).partials, !0));
1804
1831
  }
1805
- var Fn = class {
1832
+ var In = class {
1806
1833
  constructor(e) {
1807
1834
  this.stack = [{
1808
1835
  names: e,
@@ -1844,20 +1871,26 @@ var Fn = class {
1844
1871
  }
1845
1872
  }
1846
1873
  };
1847
- function* In(e) {
1848
- Y(e) ? yield* W(e) : e instanceof B && (yield* Ln(e));
1849
- }
1850
1874
  function* Ln(e) {
1875
+ Y(e) ? yield* W(e) : e instanceof B && (yield* Rn(e));
1876
+ }
1877
+ function* Rn(e) {
1851
1878
  for (let t of e.initial.postfix) Y(t) && (yield* W(t));
1852
- for (let t of e.filters) for (let e of t.args) On(e) && e[1] ? yield* W(e[1]) : Y(e) && (yield* W(e));
1879
+ for (let t of e.filters) for (let e of t.args) Bt(e) && e[1] ? yield* W(e[1]) : Y(e) && (yield* W(e));
1853
1880
  }
1854
1881
  function* W(e) {
1855
- Xn(e) ? (yield* W(e.lhs), yield* W(e.rhs)) : Jn(e) && (yield Rn(e));
1882
+ Qn(e) ? (yield* W(e.lhs), yield* W(e.rhs)) : $n(e) ? yield* zn(e) : Xn(e) && (yield Bn(e));
1856
1883
  }
1857
- function Rn(e) {
1884
+ function* zn(e) {
1885
+ if ($n(e)) {
1886
+ for (let t of e.initial.postfix) Y(t) && (yield* W(t));
1887
+ for (let t of e.filters) for (let e of t.args) Bt(e) && e[1] ? yield* W(e[1]) : Y(e) && (yield* W(e));
1888
+ }
1889
+ }
1890
+ function Bn(e) {
1858
1891
  let t = [], n = e.file, r = e.props[0];
1859
- n ||= r.file, Kn(r) || qn(r) || Yn(r) ? t.push(r.content) : Jn(r) && t.push(...Rn(r).segments);
1860
- for (let r of e.props.slice(1)) n ||= r.file, Kn(r) || qn(r) || Yn(r) ? t.push(r.content) : Jn(r) && t.push(Rn(r));
1892
+ n ||= r.file, Jn(r) || Yn(r) || Zn(r) ? t.push(r.content) : Xn(r) && t.push(...Bn(r).segments);
1893
+ for (let r of e.props.slice(1)) n ||= r.file, Jn(r) || Yn(r) || Zn(r) ? t.push(r.content) : Xn(r) && t.push(Bn(r));
1861
1894
  let [i, a] = e.getPosition();
1862
1895
  return new V(t, {
1863
1896
  row: i,
@@ -1865,22 +1898,22 @@ function Rn(e) {
1865
1898
  file: n
1866
1899
  });
1867
1900
  }
1868
- var zn = /^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;
1869
- function Bn(e, t = !1) {
1901
+ var Vn = /^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;
1902
+ function Hn(e, t = !1) {
1870
1903
  let n = [], r = e[0];
1871
- a(r) && (!t || r.match(zn) ? n.push(`${r}`) : n.push(`['${r}']`));
1872
- for (let t of e.slice(1)) t instanceof V ? n.push(`[${Bn(t.segments)}]`) : a(t) ? t.match(zn) ? n.push(`.${t}`) : n.push(`['${t}']`) : n.push(`[${t}]`);
1904
+ a(r) && (!t || r.match(Vn) ? n.push(`${r}`) : n.push(`['${r}']`));
1905
+ for (let t of e.slice(1)) t instanceof V ? n.push(`[${Hn(t.segments)}]`) : a(t) ? t.match(Vn) ? n.push(`.${t}`) : n.push(`['${t}']`) : n.push(`[${t}]`);
1873
1906
  return n.join("");
1874
1907
  }
1875
1908
  var G;
1876
1909
  (function(e) {
1877
1910
  e.Partials = "partials", e.Layouts = "layouts", e.Root = "root";
1878
1911
  })(G ||= {});
1879
- var Vn = class {
1912
+ var Un = class {
1880
1913
  constructor(e) {
1881
1914
  if (this.options = e, e.relativeReference) {
1882
1915
  let t = e.fs.sep;
1883
- w(t, "`fs.sep` is required for relative reference");
1916
+ C(t, "`fs.sep` is required for relative reference");
1884
1917
  let n = [
1885
1918
  "." + t,
1886
1919
  ".." + t,
@@ -1890,9 +1923,9 @@ var Vn = class {
1890
1923
  this.shouldLoadRelative = (e) => n.some((t) => e.startsWith(t));
1891
1924
  } else this.shouldLoadRelative = (e) => !1;
1892
1925
  let t = e.fs;
1893
- this.contains = Ke(t.contains?.bind(t) || (() => D(this, void 0, void 0, function* () {
1926
+ this.contains = Je(t.contains?.bind(t) || (() => T(this, void 0, void 0, function* () {
1894
1927
  return !0;
1895
- })), t.containsSync?.bind(t) || (() => !0)), this.exists = Ke(t.exists?.bind(t) || (() => D(this, void 0, void 0, function* () {
1928
+ })), t.containsSync?.bind(t) || (() => !0)), this.exists = Je(t.exists?.bind(t) || (() => T(this, void 0, void 0, function* () {
1896
1929
  return !1;
1897
1930
  })), t.existsSync?.bind(t));
1898
1931
  }
@@ -1919,7 +1952,7 @@ var Vn = class {
1919
1952
  }
1920
1953
  dirname(e) {
1921
1954
  let t = this.options.fs;
1922
- return w(t.dirname, "`fs.dirname` is required for relative reference"), t.dirname(e);
1955
+ return C(t.dirname, "`fs.dirname` is required for relative reference"), t.dirname(e);
1923
1956
  }
1924
1957
  lookupError(e, t) {
1925
1958
  let n = /* @__PURE__ */ Error("ENOENT");
@@ -1927,13 +1960,13 @@ var Vn = class {
1927
1960
  }
1928
1961
  }, K = class {
1929
1962
  constructor(e) {
1930
- this.liquid = e, this.cache = this.liquid.options.cache, this.fs = this.liquid.options.fs, this.parseFile = this.cache ? this._parseFileCached : this._parseFile, this.loader = new Vn(this.liquid.options), this.parseLimit = new pt("parse length", e.options.parseLimit), this.readFile = Ke(this.fs.readFile?.bind(this.fs) || (() => D(this, void 0, void 0, function* () {
1963
+ this.liquid = e, this.cache = this.liquid.options.cache, this.fs = this.liquid.options.fs, this.parseFile = this.cache ? this._parseFileCached : this._parseFile, this.loader = new Un(this.liquid.options), this.parseLimit = new mt("parse length", e.options.parseLimit), this.readFile = Je(this.fs.readFile?.bind(this.fs) || (() => T(this, void 0, void 0, function* () {
1931
1964
  throw Error("readFile not implemented");
1932
1965
  })), this.fs.readFileSync?.bind(this.fs));
1933
1966
  }
1934
1967
  parse(e, t) {
1935
1968
  e = String(e), this.parseLimit.use(e.length);
1936
- let n = new L(e, this.liquid.options.operators, t).readTopLevelTokens(this.liquid.options);
1969
+ let n = new L(e, this.liquid.options.operators, t, void 0, this.liquid.options.groupedExpressions).readTopLevelTokens(this.liquid.options);
1937
1970
  return this.parseTokens(n);
1938
1971
  }
1939
1972
  parseTokens(e) {
@@ -1944,27 +1977,27 @@ var Vn = class {
1944
1977
  if (this.liquid.options.catchAllErrors) r.push(e);
1945
1978
  else throw e;
1946
1979
  }
1947
- if (r.length) throw new be(r);
1980
+ if (r.length) throw new xe(r);
1948
1981
  return n;
1949
1982
  }
1950
1983
  parseToken(e, t) {
1951
1984
  try {
1952
1985
  if (J(e)) {
1953
1986
  let n = this.liquid.tags[e.name];
1954
- return w(n, `tag "${e.name}" not found`), new n(e, t, this.liquid, this);
1987
+ return C(n, `tag "${e.name}" not found`), new n(e, t, this.liquid, this);
1955
1988
  }
1956
- return Gn(e) ? new An(e, this.liquid) : new jn(e);
1989
+ return qn(e) ? new jn(e, this.liquid) : new Mn(e);
1957
1990
  } catch (t) {
1958
- throw x.is(t) ? t : new ve(t, e);
1991
+ throw b.is(t) ? t : new ye(t, e);
1959
1992
  }
1960
1993
  }
1961
1994
  parseStream(e) {
1962
- return new Tn(e, (e, t) => this.parseToken(e, t));
1995
+ return new On(e, (e, t) => this.parseToken(e, t));
1963
1996
  }
1964
1997
  *_parseFileCached(e, t, n = G.Root, r) {
1965
1998
  let i = this.cache, a = this.loader.shouldLoadRelative(e) ? r + "," + e : n + ":" + e, o = yield i.read(a);
1966
1999
  if (o) return o;
1967
- let s = this._parseFile(e, t, n, r), c = t ? yield s : O(s);
2000
+ let s = this._parseFile(e, t, n, r), c = t ? yield s : E(s);
1968
2001
  i.write(a, c);
1969
2002
  try {
1970
2003
  return yield c;
@@ -1978,40 +2011,43 @@ var Vn = class {
1978
2011
  }
1979
2012
  }, q;
1980
2013
  (function(e) {
1981
- e[e.Number = 1] = "Number", e[e.Literal = 2] = "Literal", e[e.Tag = 4] = "Tag", e[e.Output = 8] = "Output", e[e.HTML = 16] = "HTML", e[e.Filter = 32] = "Filter", e[e.Hash = 64] = "Hash", e[e.PropertyAccess = 128] = "PropertyAccess", e[e.Word = 256] = "Word", e[e.Range = 512] = "Range", e[e.Quoted = 1024] = "Quoted", e[e.Operator = 2048] = "Operator", e[e.FilteredValue = 4096] = "FilteredValue", e[e.Delimited = 12] = "Delimited";
2014
+ e[e.Number = 1] = "Number", e[e.Literal = 2] = "Literal", e[e.Tag = 4] = "Tag", e[e.Output = 8] = "Output", e[e.HTML = 16] = "HTML", e[e.Filter = 32] = "Filter", e[e.Hash = 64] = "Hash", e[e.PropertyAccess = 128] = "PropertyAccess", e[e.Word = 256] = "Word", e[e.Range = 512] = "Range", e[e.Quoted = 1024] = "Quoted", e[e.Operator = 2048] = "Operator", e[e.FilteredValue = 4096] = "FilteredValue", e[e.GroupedExpression = 8192] = "GroupedExpression", e[e.Delimited = 12] = "Delimited";
1982
2015
  })(q ||= {});
1983
- function Hn(e) {
2016
+ function Wn(e) {
1984
2017
  return !!(X(e) & q.Delimited);
1985
2018
  }
1986
- function Un(e) {
2019
+ function Gn(e) {
1987
2020
  return X(e) === q.Operator;
1988
2021
  }
1989
- function Wn(e) {
2022
+ function Kn(e) {
1990
2023
  return X(e) === q.HTML;
1991
2024
  }
1992
- function Gn(e) {
2025
+ function qn(e) {
1993
2026
  return X(e) === q.Output;
1994
2027
  }
1995
2028
  function J(e) {
1996
2029
  return X(e) === q.Tag;
1997
2030
  }
1998
- function Kn(e) {
2031
+ function Jn(e) {
1999
2032
  return X(e) === q.Quoted;
2000
2033
  }
2001
- function qn(e) {
2034
+ function Yn(e) {
2002
2035
  return X(e) === q.Number;
2003
2036
  }
2004
- function Jn(e) {
2037
+ function Xn(e) {
2005
2038
  return X(e) === q.PropertyAccess;
2006
2039
  }
2007
- function Yn(e) {
2040
+ function Zn(e) {
2008
2041
  return X(e) === q.Word;
2009
2042
  }
2010
- function Xn(e) {
2043
+ function Qn(e) {
2011
2044
  return X(e) === q.Range;
2012
2045
  }
2046
+ function $n(e) {
2047
+ return X(e) === q.FilteredValue;
2048
+ }
2013
2049
  function Y(e) {
2014
- return (X(e) & 1667) > 0;
2050
+ return (X(e) & 5763) > 0;
2015
2051
  }
2016
2052
  function X(e) {
2017
2053
  return e ? e.kind : -1;
@@ -2021,8 +2057,8 @@ function Z(e) {
2021
2057
  return e && Object.assign(t, e), t;
2022
2058
  }
2023
2059
  var Q = class e {
2024
- constructor(e = {}, t = F, n = {}, { memoryLimit: r, renderLimit: i } = {}) {
2025
- this.scopes = [Z()], this.registers = {}, this.breakCalled = !1, this.continueCalled = !1, this.sync = !!n.sync, this.opts = t, this.globals = n.globals ?? t.globals, this.environments = _(e) ? e : Object(e), this.strictVariables = n.strictVariables ?? this.opts.strictVariables, this.ownPropertyOnly = n.ownPropertyOnly ?? t.ownPropertyOnly, this.memoryLimit = r ?? new pt("memory alloc", n.memoryLimit ?? t.memoryLimit), this.renderLimit = i ?? new pt("template render", Lt().now() + (n.renderLimit ?? t.renderLimit));
2060
+ constructor(e = {}, t = F, n = {}, { memoryLimit: r, renderLimit: i, liquid: a } = {}) {
2061
+ this.scopes = [Z()], this.registers = {}, this.breakCalled = !1, this.continueCalled = !1, this.sync = !!n.sync, this.opts = t, this.globals = n.globals ?? t.globals, this.environments = se(e) ? e : Object(e), this.strictVariables = n.strictVariables ?? this.opts.strictVariables, this.ownPropertyOnly = n.ownPropertyOnly ?? t.ownPropertyOnly, this.memoryLimit = r ?? new mt("memory alloc", n.memoryLimit ?? t.memoryLimit), this.renderLimit = i ?? new mt("template render", Rt().now() + (n.renderLimit ?? t.renderLimit)), this.liquid = a;
2026
2062
  }
2027
2063
  getRegister(e, t = void 0) {
2028
2064
  return this.registers[e] = this.registers[e] || t;
@@ -2041,24 +2077,24 @@ var Q = class e {
2041
2077
  this.globals,
2042
2078
  this.environments,
2043
2079
  ...this.scopes
2044
- ].reduce((e, t) => Ge(e, t), {});
2080
+ ].reduce((e, t) => qe(e, t), {});
2045
2081
  }
2046
2082
  get(e) {
2047
2083
  return this.getSync(e);
2048
2084
  }
2049
2085
  getSync(e) {
2050
- return k(this._get(e));
2086
+ return D(this._get(e));
2051
2087
  }
2052
2088
  *_get(e) {
2053
2089
  let t = this.findScope(e[0]);
2054
2090
  return yield this._getFromScope(t, e);
2055
2091
  }
2056
2092
  getFromScope(e, t) {
2057
- return k(this._getFromScope(e, t));
2093
+ return D(this._getFromScope(e, t));
2058
2094
  }
2059
2095
  *_getFromScope(e, t, n = this.strictVariables) {
2060
2096
  a(t) && (t = t.split("."));
2061
- for (let r = 0; r < t.length; r++) if (e = yield this.readProperty(e, t[r]), n && ne(e)) throw new Se(t.slice(0, r + 1).join("."));
2097
+ for (let r = 0; r < t.length; r++) if (e = yield this.readProperty(e, t[r]), n && ne(e)) throw new Ce(t.slice(0, r + 1).join("."));
2062
2098
  return e;
2063
2099
  }
2064
2100
  push(e) {
@@ -2078,7 +2114,8 @@ var Q = class e {
2078
2114
  ownPropertyOnly: this.ownPropertyOnly
2079
2115
  }, {
2080
2116
  renderLimit: this.renderLimit,
2081
- memoryLimit: this.memoryLimit
2117
+ memoryLimit: this.memoryLimit,
2118
+ liquid: this.liquid
2082
2119
  });
2083
2120
  }
2084
2121
  findScope(e) {
@@ -2091,20 +2128,20 @@ var Q = class e {
2091
2128
  readProperty(e, n) {
2092
2129
  if (e = te(e), n = p(n), h(e)) return e;
2093
2130
  if (g(e) && m(n)) return u(e, n, this.ownPropertyOnly);
2094
- let r = Zn(e, n, this.ownPropertyOnly);
2095
- return r === void 0 && e instanceof t ? e.liquidMethodMissing(n, this) : o(r) ? r.call(e) : n === "size" ? er(e) : n === "first" ? Qn(e, this.ownPropertyOnly) : n === "last" ? $n(e, this.ownPropertyOnly) : r;
2131
+ let r = er(e, n, this.ownPropertyOnly);
2132
+ return r === void 0 && e instanceof t ? e.liquidMethodMissing(n, this) : o(r) ? r.call(e) : n === "size" ? rr(e) : n === "first" ? tr(e, this.ownPropertyOnly) : n === "last" ? nr(e, this.ownPropertyOnly) : r;
2096
2133
  }
2097
2134
  };
2098
- function Zn(e, n, r) {
2135
+ function er(e, n, r) {
2099
2136
  if (!(r && !i.call(e, n) && !(e instanceof t))) return e[n];
2100
2137
  }
2101
- function Qn(e, t) {
2102
- return g(e) ? u(e, 0, t) : Zn(e, "first", t);
2138
+ function tr(e, t) {
2139
+ return g(e) ? u(e, 0, t) : er(e, "first", t);
2103
2140
  }
2104
- function $n(e, t) {
2105
- return g(e) ? u(e, -1, t) : Zn(e, "last", t);
2141
+ function nr(e, t) {
2142
+ return g(e) ? u(e, -1, t) : er(e, "last", t);
2106
2143
  }
2107
- function er(e) {
2144
+ function rr(e) {
2108
2145
  if (i.call(e, "size") || e.size !== void 0) return e.size;
2109
2146
  if (g(e) || a(e)) return e.length;
2110
2147
  if (typeof e == "object") return Object.keys(e).length;
@@ -2113,80 +2150,80 @@ var $;
2113
2150
  (function(e) {
2114
2151
  e[e.OUTPUT = 0] = "OUTPUT", e[e.STORE = 1] = "STORE";
2115
2152
  })($ ||= {});
2116
- var tr = y(Math.abs), nr = y(Math.max), rr = y(Math.min), ir = y(Math.ceil), ar = y((e, t, n = !1) => n ? Math.floor(e / t) : e / t), or = y(Math.floor), sr = y((e, t) => e - t), cr = y((e, t) => e + t), lr = y((e, t) => (e % t + t) % t), ur = y((e, t) => e * t);
2117
- function dr(e, t = 0) {
2153
+ var ir = v(Math.abs), ar = v(Math.max), or = v(Math.min), sr = v(Math.ceil), cr = v((e, t, n = !1) => n ? Math.floor(e / t) : e / t), lr = v(Math.floor), ur = v((e, t) => e - t), dr = v((e, t) => e + t), fr = v((e, t) => (e % t + t) % t), pr = v((e, t) => e * t);
2154
+ function mr(e, t = 0) {
2118
2155
  e = ee(e), t = ee(t);
2119
2156
  let n = 10 ** t, r = e * n * (1 + 2 ** -52);
2120
2157
  return Math.round(r) / n;
2121
2158
  }
2122
- var fr = /*#__PURE__*/ Object.freeze({
2159
+ var hr = /*#__PURE__*/ Object.freeze({
2123
2160
  __proto__: null,
2124
- abs: tr,
2125
- at_least: nr,
2126
- at_most: rr,
2127
- ceil: ir,
2128
- divided_by: ar,
2129
- floor: or,
2130
- minus: sr,
2131
- plus: cr,
2132
- modulo: lr,
2133
- times: ur,
2134
- round: dr
2135
- }), pr = (e) => decodeURIComponent(l(e)).replace(/\+/g, " "), mr = (e) => encodeURIComponent(l(e)).replace(/%20/g, "+"), hr = (e) => encodeURIComponent(l(e)).replace(/%20/g, "+").replace(/[!'()*]/g, (e) => "%" + e.charCodeAt(0).toString(16).toUpperCase()), gr = (e) => encodeURI(l(e)).replace(/%5B/g, "[").replace(/%5D/g, "]"), _r = /[^\p{M}\p{L}\p{Nd}]+/gu, vr = {
2161
+ abs: ir,
2162
+ at_least: ar,
2163
+ at_most: or,
2164
+ ceil: sr,
2165
+ divided_by: cr,
2166
+ floor: lr,
2167
+ minus: ur,
2168
+ plus: dr,
2169
+ modulo: fr,
2170
+ times: pr,
2171
+ round: mr
2172
+ }), gr = (e) => decodeURIComponent(l(e)).replace(/\+/g, " "), _r = (e) => encodeURIComponent(l(e)).replace(/%20/g, "+"), vr = (e) => encodeURIComponent(l(e)).replace(/%20/g, "+").replace(/[!'()*]/g, (e) => "%" + e.charCodeAt(0).toString(16).toUpperCase()), yr = (e) => encodeURI(l(e)).replace(/%5B/g, "[").replace(/%5D/g, "]"), br = /[^\p{M}\p{L}\p{Nd}]+/gu, xr = {
2136
2173
  raw: /\s+/g,
2137
- default: _r,
2174
+ default: br,
2138
2175
  pretty: /[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/gu,
2139
2176
  ascii: /[^A-Za-z0-9]+/g,
2140
- latin: _r,
2177
+ latin: br,
2141
2178
  none: null
2142
2179
  };
2143
- function yr(e, t = "default", n = !1) {
2180
+ function Sr(e, t = "default", n = !1) {
2144
2181
  e = l(e);
2145
- let r = vr[t];
2146
- return r && (t === "latin" && (e = br(e)), e = e.replace(r, "-").replace(/^-|-$/g, "")), n ? e : e.toLowerCase();
2182
+ let r = xr[t];
2183
+ return r && (t === "latin" && (e = Cr(e)), e = e.replace(r, "-").replace(/^-|-$/g, "")), n ? e : e.toLowerCase();
2147
2184
  }
2148
- function br(e) {
2185
+ function Cr(e) {
2149
2186
  return e.replace(/[àáâãäå]/g, "a").replace(/[æ]/g, "ae").replace(/[ç]/g, "c").replace(/[èéêë]/g, "e").replace(/[ìíîï]/g, "i").replace(/[ð]/g, "d").replace(/[ñ]/g, "n").replace(/[òóôõöø]/g, "o").replace(/[ùúûü]/g, "u").replace(/[ýÿ]/g, "y").replace(/[ß]/g, "ss").replace(/[œ]/g, "oe").replace(/[þ]/g, "th").replace(/[ẞ]/g, "SS").replace(/[Œ]/g, "OE").replace(/[Þ]/g, "TH");
2150
2187
  }
2151
- var xr = /*#__PURE__*/ Object.freeze({
2188
+ var wr = /*#__PURE__*/ Object.freeze({
2152
2189
  __proto__: null,
2153
- url_decode: pr,
2154
- url_encode: mr,
2155
- cgi_escape: hr,
2156
- uri_escape: gr,
2157
- slugify: yr
2158
- }), Sr = he(function(e, t) {
2190
+ url_decode: gr,
2191
+ url_encode: _r,
2192
+ cgi_escape: vr,
2193
+ uri_escape: yr,
2194
+ slugify: Sr
2195
+ }), Tr = ge(function(e, t) {
2159
2196
  let n = f(e), r = h(t) ? " " : l(t), i = r.length * Math.max(n.length - 1, 0);
2160
2197
  for (let e = 0; e < n.length; e++) i += String(n[e]).length;
2161
2198
  return this.context.memoryLimit.use(i), Array.prototype.join.call(n, r);
2162
- }), Cr = he(function(e) {
2199
+ }), Er = ge(function(e) {
2163
2200
  return re(e) ? u(e, -1, this.context.ownPropertyOnly) : "";
2164
- }), wr = he(function(e) {
2201
+ }), Dr = ge(function(e) {
2165
2202
  return re(e) ? u(e, 0, this.context.ownPropertyOnly) : "";
2166
- }), Tr = he(function(e) {
2203
+ }), Or = ge(function(e) {
2167
2204
  let t = f(e);
2168
2205
  return this.context.memoryLimit.use(t.length), [...t].reverse();
2169
2206
  });
2170
- function* Er(e, t, n) {
2207
+ function* kr(e, t, n) {
2171
2208
  let r = [], i = f(e);
2172
2209
  this.context.memoryLimit.use(i.length);
2173
2210
  for (let e of i) r.push([e, t ? yield this.context._getFromScope(e, l(t).split("."), !1) : e]);
2174
2211
  return r.sort((e, t) => n(e[1], t[1])).map((e) => e[0]);
2175
2212
  }
2176
- function* Dr(e, t) {
2177
- return yield* Er.call(this, e, t, pe);
2213
+ function* Ar(e, t) {
2214
+ return yield* kr.call(this, e, t, me);
2178
2215
  }
2179
- function* Or(e, t) {
2180
- return yield* Er.call(this, e, t, me);
2216
+ function* jr(e, t) {
2217
+ return yield* kr.call(this, e, t, he);
2181
2218
  }
2182
- var kr = (e) => e && e.length || 0;
2183
- function* Ar(e, t) {
2219
+ var Mr = (e) => e && e.length || 0;
2220
+ function* Nr(e, t) {
2184
2221
  let n = [], r = f(e);
2185
2222
  this.context.memoryLimit.use(r.length);
2186
2223
  for (let e of r) n.push(yield this.context._getFromScope(e, l(t), !1));
2187
2224
  return n;
2188
2225
  }
2189
- function* jr(e, t) {
2226
+ function* Pr(e, t) {
2190
2227
  let n = 0, r = f(e);
2191
2228
  for (let e of r) {
2192
2229
  let r = Number(t ? yield this.context._getFromScope(e, l(t), !1) : e);
@@ -2194,50 +2231,50 @@ function* jr(e, t) {
2194
2231
  }
2195
2232
  return n;
2196
2233
  }
2197
- function Mr(e) {
2234
+ function Fr(e) {
2198
2235
  let t = f(e);
2199
2236
  return this.context.memoryLimit.use(t.length), Array.prototype.filter.call(t, (e) => !h(p(e)));
2200
2237
  }
2201
- function Nr(e, t = []) {
2238
+ function Ir(e, t = []) {
2202
2239
  let n = f(e), r = f(t);
2203
2240
  return this.context.memoryLimit.use(n.length + r.length), Array.prototype.concat.call(n, r);
2204
2241
  }
2205
- function Pr(e, t) {
2206
- return Nr.call(this, e, [t]);
2242
+ function Lr(e, t) {
2243
+ return Ir.call(this, e, [t]);
2207
2244
  }
2208
- function Fr(e, t) {
2245
+ function Rr(e, t) {
2209
2246
  let n = f(e);
2210
2247
  this.context.memoryLimit.use(n.length);
2211
2248
  let r = [...n];
2212
2249
  return r.unshift(t), r;
2213
2250
  }
2214
- function Ir(e) {
2251
+ function zr(e) {
2215
2252
  let t = f(e);
2216
2253
  this.context.memoryLimit.use(t.length);
2217
2254
  let n = [...t];
2218
2255
  return n.pop(), n;
2219
2256
  }
2220
- function Lr(e) {
2257
+ function Br(e) {
2221
2258
  let t = f(e);
2222
2259
  this.context.memoryLimit.use(t.length);
2223
2260
  let n = [...t];
2224
2261
  return n.shift(), n;
2225
2262
  }
2226
- function Rr(e, t, n = 1) {
2263
+ function Vr(e, t, n = 1) {
2227
2264
  return e = p(e), h(e) ? [] : (g(e) || (e = l(e)), t = t < 0 ? e.length + t : t, t < 0 || n < 0 ? g(e) ? [] : "" : (this.context.memoryLimit.use(n), g(e) ? Array.prototype.slice.call(e, t, t + n) : String.prototype.slice.call(e, t, t + n)));
2228
2265
  }
2229
- function zr(e) {
2230
- return this.context.opts.jekyllWhere ? (t) => Pe.is(e) ? N(t, e) : g(t) ? qt(t, e) : N(t, e) : e === void 0 ? (e) => M(e, this.context) : (t) => N(t, e);
2266
+ function Hr(e) {
2267
+ return this.context.opts.jekyllWhere ? (t) => Ie.is(e) ? N(t, e) : g(t) ? Xt(t, e) : N(t, e) : e === void 0 ? (e) => j(e, this.context) : (t) => N(t, e);
2231
2268
  }
2232
- function* Br(e, t, n, r) {
2269
+ function* Ur(e, t, n, r) {
2233
2270
  let i = [];
2234
2271
  t = f(t), this.context.memoryLimit.use(t.length);
2235
2272
  let a = new L(l(n)).readScopeValue();
2236
- for (let e of t) i.push(yield j(a, this.context.spawn(e)));
2237
- let o = zr.call(this, r);
2273
+ for (let e of t) i.push(yield A(a, this.context.spawn(e)));
2274
+ let o = Hr.call(this, r);
2238
2275
  return Array.prototype.filter.call(t, (t, n) => o(i[n]) === e);
2239
2276
  }
2240
- function* Vr(e, t, n, r) {
2277
+ function* Wr(e, t, n, r) {
2241
2278
  let i = [], a = new B(l(r), this.liquid), o = f(t);
2242
2279
  this.context.memoryLimit.use(o.length);
2243
2280
  for (let t of o) {
@@ -2247,25 +2284,25 @@ function* Vr(e, t, n, r) {
2247
2284
  }
2248
2285
  return i;
2249
2286
  }
2250
- function* Hr(e, t, n) {
2251
- return yield* Br.call(this, !0, e, t, n);
2287
+ function* Gr(e, t, n) {
2288
+ return yield* Ur.call(this, !0, e, t, n);
2252
2289
  }
2253
- function* Ur(e, t, n) {
2254
- return yield* Br.call(this, !1, e, t, n);
2290
+ function* Kr(e, t, n) {
2291
+ return yield* Ur.call(this, !1, e, t, n);
2255
2292
  }
2256
- function* Wr(e, t, n) {
2257
- return yield* Vr.call(this, !0, e, t, n);
2293
+ function* qr(e, t, n) {
2294
+ return yield* Wr.call(this, !0, e, t, n);
2258
2295
  }
2259
- function* Gr(e, t, n) {
2260
- return yield* Vr.call(this, !1, e, t, n);
2296
+ function* Jr(e, t, n) {
2297
+ return yield* Wr.call(this, !1, e, t, n);
2261
2298
  }
2262
- function* Kr(e, t) {
2299
+ function* Yr(e, t) {
2263
2300
  let n = /* @__PURE__ */ new Map();
2264
2301
  e = d(e);
2265
2302
  let r = new L(l(t)).readScopeValue();
2266
2303
  this.context.memoryLimit.use(e.length);
2267
2304
  for (let t of e) {
2268
- let e = yield j(r, this.context.spawn(t));
2305
+ let e = yield A(r, this.context.spawn(t));
2269
2306
  n.has(e) || n.set(e, []), n.get(e).push(t);
2270
2307
  }
2271
2308
  return [...n.entries()].map(([e, t]) => ({
@@ -2273,7 +2310,7 @@ function* Kr(e, t) {
2273
2310
  items: t
2274
2311
  }));
2275
2312
  }
2276
- function* qr(e, t, n) {
2313
+ function* Xr(e, t, n) {
2277
2314
  let r = /* @__PURE__ */ new Map(), i = new B(l(n), this.liquid);
2278
2315
  e = d(e), this.context.memoryLimit.use(e.length);
2279
2316
  for (let n of e) {
@@ -2286,11 +2323,11 @@ function* qr(e, t, n) {
2286
2323
  items: t
2287
2324
  }));
2288
2325
  }
2289
- function* Jr(e, t, n) {
2290
- let r = new L(l(t)).readScopeValue(), i = f(e), a = zr.call(this, n);
2291
- for (let e = 0; e < i.length; e++) if (a(yield j(r, this.context.spawn(i[e])))) return [e, i[e]];
2326
+ function* Zr(e, t, n) {
2327
+ let r = new L(l(t)).readScopeValue(), i = f(e), a = Hr.call(this, n);
2328
+ for (let e = 0; e < i.length; e++) if (a(yield A(r, this.context.spawn(i[e])))) return [e, i[e]];
2292
2329
  }
2293
- function* Yr(e, t, n) {
2330
+ function* Qr(e, t, n) {
2294
2331
  let r = new B(l(n), this.liquid), i = f(e);
2295
2332
  for (let e = 0; e < i.length; e++) {
2296
2333
  this.context.push({ [t]: i[e] });
@@ -2298,121 +2335,121 @@ function* Yr(e, t, n) {
2298
2335
  if (this.context.pop(), n) return [e, i[e]];
2299
2336
  }
2300
2337
  }
2301
- function* Xr(e, t, n) {
2302
- return !!(yield* Jr.call(this, e, t, n));
2338
+ function* $r(e, t, n) {
2339
+ return !!(yield* Zr.call(this, e, t, n));
2303
2340
  }
2304
- function* Zr(e, t, n) {
2305
- return !!(yield* Yr.call(this, e, t, n));
2341
+ function* ei(e, t, n) {
2342
+ return !!(yield* Qr.call(this, e, t, n));
2306
2343
  }
2307
- function* Qr(e, t, n) {
2308
- let r = yield* Jr.call(this, e, t, n);
2344
+ function* ti(e, t, n) {
2345
+ let r = yield* Zr.call(this, e, t, n);
2309
2346
  return r ? r[0] : void 0;
2310
2347
  }
2311
- function* $r(e, t, n) {
2312
- let r = yield* Yr.call(this, e, t, n);
2348
+ function* ni(e, t, n) {
2349
+ let r = yield* Qr.call(this, e, t, n);
2313
2350
  return r ? r[0] : void 0;
2314
2351
  }
2315
- function* ei(e, t, n) {
2316
- let r = yield* Jr.call(this, e, t, n);
2352
+ function* ri(e, t, n) {
2353
+ let r = yield* Zr.call(this, e, t, n);
2317
2354
  return r ? r[1] : void 0;
2318
2355
  }
2319
- function* ti(e, t, n) {
2320
- let r = yield* Yr.call(this, e, t, n);
2356
+ function* ii(e, t, n) {
2357
+ let r = yield* Qr.call(this, e, t, n);
2321
2358
  return r ? r[1] : void 0;
2322
2359
  }
2323
- function ni(e) {
2360
+ function ai(e) {
2324
2361
  return e = f(e), this.context.memoryLimit.use(e.length), [...new Set(e)];
2325
2362
  }
2326
- function ri(e, t = 1) {
2363
+ function oi(e, t = 1) {
2327
2364
  if (e = p(e), h(e)) return [];
2328
2365
  g(e) || (e = l(e)), this.context.memoryLimit.use(e.length);
2329
2366
  let n = [...e].sort(() => Math.random() - .5);
2330
2367
  return t === 1 ? n[0] : n.slice(0, t);
2331
2368
  }
2332
- var ii = /*#__PURE__*/ Object.freeze({
2369
+ var si = /*#__PURE__*/ Object.freeze({
2333
2370
  __proto__: null,
2334
- join: Sr,
2335
- last: Cr,
2336
- first: wr,
2337
- reverse: Tr,
2338
- sort: Dr,
2339
- sort_natural: Or,
2340
- size: kr,
2341
- map: Ar,
2342
- sum: jr,
2343
- compact: Mr,
2344
- concat: Nr,
2345
- push: Pr,
2346
- unshift: Fr,
2347
- pop: Ir,
2348
- shift: Lr,
2349
- slice: Rr,
2350
- where: Hr,
2351
- reject: Ur,
2352
- where_exp: Wr,
2353
- reject_exp: Gr,
2354
- group_by: Kr,
2355
- group_by_exp: qr,
2356
- has: Xr,
2357
- has_exp: Zr,
2358
- find_index: Qr,
2359
- find_index_exp: $r,
2360
- find: ei,
2361
- find_exp: ti,
2362
- uniq: ni,
2363
- sample: ri
2371
+ join: Tr,
2372
+ last: Er,
2373
+ first: Dr,
2374
+ reverse: Or,
2375
+ sort: Ar,
2376
+ sort_natural: jr,
2377
+ size: Mr,
2378
+ map: Nr,
2379
+ sum: Pr,
2380
+ compact: Fr,
2381
+ concat: Ir,
2382
+ push: Lr,
2383
+ unshift: Rr,
2384
+ pop: zr,
2385
+ shift: Br,
2386
+ slice: Vr,
2387
+ where: Gr,
2388
+ reject: Kr,
2389
+ where_exp: qr,
2390
+ reject_exp: Jr,
2391
+ group_by: Yr,
2392
+ group_by_exp: Xr,
2393
+ has: $r,
2394
+ has_exp: ei,
2395
+ find_index: ti,
2396
+ find_index_exp: ni,
2397
+ find: ri,
2398
+ find_exp: ii,
2399
+ uniq: ai,
2400
+ sample: oi
2364
2401
  });
2365
- function ai(e, t, n) {
2402
+ function ci(e, t, n) {
2366
2403
  let r = (e?.length ?? 0) + (n?.length ?? 0);
2367
2404
  this.context.memoryLimit.use(r);
2368
- let i = di(e, this.context.opts, n);
2369
- return i ? (t = p(t), t = h(t) ? this.context.opts.dateFormat : l(t), this.context.memoryLimit.use(t.length), it(i, t, this.context.memoryLimit)) : e;
2405
+ let i = mi(e, this.context.opts, n);
2406
+ return i ? (t = p(t), t = h(t) ? this.context.opts.dateFormat : l(t), this.context.memoryLimit.use(t.length), O(i, t, this.context.memoryLimit)) : e;
2370
2407
  }
2371
- function oi(e) {
2372
- return ai.call(this, e, "%Y-%m-%dT%H:%M:%S%:z");
2408
+ function li(e) {
2409
+ return ci.call(this, e, "%Y-%m-%dT%H:%M:%S%:z");
2373
2410
  }
2374
- function si(e) {
2375
- return ai.call(this, e, "%a, %d %b %Y %H:%M:%S %z");
2411
+ function ui(e) {
2412
+ return ci.call(this, e, "%a, %d %b %Y %H:%M:%S %z");
2376
2413
  }
2377
- function ci(e, t, n) {
2378
- return ui.call(this, e, "%b", t, n);
2414
+ function di(e, t, n) {
2415
+ return pi.call(this, e, "%b", t, n);
2379
2416
  }
2380
- function li(e, t, n) {
2381
- return ui.call(this, e, "%B", t, n);
2417
+ function fi(e, t, n) {
2418
+ return pi.call(this, e, "%B", t, n);
2382
2419
  }
2383
- function ui(e, t, n, r) {
2384
- let i = di(e, this.context.opts);
2420
+ function pi(e, t, n, r) {
2421
+ let i = mi(e, this.context.opts);
2385
2422
  if (!i) return e;
2386
2423
  let a = this.context.memoryLimit;
2387
2424
  if (n === "ordinal") {
2388
2425
  let e = i.getDate();
2389
- return r === "US" ? it(i, `${t} ${e}%q, %Y`, a) : it(i, `${e}%q ${t} %Y`, a);
2426
+ return r === "US" ? O(i, `${t} ${e}%q, %Y`, a) : O(i, `${e}%q ${t} %Y`, a);
2390
2427
  }
2391
- return it(i, `%d ${t} %Y`, a);
2428
+ return O(i, `%d ${t} %Y`, a);
2392
2429
  }
2393
- function di(e, t, n) {
2430
+ function mi(e, t, n) {
2394
2431
  let r, i = n ?? t.timezoneOffset, o = t.locale;
2395
- if (e = p(e), !h(e)) return r = e === "now" || e === "today" ? new A(Date.now(), o, i) : m(e) ? new A(e * 1e3, o, i) : a(e) ? /^\d+$/.test(e) ? new A(e * 1e3, o, i) : t.preserveTimezones && n === void 0 ? A.createDateFixedToTimezone(e, o) : new A(e, o, i) : new A(e, o, i), r.valid() ? r : void 0;
2432
+ if (e = p(e), !h(e)) return r = e === "now" || e === "today" ? new k(Date.now(), o, i) : m(e) ? new k(e * 1e3, o, i) : a(e) ? /^\d+$/.test(e) ? new k(e * 1e3, o, i) : t.preserveTimezones && n === void 0 ? k.createDateFixedToTimezone(e, o) : new k(e, o, i) : new k(e, o, i), r.valid() ? r : void 0;
2396
2433
  }
2397
- var fi = /*#__PURE__*/ Object.freeze({
2434
+ var hi = /*#__PURE__*/ Object.freeze({
2398
2435
  __proto__: null,
2399
- date: ai,
2400
- date_to_xmlschema: oi,
2401
- date_to_rfc822: si,
2402
- date_to_string: ci,
2403
- date_to_long_string: li
2404
- }), pi = /[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu, mi = /[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;
2405
- function hi(e, t) {
2406
- w(arguments.length === 2, "append expect 2 arguments");
2436
+ date: ci,
2437
+ date_to_xmlschema: li,
2438
+ date_to_rfc822: ui,
2439
+ date_to_string: di,
2440
+ date_to_long_string: fi
2441
+ }), gi = /[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu, _i = /[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;
2442
+ function vi(e, t) {
2443
+ C(arguments.length === 2, "append expect 2 arguments");
2407
2444
  let n = l(e), r = l(t);
2408
2445
  return this.context.memoryLimit.use(n.length + r.length), n + r;
2409
2446
  }
2410
- function gi(e, t) {
2411
- w(arguments.length === 2, "prepend expect 2 arguments");
2447
+ function yi(e, t) {
2448
+ C(arguments.length === 2, "prepend expect 2 arguments");
2412
2449
  let n = l(e), r = l(t);
2413
2450
  return this.context.memoryLimit.use(n.length + r.length), r + n;
2414
2451
  }
2415
- function _i(e, t) {
2452
+ function bi(e, t) {
2416
2453
  let n = l(e);
2417
2454
  if (this.context.memoryLimit.use(n.length), t) {
2418
2455
  t = l(t), this.context.memoryLimit.use(t.length);
@@ -2421,29 +2458,29 @@ function _i(e, t) {
2421
2458
  }
2422
2459
  return n.trimStart();
2423
2460
  }
2424
- function vi(e) {
2461
+ function xi(e) {
2425
2462
  let t = l(e);
2426
2463
  return this.context.memoryLimit.use(t.length), t.toLowerCase();
2427
2464
  }
2428
- function yi(e) {
2465
+ function Si(e) {
2429
2466
  let t = l(e);
2430
2467
  return this.context.memoryLimit.use(t.length), l(t).toUpperCase();
2431
2468
  }
2432
- function bi(e, t) {
2469
+ function Ci(e, t) {
2433
2470
  let n = l(e);
2434
2471
  return t = l(t), this.context.memoryLimit.use(n.length + t.length), n.split(t).join("");
2435
2472
  }
2436
- function xi(e, t) {
2473
+ function wi(e, t) {
2437
2474
  let n = l(e);
2438
2475
  return t = l(t), this.context.memoryLimit.use(n.length + t.length), n.replace(t, "");
2439
2476
  }
2440
- function Si(e, t) {
2477
+ function Ti(e, t) {
2441
2478
  let n = l(e), r = l(t);
2442
2479
  this.context.memoryLimit.use(n.length + r.length);
2443
2480
  let i = n.lastIndexOf(r);
2444
2481
  return i === -1 ? n : n.substring(0, i) + n.substring(i + r.length);
2445
2482
  }
2446
- function Ci(e, t) {
2483
+ function Ei(e, t) {
2447
2484
  if (e = l(e), this.context.memoryLimit.use(e.length), t) {
2448
2485
  t = l(t), this.context.memoryLimit.use(t.length);
2449
2486
  for (let n = e.length - 1, r = new Set(t); n >= 0; n--) if (!r.has(e[n])) return e.slice(0, n + 1);
@@ -2451,14 +2488,14 @@ function Ci(e, t) {
2451
2488
  }
2452
2489
  return e.trimEnd();
2453
2490
  }
2454
- function wi(e, t) {
2491
+ function Di(e, t) {
2455
2492
  let n = l(e);
2456
2493
  this.context.memoryLimit.use(n.length);
2457
2494
  let r = n.split(l(t));
2458
2495
  for (; r.length && r[r.length - 1] === "";) r.pop();
2459
2496
  return r;
2460
2497
  }
2461
- function Ti(e, t) {
2498
+ function Oi(e, t) {
2462
2499
  let n = l(e);
2463
2500
  if (this.context.memoryLimit.use(n.length), t) {
2464
2501
  let e = new Set(l(t));
@@ -2470,34 +2507,34 @@ function Ti(e, t) {
2470
2507
  }
2471
2508
  return n.trim();
2472
2509
  }
2473
- function Ei(e) {
2510
+ function ki(e) {
2474
2511
  let t = l(e);
2475
2512
  return this.context.memoryLimit.use(t.length), t.replace(/\r?\n/gm, "");
2476
2513
  }
2477
- function Di(e) {
2514
+ function Ai(e) {
2478
2515
  return e = l(e), this.context.memoryLimit.use(e.length), e.charAt(0).toUpperCase() + e.slice(1).toLowerCase();
2479
2516
  }
2480
- function Oi(e, t, n) {
2517
+ function ji(e, t, n) {
2481
2518
  let r = l(e);
2482
2519
  t = l(t), n = l(n);
2483
2520
  let i = r.split(t), a = r.length + (i.length - 1) * (n.length - t.length);
2484
2521
  return this.context.memoryLimit.use(a), i.join(n);
2485
2522
  }
2486
- function ki(e, t, n) {
2523
+ function Mi(e, t, n) {
2487
2524
  let r = l(e);
2488
2525
  return t = l(t), n = l(n), this.context.memoryLimit.use(r.length + t.length + n.length), r.replace(t, () => n);
2489
2526
  }
2490
- function Ai(e, t, n) {
2527
+ function Ni(e, t, n) {
2491
2528
  let r = l(e), i = l(t), a = l(n);
2492
2529
  this.context.memoryLimit.use(r.length + i.length + a.length);
2493
2530
  let o = r.lastIndexOf(i);
2494
2531
  return o === -1 ? r : r.substring(0, o) + a + r.substring(o + i.length);
2495
2532
  }
2496
- function ji(e, t = 50, n = "...") {
2533
+ function Pi(e, t = 50, n = "...") {
2497
2534
  let r = l(e);
2498
2535
  return n = l(n), this.context.memoryLimit.use(r.length + n.length), r.length <= t ? e : r.substring(0, t - n.length) + n;
2499
2536
  }
2500
- function Mi(e, t = 15, n = "...") {
2537
+ function Fi(e, t = 15, n = "...") {
2501
2538
  let r = l(e);
2502
2539
  n = l(n), this.context.memoryLimit.use(r.length + n.length);
2503
2540
  let i = r.split(/\s+/);
@@ -2505,20 +2542,20 @@ function Mi(e, t = 15, n = "...") {
2505
2542
  let a = i.slice(0, t).join(" ");
2506
2543
  return i.length >= t && (a += n), a;
2507
2544
  }
2508
- function Ni(e) {
2545
+ function Ii(e) {
2509
2546
  let t = l(e);
2510
2547
  return this.context.memoryLimit.use(t.length), t.replace(/\s+/g, " ");
2511
2548
  }
2512
- function Pi(e, t) {
2549
+ function Li(e, t) {
2513
2550
  let n = l(e);
2514
2551
  if (this.context.memoryLimit.use(n.length), e = n.trim(), !e) return 0;
2515
2552
  switch (t) {
2516
- case "cjk": return (e.match(pi) || []).length + (e.match(mi) || []).length;
2517
- case "auto": return pi.test(e) ? e.match(pi).length + (e.match(mi) || []).length : e.split(/\s+/).length;
2553
+ case "cjk": return (e.match(gi) || []).length + (e.match(_i) || []).length;
2554
+ case "auto": return gi.test(e) ? e.match(gi).length + (e.match(_i) || []).length : e.split(/\s+/).length;
2518
2555
  default: return e.split(/\s+/).length;
2519
2556
  }
2520
2557
  }
2521
- function Fi(e, t = "and") {
2558
+ function Ri(e, t = "and") {
2522
2559
  t = l(t);
2523
2560
  let n = t.length + e.length * 2;
2524
2561
  for (let t = 0; t < e.length; t++) n += l(e[t]).length;
@@ -2529,83 +2566,83 @@ function Fi(e, t = "and") {
2529
2566
  default: return `${e.slice(0, -1).join(", ")}, ${t} ${e[e.length - 1]}`;
2530
2567
  }
2531
2568
  }
2532
- var Ii = /*#__PURE__*/ Object.freeze({
2569
+ var zi = /*#__PURE__*/ Object.freeze({
2533
2570
  __proto__: null,
2534
- append: hi,
2535
- prepend: gi,
2536
- lstrip: _i,
2537
- downcase: vi,
2538
- upcase: yi,
2539
- remove: bi,
2540
- remove_first: xi,
2541
- remove_last: Si,
2542
- rstrip: Ci,
2543
- split: wi,
2544
- strip: Ti,
2545
- strip_newlines: Ei,
2546
- capitalize: Di,
2547
- replace: Oi,
2548
- replace_first: ki,
2549
- replace_last: Ai,
2550
- truncate: ji,
2551
- truncatewords: Mi,
2552
- normalize_whitespace: Ni,
2553
- number_of_words: Pi,
2554
- array_to_sentence_string: Fi
2571
+ append: vi,
2572
+ prepend: yi,
2573
+ lstrip: bi,
2574
+ downcase: xi,
2575
+ upcase: Si,
2576
+ remove: Ci,
2577
+ remove_first: wi,
2578
+ remove_last: Ti,
2579
+ rstrip: Ei,
2580
+ split: Di,
2581
+ strip: Oi,
2582
+ strip_newlines: ki,
2583
+ capitalize: Ai,
2584
+ replace: ji,
2585
+ replace_first: Mi,
2586
+ replace_last: Ni,
2587
+ truncate: Pi,
2588
+ truncatewords: Fi,
2589
+ normalize_whitespace: Ii,
2590
+ number_of_words: Li,
2591
+ array_to_sentence_string: Ri
2555
2592
  });
2556
- function Li(e) {
2593
+ function Bi(e) {
2557
2594
  return btoa(String.fromCharCode(...new TextEncoder().encode(e)));
2558
2595
  }
2559
- function Ri(e) {
2596
+ function Vi(e) {
2560
2597
  return new TextDecoder().decode(Uint8Array.from(atob(e), (e) => e.charCodeAt(0)));
2561
2598
  }
2562
- function zi(e) {
2599
+ function Hi(e) {
2563
2600
  if (typeof Buffer < "u" && Buffer.isBuffer(e)) return this.context.memoryLimit.use(e.byteLength), e.toString("base64");
2564
2601
  let t = l(e);
2565
- return this.context.memoryLimit.use(t.length), Li(t);
2602
+ return this.context.memoryLimit.use(t.length), Bi(t);
2566
2603
  }
2567
- function Bi(e) {
2604
+ function Ui(e) {
2568
2605
  let t = l(e);
2569
- return this.context.memoryLimit.use(t.length), Ri(t);
2606
+ return this.context.memoryLimit.use(t.length), Vi(t);
2570
2607
  }
2571
- var Vi = /*#__PURE__*/ Object.freeze({
2608
+ var Wi = /*#__PURE__*/ Object.freeze({
2572
2609
  __proto__: null,
2573
- base64_encode: zi,
2574
- base64_decode: Bi
2610
+ base64_encode: Hi,
2611
+ base64_decode: Ui
2575
2612
  });
2576
- function Hi(e) {
2613
+ function Gi(e) {
2577
2614
  let t = new Uint8Array(e), n = "";
2578
2615
  for (let e = 0; e < t.length; e++) n += t[e].toString(16).padStart(2, "0");
2579
2616
  return n;
2580
2617
  }
2581
- function Ui(e) {
2582
- return D(this, void 0, void 0, function* () {
2618
+ function Ki(e) {
2619
+ return T(this, void 0, void 0, function* () {
2583
2620
  let t = new TextEncoder().encode(e);
2584
- return Hi(yield crypto.subtle.digest("SHA-256", t));
2621
+ return Gi(yield crypto.subtle.digest("SHA-256", t));
2585
2622
  });
2586
2623
  }
2587
- function Wi(e, t) {
2588
- return D(this, void 0, void 0, function* () {
2624
+ function qi(e, t) {
2625
+ return T(this, void 0, void 0, function* () {
2589
2626
  let n = new TextEncoder(), r = yield crypto.subtle.importKey("raw", n.encode(t), {
2590
2627
  name: "HMAC",
2591
2628
  hash: "SHA-256"
2592
2629
  }, !1, ["sign"]);
2593
- return Hi(yield crypto.subtle.sign("HMAC", r, n.encode(e)));
2630
+ return Gi(yield crypto.subtle.sign("HMAC", r, n.encode(e)));
2594
2631
  });
2595
2632
  }
2596
- function Gi(e) {
2633
+ function Ji(e) {
2597
2634
  let t = l(e);
2598
- return this.context.memoryLimit.use(t.length), Ui(t);
2635
+ return this.context.memoryLimit.use(t.length), Ki(t);
2599
2636
  }
2600
- function Ki(e, t) {
2637
+ function Yi(e, t) {
2601
2638
  let n = l(e), r = l(t);
2602
- return this.context.memoryLimit.use(n.length + r.length), Wi(n, r);
2639
+ return this.context.memoryLimit.use(n.length + r.length), qi(n, r);
2603
2640
  }
2604
- var qi = /*#__PURE__*/ Object.freeze({
2641
+ var Xi = /*#__PURE__*/ Object.freeze({
2605
2642
  __proto__: null,
2606
- sha256: Gi,
2607
- hmac_sha256: Ki
2608
- }), Ji = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, vn), fr), xr), ii), fi), Ii), Vi), qi), un), Yi = class extends R {
2643
+ sha256: Ji,
2644
+ hmac_sha256: Yi
2645
+ }), Zi = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, xn), hr), wr), si), hi), zi), Wi), Xi), pn), Qi = class extends R {
2609
2646
  constructor(e, t, n) {
2610
2647
  super(e, t, n), this.identifier = this.tokenizer.readIdentifier(), this.key = this.identifier.content, this.tokenizer.assert(this.key, "expected variable name"), this.tokenizer.skipBlank(), this.tokenizer.assert(this.tokenizer.peek() === "=", "expected \"=\""), this.tokenizer.advance(), this.value = new B(this.tokenizer.readFilteredValue(), this.liquid);
2611
2648
  }
@@ -2618,27 +2655,27 @@ var qi = /*#__PURE__*/ Object.freeze({
2618
2655
  *localScope() {
2619
2656
  yield this.identifier;
2620
2657
  }
2621
- }, Xi = [
2658
+ }, $i = [
2622
2659
  "offset",
2623
2660
  "limit",
2624
2661
  "reversed"
2625
- ], Zi = class extends R {
2662
+ ], ea = class extends R {
2626
2663
  constructor(e, t, n, r) {
2627
2664
  super(e, t, n);
2628
2665
  let i = this.tokenizer.readIdentifier(), a = this.tokenizer.readIdentifier(), o = this.tokenizer.readValue();
2629
2666
  if (!i.size() || a.content !== "in" || !o) throw Error(`illegal tag: ${e.getText()}`);
2630
2667
  this.variable = i.content, this.collection = o, this.hash = new z(this.tokenizer, n.options.keyValueSeparator), this.templates = [], this.elseTemplates = [];
2631
2668
  let s, c = r.parseStream(t).on("start", () => s = this.templates).on("tag:else", (e) => {
2632
- T(e.args), s = this.elseTemplates;
2669
+ Pe(e.args), s = this.elseTemplates;
2633
2670
  }).on("tag:endfor", (e) => {
2634
- T(e.args), c.stop();
2671
+ Pe(e.args), c.stop();
2635
2672
  }).on("template", (e) => s.push(e)).on("end", () => {
2636
2673
  throw Error(`tag ${e.getText()} not closed`);
2637
2674
  });
2638
2675
  c.start();
2639
2676
  }
2640
2677
  *render(e, t) {
2641
- let n = this.liquid.renderer, r = d(yield j(this.collection, e));
2678
+ let n = this.liquid.renderer, r = d(yield A(this.collection, e));
2642
2679
  if (!r.length) {
2643
2680
  yield n.renderTemplates(this.elseTemplates, e, t);
2644
2681
  return;
@@ -2646,8 +2683,8 @@ var qi = /*#__PURE__*/ Object.freeze({
2646
2683
  let i = "continue-" + this.variable + "-" + this.collection.getText();
2647
2684
  e.push(Z({ continue: e.getRegister(i, {}) }));
2648
2685
  let a = yield this.hash.render(e);
2649
- e.pop(), r = (this.liquid.options.orderedFilterParameters ? Object.keys(a).filter((e) => Xi.includes(e)) : Xi.filter((e) => a[e] !== void 0)).reduce((e, t) => t === "offset" ? $i(e, a.offset) : t === "limit" ? ea(e, a.limit) : Qi(e), r), e.setRegister(i, (a.offset || 0) + r.length);
2650
- let o = Z({ forloop: new Ie(r.length, this.collection.getText(), this.variable) });
2686
+ e.pop(), r = (this.liquid.options.orderedFilterParameters ? Object.keys(a).filter((e) => $i.includes(e)) : $i.filter((e) => a[e] !== void 0)).reduce((e, t) => t === "offset" ? na(e, a.offset) : t === "limit" ? ra(e, a.limit) : ta(e), r), e.setRegister(i, (a.offset || 0) + r.length);
2687
+ let o = Z({ forloop: new Re(r.length, this.collection.getText(), this.variable) });
2651
2688
  e.push(o);
2652
2689
  for (let i of r) {
2653
2690
  if (o[this.variable] = i, e.continueCalled = e.breakCalled = !1, yield n.renderTemplates(this.templates, e, t), e.breakCalled) break;
@@ -2667,16 +2704,16 @@ var qi = /*#__PURE__*/ Object.freeze({
2667
2704
  return [this.variable, "forloop"];
2668
2705
  }
2669
2706
  };
2670
- function Qi(e) {
2707
+ function ta(e) {
2671
2708
  return [...e].reverse();
2672
2709
  }
2673
- function $i(e, t) {
2710
+ function na(e, t) {
2674
2711
  return e.slice(t);
2675
2712
  }
2676
- function ea(e, t) {
2713
+ function ra(e, t) {
2677
2714
  return e.slice(0, t);
2678
2715
  }
2679
- var ta = class extends R {
2716
+ var ia = class extends R {
2680
2717
  constructor(e, t, n, r) {
2681
2718
  for (super(e, t, n), this.templates = [], this.identifier = this.readVariable(), this.variable = this.identifier.content; t.length;) {
2682
2719
  let e = t.shift();
@@ -2700,7 +2737,7 @@ var ta = class extends R {
2700
2737
  *localScope() {
2701
2738
  yield this.identifier;
2702
2739
  }
2703
- }, na = class extends R {
2740
+ }, aa = class extends R {
2704
2741
  constructor(e, t, n, r) {
2705
2742
  super(e, t, n), this.branches = [], this.elseTemplates = [], this.value = new B(this.tokenizer.readFilteredValue(), this.liquid), this.elseTemplates = [];
2706
2743
  let i = [], a = 0, o = r.parseStream(t).on("tag:when", (e) => {
@@ -2723,7 +2760,7 @@ var ta = class extends R {
2723
2760
  }
2724
2761
  *render(e, t) {
2725
2762
  let n = this.liquid.renderer, r = p(yield this.value.value(e, e.opts.lenientIf)), i = !1;
2726
- for (let a of this.branches) for (let o of a.values) if (N(r, yield j(o, e, e.opts.lenientIf))) {
2763
+ for (let a of this.branches) for (let o of a.values) if (N(r, yield A(o, e, e.opts.lenientIf))) {
2727
2764
  yield n.renderTemplates(a.templates, e, t), i = !0;
2728
2765
  break;
2729
2766
  }
@@ -2736,7 +2773,7 @@ var ta = class extends R {
2736
2773
  let e = this.branches.flatMap((e) => e.templates);
2737
2774
  return this.elseTemplates && e.push(...this.elseTemplates), e;
2738
2775
  }
2739
- }, ra = class extends R {
2776
+ }, oa = class extends R {
2740
2777
  constructor(e, t, n) {
2741
2778
  for (super(e, t, n); t.length;) {
2742
2779
  let e = t.shift();
@@ -2745,11 +2782,11 @@ var ta = class extends R {
2745
2782
  throw Error(`tag ${e.getText()} not closed`);
2746
2783
  }
2747
2784
  render() {}
2748
- }, ia = class extends R {
2785
+ }, sa = class extends R {
2749
2786
  constructor(e, t, n, r) {
2750
2787
  super(e, t, n);
2751
2788
  let i = this.tokenizer;
2752
- for (this.file = aa(i, this.liquid, r), this.currentFile = e.file; !i.end();) {
2789
+ for (this.file = ca(i, this.liquid, r), this.currentFile = e.file; !i.end();) {
2753
2790
  i.skipBlank();
2754
2791
  let e = i.p, t = i.readIdentifier();
2755
2792
  if ((t.content === "with" || t.content === "for") && (i.skipBlank(), i.peek() !== ":")) {
@@ -2771,16 +2808,16 @@ var ta = class extends R {
2771
2808
  this.hash = new z(i, n.options.keyValueSeparator);
2772
2809
  }
2773
2810
  *render(e, t) {
2774
- let { liquid: n, hash: r } = this, i = yield sa(this.file, e, n);
2775
- w(i, () => `illegal file path "${i}"`);
2811
+ let { liquid: n, hash: r } = this, i = yield ua(this.file, e, n);
2812
+ C(i, () => `illegal file path "${i}"`);
2776
2813
  let a = e.spawn(), o = a.bottom();
2777
- if (Ge(o, yield r.render(e)), this.with) {
2814
+ if (qe(o, yield r.render(e)), this.with) {
2778
2815
  let { value: t, alias: n } = this.with;
2779
- o[n || i] = yield j(t, e);
2816
+ o[n || i] = yield A(t, e);
2780
2817
  }
2781
2818
  if (this.forBinding) {
2782
- let { value: r, alias: s } = this.forBinding, c = d(yield j(r, e));
2783
- o.forloop = new Ie(c.length, r.getText(), s);
2819
+ let { value: r, alias: s } = this.forBinding, c = d(yield A(r, e));
2820
+ o.forloop = new Re(c.length, r.getText(), s);
2784
2821
  for (let e of c) {
2785
2822
  o[s] = e;
2786
2823
  let r = yield n._parsePartialFile(i, a.sync, this.currentFile);
@@ -2824,35 +2861,35 @@ var ta = class extends R {
2824
2861
  }
2825
2862
  }
2826
2863
  };
2827
- function aa(e, t, n) {
2864
+ function ca(e, t, n) {
2828
2865
  if (t.options.dynamicPartials) {
2829
2866
  let t = e.readValue();
2830
- return e.assert(t, "illegal file path"), t.getText() === "none" ? void 0 : Kn(t) ? oa(n.parse(Vt(t))) : t;
2867
+ return e.assert(t, "illegal file path"), t.getText() === "none" ? void 0 : Jn(t) ? la(n.parse(Gt(t))) : t;
2831
2868
  }
2832
- let r = [...e.readFileNameTemplate(t.options)], i = oa(n.parseTokens(r));
2869
+ let r = [...e.readFileNameTemplate(t.options)], i = la(n.parseTokens(r));
2833
2870
  return i === "none" ? void 0 : i;
2834
2871
  }
2835
- function oa(e) {
2836
- return e.length === 1 && Wn(e[0].token) ? e[0].token.getContent() : e;
2872
+ function la(e) {
2873
+ return e.length === 1 && Kn(e[0].token) ? e[0].token.getContent() : e;
2837
2874
  }
2838
- function* sa(e, t, n) {
2839
- return typeof e == "string" ? e : Array.isArray(e) ? n.renderer.renderTemplates(e, t) : yield j(e, t);
2875
+ function* ua(e, t, n) {
2876
+ return typeof e == "string" ? e : Array.isArray(e) ? n.renderer.renderTemplates(e, t) : yield A(e, t);
2840
2877
  }
2841
- var ca = class extends R {
2878
+ var da = class extends R {
2842
2879
  constructor(e, t, n, r) {
2843
2880
  super(e, t, n);
2844
2881
  let { tokenizer: i } = e;
2845
- this.file = aa(i, this.liquid, r), this.currentFile = e.file;
2882
+ this.file = ca(i, this.liquid, r), this.currentFile = e.file;
2846
2883
  let a = i.p;
2847
2884
  i.readIdentifier().content === "with" ? (i.skipBlank(), i.peek() === ":" ? i.p = a : this.withVar = i.readValue()) : i.p = a, this.hash = new z(i, n.options.jekyllInclude || n.options.keyValueSeparator);
2848
2885
  }
2849
2886
  *render(e, t) {
2850
- let { liquid: n, hash: r, withVar: i } = this, { renderer: a } = n, o = yield sa(this.file, e, n);
2851
- w(o, () => `illegal file path "${o}"`);
2887
+ let { liquid: n, hash: r, withVar: i } = this, { renderer: a } = n, o = yield ua(this.file, e, n);
2888
+ C(o, () => `illegal file path "${o}"`);
2852
2889
  let s = e.saveRegister("blocks", "blockMode");
2853
2890
  e.setRegister("blocks", {}), e.setRegister("blockMode", $.OUTPUT);
2854
2891
  let c = Z(yield r.render(e));
2855
- i && (c[o] = yield j(i, e));
2892
+ i && (c[o] = yield A(i, e));
2856
2893
  let l = yield n._parsePartialFile(o, e.sync, this.currentFile);
2857
2894
  e.push(e.opts.jekyllInclude ? Z({ include: c }) : c), yield a.renderTemplates(l, e, t), e.pop(), e.restoreRegister(s);
2858
2895
  }
@@ -2872,7 +2909,7 @@ var ca = class extends R {
2872
2909
  *arguments() {
2873
2910
  yield* Object.values(this.hash.hash).filter(Y), Y(this.file) && (yield this.file), Y(this.withVar) && (yield this.withVar);
2874
2911
  }
2875
- }, la = class extends R {
2912
+ }, fa = class extends R {
2876
2913
  constructor(e, t, n) {
2877
2914
  super(e, t, n), this.identifier = this.tokenizer.readIdentifier(), this.variable = this.identifier.content;
2878
2915
  }
@@ -2883,7 +2920,7 @@ var ca = class extends R {
2883
2920
  *localScope() {
2884
2921
  yield this.identifier;
2885
2922
  }
2886
- }, ua = class extends R {
2923
+ }, pa = class extends R {
2887
2924
  constructor(e, t, n) {
2888
2925
  super(e, t, n), this.candidates = [];
2889
2926
  let r = this.tokenizer.readValue();
@@ -2894,15 +2931,15 @@ var ca = class extends R {
2894
2931
  this.tokenizer.assert(this.candidates.length, () => `empty candidates: "${e.getText()}"`);
2895
2932
  }
2896
2933
  *render(e, t) {
2897
- let n = `cycle:${yield j(this.group, e)}:` + this.candidates.join(","), r = e.getRegister("cycle", {}), i = r[n];
2934
+ let n = `cycle:${yield A(this.group, e)}:` + this.candidates.join(","), r = e.getRegister("cycle", {}), i = r[n];
2898
2935
  i === void 0 && (i = r[n] = 0);
2899
2936
  let a = this.candidates[i];
2900
- return i = (i + 1) % this.candidates.length, r[n] = i, yield j(a, e);
2937
+ return i = (i + 1) % this.candidates.length, r[n] = i, yield A(a, e);
2901
2938
  }
2902
2939
  *arguments() {
2903
2940
  yield* this.candidates, this.group && (yield this.group);
2904
2941
  }
2905
- }, da = class extends R {
2942
+ }, ma = class extends R {
2906
2943
  constructor(e, t, n, r) {
2907
2944
  super(e, t, n), this.branches = [];
2908
2945
  let i = [];
@@ -2910,21 +2947,21 @@ var ca = class extends R {
2910
2947
  value: new B(e.tokenizer.readFilteredValue(), this.liquid),
2911
2948
  templates: i = []
2912
2949
  })).on("tag:elsif", (e) => {
2913
- w(!this.elseTemplates, "unexpected elsif after else"), this.branches.push({
2950
+ C(!this.elseTemplates, "unexpected elsif after else"), this.branches.push({
2914
2951
  value: new B(e.tokenizer.readFilteredValue(), this.liquid),
2915
2952
  templates: i = []
2916
2953
  });
2917
2954
  }).on("tag:else", (e) => {
2918
- T(e.args), w(!this.elseTemplates, "duplicated else"), i = this.elseTemplates = [];
2955
+ Pe(e.args), C(!this.elseTemplates, "duplicated else"), i = this.elseTemplates = [];
2919
2956
  }).on("tag:endif", function(e) {
2920
- T(e.args), this.stop();
2957
+ Pe(e.args), this.stop();
2921
2958
  }).on("template", (e) => i.push(e)).on("end", () => {
2922
2959
  throw Error(`tag ${e.getText()} not closed`);
2923
2960
  }).start();
2924
2961
  }
2925
2962
  *render(e, t) {
2926
2963
  let n = this.liquid.renderer;
2927
- for (let { value: r, templates: i } of this.branches) if (M(yield r.value(e, e.opts.lenientIf), e)) {
2964
+ for (let { value: r, templates: i } of this.branches) if (j(yield r.value(e, e.opts.lenientIf), e)) {
2928
2965
  yield n.renderTemplates(i, e, t);
2929
2966
  return;
2930
2967
  }
@@ -2937,7 +2974,7 @@ var ca = class extends R {
2937
2974
  arguments() {
2938
2975
  return this.branches.map((e) => e.value);
2939
2976
  }
2940
- }, fa = class extends R {
2977
+ }, ha = class extends R {
2941
2978
  constructor(e, t, n) {
2942
2979
  super(e, t, n), this.identifier = this.tokenizer.readIdentifier(), this.variable = this.identifier.content;
2943
2980
  }
@@ -2950,9 +2987,9 @@ var ca = class extends R {
2950
2987
  *localScope() {
2951
2988
  yield this.identifier;
2952
2989
  }
2953
- }, pa = class extends R {
2990
+ }, ga = class extends R {
2954
2991
  constructor(e, t, n, r) {
2955
- super(e, t, n), this.file = aa(this.tokenizer, this.liquid, r), this.currentFile = e.file, this.args = new z(this.tokenizer, n.options.keyValueSeparator), this.templates = r.parseTokens(t);
2992
+ super(e, t, n), this.file = ca(this.tokenizer, this.liquid, r), this.currentFile = e.file, this.args = new z(this.tokenizer, n.options.keyValueSeparator), this.templates = r.parseTokens(t);
2956
2993
  }
2957
2994
  *render(e, t) {
2958
2995
  let { liquid: n, args: r, file: i } = this, { renderer: a } = n;
@@ -2960,8 +2997,8 @@ var ca = class extends R {
2960
2997
  e.setRegister("blockMode", $.OUTPUT), yield a.renderTemplates(this.templates, e, t);
2961
2998
  return;
2962
2999
  }
2963
- let o = yield sa(this.file, e, n);
2964
- w(o, () => `illegal file path "${o}"`);
3000
+ let o = yield ua(this.file, e, n);
3001
+ C(o, () => `illegal file path "${o}"`);
2965
3002
  let s = yield n._parseLayoutFile(o, e.sync, this.currentFile);
2966
3003
  e.setRegister("blockMode", $.STORE);
2967
3004
  let c = yield a.renderTemplates(this.templates, e), l = e.getRegister("blocks", {});
@@ -2982,7 +3019,7 @@ var ca = class extends R {
2982
3019
  scope: Object.keys(this.args.hash)
2983
3020
  };
2984
3021
  }
2985
- }, ma = class extends R {
3022
+ }, _a = class extends R {
2986
3023
  constructor(e, t, n, r) {
2987
3024
  super(e, t, n), this.templates = [];
2988
3025
  let i = /\w+/.exec(e.args);
@@ -2996,7 +3033,7 @@ var ca = class extends R {
2996
3033
  }
2997
3034
  *render(e, t) {
2998
3035
  let n = this.getBlockRender(e);
2999
- e.getRegister("blockMode") === $.STORE ? e.getRegister("blocks", {})[this.block] = n : yield n(new Be(), t);
3036
+ e.getRegister("blockMode") === $.STORE ? e.getRegister("blocks", {})[this.block] = n : yield n(new He(), t);
3000
3037
  }
3001
3038
  getBlockRender(e) {
3002
3039
  let t = this, { liquid: n, templates: r } = this, i = e.getRegister("blocks", {})[this.block], a = function* (i, a) {
@@ -3004,7 +3041,7 @@ var ca = class extends R {
3004
3041
  if (o.includes(t)) throw Error("block tag cannot be nested");
3005
3042
  o.push(t), e.push(Z({ block: i })), yield n.renderer.renderTemplates(r, e, a), e.pop(), o.pop();
3006
3043
  };
3007
- return i ? (e, t) => i(new Be((t) => a(e, t)), t) : a;
3044
+ return i ? (e, t) => i(new He((t) => a(e, t)), t) : a;
3008
3045
  }
3009
3046
  *children() {
3010
3047
  return this.templates;
@@ -3012,7 +3049,7 @@ var ca = class extends R {
3012
3049
  blockScope() {
3013
3050
  return ["block"];
3014
3051
  }
3015
- }, ha = class extends R {
3052
+ }, va = class extends R {
3016
3053
  constructor(e, t, n) {
3017
3054
  for (super(e, t, n), this.tokens = []; t.length;) {
3018
3055
  let e = t.shift();
@@ -3024,7 +3061,7 @@ var ca = class extends R {
3024
3061
  render() {
3025
3062
  return this.tokens.map((e) => e.getText()).join("");
3026
3063
  }
3027
- }, ga = class extends Ie {
3064
+ }, ya = class extends Re {
3028
3065
  constructor(e, t, n, r) {
3029
3066
  super(e, n, r), this.length = e, this.cols = t;
3030
3067
  }
@@ -3043,21 +3080,21 @@ var ca = class extends R {
3043
3080
  col_last() {
3044
3081
  return this.col() === this.cols;
3045
3082
  }
3046
- }, _a = {
3047
- assign: Yi,
3048
- for: Zi,
3049
- capture: ta,
3050
- case: na,
3051
- comment: ra,
3052
- include: ca,
3053
- render: ia,
3054
- decrement: la,
3055
- increment: fa,
3056
- cycle: ua,
3057
- if: da,
3058
- layout: pa,
3059
- block: ma,
3060
- raw: ha,
3083
+ }, ba = {
3084
+ assign: Qi,
3085
+ for: ea,
3086
+ capture: ia,
3087
+ case: aa,
3088
+ comment: oa,
3089
+ include: da,
3090
+ render: sa,
3091
+ decrement: fa,
3092
+ increment: ha,
3093
+ cycle: pa,
3094
+ if: ma,
3095
+ layout: ga,
3096
+ block: _a,
3097
+ raw: va,
3061
3098
  tablerow: class extends R {
3062
3099
  constructor(e, t, n, r) {
3063
3100
  super(e, t, n);
@@ -3072,9 +3109,9 @@ var ca = class extends R {
3072
3109
  c.start();
3073
3110
  }
3074
3111
  *render(e, t) {
3075
- let n = d(yield j(this.collection, e)), r = yield this.args.render(e), i = r.offset || 0, a = r.limit === void 0 ? n.length : r.limit;
3112
+ let n = d(yield A(this.collection, e)), r = yield this.args.render(e), i = r.offset || 0, a = r.limit === void 0 ? n.length : r.limit;
3076
3113
  n = n.slice(i, i + a);
3077
- let o = r.cols || n.length, s = this.liquid.renderer, c = new ga(n.length, o, this.collection.getText(), this.variable), l = Z({ tablerowloop: c });
3114
+ let o = r.cols || n.length, s = this.liquid.renderer, c = new ya(n.length, o, this.collection.getText(), this.variable), l = Z({ tablerowloop: c });
3078
3115
  e.push(l);
3079
3116
  for (let r = 0; r < n.length; r++, c.next()) l[this.variable] = n[r], c.col0() === 0 && (c.row() !== 1 && t.write("</tr>"), t.write(`<tr class="row${c.row()}">`)), t.write(`<td class="col${c.col()}">`), yield s.renderTemplates(this.templates, e, t), t.write("</td>");
3080
3117
  n.length && t.write("</tr>"), e.pop();
@@ -3096,7 +3133,7 @@ var ca = class extends R {
3096
3133
  let i = [], a = 0;
3097
3134
  r.parseStream(t).on("start", () => this.branches.push({
3098
3135
  value: new B(e.tokenizer.readFilteredValue(), this.liquid),
3099
- test: Wt,
3136
+ test: M,
3100
3137
  templates: i = []
3101
3138
  })).on("tag:elsif", (e) => {
3102
3139
  if (a > 0) {
@@ -3105,7 +3142,7 @@ var ca = class extends R {
3105
3142
  }
3106
3143
  this.branches.push({
3107
3144
  value: new B(e.tokenizer.readFilteredValue(), this.liquid),
3108
- test: M,
3145
+ test: j,
3109
3146
  templates: i = []
3110
3147
  });
3111
3148
  }).on("tag:else", () => {
@@ -3176,27 +3213,27 @@ var ca = class extends R {
3176
3213
  }
3177
3214
  render() {}
3178
3215
  }
3179
- }, va = class e {
3216
+ }, xa = class e {
3180
3217
  constructor(e = {}) {
3181
- this.renderer = new Rt(), this.filters = Object.create(null), this.tags = Object.create(null), this.options = bn(e), this.parser = new K(this), ae(_a, (e, t) => this.registerTag(t, e)), ae(Ji, (e, t) => this.registerFilter(t, e));
3218
+ this.renderer = new zt(), this.filters = Object.create(null), this.tags = Object.create(null), this.options = Cn(e), this.parser = new K(this), ae(ba, (e, t) => this.registerTag(t, e)), ae(Zi, (e, t) => this.registerFilter(t, e));
3182
3219
  }
3183
3220
  parse(e, t) {
3184
3221
  return new K(this).parse(e, t);
3185
3222
  }
3186
3223
  _render(e, t, n) {
3187
- let r = t instanceof Q ? t : new Q(t, this.options, n);
3224
+ let r = t instanceof Q ? t : new Q(t, this.options, n, { liquid: this });
3188
3225
  return this.renderer.renderTemplates(e, r);
3189
3226
  }
3190
3227
  render(e, t, n) {
3191
- return D(this, void 0, void 0, function* () {
3192
- return O(this._render(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3228
+ return T(this, void 0, void 0, function* () {
3229
+ return E(this._render(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3193
3230
  });
3194
3231
  }
3195
3232
  renderSync(e, t, n) {
3196
- return k(this._render(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3233
+ return D(this._render(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3197
3234
  }
3198
3235
  renderToNodeStream(e, t, n = {}) {
3199
- let r = new Q(t, this.options, n);
3236
+ let r = new Q(t, this.options, n, { liquid: this });
3200
3237
  return this.renderer.renderTemplatesToNodeStream(e, r);
3201
3238
  }
3202
3239
  _parseAndRender(e, t, n) {
@@ -3204,12 +3241,12 @@ var ca = class extends R {
3204
3241
  return this._render(r, t, n);
3205
3242
  }
3206
3243
  parseAndRender(e, t, n) {
3207
- return D(this, void 0, void 0, function* () {
3208
- return O(this._parseAndRender(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3244
+ return T(this, void 0, void 0, function* () {
3245
+ return E(this._parseAndRender(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3209
3246
  });
3210
3247
  }
3211
3248
  parseAndRenderSync(e, t, n) {
3212
- return k(this._parseAndRender(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3249
+ return D(this._parseAndRender(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3213
3250
  }
3214
3251
  _parsePartialFile(e, t, n) {
3215
3252
  return new K(this).parseFile(e, t, G.Partials, n);
@@ -3221,48 +3258,48 @@ var ca = class extends R {
3221
3258
  return new K(this).parseFile(e, t, n, r);
3222
3259
  }
3223
3260
  parseFile(e, t) {
3224
- return D(this, void 0, void 0, function* () {
3225
- return O(new K(this).parseFile(e, !1, t));
3261
+ return T(this, void 0, void 0, function* () {
3262
+ return E(new K(this).parseFile(e, !1, t));
3226
3263
  });
3227
3264
  }
3228
3265
  parseFileSync(e, t) {
3229
- return k(new K(this).parseFile(e, !0, t));
3266
+ return D(new K(this).parseFile(e, !0, t));
3230
3267
  }
3231
3268
  *_renderFile(e, t, n) {
3232
3269
  let r = yield this._parseFile(e, n.sync, n.lookupType);
3233
3270
  return yield this._render(r, t, n);
3234
3271
  }
3235
3272
  renderFile(e, t, n) {
3236
- return D(this, void 0, void 0, function* () {
3237
- return O(this._renderFile(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3273
+ return T(this, void 0, void 0, function* () {
3274
+ return E(this._renderFile(e, t, Object.assign(Object.assign({}, n), { sync: !1 })));
3238
3275
  });
3239
3276
  }
3240
3277
  renderFileSync(e, t, n) {
3241
- return k(this._renderFile(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3278
+ return D(this._renderFile(e, t, Object.assign(Object.assign({}, n), { sync: !0 })));
3242
3279
  }
3243
3280
  renderFileToNodeStream(e, t, n) {
3244
- return D(this, void 0, void 0, function* () {
3281
+ return T(this, void 0, void 0, function* () {
3245
3282
  let r = yield this.parseFile(e);
3246
3283
  return this.renderToNodeStream(r, t, n);
3247
3284
  });
3248
3285
  }
3249
3286
  _evalValue(e, t) {
3250
- let n = new B(e, this), r = t instanceof Q ? t : new Q(t, this.options);
3287
+ let n = new B(e, this), r = t instanceof Q ? t : new Q(t, this.options, {}, { liquid: this });
3251
3288
  return n.value(r);
3252
3289
  }
3253
3290
  evalValue(e, t) {
3254
- return D(this, void 0, void 0, function* () {
3255
- return O(this._evalValue(e, t));
3291
+ return T(this, void 0, void 0, function* () {
3292
+ return E(this._evalValue(e, t));
3256
3293
  });
3257
3294
  }
3258
3295
  evalValueSync(e, t) {
3259
- return k(this._evalValue(e, t));
3296
+ return D(this._evalValue(e, t));
3260
3297
  }
3261
3298
  registerFilter(e, t) {
3262
3299
  this.filters[e] = t;
3263
3300
  }
3264
3301
  registerTag(e, t) {
3265
- this.tags[e] = o(t) ? t : Dn(t);
3302
+ this.tags[e] = o(t) ? t : An(t);
3266
3303
  }
3267
3304
  plugin(t) {
3268
3305
  return t.call(this, e);
@@ -3279,7 +3316,7 @@ var ca = class extends R {
3279
3316
  };
3280
3317
  }
3281
3318
  analyze(e, t = {}) {
3282
- return D(this, void 0, void 0, function* () {
3319
+ return T(this, void 0, void 0, function* () {
3283
3320
  return H(e, t);
3284
3321
  });
3285
3322
  }
@@ -3287,7 +3324,7 @@ var ca = class extends R {
3287
3324
  return U(e, t);
3288
3325
  }
3289
3326
  parseAndAnalyze(e, t, n = {}) {
3290
- return D(this, void 0, void 0, function* () {
3327
+ return T(this, void 0, void 0, function* () {
3291
3328
  return H(this.parse(e, t), n);
3292
3329
  });
3293
3330
  }
@@ -3295,7 +3332,7 @@ var ca = class extends R {
3295
3332
  return U(this.parse(e, t), n);
3296
3333
  }
3297
3334
  variables(e, t = {}) {
3298
- return D(this, void 0, void 0, function* () {
3335
+ return T(this, void 0, void 0, function* () {
3299
3336
  let n = yield H(a(e) ? this.parse(e) : e, t);
3300
3337
  return Object.keys(n.variables);
3301
3338
  });
@@ -3305,7 +3342,7 @@ var ca = class extends R {
3305
3342
  return Object.keys(n.variables);
3306
3343
  }
3307
3344
  fullVariables(e, t = {}) {
3308
- return D(this, void 0, void 0, function* () {
3345
+ return T(this, void 0, void 0, function* () {
3309
3346
  let n = yield H(a(e) ? this.parse(e) : e, t);
3310
3347
  return Array.from(new Set(Object.values(n.variables).flatMap((e) => e.map((e) => String(e)))));
3311
3348
  });
@@ -3315,17 +3352,17 @@ var ca = class extends R {
3315
3352
  return Array.from(new Set(Object.values(n.variables).flatMap((e) => e.map((e) => String(e)))));
3316
3353
  }
3317
3354
  variableSegments(e, t = {}) {
3318
- return D(this, void 0, void 0, function* () {
3355
+ return T(this, void 0, void 0, function* () {
3319
3356
  let n = yield H(a(e) ? this.parse(e) : e, t);
3320
- return Array.from(b(Object.values(n.variables).flatMap((e) => e.map((e) => e.toArray()))));
3357
+ return Array.from(y(Object.values(n.variables).flatMap((e) => e.map((e) => e.toArray()))));
3321
3358
  });
3322
3359
  }
3323
3360
  variableSegmentsSync(e, t = {}) {
3324
3361
  let n = U(a(e) ? this.parse(e) : e, t);
3325
- return Array.from(b(Object.values(n.variables).flatMap((e) => e.map((e) => e.toArray()))));
3362
+ return Array.from(y(Object.values(n.variables).flatMap((e) => e.map((e) => e.toArray()))));
3326
3363
  }
3327
3364
  globalVariables(e, t = {}) {
3328
- return D(this, void 0, void 0, function* () {
3365
+ return T(this, void 0, void 0, function* () {
3329
3366
  let n = yield H(a(e) ? this.parse(e) : e, t);
3330
3367
  return Object.keys(n.globals);
3331
3368
  });
@@ -3335,7 +3372,7 @@ var ca = class extends R {
3335
3372
  return Object.keys(n.globals);
3336
3373
  }
3337
3374
  globalFullVariables(e, t = {}) {
3338
- return D(this, void 0, void 0, function* () {
3375
+ return T(this, void 0, void 0, function* () {
3339
3376
  let n = yield H(a(e) ? this.parse(e) : e, t);
3340
3377
  return Array.from(new Set(Object.values(n.globals).flatMap((e) => e.map((e) => String(e)))));
3341
3378
  });
@@ -3345,15 +3382,16 @@ var ca = class extends R {
3345
3382
  return Array.from(new Set(Object.values(n.globals).flatMap((e) => e.map((e) => String(e)))));
3346
3383
  }
3347
3384
  globalVariableSegments(e, t = {}) {
3348
- return D(this, void 0, void 0, function* () {
3385
+ return T(this, void 0, void 0, function* () {
3349
3386
  let n = yield H(a(e) ? this.parse(e) : e, t);
3350
- return Array.from(b(Object.values(n.globals).flatMap((e) => e.map((e) => e.toArray()))));
3387
+ return Array.from(y(Object.values(n.globals).flatMap((e) => e.map((e) => e.toArray()))));
3351
3388
  });
3352
3389
  }
3353
3390
  globalVariableSegmentsSync(e, t = {}) {
3354
3391
  let n = U(a(e) ? this.parse(e) : e, t);
3355
- return Array.from(b(Object.values(n.globals).flatMap((e) => e.map((e) => e.toArray()))));
3392
+ return Array.from(y(Object.values(n.globals).flatMap((e) => e.map((e) => e.toArray()))));
3356
3393
  }
3357
3394
  };
3395
+ /* istanbul ignore file */
3358
3396
  //#endregion
3359
- export { va as Liquid };
3397
+ export { xa as Liquid };