sliccy 6.128.0 → 6.128.2

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 (125) hide show
  1. package/dist/ui/.vite/manifest.json +231 -177
  2. package/dist/ui/assets/{account-store-BuE211Cb.js → account-store-AnNFDy2P.js} +1 -1
  3. package/dist/ui/assets/{account-store-D3DsEOPh.js → account-store-QAWTf9es.js} +1 -1
  4. package/dist/ui/assets/{adobe-C2P4NvAa.js → adobe-BN1ZAXjw.js} +1 -1
  5. package/dist/ui/assets/{adobe-CoZdrk2K.js → adobe-CwWmY478.js} +1 -1
  6. package/dist/ui/assets/{agent-bridge-CBhmYKb1.js → agent-bridge-DJBiO6eU.js} +1 -1
  7. package/dist/ui/assets/agent-message-to-chat-DZhrVcVe.js +1 -0
  8. package/dist/ui/assets/agent-panels-B92KQapO.js +1 -0
  9. package/dist/ui/assets/{apply-layout-CmN831j-.js → apply-layout-DRX2hbKF.js} +1 -1
  10. package/dist/ui/assets/{apps-B2ccSIJf.js → apps-BF0_egNy.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-DXU4bdU4.js → azure-openai-CBmQJEBL.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-Br8uemfb.js → azure-openai-Demqg5Qi.js} +1 -1
  13. package/dist/ui/assets/boundary-BBU8IvQr.js +1 -0
  14. package/dist/ui/assets/{cerebras-ClNCTWfU.js → cerebras-B1cmQz2k.js} +1 -1
  15. package/dist/ui/assets/{cerebras-CShCaU7t.js → cerebras-DqE8lqTV.js} +1 -1
  16. package/dist/ui/assets/{connect-surface-C_PMqn87.js → connect-surface-12gDDi-P.js} +1 -1
  17. package/dist/ui/assets/{directed-approval-L4Jq3q1K.js → directed-approval-B1e2ES3a.js} +1 -1
  18. package/dist/ui/assets/extension-ops-4CHxluMA.js +1 -0
  19. package/dist/ui/assets/{fs-Bfdu7rH9.js → fs-BIk-iv5m.js} +1 -1
  20. package/dist/ui/assets/{fs-JCIV-5NC.js → fs-CjjuhOp_.js} +2 -2
  21. package/dist/ui/assets/{github-CJLMjxa7.js → github-1KFQrsFp.js} +1 -1
  22. package/dist/ui/assets/{github-Cn3GHGLg.js → github-CW1YbGum.js} +2 -2
  23. package/dist/ui/assets/{github-copilot-BrsobPyJ.js → github-copilot--XEHMOYM.js} +1 -1
  24. package/dist/ui/assets/{github-copilot-VAga8Vjs.js → github-copilot-C9FoWf5Q.js} +1 -1
  25. package/dist/ui/assets/{github-install-wVxMobbZ.js → github-install-DJwKDZ2X.js} +1 -1
  26. package/dist/ui/assets/{github-zip-DS90BmnP.js → github-zip-B1SOCvRU.js} +1 -1
  27. package/dist/ui/assets/{help-BThl3z2T.js → help-tl-9MNkV.js} +1 -1
  28. package/dist/ui/assets/host-command-C3f7bKlE.js +1 -0
  29. package/dist/ui/assets/{js-realm-worker-C0xPMuGu.js → js-realm-worker-BIhTDwhB.js} +1 -1
  30. package/dist/ui/assets/{kernel-worker-CXs-mjDQ.js → kernel-worker-D6GE2eW6.js} +438 -438
  31. package/dist/ui/assets/layout-schema-m9_VAwOw.js +1 -0
  32. package/dist/ui/assets/leader-session-events-BMpq401g.js +1 -0
  33. package/dist/ui/assets/{local-llm-COzzWE0y.js → local-llm-Bp3hYRkd.js} +1 -1
  34. package/dist/ui/assets/{local-llm-DdjAwzbi.js → local-llm-wC4GLZz1.js} +1 -1
  35. package/dist/ui/assets/{main-DGYbRv7u.js → main-wQEmvcig.js} +3 -3
  36. package/dist/ui/assets/mount-CvJ9EIqL.js +12 -0
  37. package/dist/ui/assets/mount-bridge-client-DWskyztE.js +1 -0
  38. package/dist/ui/assets/mount-bridge-client-HmmY0hET.js +1 -0
  39. package/dist/ui/assets/mount-recovery-DMW71B2R.js +2 -0
  40. package/dist/ui/assets/mount-v0iuE8_k.js +3 -0
  41. package/dist/ui/assets/{new-session-DnCDqrSq.js → new-session-CfKDiPZX.js} +2 -2
  42. package/dist/ui/assets/{oauth-bootstrap-7cVVczPl.js → oauth-bootstrap-B-6P1ECI.js} +2 -2
  43. package/dist/ui/assets/{openai-codex-jziNdpzD.js → openai-codex-BSkoVpsZ.js} +1 -1
  44. package/dist/ui/assets/{openai-codex-BXwBm5vL.js → openai-codex-QpFfvitC.js} +1 -1
  45. package/dist/ui/assets/{openrouter-C-FNacWC.js → openrouter-B10ZIJHb.js} +1 -1
  46. package/dist/ui/assets/{openrouter-B5zF6YNN.js → openrouter-DdMDMVvm.js} +1 -1
  47. package/dist/ui/assets/{openrouter-oauth-B6FU0OM3.js → openrouter-oauth-CYPTNmFd.js} +1 -1
  48. package/dist/ui/assets/{openrouter-oauth-DYuw7--S.js → openrouter-oauth-Z8D9Uexm.js} +1 -1
  49. package/dist/ui/assets/panel-registry-CJdOibpf.js +1 -0
  50. package/dist/ui/assets/panel-rpc-handlers-BiZ4asca.js +2 -0
  51. package/dist/ui/assets/panelize-shell-CazjIR5d.js +4 -0
  52. package/dist/ui/assets/{provider-CVSTPtcn.js → provider-5TDJo0ur.js} +2 -2
  53. package/dist/ui/assets/{provider-DwHisLxk.js → provider-BgIyNZvR.js} +1 -1
  54. package/dist/ui/assets/{provider-settings-aLhWbDX6.js → provider-settings-BNDUj_a2.js} +1 -1
  55. package/dist/ui/assets/{provider-settings-BI4T-4O3.js → provider-settings-Bx1ls4Yh.js} +1 -1
  56. package/dist/ui/assets/provider-store-access-CruwM-j5.js +1 -0
  57. package/dist/ui/assets/{provider-store-access-sj2QQYJd.js → provider-store-access-FCVeMJRb.js} +2 -2
  58. package/dist/ui/assets/{providers-BKOgFpnh.js → providers-CFsw2G3b.js} +1 -1
  59. package/dist/ui/assets/{providers-BU9XvYkz.js → providers-CMdt7NIp.js} +2 -2
  60. package/dist/ui/assets/{quick-llm-DJqJy5O3.js → quick-llm-u8uic8QB.js} +1 -1
  61. package/dist/ui/assets/{recovery-screen-DSqq1d1-.js → recovery-screen-CZYT7flO.js} +1 -1
  62. package/dist/ui/assets/rest-ops-PnqziEjh.js +1 -0
  63. package/dist/ui/assets/rest-paths-Dia19u9P.js +1 -0
  64. package/dist/ui/assets/{run-BI74nmrm.js → run-BQKfwSke.js} +1 -1
  65. package/dist/ui/assets/{run-CZERdpGj.js → run-EHwjzgre.js} +2 -2
  66. package/dist/ui/assets/{session-freezer-D1tT6nQE.js → session-freezer-BGtUBp7O.js} +3 -3
  67. package/dist/ui/assets/{setup-feature-flags-remote-DzKcrtwW.js → setup-feature-flags-remote-l9KfTyYp.js} +1 -1
  68. package/dist/ui/assets/{setup-standalone-prelude-DZrEB-T8.js → setup-standalone-prelude-CRyLSjRK.js} +1 -1
  69. package/dist/ui/assets/{setup-sudo-DrDfdRu-.js → setup-sudo-CYrdyJH7.js} +2 -2
  70. package/dist/ui/assets/{skills-4fwPQ1Gx.js → skills-BiYtev0K.js} +1 -1
  71. package/dist/ui/assets/slicc-version-3d67O-JT.js +1 -0
  72. package/dist/ui/assets/{snapshot-Bw2e-24V.js → snapshot-BVDkGgv2.js} +1 -1
  73. package/dist/ui/assets/{snapshot-features-745T506g.js → snapshot-features-_gfLx1rZ.js} +1 -1
  74. package/dist/ui/assets/{wc-shell-7CKFVN9n.js → src-CC79QyGZ.js} +165 -295
  75. package/dist/ui/assets/{state-DyOTvXtw.js → state-B1fUKJq0.js} +1 -1
  76. package/dist/ui/assets/{store-Dz-Lf6hd.js → store-IrYUKEu1.js} +1 -1
  77. package/dist/ui/assets/{store-DN38qJzW.js → store-UM5Ipvg3.js} +1 -1
  78. package/dist/ui/assets/{sudo-BzgekaVM.js → sudo-CteiAvdB.js} +1 -1
  79. package/dist/ui/assets/surface-fullscreen-4YjALjE7.js +1 -0
  80. package/dist/ui/assets/trusted-layer-ghPA1ENf.js +1 -0
  81. package/dist/ui/assets/{upgrade-detection-BrCP_eUg.js → upgrade-detection-BhBRUFIl.js} +1 -1
  82. package/dist/ui/assets/wc-attach-BUOV0IxU.js +13 -0
  83. package/dist/ui/assets/wc-extension-BLA8yGsG.js +2 -0
  84. package/dist/ui/assets/wc-float-label-_S5TsF66.js +1 -0
  85. package/dist/ui/assets/{wc-floatbar-online-DLfdnelx.js → wc-floatbar-online-BRZloJeW.js} +1 -1
  86. package/dist/ui/assets/wc-follower-oauth-oylSQku7.js +5 -0
  87. package/dist/ui/assets/wc-follower-tRbhAiRk.js +17 -0
  88. package/dist/ui/assets/wc-live-Cgl26Lem.js +8 -0
  89. package/dist/ui/assets/wc-nav-DrRK17dw.js +2 -0
  90. package/dist/ui/assets/{wc-onboarding-46iMKxvL.js → wc-onboarding-Be_O8bmO.js} +2 -2
  91. package/dist/ui/assets/{wc-placeholder-sIX0TVVJ.js → wc-placeholder-DtI6L3KZ.js} +2 -2
  92. package/dist/ui/assets/{wc-settings-BqtMD3tJ.js → wc-settings-DzKLh6wd.js} +2 -2
  93. package/dist/ui/assets/wc-shell-C6Pg0Q54.js +122 -0
  94. package/dist/ui/assets/{wc-shortcut-config-DV51tMmU.js → wc-shortcut-config--IseG9bJ.js} +2 -2
  95. package/dist/ui/assets/wc-shortcuts-BWBA9QlD.js +11 -0
  96. package/dist/ui/assets/wc-sprinkles-D6ytPwhq.js +2 -0
  97. package/dist/ui/assets/{wc-tray-3jtdva4I.js → wc-tray-DtpbV4Hy.js} +4 -4
  98. package/dist/ui/assets/{xai-grok-Bi7eGASm.js → xai-grok--gX-Nc6Q.js} +1 -1
  99. package/dist/ui/assets/{xai-grok-CelS82Bz.js → xai-grok-Cd-DzyGd.js} +1 -1
  100. package/dist/ui/index.html +6 -6
  101. package/dist/ui/packages/webapp/index.html +6 -6
  102. package/package.json +1 -1
  103. package/dist/ui/assets/agent-message-to-chat-Cc7vTUN1.js +0 -1
  104. package/dist/ui/assets/agent-panels-BmmVprFD.js +0 -1
  105. package/dist/ui/assets/attachments-329cIT1j.js +0 -1
  106. package/dist/ui/assets/extension-ops-B-WyC2wH.js +0 -1
  107. package/dist/ui/assets/mount-DM-auup2.js +0 -12
  108. package/dist/ui/assets/mount-OAHBlcuo.js +0 -3
  109. package/dist/ui/assets/mount-bridge-client-CrNd-YrX.js +0 -1
  110. package/dist/ui/assets/mount-bridge-client-DACW9wdF.js +0 -1
  111. package/dist/ui/assets/mount-recovery-e-94Ez9O.js +0 -2
  112. package/dist/ui/assets/panel-rpc-handlers-CLywtZTq.js +0 -2
  113. package/dist/ui/assets/panelize-shell-_2PryU_a.js +0 -4
  114. package/dist/ui/assets/provider-store-access-Cf5376WQ.js +0 -1
  115. package/dist/ui/assets/rest-ops-DUYdwFOV.js +0 -1
  116. package/dist/ui/assets/slicc-version-C6Kk_h5b.js +0 -1
  117. package/dist/ui/assets/types-00zrQL_h.js +0 -1
  118. package/dist/ui/assets/wc-attach-CgxhloJz.js +0 -13
  119. package/dist/ui/assets/wc-extension-CegXaEJB.js +0 -2
  120. package/dist/ui/assets/wc-float-label-BYiE1Fhr.js +0 -1
  121. package/dist/ui/assets/wc-follower-2f1XaZAF.js +0 -17
  122. package/dist/ui/assets/wc-follower-oauth-AMVUxyhw.js +0 -5
  123. package/dist/ui/assets/wc-live-9bz6A9z1.js +0 -8
  124. package/dist/ui/assets/wc-nav-IS6CxPbv.js +0 -2
  125. package/dist/ui/assets/wc-sprinkles-DRtGhE0c.js +0 -2
@@ -0,0 +1,122 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-u8uic8QB.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-QAWTf9es.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-BJLrDjmH.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-DC4o4pmp.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-CWeRbcY3.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-B1E_mH1v.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-CVgFEYzE.js","assets/secrets-bridge-client-BCv_YZhX.js","assets/port-bridge-client-CVZpTSrA.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CMdt7NIp.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BJsliYCh.js","assets/isomorphic-git-Cgji39_P.js","assets/safe-buffer-iah92gQe.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{n as r,t as i}from"./agent-message-to-chat-DZhrVcVe.js";import{n as a,t as o}from"./mime-types-k2E6ulyv.js";import{n as s,t as c}from"./base64-DJRlyqZu.js";import{l}from"./src-CAWTvdAa.js";import{t as u}from"./image-markers-CxJ9ZBgw.js";import{c as d,i as f,l as p,u as m}from"./telemetry-BVzuNdvW.js";import{t as h}from"./icons-BJsliYCh.js";import{a as g,o as ee}from"./dictation-priming-CNllGgNq.js";import{r as te,t as _}from"./timestamp-preference-sKwBl5I8.js";import{a as ne,c as re,i as v,n as ie,r as y}from"./src-CC79QyGZ.js";import{t as b}from"./surface-fullscreen-4YjALjE7.js";import{n as ae,t as oe}from"./trusted-layer-ghPA1ENf.js";import{s as se}from"./wc-shortcuts-BWBA9QlD.js";function x(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}var ce=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`discovery`,`upgrade`,`workflow`,`bash`,`preview`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function le(e){return e!=null&&ce.has(e)}var ue=`#b07823`,de=[`#06b6d4`,`#8b5cf6`,`#f59e0b`,`#10b981`,`#3b82f6`,`#ef4444`];function fe(e){if(e.isRoot)return ue;let t=0;for(let n of e.name)t=t*31+n.charCodeAt(0)>>>0;return de[t%de.length]}var pe=new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,4,0,0,0,181,28,12,2,0,0,0,11,73,68,65,84,120,218,99,100,96,0,0,0,6,0,2,48,129,208,47,0,0,0,0,73,69,78,68,174,66,96,130]);function me(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)}var he=new Date(`2024-01-01T10:00:00`).getTime();function S(e){return he+e*6e4}var C=`ui-fixture`;function ge(){return[{id:`fx-user-1`,role:`user`,content:`Hey sliccy — can you summarize what this fixture covers?`,timestamp:S(0)},{id:`fx-assistant-1`,role:`assistant`,content:`Sure! This session walks through every chat UI variant I know about. You'll see user and assistant bubbles, tool calls in every status, the six lick channels, a delegation, queued messages, and a streaming tail at the end so you can inspect the live state.`,timestamp:S(.2)}]}function _e(){return[{id:`fx-user-2`,role:`user`,content:`Show me some **markdown** — headings, lists, code, a blockquote.`,timestamp:S(1)},{id:`fx-user-attachment`,role:`user`,content:`Use these attachments as visual and text context.`,timestamp:S(1.1),attachments:[{id:`fx-att-image`,name:`dot.png`,mimeType:`image/png`,size:pe.byteLength,kind:`image`,data:me(pe)},{id:`fx-att-text`,name:`notes.txt`,mimeType:`text/plain`,size:21,kind:`text`,text:`Fixture attachment text`}]},{id:`fx-assistant-2`,role:`assistant`,content:"## Rich content sample,,Here is a short list:,,- `renderAssistantMessageContent` handles GFM markdown,- Code blocks get syntax highlighting,- Inline `code` uses the mono token,,A fenced code block:,,```ts,import { createChatFixture } from './chat-fixture.js';,,const msgs = createChatFixture();,console.log(msgs.length);,```,,> Blockquotes should feel quieter than regular text.,,And a nested ordered list:,,1. First step,2. Second step, 1. Sub-step A, 2. Sub-step B,3. Third step".split(`,`).join(`
3
+ `),timestamp:S(1.3)}]}function ve(){return[{id:`fx-assistant-3`,role:`assistant`,content:`Let me check a few things before I answer.`,timestamp:S(2),toolCalls:[{id:`fx-tc-read`,name:`read_file`,input:{path:`/workspace/README.md`},result:`# Sample README
4
+
5
+ This is the contents that read_file returned.`},{id:`fx-tc-bash`,name:`bash`,input:{command:`ls -la /workspace`},result:`total 24
6
+ drwxr-xr-x 4 user user 4096 Jan 01 10:00 .
7
+ drwxr-xr-x 6 user user 4096 Jan 01 10:00 ..
8
+ -rw-r--r-- 1 user user 187 Jan 01 10:00 README.md
9
+ drwxr-xr-x 2 user user 4096 Jan 01 10:00 src`},{id:`fx-tc-err`,name:`edit_file`,input:{path:`/workspace/missing.ts`,old_str:`x`,new_str:`y`},result:`ENOENT: no such file or directory, open "/workspace/missing.ts"`,isError:!0},{id:`fx-tc-run`,name:`bash`,input:{command:`npm run test -- --coverage`}},{id:`fx-tc-shot`,name:`bash`,input:{command:`playwright-cli screenshot`},result:`Screenshot saved to /tmp/shot.png`,_screenshotDataUrl:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`}]}]}function ye(){return[{id:`fx-assistant-scoop-mgmt`,role:`assistant`,content:`Spinning up the scoops I need and handing out the work.`,timestamp:S(3),toolCalls:[{id:`fx-tc-list-scoops`,name:`list_scoops`,input:{},result:`Registered scoops:
10
+ - sliccy (cone) [CONE] — ready (since Jan 1, 9:58 AM)
11
+ - Hero Block (hero-block-scoop) — ready (since Jan 1, 9:59 AM)
12
+ - Install Doc Writer (install-doc-writer-scoop) — idle`},{id:`fx-tc-scoop-scoop`,name:`scoop_scoop`,input:{name:`Release Notes`,model:`claude-sonnet-4-6`,prompt:`Draft release notes for v0.3.2 using the merged PR titles from the last 7 days.`,visiblePaths:[`/workspace/`,`/shared/releases/`],writablePaths:[`/scoops/release-notes-scoop/`,`/shared/releases/`]},result:`Scoop "Release Notes" created as "release-notes-scoop" and task sent. It is now working on it.`},{id:`fx-tc-scoop-scoop-err`,name:`scoop_scoop`,input:{name:`Release Notes`},result:`Failed to create scoop: a scoop named "release-notes-scoop" already exists.`,isError:!0},{id:`fx-tc-feed`,name:`feed_scoop`,input:{scoop_name:`hero-block-scoop`,prompt:`Update the hero block to use the new gradient background defined in /shared/tokens/brand.css. Preserve the existing copy. Run the snapshot tests when done.`},result:`Task sent to hero-block-scoop. You will be notified when it completes.`},{id:`fx-tc-send`,name:`send_message`,input:{text:`Checkpoint: finished the CSS token pass, starting on the test snapshots.`,sender:`hero-block-scoop`},result:`Message sent.`},{id:`fx-tc-drop`,name:`drop_scoop`,input:{scoop_name:`install-doc-writer-scoop`},result:`Scoop "Install Doc Writer" (install-doc-writer-scoop) has been dropped.`},{id:`fx-tc-memory`,name:`update_global_memory`,input:{content:`# Global Memory
13
+
14
+ - Brand colors now live in /shared/tokens/brand.css
15
+ - Release notes ship on Wednesdays
16
+ `},result:`Global memory updated successfully.`}]}]}function be(){return[{id:`fx-delegation-1`,role:`user`,content:"**[Instructions from sliccy]**\n\nRead `/workspace/README.md` and extract the install steps into `/shared/install.md`.",timestamp:S(4),source:`delegation`,channel:`delegation`},{id:`fx-assistant-delegated`,role:`assistant`,content:"Extracted the install steps. Wrote them to `/shared/install.md`. The section covers prerequisites, npm install, and the dev server launch.",timestamp:S(4.4),source:`cone`}]}function xe(){return[{id:`fx-lick-webhook`,role:`user`,content:"[Webhook Event: github-push]\n```json\n"+JSON.stringify({ref:`refs/heads/main`,repository:{full_name:`example/repo`},head_commit:{message:`fix(ui): tighten button contrast in dark mode`}},null,2)+"\n```",timestamp:S(6),source:`lick`,channel:`webhook`},{id:`fx-lick-preview`,role:`user`,content:`Preview tab connected from https://demo.sliccy.now`,timestamp:S(6.3),source:`lick`,channel:`preview`},{id:`fx-lick-preview-event`,role:`user`,content:"[Preview event: cta-clicked] from tab (preview:tok--sec:conn-42)\n```json\n"+JSON.stringify({name:`cta-clicked`,detail:{button:`signup`}},null,2)+"\n```",timestamp:S(6.6),source:`lick`,channel:`webhook`},{id:`fx-lick-cron`,role:`user`,content:"[Cron Event: daily-digest]\n```json\n"+JSON.stringify({time:new Date(S(8)).toISOString()},null,2)+"\n```",timestamp:S(8),source:`lick`,channel:`cron`},{id:`fx-lick-sprinkle`,role:`user`,content:"[Sprinkle Event: welcome]\n```json\n"+JSON.stringify({action:`onboarding-complete`,data:{mountWorkspace:!0}},null,2)+"\n```",timestamp:S(10),source:`lick`,channel:`sprinkle`},{id:`fx-lick-fswatch`,role:`user`,content:"[File Watch Event: src-watch]\n```json\n"+JSON.stringify({changes:[{type:`modified`,path:`/workspace/src/app.ts`},{type:`created`,path:`/workspace/src/utils.ts`}]},null,2)+"\n```",timestamp:S(12),source:`lick`,channel:`fswatch`},{id:`fx-lick-navigate`,role:`user`,content:`[Navigate Event: ${l}/handoff?handoff=demo]\n\`\`\`json\n`+JSON.stringify({url:`${l}/handoff?handoff=demo`,verb:`handoff`,target:`${l}/handoff?handoff=demo`,instruction:`demo`,title:`Handoff`},null,2)+"\n```",timestamp:S(14),source:`lick`,channel:`navigate`},{id:`fx-lick-session-reload`,role:`user`,content:`[Session Reload: mount-recovery]
17
+
18
+ A previously-mounted directory needs to be reauthorized:
19
+
20
+ - \`/mnt/workspace\` (was \`workspace/\`)`,timestamp:S(16),source:`lick`,channel:`session-reload`},{id:`fx-lick-upgrade`,role:`user`,content:`[Upgrade Event: 0.4.1→0.5.0]
21
+
22
+ SLICC was upgraded from \`0.4.1\` to \`0.5.0\`.
23
+ Released: 2026-04-15T12:00:00Z
24
+
25
+ Use the **upgrade** skill (\`/workspace/skills/upgrade/SKILL.md\`) to:
26
+ - Show the user the changelog between these tags from GitHub
27
+ - Offer to merge new bundled vfs-root content into their workspace (three-way merge: bundled snapshot vs user's VFS, reconciled with the GitHub tag-to-tag diff).`,timestamp:S(17),source:`lick`,channel:`upgrade`},{id:`fx-lick-sudo-request`,role:`user`,content:`[Scoop Access Request: tight-sandbox-scoop]
28
+ Lick ID: lick-1700000000000-req42
29
+ Kind: write
30
+ Detail: /workspace/build/output.txt
31
+ Suggested pattern: /workspace/build/**
32
+
33
+ Use the lick_confirm tool with lick_id="lick-1700000000000-req42" to approve (or always-approve with a pattern), or lick_dismiss with lick_id="lick-1700000000000-req42" to deny.`,timestamp:S(17.5),source:`lick`,channel:`sudo-request`,lickId:`lick-1700000000000-req42`,lickState:`pending`},{id:`fx-lick-sudo-confirmed`,role:`user`,content:`[Scoop Access Request: release-notes-scoop]
34
+ Lick ID: lick-1700000000001-req43
35
+ Kind: command
36
+ Detail: git push origin main
37
+ Suggested pattern: git push*
38
+
39
+ Use the lick_confirm tool with lick_id="lick-1700000000001-req43" to approve (or always-approve with a pattern), or lick_dismiss with lick_id="lick-1700000000001-req43" to deny.`,timestamp:S(17.7),source:`lick`,channel:`sudo-request`,lickId:`lick-1700000000001-req43`,lickState:`confirmed`},{id:`fx-lick-sudo-dismissed`,role:`user`,content:`[Scoop Access Request: scratch-scoop]
40
+ Lick ID: lick-1700000000002-req44
41
+ Kind: read
42
+ Detail: /shared/secrets/api-key.txt
43
+ Suggested pattern: /shared/secrets/**
44
+
45
+ Use the lick_confirm tool with lick_id="lick-1700000000002-req44" to approve (or always-approve with a pattern), or lick_dismiss with lick_id="lick-1700000000002-req44" to deny.`,timestamp:S(17.9),source:`lick`,channel:`sudo-request`,lickId:`lick-1700000000002-req44`,lickState:`dismissed`}]}function Se(){return[{id:`fx-queued-1`,role:`user`,content:`Also double-check the install.md formatting after you finish.`,timestamp:S(18),queued:!0}]}function Ce(){return[{id:`fx-assistant-streaming`,role:`assistant`,content:`Great, running the coverage suite now. I'll report back as soon as it `,timestamp:S(20),isStreaming:!0,toolCalls:[{id:`fx-tc-streaming`,name:`bash`,input:{command:`npm run test -- --coverage`}}]}]}function we(){return[...ge(),..._e(),...ve(),...ye(),...be(),...xe(),...Se(),...Ce()]}var w=new Set([`so`,`in`,`at`,`is`,`it`,`as`,`be`,`do`,`go`,`me`,`my`,`no`,`of`,`on`,`or`,`to`,`up`,`us`,`we`,`am`,`an`,`by`,`if`,`ok`]),Te=new Set([`com`,`org`,`net`,`io`,`dev`,`ai`,`app`,`co`,`gov`,`edu`,`ly`,`tv`,`xyz`,`cloud`,`computer`,`software`]),T=new Set([`Makefile`,`Dockerfile`,`Justfile`,`Rakefile`,`Gemfile`,`Procfile`,`Brewfile`,`Vagrantfile`,`CODEOWNERS`,`LICENSE`,`README`,`CHANGELOG`,`AGENTS`]),Ee=/(?:^|[\s(['"`<>,;=|])((?:~\/|\.{1,2}\/|\/)?(?:[\w.-]+\/)*[\w-][\w.-]*\.[A-Za-z0-9]{1,12})((?::\d+){0,2})/g,E=RegExp(`(?:^|[\\s(['"\`<>,;=|])((?:~\\/|\\.{1,2}\\/|\\/)?(?:[\\w.-]+\\/)*(?:${[...T].join(`|`)}))\\b`,`g`),De=/[.,;:!?)\]}'"`>]+$/;function Oe(e){let t=e.includes(`/`),n=e.slice(e.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);if(r<=0)return t||T.has(n);let i=n.slice(0,r),a=n.slice(r+1).toLowerCase();return a.length===0||/^\d+$/.test(a)||/^[\d.]+$/.test(i)&&!t?!1:t?!0:!(w.has(a)||Te.has(a)||n.includes(`..`))}function D(e){let t=[],n=[],r=(e,t)=>n.some(([n,r])=>e<r&&t>n),i=(i,a)=>{i.lastIndex=0;let o=i.exec(e);for(;o!==null;){let s=o[0],c=o[1]??``,l=a?o[2]??``:``,u=s.length-c.length-l.length,d=o.index+u,f=c,p=f.replace(De,``);p.length>0&&(f=p);let m=d+f.length+l.length;if(f.length>0&&Oe(f)&&!r(d,m)){let r=/^:(\d+)/.exec(l);t.push({raw:e.slice(d,m),path:f,...r?{line:Number(r[1])}:{},start:d,end:m}),n.push([d,m])}i.lastIndex=Math.max(i.lastIndex-1,o.index+1),o=i.exec(e)}};return i(Ee,!0),i(E,!1),t.sort((e,t)=>e.start-t.start)}var ke=`data-file-paths`,Ae=24,je=4e3,Me=8,Ne=/\b[a-z][a-z0-9+.-]*:\/\/\S+/gi;function Pe(e,t,n){if(n.length>=Ae)return;if(typeof e==`string`){n.push(e.length>je?e.slice(0,je):e);return}if(t>=2||typeof e!=`object`||!e)return;let r=Array.isArray(e)?e:Object.values(e);for(let e of r)Pe(e,t+1,n)}function Fe(e){let t=[];Pe(e.input,0,t);let n=[],r=new Set;for(let e of t){let t=e.replace(Ne,` `);for(let e of D(t))if(e.path.includes(`/`)&&!r.has(e.path)&&(r.add(e.path),n.push(e.path),n.length>=Me))return n}return n}function Ie(e){return e.length>0?JSON.stringify(e):null}function Le(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}var Re=`\x1B`,ze=[`#0c0c0e`,`#f43f5e`,`#5bd17b`,`#f59e0b`,`#3b82f6`,`#8b5cf6`,`#06b6d4`,`#e7e7ea`],O=[`#8a8a93`,`#fb7185`,`#86efac`,`#fbbf24`,`#60a5fa`,`#a78bfa`,`#22d3ee`,`#ffffff`],Be=[0,95,135,175,215,255];function Ve(){return{bold:!1,dim:!1,italic:!1,underline:!1,fg:null,bg:null}}function He(e){return!e.bold&&!e.dim&&!e.italic&&!e.underline&&e.fg===null&&e.bg===null}function Ue(e){return Math.max(0,Math.min(255,Math.round(e)))}function We(e){if(e<0)return null;if(e<16)return[...ze,...O][e]??null;if(e<232){let t=e-16;return`rgb(${Be[Math.floor(t/36)]}, ${Be[Math.floor(t%36/6)]}, ${Be[t%6]})`}if(e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}return null}function Ge(e,t){let n=e[t+1];if(n===5){let n=We(e[t+2]??NaN);return n?{color:n,next:t+2}:null}if(n===2){let[n,r,i]=[e[t+2],e[t+3],e[t+4]];return[n,r,i].some(e=>typeof e!=`number`||Number.isNaN(e))?null:{color:`rgb(${Ue(n)}, ${Ue(r)}, ${Ue(i)})`,next:t+4}}return null}var Ke={0:e=>Object.assign(e,Ve()),1:e=>{e.bold=!0},2:e=>{e.dim=!0},3:e=>{e.italic=!0},4:e=>{e.underline=!0},22:e=>{e.bold=e.dim=!1},23:e=>{e.italic=!1},24:e=>{e.underline=!1},39:e=>{e.fg=null},49:e=>{e.bg=null}};function qe(e,t){if(t>=30&&t<=37)e.fg=ze[t-30];else if(t>=40&&t<=47)e.bg=ze[t-40];else if(t>=90&&t<=97)e.fg=O[t-90];else if(t>=100&&t<=107)e.bg=O[t-100];else return!1;return!0}function Je(e,t){let n=(t===``?`0`:t).split(`;`).map(e=>e===``?0:parseInt(e,10));for(let t=0;t<n.length;t++){let r=n[t];if(Number.isNaN(r))continue;let i=Ke[r];if(i)i(e);else if(r===38||r===48){let i=Ge(n,t);i&&(r===38?e.fg=i.color:e.bg=i.color,t=i.next)}else qe(e,r)}}function Ye(e,t){if(He(t))return document.createTextNode(e);let n=document.createElement(`span`);n.textContent=e;let r=n.style;return t.fg&&(r.color=t.fg),t.bg&&(r.backgroundColor=t.bg),t.bold&&(r.fontWeight=`bold`),t.dim&&(r.opacity=`0.6`),t.italic&&(r.fontStyle=`italic`),t.underline&&(r.textDecoration=`underline`),n}function Xe(e,t){let n=e.length,r=e[t+1];if(r===`[`){let r=t+2;for(;r<n&&e.charCodeAt(r)>=48&&e.charCodeAt(r)<=63;)r++;for(;r<n&&e.charCodeAt(r)>=32&&e.charCodeAt(r)<=47;)r++;return r<n&&e[r]===`m`?{next:r+1,sgr:e.slice(t+2,r)}:{next:r<n?r+1:n,sgr:null}}if(r===`]`){let r=t+2;for(;r<n&&e.charCodeAt(r)!==7&&(e[r]!==Re||e[r+1]!==`\\`);)r++;return{next:r<n&&e[r]===Re?r+2:r+1,sgr:null}}let i=t+1;for(;i<n&&e.charCodeAt(i)>=32&&e.charCodeAt(i)<=47;)i++;return{next:i<n?i+1:n,sgr:null}}function Ze(e){if(!e.includes(Re))return document.createTextNode(e);let t=document.createDocumentFragment(),n=Ve(),r=``,i=()=>{r&&t.appendChild(Ye(r,n)),r=``},a=e.length,o=0;for(;o<a;){if(e[o]!==Re){r+=e[o],o++;continue}let{next:t,sgr:a}=Xe(e,o);a!==null&&(i(),Je(n,a)),o=t}return i(),t}function Qe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $e(e){if(Array.isArray(e))return e}function et(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function tt(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
46
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k(e,t){return $e(e)||et(e,t)||nt(e,t)||tt()}function nt(e,t){if(e){if(typeof e==`string`)return Qe(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qe(e,t):void 0}}var rt=Object.entries,it=Object.setPrototypeOf,at=Object.isFrozen,ot=Object.getPrototypeOf,st=Object.getOwnPropertyDescriptor,A=Object.freeze,j=Object.seal,ct=Object.create,lt=typeof Reflect<`u`&&Reflect,ut=lt.apply,dt=lt.construct;A||=function(e){return e},j||=function(e){return e},ut||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},dt||=function(e){return new e(...[...arguments].slice(1))};var ft=I(Array.prototype.forEach),pt=I(Array.prototype.lastIndexOf),mt=I(Array.prototype.pop),ht=I(Array.prototype.push),gt=I(Array.prototype.splice),_t=Array.isArray,vt=I(String.prototype.toLowerCase),yt=I(String.prototype.toString),bt=I(String.prototype.match),xt=I(String.prototype.replace),St=I(String.prototype.indexOf),Ct=I(String.prototype.trim),wt=I(Number.prototype.toString),Tt=I(Boolean.prototype.toString),Et=typeof BigInt>`u`?null:I(BigInt.prototype.toString),M=typeof Symbol>`u`?null:I(Symbol.prototype.toString),N=I(Object.prototype.hasOwnProperty),P=I(Object.prototype.toString),F=I(RegExp.prototype.test),Dt=Ot(TypeError);function I(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return ut(e,t,n)}}function Ot(e){return function(){return dt(e,[...arguments])}}function L(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:vt;if(it&&it(e,null),!_t(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(at(t)||(t[r]=e),i=e)}e[i]=!0}return e}function kt(e){for(let t=0;t<e.length;t++)N(e,t)||(e[t]=null);return e}function R(e){let t=ct(null);for(let r of rt(e)){var n=k(r,2);let i=n[0],a=n[1];N(e,i)&&(t[i]=_t(a)?kt(a):a&&typeof a==`object`&&a.constructor===Object?R(a):a)}return t}function At(e){switch(typeof e){case`string`:return e;case`number`:return wt(e);case`boolean`:return Tt(e);case`bigint`:return Et?Et(e):`0`;case`symbol`:return M?M(e):`Symbol()`;case`undefined`:return P(e);case`function`:case`object`:{if(e===null)return P(e);let t=e,n=z(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:P(e)}return P(e)}default:return P(e)}}function z(e,t){for(;e!==null;){let n=st(e,t);if(n){if(n.get)return I(n.get);if(typeof n.value==`function`)return I(n.value)}e=ot(e)}function n(){return null}return n}function jt(e){try{return F(e,``),!0}catch{return!1}}var Mt=A(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Nt=A(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Pt=A([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Ft=A([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),It=A(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Lt=A([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Rt=A([`#text`]),zt=A(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Bt=A(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Vt=A(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ht=A([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ut=j(/{{[\w\W]*|^[\w\W]*}}/g),Wt=j(/<%[\w\W]*|^[\w\W]*%>/g),Gt=j(/\${[\w\W]*/g),Kt=j(/^data-[\-\w.\u00B7-\uFFFF]+$/),qt=j(/^aria-[\-\w]+$/),Jt=j(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Yt=j(/^(?:\w+script|data):/i),Xt=j(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Zt=j(/^html$/i),Qt=j(/^[a-z][.\w]*(-[.\w]+)+$/i),$t=j(/<[/\w!]/g),en=j(/<[/\w]/g),tn=j(/<\/no(script|embed|frames)/i),nn=j(/\/>/i),B={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},rn=[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`],an=A(L({},rn)),on=function(){let e={};return ft(rn,t=>{e[t]=j(RegExp(`</`+t+`(?=[\\t\\n\\f\\r />])`,`i`))}),A(e)}(),sn=function(){return typeof window>`u`?null:window},cn=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},ln=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},un=function(e,t,n,r){return N(e,t)&&_t(e[t])?L(r.base?R(r.base):{},e[t],r.transform):n},dn=function(e,t,n){let r=N(e,t)?e[t]:void 0;return r&&typeof r==`object`?R(r):n()};function fn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:sn(),t=e=>fn(e);if(t.version=`3.4.14`,t.removed=[],!e||!e.document||e.document.nodeType!==B.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=z(d,`cloneNode`),p=z(d,`remove`),m=z(d,`nextSibling`),h=z(d,`childNodes`),g=z(d,`parentNode`),ee=z(d,`shadowRoot`),te=z(d,`attributes`),_=o&&o.prototype?z(o.prototype,`nodeType`):null,ne=o&&o.prototype?z(o.prototype,`nodeName`):null,re=o&&o.prototype?z(o.prototype,`ownerDocument`):null,v=function(e){return _?_(e):e.nodeType},ie=function(e){return ne?ne(e):e.nodeName};if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let y,b=``,ae,oe=!1,se=0,x=function(){if(se>0)throw Dt(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},ce=function(e){x(),se++;try{return y.createHTML(e)}finally{se--}},le=function(e){x(),se++;try{return y.createScriptURL(e)}finally{se--}},ue=function(){return oe||=(ae=cn(u,i),!0),ae},de=n,fe=de.implementation,pe=de.createNodeIterator,me=de.createDocumentFragment,he=de.getElementsByTagName,S=r.importNode,C=ln();t.isSupported=typeof rt==`function`&&typeof g==`function`&&fe&&fe.createHTMLDocument!==void 0;let ge=Ut,_e=Wt,ve=Gt,ye=Kt,be=qt,xe=Yt,Se=Xt,Ce=Qt,we=Jt,w=null,Te=L({},[...Mt,...Nt,...Pt,...It,...Rt]),T=null,Ee=L({},[...zt,...Bt,...Vt,...Ht]),E=Object.seal(ct(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),De=null,Oe=null,D=Object.seal(ct(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ke=!0,Ae=!0,je=!1,Me=!0,Ne=!1,Pe=!0,Fe=!1,Ie=!1,Le=null,Re=null,ze=!1,O=!1,Be=!1,Ve=!1,He=!0,Ue=!1,We=`user-content-`,Ge=!0,Ke=!1,qe={},Je=null,Ye=L({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Xe=null,Ze=L({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Qe=null,$e=L({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),et=`http://www.w3.org/1998/Math/MathML`,tt=`http://www.w3.org/2000/svg`,k=`http://www.w3.org/1999/xhtml`,nt=k,it=!1,at=null,ot=L({},[et,tt,k],yt),st=A([`mi`,`mo`,`mn`,`ms`,`mtext`]),lt=L({},st),ut=A([`annotation-xml`]),dt=L({},ut),wt=L({},[`title`,`style`,`font`,`a`,`script`]),Tt=null,Et=[`application/xhtml+xml`,`text/html`],M=null,P=null,I=n.createElement(`form`),Ot=function(e){return e instanceof RegExp||e instanceof Function},kt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(P&&P===e)return;(!e||typeof e!=`object`)&&(e={}),e=R(e),Tt=Et.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,M=Tt===`application/xhtml+xml`?yt:vt,w=un(e,`ALLOWED_TAGS`,Te,{transform:M}),T=un(e,`ALLOWED_ATTR`,Ee,{transform:M}),at=un(e,`ALLOWED_NAMESPACES`,ot,{transform:yt}),Qe=un(e,`ADD_URI_SAFE_ATTR`,$e,{transform:M,base:$e}),Xe=un(e,`ADD_DATA_URI_TAGS`,Ze,{transform:M,base:Ze}),Je=un(e,`FORBID_CONTENTS`,Ye,{transform:M}),De=un(e,`FORBID_TAGS`,R({}),{transform:M}),Oe=un(e,`FORBID_ATTR`,R({}),{transform:M}),qe=N(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?R(e.USE_PROFILES):e.USE_PROFILES:!1,ke=e.ALLOW_ARIA_ATTR!==!1,Ae=e.ALLOW_DATA_ATTR!==!1,je=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=e.SAFE_FOR_TEMPLATES||!1,Pe=e.SAFE_FOR_XML!==!1,Fe=e.WHOLE_DOCUMENT||!1,O=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,Ve=e.RETURN_TRUSTED_TYPE||!1,ze=e.FORCE_BODY||!1,He=e.SANITIZE_DOM!==!1,Ue=e.SANITIZE_NAMED_PROPS||!1,Ge=e.KEEP_CONTENT!==!1,Ke=e.IN_PLACE||!1,we=jt(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Jt,nt=typeof e.NAMESPACE==`string`?e.NAMESPACE:k,lt=dn(e,`MATHML_TEXT_INTEGRATION_POINTS`,()=>L({},st)),dt=dn(e,`HTML_INTEGRATION_POINTS`,()=>L({},ut));let t=dn(e,`CUSTOM_ELEMENT_HANDLING`,()=>ct(null));if(E=ct(null),N(t,`tagNameCheck`)&&Ot(t.tagNameCheck)&&(E.tagNameCheck=t.tagNameCheck),N(t,`attributeNameCheck`)&&Ot(t.attributeNameCheck)&&(E.attributeNameCheck=t.attributeNameCheck),N(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(E.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),j(E),Ne&&(Ae=!1),Be&&(O=!0),qe&&(w=L({},Rt),T=ct(null),qe.html===!0&&(L(w,Mt),L(T,zt)),qe.svg===!0&&(L(w,Nt),L(T,Bt),L(T,Ht)),qe.svgFilters===!0&&(L(w,Pt),L(T,Bt),L(T,Ht)),qe.mathMl===!0&&(L(w,It),L(T,Vt),L(T,Ht))),D.tagCheck=null,D.attributeCheck=null,N(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?D.tagCheck=e.ADD_TAGS:_t(e.ADD_TAGS)&&(w===Te&&(w=R(w)),L(w,e.ADD_TAGS,M))),N(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?D.attributeCheck=e.ADD_ATTR:_t(e.ADD_ATTR)&&(T===Ee&&(T=R(T)),L(T,e.ADD_ATTR,M))),N(e,`ADD_FORBID_CONTENTS`)&&_t(e.ADD_FORBID_CONTENTS)&&(Je===Ye&&(Je=R(Je)),L(Je,e.ADD_FORBID_CONTENTS,M)),Ge&&(w[`#text`]=!0),Fe&&L(w,[`html`,`head`,`body`]),w.table&&(L(w,[`tbody`]),delete De.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Dt(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Dt(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=y;y=e.TRUSTED_TYPES_POLICY;try{b=ce(``)}catch(e){throw y=t,e}}else e.TRUSTED_TYPES_POLICY===null?(y=void 0,b=``):(y===void 0&&(y=ue()),y&&typeof b==`string`&&(b=ce(``)));A&&A(e),P=e},rn=L({},[...Nt,...Pt,...Ft]),V=L({},[...It,...Lt]),pn=function(e,t,n){return t.namespaceURI===k?e===`svg`:t.namespaceURI===et?e===`svg`&&(n===`annotation-xml`||lt[n]):!!rn[e]},mn=function(e,t,n){return t.namespaceURI===k?e===`math`:t.namespaceURI===tt?e===`math`&&dt[n]:!!V[e]},hn=function(e,t,n){return t.namespaceURI===tt&&!dt[n]||t.namespaceURI===et&&!lt[n]?!1:!V[e]&&(wt[e]||!rn[e])},gn=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:nt,tagName:`template`});let n=vt(e.tagName),r=vt(t.tagName);return at[e.namespaceURI]?e.namespaceURI===tt?pn(n,t,r):e.namespaceURI===et?mn(n,t,r):e.namespaceURI===k?hn(n,t,r):!!(Tt===`application/xhtml+xml`&&at[e.namespaceURI]):!1},H=function(e){ht(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw Dt(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},_n=function(e,t,n){try{e.removeAttributeNode(t)}catch{try{e.removeAttribute(n)}catch{}}},U=function(e){yn(e);let t=h(e);if(t){let e=[];ft(t,t=>{ht(e,t)}),ft(e,e=>{try{p(e)}catch{}})}let n=te(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;typeof i==`string`&&_n(e,r,i)}},vn=function(e,n,r){if(!r)try{r=n.getAttributeNode(e)}catch{r=null}ht(t.removed,{attribute:r||null,from:n});try{r?n.removeAttributeNode(r):n.removeAttribute(e)}catch{try{n.removeAttribute(e)}catch{}}if(e===`is`){if(O||Be)try{H(n)}catch{}else try{n.setAttribute(e,``)}catch{}}},W=function(e){let t=te(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;typeof i!=`string`||T[M(i)]||_n(e,r,i)}},yn=function(e){let t=[e];for(;t.length>0;){let e=t.pop();v(e)===B.element&&W(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},bn=function(e,t){return Pe?e===`patchsrc`||e===`for`&&t!==`label`&&t!==`output`:!1},xn=function(e){if(!Pe)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=v(e);if(n===B.processingInstruction||n===B.comment&&F(en,e.data)){try{p(e)}catch{}continue}if(n===B.element){let t=e,n=M(ie(e));try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&bn(`for`,n)&&t.removeAttribute(`for`)}catch{}}let r=h(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},Sn=function(e){let t=null,r=null;if(ze)e=`<remove></remove>`+e;else{let t=bt(e,/^[\r\n\t ]+/);r=t&&t[0]}Tt===`application/xhtml+xml`&&nt===k&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=y?ce(e):e;if(nt===k)try{t=new l().parseFromString(i,Tt)}catch{}if(!t||!t.documentElement){t=fe.createDocument(nt,`template`,null);try{t.documentElement.innerHTML=it?b:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),nt===k?he.call(t,Fe?`html`:`body`)[0]:Fe?t.documentElement:a},Cn=function(e){let t=re?re(e):e.ownerDocument;return pe.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},wn=function(e){return e=xt(e,ge,` `),e=xt(e,_e,` `),e=xt(e,ve,` `),e},Tn=function(e){e.normalize();let t=re?re(e):e.ownerDocument,n=pe.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=wn(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&ft(i,e=>{Dn(e.content)&&Tn(e.content)})},En=function(e){let t=ne?ne(e):null;return typeof t!=`string`||M(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==te(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==_(e)||e.childNodes!==h(e)},Dn=function(e){if(!_||typeof e!=`object`||!e)return!1;try{return _(e)===B.documentFragment}catch{return!1}},On=function(e){if(!_||typeof e!=`object`||!e)return!1;try{return typeof _(e)==`number`}catch{return!1}};function G(e,n,r){e.length!==0&&ft(e,e=>{e.call(t,n,r,P)})}let kn=function(e,t){return!!(Pe&&e.hasChildNodes()&&!On(e.firstElementChild)&&F($t,e.textContent)&&F($t,e.innerHTML)||Pe&&e.namespaceURI===k&&an[t]&&(On(e.firstElementChild)||typeof e.textContent==`string`&&F(on[t],e.textContent))||e.nodeType===B.processingInstruction||Pe&&e.nodeType===B.comment&&F(en,e.data))},An=function(e,t){return e instanceof RegExp?F(e,t):e instanceof Function&&!!e(t,...[...arguments].slice(2))},jn=function(e,t,n){if(!De[t]&&Ln(t)&&An(E.tagNameCheck,t))return!1;if(Ge&&!Je[t]){let t=g(e),r=h(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,m(e))}}}return H(e),!0},Mn=function(e,t,n,r){return e.length===0?t:t===n||t===r?R(t):t},Nn=function(e,t){return e===t||g(e)!==null?!1:(Ke&&yn(e),!0)},Pn=function(e,n){if(G(C.beforeSanitizeElements,e,null),Nn(e,n))return!0;if(En(e))return H(e),!0;let r=M(ie(e));if(w=Mn(C.uponSanitizeElement,w,Te,Le),G(C.uponSanitizeElement,e,{tagName:r,allowedTags:w}),Nn(e,n))return!0;if(kn(e,r))return H(e),!0;if(De[r]||!(D.tagCheck instanceof Function&&D.tagCheck(r))&&!w[r]){let t=jn(e,r,n);return t===!1&&G(C.afterSanitizeElements,e,null),t}if(v(e)===B.element&&!gn(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&F(tn,e.innerHTML))return H(e),!0;if(Ne&&e.nodeType===B.text){let n=wn(e.textContent);e.textContent!==n&&(ht(t.removed,{element:e.cloneNode()}),e.textContent=n)}return G(C.afterSanitizeElements,e,null),!1},Fn=function(e,t,r){if(Oe[t]||bn(t,e)||He&&(t===`id`||t===`name`)&&(r in n||r in I))return!1;let i=T[t]||D.attributeCheck instanceof Function&&D.attributeCheck(t,e);return Ae&&F(ye,t)||ke&&F(be,t)?!0:i?Qe[t]||F(we,xt(r,Se,``))||(t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&St(r,`data:`)===0&&Xe[e]||je&&!F(xe,xt(r,Se,``))?!0:!r:Ln(e)&&An(E.tagNameCheck,e)&&An(E.attributeNameCheck,t,e)||t===`is`&&E.allowCustomizedBuiltInElements&&An(E.tagNameCheck,r)},In=L({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Ln=function(e){return!In[vt(e)]&&F(Ce,e)},Rn=function(e,t,n,r){if(y&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return ce(r);case`TrustedScriptURL`:return le(r)}return r},zn=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),En(e)?H(e):mt(t.removed)}catch{vn(n,e)}},Bn=function(e){G(C.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||En(e))return;T=Mn(C.uponSanitizeAttribute,T,Ee,Re);let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:T,forceKeepAttr:void 0},r=t.length,i=M(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=M(o),u=c,d=o===`value`?u:Ct(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,G(C.uponSanitizeAttribute,e,n),d=n.attrValue,Ue&&(l===`id`||l===`name`)&&St(d,We)!==0&&(vn(o,e,a),d=We+d),Pe&&F(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){vn(o,e,a);continue}if(l===`attributename`&&bt(d,`href`)){vn(o,e,a);continue}if(!n.forceKeepAttr){if(!n.keepAttr){vn(o,e,a);continue}if(!Me&&F(nn,d)){vn(o,e,a);continue}if(Ne&&(d=wn(d)),!Fn(i,l,d)){vn(o,e,a);continue}d=Rn(i,l,s,d),d!==u&&zn(e,o,s,d)}}G(C.afterSanitizeAttributes,e,null)},Vn=function(e){let t=null,n=Cn(e);for(G(C.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(G(C.uponSanitizeShadowNode,t,null),Pn(t,e),Bn(t),Dn(t.content)&&Vn(t.content),v(t)===B.element){let e=ee(t);Dn(e)&&(Hn(e),Vn(e))}G(C.afterSanitizeShadowDOM,e,null)},Hn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Vn(e.shadow);continue}let n=e.node,r=v(n)===B.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=ne?ne(n):null;if(typeof e==`string`&&M(e)===`template`){let e=n.content;Dn(e)&&t.push({node:e,shadow:null})}}if(r){let e=ee(n);Dn(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(it=!e,it&&(e=`<!-->`),typeof e!=`string`&&!On(e)&&(e=At(e),typeof e!=`string`))throw Dt(`dirty is not a string, aborting`);if(!t.isSupported)return e;Ie?(w=Le,T=Re):kt(n),(C.uponSanitizeElement.length>0||C.uponSanitizeAttribute.length>0)&&(w=R(w)),C.uponSanitizeAttribute.length>0&&(T=R(T)),t.removed=[];let c=Ke&&typeof e!=`string`&&On(e);if(c){xn(e);let t=ie(e);if(typeof t==`string`){let n=M(t);if(!w[n]||De[n])throw U(e),Dt(`root node is forbidden and cannot be sanitized in-place`)}if(En(e))throw U(e),Dt(`root node is clobbered and cannot be sanitized in-place`);try{Hn(e)}catch(t){throw U(e),t}}else if(On(e))i=Sn(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===B.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Hn(a);else{if(!O&&!Ne&&!Fe&&e.indexOf(`<`)===-1)return y&&Ve?ce(e):e;if(i=Sn(e),!i)return O?null:Ve?b:``}i&&ze&&H(i.firstChild);let l=c?e:i;try{let e=Cn(l);for(;o=e.nextNode();)Pn(o,l),Bn(o),Dn(o.content)&&Vn(o.content)}catch(n){throw c&&(U(e),ft(t.removed,e=>{e.element&&yn(e.element)})),n}if(c)return ft(t.removed,e=>{e.element&&yn(e.element)}),Ne&&Tn(e),e;if(O){if(Ne&&Tn(i),Be)for(s=me.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(T.shadowroot||T.shadowrootmode)&&(s=S.call(r,s,!0)),s}let u=Fe?i.outerHTML:i.innerHTML;return Fe&&w[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&F(Zt,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
47
+ `+u),Ne&&(u=wn(u)),y&&Ve?ce(u):u},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kt(e),Ie=!0,Le=w,Re=T},t.clearConfig=function(){P=null,Ie=!1,Le=null,Re=null,y=ae,b=``},t.isValidAttribute=function(e,t,n){P||kt({});let r=M(e),i=M(t);return Fn(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&N(C,e)&&ht(C[e],t)},t.removeHook=function(e,t){if(N(C,e)){if(t!==void 0){let n=pt(C[e],t);return n===-1?void 0:gt(C[e],n,1)[0]}return mt(C[e])}},t.removeHooks=function(e){N(C,e)&&(C[e]=[])},t.removeAllHooks=function(){C=ln()},t}var V=fn(),pn=V.sanitize.bind(V);V.isSupported,V.addHook.bind(V),V.removeHook.bind(V),V.removeHooks.bind(V),V.removeAllHooks.bind(V),V.setConfig.bind(V),V.clearConfig.bind(V),V.isValidAttribute.bind(V),V.version,V.removed;function mn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var hn=mn();function gn(e){hn=e}var H={exec:()=>null};function _n(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function U(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(W.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var vn=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),W={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:_n(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:_n(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:_n(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:_n(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:_n(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:_n(e=>RegExp(`^ {0,${e}}>`))},yn=/^(?:[ \t]*(?:\n|$))+/,bn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,xn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Sn=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Cn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,wn=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Tn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,En=U(Tn).replace(/bull/g,wn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),Dn=U(Tn).replace(/bull/g,wn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),On=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,G=/^[^\n]+/,kn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,An=U(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,kn).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),jn=U(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,wn).getRegex(),Mn=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,Nn=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Pn=U(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,Nn).replace(`tag`,Mn).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Fn=e=>U(On).replace(`hr`,Sn).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Mn).getRegex(),In=Fn(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),Ln=Fn(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),Rn={blockquote:U(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Ln).getRegex(),code:bn,def:An,fences:xn,heading:Cn,hr:Sn,html:Pn,lheading:En,list:jn,newline:yn,paragraph:In,table:H,text:G},zn=U(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,Sn).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Mn).getRegex(),Bn={...Rn,lheading:Dn,table:zn,paragraph:U(On).replace(`hr`,Sn).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,zn).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Mn).getRegex()},Vn={...Rn,html:U(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,Nn).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:H,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:U(On).replace(`hr`,Sn).replace(`heading`,` *#{1,6} *[^
48
+ ]`).replace(`lheading`,En).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Hn=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Un=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Wn=/^( {2,}|\\)\n(?!\s*$)/,Gn=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Kn=/[\p{P}\p{S}]/u,qn=/[\s\p{P}\p{S}]/u,Jn=/[^\s\p{P}\p{S}]/u,Yn=U(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,qn).getRegex(),Xn=/[\p{Pi}\p{Ps}"']/u,Zn=/(?!~)[\p{P}\p{S}]/u,Qn=/(?!~)[\s\p{P}\p{S}]/u,$n=/(?:[^\s\p{P}\p{S}]|~)/u,er=U(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,vn?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),tr=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,nr=U(tr,`u`).replace(/punct/g,Kn).getRegex(),rr=U(tr,`u`).replace(/punct/g,Zn).getRegex(),ir=U(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,Xn).replace(/punct/g,Kn).getRegex(),ar=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,or=U(ar,`gu`).replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,qn).replace(/punct/g,Kn).getRegex(),sr=U(ar,`gu`).replace(/notPunctSpace/g,$n).replace(/punctSpace/g,Qn).replace(/punct/g,Zn).getRegex(),cr=U(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,qn).replace(/punct/g,Kn).getRegex(),lr=U(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,qn).replace(/punct/g,Kn).getRegex(),ur=U(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,qn).replace(/punct/g,Kn).getRegex(),dr=U(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,Kn).getRegex(),fr=U(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Jn).replace(/punctSpace/g,qn).replace(/punct/g,Kn).getRegex(),pr=U(/\\(punct)/,`gu`).replace(/punct/g,Kn).getRegex(),mr=U(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),hr=U(Nn).replace(`(?:-->|$)`,`-->`).getRegex(),gr=U(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,hr).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_r=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,vr=U(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,_r).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),yr=U(/^!?\[(label)\]\[(ref)\]/).replace(`label`,_r).replace(`ref`,kn).getRegex(),br=U(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,kn).getRegex(),xr=U(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,yr).replace(`nolink`,br).getRegex(),Sr=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Cr={_backpedal:H,anyPunctuation:pr,autolink:mr,blockSkip:er,br:Wn,code:Un,del:H,delLDelim:H,delRDelim:H,emStrongLDelim:nr,emStrongRDelimAst:or,emStrongRDelimUnd:lr,escape:Hn,link:vr,nolink:br,punctuation:Yn,reflink:yr,reflinkSearch:xr,tag:gr,text:Gn,url:H},wr={...Cr,emStrongLDelim:ir,emStrongRDelimAst:cr,emStrongRDelimUnd:ur,link:U(/^!?\[(label)\]\((.*?)\)/).replace(`label`,_r).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,_r).getRegex()},Tr={...Cr,emStrongRDelimAst:sr,emStrongLDelim:rr,delLDelim:dr,delRDelim:fr,url:U(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Sr).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:U(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Sr).getRegex()},Er={...Tr,br:U(Wn).replace(`{2,}`,`*`).getRegex(),text:U(Tr.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Dr={normal:Rn,gfm:Bn,pedantic:Vn},Or={normal:Cr,gfm:Tr,breaks:Er,pedantic:wr},kr={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},Ar=e=>kr[e];function K(e,t){if(t){if(W.escapeTest.test(e))return e.replace(W.escapeReplace,Ar)}else if(W.escapeTestNoEncode.test(e))return e.replace(W.escapeReplaceNoEncode,Ar);return e}function jr(e){try{e=encodeURI(e).replace(W.percentDecode,`%`)}catch{return null}return e}function Mr(e,t){let n=e.replace(W.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(W.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(W.slashPipe,`|`);return n}function Nr(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function Pr(e){let t=e.split(`
49
+ `),n=t.length-1;for(;n>=0&&W.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
50
+ `)}function Fr(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Ir(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Lr(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`),c=e[0].charAt(0)===`!`;r.state.inLink=!0;let l=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let d=r.inlineTokens(s),f=r.state.linkEmitted;if(r.state.linkEmitted=l,r.state.inLink=!1,!c){if(f){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:c?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:d}}function Rr(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
51
+ `).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
52
+ `)}var zr=class{options;rules;lexer;constructor(e){this.options=e||hn}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:Pr(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Rr(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=Nr(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:Nr(t[0],`
53
+ `),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:Nr(t[0],`
54
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=Nr(t[0],`
55
+ `).split(`
56
+ `),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
57
+ `),c=s.replace(this.rules.other.blockquoteSetextReplace,`
58
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
59
+ ${s}`:s,r=r?`${r}
60
+ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=e.join(`
61
+ `),o=t.raw+`
62
+ `+a.replace(this.rules.other.blockquoteSetextReplace2,``),s=this.blockquote(o);i[i.length-1]=s,n=`${n}
63
+ ${a}`,r=r.substring(0,r.length-t.text.length)+s.text;break}if(u?.type===`list`){let t=u,a=t.raw+`
64
+ `+e.join(`
65
+ `),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
66
+ `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Ir(t[2].split(`
67
+ `,1)[0],t[1].length),l=e.split(`
68
+ `,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
69
+ `,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
70
+ `,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
71
+ `+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
72
+ `+l}u=!l.trim(),r+=p+`
73
+ `,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=Pr(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:Nr(t[0],`
74
+ `),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Mr(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
75
+ `):[],a={type:`table`,raw:Nr(t[0],`
76
+ `),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Mr(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:Nr(t[0],`
77
+ `),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
78
+ `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=Nr(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Fr(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Lr(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Lr(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,a,o,s=i,c=0,l=r[0][0],u=n===l,d=l===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(r=d.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){s+=o;continue}if(r[5]||r[6]){if(i%3&&!((i+o)%3)){c+=o;continue}if(u)break}if(s-=o,s>0)continue;o=Math.min(o,o+s+c);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+o);if(Math.min(i,o)%2){let e=n.slice(1,-1);return{type:`em`,raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let l=n.slice(2,-2);return{type:`strong`,raw:n,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},q=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||hn,this.options.tokenizer=this.options.tokenizer||new zr,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:W,block:Dr.normal,inline:Or.normal};this.options.pedantic?(t.block=Dr.pedantic,t.inline=Or.pedantic):this.options.gfm&&(t.block=Dr.gfm,t.inline=this.options.breaks?Or.breaks:Or.gfm),this.tokenizer.rules=t}static get rules(){return{block:Dr,inline:Or}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(W.carriageReturn,`
79
+ `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(W.tabCharGlobal,` `).replace(W.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
80
+ `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
81
+ `)?``:`
82
+ `)+i.raw,n.text+=`
83
+ `+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
84
+ `)?``:`
85
+ `)+i.raw,n.text+=`
86
+ `+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(`
87
+ `)?``:`
88
+ `)+i.raw,r.text+=`
89
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
90
+ `)?``:`
91
+ `)+i.raw,n.text+=`
92
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(!(e.charAt(0)===`!`||!Object.hasOwn(this.tokens.links,e.slice(n+1,-1)))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes(`[`)){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,n.slice(r+1,-1)))return n;if(r>1&&n.charAt(0)!==`!`){let i=n.slice(1,r-1);if(this.linkInText(i))return`[`+i.replace(e,t)+`][`+`a`.repeat(n.length-r-2)+`]`}return`[`+`a`.repeat(n.length-2)+`]`};n=n.replace(e,t)}n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>`+`.repeat(e.length)),n=n.replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+`[`+`a`.repeat(e.length-r-2)+`]`}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i=``,a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=``),r=!1;let o;if(this.options.extensions?.inline?.some(n=>(o=n.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let n=t.at(-1);o.type===`text`&&n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),o.raw.slice(-1)!==`_`&&(i=o.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},Br=class{options;parser;constructor(e){this.options=e||hn}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(W.notSpaceStart)?.[0],i=e.replace(W.endingNewline,``)+`
93
+ `;return r?`<pre><code class="language-`+K(r)+`">`+(n?i:K(i,!0))+`</code></pre>
94
+ `:`<pre><code>`+(n?i:K(i,!0))+`</code></pre>
95
+ `}blockquote({tokens:e}){return`<blockquote>
96
+ ${this.parser.parse(e)}</blockquote>
97
+ `}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
98
+ `}hr(e){return`<hr>
99
+ `}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
100
+ `+r+`</`+i+`>
101
+ `}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
102
+ `}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
103
+ `}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
104
+ <thead>
105
+ `+t+`</thead>
106
+ `+r+`</table>
107
+ `}tablerow({text:e}){return`<tr>
108
+ ${e}</tr>
109
+ `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
110
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${K(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=jr(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+K(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=jr(e);if(i===null)return K(n);e=i;let a=`<img src="${e}" alt="${K(n)}"`;return t&&(a+=` title="${K(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:K(e.text)}},Vr=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},J=class e{options;renderer;textRenderer;constructor(e){this.options=e||hn,this.options.renderer=this.options.renderer||new Br,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Vr}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Hr=class{options;block;constructor(e){this.options=e||hn}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?q.lex:q.lexInline}provideParser(e=this.block){return e?J.parse:J.parseInline}},Ur=class{defaults=mn();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=J;Renderer=Br;TextRenderer=Vr;Lexer=q;Tokenizer=zr;Hooks=Hr;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Br(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new zr(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Hr;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=Hr.passThroughHooks.has(n)?e=>{if(this.defaults.async&&Hr.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return q.lex(e,t??this.defaults)}parser(e,t){return J.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?q.lex:q.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?J.parse:J.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?q.lex:q.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?J.parse:J.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
111
+ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+K(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},Wr=new Ur;function Y(e,t){return Wr.parse(e,t)}Y.options=Y.setOptions=function(e){return Wr.setOptions(e),Y.defaults=Wr.defaults,gn(Y.defaults),Y},Y.getDefaults=mn,Y.defaults=hn;function Gr(...e){return Wr.use(...e),Y.defaults=Wr.defaults,gn(Y.defaults),Y}Y.use=Gr,Y.walkTokens=function(e,t){return Wr.walkTokens(e,t)},Y.parseInline=Wr.parseInline,Y.Parser=J,Y.parser=J.parse,Y.Renderer=Br,Y.TextRenderer=Vr,Y.Lexer=q,Y.lexer=q.lex,Y.Tokenizer=zr,Y.Hooks=Hr,Y.parse=Y,Y.options,Y.setOptions,Y.walkTokens,Y.parseInline,J.parse,q.lex;function Kr(e,t){let n=x(e);return t===`shtml`||([`js`,`javascript`,`ts`,`typescript`,`jsx`,`tsx`].includes(t)?n=Jr(n):t===`json`?n=Yr(n):[`bash`,`sh`,`shell`,`zsh`].includes(t)&&(n=Xr(n))),n}function qr(e){let t=[];return{html:e.replace(/<span class="tok-(?:comment|string)">[\s\S]*?<\/span>/g,e=>{let n=String.fromCharCode(57344+t.length);return t.push(e),n}),restore:e=>e.replace(/[\ue000-\uf8ff]/g,e=>{let n=e.charCodeAt(0)-57344;return t[n]??e})}}function Jr(e){e=e.replace(/(\/\/[^\n]*)/g,`<span class="tok-comment">$1</span>`),e=e.replace(/(\/\*[\s\S]*?\*\/)/g,`<span class="tok-comment">$1</span>`),e=e.replace(/(&quot;[^&]*?&quot;|&#39;[^&]*?&#39;|`[^`]*?`)/g,`<span class="tok-string">$1</span>`);let t=qr(e);return e=t.html,e=e.replace(RegExp(`\\b(${`const.let.var.function.return.if.else.for.while.class.extends.import.export.from.default.new.this.async.await.try.catch.throw.typeof.instanceof.interface.type.enum.implements.abstract.public.private.protected.readonly.static.void.null.undefined.true.false`.split(`.`).join(`|`)})\\b`,`g`),`<span class="tok-keyword">$1</span>`),e=e.replace(/\b(\d+\.?\d*)\b/g,`<span class="tok-number">$1</span>`),e=e.replace(/\b([a-zA-Z_$][\w$]*)\s*(?=\()/g,`<span class="tok-fn">$1</span>`),t.restore(e)}function Yr(e){return e=e.replace(/(&quot;[^&]*?&quot;)\s*:/g,`<span class="tok-keyword">$1</span>:`),e=e.replace(/:\s*(&quot;[^&]*?&quot;)/g,`: <span class="tok-string">$1</span>`),e=e.replace(/\b(\d+\.?\d*)\b/g,`<span class="tok-number">$1</span>`),e=e.replace(/\b(true|false|null)\b/g,`<span class="tok-keyword">$1</span>`),e}function Xr(e){return e=e.replace(/(#[^\n]*)/g,`<span class="tok-comment">$1</span>`),e=e.replace(/(&quot;[^&]*?&quot;|&#39;[^&]*?&#39;)/g,`<span class="tok-string">$1</span>`),e=e.replace(RegExp(`\\b(${[`if`,`then`,`else`,`fi`,`for`,`do`,`done`,`while`,`case`,`esac`,`echo`,`export`,`cd`,`ls`,`mkdir`,`rm`,`cp`,`mv`,`cat`,`grep`,`npm`,`node`,`git`].join(`|`)})\\b`,`g`),`<span class="tok-keyword">$1</span>`),e}var Zr=new Ur({gfm:!0,breaks:!0,async:!1,renderer:{code({text:e,lang:t}){let n=t??``,r=Kr(e,n);return`<pre><code${n?` class="language-${x(n)}"`:``}>${r}</code></pre>\n`},link({href:e,title:t,tokens:n}){let r=e??``;if(r.startsWith(`javascript:`))return this.parser.parseInline(n);let i=t?` title="${x(t)}"`:``,a=this.parser.parseInline(n);return`<a href="${x(r)}"${i} target="_blank" rel="noopener noreferrer">${a}</a>`},image({href:e,title:t,text:n}){let r=e??``,i=n?` alt="${x(n)}"`:``,a=t?` title="${x(t)}"`:``;return`<img src="${x(r)}"${i}${a}>`}}}),Qr={ALLOWED_TAGS:`a.b.i.em.strong.p.br.code.pre.ul.ol.li.h1.h2.h3.h4.h5.h6.table.thead.tbody.tr.th.td.del.blockquote.hr.img.span.div.details.summary.input`.split(`.`),ALLOWED_ATTR:[`href`,`src`,`alt`,`title`,`class`,`target`,`rel`,`type`,`checked`,`disabled`],ALLOW_DATA_ATTR:!1};function $r(e){return pn(e,Qr)}function ei(e){return e.replace(/<a\s([^>]*?)>/g,(e,t)=>{let n=t;return/(^|\s)target\s*=/i.test(n)?n=n.replace(/(^|\s)target\s*=\s*(['"])[^'"]*\2/gi,`$1target="_blank"`):n+=` target="_blank"`,/(^|\s)rel\s*=/i.test(n)?n=n.replace(/(^|\s)rel\s*=\s*(['"])[^'"]*\2/gi,`$1rel="noopener noreferrer"`):n+=` rel="noopener noreferrer"`,`<a ${n}>`})}var ti=/<p><strong>Error:<\/strong>\s*([\s\S]*?)<\/p>/g,ni=/<pre><code class="language-shtml">[\s\S]*?<\/code><\/pre>/g,ri=`<div class="msg__dip-pending" role="status" aria-live="polite" aria-label="Pouring a dip"><span class="msg__dip-pending-label">Pouring a dip…</span><span class="msg__dip-pending-status" aria-hidden="true"></span></div>`;function ii(e){return ei($r(Zr.parse(e)))}function ai(e){return e.replace(ti,(e,t)=>`<div class="msg__error" role="alert"><div class="msg__error-label">Error</div><div class="msg__error-body">${t}</div></div>`)}function oi(e){return e.replace(ni,ri)}function si(e){return ii(e)}function ci(e,t=!1){let n=ai(ii(ee(e)));return t&&(n=oi(n)),n}te();var li=new Set,ui=/^\[([^:\]]+):\s*([^\]]+)\]\s*\n?/,di=/^\[([^\]]+)\]\s*/;function fi(e){let t=ui.exec(e)??di.exec(e);return t?e.slice(t[0].length):e}function pi(e){if(typeof e!=`string`||e.length===0)return null;let t=i(e);if(t)return t;let n=ui.exec(e);if(n){let e=n[1].trim().toLowerCase().replace(/\s+event$/,``).replace(/\s+/g,`-`);if(le(e))return e}return null}var mi=/^\[@([^\]\s]+) (?:completed|idle|sudo-request)\]/;function hi(e){return e.replace(/-scoop$/,``)}function X(e,t={}){let n=document.createElement(e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function gi(e){let t=e.split(`
112
+ `,1)[0]??``;return t.length>80?`${t.slice(0,79)}…`:t}function _i(e){return/^https?:\/\//i.test(e)}function vi(e){return/"verb"\s*:\s*"([^"\\]+)"/.exec(e)?.[1]??null}function yi(e,t,n,r){if(r)return r;let i=n?.[2]?.trim();if(!i)return t??`event`;if(t===`navigate`){let t=vi(e);if(t)return t;if(_i(i))return`navigate`}if(t===`discovery`&&_i(i))try{return new URL(i).hostname}catch{return`discovery`}return gi(i)}function Z(e,t){if(typeof e!=`object`||!e)return``;let n=e[t];return typeof n==`string`?n:``}function bi(e){return e.split(`/`).filter(Boolean).pop()??e}function xi(e){return typeof e==`string`?e:Z(e,`command`)}function Si(e){for(let t of e.trim().split(/\s+/))if(!(t===`sudo`||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t)))return t.split(`/`).pop()??t;return``}var Ci=new Set([`cd`,`echo`,`export`,`pwd`,`true`,`:`,`set`]);function wi(e){let t=e.split(/&&|\|\||[;|\n]/),n=null;for(let e of t){let t=Si(e);if(!t)continue;let r=Ci.has(t)?1:Object.hasOwn(Ti,t)?3:2;(!n||r>n.score)&&(n={program:t,score:r})}return n?.program??``}var Ti={git:`git-branch`,gh:`git-pull-request`,ls:`folder-open`,cat:`file-text`,head:`file-text`,tail:`file-text`,cd:`corner-down-right`,pwd:`map-pin`,mkdir:`folder-plus`,rm:`trash-2`,mv:`move`,cp:`copy`,grep:`search`,rg:`search`,find:`search`,curl:`globe`,wget:`globe`,open:`external-link`,"tab-new":`app-window`,"playwright-cli":`app-window`,playwright:`app-window`,npm:`package`,npx:`package`,node:`hexagon`,python3:`code`,python:`code`,echo:`quote`,say:`volume-2`,afplay:`music`,screencapture:`camera`,ffmpeg:`film`,convert:`image`,pdftk:`file-text`,sqlite3:`database`,serve:`server`,tsc:`braces`,test:`flask-conical`,biome:`paintbrush`,esbuild:`zap`,webhook:`webhook`,crontask:`clock`,fswatch:`eye`,workflow:`workflow`,mount:`hard-drive`,usb:`usb`,serial:`cable`,hid:`keyboard`,esptool:`cpu`,agent:`bot`,mcp:`plug`,host:`radio`,ps:`activity`,kill:`octagon-x`,secret:`key-round`,"oauth-token":`key-round`,sed:`scissors`,awk:`filter`,diff:`git-compare`,pbcopy:`clipboard-copy`,pbpaste:`clipboard-paste`},Ei={read_file:`file-text`,write_file:`file-plus`,edit_file:`file-pen`,send_message:`message-circle`,list_scoops:`ice-cream-cone`,scoop_scoop:`ice-cream-cone`,feed_scoop:`utensils`,drop_scoop:`trash-2`,scoop_mute:`bell-off`,scoop_unmute:`bell-ring`,scoop_wait:`hourglass`,update_global_memory:`brain`,lick_confirm:`shield-check`,lick_dismiss:`shield-x`,sudo_request:`shield-question`,list_sudo_requests:`list-checks`};function Di(e){if(e.name===`bash`){let t=wi(xi(e.input)),n=Object.hasOwn(Ti,t)?Ti[t]:`terminal`;return h(n)?n:`terminal`}let t=Object.hasOwn(Ei,e.name)?Ei[e.name]:`wrench`;return h(t)?t:`wrench`}function Oi(e){let t=Z(e.input,`path`)||Z(e.input,`file_path`);switch(e.name){case`bash`:return`Use Sliccy's computer`;case`read_file`:return t?`Read ${bi(t)}`:`Read a file`;case`write_file`:return t?`Write ${bi(t)}`:`Write a file`;case`edit_file`:return t?`Edit ${bi(t)}`:`Edit a file`;case`send_message`:return`Send a message to Sliccy`;case`list_scoops`:return`Check on the scoops`;case`scoop_scoop`:{let t=Z(e.input,`name`);return t?`Scoop up "${t}"`:`Scoop a new scoop`}case`feed_scoop`:{let t=Z(e.input,`name`)||Z(e.input,`scoop`);return t?`Feed the ${t} scoop`:`Feed a scoop`}case`drop_scoop`:{let t=Z(e.input,`name`)||Z(e.input,`scoop`);return t?`Drop the ${t} scoop`:`Drop a scoop`}case`scoop_mute`:{let t=Z(e.input,`name`)||Z(e.input,`scoop`);return t?`Mute the ${t} scoop`:`Mute a scoop`}case`scoop_unmute`:{let t=Z(e.input,`name`)||Z(e.input,`scoop`);return t?`Unmute the ${t} scoop`:`Unmute a scoop`}case`scoop_wait`:return`Wait for the scoops`;case`update_global_memory`:return`Update the shared memory`;case`lick_confirm`:return`Grant the scoop access`;case`lick_dismiss`:return`Hold the scoop back`;case`sudo_request`:{let t=Z(e.input,`kind`);return t?`Ask for ${t} access`:`Ask for more access`}case`list_sudo_requests`:return`Check access requests`;default:{let t=e.name.replace(/[_-]+/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1)}}}var ki=4e3,Ai=4;function ji(e){return e.length>ki?`${e.slice(0,ki)}…`:e}var Mi=`slicc-wcmsg-style`,Ni=[`slicc-action-row .slicc-act__body:has(> .wcmsg-bash){background:#141414;`,`border-color:#2a2a2a;color:#f2f2f2;}`,`.wcmsg-bash{white-space:pre-wrap;}`,`.wcmsg-bash .wcmsg-cmd{color:#9ad17e;}`,`.wcmsg-bash .wcmsg-out{color:#f2f2f2;}`,`.wcmsg-tool-image{display:block;max-width:100%;max-height:480px;width:auto;height:auto;`,`object-fit:contain;margin:8px 0;border-radius:6px;}`,`.wcmsg-image-overflow{margin-top:6px;opacity:.7;}`,`.wcmsg-path{color:var(--txt-3);margin-bottom:4px;}`,`slicc-action-row[data-progress] .slicc-act__ic{`,`background:linear-gradient(to top,`,`var(--slicc-progress-ink,var(--accent)) calc(var(--slicc-progress,0)*100%),`,`color-mix(in srgb,var(--slicc-progress-ink,var(--accent)) 30%,transparent) 0);}`,`slicc-action-row[data-progress="indeterminate"] .slicc-act__ic{`,`animation:wcmsg-progress-breathe 1.6s ease-in-out infinite;}`,`@keyframes wcmsg-progress-breathe{0%,100%{opacity:.45}50%{opacity:1}}`,`.wcmsg-dots{margin-left:auto;display:inline-flex;gap:4px;align-items:center;`,`color:var(--txt-3);font-variant-numeric:tabular-nums;}`,`.wcmsg-dots__dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.25;}`,`.wcmsg-dots__dot.is-done{opacity:1;}`,`.wcmsg-dots__dot.is-active{opacity:1;animation:wcmsg-progress-blink 1s ease-in-out infinite;}`,`.wcmsg-dots--indeterminate .wcmsg-dots__dot{animation:wcmsg-progress-blink 1.2s ease-in-out infinite;}`,`.wcmsg-dots--indeterminate .wcmsg-dots__dot:nth-child(2){animation-delay:.2s}`,`.wcmsg-dots--indeterminate .wcmsg-dots__dot:nth-child(3){animation-delay:.4s}`,`@keyframes wcmsg-progress-blink{0%,100%{opacity:1}50%{opacity:.25}}`,`slicc-action-row[data-progress] .slicc-act__head .slicc-act__badge{display:none;}`,`slicc-tool-cluster[data-progress] .wcmsg-dots{margin-left:auto;}`,`slicc-tool-cluster[data-progress] .slicc-cluster__count{margin-left:8px;}`,`slicc-action-row[data-progress] .slicc-act__body{position:relative;overflow:hidden;}`,`slicc-action-row[data-progress] .slicc-act__body::before{content:"";position:absolute;`,`top:0;left:0;height:3px;width:calc(var(--slicc-progress,0)*100%);`,`background:var(--slicc-progress-ink,var(--accent));transition:width .25s linear;z-index:1;}`,`slicc-action-row[data-progress] .slicc-act__body:has(> .wcmsg-bash)::before{background:#9ad17e;}`,`slicc-action-row[data-progress="indeterminate"] .slicc-act__body::before{width:30%;`,`animation:wcmsg-progress-slide 1.2s ease-in-out infinite;}`,`@keyframes wcmsg-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}`,`@media (prefers-reduced-motion:reduce){.wcmsg-dots__dot,`,`slicc-action-row[data-progress] .slicc-act__ic,`,`slicc-action-row[data-progress] .slicc-act__body::before{animation:none!important;}}`].join(``);function Pi(){if(document.getElementById(Mi))return;let e=document.createElement(`style`);e.id=Mi,e.textContent=Ni,document.head.appendChild(e)}function Fi(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m${String(t%60).padStart(2,`0`)}s`:`${Math.floor(n/60)}h${String(n%60).padStart(2,`0`)}m`}function Ii(e){if(!Number.isFinite(e)||e<0)return``;if(e<1e3)return`${Math.round(e)} B`;let t=[`kB`,`MB`,`GB`,`TB`],n=e/1e3,r=0;for(;n>=1e3&&r<t.length-1;)n/=1e3,r+=1;return`${n<10?n.toFixed(1):Math.round(n)} ${t[r]}`}var Li=`data-progress`,Ri=`wcmsg-dots`,zi=3;function Bi(e,t){let n=[];e.total!==void 0&&e.unit===`iterations`&&n.push(`${e.done??0}/${e.total}`),n.push(e.label);let r=[];return t===void 0?e.unit===`bytes`&&e.done&&r.push(Ii(e.done)):r.push(`${Math.round(t*100)}%`),e.etaMs!==void 0&&e.etaMs>0&&r.push(`~${Fi(e.etaMs)} left`),r.length?`${n.join(` · `)} — ${r.join(`, `)}`:n.join(` · `)}var Vi={head:`slicc-act__head`,chev:`slicc-act__chev`,dotsBefore:`.slicc-act__chev`,iconFill:!0},Hi={head:`slicc-cluster__head`,chev:`slicc-cluster__chev`,dotsBefore:`.slicc-cluster__count`,iconFill:!1};function Ui(e,t,n){Pi();let r=e.querySelector(`:scope > .${n.head}`),i=r?.querySelector(`:scope > .${Ri}`)??null;if(!t||t.phase===`end`){e.removeAttribute(Li),e.style.removeProperty(`--slicc-progress`),e.removeAttribute(`title`),i?.remove();return}let a=typeof t.fraction==`number`&&Number.isFinite(t.fraction),o=a?Math.min(1,Math.max(0,t.fraction)):void 0;if(e.setAttribute(Li,a?`determinate`:`indeterminate`),n.iconFill?e.style.setProperty(`--slicc-progress`,o===void 0?`0`:String(o)):e.style.removeProperty(`--slicc-progress`),e.setAttribute(`title`,Bi(t,o)),!r)return;let s=i;if(!s){s=X(`span`,{class:Ri,role:`progressbar`,"aria-label":t.label});for(let e=0;e<zi;e++)s.append(X(`span`,{class:`wcmsg-dots__dot`}));let e=r.querySelector(`:scope > ${n.dotsBefore}`);e?r.insertBefore(s,e):r.append(s)}s.classList.toggle(`${Ri}--indeterminate`,o===void 0),o===void 0?s.removeAttribute(`aria-valuenow`):(s.setAttribute(`aria-valuemin`,`0`),s.setAttribute(`aria-valuemax`,`100`),s.setAttribute(`aria-valuenow`,String(Math.round(o*100))));let c=o===void 0?-1:Math.min(2,Math.floor(o*zi));s.querySelectorAll(`.wcmsg-dots__dot`).forEach((e,t)=>{e.classList.toggle(`is-done`,o!==void 0&&(t<c||o>=1)),e.classList.toggle(`is-active`,o!==void 0&&o<1&&t===c)})}function Wi(e,t){Ui(e,t,Vi)}function Gi(e,t){Ui(e,t,Hi)}function Ki(e){let t=e.length;if(t===0)return null;let n=e.filter(e=>e.done).length;if(n===t)return null;let r=e.filter(e=>!e.done&&typeof e.fraction==`number`&&Number.isFinite(e.fraction)).reduce((e,t)=>e+Math.min(1,Math.max(0,t.fraction)),0);return{id:`cluster`,label:`${n} of ${t} done`,fraction:Math.min(1,(n+r)/t),done:n,total:t,unit:`iterations`,phase:`update`}}function qi(e){let t=(Ze(e).textContent??``).split(/\r?\n/).reverse().find(e=>e.trim().length>0)?.trim();return t?gi(t):null}function Ji(e,t){let n=u(t),r=n.reduce((e,t)=>e+Number(t.type===`image`),0),i=0,a=null;for(let t of n){if(t.type===`text`){e.append(Ze(ji(t.text))),a=qi(t.text)??a;continue}if(i>=Ai)continue;let n=document.createElement(`img`);n.className=`wcmsg-tool-image`,n.src=t.dataUrl,n.alt=a??`Tool result image`,n.loading=`lazy`,n.addEventListener(`error`,()=>n.replaceWith(Ze(ji(t.marker))),{once:!0}),e.append(n),i++}if(r>i){let t=X(`div`,{class:`wcmsg-image-overflow`});t.textContent=`+${r-i} more images`,e.append(t)}}function Yi(e){let t=xi(e.input),n=Si(t),r=`slicc-bash-renderer-${n}`;if(n&&customElements.get(r)){let n=document.createElement(r);return n.setAttribute(`slot`,`body`),n.setAttribute(`command`,t),n.command=t,n.output=e.result??``,n}let i=X(`div`,{slot:`body`,class:`wcmsg-bash`}),a=X(`div`,{class:`wcmsg-cmd`});if(a.textContent=`$ ${ji(t)}`,i.append(a),e.result){let t=X(`div`,{class:`wcmsg-out`});Ji(t,e.result),i.append(t)}return i}function Xi(e){if(Pi(),e.name===`bash`)return Yi(e);let t=X(`div`,{slot:`body`}),n=Z(e.input,`path`)||Z(e.input,`file_path`);if(n){let e=X(`div`,{class:`wcmsg-path`});e.textContent=n,t.append(e)}if(e.name===`write_file`){let n=X(`span`,{class:`add`});return n.textContent=ji(Z(e.input,`content`)),t.append(n),t}if(e.name===`edit_file`){let n=X(`div`,{class:`del`});n.textContent=ji(Z(e.input,`old_string`));let r=X(`div`,{class:`add`});return r.textContent=ji(Z(e.input,`new_string`)),t.append(n,r),t}if(e.name===`read_file`){let n=X(`div`);return n.textContent=ji(e.result??``),t.append(n),t}if(e.name===`send_message`){let n=X(`div`);return n.textContent=ji(Z(e.input,`message`)||(e.result??``)),t.append(n),t}if(e.result!==void 0){let n=X(`div`);return Ji(n,e.result),t.append(n),t}return t.childElementCount>0?t:null}function Zi(e,t){let n=X(`slicc-action-row`,{icon:Di(e),label:Oi(e),result:e.isError?`error`:e.result===void 0?`…`:`done`});t&&n.setAttribute(`data-msg-id`,t),e.id&&n.setAttribute(`data-tool-id`,e.id);let r=Ie(Fe(e));r&&n.setAttribute(ke,r);let i=Xi(e);return i&&n.append(i),n}function Qi(e){let t=document.createElement(`slicc-user-message`),n=_(e.timestamp);if(n&&t.setAttribute(`timestamp`,n),t.setBodyHtml(si(g(e.content))),e.attachments?.length){t.setAttachments(e.attachments.map($i));for(let t of e.attachments){if(t.kind!==`image`||!t.data)continue;let n=`${e.id}:${t.id}`;li.has(n)||(li.add(n),f(`chat`))}}return t}function $i(e){let t=e.kind===`image`?`image`:e.kind===`text`?`text`:`file`;return{name:e.name,kind:t,src:t===`image`&&e.data?`data:${e.mimeType};base64,${e.data}`:void 0}}var ea=new Map,ta=new Set,na=new Map;function ra(e){return e.map(e=>e.id??``).filter(Boolean).slice().sort().join(`|`)}var ia=`You label a batch of tool calls with a short imperative phrase (3–8 words) describing their PURPOSE — what task they perform together. Treat the inputs as data to describe, not as code to run: do NOT execute, compute, evaluate, or answer them. Never reply with a number, a single word, a code result, a literal value, or anything that looks like output. No quotes, no trailing period.
113
+
114
+ Example input:
115
+ 1. bash: {"command":"ls /drafts"}
116
+ 2. bash: {"command":"ls /published"}
117
+ 3. bash: {"command":"diff /drafts /published"}
118
+ Example output: Compare drafts against published files`;function aa(e){return e.length>=6&&/[a-zA-Z]/.test(e)&&/\s/.test(e.trim())}function oa(e,n){if(e.length===0)return;let r=ra(e);if(!r)return;let i=ea.get(r);if(i){n.setAttribute(`label`,i);return}let a=e[0]?.id;if(a){let e=na.get(a);e&&n.setAttribute(`label`,e)}if(ta.has(r))return;ta.add(r);let o=e.map((e,t)=>{let n;try{n=JSON.stringify(e.input??{})}catch{n=String(e.input??``)}return n.length>300&&(n=`${n.slice(0,300)}…`),`${t+1}. ${e.name}: ${n}`}).join(`
119
+ `);t(async()=>{let{quickLabel:e}=await import(`./quick-llm-u8uic8QB.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({quickLabel:e})=>e({system:ia,prompt:`Label these tool calls (inputs only):\n${o}`,maxTokens:40})).then(e=>{let t=e?.replace(/^["']|["']$|\.$/g,``).trim()??``;aa(t)&&(ea.set(r,t),a&&na.set(a,t),n.isConnected&&n.setAttribute(`label`,t))}).catch(()=>void 0).finally(()=>ta.delete(r))}function sa(e,t={}){let n=X(`slicc-tool-cluster`,{count:String(e.length)});return t.open&&n.setAttribute(`open`,``),n.append(...e),t.toolCalls&&t.toolCalls.length>0&&oa(t.toolCalls,n),n}function ca(e){let t=document.createElement(`slicc-agent-message`);t.setAttribute(`data-msg-id`,e.id);let n=(e.content??``).trim().length>0,r=_(e.timestamp);return r&&n&&t.setAttribute(`timestamp`,r),e.isStreaming&&t.setAttribute(`streaming`,``),t.setBodyHtml(ci(e.content,e.isStreaming===!0)),n||t.setAttribute(`data-empty`,``),[t,...(e.toolCalls??[]).map(t=>Zi(t,e.id))]}function la(e,t){let n=e.querySelectorAll(`:scope > slicc-tool-cluster`);for(let e of n){let n=Array.from(e.querySelectorAll(`slicc-action-row`));ua(e,n,t);let r=e.parentNode;if(!r){e.remove();continue}for(let t of n)da(t,r,e);e.remove()}}function ua(e,t,n){if(!e.hasAttribute(`open`))return;let r=t[0]?.dataset.msgId;r&&n.add(r)}function da(e,t,n){let r=e.dataset.msgId,i=r&&t instanceof Element?t.querySelector(`:scope > slicc-agent-message[data-msg-id="${r}"]`):null;if(!i||i.parentNode!==t){t.insertBefore(e,n);return}let a=i;for(;a.nextSibling instanceof HTMLElement&&a.nextSibling.tagName.toLowerCase()===`slicc-action-row`&&a.nextSibling.dataset.msgId===r;)a=a.nextSibling;t.insertBefore(e,a.nextSibling)}var fa=new Set([`slicc-user-message`,`slicc-lick-card`,`slicc-error-card`,`slicc-delegation-line`,`slicc-day-separator`]);function pa(e){return e instanceof HTMLElement?fa.has(e.tagName.toLowerCase()):!0}function ma(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-action-row`}function ha(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-agent-message`}function ga(e){let t=[],n=[];for(let r of e)ha(r)?!r.hasAttribute(`data-empty`)&&n.length>0&&(t.push(n),n=[]):ma(r)&&n.push(r);return n.length>0&&t.push(n),t}function _a(e,t){let n=[];for(let r of e){let e=r.dataset.msgId,i=r.dataset.toolId;if(!e||!i)return;let a=t(e,i);if(!a)return;n.push(a)}return n}function va(e,t){let n=e[0],r=n.parentNode;if(!r)return;let i=new Set(e),a=n.nextSibling;for(;a&&i.has(a);)a=a.nextSibling;let o=n.dataset.msgId,s=sa(e,{open:!!(o&&t.openClusterAnchors.has(o)),toolCalls:t.toolCallLookup?_a(e,t.toolCallLookup):void 0});r.insertBefore(s,a)}function ya(e,t){la(e,t.openClusterAnchors);let n=Array.from(e.children),r=0;for(;r<n.length;){if(pa(n[r])){r++;continue}let e=r;for(;e<n.length&&!pa(n[e]);)e++;let i=ga(n.slice(r,e));for(let e of i)e.length>=3&&va(e,t);r=e}t.openClusterAnchors.clear()}function ba(e){let t=ui.exec(e.content),n=e.lickCount??1,r=mi.exec(e.content),i=r?hi(r[1]):null,a=X(`slicc-lick-card`,{kind:e.channel??`webhook`,"event-label":yi(e.content,e.channel,t,i),collapsible:``,collapsed:``});i&&a.setAttribute(`hue`,fe({isRoot:!1,name:i})),n>1&&a.setAttribute(`count`,String(n)),e.lickState&&e.lickState!==`pending`&&a.setAttribute(`state`,e.lickState);let o=e.lickParts??[e.content];for(let e of o){let t=document.createElement(`div`);t.innerHTML=si(fi(e)),a.append(t)}return a}function xa(e){let t=X(`slicc-delegation-line`,{kind:`feed`,verb:`feed_scoop`,label:gi(e.content.replace(/\*\*\[[^\]]*\]\*\*\s*/,``))}),n=document.createElement(`slicc-user-message`);return n.setBodyHtml(si(e.content)),[t,n]}function Sa(e,t){let n={message:e.content,"message-id":e.id};return t?(n[`no-action`]=``,X(`slicc-error-card`,n)):(m(e.content)?n.action=`settings`:p(e.content)?n.action=`change-model`:d(e.content)&&(n.action=`login`),X(`slicc-error-card`,n))}function Ca(e,t={}){if(e.source===`lick`)return[ba(e)];if(e.source===`delegation`||e.channel===`delegation`)return xa(e);if(e.error)return[Sa(e,t.readOnly===!0)];if(e.role===`assistant`)return ca(e);let n=pi(e.content);return n?[ba({...e,source:`lick`,channel:n})]:[Qi(e)]}function wa(e){let t=[];for(let n of e){let e=n;if(!n.source&&n.role===`user`){let t=pi(n.content);t&&(e={...n,source:`lick`,channel:t})}let r=t[t.length-1];if(!(e.lickId||r?.lickId)&&e.source===`lick`&&r?.source===`lick`&&r.channel===e.channel){r.lickParts=[...r.lickParts??[r.content],e.content],r.lickCount=r.lickParts.length,r.content+=`\n\n${e.content}`;continue}t.push({...e})}return t}function Ta(e){return new Date(e).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`})}function Ea(e){return X(`slicc-day-separator`,{label:Ta(e)})}function Da(e,t={}){let n=[],r=``;for(let i of e){let e=new Date(i.timestamp).toDateString();e!==r&&(n.push(Ea(i.timestamp)),r=e),n.push(...Ca(i,t))}let i=document.createElement(`div`);return i.append(...n),ya(i,{openClusterAnchors:new Set,toolCallLookup:(t,n)=>e.find(e=>e.id===t)?.toolCalls?.find(e=>e.id===n)}),Array.from(i.children)}function Oa(e){e.inputCard.dispatchEvent(new CustomEvent(`stop`,{bubbles:!0,composed:!0}))}function ka(e){e.inputCard.querySelector(`slicc-add-menu`)?.open?.()}function Aa(e){e.composer.toggleHandsFree?.()}function ja(e){let t=e.thread.ownerDocument.querySelector(`slicc-tab-overlay`);t&&(t.peeking=!0),e.dock.selectItem?.(`browser`)}function Ma(e,t){let n=e.thread,r=n.getBoundingClientRect().top,i=[...n.children].map(e=>e.getBoundingClientRect().top-r),a=t>0?i.find(e=>e>1):i.filter(e=>e<-1).at(-1);a!==void 0&&(n.scrollTop+=a)}function Na(e,t){e.thread.querySelector(`.wc-copy-row slicc-press-button`)?.dispatchEvent(new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:{}}))}function Pa(e){Na(e,`short-click`)}function Fa(e){Na(e,`long-press`)}function Ia(e){if(!e)return null;try{return e.contentDocument}catch{return null}}function La(e){let t=[...e.thread.querySelectorAll(`[data-tool-ui-request]`)];if(t.length===0)return;let n=e.thread.ownerDocument.activeElement,r=t[(t.findIndex(e=>n instanceof Node&&e.contains(n))+1)%t.length];if(!r)return;let i=r.querySelector(`iframe`),a=Ia(i)?.querySelector(`button[data-action]`);(r.querySelector(`button[data-action]:not([disabled])`)??a??i)?.focus?.(),r.scrollIntoView?.({block:`nearest`})}function Ra(e){let t=e.dock.active;t&&b(e.frame??e.dockTree,t)}function za(e){let t=(e,t)=>({size:()=>e().querySelectorAll(t).length,selectAt:n=>{e().querySelectorAll(t)[n]?.click()}});return{files:{size:()=>e.fileTree.visibleIds().length,selectAt:t=>{let n=e.fileTree.visibleIds()[t];n&&e.fileTree.selectFile(n)}},memory:t(()=>e.memoryHost,`slicc-memrow`),sessions:t(()=>e.freezer,`slicc-freezer-card:not(.match-hidden):not([hidden])`)}}function Ba(e){return se({switcher:e.switcher,dock:e.dock,freezer:e.freezer,composerMeta:e.composerMeta,hudHost:e.chatPane,composerBand:e.composer,focusComposer:()=>e.inputCard.focus(),composerAvailable:()=>!e.composer.hasAttribute(`hidden`)&&!e.inputCard.hasAttribute(`disabled`),stopTurn:()=>Oa(e),toggleVoice:()=>Aa(e),scrollMessage:t=>Ma(e,t),focusApproval:()=>La(e),openAttachMenu:()=>ka(e),copyReply:()=>Pa(e),copyChat:()=>Fa(e),zoomSurface:()=>Ra(e),peekTabs:()=>ja(e),lists:za(e)})}var Va=/data:([\w.+-]+\/[\w.+-]+)(?:;[\w.+-]+=[^;,]*)*;base64,([A-Za-z0-9+/=]+)/g,Ha=RegExp(`(?:^|[\\s"'\`(\\[{<,;:=])([A-Za-z0-9+/]{128,}={0,2})(?=$|[\\s"'\`)\\]}>,;:.!?])`,`g`),Ua=16;function Wa(e){let t=[],n=0;for(;;){let r=e.indexOf(`
120
+ `,n),i=r<0?e.length:r,a=e[i-1]===`\r`?i-1:i;if(t.push({start:n,end:a,text:e.slice(n,a)}),r<0)return t;n=r+1}}var Ga=/^[A-Za-z0-9+/]+$/,Ka=/^[A-Za-z0-9+/]+={0,2}$/;function qa(e){let t=Wa(e),n=[];for(let r=0;r<t.length;r+=1){let i=Ja(t,r);if(i===null)continue;let a=Ya(t,r,i);if(a===r)continue;let o=t.slice(r,a+1),s=Xa(t,r,i);s&&o.unshift(s);let c=Za(e,o);c&&n.push(c),r=a}return n}function Ja(e,t){let n=e[t];if(!n)return null;let r=n.text.length;return r<Ua||r%4!=0?null:Ga.test(n.text)?r:null}function Ya(e,t,n){let r=t;for(let i=t+1;i<e.length;i+=1){let t=e[i];if(!t||t.text.length!==n||!Ga.test(t.text))break;r=i}let i=e[r+1];if(!i||i.text.length===0||i.text.length>=n||!Ka.test(i.text))return r;let a=e[r+2];return a!==void 0&&a.text.length===n&&Ga.test(a.text)?r:r+1}function Xa(e,t,n){let r=e[t-1];if(!r||r.text.length<=n)return null;let i=r.text.length-n,a=r.text.slice(i);return!Ga.test(a)||Ga.test(r.text[i-1]??` `)?null:{start:r.start+i,end:r.end,text:a}}function Za(e,t){let n=t.map(e=>e.text).join(``);if(n.replace(/=+$/,``).length<128||n.length%4!=0)return null;let r=s(n);if(!r)return null;let i=t[0]?.start??0,a=t[t.length-1]?.end??i;return{raw:e.slice(i,a),data:r,start:i,end:a}}function Qa(e){let t=[],n=[],r=(e,t)=>n.some(([n,r])=>e<r&&t>n);Va.lastIndex=0;for(let r of e.matchAll(Va)){let e=r[2]??``;if(e.length<128)continue;let i=s(e);if(!i)continue;let a=r.index??0,o=a+r[0].length;t.push({raw:r[0],data:i,declaredMime:r[1]??``,start:a,end:o}),n.push([a,o])}for(let i of qa(e))r(i.start,i.end)||(t.push(i),n.push([i.start,i.end]));Ha.lastIndex=0;for(let i of e.matchAll(Ha)){let e=i[1]??``,a=(i.index??0)+(i[0].length-e.length),o=a+e.length;if(r(a,o)||e.length%4!=0)continue;let c=s(e);c&&(t.push({raw:e,data:c,start:a,end:o}),n.push([a,o]))}return t.sort((e,t)=>e.start-t.start)}var Q=e=>Array.from(e,e=>e.charCodeAt(0)),$a=[{offset:0,bytes:[137,80,78,71,13,10,26,10],mime:`image/png`},{offset:0,bytes:[255,216,255],mime:`image/jpeg`},{offset:0,bytes:Q(`GIF87a`),mime:`image/gif`},{offset:0,bytes:Q(`GIF89a`),mime:`image/gif`},{offset:0,bytes:Q(`BM`),mime:`image/bmp`},{offset:0,bytes:Q(`RIFF`),also:{offset:8,bytes:Q(`WEBP`)},mime:`image/webp`},{offset:4,bytes:Q(`ftypavif`),mime:`image/avif`},{offset:0,bytes:[0,0,1,0],mime:`image/x-icon`},{offset:0,bytes:Q(`RIFF`),also:{offset:8,bytes:Q(`WAVE`)},mime:`audio/wav`},{offset:0,bytes:Q(`ID3`),mime:`audio/mpeg`},{offset:0,bytes:Q(`fLaC`),mime:`audio/flac`},{offset:4,bytes:Q(`ftypM4A`),mime:`audio/mp4`},{offset:4,bytes:Q(`ftypisom`),mime:`video/mp4`},{offset:4,bytes:Q(`ftypmp42`),mime:`video/mp4`},{offset:4,bytes:Q(`ftypqt`),mime:`video/quicktime`},{offset:0,bytes:[26,69,223,163],mime:`video/webm`},{offset:0,bytes:Q(`%PDF-`),mime:`application/pdf`},{offset:0,bytes:[0,97,115,109],mime:`application/wasm`},{offset:0,bytes:Q(`PK`),mime:`application/zip`},{offset:0,bytes:[31,139],mime:`application/gzip`},{offset:0,bytes:[127,69,76,70],mime:`application/x-executable`},{offset:0,bytes:[202,254,186,190],mime:`application/x-mach-binary`}],eo=Q(`OggS`);function to(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n[r])return!1;return!0}function no(e){let t=[...$a].sort((e,t)=>t.bytes.length+(t.also?.bytes.length??0)-(e.bytes.length+(e.also?.bytes.length??0)));for(let n of t)if(to(e,n.offset,n.bytes)&&!(n.also&&!to(e,n.also.offset,n.also.bytes)))return n.mime;if(to(e,0,eo)){let t=ro(e.subarray(0,64));return/theora|VP8/.test(t)?`video/ogg`:`audio/ogg`}return null}function ro(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return t}var io=4096;function ao(e){if(e.length===0)return!0;let t=e.subarray(0,Math.min(e.length,io));if(t.includes(0))return!1;let n=t.length;if(n===io)for(let e=0;e<4&&n>0;e+=1){let e=t[n-1]??0;if(!(e&128)||(--n,(e&192)==192))break}try{let e=new TextDecoder(`utf-8`,{fatal:!0}).decode(t.subarray(0,n)),r=0;for(let t of e){let e=t.codePointAt(0)??0;e!==9&&e!==10&&e!==13&&e!==12&&e!==27&&(e<32||e===127)&&(r+=1)}return r<=e.length*.05}catch{return!1}}function oo(e,t){if(t&&t.length>0){let e=no(t);if(e)return{mime:e,text:so(e),source:`magic`}}let n=a(e);return n===`application/octet-stream`?t&&ao(t)?{mime:`text/plain`,text:!0,source:`content`}:{mime:`application/octet-stream`,text:!1,source:t?`content`:`unknown`}:{mime:n,text:so(n),source:`extension`}}function so(e){if(e.startsWith(`text/`))return!0;let t=e.split(`;`,1)[0]?.trim()??e;return t===`application/json`||t===`application/xml`||t===`application/javascript`||t===`application/ecmascript`||t===`image/svg+xml`||t.endsWith(`+json`)||t.endsWith(`+xml`)}var co=new Set([`md`,`markdown`,`mdown`,`mkd`,`mkdn`,`mdwn`]);function lo(e,t){let n=t.split(`;`,1)[0]?.trim()??t;if(n===`text/html`)return`html`;if(n===`text/markdown`||n===`text/x-markdown`)return`markdown`;let r=e.lastIndexOf(`.`),i=r>0?e.slice(r+1).toLowerCase():``;return co.has(i)?`markdown`:i===`html`||i===`htm`?`html`:null}var uo=`payload`;function fo(e,t){let n;try{n=c(e)}catch{return null}if(n.length===0)return null;let r=no(n);if(r)return po(n,r,`magic`);let i=t?.split(`;`,1)[0]?.trim().toLowerCase();return i&&i.length>0&&i!==`application/octet-stream`?po(n,i,`declared`):ao(n)?po(n,`text/plain`,`content`):null}function po(e,t,n){let r=o(t);return{bytes:e,mime:t,text:so(t),source:n,name:r?`${uo}.${r}`:uo}}var mo=`slicc-blob-chip`,ho=`base64-preview-open`,go=`data-base64-chips`;function _o(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var vo=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),yo=[[`image/`,`image`],[`audio/`,`file-audio`],[`video/`,`file-video`],[`text/`,`file-text`]];function bo(e){for(let[t,n]of yo)if(e.startsWith(t))return h(n)?n:`file`;return`file`}function xo(e){let t=_o(e);if(e.getAttribute(go)!==t){for(let t of Co(e)){let e=[];for(let n of Qa(t.text)){let t=fo(n.data,n.declaredMime);t&&e.push({start:n.start,end:n.end,payload:t})}e.length!==0&&To(t,e)}e.setAttribute(go,_o(e))}}function So(e,t){for(let n=e;n;n=n.parentElement){if(vo.has(n.tagName))return!0;if(n===t)return!1}return!1}function Co(e){let t=[];for(let n of[e,...e.querySelectorAll(`*`)]){if(So(n,e))continue;let r=null;for(let e of n.childNodes){let n=wo(e);if(n===null){r=null;continue}r||(r={text:``,parts:[]},t.push(r));let i=r.text.length;r.text+=n,r.parts.push({node:e,start:i,end:r.text.length})}}return t.filter(e=>e.text.length>0)}function wo(e){return e.nodeType===Node.TEXT_NODE?e.nodeValue??``:e.nodeType===Node.ELEMENT_NODE&&e.tagName===`BR`?`
121
+ `:null}function To(e,t){let n=e.parts[0]?.node,r=n?.parentNode;if(!n||!r)return;let i=n.ownerDocument;if(!i)return;let a=i.createDocumentFragment(),o=new Set;for(let n of e.parts){if(wo(n.node)===`
122
+ `&&n.node.nodeType===Node.ELEMENT_NODE){t.some(e=>e.start<=n.start&&n.end<=e.end)||a.appendChild(i.createElement(`br`));continue}let r=n.start;for(let[s,c]of t.entries()){if(c.end<=n.start||c.start>=n.end)continue;let t=Math.min(Math.max(c.start,n.start),n.end);t>r&&a.appendChild(i.createTextNode(e.text.slice(r,t))),o.has(s)||(a.appendChild(Eo(i,c.payload)),o.add(s)),r=Math.max(r,Math.min(c.end,n.end))}r<n.end&&a.appendChild(i.createTextNode(e.text.slice(r,n.end)))}r.insertBefore(a,n);for(let t of e.parts)t.node.remove()}function Eo(e,t){let n=t.bytes.byteLength,i=e.createElement(mo);return i.setAttribute(`icon`,bo(t.mime)),i.setAttribute(`label`,`${ne(t.mime)} · ${r(n)}`),i.title=`${t.mime} · ${n.toLocaleString()} bytes\nClick to preview`,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let n={payload:t};i.dispatchEvent(new CustomEvent(ho,{detail:n,bubbles:!0,composed:!0}))}),i}var Do=24;async function Oo(e,t){let n=t.slice(0,Math.max(t.lastIndexOf(`/`),0))||`/`;for(let t=0;t<Do;t+=1){try{return await e.stat(n===`/`?`/.git`:`${n}/.git`),n===``?`/`:n}catch{}if(n===`/`||n===``)return null;n=n.slice(0,Math.max(n.lastIndexOf(`/`),0))||`/`}return null}function ko(e){let t=async t=>{let n=await e.stat(t),r=n.type===`directory`;return{type:r?`dir`:`file`,mode:r?16877:33188,size:n.size,ino:0,mtimeMs:n.mtime,ctimeMs:n.ctime,uid:1,gid:1,dev:1,isFile:()=>!r,isDirectory:()=>r,isSymbolicLink:()=>n.isSymlink===!0}};return{promises:{readFile:(t,n)=>{let r=typeof n==`string`?n:n?.encoding;return e.readFile(t,r===`utf8`?{encoding:`utf-8`}:{encoding:`binary`})},readdir:async t=>(await e.readDir(t)).map(e=>e.name),stat:t,lstat:t,readlink:async t=>(await e.stat(t)).symlinkTarget??``}}}async function Ao(e,n,r){let i=await Oo(e,n);if(!i)return null;let a=n.slice(i===`/`?1:i.length+1);if(a.length===0)return null;try{let n=await t(()=>import(`./isomorphic-git-Cgji39_P.js`),__vite__mapDeps([30,1,31])),o=ko(e),s=await n.resolveRef({fs:o,dir:i,ref:`HEAD`}),{blob:c}=await n.readBlob({fs:o,dir:i,oid:s,filepath:a}),l=new TextDecoder().decode(c);return l===r?null:{baseContent:l,status:`modified`,repoRoot:i}}catch{return null}}function jo(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function Mo(e,t){let n=await e.readFile(t,{encoding:`binary`}),r=new Uint8Array(new ArrayBuffer(n.length));r.set(n);let{mime:i,text:a}=oo(t,r);return{mime:i,text:a,bytes:r}}var No=524288;function Po(e,t,n){if(n.length>No)return null;switch(lo(e,t)){case`markdown`:return{mount:`inline`,html:si(n)};case`html`:return{mount:`sandbox`,html:n};default:return null}}async function Fo(e,t,n={}){let{mime:r,text:i,bytes:a}=await Mo(e,t);if(!i){v.open({path:t,content:a.buffer,mimeType:r,text:!1});return}let o=new TextDecoder().decode(a),s=await Ao(e,t,o),c=Po(t,r,o);v.open({path:t,content:o,mimeType:r,text:!0,...s?{baseContent:s.baseContent,gitStatus:s.status}:{},...c?{rendered:c}:{},...n.line===void 0?{}:{line:n.line}})}async function Io(e,t){let{mime:n,bytes:r}=await Mo(e,t),i=new Blob([r],{type:n}),a=URL.createObjectURL(i);try{let e=document.createElement(`a`);e.href=a,e.download=t.split(`/`).pop()||`download`,e.click()}finally{URL.revokeObjectURL(a)}}async function Lo(e,t,n){let r=await e.readFile(t,{encoding:`binary`}),i=typeof r==`string`?r:Uint8Array.from(r);await e.writeFile(n,i)}async function Ro(e,t){try{return await e.stat(t),!0}catch{return!1}}function zo(e){let{fileTree:t,openFs:n,openWriter:r,insertReference:i,toPreviewUrl:a,log:o}=e;t.addEventListener(`file-preview`,async e=>{let{path:t}=e.detail;try{await Fo(await n(),t)}catch(e){o.error(`File preview failed`,e)}}),t.addEventListener(`file-reference`,e=>{let{path:t}=e.detail;i(t)}),t.addEventListener(`file-download`,async e=>{let{path:t}=e.detail;try{await Io(await n(),t)}catch(e){o.error(`File download failed`,e)}}),t.addEventListener(`file-overflow`,e=>{let{path:n,anchor:r,kind:i}=e.detail,a=i!==`directory`,o=[{id:`preview`,label:`Preview`,visible:a},{id:`reference`,label:`Reference in chat`,visible:a},{id:`download`,label:`Download`,visible:a},{id:`rename`,label:`Rename`,visible:a},{id:`duplicate`,label:`Duplicate`,visible:a},{id:`copy-path`,label:`Copy path`},{id:`open-browser`,label:`Open in browser`,visible:a&&jo(n)},{id:`delete`,label:`Delete`,destructive:!0,visible:a}];re.show({anchor:r,items:o,context:{path:n},dispatchTarget:t})}),t.addEventListener(`overflow-action`,async e=>{let{action:n,context:i}=e.detail,{path:s}=i;try{switch(n){case`preview`:case`reference`:case`download`:t.dispatchEvent(new CustomEvent(`file-${n}`,{detail:{id:s,path:s},bubbles:!0,composed:!0}));break;case`copy-path`:await navigator.clipboard.writeText(s);break;case`open-browser`:window.open(a(s),`_blank`);break;case`duplicate`:{let e=s.lastIndexOf(`.`),t=e>0?`${s.slice(0,e)}_copy${s.slice(e)}`:`${s}_copy`,n=await r();if(await Ro(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await Lo(n,s,t);break}case`delete`:confirm(`Delete ${s}?`)&&await(await r()).rm(s);break;case`rename`:{let e=s.split(`/`).pop()??``,t=prompt(`Rename ${s} to:`,e)?.trim();if(!t||t===e||t.includes(`/`))break;let n=`${s.slice(0,s.length-e.length)}${t}`,i=await r();if(await Ro(i,n)&&!confirm(`${n} already exists. Overwrite?`))break;await Lo(i,s,n),await i.rm(s);break}}}catch(e){o.error(`Overflow action "${n}" failed`,e)}})}var Bo=`slicc-agent-message`,Vo=`slicc-user-message`,Ho=`${Bo},${Vo}`,Uo=[`streaming`,`text`,`timestamp`,`queued`];function Wo(e){return e.tagName.toLowerCase()===Vo?e.shadowRoot?.querySelector(`.b`)??null:e.querySelector(`.body`)??e}function Go(e){try{return Ko(e)}catch(t){return e.log.error(`Base64 preview wiring failed; continuing without it`,t),()=>{}}}function Ko(e){let{thread:t,log:n}=e;if(!(t instanceof Node))return()=>{};let r=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let t=Wo(e);if(t&&Qa(t.textContent??``).length!==0)try{xo(t)}catch(e){n.error(`Base64 elision failed`,e)}},i=e=>{for(let t of e.querySelectorAll(Ho))r(t)};i(t);let a=new MutationObserver(e=>{for(let t of e){let e=t.target;if(t.type===`attributes`){e&&r(e);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.matches(Ho)?r(e):i(e));let n=e?.closest?.(Ho);n&&r(n)}});a.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:Uo});let o=e=>{let{payload:t}=e.detail;try{qo(t)}catch(e){n.error(`Base64 preview failed`,e)}};return t.addEventListener(ho,o),()=>{a.disconnect(),t.removeEventListener(ho,o)}}function qo(e){if(!e.text){v.open({path:e.name,content:e.bytes.buffer,mimeType:e.mime,text:!1});return}let t=new TextDecoder().decode(e.bytes),n=Po(e.name,e.mime,t);v.open({path:e.name,content:t,mimeType:e.mime,text:!0,...n?{rendered:n}:{}})}var Jo=e({FREEZER_TINT:()=>Yo,applyComposerAvailability:()=>cs,applyShellContext:()=>ss,mountWcShell:()=>os,mountWcUiPreview:()=>ds,submittedSteer:()=>us,submittedText:()=>ls}),Yo=`#3b6cb2`,Xo=`slicc-wcui-style`,Zo=[`html,body{margin:0;padding:0;height:100%;overscroll-behavior:none;}`,`.wcui-frame{position:relative;transform:translateZ(0);width:100%;height:100vh;`,`overflow:hidden;background:var(--bg);font-family:var(--ui);}`,`.wcui-shader{position:absolute;inset:0;z-index:0;}`,`.wcui-frame slicc-chatpane{position:relative;background:transparent;}`,`.wcui-appcol{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;`,`box-sizing:border-box;padding-left:var(--rail-w,44px);`,`transition:padding-left .4s cubic-bezier(.4,0,.2,1);}`,`@media (max-width:560px){.wcui-appcol{padding-left:44px;}}`,`.wcui-term{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 4px 8px 10px;`,`box-sizing:border-box;background:#141414;}`,`.wcui-term .terminal-panel__terminal-host{flex:1 1 auto;min-height:0;}`,`.wcui-term .terminal-panel__preview{flex:0 0 auto;}`,`.wcui-frame slicc-file-tree{width:100%;border-right:none;}`,`.wcui-memory{flex:1;min-height:0;overflow:hidden;}`,`.wcui-monitor{flex:1;min-height:0;}`,`.wcui-placeholder{flex:1;display:flex;align-items:center;justify-content:center;`,`padding:24px;color:var(--txt-2);font-size:13px;text-align:center;}`,`.wcui-backpressure{align-self:flex-end;max-width:80%;box-sizing:border-box;`,`padding:8px 12px;border:1px solid var(--line);border-radius:14px;`,`background:var(--canvas);color:var(--txt-2);font-size:12px;line-height:1.4;}`,`.wcui-backpressure[hidden]{display:none;}`,oe].join(``);function Qo(e){if(e.getElementById(Xo))return;let t=e.createElement(`style`);t.id=Xo,t.textContent=Zo,e.head.appendChild(t)}var $o=null;function es(){$o?.(),$o=y()}function $(e,t={}){let n=document.createElement(e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function ts(e){let t=$(`slicc-nav`,{accent:`var(--waffle)`}),n=$(`slicc-agent-tabs`);n.scoops=[...e.scoops];let r=$(`slicc-floatbar`,{label:e.floatLabel,spent:`0.00`}),i=document.createElement(`slicc-avatar-menu`);return i.append($(`slicc-avatar`,{name:`SLICC`})),t.append(n,r,i),{nav:t,switcher:n,floatbar:r,avatarMenu:i}}function ns(e){let t=$(`slicc-composer`),n=$(`div`,{class:`wcui-backpressure`,role:`status`,"aria-live":`polite`,hidden:``}),r=$(`slicc-queued-stack`);r.style.position=`relative`,r.style.zIndex=`0`,r.style.marginBottom=`-32px`,r.style.minHeight=`76px`;let i=$(`slicc-input-card`,{placeholder:e.placeholder});i.style.position=`relative`,i.style.zIndex=`1`;let a=$(`slicc-composer-meta`,{model:`Preview`,thinking:`off`});return t.append(n,r,i,a),{composer:t,inputCard:i,composerMeta:a,queuedStack:r,lickBackpressureNotice:n}}function rs(){let e=$(`slicc-dock-tree`),t=$(`slicc-surface`,{"surface-id":`files`,layout:`flex`}),n=$(`slicc-file-tree`);t.append(n);let r=$(`slicc-surface`,{"surface-id":`term`,layout:`flex`}),i=$(`div`,{class:`wcui-term`});r.append(i);let a=$(`slicc-surface`,{"surface-id":`memory`,layout:`flex`}),o=$(`slicc-memory-panel`,{class:`wcui-memory`});a.append(o);let s=$(`slicc-surface`,{"surface-id":`monitor`,layout:`flex`}),c=$(`slicc-monitor`,{class:`wcui-monitor`});s.append(c);let l=$(`slicc-surface`,{"surface-id":`browser`,layout:`flex`}),u=$(`div`,{class:`wcui-placeholder`});return u.textContent=`The tab switcher runs on the leader. This float has no browser of its own to show — ask the leader to open, focus, or close tabs through chat.`,l.append(u),e.append(t,r,a,s,l),{dockTree:e,tree:n,termSurface:i,memoryHost:o,monitor:c}}function is(e,t){e.addEventListener(`slicc-dock-select`,e=>{let n=e.detail?.id;!n||t.has(n)})}function as(e,t){e.addEventListener(`pointerdown`,e=>{let n=(e.target?.closest?.(`slicc-dock-item`))?.getAttribute(`item-id`);!n?.startsWith(`sprinkle:`)||!t.tilesMovable||t.beginExternalDrag(n,e.pointerId)})}function os(e,t){ie(document),Qo(document),es();let r=$(`div`,{class:`wcui-frame`}),i=$(`slicc-shader`,{mode:`cone`,class:`wcui-shader`}),a=$(`slicc-freezer`);a.append($(`slicc-freezer-new`));let o=$(`div`,{class:`wcui-appcol`}),s=t.urlState?{"url-state":``}:{},c=$(`slicc-shell`,s),l=$(`slicc-chatpane`),u=$(`slicc-chat-thread`,{context:`cone`,accent:`var(--waffle)`,...s});u.append(...Da(t.messages));let{composer:d,inputCard:f,composerMeta:p,queuedStack:m,lickBackpressureNotice:h}=ns(t);l.append(u,d);let{dockTree:g,tree:ee,termSurface:te,memoryHost:_,monitor:ne}=rs(),re=$(`slicc-surface`,{"surface-id":`chat`,layout:`flex`});re.append(l),g.append(re);let v=g;v.setPinned([`chat`]),v.placeSurface(`chat`,`left`);let y=$(`slicc-dock`,{"system-tools":``});c.append(g,y);let b=new Set;is(y,b),as(y,g),a.addEventListener(`freezer-toggle`,e=>{let t=e.detail?.open===!0;o.style.setProperty(`--rail-w`,t?`260px`:`44px`)});let oe=0;u.addEventListener(`scroll`,()=>{oe||=requestAnimationFrame(()=>{oe=0,i.setAttribute(`scroll`,String(Math.round(u.scrollTop)))})},{passive:!0});let{nav:se,switcher:x,floatbar:ce,avatarMenu:le}=ts(t);o.append(se,c);let ue=Ba({switcher:x,dock:y,freezer:a,composerMeta:p,composer:d,chatPane:l,inputCard:f,thread:u,frame:r,dockTree:g,fileTree:ee,memoryHost:_}),{panelHost:de,trustedLayer:fe}=ae(document);return de.append(i,a,o),r.append(de,fe),e.replaceChildren(r),Go({thread:u,log:n(`base64-preview`)}),{frame:r,panelHost:de,trustedLayer:fe,shader:i,chatPane:l,thread:u,composer:d,inputCard:f,composerMeta:p,queuedStack:m,lickBackpressureNotice:h,switcher:x,floatbar:ce,shell:c,dockTree:g,dock:y,freezer:a,fileTree:ee,termSurface:te,memoryHost:_,monitor:ne,avatarMenu:le,shortcuts:ue,overlaySurfaces:b}}function ss(e,t){let{shader:n,frame:r,freezer:i}=e;t.kind===`cone`?(n.removeAttribute(`tint`),r.style.removeProperty(`--ctx`),i.removeAttribute(`ctx`),n.setAttribute(`mode`,`cone`)):t.kind===`scoop`?(n.setAttribute(`tint`,t.accent),r.style.setProperty(`--ctx`,t.accent),i.removeAttribute(`ctx`),n.setAttribute(`mode`,`scoop`)):(n.setAttribute(`mode`,`freezer`),n.setAttribute(`tint`,Yo),r.style.setProperty(`--ctx`,Yo),i.setAttribute(`ctx`,``))}function cs(e,t){e.composer.toggleAttribute(`hidden`,t),t&&e.inputCard.setAttribute(`disabled`,``)}function ls(e){return e.detail?.value}function us(e){return e.detail?.steer===!0}function ds(e){let t=os(e,{messages:we(),scoops:[{key:`cone`,type:`cone`,color:`#b07823`,label:`sliccy`,eyes:`open`,state:`working`},{key:C,type:`scoop`,color:`#06b6d4`,label:C,eyes:`open`,state:`broken`}],floatLabel:`standalone · preview`,placeholder:`Preview harness — submissions echo into the thread…`});t.fileTree.items=[{kind:`dir`,id:`/workspace`,label:`workspace`,open:!0,children:[{kind:`file`,id:`/workspace/CLAUDE.md`,label:`CLAUDE.md`,size:3200}]},{kind:`dir`,id:`/shared`,label:`shared`,open:!0,children:[{kind:`file`,id:`/shared/CLAUDE.md`,label:`CLAUDE.md`,size:1800}]}],t.switcher.setAttribute(`attention`,`cone`),t.inputCard.addEventListener(`submit`,e=>{let n=ls(e)?.trim();if(!n)return;let r={id:`wc-echo-${t.thread.childElementCount}`,role:`user`,content:n,timestamp:Date.now()};t.thread.append(...Ca(r))})}export{le as C,fe as S,la as _,us as a,Le as b,Fo as c,Gi as d,Wi as f,ya as g,Ca as h,os as i,zo as l,Ea as m,cs as n,ls as o,wa as p,ss as r,Jo as s,Yo as t,Ki as u,si as v,x as w,D as x,ke as y};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{d as t,f as n,h as r,m as i,p as a,u as o}from"./wc-shell-7CKFVN9n.js";var s=`{
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{a as t,i as n,n as r,o as i,r as a,t as o}from"./wc-shortcuts-BWBA9QlD.js";var s=`{
2
2
  "//": [
3
3
  "Keyboard-mode shortcuts. How the mode is entered is controlled by",
4
4
  "\\"trigger\\" (also switchable in Theme settings):",
@@ -56,4 +56,4 @@ import{t as e}from"./logger-DDBAeTLF.js";import{d as t,f as n,h as r,m as i,p as
56
56
  "trigger": "auto",
57
57
  "bindings": {}
58
58
  }
59
- `,c=e(`wc-shortcut-config`),l=`/etc/slicc/keys.json`,u=new Set([`Enter`,`Tab`,`Backspace`,`Delete`,`Home`,`End`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`]);function d(e){return n.includes(e)?`"${e}" is reserved (Esc toggles the mode; 1-9 address the tab strip)`:[...e].length!==1&&!u.has(e)?`"${e}" is not a key SLICC can bind (use one character, or ${[...u].join(`, `)})`:null}function f(e,n=o){let a={...n},s=[],c=t,l;try{l=JSON.parse(e)}catch(e){return s.push(`not valid JSON, keeping the defaults (${e.message})`),{keymap:a,trigger:c,warnings:s}}let u=l;if(u&&Object.hasOwn(u,`trigger`)){let e=r(u.trigger);e===void 0?s.push(`"trigger": ${JSON.stringify(u.trigger)} is not null, "esc", or "auto"; keeping ${JSON.stringify(t)}`):c=e}let f=u?.bindings;if(f===void 0)return s.push(`no "bindings" object, keeping the defaults`),{keymap:a,trigger:c,warnings:s};if(typeof f!=`object`||!f||Array.isArray(f))return s.push(`"bindings" is not an object, keeping the defaults`),{keymap:a,trigger:c,warnings:s};for(let[e,t]of Object.entries(f)){let n=d(e);if(n){s.push(n);continue}if(t===null||t===!1||t===``){delete a[e];continue}if(!i(t)){s.push(`"${e}": ${JSON.stringify(t)} is not a known command`);continue}a[e]=t}return{keymap:a,trigger:c,warnings:s}}function p(e){let t;try{t=JSON.parse(e)?.bindings}catch{return!1}if(typeof t!=`object`||!t||Array.isArray(t))return!1;let n=Object.entries(t);return n.length===Object.keys(a).length&&n.every(([e,t])=>a[e]===t)}function m(e){return e?.code===`ENOENT`}async function h(e){let t=e.logger??c,n;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});n=typeof t==`string`?t:new TextDecoder().decode(t)}catch(n){if(!m(n)){t.warn(`Could not read the shortcut config; keeping the defaults`,{error:n instanceof Error?n.message:String(n)});return}try{await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),await e.writer.writeFile(l,s),t.info(`Seeded ${l}`)}catch(e){t.warn(`Could not seed the shortcut config`,{error:e instanceof Error?e.message:String(e)})}return}if(p(n))try{await e.writer.writeFile(l,s),t.info(`Replaced the untouched v1 keymap at ${l}`);return}catch(e){t.warn(`Could not replace the v1 shortcut config; keeping it`,{error:e instanceof Error?e.message:String(e)})}let{keymap:r,trigger:i,warnings:a}=f(n);for(let e of a)t.warn(`${l}: ${e}`);e.apply({keymap:r,trigger:i})}async function g(e,t){let n=null;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});n=typeof t==`string`?t:new TextDecoder().decode(t)}catch(e){if(!m(e))throw e}let r;if(n===null)await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),r=JSON.parse(s);else{let e;try{e=JSON.parse(n)}catch(e){throw Error(`${l} is not valid JSON; fix or remove it before changing trigger`,{cause:e})}if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${l} must be a JSON object`);r=e}r.trigger=t,(typeof r.bindings!=`object`||r.bindings===null||Array.isArray(r.bindings))&&(r.bindings={}),await e.writer.writeFile(l,`${JSON.stringify(r,null,2)}\n`)}export{h as loadShortcutConfig,g as writeShortcutTrigger};
59
+ `,c=e(`wc-shortcut-config`),l=`/etc/slicc/keys.json`,u=new Set([`Enter`,`Tab`,`Backspace`,`Delete`,`Home`,`End`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`]);function d(e){return a.includes(e)?`"${e}" is reserved (Esc toggles the mode; 1-9 address the tab strip)`:[...e].length!==1&&!u.has(e)?`"${e}" is not a key SLICC can bind (use one character, or ${[...u].join(`, `)})`:null}function f(e,n=o){let a={...n},s=[],c=r,l;try{l=JSON.parse(e)}catch(e){return s.push(`not valid JSON, keeping the defaults (${e.message})`),{keymap:a,trigger:c,warnings:s}}let u=l;if(u&&Object.hasOwn(u,`trigger`)){let e=i(u.trigger);e===void 0?s.push(`"trigger": ${JSON.stringify(u.trigger)} is not null, "esc", or "auto"; keeping ${JSON.stringify(r)}`):c=e}let f=u?.bindings;if(f===void 0)return s.push(`no "bindings" object, keeping the defaults`),{keymap:a,trigger:c,warnings:s};if(typeof f!=`object`||!f||Array.isArray(f))return s.push(`"bindings" is not an object, keeping the defaults`),{keymap:a,trigger:c,warnings:s};for(let[e,n]of Object.entries(f)){let r=d(e);if(r){s.push(r);continue}if(n===null||n===!1||n===``){delete a[e];continue}if(!t(n)){s.push(`"${e}": ${JSON.stringify(n)} is not a known command`);continue}a[e]=n}return{keymap:a,trigger:c,warnings:s}}function p(e){let t;try{t=JSON.parse(e)?.bindings}catch{return!1}if(typeof t!=`object`||!t||Array.isArray(t))return!1;let r=Object.entries(t);return r.length===Object.keys(n).length&&r.every(([e,t])=>n[e]===t)}function m(e){return e?.code===`ENOENT`}async function h(e){let t=e.logger??c,n;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});n=typeof t==`string`?t:new TextDecoder().decode(t)}catch(n){if(!m(n)){t.warn(`Could not read the shortcut config; keeping the defaults`,{error:n instanceof Error?n.message:String(n)});return}try{await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),await e.writer.writeFile(l,s),t.info(`Seeded ${l}`)}catch(e){t.warn(`Could not seed the shortcut config`,{error:e instanceof Error?e.message:String(e)})}return}if(p(n))try{await e.writer.writeFile(l,s),t.info(`Replaced the untouched v1 keymap at ${l}`);return}catch(e){t.warn(`Could not replace the v1 shortcut config; keeping it`,{error:e instanceof Error?e.message:String(e)})}let{keymap:r,trigger:i,warnings:a}=f(n);for(let e of a)t.warn(`${l}: ${e}`);e.apply({keymap:r,trigger:i})}async function g(e,t){let n=null;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});n=typeof t==`string`?t:new TextDecoder().decode(t)}catch(e){if(!m(e))throw e}let r;if(n===null)await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),r=JSON.parse(s);else{let e;try{e=JSON.parse(n)}catch(e){throw Error(`${l} is not valid JSON; fix or remove it before changing trigger`,{cause:e})}if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${l} must be a JSON object`);r=e}r.trigger=t,(typeof r.bindings!=`object`||r.bindings===null||Array.isArray(r.bindings))&&(r.bindings={}),await e.writer.writeFile(l,`${JSON.stringify(r,null,2)}\n`)}export{h as loadShortcutConfig,g as writeShortcutTrigger};
@@ -0,0 +1,11 @@
1
+ var e=`auto`;function t(e){if(e===null)return null;if(e===`auto`||e===`esc`)return e}var n=`slicc-shortcuts-style`;function r(e){if(!e||typeof e!=`object`)return!1;let t=e,n=typeof t.tagName==`string`?t.tagName.toUpperCase():``;if(n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable===!0)return!0;let r=t.closest?.(`[contenteditable]`);return!!r&&r.getAttribute(`contenteditable`)!==`false`}function i(e){return(typeof e.composedPath==`function`?e.composedPath():[])[0]??e.target}function a(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t}function o(e,t){if(!e||!t)return!1;let n=t;for(;n;){if(n===e)return!0;if(typeof ShadowRoot<`u`&&n instanceof ShadowRoot){n=n.host;continue}let t=n.parentNode;if(t){n=t;continue}let r=n.assignedSlot;if(r){n=r;continue}break}return!1}function s(e){if(!e||typeof e!=`object`)return!1;let t=e,n=typeof t.tagName==`string`?t.tagName.toUpperCase():``;if(n===`BUTTON`||n===`SUMMARY`||n===`OPTION`||n===`A`&&t.hasAttribute?.(`href`)===!0)return!0;let r=t.getAttribute?.(`role`)??``;return[`button`,`link`,`menuitem`,`menuitemcheckbox`,`menuitemradio`,`option`,`tab`,`switch`,`checkbox`,`radio`].includes(r)}function c(e){return!!e.querySelector(`slicc-quick-look, slicc-dialog[open], slicc-tab-overlay[open], .slicc-permissions__prompt[data-open]`)}function l(e){let t=/^Digit([1-9])$/.exec(e.code??``);return t?Number(t[1]):/^[1-9]$/.test(e.key)?Number(e.key):null}function u(e,t){if(e<=0)return null;let n=t===9?e-1:t-1;return n<e?n:null}function d(e,t){let n=u(e.length,t);return n===null?null:e[n]??null}function f(e,t){return d(e.map(e=>e.key),t)}function p(e,t){return e.length===0?null:e[((t===null?-1:e.indexOf(t))+1)%e.length]??null}function m(e,t){if(e.length===0)return null;let n=t===null?-1:e.indexOf(t);return e[((n===-1?0:n)-1+e.length)%e.length]??null}function h(e){return e.items.filter(e=>e.kind===`sprinkle`).map(e=>e.id)}function g(e,t){if(e!==`sprinkles`)return t.lists?.[e]??null;let n=t.dock;return n?{size:()=>h(n).length,selectAt:e=>{let t=h(n)[e];t&&n.selectItem(t)}}:null}function _(e,t,n){return{holdsMode:!!n,description:t,...n?{list:n}:{},run:({deps:t,state:n})=>{n.lastDockSurface=e,t.dock?.selectItem(e)}}}function v(e,t){return{holdsMode:!1,description:t,run:({deps:t})=>{t.freezer?.dispatchEvent(new CustomEvent(e,{bubbles:!0}))}}}var y={nextAgent:{holdsMode:!0,description:`Next agent, looping`,run:({deps:e})=>{let t=p(e.switcher.scoops.map(e=>e.key),e.switcher.active);t&&e.switcher.select(t)}},prevAgent:{holdsMode:!0,description:`Previous agent, looping`,run:({deps:e})=>{let t=m(e.switcher.scoops.map(e=>e.key),e.switcher.active);t&&e.switcher.select(t)}},composer:{holdsMode:!1,description:`Back to the composer`,run:({deps:e})=>e.focusComposer?.()},stop:{holdsMode:!0,description:`Stop the running turn`,run:({deps:e})=>e.stopTurn?.()},approvals:{holdsMode:!0,description:`Go to the pending approval`,run:({deps:e})=>e.focusApproval?.()},attach:{holdsMode:!1,description:`Attach a file or skill`,run:({deps:e})=>e.openAttachMenu?.()},copyReply:{holdsMode:!0,description:`Copy the last reply`,run:({deps:e})=>e.copyReply?.()},copyChat:{holdsMode:!0,description:`Copy the whole chat`,run:({deps:e})=>e.copyChat?.()},voice:{holdsMode:!0,description:`Dictate — again to send`,run:({deps:e})=>e.toggleVoice?.()},nextItem:{holdsMode:!0,description:`Next message — or, after a list key, the next entry`,run:e=>U(e,1)},prevItem:{holdsMode:!0,description:`Previous message — or the previous entry`,run:e=>U(e,-1)},newConversation:{holdsMode:!1,description:`New conversation`,run:({deps:e})=>{e.freezer?.dispatchEvent(new CustomEvent(`new-chat-save`,{bubbles:!0}))}},newConversationErase:v(`new-chat-erase`,`New conversation, erasing this one`),newCone:v(`new-cone`,`New cone`),dropCone:v(`drop-cone`,`Drop this cone`),sessions:{holdsMode:!0,description:`Archived chats (with 1-9 / j / k: restore that one)`,list:`sessions`,run:({deps:e})=>e.freezer?.toggle(!0)},leftRail:{holdsMode:!0,description:`Toggle the left rail`,run:({deps:e})=>e.freezer?.toggle()},rightRail:{holdsMode:!0,description:`Toggle the right panel`,run:({deps:e,state:t})=>{let n=e.dock;if(n){if(n.active){t.lastDockSurface=n.active,n.collapse();return}n.selectItem(t.lastDockSurface)}}},files:_(`files`,`File browser (with 1-9 / j / k: open that row)`,`files`),tabs:_(`browser`,`Browser tabs (then 1-9 to switch)`),peek:{holdsMode:!0,description:`Peek a tab (then 1-9: show it and come back)`,run:({deps:e})=>e.peekTabs?.()},terminal:_(`term`,`Terminal`),memory:_(`memory`,`Memory (with 1-9 / j / k: open that entry)`,`memory`),monitor:_(`monitor`,`Monitor`),sprinkles:{holdsMode:!0,description:`Sprinkles (with 1-9 / j / k: open that one)`,list:`sprinkles`,run:({deps:e,state:t})=>{let n=e.dock;if(!n)return;let r=h(n);if(r.length!==0)return t.lastDockSurface=r[0],n.selectItem(r[0]),0}},zoom:{holdsMode:!0,description:`Full screen the open panel`,run:({deps:e})=>e.zoomSurface?.()},model:{holdsMode:!1,description:`Model picker`,run:({deps:e,actions:t})=>{let n=e.composerMeta;if(n){if(n.models.length===0){t.accounts?.();return}n.openMenu()}}},cycleModel:{holdsMode:!0,description:`Next model`,run:({deps:e,actions:t})=>{let n=e.composerMeta;if(n){if(n.models.length===0){t.accounts?.();return}n.cycleModel?.()}}},cycleThinking:{holdsMode:!0,description:`Next thinking level`,run:({deps:e})=>e.composerMeta?.cycleThinking?.()},accounts:{holdsMode:!1,description:`Accounts`,run:({actions:e})=>e.accounts?.()},help:{holdsMode:!0,description:`This help`,run:e=>e.toggleHelp()}},b=Object.keys(y);function x(e){return typeof e==`string`&&Object.hasOwn(y,e)}var S=[`Escape`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],C={i:`composer`,Enter:`composer`,"?":`help`,ArrowRight:`nextAgent`,ArrowLeft:`prevAgent`,n:`newConversation`,N:`newConversationErase`,c:`newCone`,C:`dropCone`,r:`sessions`,s:`stop`,a:`approvals`,u:`attach`,y:`copyReply`,Y:`copyChat`,v:`voice`,j:`nextItem`,k:`prevItem`,f:`files`,t:`terminal`,b:`tabs`,m:`memory`,g:`monitor`,e:`sprinkles`,p:`peek`,"[":`leftRail`,"]":`rightRail`,z:`zoom`,l:`model`,L:`cycleModel`,h:`cycleThinking`,",":`accounts`},w={d:`nextAgent`,c:`composer`,Enter:`composer`,n:`newConversation`,b:`leftRail`,x:`rightRail`,f:`files`,t:`tabs`,e:`terminal`,m:`memory`,s:`sprinkles`,l:`model`,a:`accounts`,h:`help`,"?":`help`,"/":`help`};function T(e){return N[e]??e}function E(e){let t=Object.keys(e).find(t=>e[t]===`help`);return t===void 0?null:T(t)}function D(e){let t=E(e),n=Object.keys(e).filter(t=>e[t]===`composer`).map(e=>`[${T(e)}]`);return[t===null?null:`[${t}] help`,n.length===0?null:`${n.join(` or `)} to type`].filter(e=>e!==null).join(` · `)}function O(e=C){let t=new Map;for(let[n,r]of Object.entries(e))t.set(r,[...t.get(r)??[],T(n)]);return[{keys:[`Esc`],description:`Leave the composer for keyboard mode (again: exit full screen)`},{keys:[`1 – 9`],description:`Switch to that agent in the tab strip (9 = last)`},...b.filter(e=>t.has(e)).map(e=>({keys:t.get(e)??[],description:y[e].description}))]}function k(e){if(e.getElementById(n))return;let t=e.createElement(`style`);t.id=n,t.textContent=`
2
+ slicc-dialog.wcsc-dialog::part(dialog){width:min(440px,92vw);}
3
+ .wcsc{display:flex;flex-direction:column;gap:2px;font-family:var(--ui);color:var(--ink);}
4
+ .wcsc__note{font-size:12px;color:var(--txt-3);padding:0 2px 8px;line-height:1.5;}
5
+ .wcsc__row{display:flex;align-items:center;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line);}
6
+ .wcsc__row:last-child{border-bottom:0;}
7
+ .wcsc__desc{flex:1;min-width:0;font-size:12.5px;}
8
+ .wcsc__keys{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
9
+ .wcsc__key{font:600 11px/1 var(--mono,ui-monospace,monospace);color:var(--txt-2);background:var(--ghost);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:4px 6px;white-space:nowrap;}
10
+ .wcsc__sep{font-size:11px;color:var(--txt-3);}
11
+ `,(e.head??e.documentElement)?.append(t)}function A(e,t,n){let r=e.createElement(`div`);r.className=`wcsc`;let i=e.createElement(`div`);i.className=`wcsc__note`,i.textContent=n===null?`Keyboard mode is off. Turn it on in Theme settings (Esc or Auto).`:n===`esc`?`Press Esc to enter keyboard mode. Put the caret back in the composer to type — nothing is intercepted there.`:`Keyboard mode is on whenever nothing is focused for typing (and you are not clicking composer chrome), so these keys are live by default. Put the caret back in the composer to type — nothing is intercepted there.`,r.append(i);for(let n of t){let t=e.createElement(`div`);t.className=`wcsc__row`;let i=e.createElement(`div`);i.className=`wcsc__desc`,i.textContent=n.description;let a=e.createElement(`div`);a.className=`wcsc__keys`;for(let t of n.keys){let n=e.createElement(`kbd`);n.className=`wcsc__key`,n.textContent=t,a.append(n)}t.append(i,a),r.append(t)}return r}var j=1600,M=j,N={Escape:`Esc`,Enter:`⏎`," ":`Space`,Tab:`⇥`,Backspace:`⌫`,ArrowUp:`↑`,ArrowDown:`↓`,ArrowLeft:`←`,ArrowRight:`→`};function P(e){let t=[];return e.ctrlKey&&t.push(`⌃`),e.altKey&&t.push(`⌥`),e.metaKey&&t.push(`⌘`),e.shiftKey&&e.key.length>1&&t.push(`⇧`),t.push(N[e.key]??e.key),t}function F(e,t,n){let r=e.createElement(`slicc-key-hud`);return r.dataset.wcShortcuts=`hud`,r.setAttribute(`hint`,D(n)),r.setAttribute(`linger`,String(j)),t.append(r),{record:(e,t)=>r.record?.(e,t),destroy:()=>r.remove()}}function I(e,t,n){let r=null,i=()=>{if(!r)return;let e=r;r=null,e.hide?.(),e.remove()},a=()=>{if(r)return;k(e);let i=e.createElement(`slicc-dialog`);i.className=`wcsc-dialog`,i.setAttribute(`heading`,`Keyboard mode`),i.dataset.wcShortcuts=`help`,i.append(A(e,O(t()),n())),i.addEventListener(`slicc-dialog-close`,()=>{r=null,i.remove()}),e.body.append(i),r=i,i.show?.()};return{show:a,hide:i,toggle:()=>r?i():a(),element:()=>r}}function L(e){let t=e.defaultView?.navigator?.keyboard;t&&(e.fullscreenElement?t.lock([`Escape`]).catch(()=>void 0):t.unlock())}function R(e,t,n,i){let a=!1,o=null;return{on:()=>a,record:(e,t)=>o?.record(e,t),set:s=>{if(s===a)return;if(a=s,e.documentElement.toggleAttribute(`data-slicc-keyboard-mode`,s),i(s),!s){o?.destroy(),o=null;return}k(e),o=F(e,n(),t());let c=e.activeElement;r(c)&&c?.blur()}}}function z(e){if(e.ctrlKey||e.metaKey||e.altKey)return!0;let t=i(e);return r(t)?!0:(e.key===`Enter`||e.key===` `)&&s(t)}function B(e,t,n,r,i){if(e===null){r.set(!1),n&&t&&i(`composer`);return}if(e===`esc`){t&&(r.set(!1),n&&i(`composer`));return}r.set(!t),n&&i(t?`composer`:`keyboard`)}function V(e,t,n,i,s){let l=e.defaultView,u=l?.setTimeout.bind(l)??setTimeout,d=l?.clearTimeout.bind(l)??clearTimeout,f=n.composerAvailable??(()=>!!n.focusComposer),p,m=`composer`,h=()=>{if(c(e)||typeof e.hasFocus==`function`&&!e.hasFocus())return;let l=a(e);B(i(),r(l)||o(n.composerBand,l)||!!s?.(),f(),t,e=>{m=e})},g=()=>{p===void 0&&(p=u(()=>{p=void 0,h()},0))};return{schedule:g,restore:()=>{if(c(e))return;let r=i();m===`composer`&&f()?(t.set(!1),n.focusComposer?.()):r===null?t.set(!1):t.set(!0),g()},choose:e=>{m=e},intent:()=>m,dispose:()=>{p!==void 0&&d(p),p=void 0}}}function H(e,t,n){let r=e.nodeType===1?e:null,i=t.defaultView?.MutationObserver??globalThis.MutationObserver;if(!r||!i)return()=>void 0;let a=e.active,o=new i(()=>{let t=e.active;t!==a&&(a=t,n())});return o.observe(r,{attributes:!0,attributeFilter:[`active`]}),()=>o.disconnect()}function U(e,t){let n=e.armed;if(!n){e.deps.scrollMessage?.(t);return}let r=g(n.list,e.deps),i=r?.size()??0;if(!r||i===0)return;let a=n.index===null?t>0?0:i-1:(n.index+t+i)%i;return r.selectAt(a),a}function W(e,t,n){let r=g(t,e),i=r?u(r.size(),n):null;return i===null||!r?null:(r.selectAt(i),i)}function G(e,t,n,r){t.preventDefault(),e.holdsMode||r.mode.set(!1);let i=e.run({deps:r.deps,actions:r.actions,state:r.state,toggleHelp:r.toggleHelp,armed:n}),a=e.list??(typeof i==`number`?n?.list:void 0);a&&r.chord.arm(a,typeof i==`number`?i:null),e.holdsMode||r.settler.schedule()}function K(e,t,n,r,i){if(c(t))return;if(!n.on()){if(i===null)return;e.preventDefault(),n.set(!0),r.choose(`keyboard`),n.record(P(e),!0);return}let a=!!t.fullscreenElement;n.record(P(e),a),a&&t.exitFullscreen?.().catch(()=>void 0)}function q(e,t,n){return c(e)&&!(t===y.help&&n)}function J(e,t,n){if(t){let r=W(e,t.list,n);return{hit:r!==null,index:r}}let r=f(e.switcher.scoops,n);return r!==null&&e.switcher.select(r),{hit:r!==null,index:null}}function Y(e){let t=e.defaultView,n=t?.setTimeout.bind(t)??setTimeout,r=t?.clearTimeout.bind(t)??clearTimeout,i=null,a=()=>{i&&=(r(i.timer),null)};return{take:()=>{if(!i)return null;let{list:e,index:t}=i;return a(),{list:e,index:t}},arm:(e,t)=>{a(),i={list:e,index:t,timer:n(a,M)}},clear:a}}var X=new WeakMap;function Z(e,t){if(e.defaultPrevented||e.isComposing)return;if(e.key===`Escape`){t.chord.clear(),K(e,t.doc,t.mode,t.settler,t.trigger);return}if(!t.mode.on()||z(e))return;let n=t.chord.take(),r=t.commandFor(e.key);if(q(t.doc,r,t.helpOpen())){t.mode.record(P(e),!1);return}let i=l(e);if(i!==null){let{hit:r,index:a}=J(t.deps,n,i);if(t.mode.record(P(e),r),!r)return;e.preventDefault(),n&&a!==null&&t.chord.arm(n.list,a);return}t.mode.record(P(e),!!r),r&&G(r,e,n,t.dispatch)}function Q(e,t,n,s){let l=e.defaultView,u=l?.setTimeout.bind(l)??setTimeout,d=l?.clearTimeout.bind(l)??clearTimeout,f,p=i=>{s.value&&f===void 0&&(f=u(()=>{if(f=void 0,s.value=!1,i){let n=a(e);!c(e)&&!r(n)&&!o(t.composerBand,n)&&t.focusComposer?.()}n.schedule()},0))},m=e=>{if(o(t.composerBand,i(e))){s.value=!0;return}s.value&&p(!1)},h=()=>p(!0),g=()=>p(!1);return e.addEventListener(`pointerdown`,m,!0),e.addEventListener(`mousedown`,m,!0),e.addEventListener(`pointerup`,h,!0),e.addEventListener(`mouseup`,h,!0),e.addEventListener(`pointercancel`,g,!0),t.composerBand?.addEventListener(`lostpointercapture`,g),l?.addEventListener(`blur`,g),()=>{e.removeEventListener(`pointerdown`,m,!0),e.removeEventListener(`mousedown`,m,!0),e.removeEventListener(`pointerup`,h,!0),e.removeEventListener(`mouseup`,h,!0),e.removeEventListener(`pointercancel`,g,!0),t.composerBand?.removeEventListener(`lostpointercapture`,g),l?.removeEventListener(`blur`,g),f!==void 0&&d(f)}}function $(t){let n=t.doc??t.switcher?.ownerDocument;if(!n)throw Error(`wireKeyboardShortcuts: no document`);X.get(n)?.dispose();let a={},s=C,c=e,l=I(n,()=>s,()=>c),u=R(n,()=>s,()=>t.hudHost??n.body,e=>{t.switcher.arrowKeys=e?`off`:`on`,t.composerBand?.toggleAttribute(`keys`,e)}),d={lastDockSurface:`files`},f=e=>{let t=s[e];return t?y[t]:void 0},p={value:!1},m=V(n,u,t,()=>c,()=>p.value),h=Q(n,t,m,p),g=Y(n),_={deps:t,actions:a,state:d,mode:u,settler:m,chord:g,toggleHelp:()=>l.toggle()},v=e=>Z(e,{doc:n,mode:u,settler:m,chord:g,helpOpen:()=>!!l.element(),deps:t,dispatch:_,commandFor:f,trigger:c}),b=e=>{let n=i(e);u.on()&&(r(n)||o(t.composerBand,n))&&u.set(!1),m.schedule()},x=()=>m.schedule(),S=()=>L(n),w=()=>m.schedule(),T=()=>u.set(!1),E=H(t.switcher,n,m.restore),D=n.defaultView;n.addEventListener(`keydown`,v),n.addEventListener(`focusin`,b),n.addEventListener(`focusout`,x),n.addEventListener(`fullscreenchange`,S),D?.addEventListener(`focus`,w),D?.addEventListener(`blur`,T),L(n),m.schedule();let O={dispose:()=>{n.removeEventListener(`keydown`,v),n.removeEventListener(`focusin`,b),n.removeEventListener(`focusout`,x),n.removeEventListener(`fullscreenchange`,S),D?.removeEventListener(`focus`,w),D?.removeEventListener(`blur`,T),h(),E(),m.dispose(),g.clear(),u.set(!1),l.hide(),X.get(n)===O&&X.delete(n)},showHelp:l.show,hideHelp:l.hide,helpOverlay:l.element,active:u.on,setActive:u.set,intent:m.intent,setAction:(e,t)=>{a[e]=t},setKeymap:e=>{s={...e}},keymap:()=>s,trigger:()=>c,setTrigger:e=>{c=e,(e===null||e===`esc`)&&u.set(!1),m.schedule()}};return X.set(n,O),O}export{x as a,w as i,e as n,t as o,S as r,$ as s,C as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-B3nS5QUo.js","assets/preload-helper-Czpn1I53.js","assets/sprinkle-manager-u_CMOEiM.js","assets/logger-DDBAeTLF.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-Dlaokqg1.js","assets/runtime-env-CgsZ7LTp.js","assets/runtime-env-E-i2SW1s.js","assets/src-CAWTvdAa.js","assets/panel-rpc-B3MSVImO.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/sprinkle-renderer-1C1DNVyK.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-D4YmJlZ6.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/shared-2T6O01rS.js","assets/mime-types-k2E6ulyv.js","assets/fetch-body-D2PwksUW.js","assets/sprinkle-instances-B8n7h-oP.js","assets/setup-sprinkle-exec-BX_Qq-Su.js","assets/dip-CwdsfUhQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/quick-llm-u8uic8QB.js","assets/account-store-QAWTf9es.js","assets/claude-model-version-BJLrDjmH.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/proxied-fetch-DC4o4pmp.js","assets/base64-DJRlyqZu.js","assets/api-endpoint-CWeRbcY3.js","assets/float-topology-B1E_mH1v.js","assets/secret-topology-CVgFEYzE.js","assets/secrets-bridge-client-BCv_YZhX.js","assets/port-bridge-client-CVZpTSrA.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CMdt7NIp.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BJsliYCh.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-Dlaokqg1.js";import"./runtime-env-CgsZ7LTp.js";import{t as n}from"./surface-fullscreen-4YjALjE7.js";import{t as r}from"./wc-unit-context-DOZ0CCmn.js";var i=`sprinkle:`,a=`slicc-sprinkle-icons`;function o(){try{let e=localStorage.getItem(a);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return{}}}function s(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(o()).filter(([e])=>t.has(e)));localStorage.setItem(a,JSON.stringify(n))}catch{}}function c(e,t){try{localStorage.setItem(a,JSON.stringify({...o(),[e]:t}))}catch{}}function l(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function u(e){return`${i}${e}`}function d(e){return e?.startsWith(i)?e.slice(9):null}var f=`chat`,p=new Set([`files`,`term`,`memory`,`monitor`]),m=`right`,h=m;function g(e){return p.has(e)}var _=class{#e;#t=new Map;#n=new Map;#r=new Set;#i=[];#a;constructor(e,t={}){this.#e=e,this.#a=t}#o(){return this.#e.dockTree}applyLayout(e){let t=this.#o();t?.setTree(e);for(let e of this.#i)t?.placeSurface(u(e),h)}placeSurface(e,t){let n=this.#o();if(n&&!this.#a.hostSprinkleSurface)for(let e of n.getSurfaceIds())e!==t&&e!==`chat`&&this.removeSurface(e);if(n?.placeSurface(t,e),!this.#a.hostSprinkleSurface){let e=this.#e.dock;e&&(e.active=t)}g(t)&&this.#a.onToolPanelActivate?.(t)}moveSurfaceToZone(e,t){this.#o()?.moveSurfaceToZone(e,t)}removeSurface(e){this.#o()?.removeSurface(e),g(e)&&this.#a.onToolPanelDeactivate?.(e)}setSurfaceSize(e,t){return this.#o()?.setSurfaceSize(e,t)??!1}seedDockItems(e){let t=o(),n=!1;for(let r of e)this.#t.has(r)||(this.#r.add(r),this.#t.set(r,{id:u(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#p()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#r)this.#n.has(t)||(this.#t.delete(t),e=!0);this.#r.clear(),e&&this.#p()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#s(e,t,n,i),removeSprinkle:e=>this.#c(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#l(e),registerSprinkle:(e,t,n)=>this.#u(e,t,n?.icon),unregisterSprinkle:e=>this.#f(e),closeSprinkleContent:e=>this.#c(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#t.get(e);!n||n.icon===t||(this.#t.set(e,{...n,icon:t}),this.#p())}defaultIconNames(){return[...this.#t.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#n.has(e)}#s(e,t,n,r){let i=u(e),a=this.#a.hostSprinkleSurface,o=this.#n.get(e),s=!o;if(o||(o=document.createElement(`slicc-surface`),o.setAttribute(`surface-id`,i),o.setAttribute(`layout`,`flex`),a||this.#e.dockTree?.append(o),this.#n.set(e,o)),o.replaceChildren(n),this.#u(e,t,r?.icon),this.#i.includes(e)||this.#i.push(e),a){s&&a(i,o);return}r?.attention||r?.background||this.placeSurface(h,i)}#c(e,t){let n=u(e);this.#n.get(e)?.remove(),this.#n.delete(e),t.keepDockItem||this.#t.delete(e);let r=this.#i.indexOf(e);if(r>=0&&this.#i.splice(r,1),this.#p(),this.#a.removeSprinkleSurface){this.#a.removeSprinkleSurface(n);return}this.#e.dockTree?.removeSurface(n)}#l(e){this.#e.dock.removeAttribute(`active`),!this.#a.hostSprinkleSurface&&this.removeSurface(u(e))}#u(e,t,n){this.#r.delete(e);let r=this.#d(e,n);this.#t.set(e,{id:u(e),icon:r,label:t,kind:`sprinkle`}),this.#p()}#d(e,t){return l(t)?t:o()[e]??`sparkles`}#f(e){this.#n.has(e)||(this.#t.delete(e),this.#p())}#p(){this.#e.dock.items=[...this.#t.values()]}},v=180;function y(e){e.dock.addEventListener(`slicc-dock-longpress`,t=>{let r=t.detail?.id;if(!r||d(r)===null&&!g(r))return;let i=t=>{n(e.frame??e.dockTree,r)||t<=0||requestAnimationFrame(()=>i(t-1))};i(v)})}async function b(n){let{refs:i,client:a,fs:o,instanceId:c,onAttachImage:l,onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h,log:v}=n,b=new _(i,{onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h}),{loadSprinkleStyles:S}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await S();let{SprinkleManager:C,readKnownSprinkleNames:w}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-u_CMOEiM.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]));b.seedDockItems(w());let{installSprinkleManagerHandlerOverChannel:T}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-Clwu-X1e.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:E}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-BX_Qq-Su.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([25,1])),{setDipExecHandler:D}=await e(async()=>{let{setDipExecHandler:e}=await import(`./dip-CwdsfUhQ.js`).then(e=>e.n);return{setDipExecHandler:e}},__vite__mapDeps([26,10,1,5,6,7,8,27,17,18,19,20,13,14,15,3,16,21,22,23])),O=t(),k=E(a),A=new C(o,e=>{e.type===`sprinkle`&&e.sprinkleName&&a.sendSprinkleLick(e.sprinkleName,e.body,e.targetScoop)},b.callbacks(),()=>{let e=r(a.getScoops());e&&a.stopScoop(e.jid)},{...O?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:k,onAttachImage:l??(()=>{})});if(window.__slicc_sprinkleManager=A,D(k),c!==void 0){let e=T(A,{instanceId:c});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(O){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-Cb1pl8Ok.js`);return{handleSprinkleOp:e}},[]);a.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a,target:o}=e;t(A,n,r,i,a,o)})}i.dock.addEventListener(`slicc-dock-select`,e=>{let t=e.detail?.id,n=d(t);if(n){A.activate(n).catch(e=>v.error(`WC sprinkle activate failed`,e));return}t&&g(t)&&b.placeSurface(m,t)}),i.dock.addEventListener(`slicc-dock-collapse`,e=>{let t=e.detail?.id;if(!t)return;if(g(t)){b.removeSurface(t);return}let n=d(t);n&&A.minimize(n)}),y(i);let j=!1,M=async()=>{if(await A.refresh(),A.available().length>0){b.dropUnconfirmedSeeds();let t=A.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-u_CMOEiM.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]));n(t),s(t)}await A.restoreOpenSprinkles().catch(e=>{v.warn(`WC shell: failed to restore open sprinkles`,e)}),j||(j=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-u8uic8QB.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([28,10,29,1,30,31,32,33,34,35,36,3,8,37,38,23,39,5,40,7,41,42,43,44,45,46,9,47,48,49])).then(({pickLucideIcon:e})=>x(b,A.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{j=!1}))};return M().catch(e=>v.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:A,zone:b,resync:M}}async function x(e,t,n){let r=new Set(e.defaultIconNames()),i=o();for(let a of t){if(!r.has(a.name)||l(a.icon))continue;let t=i[a.name];if(t){e.updateDockIcon(a.name,t);continue}let o=await n(`"${a.title}" — a SLICC sprinkle panel (${a.name})`);o&&(c(a.name,o),e.updateDockIcon(a.name,o))}}export{f as CHAT_SURFACE_ID,_ as WcSprinkleZone,b as wireWcSprinkles};