sliccy 6.182.0 → 6.183.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/ui/.vite/manifest.json +268 -260
  2. package/dist/ui/assets/SKILL-B4YYagrM.js +1 -0
  3. package/dist/ui/assets/{SKILL-BpMlcVho.js → SKILL-BbKu0tAh.js} +1 -1
  4. package/dist/ui/assets/{SKILL-DGelbGt_.js → SKILL-CG7Xvjv7.js} +1 -1
  5. package/dist/ui/assets/{account-store-BxB3138q.js → account-store-Ce44FdYj.js} +2 -2
  6. package/dist/ui/assets/{account-store-UA_3Tz4g.js → account-store-D0ciUU3U.js} +1 -1
  7. package/dist/ui/assets/{adobe-C5iQ4vVx.js → adobe-FgsPWBjV.js} +2 -2
  8. package/dist/ui/assets/{adobe-CGl3cGPR.js → adobe-j1r9Po8o.js} +1 -1
  9. package/dist/ui/assets/{agent-panels-DfmjvBS2.js → agent-panels-DcVWQZVh.js} +1 -1
  10. package/dist/ui/assets/{almost-bash-shell-headless-l1xuiFhc.js → almost-bash-shell-headless-CsDQjWSX.js} +268 -268
  11. package/dist/ui/assets/{apply-layout-Bq6bvrT2.js → apply-layout-6-QTVrMq.js} +1 -1
  12. package/dist/ui/assets/{apps-BX-IbYH9.js → apps-C20mWJ8w.js} +1 -1
  13. package/dist/ui/assets/{azure-openai-BXvWNypo.js → azure-openai-CTmHX_BT.js} +1 -1
  14. package/dist/ui/assets/{azure-openai-C2dDMpxW.js → azure-openai-CotI4RBJ.js} +1 -1
  15. package/dist/ui/assets/{backend-hostfs-DV8kfBUj.js → backend-hostfs-D46_hViH.js} +1 -1
  16. package/dist/ui/assets/{capability-C8I_18AN.js → capability-BgC-ru0t.js} +2 -2
  17. package/dist/ui/assets/{cdp-B0aSo4ch.js → cdp-BvPARz8i.js} +1 -1
  18. package/dist/ui/assets/{cerebras-D29ytBVb.js → cerebras-CGndqdHt.js} +1 -1
  19. package/dist/ui/assets/{cerebras-B2SDJ5pX.js → cerebras-DG7lHBt1.js} +1 -1
  20. package/dist/ui/assets/{client-Sb_wIqH2.js → client-CmfvXtLV.js} +1 -1
  21. package/dist/ui/assets/{composer-speech-Dt-gM11M.js → composer-speech-C2InwNBM.js} +1 -1
  22. package/dist/ui/assets/{connect-surface-Cb3XqWWR.js → connect-surface-EWOA61l_.js} +1 -1
  23. package/dist/ui/assets/{core-B3ULTK7V.js → core-Be1yHH6v.js} +1 -1
  24. package/dist/ui/assets/{core-CDo7qjEn.js → core-D-Fp1HL2.js} +1 -1
  25. package/dist/ui/assets/{directed-approval-BEel8QYA.js → directed-approval-6QIzcmF_.js} +1 -1
  26. package/dist/ui/assets/{discovery-preference-C7kFEKRM.js → discovery-preference-MWZVi-PZ.js} +1 -1
  27. package/dist/ui/assets/dist-C8ZpEU8V.js +3 -0
  28. package/dist/ui/assets/{emscripten-vfs-hook-bNKkM3Zb.js → emscripten-vfs-hook-B9KkLncp.js} +1 -1
  29. package/dist/ui/assets/{ensure-speech-assets-DnCun_bM.js → ensure-speech-assets-C3v1Nu2n.js} +1 -1
  30. package/dist/ui/assets/{extension-ops-CmuqbGmo.js → extension-ops-DTRUyGkx.js} +1 -1
  31. package/dist/ui/assets/{float-topology-BvkgNLoi.js → float-topology-B0_dG7En.js} +1 -1
  32. package/dist/ui/assets/{follower-navigate-watcher-B8Kk1WcF.js → follower-navigate-watcher-DVWQWTGU.js} +1 -1
  33. package/dist/ui/assets/{frozen-archive-writer-DWckLPIx.js → frozen-archive-writer-DMShgEqJ.js} +1 -1
  34. package/dist/ui/assets/{fs-Bl1dGTw7.js → fs-JF56Nord.js} +2 -2
  35. package/dist/ui/assets/{fs-Bvj_6WV6.js → fs-TVcPtHbB.js} +1 -1
  36. package/dist/ui/assets/{gelatiere-store-CslswlOn.js → gelatiere-store-BnAzlDHe.js} +1 -1
  37. package/dist/ui/assets/{gelatiere-unit-DOffAKPD.js → gelatiere-unit-5cS02rOR.js} +1 -1
  38. package/dist/ui/assets/{github-DRuWNJ0x.js → github-BJKcZ0cU.js} +2 -2
  39. package/dist/ui/assets/{github-DVquHzS1.js → github-DsvjkXr7.js} +1 -1
  40. package/dist/ui/assets/{github-auth-C5UPE82y.js → github-auth-Crm1hubQ.js} +1 -1
  41. package/dist/ui/assets/{github-copilot-DXbnFsoC.js → github-copilot-BWhNAowY.js} +1 -1
  42. package/dist/ui/assets/{github-copilot-ha5V9jKJ.js → github-copilot-ngj7NQ16.js} +1 -1
  43. package/dist/ui/assets/{github-install-z8nzKR56.js → github-install-DB3-4PDg.js} +1 -1
  44. package/dist/ui/assets/{github-zip-YeBT3Ny7.js → github-zip-CfS9P2dH.js} +1 -1
  45. package/dist/ui/assets/{guest-tool-gate-Dn4Cs-oT.js → guest-tool-gate-B2z1ggE_.js} +1 -1
  46. package/dist/ui/assets/{hear-ClByyjXy.js → hear-akPMJ6kC.js} +1 -1
  47. package/dist/ui/assets/{help-p6vq-7bY.js → help-CNHuyT-F.js} +1 -1
  48. package/dist/ui/assets/{installer-hyWN7t-8.js → installer-CzQ_lEMz.js} +1 -1
  49. package/dist/ui/assets/{interrupted-work-recovery-C3eyzaf0.js → interrupted-work-recovery-r9fITX8G.js} +1 -1
  50. package/dist/ui/assets/{js-realm-worker-C8L3DYxo.js → js-realm-worker-EkjzOn2Q.js} +2 -2
  51. package/dist/ui/assets/{jsh-executor-BRw7B4H0.js → jsh-executor-C849KexO.js} +2 -2
  52. package/dist/ui/assets/{kernel-worker-DJ8FZwqE.js → kernel-worker-B69_4v-D.js} +10 -10
  53. package/dist/ui/assets/{lick-ws-bridge-AHYpxmrH.js → lick-ws-bridge-BygSyyxa.js} +1 -1
  54. package/dist/ui/assets/{lick-ws-bridge-DjxKrqtY.js → lick-ws-bridge-DDMdP2AB.js} +1 -1
  55. package/dist/ui/assets/{live-session-curation-ChbHqCg_.js → live-session-curation-BfplChNV.js} +1 -1
  56. package/dist/ui/assets/{live-session-snapshot-CEM9afjE.js → live-session-snapshot-BQQH-IkA.js} +1 -1
  57. package/dist/ui/assets/{local-llm-3Pq3W9JZ.js → local-llm-BSMA7cC5.js} +1 -1
  58. package/dist/ui/assets/{local-llm-DSfR5Yt1.js → local-llm-CNznNtp9.js} +1 -1
  59. package/dist/ui/assets/{main-DtPQfxOa.js → main-BsG-jtvC.js} +3 -3
  60. package/dist/ui/assets/{main-cherry-GQeDS2ns.js → main-cherry-7eVbk29W.js} +1 -1
  61. package/dist/ui/assets/{memory-curation-seam-COOFWWtR.js → memory-curation-seam-z19QoOG6.js} +1 -1
  62. package/dist/ui/assets/{memory-health-DxPjxnOp.js → memory-health-CL5kYVAr.js} +1 -1
  63. package/dist/ui/assets/{memory-write-execute-CRxpEM2X.js → memory-write-execute-C_oehZl_.js} +1 -1
  64. package/dist/ui/assets/{mount-9N6h5nwh.js → mount-BvxmwqOG.js} +3 -3
  65. package/dist/ui/assets/{mount-Dkwa5rwA.js → mount-JNIgSYT5.js} +1 -1
  66. package/dist/ui/assets/{mount-bridge-client-C4Ti1B85.js → mount-bridge-client-CaHZ1pkb.js} +1 -1
  67. package/dist/ui/assets/{mount-bridge-client-BMkDfg_K.js → mount-bridge-client-DRVFK3mJ.js} +1 -1
  68. package/dist/ui/assets/{new-session-C2Unp_ay.js → new-session-qNCtGIiI.js} +2 -2
  69. package/dist/ui/assets/{oauth-bootstrap-3r1LKeNV.js → oauth-bootstrap-F0HvaeYA.js} +2 -2
  70. package/dist/ui/assets/{oauth-service-CxXBA9rC.js → oauth-service-Dn_Xz1FZ.js} +1 -1
  71. package/dist/ui/assets/{oauth-service-B8mWc7rY.js → oauth-service-_PUd0RqU.js} +1 -1
  72. package/dist/ui/assets/{onboarding-orchestrator-DagKmKCB.js → onboarding-orchestrator-OKDMP2X_.js} +1 -1
  73. package/dist/ui/assets/{openai-codex--tiTbtXj.js → openai-codex-6hCaJG3N.js} +1 -1
  74. package/dist/ui/assets/{openai-codex-CJC7uwBp.js → openai-codex-BbYHsYuO.js} +1 -1
  75. package/dist/ui/assets/{openrouter-aXBsdtFI.js → openrouter-BPYQjzK5.js} +1 -1
  76. package/dist/ui/assets/{openrouter-mBY_6dIp.js → openrouter-BstowyUr.js} +1 -1
  77. package/dist/ui/assets/{openrouter-free-BeCg7Ecw.js → openrouter-free-B1qsiSWg.js} +1 -1
  78. package/dist/ui/assets/{openrouter-free-DqFFRvst.js → openrouter-free-DMavbTS5.js} +1 -1
  79. package/dist/ui/assets/{openrouter-oauth-DQIC6b5R.js → openrouter-oauth-CYZRlFsL.js} +1 -1
  80. package/dist/ui/assets/{openrouter-oauth-C7CZ9fp_.js → openrouter-oauth-DrKARZLe.js} +1 -1
  81. package/dist/ui/assets/{opfs-mount-tiZR34GY.js → opfs-mount-D3x0tHeU.js} +1 -1
  82. package/dist/ui/assets/{page-approval-service-CYpStEUs.js → page-approval-service-DRZEjhrX.js} +1 -1
  83. package/dist/ui/assets/{panel-rpc-handlers-D8NOrxvf.js → panel-rpc-handlers-CiSSOSEo.js} +2 -2
  84. package/dist/ui/assets/{panelize-shell-C_Xs3rhf.js → panelize-shell-CILi0yPu.js} +4 -4
  85. package/dist/ui/assets/{pi-edit-execution-kItlGFSm.js → pi-edit-execution-CEUeI3PX.js} +1 -1
  86. package/dist/ui/assets/{port-bridge-client-CrZ9vnOK.js → port-bridge-client-BiWcfZSc.js} +1 -1
  87. package/dist/ui/assets/{port-bridge-client-BHH6FPBY.js → port-bridge-client-BvO-1Rao.js} +1 -1
  88. package/dist/ui/assets/{provider-BtTOwLci.js → provider-CPes-oeu.js} +2 -2
  89. package/dist/ui/assets/{provider-DuCd6_sr.js → provider-Dv9W3IvY.js} +1 -1
  90. package/dist/ui/assets/{provider-settings-PedRbxpK.js → provider-settings-CDcPLuoa.js} +1 -1
  91. package/dist/ui/assets/provider-store-access-B7yFT4hY.js +1 -0
  92. package/dist/ui/assets/provider-store-access-D2Rj0Y-3.js +1 -0
  93. package/dist/ui/assets/{providers-BkwBVwkB.js → providers-COWrD21n.js} +2 -2
  94. package/dist/ui/assets/{providers-CWFcdblf.js → providers-DLk_1jra.js} +1 -1
  95. package/dist/ui/assets/proxied-fetch-DiXk_XGs.js +2 -0
  96. package/dist/ui/assets/proxied-fetch-J19bK2dG.js +1 -0
  97. package/dist/ui/assets/{quick-llm-DKsocfis.js → quick-llm-ByDw79ph.js} +1 -1
  98. package/dist/ui/assets/{realm-inprocess-CI_Msk8I.js → realm-inprocess-BLSq-cQS.js} +1 -1
  99. package/dist/ui/assets/{recovery-screen-HGByYfVb.js → recovery-screen-CldB31e2.js} +1 -1
  100. package/dist/ui/assets/{redirect-uri-Dnc7Ae7l.js → redirect-uri-DlOE4xJ4.js} +1 -1
  101. package/dist/ui/assets/{remote-terminal-view-C6Ao0U4O.js → remote-terminal-view-BpHAWWeD.js} +1 -1
  102. package/dist/ui/assets/{rest-ops-vPHUnWou.js → rest-ops-CPEMTyP-.js} +1 -1
  103. package/dist/ui/assets/{rest-ops-DABw6D2a.js → rest-ops-DKsDUOxE.js} +1 -1
  104. package/dist/ui/assets/{restore-BsViTTTd.js → restore-CaWVAwJN.js} +1 -1
  105. package/dist/ui/assets/{run-DgblerTV.js → run-2oVsdzZj.js} +2 -2
  106. package/dist/ui/assets/{run-BLi5_vwK.js → run-BA94mtBB.js} +1 -1
  107. package/dist/ui/assets/{run-CKdymE5z.js → run-BVlVC7jS.js} +9 -9
  108. package/dist/ui/assets/{run-DEBWO_VC.js → run-CH8M889A.js} +3 -3
  109. package/dist/ui/assets/{run-BEHokdPX.js → run-CHKo3g64.js} +1 -1
  110. package/dist/ui/assets/{run-CKI507uv.js → run-CW0-cog1.js} +1 -1
  111. package/dist/ui/assets/{run-C0CADtt5.js → run-Dl4OQ_Yd.js} +1 -1
  112. package/dist/ui/assets/{secret-env-Cazzr31P.js → secret-env-iwcdxjpw.js} +1 -1
  113. package/dist/ui/assets/secret-topology-CZv6A9HW.js +1 -0
  114. package/dist/ui/assets/{secrets-bridge-client-CiA-2ZIU.js → secrets-bridge-client-B_CG-HIg.js} +1 -1
  115. package/dist/ui/assets/{secrets-bridge-client-kWWipUuL.js → secrets-bridge-client-CUClOhLJ.js} +1 -1
  116. package/dist/ui/assets/{session-command-memory-D-p81a7P.js → session-command-memory-mbpebhz_.js} +2 -2
  117. package/dist/ui/assets/{session-jsonl-CXY4TQ4Y.js → session-jsonl-BIxfXb7u.js} +1 -1
  118. package/dist/ui/assets/{session-jsonl-C-BZSOHy.js → session-jsonl-v8KN4g_6.js} +1 -1
  119. package/dist/ui/assets/{session-search-index-nhvgyuxV.js → session-search-index-CDR-vSNN.js} +1 -1
  120. package/dist/ui/assets/{setup-feature-flags-remote-CpzgUHLB.js → setup-feature-flags-remote-zauTrEL6.js} +1 -1
  121. package/dist/ui/assets/{setup-model-catalog-BGx3XYFY.js → setup-model-catalog-CC8KX0LB.js} +1 -1
  122. package/dist/ui/assets/{signed-fetch-t5uBcIk_.js → signed-fetch-D3crNsSs.js} +1 -1
  123. package/dist/ui/assets/{silent-renew-backoff-Q1A_jbQH.js → silent-renew-backoff-Bw_c5Dy9.js} +1 -1
  124. package/dist/ui/assets/slicc-version-BiZFSvt-.js +1 -0
  125. package/dist/ui/assets/{snapshot-Bb3mZrhI.js → snapshot-CISX8Ybx.js} +1 -1
  126. package/dist/ui/assets/{snapshot-features-D44t7iA7.js → snapshot-features-NmqWLNc6.js} +1 -1
  127. package/dist/ui/assets/soundscape-Cmr7xPXZ.js +1 -0
  128. package/dist/ui/assets/{speak-B-rF7cd2.js → speak-D1JF7Loc.js} +1 -1
  129. package/dist/ui/assets/{sprinkle-manager-BWdoEwv2.js → sprinkle-manager-DYhvCg3m.js} +1 -1
  130. package/dist/ui/assets/{sprinkle-renderer-B-1HSkrF.js → sprinkle-renderer-B5O28doL.js} +1 -1
  131. package/dist/ui/assets/{ssh-DGBxesfZ.js → ssh-DPyBpV4Z.js} +1 -1
  132. package/dist/ui/assets/{state-B7Ano9ql.js → state-CcrU6NJk.js} +1 -1
  133. package/dist/ui/assets/{store-DTMATE-h.js → store-D9HgQRdy.js} +1 -1
  134. package/dist/ui/assets/{store-B3uS3nQU.js → store-DYTzgtEI.js} +1 -1
  135. package/dist/ui/assets/{sudo-D8OGZd6t.js → sudo-BMKHhJ-G.js} +1 -1
  136. package/dist/ui/assets/{supervisor-Ck1Ryx2i.js → supervisor-DVWawJTM.js} +1 -1
  137. package/dist/ui/assets/{sync-dialog-C2TF9Y3h.js → sync-dialog-a3YQ7KdL.js} +1 -1
  138. package/dist/ui/assets/{transformers-env-h8uZoLwJ.js → transformers-env-BFCBqwlr.js} +1 -1
  139. package/dist/ui/assets/{tray-leader-BHyMCdCH.js → tray-leader-zKkaFxIk.js} +1 -1
  140. package/dist/ui/assets/{tray-leave-runtime-DR6t2Cuo.js → tray-leave-runtime-CNc8g3tP.js} +1 -1
  141. package/dist/ui/assets/{tray-runtime-config-DBapPARd.js → tray-runtime-config-DmcF9Q2r.js} +1 -1
  142. package/dist/ui/assets/{tray-sidecar-BdEGdpUe.js → tray-sidecar-DqV3sh8H.js} +1 -1
  143. package/dist/ui/assets/{turn-journal-B4vV4fDV.js → turn-journal-Z3e-huge.js} +1 -1
  144. package/dist/ui/assets/{upgrade-detection-BXyDgjYd.js → upgrade-detection-Bsvrq_lt.js} +1 -1
  145. package/dist/ui/assets/{upskill-lick-skip-8Ozx8QGg.js → upskill-lick-skip-BQvJXwS8.js} +1 -1
  146. package/dist/ui/assets/voice-reply-B_BXV7A4.js +1 -0
  147. package/dist/ui/assets/{wc-attach-BN8rykoa.js → wc-attach-CEkWqpLf.js} +2 -2
  148. package/dist/ui/assets/{wc-browser-z1N3wGuK.js → wc-browser-DWwB9l3P.js} +1 -1
  149. package/dist/ui/assets/{wc-computers-C1g9iCUj.js → wc-computers-DuGnds2T.js} +1 -1
  150. package/dist/ui/assets/{wc-detached-DHD--8Tf.js → wc-detached-Bc462J4O.js} +1 -1
  151. package/dist/ui/assets/{wc-extension-qof5b3tN.js → wc-extension-DZmTjBxS.js} +2 -2
  152. package/dist/ui/assets/{wc-follower-sKXDjyv-.js → wc-follower-C0olroj0.js} +3 -3
  153. package/dist/ui/assets/{wc-follower-oauth-Bsskcjc7.js → wc-follower-oauth-BTOd3V8J.js} +1 -1
  154. package/dist/ui/assets/{wc-gelatiere-D_uq7S-T.js → wc-gelatiere-3BBfbusI.js} +1 -1
  155. package/dist/ui/assets/wc-live-Cc8h6ZH1.js +428 -0
  156. package/dist/ui/assets/{wc-nav-DqIdooNV.js → wc-nav-6f53F2ez.js} +2 -2
  157. package/dist/ui/assets/{wc-onboarding-38WwDwrA.js → wc-onboarding-D548eykf.js} +2 -2
  158. package/dist/ui/assets/{wc-permissions-o70pdgUK.js → wc-permissions-B3SJSMf9.js} +2 -2
  159. package/dist/ui/assets/{wc-placeholder-DMKTZY8P.js → wc-placeholder-BS4TqwFw.js} +3 -3
  160. package/dist/ui/assets/{wc-secret-request-CmpDh1Bs.js → wc-secret-request-DoSFP6An.js} +1 -1
  161. package/dist/ui/assets/{wc-settings-7DxLA_ig.js → wc-settings-B7zv9hl_.js} +3 -3
  162. package/dist/ui/assets/{wc-shell-DFszC8_0.js → wc-shell-pTQjFXvS.js} +362 -199
  163. package/dist/ui/assets/{wc-shortcut-config-Co6ONiUg.js → wc-shortcut-config-87PqTsLw.js} +2 -2
  164. package/dist/ui/assets/{wc-sprinkles-zxKMU9ju.js → wc-sprinkles-BMoFsMix.js} +2 -2
  165. package/dist/ui/assets/{wc-transcript-export-BnOv-hzh.js → wc-transcript-export-CP5fUab6.js} +2 -2
  166. package/dist/ui/assets/{wc-tray-B2w3dtCQ.js → wc-tray-DW-miPAR.js} +4 -4
  167. package/dist/ui/assets/welcome-detection-F6VKt_Ix.js +1 -0
  168. package/dist/ui/assets/{whisper-session-BB92W1rY.js → whisper-session-C90nWMGE.js} +2 -2
  169. package/dist/ui/assets/{xai-grok-DsDg76ef.js → xai-grok-D0yrS3by.js} +1 -1
  170. package/dist/ui/assets/{xai-grok-Btqu459a.js → xai-grok-U-6wly9W.js} +1 -1
  171. package/dist/ui/index.html +9 -9
  172. package/dist/ui/packages/webapp/index.html +9 -9
  173. package/package.json +1 -1
  174. package/dist/ui/assets/SKILL-CWxUIsrD.js +0 -1
  175. package/dist/ui/assets/provider-store-access-BbD8NSzf.js +0 -1
  176. package/dist/ui/assets/provider-store-access-BvzkUnma.js +0 -1
  177. package/dist/ui/assets/proxied-fetch-BlIpeDaL.js +0 -2
  178. package/dist/ui/assets/proxied-fetch-CNe6icTW.js +0 -1
  179. package/dist/ui/assets/secret-topology-DpJD8DzV.js +0 -1
  180. package/dist/ui/assets/slicc-version-YnqCI9lq.js +0 -1
  181. package/dist/ui/assets/soundscape-CUzGNWGR.js +0 -1
  182. package/dist/ui/assets/voice-reply-ChDAb3Rf.js +0 -1
  183. package/dist/ui/assets/wc-live-DWEUEDdK.js +0 -428
  184. package/dist/ui/assets/welcome-detection-Cik05qcd.js +0 -1
@@ -0,0 +1,3 @@
1
+ var e=`O.NUM.ORD.UNIT.DIR_BEFORE.DIR_AFTER.NOW.REL_DAY.DEICTIC.WEEKDAY.DAYGROUP.MONTH.DOM.YEAR.HOUR.MINUTE.SECOND.MERIDIEM.TIME_NAMED.DAYPART.RANGE_START.RANGE_END.RECUR.FREQ.TIMES.BOUND_START.BOUND_END.COUNT.DUR.EXCEPT.HOLIDAY.JOIN.GLUE.EDGE.CLOCK_OFFSET`.split(`.`),t=[`MO`,`TU`,`WE`,`TH`,`FR`,`SA`,`SU`],n=[`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`,`sunday`],r=[`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`],i={zero:0,a:1,an:1,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90,half:.5,quarter:.25,couple:2,few:3,several:3,other:2,once:1,twice:2,thrice:3,first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,thirtieth:30,fortieth:40,fiftieth:50,sixtieth:60,seventieth:70,eightieth:80,ninetieth:90,last:-1},a={twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90};function o(e,t){let n=a[e.toLowerCase()],r=i[t.toLowerCase()];return n===void 0||r===void 0||r<1||r>9?NaN:n+r}var s=[`second`,`minute`,`hour`,`day`,`week`,`month`,`year`],c={sec:`second`,secs:`second`,min:`minute`,mins:`minute`,hr:`hour`,hrs:`hour`,wk:`week`,wks:`week`,week:`week`,weeks:`week`,d:`day`,m:`minute`,h:`hour`,mo:`month`,mos:`month`,eod:`day`,eow:`week`,eom:`month`,yr:`year`,yrs:`year`,fortnight:`week`,fortnights:`week`};function l(e){let t=e.toLowerCase(),n=Object.hasOwn(i,t)?i[t]:void 0;return n===void 0?/^-?\d+$/.test(e)?Number(e):NaN:n}function u(e){let r=e.toLowerCase().replace(/\.$/,``).replace(/s$/,``);return t[n.findIndex(e=>e===r||e.slice(0,3)===r||e===`thursday`&&[`thur`,`thurs`].includes(r))]}function d(e){let t=e.toLowerCase().replace(/\.$/,``),n=r.findIndex(e=>e===t||e.slice(0,3)===t||e===`september`&&t===`sept`);return n<0?void 0:n+1}function f(e){let t=e.toLowerCase(),n=Object.hasOwn(c,t)?c[t]:void 0;if(n!==void 0)return n;let r=t.replace(/s$/,``);return s.find(e=>e===r)}var p=new Set([`today`,`tonight`,`tonite`,`tomorrow`,`tmrw`,`tmr`,`yesterday`,`now`,`noon`,`midday`,`midnight`,`morning`,`afternoon`,`evening`,`night`,`weekend`,`weekends`,`weekday`,`weekdays`,`every`,`am`,`pm`]);function m(e){return e.toLowerCase().split(/[^\p{L}\p{N}]+/u).some(e=>e!==``&&(/\d/.test(e)||p.has(e)||u(e)!==void 0||d(e)!==void 0||f(e)!==void 0||Object.hasOwn(h,e)))}var h={christmas:`christmas`,christmaseve:`christmas-eve`,newyear:`new-year`,newyearsday:`new-year`,newyearseve:`new-years-eve`,halloween:`halloween`,valentinesday:`valentines`,valentines:`valentines`,july4th:`july-4th`,julyfourth:`july-4th`,fourthofjuly:`july-4th`,independenceday:`july-4th`,thanksgiving:`thanksgiving`,thanksgivingday:`thanksgiving`};function g(e,t,n=1){/^an?$/i.test(e[t]?.text??``)&&e[t+1]?.label===n&&Number.isFinite(l(e[t+1].text))&&(t+=1);let r=l(e[t]?.text??``),i=t+1;if(e[i]?.text===`.`&&e[i+1]?.label===n)r=+`${r}.${e[i+1].text}`,i+=2;else{e[i]?.text===`-`&&e[i+1]?.label===n&&i++,/^of$/i.test(e[i]?.text??``)&&e[i]?.label===n&&i++;let t=e[i]?.label===n?l(e[i].text):NaN;r>=20&&r%10==0&&t>0&&t<10&&(r+=t,i++)}return{value:r,next:i}}function _(e,t){let n=[],r=t;for(;e[r]?.label===1;){let t=g(e,r);r=t.next,t.value<1&&/^(a|an)$/i.test(e[r]?.text??``)&&r++;let i=e[r]?.label===3?f(e[r].text):void 0;if(!i||!Number.isFinite(t.value)||t.value<=0)return;let a=t.value;if(/^fortnights?$/i.test(e[r].text)&&(a*=2),r++,e[r]?.text.toLowerCase()===`and`){let t=r+1;/^(a|an)$/i.test(e[t]?.text??``)&&t++,e[t]?.label===1&&e[t].text.toLowerCase()===`half`&&(a+=.5,r=t+1)}if(!Number.isInteger(a)&&![`hour`,`minute`,`second`].includes(i))return;n.push({amount:a,unit:i});let o=e[r]?.text.toLowerCase()===`and`?r+1:r;if(e[o]?.label!==1||e[g(e,o).next]?.label!==3)break;r=o}if(!n.length)return;let[i,...a]=n;return{duration:{...i,...a.length?{components:a}:{}},next:r}}var v=new Set([`about`,`around`,`roughly`]),y=new Set([...v,`at`,`on`,`the`,`of`,`a`,`an`,`and`,`then`,`from`,`for`,`end`,`start`,`,`,`;`,`&`,`:`,`-`,`–`,`—`,`.`,`st`,`nd`,`rd`,`th`]),b={today:0,tonight:0,tomorrow:1,yesterday:-1,"the day after tomorrow":2,"the day before yesterday":-2,tmrw:1,tmr:1,tmw:1,tonite:0},x={morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},S=new Set([25,26,29]),C={this:`this`,next:`next`,nxt:`next`,coming:`next`,upcoming:`next`,last:`last`,previous:`last`,past:`last`},w=e=>e?.text.toLowerCase()??``,T=(e,t)=>[`same`,`this`].includes(w(e))&&w(t)===`time`,E={hour:`hourly`,day:`daily`,week:`weekly`,month:`monthly`,year:`yearly`},D={hourly:`hourly`,daily:`daily`,nightly:`daily`,weekly:`weekly`,biweekly:`weekly`,fortnightly:`weekly`,monthly:`monthly`,bimonthly:`monthly`,quarterly:`monthly`,yearly:`yearly`,annually:`yearly`},O={biweekly:2,fortnightly:2,bimonthly:2,quarterly:3};function k(e){let t=f(e.text),n=t&&E[t];return n||M(e,`unsupported`,`Expected an hourly, daily, weekly, monthly, or yearly period.`),n}var A=class extends Error{constructor(e){super(e.message),this.diagnostic=e}diagnostic};function j(e,t,n,r=`error`){return{code:t,message:n,start:e.start,end:e.end,severity:r}}function M(e,t,n){throw new A(j(e,t,n))}var ee=new Map([[`inmorning`,`am`],[`inthemorning`,`am`],[`inafternoon`,`pm`],[`intheafternoon`,`pm`],[`inevening`,`pm`],[`intheevening`,`pm`],[`atnight`,`pm`],[`inthenight`,`pm`]]);function te(e,t){let n,r,i=e[t],a=/^([01]\d|2[0-3])([0-5]\d)$/.exec(i.text),o=a?Number(a[1]):l(i.text.toLowerCase()),s=a?Number(a[2]):0,c=t+1;if(!a&&(e[c]?.text===`:`?e[c+1]?.label===15&&/^\d{2}$/.test(e[c+1]?.text??``):e[c]?.text===`.`&&/^\d{1,2}$/.test(i.text)&&/^\d{2}$/.test(e[c+1]?.text??``))&&(s=l(e[c+1].text),c+=2),e[c]?.label===15){let t=g(e,c,15);s=t.value,c=t.next}for(e[c]?.text===`:`&&e[c+1]?.label===16&&(n=l(e[c+1].text),c+=2);e[c]?.label===17;){let t=e[c].text.toLowerCase().replace(/\./g,``);r=(r??``)+t,c++}r&&=(r=r.replace(/[’]/g,`'`).replace(/^oclock/,`o'clock`),r.startsWith(`o'clock`)&&r.length>7&&(r=r.slice(7)),o===12&&[`atnight`,`inthenight`].includes(r)&&(r=`am`),ee.get(r)??r);let u=o===24&&s===0&&(n??0)===0,d=!Number.isInteger(o)||o<0||o>23&&!u,f=!Number.isInteger(s)||s<0||s>59,p=n!==void 0&&(!Number.isInteger(n)||n<0||n>59),m=r&&(![`am`,`pm`,`o'clock`].includes(r)||o<1||o>12);(d||f||p||m)&&M(i,`invalid-time`,`Clock components are out of range.`),(r===`am`||r===`pm`)&&(o=o%12+(r===`pm`?12:0));let h={hour:o,minute:s};return n!==void 0&&(h.second=n),{clock:{value:h,token:i,meridiem:r,needsMeridiem:!r&&!a&&o>0&&o<=12},next:c}}function ne(e,t,n){if(!e||!t||e.meridiem||!(`hour`in e.value)||e.value.hour<1||e.value.hour>12||/^0\d/.test(e.token.text)||![`am`,`pm`].includes(t.meridiem??``)&&!(`named`in t.value))return;let r=re(t.value);if(r===void 0)return;let i=e.value.hour%12,a=60*e.value.minute+(e.value.second??0),o=[i,i+12].map(e=>{let t=3600*e+a;return{hour:e,duration:((n?r-t:t-r)+86400)%86400}});e.value.hour=o[0].duration<=o[1].duration?o[0].hour:o[1].hour,e.needsMeridiem=!1}function re(e){return`named`in e?e.named===`noon`?43200:0:`hour`in e?3600*e.hour+60*e.minute+(e.second??0):void 0}function ie(e,t){if(!(`hour`in e.value)||e.meridiem&&e.meridiem!==`o'clock`)return;let n=e.value.hour;n<1||n>12||(e.value.hour=t===`morning`?n%12:t===`night`&&n===12?0:n%12+12,e.needsMeridiem=!1)}function ae(e,t){if(e.length===0)return;e.length>2&&M(e[2].token,`unsupported`,`More than two clocks need a new clause.`);let[n,r]=e;ne(n,r,!0),ne(r,n,!1),n.needsMeridiem&&r?.needsMeridiem&&`hour`in n.value&&`hour`in r.value&&r.value.hour<n.value.hour&&(r.value.hour+=12,n.needsMeridiem=!1,r.needsMeridiem=!1,t.push(j(n.token,`working-hours`,`Assumed a daytime working-hours range.`,`warning`)));for(let n of e)n.needsMeridiem&&t.push(j(n.token,`ambiguous-meridiem`,`No AM/PM marker; interpreted as a 24-hour clock.`,`warning`));r&&(re(n.value)!==void 0&&re(n.value)===re(r.value)||JSON.stringify(n.value)===JSON.stringify(r.value))&&M(r.token,`end-equals-start`,`Start and end times are equal.`);let i={start:n.value};return r&&(i.end=r.value),i}function oe(n,r){let i,a,s,c,p,m,g,_,v={},S=[],T=[],E=!1,D=!1,O=-1;for(let r=0;r<n.length;r++){let y=n[r],w=[7,9,19,11].includes(y.label)?y.text.toLowerCase().replace(/['\u2019]s$/,``):y.text.toLowerCase();switch(y.label){case 0:case 20:case 22:break;case 4:case 5:m&&M(y,`unsupported`,`An expression takes one open bound.`),m=y.label===5?`end`:`start`,g=y;break;case 21:s&&T.length===0&&(c??={}),S.length&&n.slice(r+1).find(e=>e.label!==0)?.label===9&&(D=!0,E=!0);break;case 7:{let e=w;for(;n[r+1]?.label===7;)e+=` `+n[++r].text.toLowerCase();Object.hasOwn(b,e)||M(y,`unsupported`,`Unknown relative day.`),v.date={kind:`relativeDay`,offset:b[e]};break}case 33:[`start`,`beginning`,`end`,`rest`,`remainder`].includes(w)||M(y,`unsupported`,`Unknown calendar edge.`),a=w===`start`||w===`beginning`?`start`:`end`;break;case 6:[`now`,`immediately`].includes(w)||M(y,`unsupported`,`Unknown immediate-time expression.`),v.date={kind:`now`};break;case 8:i=Object.hasOwn(C,w)?C[w]:void 0,i||M(y,`unsupported`,`Unknown date modifier.`);break;case 3:{let e=f(w);e||M(y,`unsupported`,`Unknown calendar unit.`);let t=a??(/^eo[dwm]$/.test(w)||n.some(e=>e.text.toLowerCase()===`end`)?`end`:void 0);if(p!==void 0&&e===`week`){v.date={kind:`calendarPeriod`,month:0,week:p};break}if(p!==void 0&&e===`month`&&!i)break;!i&&!t&&M(y,`unsupported`,`A standalone unit needs a modifier or a quantity.`),v.date={kind:`relativeUnit`,unit:e,modifier:i??`this`,...t?{edge:t}:{}};break}case 2:p=l(w),(!Number.isInteger(p)||p===0||Math.abs(p)>5)&&M(y,`invalid-ordinal`,`Use first through fifth, or last.`);break;case 10:{let e=n[r+1]?.label===10&&/^days?$/.test(n[r+1].text.toLowerCase())?w+n[++r].text.toLowerCase():w,t=/^weekends?$/.test(e)?`weekend`:/^((week|work)(day|night)s?|businessdays?)$/.test(e)?`weekday`:void 0;t||M(y,`unsupported`,`Unknown day group.`),v.date={kind:`dayGroup`,group:t,...i?{modifier:i}:{}};break}case 1:case 34:{let e=r+1,t=y.label===1?[`past`,`to`].includes(n[e]?.text.toLowerCase()??``)||f(n[e++]?.text??``)===`minute`?l(w):NaN:w===`half`?30:w===`quarter`?15:NaN,i=n[e]?.text.toLowerCase();(![`past`,`to`].includes(i)||!Number.isFinite(t))&&M(y,`invalid-time`,`A fractional clock needs past or to and an hour.`),e++,n[e]?.label!==14&&M(y,`invalid-time`,`A fractional clock needs an hour.`);let{clock:a,next:o}=te(n,e);(!(`hour`in a.value)||a.value.minute!==0)&&M(y,`invalid-time`,`A fractional clock needs a whole hour.`);let s=(60*a.value.hour+(i===`to`?-t:t)+1440)%1440;a.value={hour:Math.floor(s/60),minute:s%60},T.push(a),r=o-1;break}case 18:[`noon`,`midday`,`midnight`].includes(w)||M(y,`unsupported`,`Unknown named clock time.`),T.push({value:{named:w===`midnight`?`midnight`:`noon`},token:y,needsMeridiem:!1});break;case 19:{let e=Object.hasOwn(x,w)?x[w]:void 0;if(e||M(y,`unsupported`,`Unknown day part.`),i&&v.date===void 0&&(v.date={kind:`relativeDay`,offset:i===`last`?-1:+(i===`next`)}),_){if(`part`in _.value&&_.value.part===e)break;M(y,`conflicting-daypart`,`An expression has conflicting day parts.`)}_={value:{part:e},token:y,needsMeridiem:!1};break}case 11:{let e=d(w)??l(w);(!Number.isInteger(e)||e<1||e>12)&&M(y,`invalid-date`,`Unknown month.`),s??={};let t=c??s;t.month!==void 0&&M(y,`invalid-date`,`A calendar date has more than one month.`),t.month=e;break}case 12:{let e=l(w),t=n[r+1]?.text===`-`?r+2:r+1,i=n[t];if(i){let n=o(w,i.text);Number.isInteger(n)&&(e=n,r=t)}(!Number.isInteger(e)||e<1||e>31)&&M(y,`invalid-date`,`Day of month must be between 1 and 31.`),s??={};let a=c??s;a.day!==void 0&&M(y,`invalid-date`,`Multiple dates need a range or recurrence.`),a.day=e;break}case 13:{let e=l(w);(!Number.isInteger(e)||e<1||e>9999)&&M(y,`invalid-date`,`Year is out of range.`);let t=e<100?(e<69?2e3:1900)+e:e;s??={},c&&(c.year=t),(!c||s.year===void 0)&&(s.year=t);break}case 9:{let e=u(w);if(e||M(y,`unsupported`,`Unknown weekday.`),O<0&&(O=r),D){let n=t.indexOf(S.at(-1));for(;t[n]!==e;)n=(n+1)%7,S.push(t[n]);D=!1}else S.push(e);break}case 30:{let e=w;for(;n[r+1]?.label===30;)e+=n[++r].text.toLowerCase();let t=e.replace(/['’\s-]/g,``);Object.hasOwn(h,t)||M(y,`unsupported`,`Unknown fixed-date holiday.`),v.date={kind:`holiday`,name:h[t]};break}case 17:if(w===`at`&&n[r+1]?.label===14)break;M(y,`invalid-time`,`A time-of-day qualifier needs a clock.`);case 14:{let{clock:e,next:t}=te(n,r);T.push(e),r=t-1;break}default:M(y,`unsupported`,`Unsupported token role ${e[y.label]}.`)}}if(v.date?.kind===`calendarPeriod`&&(s?.month||M(n[0],`invalid-date`,`A week of a month needs a named month.`),v.date={...v.date,month:s.month,...s.year?{year:s.year}:{}},s=void 0,p=void 0),p!==void 0&&p>0&&!S.length&&(s??={},s.day??=p,p=void 0),p!==void 0){S.length!==1&&M(n[0],`invalid-ordinal`,`An ordinal needs one weekday.`);let e=v.date?.kind===`relativeUnit`&&[`month`,`year`].includes(v.date.unit)?{kind:`relativeUnit`,unit:v.date.unit,modifier:v.date.modifier}:{kind:`calendar`,...s?.month?{month:s.month}:{},...s?.year?{year:s.year}:{}};v.date={kind:`ordinalWeekday`,ordinal:p,day:S[0],of:e,...n.some(e=>e.label===22||e.label===3&&f(e.text)===`month`)&&!i?{recurring:!0}:{}},s=void 0}else if(S.length){let e=[...new Set(S)],t=n.slice(0,O);E&&t.some(e=>e.label===20)&&!t.some(e=>e.label===14||e.label===18)?v.date={kind:`weekdayRange`,from:e[0],to:e.at(-1)}:E?v.recurrence={freq:`weekly`,interval:1,byDay:e}:v.date={kind:`weekday`,days:e,...i?{modifier:i}:{}}}if(s){if(delete v.recurrence,(v.date?.kind===`weekday`||v.date?.kind===`weekdayRange`)&&s.day!==void 0&&delete v.date,v.date&&M(n[0],`invalid-date`,`Conflicting date specifications need separate clauses.`),c){(s.day===void 0||c.day===void 0)&&M(n[0],`invalid-date`,`Both ends of a calendar range need a day.`);let e={...s},t={...s,...c};e.month===void 0&&t.month!==void 0&&(e.month=t.month),v.date={kind:`calendarRange`,from:e,to:t}}else v.date=s.month!==void 0&&s.day===void 0&&(i||a)?{kind:`calendarPeriod`,month:s.month,...s.year?{year:s.year}:{},...i?{modifier:i}:{},...a?{edge:a}:{}}:{kind:`calendar`,...s}}if(_){if(T.length){let e=_.value;if(`part`in e)for(let t of T)ie(t,e.part);!v.date&&(i===`this`||n.some(e=>e.text.toLowerCase()===`this`))&&(v.date={kind:`relativeDay`,offset:0})}else T.push(_)}if(T.length&&n.some(e=>e.label===7&&[`tonight`,`tonite`].includes(e.text.toLowerCase())))for(let e of T)ie(e,`night`);T.length===2&&!n.some(e=>e.label===21&&e.start>T[0].token.start&&e.start<T[1].token.start)&&M(T[1].token,`unlinked-times`,`Two clocks need a range separator or separate clauses.`);let k=ae(T,r);m&&!k&&v.date?.kind===`relativeUnit`&&!v.date.edge&&(v.date={...v.date,edge:m},m=void 0),g&&m?(k||M(g,`open-bound-needs-time`,`An open bound needs a clock time, as in "after 6pm".`),k.end&&M(g,`open-bound-needs-time`,`An open bound takes one time, not a range.`),m===`end`?k.open=`end`:(k.end=k.start,k.start={hour:0,minute:0},k.open=`start`)):k&&!k.end&&T.length===1&&n.some(e=>e.label===20)&&!n.some(e=>e.label===21)?k.open=`end`:k&&!k.end&&T.length===1&&!n.some(e=>e.label===20)&&n.some((e,t)=>e.label===21&&n.slice(t+1,n.indexOf(T[0].token)).every(e=>y.has(w(e))))&&(k.end=k.start,k.start={hour:0,minute:0},k.open=`start`),k&&`hour`in k.start&&k.start.hour===24&&M(T[0].token,`invalid-time`,`24:00 is only an end of day.`),k&&(v.time=k);let A=n.findIndex(e=>[14,18,19,34].includes(e.label));return v.date?.kind===`calendarRange`&&k?.end&&n.findIndex(e=>e.label===21)<A&&(v.recurrence={freq:`daily`,interval:1,start:v.date,until:{kind:`calendar`,...v.date.to}},delete v.date),i&&!v.date&&v.time&&r.push(j(n[0],`dropped-constraint`,`A date modifier was ignored because the expression names no date.`,`warning`)),!v.date&&!v.time&&!v.recurrence&&M(n[0],`unsupported`,`The expression has no date or time.`),v}function se(e){let t=e.findIndex(e=>e.label===4||e.label===5);if(t<0)return{tokens:e};let n=e.findIndex(e=>e.label===1),r=e.findIndex(e=>e.label===3);if(n<0||r<0)return{tokens:e};let i=e.findIndex(e=>e.label===28);if(e[t].label===5&&i>=0&&i<n&&n<t)return{tokens:e.filter((e,n)=>n!==t)};let a=e[n],o=_(e,n),s=o?.duration.amount??l(a.text),c=o?.duration.unit??f(e[r].text);(!c||!Number.isFinite(s)||s<0||!Number.isInteger(s)&&![`minute`,`hour`].includes(c))&&M(a,`invalid-shift`,`Invalid relative quantity.`);let u=new Set([n,r,t]);if(o)for(let e=n;e<o.next;e++)u.add(e);let d,p=e.findIndex((e,t)=>t>n&&t<r&&e.label===21);if(p>=0){let t=e[p+1];d=t?.label===1?l(t.text):NaN,(!Number.isInteger(d)||d<s)&&M(e[p],`invalid-shift`,`A relative range needs an end amount at least as large as its start.`),u.add(p),u.add(p+1)}return{tokens:e.filter((e,t)=>!u.has(t)),shift:{amount:s,...o?.duration.components?{components:o.duration.components}:{},...d===void 0?{}:{endAmount:d},...v.has(w(e[n-1]))?{approximate:!0}:{},unit:c,direction:e[t].label===4?`before`:`after`}}}function ce(e,r){e=he(e);let i=e.findLast(e=>e.label!==0);i?.label===21&&(i.text.toLowerCase()===`until`&&e.some(e=>[22,23,10].includes(e.label))&&M(i,`invalid-bound`,`A bound needs a date.`),M(i,`incomplete-range`,`A range needs an end value.`)),e.some(e=>e.label===22)&&!e.some(e=>[3,23,9,10,11,19].includes(e.label))&&M(e[0],`incomplete-recurrence`,`A recurrence needs a frequency or calendar selector.`);let a,o,s,{tokens:c,shift:u}=se(e),p=[],m=c.findIndex(e=>S.has(e.label)),h=m<0?c:c.slice(0,m),g=h.some(e=>e.label===2)&&h.some(e=>e.label===9)&&h.some(e=>e.label===3&&f(e.text)===`month`)&&!h.some(e=>e.label===8),v=h.some(e=>(e.label===10||e.label===9&&n.includes(e.text.toLowerCase().replace(/s$/,``)))&&/s$/i.test(e.text)),y=e=>h.some(t=>t.label===e)&&!h.some(t=>t.label!==e&&[3,23,9,10,11,19].includes(t.label)),b=g?`monthly`:y(11)?`yearly`:y(19)?`daily`:`weekly`,x=h.some(e=>e.label===22)||g||v&&!h.some(e=>e.label===8)?{freq:b,interval:1}:void 0;for(let e=0;e<c.length;e++){let t=c[e];if(t.label===22){x??={freq:`weekly`,interval:1};continue}if(t.label===23){let e=t.text.toLowerCase();Object.hasOwn(D,e)||M(t,`unsupported`,`Unknown recurrence frequency.`),x={...x,freq:D[e],interval:O[e]??x?.interval??1};continue}if(t.label===24||t.label===1&&c[e+1]?.label===24){let n=l(t.text),r=e+(t.label===1?2:1);for(;c[r]?.label===0||c[r]?.label===22;)r++;(!Number.isInteger(n)||n<1||c[r]?.label!==3)&&M(t,`invalid-frequency`,`A frequency count needs a positive number and a period.`),x={...x,freq:k(c[r]),interval:x?.interval??1,timesPer:n},e=r;continue}if(x&&t.label===3){x.freq=k(t),/^fortnights?$/i.test(t.text)&&(x.interval=2);continue}if(x&&t.label===2){let n=l(t.text);(!Number.isInteger(n)||n===0||Math.abs(n)>5)&&M(t,`invalid-ordinal`,`Use first through fifth, or last.`),c[e+1]?.label===3&&f(c[e+1].text)===`day`?(x.byMonthDay??=[]).push(n):(x.bySetPos??=[]).push(n);continue}if(x&&t.label===12){let e=l(t.text);(!Number.isInteger(e)||e<1||e>31)&&M(t,`invalid-date`,`Day of month is out of range.`),(x.byMonthDay??=[]).push(e);continue}if(x&&t.label===11){let e=d(t.text)??l(t.text);(!Number.isInteger(e)||e<1||e>12)&&M(t,`invalid-date`,`Month is out of range.`),(x.byMonth??=[]).push(e);continue}if(x&&t.label===1&&c[e+1]?.label===27){let n=l(t.text);(!Number.isInteger(n)||n<1)&&M(t,`invalid-count`,`Occurrence count must be positive.`),x.count=n,e++;continue}let n=[`past`,`to`].includes(c[e+2]?.text.toLowerCase()??``)&&c[e+3]?.label===14,i=!x&&t.label===1&&c[e+1]?.label===3&&!n;if(t.label===28||i){let n=e+ +!i;for(;c[n]&&[0,8].includes(c[n].label);)n++;c[n];let r=_(c,n);r||M(t,`invalid-duration`,`A duration needs a positive quantity and a time unit.`);let o=r.duration,s=o.unit,l=w(c[r.next])===`from`&&(c[r.next].label===20||![`second`,`minute`,`hour`].includes(s));if(i&&!u&&l){u={...o,direction:`after`},e=r.next;continue}x&&![`minute`,`hour`].includes(s)&&t.text.toLowerCase()!==`lasting`?(x.span&&M(t,`conflicting-duration`,`A recurrence has more than one series duration.`),x.span=o):(a&&M(t,`conflicting-duration`,`A clause has more than one occurrence duration.`),a=o),e=r.next-1+Number(l);continue}let m=t.label===1&&[9,10,3].includes(c[e+1]?.label);if(x&&m){let e=l(t.text);(!Number.isInteger(e)||e<1)&&M(t,`invalid-interval`,`Recurrence interval must be positive.`),x.interval=e;continue}if(S.has(t.label)){!x&&t.label!==25&&M(t,`unsupported`,`This bound requires recurrence.`);let n=e+1;for(;n<c.length&&!S.has(c[n].label)&&c[n].label!==28&&(c[n].label!==1||c[n+1]?.label!==27);)n++;let i=c.slice(e+1,n);i.length||M(t,`invalid-bound`,`A bound needs a date.`);let a=oe(i,r),l=a.date;if(!l&&t.label===25&&a.time?.start){s??=a.time,e=n-1;continue}l||M(t,`invalid-bound`,`A bound needs a date.`),a.time&&(s??=a.time),t.label===25?x?x.start=l:o=l:t.label===26?x.until=l:x.except=[...x.except??[],l],e=n-1;continue}p.push(t)}let C=p.some(e=>e.label!==0)?oe(p,r):{};u&&(C.shift=u),a&&(C.duration=a),s&&(C.time?r.push(j(e[0],`dropped-constraint`,`A clock inside a bound was ignored.`,`warning`)):C.time=s),o&&(C.date&&M(e[0],`invalid-date`,`A one-off clause has conflicting starting dates.`),C.date=o);let E=e.some((t,n)=>T(e[n-1],t));if(C.date?.kind===`relativeUnit`&&!C.date.edge&&E){let{modifier:t,unit:n}=C.date;u&&M(e[0],`conflicting-shift`,`A clause has more than one shift.`),C.date={kind:`now`},C.shift={amount:t===`this`?0:1,unit:n,direction:t===`last`?`before`:`after`}}return C.recurrence&&(x={...C.recurrence,...x,byDay:x?.byDay??C.recurrence.byDay}),x&&C.date?.kind===`dayGroup`&&!C.date.modifier&&(x.byDay=C.date.group===`weekday`?t.slice(0,5):t.slice(5),delete C.date),x&&(x.count!==void 0&&(x.until||x.span)&&M(e[0],`conflicting-bounds`,`Use a count or an end bound, not both.`),C.date?.kind===`weekday`&&(x.byDay=C.date.days,delete C.date),C.recurrence=x),C}var le=3;function ue(e){let t=[],n=[],r=[],i=[];for(let a=0;a<e.length;a++){let o=e[a];if(o.kind!==3){if(o.text.toLowerCase()===`until`&&[0,32].includes(o.label)&&n.some(e=>[22,23].includes(e.label))&&(o={...o,label:21}),!n.length&&o.label===0){i.push(o);continue}o.label!==0||y.has(o.text.toLowerCase())?(!n.length&&T(i.at(-2),i.at(-1))?n.push(...i.slice(-2)):(!n.length&&o.label===19&&w(i.at(-1))===`this`||!n.length&&o.label===1&&v.has(w(i.at(-1))))&&n.push(i.at(-1)),i=[],r.length>le?(t.push(n),n=[]):n.push(...r),r=[],n.push(o)):n.length&&r.push(o)}}return n.length&&(r.length===2&&T(r[0],r[1])&&n.push(...r),t.push(n)),t.filter(e=>{let t=()=>T(e[0],e[1])||w(e[0])===`this`&&e[1]?.label===19||v.has(w(e[0]))&&e[1]?.label===1;for(;e[0]&&[0,32,31].includes(e[0].label)&&!t();)e.shift();let n=()=>T(e.at(-2),e.at(-1));for(;e.length&&[0,32,31].includes(e.at(-1).label)&&!n();)e.pop();return e.length>0})}function de(e){let t=[[]];for(let n of e){let e=t.at(-1).some(e=>![0,32,31].includes(e.label));n.clauseStart&&e&&t.push([]),t.at(-1).push(n)}return t}function fe(e,t){let n=0;for(let t of e)if([14,18,19].includes(t.label)&&++n===2)break;if(n<2)return[ce(e,t)];let r=e.some(e=>[22,23,10].includes(e.label)),i=e.findIndex(e=>e.label===21||e.label===26),a=e=>[7,9,11,12,13].includes(e.label),o=e=>[14,18,34].includes(e.label);if(!r&&i>0){let n=e.slice(0,i),r=e.slice(i+1);if(n.some(a)&&r.some(a)&&n.some(o)&&r.some(o)){let a=oe(n,t),o=oe(r,t);return(!a.date||!o.date||!a.time||!o.time)&&M(e[i],`incomplete-range`,`Both endpoints need a date and clock.`),[{date:a.date,endDate:o.date,time:{start:a.time.start,end:o.time.start}}]}}if(i<0){let n=[[]];for(let t=0;t<e.length;t++){let r=e[t];[`and`,`,`,`&`].includes(r.text.toLowerCase())&&n.at(-1).some(o)&&o(e[t+1]??r)?n.push([]):n.at(-1).push(r)}if(n.length>1){let e=ce(n[0],t);return[e,...n.slice(1).map(n=>{let r=ce(n,t);return{...structuredClone(e),...r}})]}}return[ce(e,t)]}function pe(e,t){let n=t[0].start,r=t.at(-1).end,i=[],a=null;try{a={clauses:de(t).flatMap(e=>fe(e.filter(e=>e.label!==32||e.kind===2||[`past`,`to`,`and`,`a`,`an`,`from`].includes(e.text.toLowerCase())).map(e=>e.label===32||e.label===31?{...e,label:0}:e),i))}}catch(e){if(!(e instanceof A))throw e;i.push(e.diagnostic)}let o=t.filter(e=>e.label===0&&e.kind!==3&&!y.has(e.text.toLowerCase()));o.length&&i.push({code:`filler-ignored`,message:`Ignored ${o.map(e=>e.text).join(` `)} inside the expression.`,start:o[0].start,end:o.at(-1).end,severity:`warning`});let s=t.filter(e=>![0,32,31].includes(e.label)).map(e=>e.score),c=Math.min(...s);return c<.5&&i.push(j(t[0],`low-confidence`,`The model is uncertain about this expression.`,`warning`)),{start:n,end:r,text:e.slice(n,r),confidence:c,schedule:a,diagnostics:i}}function me(e,t){let n=[...e],r=e=>e&&[0,32].includes(e.label)&&[`/`,`.`,`-`].includes(e.text);for(let i=0;i+2<e.length;i++){let a=e[i],o=e[i+2];if(![11,12].includes(a.label)||![11,12].includes(o.label)||!r(e[i+1])||o.clauseStart)continue;let s=e[i-1]?.label===13||r(e[i-1])&&e[i-2]?.label===13;if(!/^\d+$/.test(a.text)||!/^\d+$/.test(o.text))continue;if(s){n[i]={...a,label:11},n[i+2]={...o,label:12};continue}let c=Number(a.text),l=Number(o.text);if(c<1||c>31||l<1||l>31||c>12&&l>12)continue;let u=c>12?`DMY`:l>12?`MDY`:t;n[i]={...a,label:u===`MDY`?11:12},n[i+2]={...o,label:u===`MDY`?12:11}}return n}function he(e){if(!e.some(e=>[22,23].includes(e.label)))return e;let t=[...e];for(let n=0;n<e.length;n++){let r=e[n];if(r.label!==21||r.text.toLowerCase()!==`until`)continue;let i=e.slice(n+1).find(e=>![0,32].includes(e.label));i&&[7,8,9,11,12,13,30].includes(i.label)&&(t[n]={...r,label:26})}return t}function ge(e){let t=e.filter(e=>e.kind!==3),n=e=>{if(!e||!/^\d{4}$/.test(e.text))return!1;let t=Number(e.text);return t<=2359&&t%100<=59},r=e=>e&&(e.label===21||[0,32].includes(e.label)&&[`-`,`–`,`to`,`until`].includes(e.text.toLowerCase())),i=e=>{let i=r(t[e-1])&&n(t[e-2]),a=r(t[e+1])&&n(t[e+2]);return i||a},a=t.map((e,t)=>{let r=Number(e.text);return(e.label===11&&r>12||e.label===12&&r>31||e.label===15&&r>59)&&n(e)&&i(t)?{...e,label:14}:e});for(let e=0;e+1<a.length;e++){let t=a[e];t.label!==0||!n(t)||a[e+1].label===17&&(a[e]={...t,label:14})}for(let e=2;e<a.length;e++){let t=a[e];t.label!==13||!n(t)||t.clauseStart||r(a[e-1])&&a[e-2]?.label===14&&(a[e]={...t,label:14})}for(let e=1;e+1<a.length;e++){let t=a[e];if(t.label!==0&&t.label!==32||![`-`,`–`].includes(t.text))continue;let r=a[e-1],i=a[e+1];r.label!==14||i.label!==14||!n(r)||!n(i)||i.clauseStart||(a[e]={...t,label:21})}let o=new Map(a.filter((e,n)=>e!==t[n]).map(e=>[e.start,e]));return o.size?e.map(e=>o.get(e.start)??e):e}function _e(e,t,n={}){return ue(ge(t)).map(t=>pe(e,me(t,n.dateOrder??`MDY`)))}var ve=/[\p{L}_]+(?:['’][\p{L}]+)*|\d+|\s+|[^\s]/gu,ye=/^[^\p{L}\d\s]$/u,be=`:-/.,(');&+@!?_=<>[]{}\\"%#*~\``,xe=[`:`,`-`,`/`,`.`,`,`,`(`,`'`,`;`,`&`,`+`,`@`],Se=[1,2,3,4,6,8,12,1/0],Ce=[0,1,2,9,12,23,24,31,59,99,999,1899,2099,1/0];function we(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function Te(e){let t=e.toLowerCase().charCodeAt(0);return t>=97&&t<=122?t-97:t>=48&&t<=57?t-48+26:36+Math.max(0,be.indexOf(e))%28}function Ee(e){if(!e||!ye.test(e))return 0;let t=e.replace(/[–—]/,`-`),n=xe.indexOf(t);return n<0?12:n+1}function De(e){return/^\s/.test(e)?3:/^\d/.test(e)?1:/^[\p{L}_]/u.test(e)?0:2}function Oe(e,t){if(t!==1)return 15;if(e.length>1&&e.startsWith(`0`))return 14;let n=Number(e);return e.length===4&&(n<1900||n>2099)&&n<=2359&&n%100<=59?14:Ce.findIndex(e=>n<=e)}var ke=new Map;function Ae(e){let t=ke.get(e);if(t)return t;let n=e.toLowerCase(),r=De(e),i=Se.findIndex(t=>e.length<=t),a=/[A-Z]/.test(e),o={kind:r,identity:(r|i<<2|Te(e[0])<<5|Te(e.at(-1))<<11|(255&we(n))<<17|Oe(e,r)<<25)>>>0,hash:127&we(n.replace(/[aeiou]/g,``)),flags:Number(a)|Number(a&&e===e.toUpperCase())<<1|Number(/\d/.test(e))<<2,punctuation:Ee(e),ordinal:/^(st|nd|rd|th)$/.test(n)};return e.length<=64&&(ke.size>=2048&&ke.delete(ke.keys().next().value),ke.set(e,o)),o}function je(e){let t=[...e.matchAll(ve)],n=t.map(e=>Ae(e[0]));return t.map((e,r)=>{let i=n[r],a=n[r-1],o=n[r+1],s=i.flags;r===0&&(s|=8),r===t.length-1&&(s|=16),a?.kind===3&&(s|=32),o?.kind===3&&(s|=64),i.ordinal&&a?.kind===1&&(s|=128);let c=(i.hash|s<<7|(a?.punctuation??0)<<15|(o?.punctuation??0)<<19)>>>0;return{start:e.index,end:e.index+e[0].length,text:e[0],kind:i.kind,features:[i.identity,c]}})}function Me([e,t]){let n=[3&e,4+(e>>>2&7),12+(e>>>5&63),76+(e>>>11&63),140+(e>>>17&255),396+(127&t),532+(t>>>15&15),548+(t>>>19&15),564+(e>>>25&15)],r=t>>>7&255;for(let e=0;e<8;e++)r&1<<e&&n.push(524+e);return n}function Ne(e){let t=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)t[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.charCodeAt(e)]=e;let n=new Float32Array(e.q.length),r=new Map,i=0;for(let a of e.segments){if(a.offset!==i||!Number.isFinite(a.scale)||a.scale<=0)throw Error(`Invalid model tensor metadata.`);let o=a.rowScales?.length??1,s=a.length/o;if(!Number.isInteger(s)||o<1)throw Error(`Invalid model row scale.`);for(let r=0;r<o;r++){let o=a.rowScales?a.rowScales.charCodeAt(r)-65:0;if(o<0||o>16)throw Error(`Invalid model row scale.`);let c=a.scale*2**-o,l=i+r*s;for(let r=l;r<l+s;r++){let i=t[e.q.charCodeAt(r)];if(i===void 0||i>63)throw Error(`Invalid quantized model data.`);let a=1&i?-(i+1)/2:i/2;n[r]=a*c}}r.set(a.name,n.subarray(i,i+a.length)),i+=a.length}if(i!==e.q.length)throw Error(`Model length does not match its tensor metadata.`);return r}var Pe=Math.f16round;function Fe(e){let t=Math.floor(e),n=e-t;return n<.5?t:n>.5?t+1:t%2==0?t:t+1}function Ie(e){if(!Number.isFinite(e)||e===0)return e;let t=e<0?-1:1,n=Math.abs(e);if(n>=65520)return 1/0*t;let r=n<2**-14?2**-24:2**(Math.floor(Math.log2(n))-10);return t*Fe(n/r)*r}function Le(e){let t=Math.fround(e);return Pe?Pe(t):Ie(t)}var N={featureRows:580,roleClasses:40,storage:`f32`,boundaryThreshold:2,layers:2,transitions:!0,q:`BAAACABBBCCAACBBACAAACBABBACACDAAGGFECGGCDDBAFGAEFBAEDEGAAADFLFDBBEFCBBBBGBBAAKFCCCBCFBCLCBIAEGDACBBDCECCDCAEBBEBAABBACGEGCBABCCBEABEAEAEECABBACBACBAAAAGCCDFACBADBBCCCDCAABBHOJEBAADDEABCEAAGECCABDABBACFABCAHCDAACEAADAACEAHHACAAAFDCBBCBBAABCDBJECCCBCBAECGDABAECBDBEFEDCACAACCFAABBCBDDABACAACECBHHBFFAHCCBACCBBAEFAACBDGDDBAHCAEFBCNDBDFGAECCDGHMBCDGFKBJAFACICHBHEFEFEAEMJFMRGDIFDBEHEBGEECBHBCCAECCEAACODCKCCADAACGGBDBHCHHODJDACAMEEIEBGBBLIJIDGFCNKAQIHEEKEFGNFDMVWIAKHBAPFHEHBHAFBBGOBEGDBCAnDGCIAEBAHBCVACGGBCIDAAAJEACBAEAICDJABFAFABCECADAAEDADEKFBDGEBGFDCDGHEFFDCEACFAHBEBDABANGBCHSGFFTDBKEMIGgJDIREDGLDJAFEGKKGAAFAAAHHFUGAAMDDFBREGBBNECDBAIAGDLFEPBKDBKAQCAELDEFEAEFDBHFAELIICJDJFFNQGJQBBBWVEQHGOBCFJWFKHNPHHAIIFDHBCQDOICcPAGJBFYCCLBHCEIKGACDIBNNFAGFOEALBDEDIFFJHDGBMCKKDEDCCCBCGDCIDBCBEBAECKDAFECABCELEEEGCGCAGBJDBDBAFEAGEICEFECCGAEHHIACBEECGFFDDJCIVCFDFDBCEAEDBFGCDDABAHCFDDDDKASGABGACJEJBAAEADaKHAMIKDJIPPeBDMMCTAIFNAJBHBHEHKEDFEBQEHCIBCOKKEJWBHDNDHEDAHABIGcGDCIFAEBHDBDDCEBAEGCDACDBCFEBGAHDBBBEBEBEBDAARBDBECBEDBEACAHECBAAANFABPBVLCcNBBCQBBDAOJGDDFRAMBEOBFDFBLGTAIIHUFaGDPGTGDSJTHOFIBJDMGCEBDDLHAJKCIDDCCCABGDHAADGEADHEEAIBCFDAECADCCCFAEBBDIDAADFDCDMFAGCFBEKLAGMFHiNBDFTDEEONQGGDIIHICUSEIHAQHJJFHPKFHJGNKGNAGKCLIPLEBECBECGEDBBHBFGLCDCAGFAACDGFHTFFBEEBCEECCAHBDHGGCDBAAACCEACFBFBDDIEFBEAACBJHAJEAECBACDICBEBEAJDDHCCEEFBAABDEECCJBCAADGAAABBABLEAFDAEDDEGAFAADDDDBBEACEFBCCCAADCAAECDDCBEEAGAEFKBAAABBBEKFDBFLLJBAGGDBEEEALBGFJLBCGBCEHBACAEBFLACACEDEBECCBEAFCFCGDEACDAEABADBAABCBDABIEGCFCDACBDCBACBICCADACDDFBCBDDACEFEDCBCEJDEDBBEJCFCAEABDFEBBBAAAAABDAAEBAEBAADAABBAGCBAACACHLLHFEBBCDDHBGJCADCAAKCFFBACBBDODBTBDCFCOFJJALBGCTAALEDABCICBKFBBECBEADCADAGMEDDEBAAACGBIHEBAACEBGFCBCACBABBCGIFAGAALEGDIBEAEADAACGAFBDACEBGAEHFCDCBGAABDCBEABBEDQIHIDGBAABKGAFAEHGABDBAJLCKHICHBGBDIMCCBAGSFEDEEEKCGEIDDGGMAIBDLDHLAECMCBJPAAWLBAEOLAFGMIBCIFBEFEGAFBDAMJAEJKKEGQDBDALBBCAAQHBAAABBCACCACCAAACABCBCAEABAAAABAEGHJBIBDBDEGJALKHIAFAJAEICIGACGDBBBEDFGKBFEBGMGGDCEAGFGAIDBEIDFEGADEGDCEHDCGEIKJLECAMAEBEBGDIBBCAAABACCCAACABCABAAAABCCCAAACABBABBAAAAAAAABAAAACCAAAAAABCAABAACCACAABABCABACABCBAABBBCADBABCCACBCAAACCAAABABBBAABBBABBACAAABCBCCBCBDACEABDEBABBACCBBABCBECBBBCACACCABBBABCCDBCACCABAACDCFDDCBBCBAAAAAABCACAACAAAAACAAAAACCAABBACACAAAABCAACAAAAAAAAAABCCCAAAAAAABAAAAAAACBBACAAAAAAAAAAAAAABAACAADBDGFDBECAGOSCJIBEDKDAEKHFCIEDGACCCAABBFACBBBCEACEBCAHAACCBCBABBAAAAAAAACBACBAAACAAACABAAAABAAAABBBCDABBACAEACCABABAAAAACBAABAAAACBAAAACAAABBBAABCABAAAAABAAAAACBBDIADILKIHGCCQFHMAFDEFBBHDDDKAIEAMGQHLGEBKKDGYJEMJHOLADLWAAJJLJBBKBJBTCBCMDABOVAMNFDCBIJEAKBHACGHEMFBCHBIDEIAKIACCDDFBDDDCAGICBCCEEACAABQBEIAAFBCBFDABADDEEFAAIFKMHGGCJMGIJDBEACAAFFNCACPDDFAFFEFCBBBBGALHGADEPAFCMEEBCBACSCKELHAKLAEICDDLDFNGNECJCHLKKDBEEBFGNEBBBABFTJJUEIOAIGGADIELCFACKCBDKEEADBAAIBDCBBBAFDABBCCABDBDJDCAIHBBCAFSADBSGBCOKBDDSMIAAEBOCCQHCAEBADBNBBDIADTQJGCHEDBCBHBHEBFADEBeADAKKBEMKFIGJACKAGYDAEGCDGGIACAECEDEEAGJAHBGBACECGBBHEEEDEDDACCNDNCACIMLHCFABACNQFBEIDBDDLGACCLAGLBQGBHSEEFILDMCLBAJEFMBMFDAECEEMJBIBCMFBEKEECEFACALFAAJAEAOCABDDFBFECGMABHFJAGHACLCEFCBCBJFBEDFAKEHLFACEFSJIBBCBBBJFCBFDEGLACBCEDDACABFABDEFCCDACACDCAAGAKCFOIBEDHJHFCAKIKKEMDDDQFNEDIJCAHCIMIJFDAJIGHcRCAGFMELBEFCDBMBDDRVDPNOCGNCBDMOAFIFLDDVIBKKDCKLFELCIBGIFAAKILELBFFKJKAAFDAGAGBIFHEDCDEDFEFHDHJGFEEHIGBAGICAACBBEAEBCDHEKABFHBEFIDMIFNGBFBMFBNHBJKIMAFGGBGEECDDFBAAIBKACAIBBEEACAFBDBFGABBABIECBBDJBHBAHBBFCBDBDDHDDECBFBCCAEAFCACDGEEDCGCABEAACGDJAHDAEDBAACCAJBBHEBCBDABCAACACDDHAACAABAADAAFBBABFACDABDDECDADBALBDCCGFFCCCCBDEADMCBDCAEAEEEFEJEDFGAAADCECEAAABBFKDBBDAACEBCAADCDHBDECDAEBEDFDDCCBCEBBACBECAAEABLFBDECBCEAAGHBDBBAECDBBDBEBBFDDAJEDBAADBBIEAHAJFFICKBEEACCCAAECBNANDABABABCBDAAEDACBAADBCBAAGAACAEAEHLHFFEDAADBHCGJCCFBBCKCFFDAABDDQBFTBFEHCOFJJCLDGAVAAPEBAACIABIJDBECBCADACHAGOGBAGBCADCEBGFCBBACCAEHCAECCACBDEGIDAEBAJCIBEBEACADACBEBBADCAGFGACHDADCAEAABBBBEABBEDSKJGBIABABKGCFAEFIADDABJJCIHGEHAEBDGIECBBGQFEBEECKCGCKBDGIMAGAFLFHNCACKCBLPAEWJDACQJEHIMGDCMHBCDEGAFBFAKJCGLKICGODDFALBBAAASHAADACAABABCAAACBCBAABACCAACAAABBBCFLBKDDAFCGHBJMHKCFAJAEIEGEDCGDDBACBDEGAFEBGMEEBEIBEFGAKFACKBDEGBDEGDEAJFAEGIKHLEAAKBCCGDGDIABCABACACACBAAAAAAACCAAACCACAABAAAACAAAACAAAAAAAAAAAABAAAACBAAAAACABACAAABAAAACAACACBABCABAAACACBABACAAAAABAAABBAAAACACACBAABBCCAAEAACDBECCBDEBCABACABACDEBCCBBBCCCECABBDADACCDDEACCAAAAEBEBBBACBABBAAAAACABAAACAABAAABABABAACAAAACCAAAABCBAAAAABABAACCAABAAACCBCCAAACAACAACBAAAAAAABCBAAAAAABAAAABADDDEFABGACEMSCJIBCAIDCEMJHCICBEAACEAADDBBEBAACGACGBECHCACCBCDBABACAAACCCAACAABAACACAAAAABACAAABACBBCCCABBACCAACBABBAAAACABACCCABCAABAACAAAAACCBAAABAAABBAAAABCAAKAEELFCBGKAKEKBFJAJBDGBDGBCMFFBSLFELKESSLSBFATDMBBCKOCFDMFWAMRTHGEMGTFOACYAGKKDFEIHIBKKMFFBMTJUQADEGGCFKDEMCHLEPDJOMDMTCHHFWGILJJDEBHAMZLFHQEMBCCEGAAFJSCVINIICABPOCLIIXCHSFKUVCVEDGAJEPAKQFBabWEIBALADCBEPQSEGEGCEBOQDHFEQGKBAACHQEIHXKJIDEFCWEEGHGQCFCHAHJFOIIEFDALANFBGIDGFQDHKPECCDLDBBGECKSHBCDDAIELAAEHBOTAFAGJBFOKCNJAFJACOGIDLLAFFGGBSIFKCDBABBDAIAMCKBEIFEIDDHHAIHCMFQDCCRAFHBMHHGWDAIOEHGEOTMBCMHIGKAPAGJOBDFCKECBDAAFGAGMDADFOAAMEFKADGFDBKFILGFGPGOGABICHJFIFIGDFHYHECHGIBHCFIAMBCFIICJCMIVHHOABNOIJAHERKBAREBIPIWDCKDACEHDCJBJICGKMECIBIDHBAEFABLCACIJELPFFAKPWAEOWBARDGALFRCHGDFDHKACACALCBCKCCEMCDACCECDDADCDBAAIMFLAJCAOIEMCCBGXFKPEQNMBTKDSJCRBKLEKCBLHDIBDFGKCEGANURJCJHCIDQOIAADKDDAJFKFCKMWACALUBMJAHFCBHPAJIHGAEDNFBAKEASGIIEODKBLABAGGBCHDAFQLDEIBALNJCYACOJIGCGEIIHIGIUDDHKIDIFPDASMIMBUFBMLDHCCBDCFDCKEIPWGEMACPHbHCCADKOBMADBMDBPEIAMKDDFKKHJDHGMAMGCOCFCPCBODFJHLKCIUCIJBFTECMLEIEBMFECBJKLIJIBDRSBGIAGPCGBECBECIAGACFNEILDCCHELUMDMCICBTDDbAKIDAKQYGTJFBWRDCHGDGfIBaTHIOCBIECBJIJCFNEKEFKAFGGBDDIADCFKCTHJDBIKDSLCFSNCCNEOHCIAOAITDBKIBQADCDHHKDAKLWFJQNCBBHHFCHEBBCKNFHIGGRKJUBFMHGDBGGALOPSKHJIBBDCFAIAAIEBECJGFCCFBGJABFEFEBEEDKDIKMGMBDNKROKNHMMDJKHHGPDHPFVMAOKBFLBBHEGCECLAQBGBDCCMDDIELFBEFDCAFGMEGFABHGCDDCGLEIJBEAFHEJBEFAICPCBCBPKJACEIIUPJDEPOKKKEKCJILRCBNJKKCFSDDOGNEIGPDICBGMDAAAJHCRDEVECFBJGXFLBOKgPIBINSFBRACNCEKKKEDOMEMFCQLEJIDGQJECBJEFDGEEBBBLDDGLAMRIGBDFPOOEIHAFFBFJMHSAGIBAOMBBIIFJRBAKDKEAIDAMLSFGDABCBEAOIMBEBCEBEHIGDLBBFQBEELGCLEEPCJBFCAEEGACFJLHIBEBASDBKRGGAHIBGBKJGKOHKKEFBEGEFGMKDIBGKJHEGDBAMDEDELAILYHKBMKBHJPFKMGOAMAEUECKCKECYTFAQIHABDENGAEEFMDBANEIDBHACFMJGAAAKEADHPDJCDAKDSEBABDDEENBAAEKRGUEBLEBAFTAHWHIEIKMKMGEBJECIHEDDJDHLDJIICMJSNDBVFGHKBGKAIBCEGAINNNIADGEGNEBDKJTPANDGNACHDDEIBHBLZFHYBNIFBKGCRJBTMLINJJYMWhDHANDAFQMDWEHPHKJDHKADaCCHCEIGPDBIFNADQBKGaKEANLGWICCBeMFIFDBCHBLBDPKIISGFDEALECFCFAJAMBBABABCACJHJBGBCFIKLGGCPRFDFIEOAGSFKBIAPMDADFIhBFEFGDJBLDCSLIKNAVLIVAJCIBJDFNBGSIFDMARPAJGGBKICOEHGFEECDBHFFGAISIECEADCEJGDNGGBMLCGLKPCCALFFIBBEAHGCFBKICCFTMOCMFQGECFHBAHFCECPOEPDMLHBKEDEAARMPGAEFQFEBOCHHOCJCHEAFFACBBBEHBAKHADJBECBGGDFBFCACGNIIENARLEQHKQeeADGAIEJCFEBFGHAICEGAFCAGHHRCABLAQUMGDAJAIBHKMDLCHGCDDFCBBECEBDBIBICABCRCABABEFCABBBCMAFFBCKHGCIMDDKDMLOFJDEBMBGDIEEAAAEAGEDEBHEIBBDDABAEBCIDDFIJEFFIGLFBAHGFIKKGHCINMDIFBDKCGEGAQAJOOBNNBHMHQEKOTDMLADIBJAENIFIIMECBFABJBBIBEDBBHABEHOPFECCQHCBECGCDCCBJEHPMHJQIOGCIACCDDIFNDHGNNGJHAJFHKEFUBIECTBQNCCFAEJSFWFfTHADIAADHCAGCIOHMDAKECJIFMDBBFLEGAAAAMEDFCIEJCMBGHACPCHCIACIGMEGHBHCKGCHADIGFAGFOBBDABACDDHDECCLABOBIKRNJPDDJFAOEFJLEEKMEJBLFDSMBBEAQGLCBBBIDGIEOJFEHADGDABELGAGOMBDJLGAZAIAANLDCAEDFOGDQHHCHKIGFNMLIKNPEDNQJIBCDHDAFGCGKMGOJAECFELKUBTBRDBADDKQFMACTOAEDABAHEDPBECJCKDHLEGFEJBBIPCBJFUEEJBIAIOHTNEECABCCBCLWJFDHECGGBGNNGBKCKCBFRFUGCAFCSHKTEBJMDMFDBDCCSEDBBPRBFBOCCCAEEDENHHLOAIFBFBHDIADAXNPCACHKFFSVHBWGIKBMIFDHGHFKBFCDABBIAKMIPIJVNGaIDFWDXLXRCMFIJBGNHKUFMVBDOGDBBIRPEELVGGHBEDWGEFJFHGJOAJHGFBCJAABHHCCTBEFBEDGICFDEGCCIFFLSFdBQMGCMKDYjSCIfSXGFMCTFiGUSIGAWADEGEPCFKDFUCLBLGLEBADATEJKcEICQCPBLAAQDEKFKDBITAFIHDDADMCCGEGFDHDBDJDEILHDPNDBVEEJKJGSGDGYTAMBEDLDJBFWEGEKIDDENEDQHAFCDICYGCFFSMNIAFDQFMSKANFDLOLKRTAFHJAMIICDFHDIDIANFHENUXDAJIGCMCAGCBJELCKFBDAAEAJVAPDWCKMFQEOGAGMBDHAGNJBOKBGFCGLFDFDCPFIGFPCFCHDCEAFLJFCGAHCIBCMGFEIHKBEBFAMJCBAHMCJAFBBNBENJBGBHFEFRmRACHEAFBCLEPQBBKHAFBDDARCEHCHCHUNGBLCQAFACBADDFFBBKMFAFCGAHLBFROEACCBGFBLGEGPEEBMMNRBFJDIOEUEGBSEBELMUHGGDOBUJNRKFCQFBCHBIAKEDBEIBADNTHCCFPLGFIJAGFAGIQJNCFUEBIFBRCGWMADPICILFGLBFBBAGGIDCAQDLKHHBEFKGHGDGEFJCEREAEGAEJJHJNaLGJMAEQAHGATGAADKBAPBEDKBCDBHHGJKGMQCCAALFBBACCLFAIABAGQCCDNAJAGIABUDABBHGNTJHGDOABJENEBAILBFCACEABEBEECCHBCFBDCEBDLHJOBDMAKOSHLDEiJFOJCAAUIGNDBPGTEHBKMJCCGKBMEHCNSEGAABMFCBGAIFJRFDFGFEGBECNRMLBHHAIIDDBFANEGBDEABPFNMCCFHDAEFICGKBJGCCHIADHABIFBIKGVICCDHRKWGBKCITLGIAQLAKATUQNIGQBBKOFBECUAPMSOKMAETGCMCLBDNWDJNKKFFABBGKECCKDGHDOKIGNIKEHHHFOXCHLNAANHGEUCFCDFaUNBEEODDCEGGBDCDFEKEDEHXPBOCWCCIJGAFGCSDLBFBKDEGBBDKLLBOSC6AGNcARADKGdMPFSHNAGHQJCFEGFFbFCECUBEKAHCNJCGFDGGSDBQFEDTZHNBJHGGHCDKBAHNEeEODDNXDGMQGCIJGIJLEKECBUHIYPJPDIMDBPQMXHIIAAODHJLFVIIHQTFHGZIKDGGFEANCAKFRHDCBCALCJBJQAKACQRJANGHEAKHCJCDQSGKAJADJDCDDIJIAIMEKEBKLCODEFMLTACGCDCDCBACCAEADABFDBADEACBBEFCCAAAYIBBEAEHKBBGNQLOBBFFFCKCCIHJNBBFGQEDFAHBLHGDNARMBXGHCGHEDDIFQSGKBQMHNECBQHFAIGJBGHBFIBHLDNFAGCEDMABHFGCBAJHCMKBCGHDJEOFADDACCNFIERFFAFMNGTJNWNHBNBLJMEHCDDLFANBIECBEJNPDTOKBQHOOGKCQHJMBIHDAFHNIDBBNHROMBBDEPOTDENJJIGERKAKNLABCBKCJAJBBKIGMBMHABLEDKHFFBHIAGCIAECDMLCAVMCCFBQbQKBDDFDEKECDESEGIKDECBHCBACGEFKBEGBDDFBEHGHBJFCAABFKEEJHGBEFDEBHAANDAJBFEAAJMAFEFEGGFLFAETABGRUAMGFACEEGLCLGDRCHFECAAPHBNHUJIKIMKKMHGFPSBIDIDTDLHCBACACAEBEDMGACAEEEDDEDCABACFAIAEIBAEAJBEJECDKDGCFCBABAJCCIBFIEFOEJIHNIBDXLABaACFDTEKMLCHDHAMGOFNCCFGNGLGFeGDJNBEBAHFPKCWMBIGUDMIUSBDHLIODIEDODJDFCBPCPLCDMGQRCFLMORDNENMVSIEYEGAAMLIDBBIEMDFKKJDMCFBDCCKRKECEENMVBBINFBBAGDAAODEBEKCJFDBMDGLOMAJFFBBDBGGDIHGACJUAHMAKOFFLRRBGDKIGDGBGBIACXFCLJLAFDDCVBEBHPFBIDABXSNYEJCTJGGQBBPACMXIEbUYBJCBoHADPKEGFJKZPIDMGDEEKDAAMMDPHCEDBIGFJEDDILHDBKJEIPCHCKHBNFKGGEDBGEDGFGCCDBLAJFDEIECOOMKJGFLBJLJZUBHCKKHJFBHGJIGKIHHEICFBJCDICKIEMDKMHEHJBBDGLQBDEIEAAGHCEKNGNFIFgRBDCLLADEDHESFZKGRTDGCBSKJOFCHbREEAMQMMGLCACBOVEPCJHDAFEBIDQEJCFIEIKDIFDCILBAEHHDACIAAFRBDFEFACKHBEHFADECBBEIAEFAEIAEOGCEFMMDPSGKLPLEIKDFRBJCFHANHCFCBFEBHYBKFBeBFAKIHMCCDDLHAKEEKAMGHCHCFEJGOKSNGMPALBPXACHBLKBAPNMBHQCBIaBQKMMPDDAIKGHCGFEOEBFILKKFMCQBEOBDICAJBCDNANGCGJKFDCACCQKCOEWOHARRTAOIGFEDEGGDMJGLHBHACHBBHIGCGGFDBFWQAFMHEAHAEIEFCKCDEDKSKHALPRLHUJKBDCHAFEPRLFAOFJCQJQIJOJKOAJRBBRGDIPATEGaTNLEPCIGCELDLFEEANAKACCKCTCJBDIAQAIAIPhMGRIEUKFKIANBEJfRDLENBFOGGRBZSJGELCGGDMBCIHBDDPPKFEDCLAFICGDBNBHCBEMBDCEBACABDDHBFBLABEDECGGDFEIBEKFCMLDLBBMEEEEIJHETKDEBEAGPCFIAGPMMDFLTAPCHLECJCEFXIGFGQHBACBZEEKENBAIJGBCHQRKCCBBFMCKAHDMADBBHABBKMDFPBDINUGGQFHIFAFEBHDIEMHACMKGFBBBHDEJDAKBMDENAMHICEBAHCBIEHGEOGJTALPPGBFNTKBELCCQFbEBCAGYKHGOGHHAJFZINECAMHJCNGAHABBBFGLDKQAOGCEIAQDGLBHDIDKDBAGJCCCBELFRDBACVBCOFCBMHDBCJHCHDLJEAOEICHPEdGAIMONLZFEHFAIUFSCAXKBGJAAJDQJNIDEDDBMDFFBBIEBSEYUGOGMCLGCGDAAHDDBBMAPABGGIHIADENJCLDIDGGFCEODGCQHECDCHAEJSCMCCaELBHLAFCGBGEQCCAMIBCGIPNHJTEIMiASCCSBEALEBEFECBJDHDQMREBBGKASAGQCCKHIGONDVCBUJJIGEBICHCBBBOBIIAENJILCCFDBCALIFGKIACJIEAALGDIAEHDXABXCDHONIAEPQQPKVNQAGZILHASJHAFPEANGOKARMGNJABFDEHIAJAPBBMECEFOFAGDGBBDCABJKHCGCFBECHFNBBKDCEKWFHDRGHCKICFJABAKGUBIGJPEGVXNPJBDPBFFEKOOZNEHNMBLSBADIDICRCHDJJFRACDEOCDDDCCEDIWCQDQUHACBQGBTFLACLKCCFGNKEKIMHJDFFSFFCHDIMRBNLEMJZCJdJHIGMBJCCHCBGABPBBBGALBFSBKHFCCPQMAARDIAHFPDMMDACBBGCAUDAJCaAFJBJFIBGJEHJBKAICFSIDCfDBBWIOGMFHQXLAEbGJEFELESKHQMGHEBFEFGPDBGCCFBAGCLTLBCGARLJLAJTRPILBWGeCKFFFOVQXDKKALXGHBQDEAIEFBFDCKDEKHMHCCLIDBDEFAAIDGKMACCFDDCCACEDCAaGFCBBCEEEDEBCDACADHAIDKDCKKHIAKOLHBLICDJDBHBIBSBCEGEIFCDAAKBMIBMLAGNEHIFAFDHIFBBBHHDDHGFEBAPIJAMNGPCkAUFLCCFBAQQJAMGELAALDHOAGBBRCABFLBAEEFCGBFAMGPCEIBHADEDCFAPICKCCDFDHBSBIBCICNNDFEePGLGLDCTZADDJAFBVaCADCIGNcCFBCAAFEFGEBGAMAAEFIFGDGDBFIHCGIMCDBBBHGEPBBDLEXCIBEIDCADKAMLLNBADEEVCFAHCLEKKIBJMDABAFEJBFYACAKFCEAECEEBCDCBBKJBEDABHBBBHDAHCCGDEJNWcbEEDPLNKIUBGHQJFeJbGJGGDOGAABAKBDNFBMDEQAUGGKFDDLEBBHLFHEACNDKRELILQHAORUAMOBENHJDHCSMDFESGIBCCJHDBPKBGWHEEBAIGBDGBCFEFLFBDFCCLBACFINBCNCABKJKAJADEEDIFCFCCGKFFNDHPZIGFIBAHACGANBBCKFDBMBCBHEEJBCLPMbCKBQJAANCTFDHBIMQBMIKDCCHAAOKALERDdHEECDFBJIADBAGFDEJEGCAFBNJHAAMADGBBBPCKRANDMGDFDDKFIJGJCKAKNDKHRRSPBHIBCGOFBPILUGAGBaOIOdFAHDZAEKIALbFJNISJJDGDEWSUMHVABfGGJbFLLQMQDEASNDfBDKBXYNBGLVFVPKEFJEdEHeNIJBaNOMWRXHGFEHDCDEMCBECDCLFACOBFABJMDBEHHDGEOHGBAaBELFAZICSCIWGCGDCAADAFGTFAIOAMLSEBFGCBGWAGAQFJCTFKHHUBBFMGIBDEOKCQMABGLGJBLKNTHPACDMGDHKFLDAMFGEGCNSTPaGJOGFRAIDJDJEHEPGPSCCAPSBCEBAZMNDKDDNGGOLFBDORKLGYNKGLBPWJPIEEKYHIKPSZFAHDBIEKEEGGBRMAACGEIEATIGDIKJEPFCJKJWGFPINJFKEGAIBBDARFCKGOOAWAAGRHAFDDEAACDGGMCKFDKAHBLBAAHKBGKEEGCCFCGCBPAFJHICCGJNPEDSIGAEMBBMNIBEHGPECIBEAGGCBCIBTPBMAABBJPHBDEFLBNCADNKYLGPWADKHIOCILFRFaJQCGAKCEGKBIVLPFJAADAHTCHGNINAHFGKOGIGBACJHDYFADDABCAAAABCBFACKGBBEAAAEECBGDABACCECWGHLVCGCDHBMFBMELFIJZRBFBHGGBEUCZIDLFIXBPJHSRNDHJXTAKABFAFFIFGOIIGDHJCFGEHBASJGQLKFLJCCAHBAGOKOQDFCHBTDHDGHEFEGQFFEJAHAHINIIBKDCGCDBBBACBKIAGACIFCBAHDDBDAACCCIBFBAALKGPELCGGpEFRFWAKALQICGPVEECAMCBDHAENCIAAJBCBBAHCAFHFBGBJBIIGEGMACEKKJBHaNCLJLFTIGEHEIDSDUAIKOBTJDHDKIMOUDCALCCILBHAHBDIAQIARLCELHEJTERDJQDDHAECDLHDEDDNAKAFCBHINDFIKQBDiDJIVBJDDMLFBODOAKKOFTKDRAMKBGEOJFBLCGMESFOLDHMACCAOWJIIOQNYHJDJYLEBCJBFIEQFQPNCDAGIADDEBAKIEbEVAHAAAFKDEACFIMFJCCFFGAFHXFDMCKBJWGIAPFFBHADBFECKIAEIGAJALPBJEMSCaBEKPFFDEEJINEFIIECDKAACGGBGLCBWEHEDCGIGDFGCECCOJHGCCFILZFFUIAACGLHLDCACGEAAFHGKKOBBGBBBPLJIWGGBBIAIFFHBFEHFCCCDIIHMDDEJMIJaDHKCDEKKRKIHDDDHDCLPADAGBDBLDCBAQNGFKLGAAPECAABEDCJHAGEYAEEADHFZLDGVEPMCBNDHBFFIEEATEJBBJHLJFBCcAMFODFDGASRDLIALTECHWCJFBAACDDEKDJDEGIGFEGDGADBJAEEKCEHRICDBAAbWVSAMaIRILFAIJSLBFIHVEKBBIBKCEKJSbFFCEBADBAACCFECEBAHFCAEMCHLJEACDBCTOLAINDFBECHHNBJIIBDECHECKIFEHBBAHEEGCCGDEAECGDFJFCAEGBEEGCDIDBDCGDECACFACCBDAJABDAALBEEFGFFHLIBGaGCBCEBCFCIAQBDKCMGJKEDJCKBCXEESJCBBJEGYBEJCFEBCAICJGCBBAAEHOLGABIBKIAFAAABFCQFEAFAMEOAAKDDFHCDIMFGHCEFCEFCDDBECAPECDAAFBBDFEDCBIFEGCBEFEEJAEGFHHBBFGAAHEAGBAKBCDDICACCCMABJBIADBHDIOMRDETKCDGKAGGBBLAFGDJHLDOJBCGESFFEDCAHHBLHKHHBADHDCIKBCBFDHBBCEFHGAAKHQfGCAHCHGBEGBCCBGEHDJAJDMOEPEJRDBEHITIUBDRSOORJAJNKLRJMACMHBEBBMBODLDcAEDALFDBICJFGBKAAAHSACGBCAYDKGIMPHBLHHWKMFDHJAUSGINCFKDODHBEFDAAKGISHCEAFIACDAEDBDKGCABFCCFECHBJIGAFKIBDGDAJCBDBAEBVBFMZMGDOCODGVDDJFOOAAFMABPVJKKINCBFLBAAFEESLGCBIBEEBEFCDFCTBBHHIDFCEDBSHOIUsNDFFFBISCHFFOABOIHJDHHAEFKHVHCIBCIKAGFFEGEFKBHGCEICCCFFJEELMHDCeFAIJDUAINDIGIJEHEAAFECHTNHAKBKaBEBEABBGJGDDNFFAAEADHBCAJDFBCDCEEGGACCBABECBBDBDBCFEAFGAEADBEDAEFDIBEDEJCHIMAHIBFGDHCKLBDPBIGMOJIHACNCHGBANBJFGEGGEGBDIIGMGPUXACeVEKBMMDBIHKMOHcPDDIIBDCCAEVFBGJBLAGHCDLGGALCCHGBGELAHFACGEFMLLNKPBARDDIACCOAAJJJJBCCDFAHCCOLCGHQFEFJAAGBBBBDCEODCBKbDACDBBAXQHAFOPHPGCCIFEBJADPBIAFADDAJGCAICAMJCBGHMJGFFBHPIDIEHABIEDAFEDCJEKCMFEEFCCIHEFBCIACAADOWFITCIPAFCAFSFEFEPGBQPJHCFDKAGCDYDFAMJPWKADNCNJJLCFCBKKFHPAMFIAQDKLHHDIOJGONOHCAPNFECCAECFJOFKCBJAEPMIBFMHJBYAGAAAMBABIBBHCIBLCEAGBCEAGECBJBKDBGCACFBHCDDBEDEAHNMAGAEUCElDDEJKBJJEEKGLBBJJIMCWCKEMJJFDCHEECEaLCCFAHIJADBHADEIIEDCGJENHBEGKEDgBJIHAHGFAFCHGAKCICFOABREDDDECEDeLAIJEQJDNHHCIBGIGGHKMAAMGSMFOICDZADAIIIBFXEEAGLCGAICBMAAAFEIBHACPEAPBIPADEGGLGKDGIICEFBBBFCBTGAEDCABCDEBABAACBBDEHEKFGFGHHJPCDRLNAATALIGAFADCCPIBNBKAHKGRBJGCDEDAAFFKHBDECLBAIQEHGINDMEHCVENPBAFHFPFHABFIEFDDDFNMBMMFKAIIDCDCHFGAKBAPMDEAIAELDHFAKBMAECAMCIDCFBEDEFDAGBGSEACABJACKBCNCGDCGGKHFCBJAHLAEFULOGKBAGHBAQGCFGLFFAOGGGHHAABFBBGBCCCAAQFGCEWCGDXEFDJBBUBBIIDLKDNJAMIFCMJJABFBCAJGCJGEOFcLJBHEIECDFEHIJJNCIBADAGFEHHIABOLEABGFIBDCDDEAEALCAGDCEIRDFDEABEEJEAJDOHCCAKEDCJJGCDDBBDBBCAIEBDOECGEDEJBADJEEAFBFBBCACAIFEBFECAcDLKBJGADECFKCLCDIFECDADDHBPDABHDBKEEACACFAJCKEBILBAGGBBBCBAAAGBMDAIDGDABFFBLEHIFGEAKCDJGLNBDaECHDDEFMLPFCJFCCCOKHKKDFENFDHJFHHIBJCBFHGBDFDDIFFDDFGFFCHBOAAIDAAJIbCCbDFFEGABDOEGIBHCSACFABBCFADHFBBAAAEJBCCBCBCIEADCCBGACEHAJCDBUBBIJEECCHAEBFDGDAHDAAADLFGBAKDQFDEGHKHBMBGEJUDKQAGBEAHAGGFDGCCFDACEAJDDFUDAHFJFDDADEBAGBDOMLBCDBMLDBBHDABCBBBHEGBHQBACABCCDBFFCALEDAEAHBHCLBCBICDGBMALHJLHMDEEEOEHHNBHFEIHAFHDKOEEKDCEDXEIDAACJDAGBDJUHDJAJGHACFGNFHDIBJBGLHBAGFGHHDMDEIEHFBCCAOGCEACDAPADIMGADYDBBNGFMHFCADDEQFEGADAFAFBEBIKECBDBCDAEADCDCBCDFFACEOEBBCIBCLEGBBHBBLLFDEIBBHKFXICGDIFCBGOEPABFHENCDGGMCABGBIOBMNJHEIKDPGJHSAAKIGJDDDFEDFDDLGDOFHAAMJDKDECBDHADHCMIAEEGBEKCHDHBLDCJCADCCCECGFCCCaCAAAJEBHCEHFIEJAGDBFBADBDDIHBGJUJECADHADAAHFDFABBFSMIDDPADHFBBgBWDHRCDGJMAAPFDVAJKOcHCCJBDVACEYHBMGFDMFFHEBFJKGRFABJICIIBGMIJEHUGFKRDDNEICACBCCIGCEFBEAEJEBMEAIFEMMCEELEBCACEDBLBKAIBLBBNHMDIGDkIJEHNNOJOBAFAFCOAPBAQFKBNBFVLEGKMDDEQDERAJLBEGQOFHFLCBEELECJKBALLEAFSALAAEDGEAACBBCCCCDBABBEDHBKBEEAAFBAABABADEAAEACGAJHFFNQKGUAWEIMJCDPEKBFLAGHAOIJOFHIDFECMMCMBFIBIIFBICBKGBWEEGLECDJDAFQHSCCIHACZDNEEGAEBMBHEIGDHJCAEBBANGHgACBBCIDDIBGBIFEeDBIFDCLEBDGCCMMBeHDFFBEAEHLDCMBCHKEMFABBGABNMJCLORCDHHBBGALFDCBFAHGGQBBHEIBBHCGCDGGGKNABADDBICFAEBJOOEJJCDJGDBEAQFGGHEHABNDAFABFQECFMIHGEBEBFIEJBFLLABFIGAAFDIAMEDHFGDBEJGGECGANWCJBAHKLPFAMEGCCABEDICHCFGDACFEEgEFALBIAPCBGJCDKKEJMEFOJIACHAADPeAGIGJGHBBCJADBFLICIBEENLICPCKMAVQEBIBGKHEBIJDChFFCBEABCCEBEFABDDBCCEAAHBGCICBBACAEEAFCFICAEACJFBGEEEAKHMDKGEFACLFHEcCDLDCJDFEMIeJAEEOENEPAARBADABLFBAAJQDDEAMEaJJLKLMFUEAFCFHBVGIJDBGABHEBOEAEGEHADDKLKEAFALKBCBCCCFDBADCAECHHFUNEDBBBACAADEADJBACFIEDCCDPIIKGNSHBBDGLCDDAJAGDMIEBGMDHEEICBMDBMEGGHCGIMABIIEAFCKBAIQEHJBBBAAFGGHSGHROICJMDFHMLLIIBMAEGCCGJSZAAGBJIBDLJBKEABINBRJABEJHAEGLFUZaDaJOPBHQEDDPBBBMHDCGEKJAAAXFEMFDFLEVCFHBEBCNCIGHGBDGDDQKJFECHJNFAGMCCKAFFBFILEJIFEAAMNCHDIBIQEPEICIDGNGQKKEIIGAGDaJGECFAACBBCAIBDAFGBACADCCAEBHFAFADBADHDGBAEAECGAACIBBBICADCBCGBADEAACKCDCABCBADAABHCCCFAAEDABFCAADBEGHECGGEDFDDJGCEFBCAAGGCDCBHNBFNGDOVHDECCEAEBCJFQCEIAHHDDQBBCBBBFEBDCLAHAACEGADCBFMDAFBBCECCAHGBCECCAAAAAACDBACABAAFCBABCADACABDACCAEABCBABCAAAAACBAABCBBACACACeBACBEDVBgILLVHCsNCHbriAdMHeCafbCCAACBCABAACBACAACBAEABECDAABAAANNFANFGKNDDJCANABPELVBSDCQKHAHJJJEIFCEGLJBEFCBMAGNCDNFDJFAGELADCJAALGEIBEPBJEDOBCHbBDCKNFCCGFGHBHGHVAaABEADCLDIBADEBHCENCAHDFBCFGAFBBEDDBHEIKBHBCIBACCFEGDAEKBDLCKECBDCBBCBGGBEDDCBACBADBBBAEBAAGEMIHECGDIABFDCFAAFCEAAEBHBDCCIFAGBAFNIBFDAGDKCGACEKGFRKFfMDCBGDACMEEBLHACBGEAAFGBAHADEBECCEHGCABABCBCBCAAEEDAACDBAABAABAABAABAAAKIJGAQIHGCBBGCEGDFBBDGFIFGEJCFEAAFGNHEBACBCBDBBFDAAAJANCHFCDBAAAABCAAAAABCACBBAAABAABBAACABABAAAABAAAACBBCCBBAAAAAAACABAAABACABBAAAAAACAAAAAAAAAACCBBAACAAAABAAAACBCAAACAACBAABABACBAABCGAABCAAAAQCBJHCXKAODBgCASALEEJUCBGHPWLFHADNBCGDBEOBEHQHDHADAHLCFJDFGDEAIBJJBPFFHRSHHBELMIVACVJHNFVIEEQJDBACEEBDBCBABGCHBEAEABFGLKJDEEBJFBCGKABEDIICACCFBGBDNCCCHBLHCIAEIAEABBAFEABBFDGAFEBADIDBBDABDABCIBAEAFHICKEGGCGJCAHEGCBBJKADBECGPCGCJCCLHCBBBOEBJIBMBCADAKAEAGDEBAGEIGDBDGCEBEBDADOPLABLCDBCDCABEABAADBCABABCABAABABACABDCBBABBABHDFCADDBMEEHAEACFFDCCAEGCEDDCBCBBGCACBDHGBCICBJADDKBBHCFIDDBCBEACAAACCACACAAAACCCBBCAACAAAACACACAAACAACAABBBAAA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CBgDQFPJj2BHFDLREDIHICEDBHQFENDBRQCBEPMAARHXCGACNABIKGGTIIDQACBNLLBDLLCLBQRGSADCGSNAWOGDYQDHHCDEQRBOHEEUVHHLGDAEIJFSPEILMEdSCCCAMBCFJJFECICONDEIDSIICBFHBAKGEAEYFLDAFJeCMDGEDCKLKKXIBBQAGPHDJJXHFNCFDISAFKYLCHDDACGEJBHKGAAENCHBAHTFCBGHACJGIBFPDFPDOCLDMLADKECIYSKIJFBTRZNCKELACFLOBBAMGaBCDGFHACENKBDBMAGCFADFKAGQOBBEMACEOCKABKUGaKQEFIAQHINDLLDGITEKDKFJBPQIDVKQQIFBELBMFFDACDIDFJHGBBCBPCAFCICCDBBIBJKRCHEaBRHGOIQMYzEADCHBIJPHQHbKHBDDSDIAOBCDDFESCOAOJDIHAEEDTICFJOFAMEMRCBCWCFCFMENQBaCGCIDWDFFAMCBOCGHCICLIFFBFFLJITGADECDLZCCJFDMFJCVTNBPAJICMKHEGZBCGLRWGWCGBDDQcEMIEMBOAcTEGKaIAMAICLGEFABQGCGGUBBAPCFOINGIDBGNEDFADBCEHCCBAALCHIAGCBEAIABBHGEIHLGCJDQIHfWHEEeHBKUHBZSFBJeSCFcRGIKDAIKFIHIAPGVHDCDACUIACHIFADDDBAGEEBWKAFGLJHIMFOMADMAJBRFOYKMEFEQONEIWEBTSEDGKBANNNJPVOGBEEOPNVDHGCBHOMBDDIGADEFDFNEMFHDKEKHAGAFDDEBALXSEQCZCFJUJQBMODBHDWFQLLDHCJTKWBNGHGGBcCDBBDJPGFBEGABHCHEIIGLBJKEBCHBFEBKFKIVBQHFESLGLaJMPDJEYWANMCHRCHAGMOGMDGMKEITINPNADDAIMFHKFHEFBQAINFLKDRPTDBKEHCVMUFBFLTRCTTHDHdEBGNEJHeFDIDKBQWFIEKONVNBIPJKXGPIBGCEHMMHEBCGEHCCEACEGAADCABBLCIANUMISGEAETBSEHBUFGCECCDHAWPILIGPRQGMJOIGCOADBAEKGKGEOEADAIDGMMCGDTAJCFAHBKGBUBAHDDGUDACCMCMcGEBMOEWLGFHHDIKCNEILCIKWeCDFEFBFAQBPKOGBIKFHLGAAGCEFCbCFSEQAMIBBCDDIBBBCU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WCRADCCCGHCHEAEFCEBEQIDGBGDCIKIaDACBNJOADIGGAECGPHCEJDJBACAGCECGNFLBBCCHKDIAAFbFDLCEQGJMFKICECCHHEbDBDGEDRGCERABJFBKMLHGBCQXJLEPODBABCEJECCKADKHSBBEKCHKCGBEEFBAAAGDKDAFBHKIXdJGGODEDFABBDEDKEILKDFBADLBAGBAVDNDBEAAKDFFAEHNFACGHHCDNHCIDAAPBJAGDQEADHEODATADGACEADBFBIHCLVZGJIDEABASGANDEBBCDAJFGCQEFJNBJANEPEAHQIEAPDIDEMAFFKEWNJDFAJUKGLADMCBCDAAlEFIBCDLBBBIPNDBOBGBFHCICEMADYAMAEXQEBBJBCGBBBGNCCHUACDECDDHADCSEIGEBBGIKEJAFDABFGAICDKCDAMEFBHGCIDHFWHEHACLQFFDBCVSGFNLbLFHDDBIIKHCAAGCAADCMHCCKHFHMLIEVMIGCMBOAAHKHECEIBEHBIDCDDFBDFBBALBLATNQBGDGAIJAIFGEJDASUjIACCIEABGBBCFAOLBCAABCAJECBABGnACOABDCBTVEDAPDBFBABCCDWFCCFALAAEBFDGEDNDMDQAIKMJIEJSFjMAGKFJRAAEDQIAFADLCEGBBCBCJCFAMQDLACJBCMJCAOENCBAAEYCCCEMFDCFBIBMDKBGRDDhACJDEDBHLCHDEVOAgCIAFPABEDADJBBCEKGKAACCIFBBEmDDFDABCNDBNGJCGLHBIBCEEHKBDVBOGJBOMBMGIHRBAFDALEGICIKOCBEPEIgPBCGKVHDBCTRDDGBJCAFHCVHFBLGLABBHDHBDAJDAJNJGGCCDDDMaAHICEBLCCOHPAkKDJCAEECVIHQAEECDBIECBBFNABBBDACABGEFCCLDDGBGGIHHMdCBICODNEGFdDBGJDBEBHCTLAEBOAGDJEGQEBBCBJACAHHAEENFFAdRCDAAQHIKHCGQHJIACDFOLMCAIIBSLMFPBICAaKIBDBMOAABBBHHGCDBDHCJGNcADAEADEEAAGDEAMKEFCLKBBEDJcFFGDAPCDBCHBDDADAJABFdCDJCEHCBCDBEIBSARAKAQEIDBCDWMJPBIBCAABBCIMHEDCACGCJCTAAXfBEAQMDFADDELBCGADCNENGVEFCICPIRcDFBPSMGAAADA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`,segments:[{name:`embedding`,offset:0,length:18560,scale:.09400179237127304},{name:`encoder_bias`,offset:18560,length:32,scale:.005850238725543022},{name:`convolution`,offset:18592,length:160,scale:.06664923578500748},{name:`neighbor_weights`,offset:18752,length:64,scale:.024308662861585617},{name:`gate_weight`,offset:18816,length:1024,scale:.054019372910261154},{name:`gate_bias`,offset:19840,length:32,scale:.08438245207071304},{name:`candidate_weight`,offset:19872,length:1024,scale:.05863092839717865},{name:`candidate_bias`,offset:20896,length:32,scale:.010277197696268559},{name:`combine_weight`,offset:20928,length:2048,scale:.04880720004439354},{name:`combine_bias`,offset:22976,length:32,scale:.015474545769393444},{name:`gate2_weight`,offset:23008,length:1024,scale:.0169098898768425},{name:`gate2_bias`,offset:24032,length:32,scale:.12298274040222168},{name:`candidate2_weight`,offset:24064,length:1024,scale:.016525959596037865},{name:`candidate2_bias`,offset:25088,length:32,scale:.0015491812955588102},{name:`combine2_weight`,offset:25120,length:2048,scale:.011938650161027908},{name:`combine2_bias`,offset:27168,length:32,scale:.0013607577420771122},{name:`global_weight`,offset:27200,length:1024,scale:.061002735048532486},{name:`global_bias`,offset:28224,length:32,scale:.011451322585344315},{name:`head_gate_weight`,offset:28256,length:1024,scale:.05627677962183952},{name:`head_gate_bias`,offset:29280,length:16,scale:.012935391627252102},{name:`head_hidden_weight`,offset:29296,length:5120,scale:.07451077550649643},{name:`head_hidden_bias`,offset:34416,length:64,scale:.009942477568984032},{name:`output_weight`,offset:34480,length:2624,scale:.10297291725873947},{name:`output_bias`,offset:37104,length:41,scale:.01957315020263195},{name:`transition`,offset:37145,length:1600,scale:.14614413678646088}]},Re=!1,ze=!0,P=32,F=17,Be=N,Ve=Ne(Be),I=ze?Math.fround:Le,He=Be.featureRows===324?Uint16Array.from({length:581},(e,t)=>Ue(t)):void 0;function Ue(e){return e<140?e:e<396?140+(e-140)%128:e<524?324:e-256}function L(e){let t=Ve.get(e);if(!t)throw Error(`Missing model tensor: ${e}`);return t}var We,Ge=L(`embedding`),Ke=L(`encoder_bias`),qe=L(`convolution`),Je=L(`neighbor_weights`),Ye=Array.from({length:Be.layers??1},(e,t)=>{let n=t===0?``:String(t+1);return{gateWeight:L(`gate${n}_weight`),gateBias:L(`gate${n}_bias`),candidateWeight:L(`candidate${n}_weight`),candidateBias:L(`candidate${n}_bias`),combineWeight:L(`combine${n}_weight`),combineBias:L(`combine${n}_bias`)}}),Xe=Be.transitions?L(`transition`):void 0,Ze=L(`global_weight`),Qe=L(`global_bias`),$e=L(`head_gate_weight`),et=L(`head_gate_bias`),tt=L(`head_hidden_weight`),nt=L(`head_hidden_bias`),rt=L(`output_weight`),it=L(`output_bias`);function at(e,t,n,r){let i=t.length,a=new Uint8Array(i),o=new Float32Array(i);if(!i)return{path:a,confidence:o};let s=new Uint8Array(i*n),c=new Float32Array(n),l=new Float32Array(n),u=new Float32Array(n),d=new Float32Array(n),f=new Uint8Array(n);if(i>1)for(let e=0;e<n;e++){let t=r[e*n],i=t;for(let a=1;a<n;a++){let o=r[e*n+a];t=Math.min(t,o),i=Math.max(i,o)}u[e]=t,d[e]=i}for(let r=0;r<n;r++)c[r]=e[t[0]+r];for(let a=1;a<i;a++){let i=t[a],o=0;for(let e=1;e<n;e++)c[e]>c[o]&&(o=e);let p=c[o]+u[o],m=0;for(let e=0;e<n;e++)c[e]+d[e]<p||(f[m++]=e);for(let t=0;t<n;t++){let o=f[0],u=c[o]+r[o*n+t];for(let e=1;e<m;e++){let i=f[e],a=c[i]+r[i*n+t];a>u&&(u=a,o=i)}s[a*n+t]=o,l[t]=u+e[i+t]}let h=c;c=l,l=h}let p=0;for(let e=1;e<n;e++)c[e]>c[p]&&(p=e);for(let r=i-1;;r--){a[r]=p;let i=t[r],c=e[i];for(let t=1;t<n;t++)c=Math.max(c,e[i+t]);let l=0;for(let t=0;t<n;t++)l+=Math.exp(e[i+t]-c);if(o[r]=Math.exp(e[i+p]-c)/l,!r)break;p=s[r*n+p]}return{path:a,confidence:o}}function ot(e){return 1/(1+Math.exp(-e))}function st(e,t,n,r,i){let a=0,o=r*i;for(let r=0;r<i;r+=4)a+=e[t+r]*n[o+r],a+=e[t+r+1]*n[o+r+1],a+=e[t+r+2]*n[o+r+2],a+=e[t+r+3]*n[o+r+3];return Math.fround(a)}function ct(e){return{count:e,embedded:new Float32Array(e*P),encoded:new Float32Array(e*P),gate:new Float32Array(e*P),candidate:new Float32Array(e*P),forward:new Float32Array(e*P),backward:new Float32Array(e*P),combined:new Float32Array(e*P),previous:new Int32Array(e),next:new Int32Array(e),pooled:new Float32Array(P),context:new Float32Array(P),headGate:new Float32Array(16),headHidden:new Float32Array(64),output:new Float32Array(N.roleClasses+1),emissions:Xe?new Float32Array(e*N.roleClasses):void 0}}function lt(e){return e>128?ct(e):((!We||We.count<e)&&(We=ct(e)),We)}function ut(e,t=!1){let n=new Uint16Array(e.length*F).fill(580);return e.forEach((e,t)=>n.set(Me(e.features),t*F)),ft(n,t,e)}var dt=new Map;function ft(e,t=!1,n){if(t=Re&&t,He&&(e=e.map(e=>He[e])),e.length%F!==0)throw RangeError(`Invalid feature-row buffer.`);let r=e.length/F,i=new Uint8Array(r),a=new Uint8Array(r),o=new Float32Array(r),s=t?new Float32Array(r*N.roleClasses):void 0,c=t?new Float32Array(r):void 0;if(!r)return{labels:i,clauseStarts:a,scores:o,logits:s,boundaryLogits:c};let{embedded:l,encoded:u,gate:d,candidate:f,forward:p,backward:m,combined:h,previous:g,next:_,pooled:v,context:y,headGate:b,headHidden:x,output:S,emissions:C}=t?ct(r):lt(r);v.fill(0);let w=-1;for(let i=0;i<r;i++){g[i]=w,e[i*F]!==3&&(w=i);let r=n&&!t?`${n[i].features[0]}:${n[i].features[1]}`:void 0,a=r===void 0?void 0:dt.get(r);if(a)l.set(a,i*P);else{for(let t=0;t<P;t++){let n=0;for(let r=0;r<F;r++){let a=e[i*F+r];a<N.featureRows&&(n=Math.fround(n+Ge[a*P+t]))}l[i*P+t]=I(n)}r!==void 0&&(dt.size>=2048&&dt.delete(dt.keys().next().value),dt.set(r,l.slice(i*P,(i+1)*P)))}}w=-1;for(let t=r-1;t>=0;t--)_[t]=w,e[t*F]!==3&&(w=t);for(let e=0;e<r;e++){let t=e*P;for(let n=0;n<P;n++){let i=0;for(let t=0;t<5;t++){let a=e+t-2;a>=0&&a<r&&(i+=l[a*P+n]*qe[t*P+n])}i=Math.fround(Math.fround(i)+Ke[n]),g[e]>=0&&(i=Math.fround(i+Math.fround(l[g[e]*P+n]*Je[n]))),_[e]>=0&&(i=Math.fround(i+Math.fround(l[_[e]*P+n]*Je[P+n]))),u[t+n]=I(Math.tanh(i))}}for(let e=0;e<Ye.length;e++){let{gateWeight:t,gateBias:n,candidateWeight:i,candidateBias:a,combineWeight:o,combineBias:s}=Ye[e],c=e===0?u:h,l=e===Ye.length-1;for(let e=0;e<r;e++){let r=e*P;for(let e=0;e<P;e++){let o=I(ot(Math.fround(n[e]+st(c,r,t,e,P))));d[r+e]=o,f[r+e]=I(Math.fround((1-o)*Math.fround(Math.tanh(Math.fround(a[e]+st(c,r,i,e,P))))))}}for(let e=0;e<P;e++){let t=0;for(let n=0;n<r;n++){let r=n*P+e;t=Math.fround(d[r]*t+f[r]),p[r]=I(t)}t=0;for(let n=r-1;n>=0;n--){let r=n*P+e;t=Math.fround(d[r]*t+f[r]),m[r]=I(t)}}for(let e=0;e<r;e++){let t=e*P;for(let e=0;e<P;e++){let n=s[e];for(let r=0;r<P;r++)n+=p[t+r]*o[64*e+r],n+=m[t+r]*o[64*e+32+r];h[t+e]=I(Math.tanh(Math.fround(c[t+e]+Math.fround(n)))),l&&(v[e]+=h[t+e])}}}for(let e=0;e<P;e++)v[e]/=r;for(let e=0;e<P;e++)y[e]=ot(Qe[e]+st(v,0,Ze,e,P))*v[e];let T=[];for(let t=0;t<r;t++){if(e[t*F]===3)continue;T.push(t);let n=t*P;for(let e=0;e<16;e++){let t=et[e];for(let r=0;r<P;r++)t+=h[n+r]*$e[64*e+r],t+=y[r]*$e[64*e+32+r];b[e]=ot(Math.fround(t))}for(let e=0;e<64;e++){let t=nt[e];for(let r=0;r<P;r++)t+=h[n+r]*tt[80*e+r],t+=y[r]*tt[80*e+32+r];for(let n=0;n<16;n++)t+=b[n]*tt[80*e+64+n];x[e]=Math.tanh(Math.fround(t))}for(let e=0;e<=N.roleClasses;e++)S[e]=it[e]+st(x,0,rt,e,64);let r=0,l=-1/0;for(let e=1;e<N.roleClasses;e++)S[e]>S[r]?(l=S[r],r=e):l=Math.max(l,S[e]);let u=0;for(let e=0;e<N.roleClasses;e++)u+=Math.exp(S[e]-S[r]);i[t]=r,a[t]=+(S[N.roleClasses]>=(Be.boundaryThreshold??0)),o[t]=(1-Math.exp(l-S[r]))/u,s?.set(S.subarray(0,N.roleClasses),t*N.roleClasses),c&&(c[t]=S[N.roleClasses]),C?.set(S.subarray(0,N.roleClasses),t*N.roleClasses)}if(Xe&&C){let{path:e,confidence:t}=at(C,T.map(e=>e*N.roleClasses),N.roleClasses,Xe);T.forEach((n,r)=>{i[n]=e[r],o[n]=t[r]})}return{labels:i,clauseStarts:a,scores:o,logits:s,boundaryLogits:c,trace:t?{embedded:l,encoded:u,gate:d,candidate:f,forward:p,backward:m,combined:h,pooled:v,context:y}:void 0}}function pt(e){return`const Ja:u32=0u;const Ka:u32=18560u;const La:u32=18592u;const ma:u32=18752u;const Ma:u32=18816u;const Na:u32=19840u;const Oa:u32=19872u;const Pa:u32=20896u;const Qa:u32=20928u;const Ra:u32=22976u;const Sa:u32=23008u;const Ta:u32=24032u;const Ua:u32=24064u;const Va:u32=25088u;const Wa:u32=25120u;const Xa:u32=27168u;const Ya:u32=27200u;const Za:u32=28224u;const na:u32=28256u;const ab:u32=29280u;const S:u32=29296u;const bb:u32=34416u;const cb:u32=34480u;const db:u32=37104u;const eb:u32=23008u;const fb:u32=24032u;const gb:u32=24064u;const hb:u32=25088u;const ib:u32=25120u;const jb:u32=27168u;const kb:f32=2;const lb:bool=false;const mb:u32=2u;const T:u32=40u;const la:u32=41u;struct Kb{tokenCount:u32,streamCount:u32,debug:u32,padding:u32}struct Lb{start:u32,count:u32}@group(0) @binding(0) var<storage,read> w:array<vec2<u32>>;@group(0) @binding(1) var<storage,read> oa:array<Lb>;@group(0) @binding(2) var<uniform> B:Kb;@group(0) @binding(3) var<storage,read> b:array<f32>;@group(0) @binding(4) var<storage,read_write> pa:array<f32>;@group(0) @binding(5) var<storage,read_write> nb:array<atomic<u32>>;@group(0) @binding(6) var<storage,read_write> qa:array<f32>;@group(0) @binding(7) var<storage,read_write> ob:array<f32>;var<workgroup> ra:vec2<u32>;var<workgroup> U:array<f32,32>;var<workgroup> V:array<f32,32>;var<workgroup> sa:array<f32,16>;var<workgroup> ta:array<f32,64>;var<workgroup> i:array<f32,la>;fn A(pb:f32)->f32{return pb;}fn R(qb:f32)->f32{return 1./(1.+exp(-qb));}fn o(ua:u32,rb:u32,sb:u32,tb:u32)->u32{return select(select(tb,sb,ua==1u),rb,ua==0u);}fn d(ub:u32,vb:u32,wb:u32)->f32{return f32(pa[(ub*B.tokenCount+vb)*32u+wb]);}fn m(xb:u32,yb:u32,zb:u32,Ab:f32){pa[(xb*B.tokenCount+yb)*32u+zb]=f32(A(Ab));}fn e(k:u32,Bb:u32)->f32{var W=k;if (lb){if (k>=140u&&k<396u){W=140u+((k-140u)&127u);} else if (k>=396u&&k<524u){return 0.;} else if (k>=524u){W=k-256u;}}return b[Ja+W*32u+Bb];}fn Ia(va:u32,f:u32)->f32{let p=w[va].x;let C=w[va].y;var g=e(p&3u,f);g+=e(4u+((p>>2u)&7u),f);g+=e(12u+((p>>5u)&63u),f);g+=e(76u+((p>>11u)&63u),f);g+=e(140u+((p>>17u)&255u),f);g+=e(396u+(C&127u),f);g+=e(532u+((C>>15u)&15u),f);g+=e(548u+((C>>19u)&15u),f);g+=e(564u+((p>>25u)&15u),f);let Cb=(C>>7u)&255u;for(var D=0u;D<8u;D++){if ((Cb&(1u<<D))!=0u){g+=e(524u+D,f);}}return g;}@compute @workgroup_size(32) fn classify(@builtin(workgroup_id) wa:vec3<u32>,@builtin(local_invocation_id) Db:vec3<u32>){let X=wa.x+wa.y*65535u;if (X>=B.streamCount){return;}let a=Db.x;if (a==0u){ra=vec2<u32>(oa[X].start,oa[X].count);}workgroupBarrier();let xa=workgroupUniformLoad(&ra);let c=xa.x;let j=xa.y;for(var E=0u;E<j;E++){m(0u,c+E,a,Ia(c+E,a));}storageBarrier();workgroupBarrier();for(var q=0u;q<j;q++){var F=b[Ka+a];for(var G=0u;G<5u;G++){let Y=i32(q)+i32(G)-2;if (Y>=0&&Y<i32(j)){F+=d(0u,c+u32(Y),a)*b[La+G*32u+a];}}for(var H=i32(q)-1;H>=0;H--){if ((w[c+u32(H)].x&3u)!=3u){F+=d(0u,c+u32(H),a)*b[ma+a];break;}}for(var I=q+1u;I<j;I++){if ((w[c+I].x&3u)!=3u){F+=d(0u,c+I,a)*b[ma+32u+a];break;}}m(1u,c+q,a,tanh(F));}storageBarrier();workgroupBarrier();var Z=0.;for(var h=0u;h<mb;h++){let ya=select(2u,1u,h==0u);let za=select(1u,2u,h==0u);let Eb=o(h,Ma,Sa,eb);let Fb=o(h,Na,Ta,fb);let Gb=o(h,Oa,Ua,gb);let Hb=o(h,Pa,Va,hb);let Aa=o(h,Qa,Wa,ib);let Ib=o(h,Ra,Xa,jb);var n=0.;for(var aa=0u;aa<j;aa++){let J=c+aa;var Ba=b[Fb+a];var Ca=b[Hb+a];for(var x=0u;x<32u;x++){let Da=d(ya,J,x);Ba+=Da*b[Eb+a*32u+x];Ca+=Da*b[Gb+a*32u+x];}let ba=A(R(Ba));let Ea=A((1.-ba)*tanh(Ca));m(za,J,a,ba);m(3u,J,a,Ea);n=ba*n+Ea;m(0u,J,a,n);}n=0.;for(var ca=i32(j)-1;ca>=0;ca--){let da=c+u32(ca);n=d(za,da,a)*n+d(3u,da,a);m(3u,da,a,n);}storageBarrier();workgroupBarrier();Z=0.;for(var ea=0u;ea<j;ea++){let K=c+ea;var fa=b[Ib+a];for(var r=0u;r<32u;r++){fa+=d(0u,K,r)*b[Aa+a*64u+r];fa+=d(3u,K,r)*b[Aa+a*64u+32u+r];}let Fa=A(tanh(d(ya,K,a)+fa));m(2u,K,a,Fa);Z+=Fa;}storageBarrier();workgroupBarrier();}U[a]=Z/f32(j);storageBarrier();workgroupBarrier();var Ga=b[Za+a];for(var L=0u;L<32u;L++){Ga+=U[L]*b[Ya+a*32u+L];}V[a]=R(Ga)*U[a];workgroupBarrier();for(var ga=0u;ga<j;ga++){let l=c+ga;let M=(w[l].x&3u)!=3u;if (M&&a<16u){var ha=b[ab+a];for(var s=0u;s<32u;s++){ha+=d(2u,l,s)*b[na+a*64u+s];ha+=V[s]*b[na+a*64u+32u+s];}sa[a]=R(ha);}workgroupBarrier();if (M){for(var ia=0u;ia<2u;ia++){let y=a+ia*32u;var N=b[bb+y];for(var t=0u;t<32u;t++){N+=d(2u,l,t)*b[S+y*80u+t];N+=V[t]*b[S+y*80u+32u+t];}for(var O=0u;O<16u;O++){N+=sa[O]*b[S+y*80u+64u+O];}ta[y]=tanh(N);}}workgroupBarrier();if (M){for(var u=a;u<la;u+=32u){var ja=b[db+u];for(var P=0u;P<64u;P++){ja+=ta[P]*b[cb+u*64u+P];}i[u]=ja;if (B.debug!=0u){ob[l*la+u]=ja;}}}workgroupBarrier();if (a==0u){if (M){var v=0u;var Q=-1e30;for(var z=1u;z<T;z++){if (i[z]>i[v]){Q=i[v];v=z;} else{Q=max(Q,i[z]);}}var Ha=0.;for(var ka=0u;ka<T;ka++){Ha+=exp(i[ka]-i[v]);}let Jb=v|select(0u,128u,i[T]>=kb);atomicOr(&nb[l/4u],Jb<<((l&3u)*8u));qa[l]=(1.-exp(Q-i[v]))/Ha;} else{qa[l]=0.;}}workgroupBarrier();}}`}var R=N,z=R.roleClasses,B=z+1,mt=R.transitions?Ne(R).get(`transition`):void 0,ht=class e{constructor(e){this.emulateF16=e}emulateF16;stats={submissions:0,recoveries:0};device;pipeline;weightBuffer;buffers=new Map;group;groupKey=``;generation=0;stateBytes=4;closed=!1;lost=!1;queue=Promise.resolve();static async create(t={}){let n=new e(t.emulateF16??!1);return await n.initialize(),n}async initialize(){if(this.closed)throw Error(`The GPU model is disposed.`);let e=await globalThis.navigator?.gpu?.requestAdapter();if(!e)throw Error(`WebGPU is unavailable.`);let t=!ze&&!this.emulateF16&&e.features.has(`shader-f16`),n=await e.requestDevice({requiredFeatures:t?[`shader-f16`]:[],requiredLimits:{maxBufferSize:e.limits.maxBufferSize,maxStorageBufferBindingSize:e.limits.maxStorageBufferBindingSize}});try{if(this.closed)throw Error(`The GPU model is disposed.`);let e=pt(t),r=n.createShaderModule({code:e}),i=(await r.getCompilationInfo()).messages.filter(e=>e.type===`error`);if(i.length)throw Error(i.map(e=>`${e.lineNum}: ${e.message}`).join(`
2
+ `));if(this.closed)throw Error(`The GPU model is disposed.`);let a=await n.createComputePipelineAsync({layout:`auto`,compute:{module:r,entryPoint:`classify`}});if(this.closed)throw Error(`The GPU model is disposed.`);let o=Ne(R),s=new Float32Array(R.q.length);for(let e of R.segments)s.set(o.get(e.name),e.offset);let c=n.createBuffer({size:s.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});n.queue.writeBuffer(c,0,s),this.device=n,this.pipeline=a,this.weightBuffer=c,this.stateBytes=t?2:4,this.lost=!1,this.buffers.clear(),this.group=void 0,this.generation++,n.lost.then(()=>{this.device===n&&!this.closed&&(this.lost=!0,this.device=void 0,this.buffers.clear())})}catch(e){throw n.destroy(),e}}inferMany(e,t=!1){t=Re&&t;let n=this.queue.then(async()=>{try{return await this.run(e,t)}catch(n){if(this.closed||!this.lost||this.stats.recoveries>=1)throw n;return this.run(e,t)}});return this.queue=n.catch(()=>{}),n}buffer(e,t,n){let r=this.device;if(t>r.limits.maxBufferSize||n&GPUBufferUsage.STORAGE&&t>r.limits.maxStorageBufferBindingSize)throw RangeError(`The inference batch exceeds the GPU buffer limits.`);let i=this.buffers.get(e);if(i&&i.capacity>=t)return i.buffer;i?.buffer.destroy();let a=256;for(;a<t&&a<=r.limits.maxBufferSize/2;)a*=2;a<t&&(a=4*Math.ceil(t/4));let o=r.createBuffer({size:a,usage:n});return this.buffers.set(e,{buffer:o,capacity:a}),this.generation++,o}async run(e,t){if(this.closed)throw Error(`The GPU model is disposed.`);if(this.lost){if(this.stats.recoveries>=1)throw Error(`The GPU device was lost again after recovery.`);this.stats.recoveries++,await this.initialize()}let n=e.filter(e=>e.length>0);if(n.some(e=>e.length>128))throw RangeError(`A model stream supports at most 128 tokens.`);let r=n.reduce((e,t)=>e+t.length,0);if(!r)return e.map(()=>({labels:new Uint8Array,clauseStarts:new Uint8Array,scores:new Float32Array}));let i=new Uint32Array(2*r),a=new Uint32Array(2*n.length),o=0;n.forEach((e,t)=>{a.set([o,e.length],2*t),e.forEach((e,t)=>i.set(e.features,2*(o+t))),o+=e.length});let s=this.device,c=4*Math.ceil(r/4),l=4*r,u=t||mt!==void 0,d=u?r*B*4:4,f=32*r*4*this.stateBytes,p=[i.byteLength,a.byteLength,16,this.weightBuffer.size,f,c,l,d],m=[this.buffer(`features`,p[0],GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST),this.buffer(`streams`,p[1],GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST),this.buffer(`parameters`,p[2],GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.weightBuffer,this.buffer(`states`,p[4],GPUBufferUsage.STORAGE),this.buffer(`labels`,p[5],GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST),this.buffer(`scores`,p[6],GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC),this.buffer(`debug`,p[7],GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC)],h=c+l+(u?d:0),g=this.buffer(`readback`,h,GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST),_=`${this.generation}:${p.join(`,`)}`;(!this.group||this.groupKey!==_)&&(this.group=s.createBindGroup({layout:this.pipeline.getBindGroupLayout(0),entries:m.map((e,t)=>({binding:t,resource:{buffer:e,size:p[t]}}))}),this.groupKey=_),s.queue.writeBuffer(m[0],0,i),s.queue.writeBuffer(m[1],0,a),s.queue.writeBuffer(m[2],0,Uint32Array.of(r,n.length,Number(u),0));let v=s.createCommandEncoder();v.clearBuffer(m[5],0,c);let y=v.beginComputePass();y.setPipeline(this.pipeline),y.setBindGroup(0,this.group);let b=Math.min(65535,n.length);y.dispatchWorkgroups(b,Math.ceil(n.length/b)),y.end(),v.copyBufferToBuffer(m[5],0,g,0,c),v.copyBufferToBuffer(m[6],0,g,c,l),u&&v.copyBufferToBuffer(m[7],0,g,c+l,d),s.queue.submit([v.finish()]),this.stats.submissions++,await g.mapAsync(GPUMapMode.READ);try{let n=g.getMappedRange(0,h),i=new Uint8Array(n,0,r),a=new Float32Array(n,c,r),s=u?new Float32Array(n,c+l,r*B):void 0;return o=0,e.map(e=>{let n=new Uint8Array(e.length),r=new Uint8Array(e.length),c=a.slice(o,o+e.length),l=t?new Float32Array(e.length*z):void 0,u=t?new Float32Array(e.length):void 0,d=[];for(let t=0;t<e.length;t++)n[t]=63&i[o+t],r[t]=i[o+t]>>>7,s&&e[t].kind!==3&&(d.push((o+t)*B),l?.set(s.subarray((o+t)*B,(o+t)*B+z),t*z),u&&(u[t]=s[(o+t)*B+z]));if(mt&&s){let{path:t,confidence:r}=at(s,d,z,mt),i=0;for(let a=0;a<e.length;a++)e[a].kind!==3&&(n[a]=t[i],c[a]=r[i++])}return o+=e.length,{labels:n,clauseStarts:r,scores:c,logits:l,boundaryLogits:u}})}finally{g.mapState===`mapped`&&g.unmap()}}dispose(){this.closed||(this.closed=!0,this.device?.destroy(),this.device=void 0,this.pipeline=void 0,this.weightBuffer=void 0,this.group=void 0,this.buffers.clear())}};function gt(e,t){let n=performance.now(),r=e.text.trim().replace(/\s+/g,` `),i=r===e.text?e.tokens:je(r);e.tokenizeMs+=performance.now()-n;let a=+(e.tokens[0]?.kind===3),o=[];for(let e=0;e<i.length;e+=96){let n=Math.max(0,e-16),r=Math.min(i.length,e+112),s=i.slice(n,r);for(let e of new Set([0,s.length-1])){let t=s[e],n=-3073&t.features[1];e===0&&(n|=1024),e===s.length-1&&(n|=2048),s[e]={...t,features:[t.features[0],n]}}o.push({job:t,start:a+n,keepStart:e-n,keepEnd:Math.min(i.length,e+96)-n,tokens:s})}return o}async function _t(t={}){let n,r,i=t.backend??`auto`,a=[],o=[],s=!1,c=!1,l=!1;i===`webgpu`&&(n=await ht.create());async function u(e,t){if(e.length===0)return[];if(t===`cpu`)return e.map(e=>ut(e.tokens));if(!n){let e=await ht.create();if(l)throw e.dispose(),Error(`The parser is disposed.`);n=e}let r=[];for(let t=0;t<e.length;){let i=t,a=0;for(;i<e.length&&a+e[i].tokens.length<=16384;)a+=e[i++].tokens.length;r.push(...await n.inferMany(e.slice(t,i).map(e=>e.tokens))),t=i}return r}async function d(t){let a,o=t.flatMap(gt),s=o.reduce((e,t)=>e+t.tokens.length,0),c=i===`webgpu`||i===`auto`&&!r&&(t.length>=32||s>=512)?`webgpu`:`cpu`,d=performance.now();try{a=await u(o,c)}catch(e){if(l)throw Error(`The parser is disposed.`);if(c===`cpu`||i===`webgpu`)throw e;r=e instanceof Error?e.message:String(e),n?.dispose(),n=void 0,c=`cpu`,a=await u(o,`cpu`)}if(l)throw Error(`The parser is disposed.`);if(a.length!==o.length||a.some((e,t)=>e.labels.length!==o[t].tokens.length||e.clauseStarts.length!==o[t].tokens.length||e.scores.length!==o[t].tokens.length))throw Error(`The model returned incomplete predictions.`);let f=performance.now()-d,p=t.map(e=>e.tokens.map(e=>({...e,label:0,clauseStart:!1,score:0}))),m=new Set;o.forEach((t,n)=>{let r=a[n];for(let n=t.keepStart;n<t.keepEnd;n++){let i=r.labels[n];i>=e.length&&m.add(t.job);let a=p[t.job][t.start+n];a.label=i<e.length?i:0,a.clauseStart=!!r.clauseStarts[n],a.score=r.scores[n]}}),t.forEach((e,t)=>{e.batch.results[e.index]={tokens:p[t],unknownLabels:m.has(t),backend:e.text.trim().length?c:`cpu`,timings:{tokenizeMs:e.tokenizeMs,inferMs:f},...r?{fallbackReason:r}:{}},--e.batch.remaining===0&&e.batch.resolve(e.batch.results)})}async function f(){if(s=!1,!c){c=!0;try{for(;a.length;){o=a.splice(0);try{if(l)throw Error(`The parser is disposed.`);await d(o)}catch(e){o.forEach(t=>t.batch.reject(e))}finally{o=[]}}}finally{c=!1,a.length&&p()}}}function p(){s||c||(s=!0,queueMicrotask(()=>{f()}))}function m(e){if(!e.length)return Promise.resolve([]);if(l)return Promise.reject(Error(`The parser is disposed.`));for(let t of e){if(typeof t!=`string`)return Promise.reject(TypeError(`Input must be a string.`));if(t.length>1e6)return Promise.reject(RangeError(`An input supports at most one million characters.`))}return new Promise((t,n)=>{let r={results:Array(e.length),remaining:e.length,resolve:t,reject:n};e.forEach((e,t)=>{let n=performance.now(),i=je(e);a.push({text:e,tokens:i,tokenizeMs:performance.now()-n,batch:r,index:t})}),p()})}return{tag:e=>m([e]).then(e=>e[0]),tagMany:m,dispose(){if(!l){l=!0,n?.dispose(),n=void 0;for(let e of[...a.splice(0),...o])e.batch.reject(Error(`The parser is disposed.`))}}}}var vt=new Map,yt=new Map,bt=new Map,xt=new Map,St=2048;function V(e){let t=Math.trunc(e.year),n=t>=0&&t<100;return Date.UTC(n?t+400:t,e.month-1,e.day,e.hour??0,e.minute??0,e.second??0)-(n?0xb7af85d9c00:0)}function H(e){let t=new Date(e);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds()}}function Ct(e){let t=vt.get(e);if(t)return t;let n=new Intl.DateTimeFormat(`en-US-u-ca-iso8601-nu-latn`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`});return vt.size>=128&&vt.clear(),vt.set(e,n),n}function U(e,t){let n=`${t}:${Math.floor(Math.trunc(e)/1e3)}`,r=yt.get(n);if(r)return{...r};let i={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let n of Ct(t).formatToParts(e))switch(n.type){case`year`:case`month`:case`day`:case`hour`:case`minute`:case`second`:i[n.type]=Number(n.value)}return yt.size>=St&&yt.delete(yt.keys().next().value),yt.set(n,{...i}),i}function wt(e,t){return V(U(e,t))-1e3*Math.floor(e/1e3)}function W(e,t){let n=V(e),r=`${t}:${n}`,i=bt.get(r);if(i)return{...i};let a=new Set;for(let e of[-2,-1,0,1,2])a.add(wt(n+864e5*e,t));let o,s=[...a].map(e=>n-e).sort((e,t)=>e-t),c=s.filter(e=>V(U(e,t))===n);return o=c.length>0?{epochMs:c[0],kind:c.length>1?`overlap`:`exact`}:{epochMs:s.find(e=>V(U(e,t))>n)??s.at(-1),kind:`gap`},bt.size>=St&&bt.delete(bt.keys().next().value),bt.set(r,o),{...o}}function G(e){return Math.floor(V({...e,hour:0,minute:0,second:0})/864e5)}function K(e){return((G(e)+3)%7+7)%7}function Tt(e,t){let n=new Date(0);return n.setUTCFullYear(e,t,0),n.getUTCDate()}function q(e,t,n){return Number.isInteger(e)&&e>=t&&e<=n}function Et(e){return q(e.year,1,9999)&&q(e.month,1,12)&&q(e.day,1,Tt(e.year,e.month))&&q(e.hour,0,23)&&q(e.minute,0,59)&&q(e.second,0,59)}function J(e,t){return H(V(e)+864e5*t)}function Dt(e,t){let n=H(V({...e,day:1,month:e.month+t})),r=Math.min(e.day,Tt(n.year,n.month));return{...n,day:r}}function Y(e){return{...e,hour:0,minute:0,second:0}}function Ot(e){return String(e).padStart(2,`0`)}function kt(e,t){let n=`${t}:${e}`,r=xt.get(n);if(r!==void 0)return r;let i=U(e,t),a=(V(i)-1e3*Math.floor(e/1e3))/6e4,o=a<0?`-`:`+`,s=Math.round(Math.abs(a)),c=Ot(Math.floor(s/60)),l=Ot(s%60),u=`${`${String(i.year).padStart(4,`0`)}-${Ot(i.month)}-${Ot(i.day)}`}T${[i.hour,i.minute,i.second].map(Ot).join(`:`)}${o}${c}:${l}`;return xt.size>=St&&xt.delete(xt.keys().next().value),xt.set(n,u),u}function At(e){if(!/(?:Z|[+-]\d{2}:\d{2})$/.test(e))throw RangeError(`reference must be an ISO instant with Z or an explicit offset.`);let t=Date.parse(e);if(!Number.isFinite(t))throw RangeError(`Invalid reference instant.`);return t}var jt={christmas:[12,25],"christmas-eve":[12,24],"new-year":[1,1],"new-years-eve":[12,31],halloween:[10,31],valentines:[2,14],"july-4th":[7,4],thanksgiving:{month:11,day:`TH`,ordinal:4}};function Mt(e,t=`MO`){let n=t===`SU`?6:0;return J(Y(e),-(K(e)-n+7)%7)}function Nt(e,n,r,i){let a=t.indexOf(e),o=K(r),s=(a-o+7)%7,c=(a-(i.weekStart===`SU`?6:0)+7)%7;return n===`this`||!n&&i.bareWeekday===`thisWeek`?J(Mt(r,i.weekStart),c):n===`last`?J(Y(r),-((o-a+7)%7||7)):n===`next`?i.nextWeekday===`immediate`?J(Y(r),s||7):J(Mt(r,i.weekStart),7+c):i.bareWeekday===`nearest`?J(Y(r),s>3?s-7:s):J(Y(r),s)}function X(e,t){let n={...Y(t),year:e.year??t.year,month:e.month??t.month,day:e.day??1};if(!Et(n))throw RangeError(`The expression names an invalid calendar date.`);return n}function Z(e,t,n){switch(n){case`second`:return H(V(e)+1e3*t);case`minute`:return H(V(e)+6e4*t);case`hour`:return H(V(e)+36e5*t);case`day`:return J(e,t);case`week`:return J(e,7*t);case`month`:return Dt(e,t);case`year`:return Dt(e,12*t)}}function Pt(e,t,n){let r=Y(t);e.unit===`week`&&(r=Mt(t,n.weekStart)),e.unit===`month`&&(r.day=1),e.unit===`year`&&(r={...r,month:1,day:1}),e.unit===`hour`&&(r={...t,minute:0,second:0}),e.unit===`minute`&&(r={...t,second:0}),e.unit===`second`&&(r={...t});let i=e.modifier===`next`?1:e.modifier===`last`?-1:0,a=Z(r,i,e.unit),o=Z(a,1,e.unit);return e.edge===`start`?{start:a}:e.edge===`end`?{start:e.unit===`second`||e.unit===`minute`||e.unit===`hour`?H(V(o)-1e3):J(o,-1)}:{start:a,end:o}}function Q(e,n,r){let i=Y(n);if(!e)return[{start:i}];switch(e.kind){case`now`:return[{start:n}];case`relativeDay`:return[{start:J(i,e.offset)}];case`weekday`:return e.days.map(t=>({start:Nt(t,e.modifier,n,r)}));case`weekdayRange`:{let i=Nt(e.from,void 0,n,r);return[{start:i,end:J(i,(t.indexOf(e.to)-t.indexOf(e.from)+7)%7+1)}]}case`dayGroup`:{let a=e.group===`weekend`?t.slice(5):t.slice(0,5);if(e.modifier){let t=Nt(a[0],`this`,n,r);return e.modifier===`last`&&(t=J(t,-7)),e.modifier===`next`&&(r.nextWeekday===`immediate`&&V(t)>V(i)||(t=J(t,7))),a.map((e,n)=>({start:J(t,n)}))}return a.map(t=>({start:Nt(t,e.modifier,n,r)}))}case`calendar`:{let t=X(e,n);return e.year===void 0&&V(t)<V(i)?[{start:X(e,Z(n,1,e.month===void 0?`month`:`year`))}]:[{start:t}]}case`calendarPeriod`:{let t=e.year??n.year;e.year===void 0&&e.modifier===`next`&&(t+=+(e.month<=n.month)),e.year===void 0&&e.modifier===`last`&&(t-=+(e.month>=n.month));let r=X({year:t,month:e.month,day:1},n),i=Dt(r,1);if(e.edge===`start`)return[{start:r}];if(e.edge===`end`)return[{start:J(i,-1)}];if(e.week!==void 0){let t=J(r,7*(e.week-1));if(e.week<1||e.week>5||t.month!==r.month)throw RangeError(`The requested week does not exist in that month.`);let n=J(t,7);return[{start:t,end:V(n)<V(i)?n:i}]}return[{start:r,end:i}]}case`relativeUnit`:return[Pt(e,n,r)];case`holiday`:{let t=jt[e.name],a=e=>`ordinal`in t?Q({kind:`ordinalWeekday`,...t,of:{kind:`calendar`,year:e,month:t.month}},n,r)[0].start:X({year:e,month:t[0],day:t[1]},n),o=a(n.year);return V(o)<V(i)&&(o=a(n.year+1)),[{start:o}]}case`ordinalWeekday`:{let i,a=e.of.kind===`calendar`?X({...e.of,day:1},n):Pt(e.of,n,r).start,o=t.indexOf(e.day);if(e.ordinal>0)i=J(a,(o-K(a)+7)%7+7*(e.ordinal-1));else{let t={...a,day:Tt(a.year,a.month)};i=J(t,-(K(t)-o+7)%7+7*(e.ordinal+1))}if(!Number.isInteger(e.ordinal)||e.ordinal===0||i.month!==a.month)throw RangeError(`The requested ordinal weekday does not exist in that month.`);return[{start:i}]}case`calendarRange`:{let t=X(e.from,n),r=X({month:t.month,...e.to},t);if(V(r)<V(t)&&e.to.year===void 0&&e.to.month!==void 0&&(r=X({...e.to,year:t.year+1},t)),V(r)<V(t))throw RangeError(`A date range must end on or after its start date.`);return[{start:t,end:J(r,1)}]}}}var Ft={morning:[`06:00`,`12:00`],afternoon:[`12:00`,`17:00`],evening:[`17:00`,`21:00`],night:[`21:00`,`24:00`]};function It(e){let t=e.match(/^(\d{2}):(\d{2})(?::(\d{2}))?$/);if(!t)throw RangeError(`A day-part boundary must use HH:MM or HH:MM:SS.`);return{hour:Number(t[1]),minute:Number(t[2]),second:Number(t[3]??0)}}function Lt(e,t,n=!1){if(`named`in e)return e.named===`noon`?43200:0;if(`part`in e)return Lt(It((t.dayParts?.[e.part]??Ft[e.part])[+!!n]),t,n);let{hour:r,minute:i,second:a=0}=e;if(!(Number.isInteger(r)&&r>=0&&(r<24||n&&r===24&&i===0&&a===0))||!(Number.isInteger(i)&&i>=0&&i<60)||!(Number.isInteger(a)&&a>=0&&a<60))throw RangeError(`Clock components are out of range.`);return 3600*r+60*i+a}function Rt(e,t){let n,r=Lt(e.start,t);return e.end?n=Lt(e.end,t,!0):e.open!==`end`&&`part`in e.start&&(n=Lt(e.start,t,!0)),{start:r,end:n}}var $=e=>1e3*Math.floor(e/1e3),zt=class extends RangeError{};function Bt(e,t,n){if(t.components){let r=Bt(e,{amount:t.amount,unit:t.unit},n);for(let e of t.components)r=Bt(r,e,n);return r}let{amount:r,unit:i}=t;if(i===`second`)return e+1e3*r;if(i===`minute`)return e+6e4*r;if(i===`hour`)return e+36e5*r;let a=U(e,n);return W(i===`month`||i===`year`?Dt(a,r*(i===`year`?12:1)):J(a,r*(i===`week`?7:1)),n).epochMs}function Vt(e,t,n){return t?Bt(e,{amount:t.amount*(t.direction===`before`?-1:1),unit:t.unit,...t.components?{components:t.components.map(e=>({...e,amount:e.amount*(t.direction===`before`?-1:1)}))}:{}},n):e}function Ht(e,t,n){let r=Math.floor(t/86400),i=W(t===Ut(e)?e:{...r?J(e,r):e,hour:Math.floor(t/3600)%24,minute:Math.floor(t/60)%60,second:t%60},n);if(i.kind===`gap`)throw new zt(`The requested local time does not exist in ${n}.`);return i.epochMs}function Ut(e){return 3600*e.hour+60*e.minute+e.second}function Wt(e,t,n,r){for(let i=0;i<8;i++){try{let i=Ht(e,t,r.options.timeZone);if(!n||i>=r.reference)return{date:e,start:i}}catch(e){if(!(n&&e instanceof zt))throw e}e=J(e,n)}throw RangeError(`No eligible upcoming clock time was found.`)}function Gt(e,t,n){let{reference:r,options:i,clauseIndex:a}=n,o=!e.time&&(!e.date&&(e.shift||e.duration)||e.date?.kind===`now`),s=e.date?.kind===`relativeUnit`&&(e.date.unit===`hour`||e.date.unit===`minute`||e.date.unit===`second`),c=e.date?.kind!==`relativeUnit`||e.date.edge?void 0:e.date,l=!(!e.time||`part`in e.time.start||!c),u=l&&c?Z(U(r,i.timeZone),c.modifier===`this`?0:c.modifier===`last`?-1:1,c.unit):t.start,d=e.time?Rt(e.time,i):void 0,f=d?.start??Ut(u),p=e.duration&&!e.time?.end?void 0:d?.end,m=e.time&&(e.date?.kind===`weekday`||e.date?.kind===`dayGroup`)&&!e.date.modifier&&(i.bareWeekday??`future`)===`future`,h=e.time&&!e.date&&!e.shift,g=n.recurring?0:m?7:+!!h,_=e.time?.open===`start`&&p!==void 0?p:f,{date:v,start:y}=o?{date:u,start:r}:Wt(u,_,g,n),b=_===f?y:Ht(v,f,i.timeZone),x={start:$(Vt(b,e.shift,i.timeZone)),allDay:!e.time&&!o&&!s,clause:a,...e.time?.open?{open:e.time.open}:{}};if(p!==void 0){let t=p<f;x.end=$(Vt(Ht(e.endDate?Q(e.endDate,v,i)[0].start:t?J(v,1):v,p,i.timeZone),e.shift,i.timeZone))}if(p===void 0&&t.end&&!l&&e.time?.open!==`end`&&(x.end=$(Vt(Ht(t.end,Ut(t.end),i.timeZone),e.shift,i.timeZone))),e.shift?.endAmount!==void 0){let t=Vt(b,{...e.shift,amount:e.shift.endAmount},i.timeZone),n=x.start;x.start=$(Math.min(n,t)),x.end=$(Math.max(n,t))}if(e.duration){if(x.end!==void 0)throw RangeError(`Use a duration or an explicit end, not both.`);x.end=$(Bt(x.start,e.duration,i.timeZone))}if(x.end!==void 0&&x.end<=x.start)throw RangeError(`The resolved end must be after the start.`);return x}function Kt(e){if(e.kind===`weekday`&&!e.modifier)return e.days;if(e.kind===`dayGroup`&&!e.modifier)return e.group===`weekend`?t.slice(5):t.slice(0,5);if(e.kind===`weekdayRange`){let n=t.indexOf(e.from),r=(t.indexOf(e.to)-n+7)%7+1;return Array.from({length:r},(e,r)=>t[(n+r)%7])}}var qt=()=>!1;function Jt(e,n){if(e.length===0)return qt;let r=U(n.reference,n.options.timeZone),i=new Set,a=[],o=[];for(let t of e){if(t.kind===`ordinalWeekday`&&t.recurring){o.push(t);continue}let e=Kt(t);if(e)for(let t of e)i.add(t);else for(let e of Q(t,r,n.options))a.push({start:G(e.start),end:G(e.end??J(e.start,1))})}return e=>{if(i.has(t[K(e)])||o.some(n=>{if(t[K(e)]!==n.day)return!1;let r=Math.floor((e.day-1)/7)+1;return n.ordinal>0?r===n.ordinal:J(e,7*-n.ordinal).month!==e.month&&(n.ordinal===-1||J(e,7*(-n.ordinal-1)).month===e.month)}))return!0;let n=G(e);return a.some(e=>n>=e.start&&n<e.end)}}function Yt(e){if(e.freq===`daily`&&e.timesPer!==void 0)return Array.from({length:e.timesPer},(t,n)=>Math.floor(24*n/e.timesPer))}function Xt(e,n=`MO`){if(e.timesPer===void 0)return e;let r=e.freq===`weekly`?7:e.freq===`daily`?24:0;if(!Number.isInteger(e.timesPer)||e.timesPer<1||e.timesPer>r)throw RangeError(`Frequency counts need 1–7 times per week or 1–24 times per day.`);if(e.freq===`weekly`&&!e.byDay){let r=n===`SU`?6:0,i=Array.from({length:e.timesPer},(n,i)=>t[(r+Math.floor(7*i/e.timesPer))%7]);return{...e,byDay:i}}return e}function Zt(e,t){let n=Tt(e.year,e.month);return t.some(t=>e.day===(t<0?n+t+1:t))}function Qt(e,n){let r=n.freq===`yearly`?n.byMonth??Array.from({length:12},(e,t)=>t+1):[e.month],i=[];for(let a of[...r].sort((e,t)=>e-t)){let r=Tt(e.year,a);for(let o=1;o<=r;o++){let r={...e,month:a,day:o};n.byDay&&!n.byDay.includes(t[K(r)])||n.byMonthDay&&!Zt(r,n.byMonthDay)||i.push(G(r))}}return n.bySetPos.some(t=>{let n=t>0?t-1:i.length+t;return i[n]===G(e)})}function $t(e,n,r,i){let a=t[K(e)];if(r.byDay&&!r.byDay.includes(a)||r.byMonth&&!r.byMonth.includes(e.month)||r.byMonthDay&&!Zt(e,r.byMonthDay))return!1;let o=Yt(r);return!(o&&!o.includes(e.hour))&&(r.freq===`hourly`?Math.round((V(e)-V(n))/36e5)%r.interval===0:r.freq===`daily`?(G(e)-G(n))%r.interval===0:r.freq===`weekly`?Math.floor((G(e)-i)/7)%r.interval===0&&(r.byDay!==void 0||K(e)===K(n)):r.freq===`monthly`?(12*(e.year-n.year)+e.month-n.month)%r.interval===0&&(r.bySetPos?Qt(e,r):!(!r.byMonthDay&&!r.byDay)||e.day===n.day):r.freq===`yearly`&&(e.year-n.year)%r.interval===0&&(r.bySetPos?Qt(e,r):!(!(r.byMonth||r.byMonthDay||r.byDay||e.month===n.month)||!r.byMonthDay&&!r.byDay&&e.day!==n.day)))}function en(e,t,n,r=!1){try{let i=e;if(r&&(i={...e,time:{start:{hour:t.hour,minute:t.minute,second:t.second}}},e.time)){let r=Rt(e.time,n.options);if(r.end!==void 0){if(r.end===r.start)throw RangeError(`An hourly recurrence window needs distinct clock boundaries.`);let e=r.end>r.start?r.end-r.start:r.end-r.start+86400;if(e===86400)i.duration={amount:1,unit:`day`};else{let n=Z(t,e/60,`minute`);i.time.end={hour:n.hour,minute:n.minute,second:n.second}}}}return Gt(i,{start:t},n)}catch(e){if(e instanceof zt)return;throw e}}function tn(e,t,n,r){let i=Xt(e.recurrence,t.options.weekStart);if(i.count!==void 0&&(i.until||i.span))throw RangeError(`Use a count or an end bound, not both.`);if(!Number.isInteger(i.interval)||i.interval<1)throw RangeError(`Recurrence interval must be a positive integer.`);if(i.count!==void 0&&(!Number.isInteger(i.count)||i.count<1))throw RangeError(`Recurrence count must be a positive integer.`);e={...e,date:void 0},t={...t,recurring:!0};let{reference:a,options:o}=t,s=U(a,o.timeZone),c=i.start?Q(i.start,s,o)[0]:void 0,l=c?.start??s,u=i.freq===`hourly`||Yt(i)!==void 0;if(i.freq===`daily`&&i.timesPer!==void 0&&e.time)throw RangeError(`A daily frequency count needs distinct times; it cannot share one fixed clock.`);let d=i.start||!e.time&&!u?W(Y(l),o.timeZone).epochMs:a;i.start?.kind===`calendarRange`&&(d=Math.max(d,a));let f=u?24:1,p=i.freq===`hourly`?l:Y(l);if(u&&e.time){let t=Rt(e.time,o).start;p={...p,hour:Math.floor(t/3600),minute:Math.floor(t/60)%60,second:t%60}}let m=Jt(i.except??[],t),h=Jt((i.except??[]).filter(e=>Kt(e)!==void 0),t),g=1/0;if(i.start?.kind===`calendarRange`&&c?.end&&(g=W(c.end,o.timeZone).epochMs),i.until){let e=Q(i.until,s,o)[0],t=W(e.end??J(e.start,1),o.timeZone).epochMs;g===1/0&&(g=t)}if(i.span){if(!Number.isInteger(i.span.amount)||i.span.amount<=0)throw RangeError(`A recurrence duration must be positive.`);g=Math.min(g,Bt(d,i.span,o.timeZone))}let _,v,y={...i,interval:1},b=i.freq===`weekly`?G(Mt(p,o.weekStart)):0;for(let n=0;n<2928*f;n++){let r=Z(p,n,u?`hour`:`day`);if(!$t(r,p,y,b)||m(r))continue;let i=en(e,r,t,u);if(i&&!(i.start<d)){_=i,v=r;break}}if(!v||!_)throw RangeError(`No eligible recurrence start within eight years.`);if(_.start>=g)return{occurrences:[],truncated:!1};let x=G(U(Math.min(n,g),o.timeZone)),S=[],C=[],w=[],T=_.allDay?W(Y(s),o.timeZone).epochMs:a,E=0,D=i.freq===`weekly`?G(Mt(v,o.weekStart)):0,O=1e5*f,k=u||i.freq!==`weekly`||i.byDay&&i.byDay.length!==1?1:7*i.interval,A=0;for(;A<O;A+=k){let a=Z(v,A,u?`hour`:`day`);if(G(a)>x)break;if(!$t(a,v,i,D))continue;let o=A===0?_:en(e,a,t,u);if(!o)continue;let s=o.start;if(s>=Math.min(n,g)||i.count!==void 0&&E>=i.count)break;if(m(a))C.push(o),h(a)||w.push(o);else{if(E++,s>=T&&S.push(o),S.length>r)return{occurrences:S,first:_,until:g,excluded:C,dateExcluded:w,truncated:!0};if(i.count!==void 0&&E>=i.count)break}}if(A>=O&&G(Z(v,A,u?`hour`:`day`))<=x)throw RangeError(`The recurrence exceeded the 100000-day search limit. Use a narrower horizon or a later start.`);return{occurrences:S,first:_,until:g,excluded:C,dateExcluded:w,truncated:!1}}var nn=class extends Error{};function rn(e,t){return e.slice(0,t?10:19).replace(/[-:]/g,``)}function an(e,t,n){if(!t.length)return[];let r=U(n.reference,n.options.timeZone),i=-1/0;for(let e of t)for(let t of Q(e,r,n.options)){let e=t.end??J(t.start,1);i=Math.max(i,W(e,n.options.timeZone).epochMs)}return tn(e,n,i,1/0).dateExcluded??[]}function on(e,n,r){let i=n.first,a=Xt(e.recurrence,r.options.weekStart),o=r.options.timeZone,s=U(i.start,o),c=(e,t)=>i.allDay?`${e};VALUE=DATE:${rn(kt(t,o),!0)}`:`${e};TZID=${o}:${rn(kt(t,o),!1)}`;if(e.shift)throw new nn(`Shifted recurrences need an explicit calendar transformation before RRULE export.`);let l=a.except?.length===1?a.except[0]:void 0;if(l?.kind===`ordinalWeekday`&&l.recurring&&a.freq===`weekly`&&a.interval===1&&a.byDay?.length===1&&a.byDay[0]===l.day&&!a.byMonthDay&&!a.bySetPos){let e=l.ordinal>0?[1,2,3,4,5]:[-1,-2,-3,-4,-5];a={...a,freq:`monthly`,bySetPos:e.filter(e=>e!==l.ordinal),except:[]}}let u=a.byDay,d=new Set,f=[];for(let e of a.except??[]){if(e.kind===`ordinalWeekday`&&e.recurring)throw new nn(`Repeating monthly exceptions cannot be represented by a single RRULE; occurrence previews still apply them.`);let t=Kt(e);if(t)for(let e of t)d.add(e);else f.push(e)}if(d.size){if(a.bySetPos&&(u??t).some(e=>d.has(e)))throw new nn(`An ordinal recurrence with weekday exclusions cannot be represented by removing BYDAY values.`);let e=a.freq===`weekly`?[t[K(s)]]:t;u=(u??e).filter(e=>!d.has(e))}let p=[`FREQ=${a.freq.toUpperCase()}`,`INTERVAL=${a.interval}`];r.options.weekStart===`SU`&&p.push(`WKST=SU`),u?.length&&p.push(`BYDAY=${[...new Set(u)].join(`,`)}`),a.byMonth?.length&&p.push(`BYMONTH=${a.byMonth.join(`,`)}`),a.byMonthDay?.length&&p.push(`BYMONTHDAY=${a.byMonthDay.join(`,`)}`),a.bySetPos?.length&&p.push(`BYSETPOS=${a.bySetPos.join(`,`)}`),d.size&&!a.byDay&&!a.byMonthDay&&!a.bySetPos&&((a.freq===`monthly`||a.freq===`yearly`)&&p.push(`BYMONTHDAY=${s.day}`),a.freq===`yearly`&&!a.byMonth&&p.push(`BYMONTH=${s.month}`));let m=Yt(a);m&&p.push(`BYHOUR=${m.join(`,`)}`);let h=an(e,f,r);if(a.count!==void 0&&p.push(`COUNT=${a.count+h.length}`),n.until!==void 0&&Number.isFinite(n.until)){let e=n.until-1,t=i.allDay?rn(kt(e,o),!0):new Date(e).toISOString().slice(0,19).replace(/[-:]/g,``)+`Z`;p.push(`UNTIL=${t}`)}let g=[c(`DTSTART`,i.start)];if(i.end!==void 0&&g.push(c(`DTEND`,i.end)),g.push(`RRULE:${p.join(`;`)}`),h.length){let e=h.map(e=>rn(kt(e.start,o),i.allDay)).join(`,`),t=i.allDay?`VALUE=DATE`:`TZID=${o}`;g.push(`EXDATE;${t}:${e}`)}return g.join(`
3
+ `)}function sn(e,t){if(!e.until)return W(Dt(t,12),e.timeZone).epochMs;let n=e.until.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return At(e.until);let r=Q({kind:`calendar`,year:Number(n[1]),month:Number(n[2]),day:Number(n[3])},t,e)[0];return W(r.start,e.timeZone).epochMs}function cn(e,t){if(t.bareWeekdays!==`weekly`||e.recurrence||e.date?.kind!==`weekday`||e.date.modifier)return e;let{date:n,...r}=e;return{...r,recurrence:{freq:`weekly`,interval:1,byDay:[...n.days]}}}function ln(e){let t=At(e.reference),n=U(t,e.timeZone),r=e.limit??30;if(!Number.isInteger(r)||r<1||r>1e3)throw RangeError(`limit must be an integer from 1 through 1000.`);let i=sn(e,n);if(i<=t)throw RangeError(`The preview horizon must be after the reference instant.`);return{reference:t,localReference:n,limit:r,horizon:i}}function un(e){let t;return n=>(t??=ln(e),dn(n,e,t))}function dn(e,t,n){let{reference:r,localReference:i,limit:a,horizon:o}=n,s=[],c=[],l=[],u=!1;for(let[n,d]of e.clauses.entries()){let e=cn(d,t),f={reference:r,options:t,clauseIndex:n};if(e.recurrence){e.recurrence.until?.kind===`calendar`&&e.recurrence.until.day===void 0&&l.push({code:`until-month-only`,severity:`warning`,start:0,end:0,message:`Clause ${n+1}: a month-only end means the first day of that month, inclusive.`}),e.recurrence.timesPer!==void 0&&(e.recurrence.freq===`daily`||!e.recurrence.byDay)&&l.push({code:`times-per-approximated`,severity:`warning`,start:0,end:0,message:`Clause ${n+1}: unspecified frequency times were spread across whole hours or weekdays.`});let t=tn(e,f,o,a);if(t.first)try{c.push(on(e,t,f))}catch(e){if(!(e instanceof nn))throw e;l.push({code:`unsupported-export`,severity:`warning`,start:0,end:0,message:e.message})}s.push(...t.occurrences),u||=t.truncated;continue}let p=Q(e.date,i,t);for(let n of p){let r=Gt(e,n,f);(!t.until||r.start<o)&&s.push(r)}}return(e.clauses.length!==1||!e.clauses[0].recurrence)&&s.sort((e,t)=>e.start-t.start),{occurrences:s.slice(0,a).map(e=>({start:kt(e.start,t.timeZone),allDay:e.allDay,clause:e.clause,...e.open?{open:e.open}:{},...e.end===void 0?{}:{end:kt(e.end,t.timeZone)}})),rrules:c,truncated:u||s.length>a,diagnostics:l}}async function fn(t={}){let n=await _t({backend:t.backend});function r(n,r){let i=performance.now();return{expressions:r.unknownLabels?[{start:0,end:n.length,text:n,confidence:0,schedule:null,diagnostics:[{code:`unknown-model-label`,message:`The model returned an unsupported role.`,start:0,end:n.length,severity:`error`}]}]:_e(n,r.tokens,t),backend:r.backend,timings:{...r.timings,compileMs:performance.now()-i},...t.tokens?{tokens:r.tokens.map(t=>({...t,label:e[t.label]}))}:{},...r.fallbackReason?{fallbackReason:r.fallbackReason}:{}}}return{parse:async e=>r(e,await n.tag(e)),parseMany:async e=>(await n.tagMany(e)).map((t,n)=>r(e[n],t)),dispose:n.dispose}}async function pn(e={}){let t=await fn(e);function n(e){if(!e||typeof e.timeZone!=`string`||!e.timeZone.trim())throw TypeError(`timeZone is required.`);U(At(e.reference),e.timeZone);let t=e.limit??30;if(!Number.isInteger(t)||t<1||t>1e3)throw RangeError(`limit must be an integer from 1 through 1000.`);return t}function r(e,t,n,r){let i=performance.now(),a=[],o=[],s=[],c=e.expressions.flatMap(e=>e.diagnostics),l=!1;!e.expressions.length&&m(r)&&c.push({code:`no-expression`,severity:`warning`,message:`No time expression was recognized in ${JSON.stringify(r)}.`,start:0,end:r.length});for(let n of e.expressions)if(n.schedule)try{let e=t(n.schedule);a.push(...e.occurrences.map(({clause:e,...t})=>t)),o.push(...e.rrules),c.push(...e.diagnostics.map(e=>({...e,start:n.start,end:n.end}))),l||=e.truncated,s.push({start:n.start,end:n.end,text:n.text,confidence:n.confidence})}catch(e){c.push({code:`resolution-error`,severity:`error`,message:e instanceof Error?e.message:String(e),start:n.start,end:n.end})}return e.expressions.length>1&&a.sort((e,t)=>Date.parse(e.start)-Date.parse(t.start)),{occurrences:a.slice(0,n),rrules:o,spans:s,truncated:l||a.length>n,diagnostics:c,backend:e.backend,timings:{tokenizeMs:e.timings.tokenizeMs,inferMs:e.timings.inferMs,resolveMs:e.timings.compileMs+performance.now()-i},...e.fallbackReason?{fallbackReason:e.fallbackReason}:{}}}return{async parse(e,i){let a=n(i);return r(await t.parse(e),un(i),a,e)},async parseMany(e,i){if(!e.length)return[];let a=n(i),o=await t.parseMany(e),s=un(i);return o.map((t,n)=>r(t,s,a,e[n]))},dispose:t.dispose}}export{pn as defineParser};
@@ -1 +1 @@
1
- import{t as e}from"./js-realm-worker-C8L3DYxo.js";const t={EACCES:2,EBADF:8,EBUSY:10,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ELOOP:32,ENAMETOOLONG:37,ENOENT:44,ENOSPC:51,ENOSYS:52,ENOTDIR:54,ENOTEMPTY:55,EPERM:63,EROFS:69,ETIMEDOUT:73,EXDEV:75},n=4095;function r(e,n){if(n?.errno!==void 0&&n instanceof e.ErrnoError)return n;let r=n?.code,i=typeof r==`string`?t[r]??29:29;return new e.ErrnoError(i)}function i(e){let t=[],n=e;for(;n!==n.mount.root;)t.push(n.name),n=n.parent;let r=e.mount.opts.root.replace(/\/+$/,``);return t.length===0?r||`/`:`${r}/${t.reverse().join(`/`)}`}function a(e){let t=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return t|((e.mode??r)&n||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(e,t){let n=e=>e.mount.opts.bridge;function o(t){try{return t()}catch(t){throw r(e,t)}}function s(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function c(n,r,i){let o=e.createNode(n,r,a(i),0);return o.node_ops=t.node,o.stream_ops=t.stream,o.live=s(i),o}function l(e){if(!e.live.stat){let t=o(()=>n(e).lstat(i(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function u(e,t){let n=i(e);return n===`/`?`/${t}`:`${n}/${t}`}function d(e){let t=e.live;if(t.loaded)return;let r=o(()=>n(e).readFile(i(e)));t.data=r,t.len=r.length,t.loaded=!0}function f(e,t){let n=e.live,r=n.data??new Uint8Array;if(r.length>=t)return r;let i=new Uint8Array(Math.max(t,r.length*2,256));return i.set(r.subarray(0,n.len)),n.data=i,i}function p(e){let t=e.live;if(!t.dirty||!t.data)return;let r=t.data.slice(0,t.len);o(()=>n(e).writeFile(i(e),r)),t.dirty=!1,t.stat=void 0}function m(e,t){let r=e.live;if(r.openCount>0){t>0?d(e):r.loaded=!0;let n=f(e,t);t>r.len&&n.fill(0,r.len,t),r.len=t,r.dirty=!0;return}let a=i(e),s=new Uint8Array(t);if(t>0){let r=o(()=>n(e).readFile(a));s.set(r.subarray(0,Math.min(t,r.length)))}o(()=>n(e).writeFile(a,s)),r.stat=void 0}return{Fs:e,bridgeOf:n,call:o,makeNode:c,statOf:l,childPath:u,ensureLoaded:d,ensureCapacity:f,flushNode:p,truncate:m}}function c(e){let{Fs:r,bridgeOf:a,call:s,makeNode:c,statOf:l,childPath:u,flushNode:d,truncate:f}=e;return{getattr(e){let t=l(e),n=e.live,i=r.isDir(e.mode)?4096:n.loaded?n.len:t.size,a=new Date(t.mtimeMs??0);return{dev:1,ino:e.id,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:i,atime:a,mtime:a,ctime:a,blksize:4096,blocks:Math.ceil(i/4096)}},setattr(e,t){let c=i(e);if(t.mode!==void 0&&t.mode!==null){let r=t.mode&n;r!==(e.mode&n)&&(s(()=>a(e).chmod(c,r)),e.mode=e.mode&-4096|r)}t.size!==void 0&&t.size!==null&&r.isFile(e.mode)&&f(e,t.size);let l=o(t.mtime)??t.timestamp;if(l!==void 0){let n=o(t.atime)??l;d(e),s(()=>a(e).utimes(c,n,l))}e.live.stat=void 0},lookup(e,t){let n=s(()=>a(e).lstat(u(e,t)));return c(e,t,n)},mknod(e,n,i){let o=u(e,n);if(r.isDir(i))s(()=>a(e).mkdir(o));else if(r.isFile(i))s(()=>a(e).writeFile(o,new Uint8Array));else throw new r.ErrnoError(t.EPERM);let l=c(e,n,{isFile:r.isFile(i),isDirectory:r.isDir(i),isSymbolicLink:!1,size:0,mode:i,mtimeMs:Date.now()});return l.live.stat=void 0,l},rename(e,t,n){let o=i(e),c=u(t,n);d(e),s(()=>a(e).rename(o,c));try{let i=r.lookupNode?.(t,n);i&&i!==e&&r.hashRemoveNode?.(i)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){s(()=>a(e).unlink(u(e,t)))},rmdir(e,t){s(()=>a(e).rmdir(u(e,t)))},readdir(e){return[`.`,`..`,...s(()=>a(e).readdir(i(e)))]},symlink(e,t,n){let r=u(e,t);return s(()=>a(e).symlink(n,r)),c(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(e){if(!r.isLink(e.mode))throw new r.ErrnoError(t.EINVAL);return s(()=>a(e).readlink(i(e)))}}}function l(e){let{Fs:n,statOf:r,ensureLoaded:i,ensureCapacity:a,flushNode:o}=e;return{open(e){n.isFile(e.node.mode)&&e.node.live.openCount++},close(e){let t=e.node;if(!n.isFile(t.mode))return;let r=t.live;if(r.openCount=Math.max(0,r.openCount-1),!(r.openCount>0))try{o(t)}finally{r.data=void 0,r.len=0,r.loaded=!1}},read(e,r,a,o,s){let c=e.node;if(n.isDir(c.mode))throw new n.ErrnoError(t.EISDIR);i(c);let l=c.live;if(s>=l.len||o<=0)return 0;let u=Math.min(o,l.len-s);return new Uint8Array(r.buffer,r.byteOffset+a,u).set(l.data.subarray(s,s+u)),u},write(e,r,o,s,c){let l=e.node;if(n.isDir(l.mode))throw new n.ErrnoError(t.EISDIR);if(s<=0)return 0;i(l);let u=l.live,d=c+s,f=a(l,d);return c>u.len&&f.fill(0,u.len,c),f.set(new Uint8Array(r.buffer,r.byteOffset+o,s),c),u.len=Math.max(u.len,d),u.dirty=!0,s},llseek(e,i,a){let o=i;if(a===1)o+=e.position;else if(a===2&&n.isFile(e.node.mode)){let t=e.node.live;o+=t.loaded?t.len:r(e.node).size}if(o<0)throw new n.ErrnoError(t.EINVAL);return o},fsync(e){o(e.node)}}}function u(e){let n=new Set,r={},i=s(e,r),a=c(i),o=l(i);return r.node=a,r.stream=o,{mounts:n,node_ops:a,stream_ops:o,mount(r){let a=i.call(()=>r.opts.bridge.stat(r.opts.root));if(!a.isDirectory)throw new e.ErrnoError(t.ENOTDIR);let o=i.makeNode(null,`/`,a);return n.add(r),o}}}function d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let n of e.nameTable??[])for(let a=n;a;a=a.name_next??null)if(!(!d(t,a)||!a.live.dirty||!a.live.data))try{let e=a.live.data.slice(0,a.live.len);a.mount.opts.bridge.writeFile(i(a),e),a.live.dirty=!1}catch(t){throw r(e,t)}}function p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(t,n))continue;let e=n.live;e.stat=void 0,e.openCount===0?n!==n.mount.root&&r.push(n):e.loaded&&!e.dirty&&(e.data=void 0,e.len=0,e.loaded=!1)}if(e.hashRemoveNode)for(let t of r)e.hashRemoveNode(t)}function m(e){let t=[...new Set(e.map(e=>e.replace(/\/+$/,``)||`/`))].sort();return t.filter(e=>!t.some(t=>t!==e&&(t===`/`||e.startsWith(`${t}/`))))}function h(e,t,n,r){let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(n))if(o!==`/`)try{e.mkdirTree(o),e.mount(i,{root:o,bridge:t},o),a.push(o)}catch(e){r(`live VFS mount of ${o} failed: ${e instanceof Error?e.message:String(e)}`)}return{plugin:i,mounted:a}}const g=new Set([`dev`,`proc`]),_=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function v(t,n){let r={...t};for(let i of _){let a=t[i];r[i]=(...r)=>{n.wasUsed()&&e(n,t);try{a.apply(t,r)}finally{n.invalidate()}}}return r}function y(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=[];for(let t of n)if(!(!t||t.includes(`/`)||g.has(t)))try{e.stat(`/${t}`).isDirectory&&r.push(`/${t}`)}catch{}return r}function b(t,n,r={}){let{bridge:i,syncFs:a,warn:o}=n;a.wasUsed()&&e(a,i);let{plugin:s,mounted:c}=h(t,v(i,a),y(i,o),o);try{t.chdir(r.cwd??n.cwd)}catch(e){o(`cannot chdir to ${r.cwd??n.cwd}: ${String(e)}`)}return{mounted:c,flush:()=>f(t,s),invalidate:()=>p(t,s)}}export{b as mountVfsIntoEmscripten};
1
+ import{t as e}from"./js-realm-worker-EkjzOn2Q.js";const t={EACCES:2,EBADF:8,EBUSY:10,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ELOOP:32,ENAMETOOLONG:37,ENOENT:44,ENOSPC:51,ENOSYS:52,ENOTDIR:54,ENOTEMPTY:55,EPERM:63,EROFS:69,ETIMEDOUT:73,EXDEV:75},n=4095;function r(e,n){if(n?.errno!==void 0&&n instanceof e.ErrnoError)return n;let r=n?.code,i=typeof r==`string`?t[r]??29:29;return new e.ErrnoError(i)}function i(e){let t=[],n=e;for(;n!==n.mount.root;)t.push(n.name),n=n.parent;let r=e.mount.opts.root.replace(/\/+$/,``);return t.length===0?r||`/`:`${r}/${t.reverse().join(`/`)}`}function a(e){let t=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return t|((e.mode??r)&n||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(e,t){let n=e=>e.mount.opts.bridge;function o(t){try{return t()}catch(t){throw r(e,t)}}function s(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function c(n,r,i){let o=e.createNode(n,r,a(i),0);return o.node_ops=t.node,o.stream_ops=t.stream,o.live=s(i),o}function l(e){if(!e.live.stat){let t=o(()=>n(e).lstat(i(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function u(e,t){let n=i(e);return n===`/`?`/${t}`:`${n}/${t}`}function d(e){let t=e.live;if(t.loaded)return;let r=o(()=>n(e).readFile(i(e)));t.data=r,t.len=r.length,t.loaded=!0}function f(e,t){let n=e.live,r=n.data??new Uint8Array;if(r.length>=t)return r;let i=new Uint8Array(Math.max(t,r.length*2,256));return i.set(r.subarray(0,n.len)),n.data=i,i}function p(e){let t=e.live;if(!t.dirty||!t.data)return;let r=t.data.slice(0,t.len);o(()=>n(e).writeFile(i(e),r)),t.dirty=!1,t.stat=void 0}function m(e,t){let r=e.live;if(r.openCount>0){t>0?d(e):r.loaded=!0;let n=f(e,t);t>r.len&&n.fill(0,r.len,t),r.len=t,r.dirty=!0;return}let a=i(e),s=new Uint8Array(t);if(t>0){let r=o(()=>n(e).readFile(a));s.set(r.subarray(0,Math.min(t,r.length)))}o(()=>n(e).writeFile(a,s)),r.stat=void 0}return{Fs:e,bridgeOf:n,call:o,makeNode:c,statOf:l,childPath:u,ensureLoaded:d,ensureCapacity:f,flushNode:p,truncate:m}}function c(e){let{Fs:r,bridgeOf:a,call:s,makeNode:c,statOf:l,childPath:u,flushNode:d,truncate:f}=e;return{getattr(e){let t=l(e),n=e.live,i=r.isDir(e.mode)?4096:n.loaded?n.len:t.size,a=new Date(t.mtimeMs??0);return{dev:1,ino:e.id,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:i,atime:a,mtime:a,ctime:a,blksize:4096,blocks:Math.ceil(i/4096)}},setattr(e,t){let c=i(e);if(t.mode!==void 0&&t.mode!==null){let r=t.mode&n;r!==(e.mode&n)&&(s(()=>a(e).chmod(c,r)),e.mode=e.mode&-4096|r)}t.size!==void 0&&t.size!==null&&r.isFile(e.mode)&&f(e,t.size);let l=o(t.mtime)??t.timestamp;if(l!==void 0){let n=o(t.atime)??l;d(e),s(()=>a(e).utimes(c,n,l))}e.live.stat=void 0},lookup(e,t){let n=s(()=>a(e).lstat(u(e,t)));return c(e,t,n)},mknod(e,n,i){let o=u(e,n);if(r.isDir(i))s(()=>a(e).mkdir(o));else if(r.isFile(i))s(()=>a(e).writeFile(o,new Uint8Array));else throw new r.ErrnoError(t.EPERM);let l=c(e,n,{isFile:r.isFile(i),isDirectory:r.isDir(i),isSymbolicLink:!1,size:0,mode:i,mtimeMs:Date.now()});return l.live.stat=void 0,l},rename(e,t,n){let o=i(e),c=u(t,n);d(e),s(()=>a(e).rename(o,c));try{let i=r.lookupNode?.(t,n);i&&i!==e&&r.hashRemoveNode?.(i)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){s(()=>a(e).unlink(u(e,t)))},rmdir(e,t){s(()=>a(e).rmdir(u(e,t)))},readdir(e){return[`.`,`..`,...s(()=>a(e).readdir(i(e)))]},symlink(e,t,n){let r=u(e,t);return s(()=>a(e).symlink(n,r)),c(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(e){if(!r.isLink(e.mode))throw new r.ErrnoError(t.EINVAL);return s(()=>a(e).readlink(i(e)))}}}function l(e){let{Fs:n,statOf:r,ensureLoaded:i,ensureCapacity:a,flushNode:o}=e;return{open(e){n.isFile(e.node.mode)&&e.node.live.openCount++},close(e){let t=e.node;if(!n.isFile(t.mode))return;let r=t.live;if(r.openCount=Math.max(0,r.openCount-1),!(r.openCount>0))try{o(t)}finally{r.data=void 0,r.len=0,r.loaded=!1}},read(e,r,a,o,s){let c=e.node;if(n.isDir(c.mode))throw new n.ErrnoError(t.EISDIR);i(c);let l=c.live;if(s>=l.len||o<=0)return 0;let u=Math.min(o,l.len-s);return new Uint8Array(r.buffer,r.byteOffset+a,u).set(l.data.subarray(s,s+u)),u},write(e,r,o,s,c){let l=e.node;if(n.isDir(l.mode))throw new n.ErrnoError(t.EISDIR);if(s<=0)return 0;i(l);let u=l.live,d=c+s,f=a(l,d);return c>u.len&&f.fill(0,u.len,c),f.set(new Uint8Array(r.buffer,r.byteOffset+o,s),c),u.len=Math.max(u.len,d),u.dirty=!0,s},llseek(e,i,a){let o=i;if(a===1)o+=e.position;else if(a===2&&n.isFile(e.node.mode)){let t=e.node.live;o+=t.loaded?t.len:r(e.node).size}if(o<0)throw new n.ErrnoError(t.EINVAL);return o},fsync(e){o(e.node)}}}function u(e){let n=new Set,r={},i=s(e,r),a=c(i),o=l(i);return r.node=a,r.stream=o,{mounts:n,node_ops:a,stream_ops:o,mount(r){let a=i.call(()=>r.opts.bridge.stat(r.opts.root));if(!a.isDirectory)throw new e.ErrnoError(t.ENOTDIR);let o=i.makeNode(null,`/`,a);return n.add(r),o}}}function d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let n of e.nameTable??[])for(let a=n;a;a=a.name_next??null)if(!(!d(t,a)||!a.live.dirty||!a.live.data))try{let e=a.live.data.slice(0,a.live.len);a.mount.opts.bridge.writeFile(i(a),e),a.live.dirty=!1}catch(t){throw r(e,t)}}function p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(t,n))continue;let e=n.live;e.stat=void 0,e.openCount===0?n!==n.mount.root&&r.push(n):e.loaded&&!e.dirty&&(e.data=void 0,e.len=0,e.loaded=!1)}if(e.hashRemoveNode)for(let t of r)e.hashRemoveNode(t)}function m(e){let t=[...new Set(e.map(e=>e.replace(/\/+$/,``)||`/`))].sort();return t.filter(e=>!t.some(t=>t!==e&&(t===`/`||e.startsWith(`${t}/`))))}function h(e,t,n,r){let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(n))if(o!==`/`)try{e.mkdirTree(o),e.mount(i,{root:o,bridge:t},o),a.push(o)}catch(e){r(`live VFS mount of ${o} failed: ${e instanceof Error?e.message:String(e)}`)}return{plugin:i,mounted:a}}const g=new Set([`dev`,`proc`]),_=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function v(t,n){let r={...t};for(let i of _){let a=t[i];r[i]=(...r)=>{n.wasUsed()&&e(n,t);try{a.apply(t,r)}finally{n.invalidate()}}}return r}function y(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=[];for(let t of n)if(!(!t||t.includes(`/`)||g.has(t)))try{e.stat(`/${t}`).isDirectory&&r.push(`/${t}`)}catch{}return r}function b(t,n,r={}){let{bridge:i,syncFs:a,warn:o}=n;a.wasUsed()&&e(a,i);let{plugin:s,mounted:c}=h(t,v(i,a),y(i,o),o);try{t.chdir(r.cwd??n.cwd)}catch(e){o(`cannot chdir to ${r.cwd??n.cwd}: ${String(e)}`)}return{mounted:c,flush:()=>f(t,s),invalidate:()=>p(t,s)}}export{b as mountVfsIntoEmscripten};
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-CNe6icTW.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-DfMXB1pm.js";import{f as n,p as r,r as i}from"./installer-hyWN7t-8.js";e(`speech:espeak`);const a=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.asyncify.wasm`,`ort-wasm-simd-threaded.jspi.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jspi.wasm`],o=e(`speech:ensure-assets`),s=`onnxruntime-web`,c=`${s}@1.31.0-dev.20260914-8d85527a0`,l=`espeak-ng`,u=[`espeak-ng.js`,`espeak-ng.wasm`],d=`/workspace`,f=t,p=a.filter(e=>!/\.(asyncify|jspi)\./.test(e));async function m(e){try{let t=await e.readFile(`/workspace/node_modules/onnxruntime-web/package.json`,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);if(r&&typeof r==`object`&&`version`in r&&typeof r.version==`string`)return r.version}catch{}return null}async function h(e,t){let n=await Promise.all(p.map(t=>e.fs.exists(`/workspace/node_modules/onnxruntime-web/dist/${t}`))),r=await m(e.fs);if(n.every(Boolean)&&r===`1.31.0-dev.20260914-8d85527a0`)return t?.({asset:s,phase:`present`}),!1;t?.({asset:s,phase:`staging`});let{errors:a}=await i([c],{fs:e.fs,fetch:e.fetch,cwd:d});if(a.length>0)throw Error(`failed to stage ${s} wasm runtime: ${a[0].error.message}`);return t?.({asset:s,phase:`done`}),!0}async function g(e,t){if((await Promise.all(u.map(t=>e.fs.exists(`/workspace/node_modules/espeak-ng/dist/${t}`)))).every(Boolean))return t?.({asset:l,phase:`present`}),!1;t?.({asset:l,phase:`staging`});let{errors:n}=await i([l],{fs:e.fs,fetch:e.fetch,cwd:d});if(n.length>0)throw Error(`failed to stage ${l} wasm: ${n[0].error.message}`);return t?.({asset:l,phase:`done`}),!0}async function _(e,t){try{return await g(e,t)}catch(e){return o.warn(`optional espeak-ng staging failed; non-English Kokoro voices may fall back`,e),!1}}async function v(e,t,i){let a=r(t,null,d),o=0,s=await n({fetch:e.fetch,fs:e.fs,repo:t,targetDir:a,progress:{onListed:({files:e,totalBytes:n})=>i?.({asset:t,phase:`listing`,filesLoaded:0,filesTotal:e.length,bytesLoaded:0,bytesTotal:n}),onFile:e=>{o+=e.bytes,i?.({asset:t,phase:e.status,file:e.file,filesLoaded:e.index,filesTotal:e.total,bytesLoaded:o})}}});return i?.({asset:t,phase:`done`,filesLoaded:s.files.length,filesTotal:s.files.length,bytesLoaded:o,bytesTotal:o}),{repo:t,downloaded:s.downloaded,skipped:s.skipped}}async function y(e,t){if(f())return{skipped:!0,ortStaged:!1,espeakStaged:!1,repos:[]};let n=await h(e,t),r=e.repos??[`onnx-community/whisper-tiny`,`onnx-community/Kokoro-82M-v1.0-ONNX`],i=[];for(let n of r)i.push(await v(e,n,t));let a=await _(e,t);return o.info(`speech assets staged`,{ortStaged:n,espeakStaged:a,repos:i.length}),{skipped:!1,ortStaged:n,espeakStaged:a,repos:i}}export{y as ensureSpeechAssetsStaged};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-J19bK2dG.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-DfMXB1pm.js";import{f as n,p as r,r as i}from"./installer-CzQ_lEMz.js";e(`speech:espeak`);const a=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.asyncify.wasm`,`ort-wasm-simd-threaded.jspi.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jspi.wasm`],o=e(`speech:ensure-assets`),s=`onnxruntime-web`,c=`${s}@1.31.0-dev.20260914-8d85527a0`,l=`espeak-ng`,u=[`espeak-ng.js`,`espeak-ng.wasm`],d=`/workspace`,f=t,p=a.filter(e=>!/\.(asyncify|jspi)\./.test(e));async function m(e){try{let t=await e.readFile(`/workspace/node_modules/onnxruntime-web/package.json`,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);if(r&&typeof r==`object`&&`version`in r&&typeof r.version==`string`)return r.version}catch{}return null}async function h(e,t){let n=await Promise.all(p.map(t=>e.fs.exists(`/workspace/node_modules/onnxruntime-web/dist/${t}`))),r=await m(e.fs);if(n.every(Boolean)&&r===`1.31.0-dev.20260914-8d85527a0`)return t?.({asset:s,phase:`present`}),!1;t?.({asset:s,phase:`staging`});let{errors:a}=await i([c],{fs:e.fs,fetch:e.fetch,cwd:d});if(a.length>0)throw Error(`failed to stage ${s} wasm runtime: ${a[0].error.message}`);return t?.({asset:s,phase:`done`}),!0}async function g(e,t){if((await Promise.all(u.map(t=>e.fs.exists(`/workspace/node_modules/espeak-ng/dist/${t}`)))).every(Boolean))return t?.({asset:l,phase:`present`}),!1;t?.({asset:l,phase:`staging`});let{errors:n}=await i([l],{fs:e.fs,fetch:e.fetch,cwd:d});if(n.length>0)throw Error(`failed to stage ${l} wasm: ${n[0].error.message}`);return t?.({asset:l,phase:`done`}),!0}async function _(e,t){try{return await g(e,t)}catch(e){return o.warn(`optional espeak-ng staging failed; non-English Kokoro voices may fall back`,e),!1}}async function v(e,t,i){let a=r(t,null,d),o=0,s=await n({fetch:e.fetch,fs:e.fs,repo:t,targetDir:a,progress:{onListed:({files:e,totalBytes:n})=>i?.({asset:t,phase:`listing`,filesLoaded:0,filesTotal:e.length,bytesLoaded:0,bytesTotal:n}),onFile:e=>{o+=e.bytes,i?.({asset:t,phase:e.status,file:e.file,filesLoaded:e.index,filesTotal:e.total,bytesLoaded:o})}}});return i?.({asset:t,phase:`done`,filesLoaded:s.files.length,filesTotal:s.files.length,bytesLoaded:o,bytesTotal:o}),{repo:t,downloaded:s.downloaded,skipped:s.skipped}}async function y(e,t){if(f())return{skipped:!0,ortStaged:!1,espeakStaged:!1,repos:[]};let n=await h(e,t),r=e.repos??[`onnx-community/whisper-tiny`,`onnx-community/Kokoro-82M-v1.0-ONNX`],i=[];for(let n of r)i.push(await v(e,n,t));let a=await _(e,t);return o.info(`speech assets staged`,{ortStaged:n,espeakStaged:a,repos:i.length}),{skipped:!1,ortStaged:n,espeakStaged:a,repos:i}}export{y as ensureSpeechAssetsStaged};
@@ -1 +1 @@
1
- import{r as e}from"./base64-BPBW1Gzr.js";import{t}from"./content-type-_QKWY0B2.js";import{l as n,s as r}from"./types-BfwydWt7.js";import{r as i}from"./boundary-Cp9c_bPu.js";import{t as a}from"./request-body-BF4moGct.js";function o(n){let i=n.adapter===`extension-direct`,a={callSecrets:n.callSecrets??(e=>c(i,e)),callMount:n.callMount??((e,t)=>l(i,e,t)),crossOriginFetch:n.crossOriginFetch??(e=>u(i,e)),requestApproval:n.requestApproval??(e=>f(i,e))};async function o(e,t,n){try{return{ok:!0,value:await n()}}catch(n){return r(e,t,n instanceof Error?n.message:String(n))}}async function s(e){let t=await o(`secrets`,e,()=>a.callSecrets({type:`secrets.list-masked-entries`}));if(!t.ok)return t;let n=t.value;return n?.error?r(`secrets`,e,n.error):Array.isArray(n?.entries)?{ok:!0,value:n.entries}:r(`secrets`,e,`secrets bridge returned no entries`)}async function d(e){let t=await o(`secrets`,`set`,()=>a.callSecrets({type:e.scope===`persisted`?`secrets.set`:`secrets.session.set`,name:e.name,value:e.value,domains:[...e.domains??[]]}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:void 0}:r(`secrets`,`set`,n?.error??`secrets.set failed`)}async function p(e){let t=await o(`secrets`,`delete`,()=>a.callSecrets({type:`secrets.delete`,name:e.name}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:{removed:n.removed??!0,fromSession:n.fromSession===!0}}:r(`secrets`,`delete`,n?.error??`secrets.delete failed`)}async function m(n){let r=await o(`network`,`crossOriginFetch`,()=>a.crossOriginFetch(n));if(!r.ok)return r;let i=r.value,s=t(i.headers[`content-type`]??``);return{ok:!0,value:{status:i.status,ok:i.status>=200&&i.status<300,statusText:i.statusText,headers:i.headers,body:s?new TextDecoder().decode(i.bytes):e(i.bytes),bodyEncoding:s?`text`:`base64`,url:n.url}}}async function h(e){let t=await o(`mounts`,`signRequest`,()=>a.callMount(e.backend===`s3`?`mount.s3-sign-and-forward`:`mount.da-sign-and-forward`,e.envelope));return t.ok?t.value&&typeof t.value.ok==`boolean`?{ok:!0,value:t.value}:r(`mounts`,`signRequest`,`mount bridge returned no envelope`):t}return{crossOriginFetch:m,secrets:{async listMaskedEnv(){let e=await s(`listMaskedEnv`);return e.ok?{ok:!0,value:{entries:e.value}}:e},async getMasked(e){let t=await s(`getMasked`);if(!t.ok)return t;let n=t.value.find(t=>t.name===e.name);return n?{ok:!0,value:n}:r(`secrets`,`getMasked`,`no secret named "${e.name}"`)},set:d,delete:p},signRequest:h,requestApproval:e=>o(`approvals`,`request`,()=>a.requestApproval(e))}}function s(e){return new Promise((t,n)=>{chrome.runtime.sendMessage(e,e=>{let r=chrome.runtime.lastError;r?n(Error(r.message??`chrome.runtime.lastError`)):t(e)})})}async function c(e,t){if(e)return s(t);let{callSecretsBridge:n}=await import(`./secrets-bridge-client-kWWipUuL.js`).then(e=>e.n),{type:r,...i}=t;return n(r,i)}async function l(e,t,n){if(e)return await i(s({type:t,envelope:n}),12e4);let{callMountBridge:r}=await import(`./mount-bridge-client-BMkDfg_K.js`);return r(t,n)}async function u(e,t){let{collectViaExtensionDelegate:n,collectViaExtensionPort:r,REQUEST_BODY_CAP:i}=await import(`./proxied-fetch-CNe6icTW.js`).then(e=>e.i),o=a(t);if(o!==void 0&&o.byteLength>i)throw Error(`request body is ${o.byteLength} bytes, over the ${i}-byte proxy limit`);let{head:s,body:c}=await(e?r:n)(t.url,{method:t.method??`GET`,headers:t.headers,...o===void 0?{}:{body:o}});return{status:s.status,statusText:s.statusText,headers:s.headers,bytes:new Uint8Array(c)}}function d(e,t){return t?new Promise((n,r)=>{if(t.aborted){r(Error(`approval relay cancelled before it was sent`));return}let i=()=>r(Error(`approval relay did not answer`));t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))}):e}async function f(e,t){let r=t.suggestedPattern??t.detail,i={kind:t.kind,detail:t.detail,suggestedPattern:r,...t.requester?{requester:t.requester}:{},...t.reason?{reason:t.reason}:{},...t.approver?{approver:t.approver}:{}};if(e){let e=await d(s({source:`offscreen`,payload:{type:`sudo-request`,request:i}}),t.signal);if(!e?.ok||e.decision===void 0)throw Error(e?.error??`sudo relay returned no decision`);return n(e.decision,r)}let{getPanelRpcClient:a}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),o=a();if(!o)throw Error(`panel-RPC client unavailable in this realm`);let{decision:c}=await d(o.call(`sudo-request`,{request:i},{timeoutMs:6e5}),t.signal);return n(c,r)}export{o as createExtensionOps};
1
+ import{r as e}from"./base64-BPBW1Gzr.js";import{t}from"./content-type-_QKWY0B2.js";import{l as n,s as r}from"./types-BfwydWt7.js";import{r as i}from"./boundary-Cp9c_bPu.js";import{t as a}from"./request-body-BF4moGct.js";function o(n){let i=n.adapter===`extension-direct`,a={callSecrets:n.callSecrets??(e=>c(i,e)),callMount:n.callMount??((e,t)=>l(i,e,t)),crossOriginFetch:n.crossOriginFetch??(e=>u(i,e)),requestApproval:n.requestApproval??(e=>f(i,e))};async function o(e,t,n){try{return{ok:!0,value:await n()}}catch(n){return r(e,t,n instanceof Error?n.message:String(n))}}async function s(e){let t=await o(`secrets`,e,()=>a.callSecrets({type:`secrets.list-masked-entries`}));if(!t.ok)return t;let n=t.value;return n?.error?r(`secrets`,e,n.error):Array.isArray(n?.entries)?{ok:!0,value:n.entries}:r(`secrets`,e,`secrets bridge returned no entries`)}async function d(e){let t=await o(`secrets`,`set`,()=>a.callSecrets({type:e.scope===`persisted`?`secrets.set`:`secrets.session.set`,name:e.name,value:e.value,domains:[...e.domains??[]]}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:void 0}:r(`secrets`,`set`,n?.error??`secrets.set failed`)}async function p(e){let t=await o(`secrets`,`delete`,()=>a.callSecrets({type:`secrets.delete`,name:e.name}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:{removed:n.removed??!0,fromSession:n.fromSession===!0}}:r(`secrets`,`delete`,n?.error??`secrets.delete failed`)}async function m(n){let r=await o(`network`,`crossOriginFetch`,()=>a.crossOriginFetch(n));if(!r.ok)return r;let i=r.value,s=t(i.headers[`content-type`]??``);return{ok:!0,value:{status:i.status,ok:i.status>=200&&i.status<300,statusText:i.statusText,headers:i.headers,body:s?new TextDecoder().decode(i.bytes):e(i.bytes),bodyEncoding:s?`text`:`base64`,url:n.url}}}async function h(e){let t=await o(`mounts`,`signRequest`,()=>a.callMount(e.backend===`s3`?`mount.s3-sign-and-forward`:`mount.da-sign-and-forward`,e.envelope));return t.ok?t.value&&typeof t.value.ok==`boolean`?{ok:!0,value:t.value}:r(`mounts`,`signRequest`,`mount bridge returned no envelope`):t}return{crossOriginFetch:m,secrets:{async listMaskedEnv(){let e=await s(`listMaskedEnv`);return e.ok?{ok:!0,value:{entries:e.value}}:e},async getMasked(e){let t=await s(`getMasked`);if(!t.ok)return t;let n=t.value.find(t=>t.name===e.name);return n?{ok:!0,value:n}:r(`secrets`,`getMasked`,`no secret named "${e.name}"`)},set:d,delete:p},signRequest:h,requestApproval:e=>o(`approvals`,`request`,()=>a.requestApproval(e))}}function s(e){return new Promise((t,n)=>{chrome.runtime.sendMessage(e,e=>{let r=chrome.runtime.lastError;r?n(Error(r.message??`chrome.runtime.lastError`)):t(e)})})}async function c(e,t){if(e)return s(t);let{callSecretsBridge:n}=await import(`./secrets-bridge-client-CUClOhLJ.js`).then(e=>e.n),{type:r,...i}=t;return n(r,i)}async function l(e,t,n){if(e)return await i(s({type:t,envelope:n}),12e4);let{callMountBridge:r}=await import(`./mount-bridge-client-DRVFK3mJ.js`);return r(t,n)}async function u(e,t){let{collectViaExtensionDelegate:n,collectViaExtensionPort:r,REQUEST_BODY_CAP:i}=await import(`./proxied-fetch-J19bK2dG.js`).then(e=>e.i),o=a(t);if(o!==void 0&&o.byteLength>i)throw Error(`request body is ${o.byteLength} bytes, over the ${i}-byte proxy limit`);let{head:s,body:c}=await(e?r:n)(t.url,{method:t.method??`GET`,headers:t.headers,...o===void 0?{}:{body:o}});return{status:s.status,statusText:s.statusText,headers:s.headers,bytes:new Uint8Array(c)}}function d(e,t){return t?new Promise((n,r)=>{if(t.aborted){r(Error(`approval relay cancelled before it was sent`));return}let i=()=>r(Error(`approval relay did not answer`));t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))}):e}async function f(e,t){let r=t.suggestedPattern??t.detail,i={kind:t.kind,detail:t.detail,suggestedPattern:r,...t.requester?{requester:t.requester}:{},...t.reason?{reason:t.reason}:{},...t.approver?{approver:t.approver}:{}};if(e){let e=await d(s({source:`offscreen`,payload:{type:`sudo-request`,request:i}}),t.signal);if(!e?.ok||e.decision===void 0)throw Error(e?.error??`sudo relay returned no decision`);return n(e.decision,r)}let{getPanelRpcClient:a}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),o=a();if(!o)throw Error(`panel-RPC client unavailable in this realm`);let{decision:c}=await d(o.call(`sudo-request`,{request:i},{timeoutMs:6e5}),t.signal);return n(c,r)}export{o as createExtensionOps};
@@ -1 +1 @@
1
- import"./proxied-fetch-BlIpeDaL.js";import{n as e}from"./runtime-env-Dlaokqg1.js";import{i as t}from"./api-endpoint-DuEQRZ4g.js";function n(){return e()?`extension-direct`:t()?`extension-delegate`:globalThis.__slicc_connect_mode?`connect`:`node-rest`}function r(){return n()===`node-rest`}export{n,r as t};
1
+ import"./proxied-fetch-DiXk_XGs.js";import{n as e}from"./runtime-env-Dlaokqg1.js";import{i as t}from"./api-endpoint-DuEQRZ4g.js";function n(){return e()?`extension-direct`:t()?`extension-delegate`:globalThis.__slicc_connect_mode?`connect`:`node-rest`}function r(){return n()===`node-rest`}export{n,r as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{n as t}from"./proxied-fetch-BlIpeDaL.js";import{n,t as r}from"./navigation-watcher-CPcnZL9l.js";import{t as i}from"./discovery-preference-C7kFEKRM.js";var a=e(`follower-navigate-watcher`);function o(e){let n=t();return{onDiscovery:t=>{let n=e();if(!n){a.warn(`discovery lick dropped — no follower sync connected`,{url:t.url});return}n.forwardLick({type:`discovery`,targetScoop:void 0,timestamp:new Date().toISOString(),discoveryOrigin:t.origin,discoveryKind:t.kind,discoveryUrl:t.url,discoverySource:`live-navigation`,body:{origin:t.origin,kind:t.kind,url:t.url,targetId:t.targetId}})},probeFetch:async(e,t)=>{let r=n(e,{method:t?.method??`GET`}),i=t?.signal,a=i?await Promise.race([r,new Promise((e,t)=>{if(i.aborted){t(Error(`aborted`));return}i.addEventListener(`abort`,()=>t(Error(`aborted`)),{once:!0})})]):await r,o=a.headers;return{ok:a.status>=200&&a.status<300,status:a.status,headers:{get(e){return o?o[e.toLowerCase()]??o[e]??null:null}}}},isDiscoveryEnabled:()=>i()}}function s(e,t){let i=new r(e,e=>{let n={url:e.url,verb:e.verb,target:e.target};e.instruction!=null&&(n.instruction=e.instruction),e.branch!=null&&(n.branch=e.branch),e.path!=null&&(n.path=e.path),e.title!=null&&(n.title=e.title);let r=t();if(!r){a.warn(`navigate lick dropped — no follower sync connected`,{url:e.url});return}r.forwardLick({type:`navigate`,navigateUrl:e.url,targetScoop:void 0,timestamp:new Date().toISOString(),body:n})},{...o(t),isOwnTab:n(()=>globalThis.location?.href??null)});return i.start(),()=>void i.stop()}export{s as startFollowerNavigateWatcher};
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{n as t}from"./proxied-fetch-DiXk_XGs.js";import{n,t as r}from"./navigation-watcher-CPcnZL9l.js";import{t as i}from"./discovery-preference-MWZVi-PZ.js";var a=e(`follower-navigate-watcher`);function o(e){let n=t();return{onDiscovery:t=>{let n=e();if(!n){a.warn(`discovery lick dropped — no follower sync connected`,{url:t.url});return}n.forwardLick({type:`discovery`,targetScoop:void 0,timestamp:new Date().toISOString(),discoveryOrigin:t.origin,discoveryKind:t.kind,discoveryUrl:t.url,discoverySource:`live-navigation`,body:{origin:t.origin,kind:t.kind,url:t.url,targetId:t.targetId}})},probeFetch:async(e,t)=>{let r=n(e,{method:t?.method??`GET`}),i=t?.signal,a=i?await Promise.race([r,new Promise((e,t)=>{if(i.aborted){t(Error(`aborted`));return}i.addEventListener(`abort`,()=>t(Error(`aborted`)),{once:!0})})]):await r,o=a.headers;return{ok:a.status>=200&&a.status<300,status:a.status,headers:{get(e){return o?o[e.toLowerCase()]??o[e]??null:null}}}},isDiscoveryEnabled:()=>i()}}function s(e,t){let i=new r(e,e=>{let n={url:e.url,verb:e.verb,target:e.target};e.instruction!=null&&(n.instruction=e.instruction),e.branch!=null&&(n.branch=e.branch),e.path!=null&&(n.path=e.path),e.title!=null&&(n.title=e.title);let r=t();if(!r){a.warn(`navigate lick dropped — no follower sync connected`,{url:e.url});return}r.forwardLick({type:`navigate`,navigateUrl:e.url,targetScoop:void 0,timestamp:new Date().toISOString(),body:n})},{...o(t),isOwnTab:n(()=>globalThis.location?.href??null)});return i.start(),()=>void i.stop()}export{s as startFollowerNavigateWatcher};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./slugify-BYJ6QVAt.js";import{n as t,r as n,t as r}from"./archive-redaction-ByV7X5fs.js";import{t as i}from"./types-D8gIX-W-.js";import{i as a,r as o,y as s}from"./kernel-worker-DJ8FZwqE.js";const c=/\uD83C\uDF99\uFE0F?/g,l=/\u25C1[\s\S]*?\u25B7/g;function u(e){return e.replace(l,``).replace(c,``).replace(/[ \t]+$/g,``).trimEnd()}function d(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?u(n.content):n.content;if(t+=`## ${e}\n${r}\n\n`,n.attachments?.length&&(t+=`Attachments:\n${n.attachments.map(e=>`- ${s(e)}`).join(`
1
+ import{t as e}from"./slugify-BYJ6QVAt.js";import{n as t,r as n,t as r}from"./archive-redaction-ByV7X5fs.js";import{t as i}from"./types-D8gIX-W-.js";import{i as a,r as o,y as s}from"./kernel-worker-B69_4v-D.js";const c=/\uD83C\uDF99\uFE0F?/g,l=/\u25C1[\s\S]*?\u25B7/g;function u(e){return e.replace(l,``).replace(c,``).replace(/[ \t]+$/g,``).trimEnd()}function d(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?u(n.content):n.content;if(t+=`## ${e}\n${r}\n\n`,n.attachments?.length&&(t+=`Attachments:\n${n.attachments.map(e=>`- ${s(e)}`).join(`
2
2
  `)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}function f(e){return`live-${h(e)}-${m()}.md`}function p(e,t){return e.find(e=>e.live===!0&&(e.cone??`cone`)===t)}function m(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}function h(t){return e(t,{maxLen:48,fallback:`session`})}const g=`untitled-session`,_=RegExp(`^(?:_Forwarded from .+?\\._\\s*)*(?:\\[@\\S+ (?:completed|idle|sudo-request|FAILED)\\b|\\[scoop_wait\\b|\\[(?:${[`Webhook Event`,`Sprinkle Event`,`File Watch Event`,`Session Reload`,`Navigate Event`,`Upgrade Event`,`Cherry Event`,`Workflow Event`,`Background Command`,`jshd Unit`,`Cron Event`,`Scoop Access Request`,`Preview Event`,`Preview event`,`Discovery Event`].join(`|`)})\\b|Preview tab (?:connected|disconnected) from |<context-summary\\b)`);function v(e){return e.slice(0,480).trim().replace(/\s+/g,` `).slice(0,240)}function y(e){let t=v(e);return t.length>0&&_.test(t)}function b(e){return e===g||y(e)}function x(e){return e.role!==`user`||!e.content?.trim()||e.source===`lick`||e.channel?!1:!y(e.content)}function S(e){let t=e.find(x);if(!t?.content)return g;let n=t.content.trim().replace(/\s+/g,` `);return n.length>60?`${n.slice(0,60)}…`:n||g}function C(e){return e.map(e=>{let t={id:e.id,role:e.role,content:e.content,timestamp:e.timestamp};return e.attachments?.length&&(t.attachments=e.attachments),e.toolCalls?.length&&(t.toolCalls=e.toolCalls.map(e=>({id:e.id,name:e.name,input:e.input,...e.result===void 0?{}:{result:e.result},...e.isError?{isError:e.isError}:{}}))),e.source&&(t.source=e.source),e.channel&&(t.channel=e.channel),e.compaction&&(t.compaction=e.compaction),t})}function w(e){let i=r(),a={...e,title:t(e.title,i),messages:n(e.messages,i)},o=(a.cost?`cost: ${JSON.stringify(a.cost)}\n`:``)+(a.models?`models: ${JSON.stringify(a.models)}\n`:``),s=(a.cone?`cone: ${a.cone}\n`:``)+(a.coneLabel?`coneLabel: ${JSON.stringify(a.coneLabel)}\n`:``)+(a.memorySkipped?`memorySkipped: true
3
3
  `:``)+(a.live?`live: true
4
4
  `:``)+(a.live&&a.liveThrough?`liveThrough: ${a.liveThrough}\n`:``)+(a.live&&a.compactions?`compactions: ${a.compactions}\n`:``)+(a.curatedThrough?`curatedThrough: ${a.curatedThrough}\n`:``),c=`---\nid: ${a.id}\ntitle: ${JSON.stringify(a.title)}\nfrozenAt: ${a.frozenAt}\ncreatedAt: ${a.createdAt}\nupdatedAt: ${a.updatedAt}\nmessageCount: ${a.messageCount}\n`+o+s+`---