@promptctl/cc-candybar 1.54.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.mjs +95 -95
  2. package/package.json +5 -5
package/dist/index.mjs CHANGED
@@ -1,35 +1,35 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,join as d}from"node:path";import f,{homedir as p}from"node:os";import{spawn as m,spawnSync as h}from"node:child_process";import g from"node:net";import _ from"node:v8";import{URL as v,URLSearchParams as y,fileURLToPath as b,pathToFileURL as x}from"node:url";import{parseArgs as S}from"node:util";import C,{createHash as ee}from"node:crypto";import{get as te}from"node:https";import{setTimeout as w}from"node:timers/promises";import{open as ne,readFile as T,readdir as re,stat as E}from"node:fs/promises";import{createInterface as D}from"node:readline";import{clearInterval as ie,setInterval as ae}from"node:timers";var oe=Object.create,se=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,le=Object.getOwnPropertyNames,ue=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,fe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),pe=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=le(t),a=0,o=i.length,s;a<o;a++)s=i[a],!de.call(e,s)&&s!==n&&se(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ce(t,s))||r.enumerable});return e},me=(e,t,n)=>(n=e==null?{}:oe(ue(e)),pe(t||!e||!e.__esModule?se(n,`default`,{value:e,enumerable:!0}):n,e));function O(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}const he={"click.pbcopy":1e3,"click.open":1e3},ge=new Map;function k(e){let t=he[e];if(t===void 0)return{allowed:!0};let n=ge.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function _e(e){ge.set(e,Date.now())}function ve(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let ye=null;function be(e){ye=e}async function xe(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();return ye?.onStart(e.category),new Promise(t=>{let r;try{r=m(e.bin,e.args??[],{cwd:e.cwd,env:e.env,stdio:[`pipe`,`pipe`,`pipe`]})}catch(r){ye?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:r instanceof Error?r.message:String(r)});return}let i=``,a=``,o=!1,s=null,c=null,l=!1,u=r=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),ye?.onEnd(e.category,Date.now()-n),t(r))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,e=>{u({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:e.message})}),r.on(`close`,(e,t)=>{if(l){u({ok:!1,reason:`timeout`,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){u({ok:!0,stdout:i,stderr:a,exitCode:e});return}u({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>{l=!0,r.pid!==void 0&&(r.kill(`SIGTERM`),c=setTimeout(()=>{r.kill(`SIGKILL`)},250))},e.timeoutMs)),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function Se(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();ye?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=h(e.bin,e.args??[],{cwd:e.cwd,env:e.env,input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});ye?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:t.error.message};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return ye?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:t instanceof Error?t.message:String(t)}}}function Ce(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();ye?.onStart(e.category);let r=we(e);return ye?.onEnd(e.category,Date.now()-n),r}function we(e){let t;try{t=m(e.bin,e.args??[],{cwd:e.cwd,env:e.env,detached:!0,stdio:`ignore`})}catch(e){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function Te(e){let t=process.env[e];return t&&t.length>0?t:void 0}function Ee(){let e=Te(`XDG_STATE_HOME`)??c.join(f.homedir(),`.local`,`state`);return c.join(e,`cc-candybar`)}function De(){let e=Te(`XDG_CACHE_HOME`)??c.join(f.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Oe(){return Ee()}function ke(){let e=process.env.CC_CANDYBAR_SOCKET;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`socket`)}function A(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=f.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function Ae(e){A(c.dirname(e));for(let t of[e,je(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function je(e){return`${e}.lease`}function Me(){return je(ke())}function Ne(){return c.join(Ee(),`session-state.json`)}function Pe(){return c.join(Ee(),`config-edit-history.json`)}function Fe(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ie(){return c.join(Ee(),`spawn.lock`)}function Le(){return c.join(Ee(),`spawn.cooldown`)}function Re(){return c.join(Ee(),`spawn.backoff`)}function ze(){return c.join(Ee(),`diagnostics`)}function Be(){return c.join(Ee(),`daemon.log`)}function Ve(e){let t=Ue(e.termCols),n=Ue(e.termRows),r=We(e.ssh);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r}}}const He=1e4;function Ue(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>He?He:t}function We(e){return typeof e==`boolean`?e:void 0}var Ge=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function Ke(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function qe(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new Ge(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new Ge(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function Je(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=qe(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(Ke(t))})}async function Ye(e,t,n){let r=null;try{r=await et(ke(),t.connectMs);let i=await Je(r,{v:3,...e},t.budgetMs);return Qe(e.kind,i,n)}catch(e){return $e(e)}finally{r&&r.destroy()}}function Xe(e,t){return typeof e==`string`?e:t}function Ze(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function Qe(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=Xe(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:Ze(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function $e(e){if(e instanceof Ge||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function et(e,t){return new Promise((n,r)=>{let i=g.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function tt(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const nt={connectMs:50,budgetMs:150},rt={connectMs:50,budgetMs:200};function it(e){let t=e.output;return typeof t==`string`?t:void 0}function at(e,t,n,r){return Ye({kind:`render`,hookData:e,args:t,cwd:n,...r},nt,it)}function ot(e,t){return Ye({kind:`click`,verb:e,value:t},rt,it)}let st=null;function ct(e){if(st!==null)return st;r.mkdirSync(c.dirname(e),{recursive:!0});try{st=r.statSync(e).size}catch{st=0}return st}function lt(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}st=0}function j(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=Be(),t=ct(e);r.appendFileSync(e,n),st=t+Buffer.byteLength(n,`utf8`),st>=5242880&&lt(e)}catch(e){st=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const ut=`CC_CANDYBAR_RSS_LIMIT_MB`;function dt(e){let t=e[ut];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${ut} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function ft(e){return dt(e)*2}const pt=1024*1024;function mt(e){return dt(e)*pt}function ht(e){let t=e.rssLimitBytes??512*pt,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let i=e.rssBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t}; writing heap snapshot then shutting down`);try{let t=new Date(e.now()).toISOString().replace(/[:.]/g,`-`),r=c.join(e.snapshotDir,`heap-${t}-${e.pid}.heapsnapshot`),i=e.writeHeapSnapshot(r);e.log(`info`,`heap snapshot written: ${i}`),gt(e.listSnapshots(),n,e.removeFile)}catch(t){e.log(`warn`,`heap snapshot failed: ${t.message}`)}return e.shutdown(0),!0}function a(){let n=e.rssBytes();return n>t*.75?`rss ${n} approaching limit ${t}`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function gt(e,t,n){let r=[...e].sort((e,t)=>{let n=e.slice(e.lastIndexOf(`/`)+1);return t.slice(t.lastIndexOf(`/`)+1).localeCompare(n)});for(let e of r.slice(t))try{n(e)}catch{}}function _t(e,t,n={}){let i=Oe();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:j,rssBytes:()=>process.memoryUsage().rss,writeHeapSnapshot:e=>_.writeHeapSnapshot(e),listSnapshots:()=>{try{return r.readdirSync(i).filter(e=>e.startsWith(`heap-`)&&e.endsWith(`.heapsnapshot`)).map(e=>c.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function vt(e={}){if(Pt()!==null)return;let n=e.spawn??Ft,r=jt();if(r.kind===`contended`){let e=bt();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),yt(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),yt(n);return}try{yt(n)}finally{Nt()}}function yt(e){Dt()&&xt(e)}function bt(){try{let e=r.statSync(Ie());return Date.now()-e.mtimeMs}catch{return null}}function xt(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
3
- `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function St(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function Ct(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function wt(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function Tt(e,n){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function Et(){try{r.unlinkSync(Re())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function Dt(){let e=Le(),n=Re(),r=wt(n),i=St(Ot(e),Ct(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),kt(e),Tt(n,Math.min(r+1,5)),!0)}function Ot(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function kt(e){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let At=null;function jt(){let e=Ie();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return At={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!Mt(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function Mt(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function Nt(){if(!At)return;let{fd:e,path:t}=At;At=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function Pt(){try{return r.mkdirSync(Oe(),{recursive:!0}),null}catch(e){return`mkdir ${Oe()}: ${e.message}`}}function Ft(){let e=t.execPath,n=t.argv[1];return n?Ce({bin:e,args:[`--max-old-space-size=${ft(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const M=`cc-candybar`,It=`dispatch`,Lt=`set-state`,Rt=`step-state`,zt=`copy`,Bt=`open-vscode`,Vt=`show-config-error`,Ht=`show-config-warning`,Ut=`set-config`,Wt=`step-config`,Gt=`reset-config`,Kt=`apply-layout-op`,qt=`undo`,Jt=`redo`,Yt=`apply-update`;function Xt(e){return e.map(encodeURIComponent).join(`/`)}function Zt(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function Qt(e){return`${M}://${It}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${Xt(e.args)}`)}`).join(`&`)}`}function $t(e){return new y(e).getAll(`e`).map(en)}function en(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const tn=`closed`;function nn(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function N(e,t,n,r){let i=nn(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function rn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function an(e,...t){return`{{ and ${[e,...t].map(on).join(` `)} }}`}function on(e){return`(eq .${e.variable} "${rn(e.member)}")`}function sn(e,t,n){return`{{ action "${e}" "${rn(t)}" "${rn(n)}" }}`}function cn(e,t){return{kind:`state`,key:e,default:t}}function ln(e,t){return{set:e,cycle:[tn,t]}}const un=`1.54.0`;function P(e){return{kind:`ok`,value:e}}const F={kind:`absent`};function dn(e){return{kind:`failed`,reason:e}}function fn(e,t){return e?.kind===`ok`?e.value:t}const pn=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function I(e){let t=pn.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function L(e){return e.join(`.`)}function mn([e,t,n],[r,i,a]){return e-r||t-i||n-a}const hn=`@promptctl/cc-candybar`;async function gn(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return dn(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?I(n.latest):F}catch(e){return dn(e instanceof Error?e.message:String(e))}}function _n(e,t){let n=I(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=mn(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function vn(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${L(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${L(t.installed)} is newer than the registry's latest release (${L(t.latest)}): an unpublished build.\n`};case`stale`:{let n=L(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${L(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const yn=`CCCandybarURLHandler`,bn=[],R={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function xn(e){return/^[A-Za-z0-9_./=,:-]+$/.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}function Sn(e,t){return[e,...t].map(xn).join(` `)}function Cn(){return c.join(f.homedir(),`Applications`,`${yn}.app`)}function wn(){return c.join(f.homedir(),`.claude`,`settings.json`)}function Tn(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function En(){if(process.platform===`darwin`)return c.join(f.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??c.join(f.homedir(),`.local`,`share`);return c.join(e,`cc-candybar`)}function Dn(){return c.join(En(),`bin`,`cc-candybar`)}function On(){return c.join(En(),`dist`,`index.mjs`)}function kn(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
4
- `)}function An(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:c.resolve(c.dirname(e),`..`,`dist`,`index.mjs`)}function jn(t){let n=R[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:c.resolve(c.dirname(t),`..`,`bin`,`cc-candybar`)}}function Mn(e,t){c.resolve(e)!==c.resolve(t)&&r.copyFileSync(e,t)}function Nn(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${hn}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function Pn(){let e=An(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=jn(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(c.dirname(On()),{recursive:!0}),r.mkdirSync(c.dirname(Dn()),{recursive:!0}),Mn(e,On()),Mn(t.sourcePath,Dn()),r.chmodSync(Dn(),493),r.rmSync(c.join(En(),`url-handler.mjs`),{force:!0});let n=Nn(Dn());return process.stdout.write(`Staged cc-candybar v${un} runtime at ${En()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:Dn(),distPath:On(),entryKind:n}}function z(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${M}</string>`,` </array>`,` </dict>`,`</array>`].join(`
5
- `)}]}function Fn(e){let t=Cn();r.mkdirSync(c.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Se({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,kn(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=c.join(t,`Contents`,`Info.plist`);for(let{key:e}of z())Se({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of z()){let n=Se({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${M}:// with Launch Services\n`);let a=Se({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${yn}.app installed and registered.\n`),process.stdout.write(` Test: open '${M}://hello-world' && pbpaste\n`)}function In(){Tn(),Fn(Pn().distPath)}function Ln(e,t=M){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:zt,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function Rn(e){e||(process.stderr.write(`url-handle: missing URL argument.
6
- `),process.exit(1));let t;try{t=Ln(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await ot(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(vt(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(zn(n)+`
7
- `),process.exit(1)}function zn(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function Bn(){return`✓ install complete.
2
+ import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,join as d}from"node:path";import f,{homedir as p}from"node:os";import{spawn as m,spawnSync as h}from"node:child_process";import g from"node:net";import _ from"node:v8";import{URL as v,URLSearchParams as y,fileURLToPath as b,pathToFileURL as x}from"node:url";import{parseArgs as S}from"node:util";import C,{createHash as ee}from"node:crypto";import{get as te}from"node:https";import{setTimeout as w}from"node:timers/promises";import{open as ne,readFile as T,readdir as re,stat as E}from"node:fs/promises";import{createInterface as D}from"node:readline";import{clearInterval as ie,setInterval as ae}from"node:timers";var oe=Object.create,se=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,le=Object.getOwnPropertyNames,ue=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,fe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),pe=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=le(t),a=0,o=i.length,s;a<o;a++)s=i[a],!de.call(e,s)&&s!==n&&se(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ce(t,s))||r.enumerable});return e},me=(e,t,n)=>(n=e==null?{}:oe(ue(e)),pe(t||!e||!e.__esModule?se(n,`default`,{value:e,enumerable:!0}):n,e));function O(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}const he={"click.pbcopy":1e3,"click.open":1e3},ge=new Map;function k(e){let t=he[e];if(t===void 0)return{allowed:!0};let n=ge.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function _e(e){ge.set(e,Date.now())}function ve(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let ye=null;function be(e){ye=e}async function xe(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();return ye?.onStart(e.category),new Promise(t=>{let r;try{r=m(e.bin,e.args??[],{cwd:e.cwd,env:e.env,stdio:[`pipe`,`pipe`,`pipe`]})}catch(r){ye?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:r instanceof Error?r.message:String(r)});return}let i=``,a=``,o=!1,s=null,c=null,l=!1,u=r=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),ye?.onEnd(e.category,Date.now()-n),t(r))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,e=>{u({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:e.message})}),r.on(`close`,(e,t)=>{if(l){u({ok:!1,reason:`timeout`,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){u({ok:!0,stdout:i,stderr:a,exitCode:e});return}u({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>{l=!0,r.pid!==void 0&&(r.kill(`SIGTERM`),c=setTimeout(()=>{r.kill(`SIGKILL`)},250))},e.timeoutMs)),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function Se(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();ye?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=h(e.bin,e.args??[],{cwd:e.cwd,env:e.env,input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});ye?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:t.error.message};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return ye?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:t instanceof Error?t.message:String(t)}}}function Ce(e){let t=k(e.category);if(!t.allowed)return ve(e.category,t.minIntervalMs,t.sinceLastMs);_e(e.category);let n=Date.now();ye?.onStart(e.category);let r=we(e);return ye?.onEnd(e.category,Date.now()-n),r}function we(e){let t;try{t=m(e.bin,e.args??[],{cwd:e.cwd,env:e.env,detached:!0,stdio:`ignore`})}catch(e){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function Te(e){let t=process.env[e];return t&&t.length>0?t:void 0}function Ee(){let e=Te(`XDG_STATE_HOME`)??c.join(f.homedir(),`.local`,`state`);return c.join(e,`cc-candybar`)}function De(){let e=Te(`XDG_CACHE_HOME`)??c.join(f.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Oe(){return Ee()}function ke(){let e=process.env.CC_CANDYBAR_SOCKET;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`socket`)}function A(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=f.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function Ae(e){A(c.dirname(e));for(let t of[e,je(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function je(e){return`${e}.lease`}function Me(){return je(ke())}function Ne(){return c.join(Ee(),`session-state.json`)}function Pe(){return c.join(Ee(),`config-edit-history.json`)}function Fe(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ie(){return c.join(Ee(),`spawn.lock`)}function Le(){return c.join(Ee(),`spawn.cooldown`)}function Re(){return c.join(Ee(),`spawn.backoff`)}function ze(){return c.join(Ee(),`diagnostics`)}function Be(){return c.join(Ee(),`daemon.log`)}function Ve(e){let t=Ue(e.termCols),n=Ue(e.termRows),r=We(e.ssh);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r}}}const He=1e4;function Ue(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>He?He:t}function We(e){return typeof e==`boolean`?e:void 0}var Ge=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function Ke(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function qe(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new Ge(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new Ge(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function Je(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=qe(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(Ke(t))})}async function Ye(e,t,n){let r=null;try{r=await et(ke(),t.connectMs);let i=await Je(r,{v:3,...e},t.budgetMs);return Qe(e.kind,i,n)}catch(e){return $e(e)}finally{r&&r.destroy()}}function Xe(e,t){return typeof e==`string`?e:t}function Ze(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function Qe(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=Xe(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:Ze(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function $e(e){if(e instanceof Ge||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function et(e,t){return new Promise((n,r)=>{let i=g.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function tt(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const nt={connectMs:50,budgetMs:150},rt={connectMs:50,budgetMs:200};function it(e){let t=e.output;return typeof t==`string`?t:void 0}function at(e,t,n,r){return Ye({kind:`render`,hookData:e,args:t,cwd:n,...r},nt,it)}function ot(e,t){return Ye({kind:`click`,verb:e,value:t},rt,it)}let st=null;function ct(e){if(st!==null)return st;r.mkdirSync(c.dirname(e),{recursive:!0});try{st=r.statSync(e).size}catch{st=0}return st}function lt(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}st=0}function j(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=Be(),t=ct(e);r.appendFileSync(e,n),st=t+Buffer.byteLength(n,`utf8`),st>=5242880&&lt(e)}catch(e){st=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const ut=`CC_CANDYBAR_RSS_LIMIT_MB`;function dt(e){let t=e[ut];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${ut} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function ft(e){return dt(e)*2}const pt=1024*1024;function mt(e){return dt(e)*pt}function ht(e){let t=e.rssLimitBytes??512*pt,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let i=e.rssBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t}; writing heap snapshot then shutting down`);try{let t=new Date(e.now()).toISOString().replace(/[:.]/g,`-`),r=c.join(e.snapshotDir,`heap-${t}-${e.pid}.heapsnapshot`),i=e.writeHeapSnapshot(r);e.log(`info`,`heap snapshot written: ${i}`),gt(e.listSnapshots(),n,e.removeFile)}catch(t){e.log(`warn`,`heap snapshot failed: ${t.message}`)}return e.shutdown(0),!0}function a(){let n=e.rssBytes();return n>t*.75?`rss ${n} approaching limit ${t}`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function gt(e,t,n){let r=[...e].sort((e,t)=>{let n=e.slice(e.lastIndexOf(`/`)+1);return t.slice(t.lastIndexOf(`/`)+1).localeCompare(n)});for(let e of r.slice(t))try{n(e)}catch{}}function _t(e,t,n={}){let i=Oe();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:j,rssBytes:()=>process.memoryUsage().rss,writeHeapSnapshot:e=>_.writeHeapSnapshot(e),listSnapshots:()=>{try{return r.readdirSync(i).filter(e=>e.startsWith(`heap-`)&&e.endsWith(`.heapsnapshot`)).map(e=>c.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function vt(e={}){if(M()!==null)return;let n=e.spawn??Pt,r=jt();if(r.kind===`contended`){let e=bt();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),yt(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),yt(n);return}try{yt(n)}finally{Nt()}}function yt(e){Dt()&&xt(e)}function bt(){try{let e=r.statSync(Ie());return Date.now()-e.mtimeMs}catch{return null}}function xt(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
3
+ `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function St(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function Ct(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function wt(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function Tt(e,n){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function Et(){try{r.unlinkSync(Re())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function Dt(){let e=Le(),n=Re(),r=wt(n),i=St(Ot(e),Ct(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),kt(e),Tt(n,Math.min(r+1,5)),!0)}function Ot(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function kt(e){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let At=null;function jt(){let e=Ie();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return At={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!Mt(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function Mt(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function Nt(){if(!At)return;let{fd:e,path:t}=At;At=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function M(){try{return r.mkdirSync(Oe(),{recursive:!0}),null}catch(e){return`mkdir ${Oe()}: ${e.message}`}}function Pt(){let e=t.execPath,n=t.argv[1];return n?Ce({bin:e,args:[`--max-old-space-size=${ft(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const N=`cc-candybar`,Ft=`dispatch`,It=`set-state`,Lt=`step-state`,Rt=`copy`,zt=`open-vscode`,Bt=`show-config-error`,Vt=`show-config-warning`,Ht=`set-config`,Ut=`step-config`,Wt=`reset-config`,Gt=`apply-layout-op`,Kt=`undo`,qt=`redo`,Jt=`apply-update`;function Yt(e){return e.map(encodeURIComponent).join(`/`)}function Xt(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function Zt(e){return`${N}://${Ft}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${Yt(e.args)}`)}`).join(`&`)}`}function Qt(e){return new y(e).getAll(`e`).map($t)}function $t(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const en=`closed`;function tn(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function P(e,t,n,r){let i=tn(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function nn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function rn(e,t,n,r){return{kind:`segment`,name:e,opens:{ref:t,body:n},...r!==void 0&&{when:r}}}function an(e,...t){return`{{ and ${[e,...t].map(on).join(` `)} }}`}function on(e){return`(eq .${e.variable} "${nn(e.member)}")`}function sn(e,t,n){return`{{ action "${e}" "${nn(t)}" "${nn(n)}" }}`}function cn(e,t){return{kind:`state`,key:e,default:t}}function ln(e,t){return{set:e,cycle:[en,t]}}const un=`1.55.0`;function F(e){return{kind:`ok`,value:e}}const I={kind:`absent`};function dn(e){return{kind:`failed`,reason:e}}function fn(e,t){return e?.kind===`ok`?e.value:t}const L=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function pn(e){let t=L.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function mn(e){return e.join(`.`)}function hn([e,t,n],[r,i,a]){return e-r||t-i||n-a}const gn=`@promptctl/cc-candybar`;async function _n(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return dn(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?pn(n.latest):I}catch(e){return dn(e instanceof Error?e.message:String(e))}}function vn(e,t){let n=pn(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=hn(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function yn(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${mn(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${mn(t.installed)} is newer than the registry's latest release (${mn(t.latest)}): an unpublished build.\n`};case`stale`:{let n=mn(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${mn(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const bn=`CCCandybarURLHandler`,R=[],xn={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function Sn(e){return/^[A-Za-z0-9_./=,:-]+$/.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}function Cn(e,t){return[e,...t].map(Sn).join(` `)}function wn(){return c.join(f.homedir(),`Applications`,`${bn}.app`)}function Tn(){return c.join(f.homedir(),`.claude`,`settings.json`)}function En(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function Dn(){if(process.platform===`darwin`)return c.join(f.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??c.join(f.homedir(),`.local`,`share`);return c.join(e,`cc-candybar`)}function On(){return c.join(Dn(),`bin`,`cc-candybar`)}function kn(){return c.join(Dn(),`dist`,`index.mjs`)}function An(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
4
+ `)}function jn(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:c.resolve(c.dirname(e),`..`,`dist`,`index.mjs`)}function Mn(t){let n=xn[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:c.resolve(c.dirname(t),`..`,`bin`,`cc-candybar`)}}function Nn(e,t){c.resolve(e)!==c.resolve(t)&&r.copyFileSync(e,t)}function Pn(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${gn}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function z(){let e=jn(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=Mn(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(c.dirname(kn()),{recursive:!0}),r.mkdirSync(c.dirname(On()),{recursive:!0}),Nn(e,kn()),Nn(t.sourcePath,On()),r.chmodSync(On(),493),r.rmSync(c.join(Dn(),`url-handler.mjs`),{force:!0});let n=Pn(On());return process.stdout.write(`Staged cc-candybar v${un} runtime at ${Dn()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:On(),distPath:kn(),entryKind:n}}function Fn(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${N}</string>`,` </array>`,` </dict>`,`</array>`].join(`
5
+ `)}]}function In(e){let t=wn();r.mkdirSync(c.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Se({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,An(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=c.join(t,`Contents`,`Info.plist`);for(let{key:e}of Fn())Se({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of Fn()){let n=Se({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${N}:// with Launch Services\n`);let a=Se({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${bn}.app installed and registered.\n`),process.stdout.write(` Test: open '${N}://hello-world' && pbpaste\n`)}function Ln(){En(),In(z().distPath)}function Rn(e,t=N){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:Rt,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function zn(e){e||(process.stderr.write(`url-handle: missing URL argument.
6
+ `),process.exit(1));let t;try{t=Rn(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await ot(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(vt(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(Bn(n)+`
7
+ `),process.exit(1)}function Bn(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function Vn(){return`✓ install complete.
8
8
  Restart Claude Code to pick up the new statusline.
9
9
  Tip: every bar carries a settings menu — click ☰ ▸ for preset
10
10
  switching, edit mode, and clickable theme/look/style/wrap/padding controls.
11
- `}async function Vn(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...bn],i=Pn();process.platform===`darwin`?Fn(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
12
- `),B(i.binPath,r,t),process.stdout.write(Bn());let a=vn(hn,_n(un,await gn(hn,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function B(e,t,n,i){let a=i??wn();r.mkdirSync(c.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,l=[e,xn(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||l.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}o.statusLine={type:`command`,command:Sn(e,t)},r.writeFileSync(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function Hn(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function Un(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function Wn(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function Gn(e,t){let n=Un(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function Kn(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function qn(e,t,n,r){let i=Jn(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function Jn(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function Yn(e){let t=!1;function n(){let n=qn(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function Xn(e,t=Se){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function Zn(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function Qn(e,t=Xn){let n=t(e);return n.kind===`start`?n.token:null}const $n=`CC_CANDYBAR_PARENT_PID`;function er(e){let t=e[$n];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${$n} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function tr(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function nr(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function rr(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function ir(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function ar(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>c.join(e,t))}catch{return[]}}function or(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function sr(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function cr(e){if(!e.isolated)return{decision:ir(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=ir(!0,sr(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=c.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function lr(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function ur(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Fe(),ceiling:rr(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>Zn(e,t,{readStartTime:Xn,pidAlive:nr}),listFiles:ar,readEntry:or,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?A:e=>{A(c.dirname(e)),A(e)},...t}}function dr({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const fr=dr();function pr(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(fr,``)}const mr=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],hr=[12288,12288,65281,65376,65504,65510],gr=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],_r=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],vr=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],yr=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},br=mr[0],xr=mr.at(-1),Sr=hr[0],Cr=hr.at(-1);gr[0],gr.at(-1),_r[0],_r.at(-1);const wr=vr[0],Tr=vr.at(-1),Er=19968,[Dr,Or]=kr(vr);function kr(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(Er>=i&&Er<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Ar=e=>e<br||e>xr?!1:yr(mr,e),jr=e=>e<Sr||e>Cr?!1:yr(hr,e),Mr=e=>e>=Dr&&e<=Or?!0:e<wr||e>Tr?!1:yr(vr,e);function Nr(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Pr(e,{ambiguousAsWide:t=!1}={}){return Nr(e),jr(e)||Mr(e)||t&&Ar(e)?2:1}const Fr=new Intl.Segmenter,Ir=RegExp(`^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$`,`v`),Lr=RegExp(`^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+`,`v`),Rr=RegExp(`^\\p{RGI_Emoji}$`,`v`),zr=/^[\d#*]\u20E3$/,Br=/\p{Extended_Pictographic}/gu;function Vr(e){if(e.length>50)return!1;if(zr.test(e))return!0;if(e.includes(`‍`)){let t=e.match(Br);return t!==null&&t.length>=2}return!1}function Hr(e){return e.replace(Lr,``)}function Ur(e){return Ir.test(e)}function Wr(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function Gr(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function Kr(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function qr(e){return Wr(e)||Gr(e)||Kr(e)}function Jr(e,t){let n=[];for(let t of e)Ir.test(t)||n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!qr(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Pr(n[i],t);return r}if(Wr(i)&&Gr(n[e+1])){r+=2,e+=Kr(n[e+2])?2:1;continue}r+=Pr(i,t)}return r}function Yr(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}i>=`＀`&&i<=`￯`&&(n+=Pr(i.codePointAt(0),t))}return n}function Xr(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=pr(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of Fr.segment(i)){if(Ur(e))continue;if(Rr.test(e)||Vr(e)){a+=2;continue}let t=Hr(e),n=Jr(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Pr(r,o),a+=Yr(t,o)}return a}const Zr=new Map;function V(e){if(e.length===0)return 0;if(e.length<=64){let t=Zr.get(e);if(t!==void 0)return t}let t=Xr(e);return e.length<=64&&(Zr.size>=4096&&Zr.clear(),Zr.set(e,t)),t}function H(e){return e}function Qr(e){return e}function $r(e,t){if(t===0)return``;let n=V(e);return n===t?e:n<t?e+` `.repeat(t-n):ai(e,t)}function ei(e,t){if(t<=0)return[``,e];if(t>=V(e))return[e,``];let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function ti(e,t){if(t<=0||e.length===0||V(e)<=t)return[e];let n=[],r=e;for(;r.length>0;){if(V(r)<=t){n.push(r);break}let[e,i]=ei(r,t);n.push(e),r=i}return n}function ni(e,t){let n=0,r=0;for(let i of e){if(n>=t)break;let e=V(i);if(n+e>t)break;n+=e,r+=i.length}return Qr(r)}function ri(e,t){return t>=e.length?Qr(e.length):Qr(t+(e.codePointAt(t)>65535?2:1))}function ii(e,t){if(t<=0)return Qr(0);let n=e.charCodeAt(t-1);if(n>=56320&&n<=57343&&t>=2){let n=e.charCodeAt(t-2);if(n>=55296&&n<=56319)return Qr(t-2)}return Qr(t-1)}function ai(e,t){let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=t-n;return a>0?i+` `.repeat(a):i}var oi=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function si(e){return e.toString(16).padStart(2,`0`)}function ci(e,t){if(!Number.isInteger(t)||t<0||t>255)throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var U=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,ci(`red`,e),ci(`green`,t),ci(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+si(this.red)+si(this.green)+si(this.blue);return this.alpha===1?e:e+si(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}},li=class{colors;matchCache=new Map;constructor(e){this.colors=e}get(e){return this.colors[e]}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=n.red-e.red,o=n.green-e.green,s=n.blue-e.blue,c=a*a+o*o+s*s;c<i&&(i=c,r=t)}return this.matchCache.set(t,r),r}},W;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(W||={});const ui={truecolor:W.TRUECOLOR,256:W.EIGHT_BIT,ansi:W.STANDARD,none:null,0:null,false:null,1:W.STANDARD,true:W.STANDARD,2:W.EIGHT_BIT,3:W.TRUECOLOR,"iTerm.app":W.TRUECOLOR,Apple_Terminal:W.EIGHT_BIT,vscode:W.TRUECOLOR,Tabby:W.TRUECOLOR,"xterm-kitty":W.TRUECOLOR,"xterm-ghostty":W.TRUECOLOR,wezterm:W.TRUECOLOR,alacritty:W.TRUECOLOR,foot:W.TRUECOLOR,contour:W.TRUECOLOR};function di(e={}){let t=e.env??(typeof process<`u`?process.env:{}),n=e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1),r=t.NO_COLOR;if(r!==void 0&&r!==``)return null;let i=t.FORCE_COLOR;if(i!==void 0&&i!==``){let e=ui[i];return e===void 0?W.STANDARD:e}if(!n)return null;let a=t.TERM??``;if(a===`dumb`||a===`unknown`)return null;let o=t.COLORTERM;if(o===`truecolor`||o===`24bit`)return W.TRUECOLOR;let s=ui[a];if(s!==void 0)return s;let c=t.TERM_PROGRAM;if(c!==void 0){let e=ui[c];if(e!==void 0)return e}return/-256(color)?$/i.test(a)?W.EIGHT_BIT:/-truecolor$/i.test(a)?W.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a),W.STANDARD)}function fi(e,t){if(e===`auto`)return di(t);if(Object.hasOwn(ui,e))return ui[e];throw new pi(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var pi=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const mi=new Map;var hi=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===W.DEFAULT}get isSystemDefined(){return this.type===W.STANDARD||this.type===W.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case W.DEFAULT:return[e?`39`:`49`];case W.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case W.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case W.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case W.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==W.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===W.DEFAULT||this.type<=e)return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case W.TRUECOLOR:return this.value;case W.EIGHT_BIT:return ki.get(this.number);case W.STANDARD:return(e??G).ansiColors.get(this.number);case W.DEFAULT:{let n=e??G;return t?n.foregroundColor:n.backgroundColor}case W.WINDOWS:return(e??G).ansiColors.get(this.number)}}static default(){return new e(`default`,W.DEFAULT)}static fromAnsi(t){let n=t<16?W.STANDARD:W.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,W.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new U(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=mi.get(t);if(n)return n;let r=bi(t);return mi.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case W.EIGHT_BIT:{let t=ki.match(n);return e.fromAnsi(t)}case W.STANDARD:{let t=Oi.match(n);return new e(`color(${t})`,W.STANDARD,t)}case W.WINDOWS:case W.TRUECOLOR:return this;case W.DEFAULT:return e.default()}}};const gi=/^#([0-9a-f]{6})$/,_i=/^#([0-9a-f]{8})$/,vi=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,yi=/^color\((\d{1,3})\)$/;function bi(e){if(e===`default`||e===``)return hi.default();let t=Ai[e];if(t!==void 0)return new hi(e,t<16?W.STANDARD:W.EIGHT_BIT,t);let n=_i.exec(e);if(n)return new hi(e,W.TRUECOLOR,void 0,Si(n[1]));let r=gi.exec(e);if(r)return new hi(e,W.TRUECOLOR,void 0,xi(r[1]));let i=vi.exec(e);if(i){let t=parseInt(i[1],10),n=parseInt(i[2],10),r=parseInt(i[3],10);return new hi(e,W.TRUECOLOR,void 0,new U(t,n,r))}let a=yi.exec(e);if(a){let t=parseInt(a[1],10);if(t>255)throw new pi(`ColorSpec number ${t} is out of range (0-255)`);return new hi(e,t<16?W.STANDARD:W.EIGHT_BIT,t)}throw new pi(`Failed to parse color: "${e}"`)}function xi(e){return new U(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function Si(e){return new U(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function Ci(e,t,n=.5){return new U(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var wi=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function Ti(){return[new U(0,0,0),new U(128,0,0),new U(0,128,0),new U(128,128,0),new U(0,0,128),new U(128,0,128),new U(0,128,128),new U(192,192,192),new U(128,128,128),new U(255,0,0),new U(0,255,0),new U(255,255,0),new U(0,0,255),new U(255,0,255),new U(0,255,255),new U(255,255,255)]}function Ei(){let e=Ti(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new U(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new U(n,n,n))}return e}function Di(){return[new U(0,0,0),new U(0,0,128),new U(0,128,0),new U(0,128,128),new U(128,0,0),new U(128,0,128),new U(128,128,0),new U(192,192,192),new U(128,128,128),new U(0,0,255),new U(0,255,0),new U(0,255,255),new U(255,0,0),new U(255,0,255),new U(255,255,0),new U(255,255,255)]}const Oi=new li(Ti()),ki=new li(Ei());new li(Di());const G=new wi(new U(0,0,0),new U(255,255,255),Oi,new oi(`default`,!0,new Map)),Ai={black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255};for(let[e,t]of Object.entries(Ai))e.includes(`grey`)&&(Ai[e.replace(`grey`,`gray`)]=t);const ji=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function Mi(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Ni(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Pi(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Fi(e){return e<0?0:e>1?1:e}const Ii=1e-4,Li=1e-7;function Ri(e,t,n){return e>=-Ii&&e<=1+Ii&&t>=-Ii&&t<=1+Ii&&n>=-Ii&&n<=1+Ii}var zi=class e{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(t){let[n,r,i,a]=t.normalized,o=Ni(n),s=Ni(r),c=Ni(i),l=.4122214708*o+.5363325363*s+.0514459929*c,u=.2119034982*o+.6806995451*s+.1073969566*c,d=.0883024619*o+.2817188376*s+.6299787005*c,f=Math.cbrt(l),p=Math.cbrt(u),m=Math.cbrt(d),h=.2104542553*f+.793617785*p-.0040720468*m,g=1.9779984951*f-2.428592205*p+.4505937099*m,_=.0259040371*f+.7827717662*p-.808675766*m,v=Math.sqrt(g*g+_*_),y=180/Math.PI*Math.atan2(_,g);return y<0&&(y+=360),v<Li&&(y=0),new e(h,v,y,a)}toRgba(){let e=Fi(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new U(Math.round(Fi(Pi(r))*255),Math.round(Fi(Pi(i))*255),Math.round(Fi(Pi(a))*255),this.alpha)}applyKey(t){if(Mi(t))return this;let n=Fi(this.l*t.lightnessScale+t.lightnessShift),r=Math.max(0,this.c*t.chromaScale),i=(this.h+t.hueShift)%360;return i<0&&(i+=360),r<Li&&(i=0),new e(n,r,i,this.alpha)}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(Ri(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);Ri(r.r,r.g,r.b)?i=t:a=t}return i}},Bi=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const Vi=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function Hi(e){let t=e.trim();if(!Vi.test(t))throw new Bi(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?Si(n):xi(n)}function Ui(e,t){let n=t.trim();if(n.startsWith(`#`))return Hi(n);let r=e.get(n);if(r===void 0)throw new Bi(t,`no such variable in palette ${JSON.stringify(e.name)}`+Wi(e,n));return r}function Wi(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Gi(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Ki(e){let t=Math.round(e);return t<0?0:t>255?255:t}function qi(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Ki(r*255);return new U(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new U(Ki((s+u)*255),Ki((c+u)*255),Ki((l+u)*255))}function Ji(e){return e<0?0:e>1?1:e}function Yi(e,t){let n=Gi(e);return n.l=Ji(n.l-.1*t),qi(n)}function Xi(e,t,n){return Ci(t,e,Ji(n))}function Zi(e){return Qi(e)>.179?new U(0,0,0):new U(255,255,255)}function Qi(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function $i(e,t){let n=Qi(e),r=Qi(t),i=n>r?n:r,a=n>r?r:n;return(i+.05)/(a+.05)}function ea(e,t,n=4.5){let r=e.compositeOver(t);if($i(r,t)>=n)return r;let i=zi.fromRgba(r),a=Qi(t)>.179?0:1;if($i(new zi(a,i.c,i.h,i.alpha).toRgba(),t)<n)return Zi(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;$i(new zi(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new zi(s,i.c,i.h,i.alpha).toRgba()}const ta=.7,na=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function ra(e,t,n){let r=new Map;r.set(`background`,n.background),r.set(`foreground`,n.foreground);for(let e of na)r.set(e,n[e]);r.set(`foreground-muted`,Ci(n.foreground,n.background,ta)),r.set(`background-muted`,Ci(n.background,n.foreground,ta)),r.set(`surface`,Ci(n.background,n.foreground,.05));let i=Zi(n.background);for(let e of na){let t=n[e];r.set(`${e}-muted`,Ci(t,n.background,ta)),r.set(`text-${e}`,Xi(t,i,.66)),r.set(`on-${e}`,Zi(t))}return new oi(e,t,r)}const ia={"atom-one-dark":{name:`atom-one-dark`,dark:!0,vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},"atom-one-light":{name:`atom-one-light`,dark:!1,vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},"catppuccin-frappe":{name:`catppuccin-frappe`,dark:!0,vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},"catppuccin-latte":{name:`catppuccin-latte`,dark:!1,vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},"catppuccin-macchiato":{name:`catppuccin-macchiato`,dark:!0,vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},"catppuccin-mocha":{name:`catppuccin-mocha`,dark:!0,vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},cyberpunk:{name:`cyberpunk`,dark:!0,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},aa=Object.freeze(Object.keys(ia).sort()),oa=new Map;function sa(){return aa}function ca(e){if(!la(e))return null;let t=oa.get(e);if(t!==void 0)return t;let n=fa(ia[e]);return oa.set(e,n),n}function la(e){return Object.hasOwn(ia,e)}function ua(e){let t=ia[e];return{name:t.name,dark:t.dark,bg:da(t,`background`),fg:da(t,`foreground`),primary:da(t,`primary`),secondary:da(t,`secondary`),accent:da(t,`accent`),success:da(t,`success`),warning:da(t,`warning`),error:da(t,`error`)}}function da(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return ma(n,e.name,t)}function fa(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,ma(r,e.name,n));return new oi(e.name,e.dark,t)}const pa=/^[0-9a-fA-F]+$/;function ma(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!pa.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?xi(r):Si(r)}function ha(e){return new wi(e.bg,e.fg,Oi,ra(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const ga=ha(ua(`default`));ha(ua(`svg-export`)),ha(ua(`monokai`)),ha(ua(`nord`)),ha(ua(`gruvbox`)),ha(ua(`dracula`)),ha(ua(`tokyo-night`)),ha(ua(`flexoki`)),ha(ua(`cyberpunk`)),ha(ua(`catppuccin-mocha`)),ha(ua(`catppuccin-latte`)),ha(ua(`catppuccin-frappe`)),ha(ua(`catppuccin-macchiato`)),ha(ua(`solarized-dark`)),ha(ua(`solarized-light`)),ha(ua(`rose-pine`)),ha(ua(`rose-pine-moon`)),ha(ua(`rose-pine-dawn`)),ha(ua(`atom-one-dark`)),ha(ua(`atom-one-light`)),ha(ua(`textual-dark`)),ha(ua(`textual-light`)),ha(ua(`textual-ansi`));const _a=new Set([`error`,`success`,`warning`]);function va(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function ya(e){return _a.has(va(e))}function ba(e,t,n){if(Mi(t))return new oi(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=ya(n)?r:t;i.set(n,zi.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=zi.fromRgba(a).l<.5;return new oi(n??e.name,o,i)}const xa=/[\x1b\x07\x9c]/g;function Sa(e){return e.replace(xa,``)}const Ca=new U(0,0,0),wa=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Ta={bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],blink:[5,25],blink2:[6,25],reverse:[7,27],conceal:[8,28],strike:[9,29],underline2:[21,24],frame:[51,54],encircle:[52,54],overline:[53,55]},Ea={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Da=class extends Error{constructor(e){super(e),this.name=`StyleSyntaxError`}};const Oa=new Map;var K=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;constructor(e){if(!e){this.color=void 0,this.bgcolor=void 0,this.bold=void 0,this.dim=void 0,this.italic=void 0,this.underline=void 0,this.blink=void 0,this.blink2=void 0,this.reverse=void 0,this.conceal=void 0,this.strike=void 0,this.underline2=void 0,this.frame=void 0,this.encircle=void 0,this.overline=void 0,this.link=void 0,this.meta=void 0;return}this.color=Ma(e.color),this.bgcolor=Ma(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}get withoutColor(){return new e({bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:this.link,meta:this.meta})}withLink(t){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:t,meta:this.meta})}clearMetaAndLinks(){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline})}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link}toSgrCodes(e){if(this.isNull)return``;let t=[],n=Ca,r=this.bgcolor?.flattenAlpha(n),i=r?.getTruecolor(void 0,!1)??n,a=this.color?.flattenAlpha(i);if(a){let n=e===void 0?a:a.downgrade(e);t.push(...n.getAnsiCodes(!0))}if(r){let n=e===void 0?r:r.downgrade(e);t.push(...n.getAnsiCodes(!1))}for(let e of wa){let n=this[e];n===!0?t.push(`${Ta[e][0]}`):n===!1&&t.push(`${Ta[e][1]}`)}return t.join(`;`)}render(e,t){if(e.length===0)return``;if(this.isNull)return e;let n=this.toSgrCodes(t),r=n.length>0?`\x1b[${n}m${e}\x1b[0m`:e;return this.link&&(r=`\x1b]8;;${Sa(this.link)}\x1b\\${r}\x1b]8;;\x1b\\`),r}getHtmlStyle(e){if(this.isNull)return``;let t=[];if(this.color){let n=this.color.getTruecolor(e,!0);t.push(`color: ${n.hex}`)}if(this.bgcolor){let n=this.bgcolor.getTruecolor(e,!1);t.push(`background-color: ${n.hex}`)}this.bold&&t.push(`font-weight: bold`),this.italic&&t.push(`font-style: italic`);let n=[];return this.underline&&n.push(`underline`),this.strike&&n.push(`line-through`),this.overline&&n.push(`overline`),n.length>0&&t.push(`text-decoration: ${n.join(` `)}`),this.dim&&t.push(`opacity: 0.5`),t.join(`; `)}toString(){if(this.isNull)return`none`;let e=[];for(let t of wa)this[t]===!1&&e.push(`not ${t}`);for(let t of wa)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return ka}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=ka;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);if(n===``||n===`none`)return ka;let r=Oa.get(n);if(r)return r;if(Na&&n.includes(`.`)){let e=Pa[n];if(e!==void 0)return Oa.set(n,e),e}let i=ja(n);return Oa.set(n,i),i}};const ka=new K,Aa=new Set(wa);function ja(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Da(`Expected attribute after "not" in style definition`);let i=Ea[e]??e;if(!Aa.has(i))throw new Da(`Invalid attribute: "${e}"`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Da(`Expected color after "on" in style definition`);try{n.bgcolor=hi.parse(e)}catch{throw new Da(`Invalid background color: "${e}"`)}r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Ea[e]??e;if(Aa.has(i)){n[i]=!0,r++;continue}try{n.color=hi.parse(e)}catch{throw new Da(`Invalid style definition: "${e}"`)}r++}return new K(n)}function Ma(e){if(e!==void 0)return e instanceof hi?e:hi.parse(e)}let Na=!1;const Pa={none:ka,reset:new K({color:hi.default(),bgcolor:hi.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new K({bold:!0}),dim:new K({dim:!0}),italic:new K({italic:!0}),underline:new K({underline:!0}),blink:new K({blink:!0}),blink2:new K({blink2:!0}),reverse:new K({reverse:!0}),conceal:new K({conceal:!0}),strike:new K({strike:!0}),underline2:new K({underline2:!0}),frame:new K({frame:!0}),encircle:new K({encircle:!0}),overline:new K({overline:!0}),"table.header":new K({bold:!0}),"table.footer":new K({bold:!0}),"table.cell":ka,"table.title":new K({italic:!0}),"table.caption":new K({italic:!0,dim:!0}),"repr.str":K.parse(`green`),"repr.number":K.parse(`cyan`),"repr.bool":K.parse(`italic bright_magenta`),"repr.none":K.parse(`italic magenta`),"repr.url":K.parse(`not italic underline bright_blue`),"repr.uuid":K.parse(`bright_yellow`),"repr.error":K.parse(`bold red`),"repr.indent":K.parse(`dim green`),"repr.attrib_name":K.parse(`yellow`),"repr.attrib_value":K.parse(`magenta`),"repr.attrib_equal":K.parse(`bold`),"repr.tag_start":K.parse(`bold`),"repr.tag_name":K.parse(`bright_magenta`),"repr.tag_contents":K.parse(`default`),"repr.tag_end":K.parse(`bold`),"log.time":K.parse(`cyan dim`),"log.message":ka,"log.path":K.parse(`dim`),"log.line_no":K.parse(`cyan`),"log.level":ka,"rule.line":K.parse(`green`),"rule.text":K.parse(`bold`),"json.brace":K.parse(`bold`),"json.bool":K.parse(`italic bright_magenta`),"json.key":K.parse(`bold blue`),"json.null":K.parse(`italic magenta`),"json.number":K.parse(`cyan`),"json.str":K.parse(`green`),"markdown.h1":K.parse(`bold underline`),"markdown.h2":K.parse(`bold`),"markdown.h3":K.parse(`bold dim`),"markdown.h4":K.parse(`bold dim italic`),"markdown.code":K.parse(`cyan on grey11`),"markdown.hr":K.parse(`yellow`),"markdown.link":K.parse(`bright_blue`),"markdown.link_url":K.parse(`blue`),"progress.description":ka,"progress.percentage":K.parse(`cyan`),"progress.remaining":K.parse(`cyan`),"progress.elapsed":K.parse(`cyan`),"progress.spinner":K.parse(`green`),"progress.download":K.parse(`green`),"progress.filesize":K.parse(`green`),"progress.filesize.total":K.parse(`green`),"progress.data.speed":K.parse(`red`),"bar.back":K.parse(`grey23`),"bar.complete":K.parse(`magenta`),"bar.finished":K.parse(`green`),"bar.pulse":K.parse(`magenta`),tree:ka,"tree.guide":ka,"status.spinner":K.parse(`green`),"status.message":ka,prompt:K.parse(`bold`),"prompt.choices":K.parse(`magenta`),"prompt.default":K.parse(`cyan`),"inspect.attr":K.parse(`yellow italic`),"inspect.attr.dunder":K.parse(`yellow italic dim`),"inspect.callable":K.parse(`bold magenta`),"inspect.error":K.parse(`bold red`),"inspect.help":K.parse(`cyan`),"inspect.doc":K.parse(`dim`),"inspect.value.border":K.parse(`green`),"traceback.border":K.parse(`red`),"traceback.text":K.parse(`red`),"traceback.title":K.parse(`bold red`),"traceback.exc_type":K.parse(`bold bright_red`),"traceback.exc_value":ka,"traceback.offset":K.parse(`bold bright_red`),"scope.border":K.parse(`blue`),"scope.key":K.parse(`italic`),"scope.key.special":K.parse(`dim italic`),pretty:ka,"iso8601.date":K.parse(`cyan`),"iso8601.time":K.parse(`cyan`),"iso8601.timezone":K.parse(`bright_blue`)};Na=!0;var Fa;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Fa||={});var q=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:V(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=ei(this.text,t);return[new e(n,this.style),new e(r,this.style)]}static _line;static line(){return e._line??=new e(`
11
+ `}async function B(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...R],i=z();process.platform===`darwin`?In(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
12
+ `),Hn(i.binPath,r,t),process.stdout.write(Vn());let a=yn(gn,vn(un,await _n(gn,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function Hn(e,t,n,i){let a=i??Tn();r.mkdirSync(c.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,l=[e,Sn(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||l.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}o.statusLine={type:`command`,command:Cn(e,t)},r.writeFileSync(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function Un(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function Wn(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function Gn(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function Kn(e,t){let n=Wn(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function qn(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function Jn(e,t,n,r){let i=Yn(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function Yn(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function Xn(e){let t=!1;function n(){let n=Jn(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function Zn(e,t=Se){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function Qn(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function $n(e,t=Zn){let n=t(e);return n.kind===`start`?n.token:null}const er=`CC_CANDYBAR_PARENT_PID`;function tr(e){let t=e[er];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${er} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function nr(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function rr(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function ir(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function ar(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function or(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>c.join(e,t))}catch{return[]}}function sr(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function cr(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function lr(e){if(!e.isolated)return{decision:ar(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=ar(!0,cr(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=c.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function ur(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function dr(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Fe(),ceiling:ir(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>Qn(e,t,{readStartTime:Zn,pidAlive:rr}),listFiles:or,readEntry:sr,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?A:e=>{A(c.dirname(e)),A(e)},...t}}function fr({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const pr=fr();function mr(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(pr,``)}const hr=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],gr=[12288,12288,65281,65376,65504,65510],_r=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],vr=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],yr=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],br=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},xr=hr[0],Sr=hr.at(-1),Cr=gr[0],wr=gr.at(-1);_r[0],_r.at(-1),vr[0],vr.at(-1);const Tr=yr[0],Er=yr.at(-1),Dr=19968,[Or,kr]=Ar(yr);function Ar(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(Dr>=i&&Dr<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const jr=e=>e<xr||e>Sr?!1:br(hr,e),Mr=e=>e<Cr||e>wr?!1:br(gr,e),Nr=e=>e>=Or&&e<=kr?!0:e<Tr||e>Er?!1:br(yr,e);function Pr(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Fr(e,{ambiguousAsWide:t=!1}={}){return Pr(e),Mr(e)||Nr(e)||t&&jr(e)?2:1}const Ir=new Intl.Segmenter,Lr=RegExp(`^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$`,`v`),Rr=RegExp(`^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+`,`v`),zr=RegExp(`^\\p{RGI_Emoji}$`,`v`),Br=/^[\d#*]\u20E3$/,Vr=/\p{Extended_Pictographic}/gu;function Hr(e){if(e.length>50)return!1;if(Br.test(e))return!0;if(e.includes(`‍`)){let t=e.match(Vr);return t!==null&&t.length>=2}return!1}function Ur(e){return e.replace(Rr,``)}function Wr(e){return Lr.test(e)}function Gr(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function Kr(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function qr(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Jr(e){return Gr(e)||Kr(e)||qr(e)}function Yr(e,t){let n=[];for(let t of e)Lr.test(t)||n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Jr(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Fr(n[i],t);return r}if(Gr(i)&&Kr(n[e+1])){r+=2,e+=qr(n[e+2])?2:1;continue}r+=Fr(i,t)}return r}function Xr(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}i>=`＀`&&i<=`￯`&&(n+=Fr(i.codePointAt(0),t))}return n}function Zr(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=mr(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of Ir.segment(i)){if(Wr(e))continue;if(zr.test(e)||Hr(e)){a+=2;continue}let t=Ur(e),n=Yr(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Fr(r,o),a+=Xr(t,o)}return a}const Qr=new Map;function V(e){if(e.length===0)return 0;if(e.length<=64){let t=Qr.get(e);if(t!==void 0)return t}let t=Zr(e);return e.length<=64&&(Qr.size>=4096&&Qr.clear(),Qr.set(e,t)),t}function H(e){return e}function $r(e){return e}function ei(e,t){if(t===0)return``;let n=V(e);return n===t?e:n<t?e+` `.repeat(t-n):oi(e,t)}function ti(e,t){if(t<=0)return[``,e];if(t>=V(e))return[e,``];let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function ni(e,t){if(t<=0||e.length===0||V(e)<=t)return[e];let n=[],r=e;for(;r.length>0;){if(V(r)<=t){n.push(r);break}let[e,i]=ti(r,t);n.push(e),r=i}return n}function ri(e,t){let n=0,r=0;for(let i of e){if(n>=t)break;let e=V(i);if(n+e>t)break;n+=e,r+=i.length}return $r(r)}function ii(e,t){return t>=e.length?$r(e.length):$r(t+(e.codePointAt(t)>65535?2:1))}function ai(e,t){if(t<=0)return $r(0);let n=e.charCodeAt(t-1);if(n>=56320&&n<=57343&&t>=2){let n=e.charCodeAt(t-2);if(n>=55296&&n<=56319)return $r(t-2)}return $r(t-1)}function oi(e,t){let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=t-n;return a>0?i+` `.repeat(a):i}var si=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function ci(e){return e.toString(16).padStart(2,`0`)}function li(e,t){if(!Number.isInteger(t)||t<0||t>255)throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var U=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,li(`red`,e),li(`green`,t),li(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+ci(this.red)+ci(this.green)+ci(this.blue);return this.alpha===1?e:e+ci(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}},ui=class{colors;matchCache=new Map;constructor(e){this.colors=e}get(e){return this.colors[e]}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=n.red-e.red,o=n.green-e.green,s=n.blue-e.blue,c=a*a+o*o+s*s;c<i&&(i=c,r=t)}return this.matchCache.set(t,r),r}},W;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(W||={});const di={truecolor:W.TRUECOLOR,256:W.EIGHT_BIT,ansi:W.STANDARD,none:null,0:null,false:null,1:W.STANDARD,true:W.STANDARD,2:W.EIGHT_BIT,3:W.TRUECOLOR,"iTerm.app":W.TRUECOLOR,Apple_Terminal:W.EIGHT_BIT,vscode:W.TRUECOLOR,Tabby:W.TRUECOLOR,"xterm-kitty":W.TRUECOLOR,"xterm-ghostty":W.TRUECOLOR,wezterm:W.TRUECOLOR,alacritty:W.TRUECOLOR,foot:W.TRUECOLOR,contour:W.TRUECOLOR};function fi(e={}){let t=e.env??(typeof process<`u`?process.env:{}),n=e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1),r=t.NO_COLOR;if(r!==void 0&&r!==``)return null;let i=t.FORCE_COLOR;if(i!==void 0&&i!==``){let e=di[i];return e===void 0?W.STANDARD:e}if(!n)return null;let a=t.TERM??``;if(a===`dumb`||a===`unknown`)return null;let o=t.COLORTERM;if(o===`truecolor`||o===`24bit`)return W.TRUECOLOR;let s=di[a];if(s!==void 0)return s;let c=t.TERM_PROGRAM;if(c!==void 0){let e=di[c];if(e!==void 0)return e}return/-256(color)?$/i.test(a)?W.EIGHT_BIT:/-truecolor$/i.test(a)?W.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a),W.STANDARD)}function pi(e,t){if(e===`auto`)return fi(t);if(Object.hasOwn(di,e))return di[e];throw new mi(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var mi=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const hi=new Map;var G=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===W.DEFAULT}get isSystemDefined(){return this.type===W.STANDARD||this.type===W.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case W.DEFAULT:return[e?`39`:`49`];case W.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case W.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case W.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case W.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==W.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===W.DEFAULT||this.type<=e)return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case W.TRUECOLOR:return this.value;case W.EIGHT_BIT:return ki.get(this.number);case W.STANDARD:return(e??Ai).ansiColors.get(this.number);case W.DEFAULT:{let n=e??Ai;return t?n.foregroundColor:n.backgroundColor}case W.WINDOWS:return(e??Ai).ansiColors.get(this.number)}}static default(){return new e(`default`,W.DEFAULT)}static fromAnsi(t){let n=t<16?W.STANDARD:W.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,W.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new U(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=hi.get(t);if(n)return n;let r=bi(t);return hi.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case W.EIGHT_BIT:{let t=ki.match(n);return e.fromAnsi(t)}case W.STANDARD:{let t=Oi.match(n);return new e(`color(${t})`,W.STANDARD,t)}case W.WINDOWS:case W.TRUECOLOR:return this;case W.DEFAULT:return e.default()}}};const gi=/^#([0-9a-f]{6})$/,_i=/^#([0-9a-f]{8})$/,vi=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,yi=/^color\((\d{1,3})\)$/;function bi(e){if(e===`default`||e===``)return G.default();let t=ji[e];if(t!==void 0)return new G(e,t<16?W.STANDARD:W.EIGHT_BIT,t);let n=_i.exec(e);if(n)return new G(e,W.TRUECOLOR,void 0,Si(n[1]));let r=gi.exec(e);if(r)return new G(e,W.TRUECOLOR,void 0,xi(r[1]));let i=vi.exec(e);if(i){let t=parseInt(i[1],10),n=parseInt(i[2],10),r=parseInt(i[3],10);return new G(e,W.TRUECOLOR,void 0,new U(t,n,r))}let a=yi.exec(e);if(a){let t=parseInt(a[1],10);if(t>255)throw new mi(`ColorSpec number ${t} is out of range (0-255)`);return new G(e,t<16?W.STANDARD:W.EIGHT_BIT,t)}throw new mi(`Failed to parse color: "${e}"`)}function xi(e){return new U(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function Si(e){return new U(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function Ci(e,t,n=.5){return new U(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var wi=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function Ti(){return[new U(0,0,0),new U(128,0,0),new U(0,128,0),new U(128,128,0),new U(0,0,128),new U(128,0,128),new U(0,128,128),new U(192,192,192),new U(128,128,128),new U(255,0,0),new U(0,255,0),new U(255,255,0),new U(0,0,255),new U(255,0,255),new U(0,255,255),new U(255,255,255)]}function Ei(){let e=Ti(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new U(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new U(n,n,n))}return e}function Di(){return[new U(0,0,0),new U(0,0,128),new U(0,128,0),new U(0,128,128),new U(128,0,0),new U(128,0,128),new U(128,128,0),new U(192,192,192),new U(128,128,128),new U(0,0,255),new U(0,255,0),new U(0,255,255),new U(255,0,0),new U(255,0,255),new U(255,255,0),new U(255,255,255)]}const Oi=new ui(Ti()),ki=new ui(Ei());new ui(Di());const Ai=new wi(new U(0,0,0),new U(255,255,255),Oi,new si(`default`,!0,new Map)),ji={black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255};for(let[e,t]of Object.entries(ji))e.includes(`grey`)&&(ji[e.replace(`grey`,`gray`)]=t);const Mi=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function Ni(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Pi(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Fi(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Ii(e){return e<0?0:e>1?1:e}const Li=1e-4,Ri=1e-7;function zi(e,t,n){return e>=-Li&&e<=1+Li&&t>=-Li&&t<=1+Li&&n>=-Li&&n<=1+Li}var Bi=class e{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(t){let[n,r,i,a]=t.normalized,o=Pi(n),s=Pi(r),c=Pi(i),l=.4122214708*o+.5363325363*s+.0514459929*c,u=.2119034982*o+.6806995451*s+.1073969566*c,d=.0883024619*o+.2817188376*s+.6299787005*c,f=Math.cbrt(l),p=Math.cbrt(u),m=Math.cbrt(d),h=.2104542553*f+.793617785*p-.0040720468*m,g=1.9779984951*f-2.428592205*p+.4505937099*m,_=.0259040371*f+.7827717662*p-.808675766*m,v=Math.sqrt(g*g+_*_),y=180/Math.PI*Math.atan2(_,g);return y<0&&(y+=360),v<Ri&&(y=0),new e(h,v,y,a)}toRgba(){let e=Ii(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new U(Math.round(Ii(Fi(r))*255),Math.round(Ii(Fi(i))*255),Math.round(Ii(Fi(a))*255),this.alpha)}applyKey(t){if(Ni(t))return this;let n=Ii(this.l*t.lightnessScale+t.lightnessShift),r=Math.max(0,this.c*t.chromaScale),i=(this.h+t.hueShift)%360;return i<0&&(i+=360),r<Ri&&(i=0),new e(n,r,i,this.alpha)}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(zi(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);zi(r.r,r.g,r.b)?i=t:a=t}return i}},Vi=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const Hi=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function Ui(e){let t=e.trim();if(!Hi.test(t))throw new Vi(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?Si(n):xi(n)}function Wi(e,t){let n=t.trim();if(n.startsWith(`#`))return Ui(n);let r=e.get(n);if(r===void 0)throw new Vi(t,`no such variable in palette ${JSON.stringify(e.name)}`+Gi(e,n));return r}function Gi(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Ki(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function qi(e){let t=Math.round(e);return t<0?0:t>255?255:t}function Ji(e){let{h:t,s:n,l:r}=e;if(n===0){let e=qi(r*255);return new U(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new U(qi((s+u)*255),qi((c+u)*255),qi((l+u)*255))}function Yi(e){return e<0?0:e>1?1:e}function Xi(e,t){let n=Ki(e);return n.l=Yi(n.l-.1*t),Ji(n)}function Zi(e,t,n){return Ci(t,e,Yi(n))}function Qi(e){return $i(e)>.179?new U(0,0,0):new U(255,255,255)}function $i(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function ea(e,t){let n=$i(e),r=$i(t),i=n>r?n:r,a=n>r?r:n;return(i+.05)/(a+.05)}function ta(e,t,n=4.5){let r=e.compositeOver(t);if(ea(r,t)>=n)return r;let i=Bi.fromRgba(r),a=$i(t)>.179?0:1;if(ea(new Bi(a,i.c,i.h,i.alpha).toRgba(),t)<n)return Qi(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;ea(new Bi(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new Bi(s,i.c,i.h,i.alpha).toRgba()}const na=.7,ra=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function ia(e,t,n){let r=new Map;r.set(`background`,n.background),r.set(`foreground`,n.foreground);for(let e of ra)r.set(e,n[e]);r.set(`foreground-muted`,Ci(n.foreground,n.background,na)),r.set(`background-muted`,Ci(n.background,n.foreground,na)),r.set(`surface`,Ci(n.background,n.foreground,.05));let i=Qi(n.background);for(let e of ra){let t=n[e];r.set(`${e}-muted`,Ci(t,n.background,na)),r.set(`text-${e}`,Zi(t,i,.66)),r.set(`on-${e}`,Qi(t))}return new si(e,t,r)}const aa={"atom-one-dark":{name:`atom-one-dark`,dark:!0,vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},"atom-one-light":{name:`atom-one-light`,dark:!1,vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},"catppuccin-frappe":{name:`catppuccin-frappe`,dark:!0,vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},"catppuccin-latte":{name:`catppuccin-latte`,dark:!1,vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},"catppuccin-macchiato":{name:`catppuccin-macchiato`,dark:!0,vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},"catppuccin-mocha":{name:`catppuccin-mocha`,dark:!0,vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},cyberpunk:{name:`cyberpunk`,dark:!0,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},oa=Object.freeze(Object.keys(aa).sort()),sa=new Map;function ca(){return oa}function la(e){if(!ua(e))return null;let t=sa.get(e);if(t!==void 0)return t;let n=fa(aa[e]);return sa.set(e,n),n}function ua(e){return Object.hasOwn(aa,e)}function K(e){let t=aa[e];return{name:t.name,dark:t.dark,bg:da(t,`background`),fg:da(t,`foreground`),primary:da(t,`primary`),secondary:da(t,`secondary`),accent:da(t,`accent`),success:da(t,`success`),warning:da(t,`warning`),error:da(t,`error`)}}function da(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return ma(n,e.name,t)}function fa(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,ma(r,e.name,n));return new si(e.name,e.dark,t)}const pa=/^[0-9a-fA-F]+$/;function ma(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!pa.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?xi(r):Si(r)}function ha(e){return new wi(e.bg,e.fg,Oi,ia(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const ga=ha(K(`default`));ha(K(`svg-export`)),ha(K(`monokai`)),ha(K(`nord`)),ha(K(`gruvbox`)),ha(K(`dracula`)),ha(K(`tokyo-night`)),ha(K(`flexoki`)),ha(K(`cyberpunk`)),ha(K(`catppuccin-mocha`)),ha(K(`catppuccin-latte`)),ha(K(`catppuccin-frappe`)),ha(K(`catppuccin-macchiato`)),ha(K(`solarized-dark`)),ha(K(`solarized-light`)),ha(K(`rose-pine`)),ha(K(`rose-pine-moon`)),ha(K(`rose-pine-dawn`)),ha(K(`atom-one-dark`)),ha(K(`atom-one-light`)),ha(K(`textual-dark`)),ha(K(`textual-light`)),ha(K(`textual-ansi`));const _a=new Set([`error`,`success`,`warning`]);function va(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function ya(e){return _a.has(va(e))}function ba(e,t,n){if(Ni(t))return new si(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=ya(n)?r:t;i.set(n,Bi.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=Bi.fromRgba(a).l<.5;return new si(n??e.name,o,i)}const xa=/[\x1b\x07\x9c]/g;function Sa(e){return e.replace(xa,``)}const Ca=new U(0,0,0),wa=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Ta={bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],blink:[5,25],blink2:[6,25],reverse:[7,27],conceal:[8,28],strike:[9,29],underline2:[21,24],frame:[51,54],encircle:[52,54],overline:[53,55]},Ea={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Da=class extends Error{constructor(e){super(e),this.name=`StyleSyntaxError`}};const Oa=new Map;var q=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;constructor(e){if(!e){this.color=void 0,this.bgcolor=void 0,this.bold=void 0,this.dim=void 0,this.italic=void 0,this.underline=void 0,this.blink=void 0,this.blink2=void 0,this.reverse=void 0,this.conceal=void 0,this.strike=void 0,this.underline2=void 0,this.frame=void 0,this.encircle=void 0,this.overline=void 0,this.link=void 0,this.meta=void 0;return}this.color=Ma(e.color),this.bgcolor=Ma(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}get withoutColor(){return new e({bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:this.link,meta:this.meta})}withLink(t){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:t,meta:this.meta})}clearMetaAndLinks(){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline})}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link}toSgrCodes(e){if(this.isNull)return``;let t=[],n=Ca,r=this.bgcolor?.flattenAlpha(n),i=r?.getTruecolor(void 0,!1)??n,a=this.color?.flattenAlpha(i);if(a){let n=e===void 0?a:a.downgrade(e);t.push(...n.getAnsiCodes(!0))}if(r){let n=e===void 0?r:r.downgrade(e);t.push(...n.getAnsiCodes(!1))}for(let e of wa){let n=this[e];n===!0?t.push(`${Ta[e][0]}`):n===!1&&t.push(`${Ta[e][1]}`)}return t.join(`;`)}render(e,t){if(e.length===0)return``;if(this.isNull)return e;let n=this.toSgrCodes(t),r=n.length>0?`\x1b[${n}m${e}\x1b[0m`:e;return this.link&&(r=`\x1b]8;;${Sa(this.link)}\x1b\\${r}\x1b]8;;\x1b\\`),r}getHtmlStyle(e){if(this.isNull)return``;let t=[];if(this.color){let n=this.color.getTruecolor(e,!0);t.push(`color: ${n.hex}`)}if(this.bgcolor){let n=this.bgcolor.getTruecolor(e,!1);t.push(`background-color: ${n.hex}`)}this.bold&&t.push(`font-weight: bold`),this.italic&&t.push(`font-style: italic`);let n=[];return this.underline&&n.push(`underline`),this.strike&&n.push(`line-through`),this.overline&&n.push(`overline`),n.length>0&&t.push(`text-decoration: ${n.join(` `)}`),this.dim&&t.push(`opacity: 0.5`),t.join(`; `)}toString(){if(this.isNull)return`none`;let e=[];for(let t of wa)this[t]===!1&&e.push(`not ${t}`);for(let t of wa)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return ka}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=ka;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);if(n===``||n===`none`)return ka;let r=Oa.get(n);if(r)return r;if(Na&&n.includes(`.`)){let e=Pa[n];if(e!==void 0)return Oa.set(n,e),e}let i=ja(n);return Oa.set(n,i),i}};const ka=new q,Aa=new Set(wa);function ja(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Da(`Expected attribute after "not" in style definition`);let i=Ea[e]??e;if(!Aa.has(i))throw new Da(`Invalid attribute: "${e}"`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Da(`Expected color after "on" in style definition`);try{n.bgcolor=G.parse(e)}catch{throw new Da(`Invalid background color: "${e}"`)}r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Ea[e]??e;if(Aa.has(i)){n[i]=!0,r++;continue}try{n.color=G.parse(e)}catch{throw new Da(`Invalid style definition: "${e}"`)}r++}return new q(n)}function Ma(e){if(e!==void 0)return e instanceof G?e:G.parse(e)}let Na=!1;const Pa={none:ka,reset:new q({color:G.default(),bgcolor:G.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new q({bold:!0}),dim:new q({dim:!0}),italic:new q({italic:!0}),underline:new q({underline:!0}),blink:new q({blink:!0}),blink2:new q({blink2:!0}),reverse:new q({reverse:!0}),conceal:new q({conceal:!0}),strike:new q({strike:!0}),underline2:new q({underline2:!0}),frame:new q({frame:!0}),encircle:new q({encircle:!0}),overline:new q({overline:!0}),"table.header":new q({bold:!0}),"table.footer":new q({bold:!0}),"table.cell":ka,"table.title":new q({italic:!0}),"table.caption":new q({italic:!0,dim:!0}),"repr.str":q.parse(`green`),"repr.number":q.parse(`cyan`),"repr.bool":q.parse(`italic bright_magenta`),"repr.none":q.parse(`italic magenta`),"repr.url":q.parse(`not italic underline bright_blue`),"repr.uuid":q.parse(`bright_yellow`),"repr.error":q.parse(`bold red`),"repr.indent":q.parse(`dim green`),"repr.attrib_name":q.parse(`yellow`),"repr.attrib_value":q.parse(`magenta`),"repr.attrib_equal":q.parse(`bold`),"repr.tag_start":q.parse(`bold`),"repr.tag_name":q.parse(`bright_magenta`),"repr.tag_contents":q.parse(`default`),"repr.tag_end":q.parse(`bold`),"log.time":q.parse(`cyan dim`),"log.message":ka,"log.path":q.parse(`dim`),"log.line_no":q.parse(`cyan`),"log.level":ka,"rule.line":q.parse(`green`),"rule.text":q.parse(`bold`),"json.brace":q.parse(`bold`),"json.bool":q.parse(`italic bright_magenta`),"json.key":q.parse(`bold blue`),"json.null":q.parse(`italic magenta`),"json.number":q.parse(`cyan`),"json.str":q.parse(`green`),"markdown.h1":q.parse(`bold underline`),"markdown.h2":q.parse(`bold`),"markdown.h3":q.parse(`bold dim`),"markdown.h4":q.parse(`bold dim italic`),"markdown.code":q.parse(`cyan on grey11`),"markdown.hr":q.parse(`yellow`),"markdown.link":q.parse(`bright_blue`),"markdown.link_url":q.parse(`blue`),"progress.description":ka,"progress.percentage":q.parse(`cyan`),"progress.remaining":q.parse(`cyan`),"progress.elapsed":q.parse(`cyan`),"progress.spinner":q.parse(`green`),"progress.download":q.parse(`green`),"progress.filesize":q.parse(`green`),"progress.filesize.total":q.parse(`green`),"progress.data.speed":q.parse(`red`),"bar.back":q.parse(`grey23`),"bar.complete":q.parse(`magenta`),"bar.finished":q.parse(`green`),"bar.pulse":q.parse(`magenta`),tree:ka,"tree.guide":ka,"status.spinner":q.parse(`green`),"status.message":ka,prompt:q.parse(`bold`),"prompt.choices":q.parse(`magenta`),"prompt.default":q.parse(`cyan`),"inspect.attr":q.parse(`yellow italic`),"inspect.attr.dunder":q.parse(`yellow italic dim`),"inspect.callable":q.parse(`bold magenta`),"inspect.error":q.parse(`bold red`),"inspect.help":q.parse(`cyan`),"inspect.doc":q.parse(`dim`),"inspect.value.border":q.parse(`green`),"traceback.border":q.parse(`red`),"traceback.text":q.parse(`red`),"traceback.title":q.parse(`bold red`),"traceback.exc_type":q.parse(`bold bright_red`),"traceback.exc_value":ka,"traceback.offset":q.parse(`bold bright_red`),"scope.border":q.parse(`blue`),"scope.key":q.parse(`italic`),"scope.key.special":q.parse(`dim italic`),pretty:ka,"iso8601.date":q.parse(`cyan`),"iso8601.time":q.parse(`cyan`),"iso8601.timezone":q.parse(`bright_blue`)};Na=!0;var Fa;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Fa||={});var J=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:V(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=ti(this.text,t);return[new e(n,this.style),new e(r,this.style)]}static _line;static line(){return e._line??=new e(`
13
13
  `)}static*applyStyle(t,n,r){for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
14
14
  `)){r.push(i);continue}let a=t.split(`
15
- `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(H(s));o.push(t),s=0;break}}return o}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Ia(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)a.isControl?t.push(a):(t.push(a),i+=a.cellLength),r++,a=e[r];if(a&&!a.isControl&&i<o){let e=H(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static splitAndCropLines(t,n,r=!0,i=!1,a){let o=e.splitLines(t),s=[];for(let t of o){let o=e.adjustLineLength(t,n,a,r);s.push(o),i&&s[s.length-1].push(e.line())}return s}};function Ia(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var La=class e{topLeft;top;topDivider;topRight;headLeft;headVertical;headRight;midLeft;mid;midVertical;midRight;bottomLeft;bottom;bottomDivider;bottomRight;left;right;vertical;constructor(e){this.topLeft=e.topLeft,this.top=e.top,this.topDivider=e.topDivider,this.topRight=e.topRight,this.headLeft=e.headLeft,this.headVertical=e.headVertical,this.headRight=e.headRight,this.midLeft=e.midLeft,this.mid=e.mid,this.midVertical=e.midVertical,this.midRight=e.midRight,this.bottomLeft=e.bottomLeft,this.bottom=e.bottom,this.bottomDivider=e.bottomDivider,this.bottomRight=e.bottomRight,this.left=e.left,this.right=e.right,this.vertical=e.vertical}getTop(e,t,n=!0){let r=[];n&&r.push(new q(this.topLeft,t));for(let n=0;n<e.length;n++)n>0&&r.push(new q(this.topDivider,t)),r.push(new q(this.top.repeat(e[n]),t));return n&&r.push(new q(this.topRight,t)),r.push(q.line()),r}getRow(e,t,n,r=!0){let[i,a,o,s]=this.getRowChars(t),c=[];r&&c.push(new q(i,n));for(let t=0;t<e.length;t++)t>0&&c.push(new q(o,n)),c.push(new q(a.repeat(e[t]),n));return r&&c.push(new q(s,n)),c.push(q.line()),c}getBottom(e,t,n=!0){let r=[];n&&r.push(new q(this.bottomLeft,t));for(let n=0;n<e.length;n++)n>0&&r.push(new q(this.bottomDivider,t)),r.push(new q(this.bottom.repeat(e[n]),t));return n&&r.push(new q(this.bottomRight,t)),r.push(q.line()),r}substitute(e={}){return e.asciiOnly?Ra:e.safe?this.safeSubstitute():this}safeSubstitute(){let t={"╭":`┌`,"╮":`┐`,"╰":`└`,"╯":`┘`},n=e=>t[e]??e;return new e({topLeft:n(this.topLeft),top:n(this.top),topDivider:n(this.topDivider),topRight:n(this.topRight),headLeft:n(this.headLeft),headVertical:n(this.headVertical),headRight:n(this.headRight),midLeft:n(this.midLeft),mid:n(this.mid),midVertical:n(this.midVertical),midRight:n(this.midRight),bottomLeft:n(this.bottomLeft),bottom:n(this.bottom),bottomDivider:n(this.bottomDivider),bottomRight:n(this.bottomRight),left:n(this.left),right:n(this.right),vertical:n(this.vertical)})}getRowChars(e){switch(e){case`head`:return[this.headLeft,this.mid,this.headVertical,this.headRight];case`row`:return[this.midLeft,this.mid,this.midVertical,this.midRight];case`mid`:return[this.midLeft,this.mid,this.midVertical,this.midRight];case`foot`:return[this.midLeft,this.mid,this.midVertical,this.midRight]}}};const Ra=new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`|`,mid:`-`,midVertical:`+`,midRight:`|`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`});new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`+`,mid:`-`,midVertical:`+`,midRight:`+`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`}),new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`+`,mid:`=`,midVertical:`+`,midRight:`+`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`}),new La({topLeft:`┌`,top:`─`,topDivider:`┬`,topRight:`┐`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`├`,mid:`─`,midVertical:`┼`,midRight:`┤`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`┌`,top:`─`,topDivider:`┬`,topRight:`┐`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`╞`,mid:`═`,midVertical:`╪`,midRight:`╡`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:`─`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`━`,midVertical:`━`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`═`,midVertical:`═`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:`─`,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`━`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:`━`,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:`─`,topDivider:`─`,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:`─`,midRight:` `,bottomLeft:` `,bottom:`─`,bottomDivider:`─`,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:`╭`,top:`─`,topDivider:`┬`,topRight:`╮`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`├`,mid:`─`,midVertical:`┼`,midRight:`┤`,bottomLeft:`╰`,bottom:`─`,bottomDivider:`┴`,bottomRight:`╯`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`┏`,top:`━`,topDivider:`┳`,topRight:`┓`,headLeft:`┃`,headVertical:`┃`,headRight:`┃`,midLeft:`┣`,mid:`━`,midVertical:`╋`,midRight:`┫`,bottomLeft:`┗`,bottom:`━`,bottomDivider:`┻`,bottomRight:`┛`,left:`┃`,right:`┃`,vertical:`┃`}),new La({topLeft:`┏`,top:`━`,topDivider:`┯`,topRight:`┓`,headLeft:`┃`,headVertical:`│`,headRight:`┃`,midLeft:`┠`,mid:`─`,midVertical:`┼`,midRight:`┨`,bottomLeft:`┗`,bottom:`━`,bottomDivider:`┷`,bottomRight:`┛`,left:`┃`,right:`┃`,vertical:`│`}),new La({topLeft:`┏`,top:`━`,topDivider:`┳`,topRight:`┓`,headLeft:`┃`,headVertical:`┃`,headRight:`┃`,midLeft:`┡`,mid:`━`,midVertical:`╇`,midRight:`┩`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`╔`,top:`═`,topDivider:`╦`,topRight:`╗`,headLeft:`║`,headVertical:`║`,headRight:`║`,midLeft:`╠`,mid:`═`,midVertical:`╬`,midRight:`╣`,bottomLeft:`╚`,bottom:`═`,bottomDivider:`╩`,bottomRight:`╝`,left:`║`,right:`║`,vertical:`║`}),new La({topLeft:`╔`,top:`═`,topDivider:`╤`,topRight:`╗`,headLeft:`║`,headVertical:`│`,headRight:`║`,midLeft:`╟`,mid:`─`,midVertical:`┼`,midRight:`╢`,bottomLeft:`╚`,bottom:`═`,bottomDivider:`╧`,bottomRight:`╝`,left:`║`,right:`║`,vertical:`│`}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`|`,mid:`-`,midVertical:`|`,midRight:`|`,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:`|`,right:`|`,vertical:`|`});const za=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Ba(e){return e.replace(za,``)}function Va(e){let t=e.link;if(!t)return e;let n=Sa(t);return n===t?e:e.withLink(n)}function Ha(e){if(e===void 0)return ka;let t;if(typeof e==`string`)try{t=K.parse(e)}catch(e){if(e instanceof Da)return ka;throw e}else t=e;return Va(t)}var Ua=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},Wa=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Ba(e):``,this._spans=[],this._style=Ha(t?.style),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
16
- `,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Ba(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new Ua(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return V(this._text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=Va(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}edgeStyle(e){if(this._text.length===0)return this._style;let t=e===`left`?0:this._text.length-1,n=this._style;for(let e of this._spans)if(e.start<=t&&t<e.end){let t=typeof e.style==`string`?K.parse(e.style):e.style;n=n.add(t)}return n}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text;for(let n of t._spans)this._spans.push(n.move(e));return this}let r=Ba(t),i=this._text.length;if(this._text+=r,n!==void 0){let e=Ha(n);e.isNull||this._spans.push(new Ua(i,this._text.length,e))}return this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new Ua(t,n,e.style))}return l}stylize(e,t,n){let r=Ha(e);if(r.isNull)return this;let i=this._text.length,a=t===void 0?0:t<0?i+t:t,o=n===void 0?i:n<0?i+n:n;if(a>=o||a>=i||o<=0)return this;let s=Math.max(0,a),c=Math.min(i,o);return this._spans.push(new Ua(s,c,r)),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._spans.push(new Ua(i,i+n.length,t)),e=r+n.length}}r++;continue}let e=t===void 0?ka:Ha(t);e.isNull||this._spans.push(new Ua(o.index,o.index+o[0].length,e)),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=Ha(t);if(i.isNull)return 0;let a=0;for(let t of e){if(t.length===0)continue;let e=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),n=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,n),s;for(;(s=o.exec(this._text))!==null;)this._spans.push(new Ua(s.index,s.index+s[0].length,i)),a++}return a}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
17
- `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;let n=t?.overflow,r=t?.mode??`right`,i=t?.marker===void 0?n===`ellipsis`||n===void 0&&t?.mode!==void 0?`…`:``:t.marker,a=V(i);if(e<=0)return this.plain=``,this;let o=Math.max(0,e-a);if(r===`right`)return this._cropRightTo(o),i&&(this._text+=i),this;if(r===`left`)return this._cropLeftTo(o),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let s=Math.floor(o/2),c=o-s,l=this._cellPrefixCharLength(s),u=this._cellSuffixStartCharIndex(c),d=this._text.slice(0,l),f=this._text.slice(u),p=l,m=u,h=i.length-(m-p),g=[];for(let e of this._spans)e.end<=p?g.push(e):e.start>=m?g.push(e.move(h)):(e.start<p&&g.push(new Ua(e.start,p,e.style)),e.end>m&&g.push(new Ua(m+h,e.end+h,e.style)));return this._text=d+i+f,this._spans=g,this}_cropRightTo(e){let t=this._cellPrefixCharLength(e);this.plain=this._text.slice(0,t)}_cropLeftTo(e){let t=this._cellSuffixStartCharIndex(e),n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new Ua(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}_cellPrefixCharLength(e){let t=0,n=0;for(let r of this._text){let i=V(r);if(t+i>e)break;t+=i,n+=r.length}return n}_cellSuffixStartCharIndex(e){let t=[...this._text],n=0,r=0;for(let i=t.length-1;i>=0;i--){let a=V(t[i]);if(n+a>e)break;n+=a,r+=t[i].length}return this._text.length-r}align(e,t){let n=this.cellLength;if(n>=t)return this;let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t){let t=r.length;r.append(e.plain),e.style.isNull||r.stylize(e.style,t,r.length);for(let n of e.spans)r.stylize(n.style,t+n.start,t+n.end)}return r}*render(e){let t=this._expandTabs(this._text);if(t.length===0){this._end&&(yield new q(this._end));return}let n=this._buildSegments(t),r=q.splitLines(n),i=e.maxWidth,a=this._overflow??e.overflow??`fold`,o=this._justify??e.justify,s=this._noWrap||(e.noWrap??!1),c=t.endsWith(`
18
- `);for(let e=0;e<r.length;e+=1){let t=r[e],n=q.getLineLength(t),l=e<r.length-1||c;s||n<=i?(yield*this._justifyLine(t,i,o),l&&(yield q.line())):yield*this._overflowLine(t,n,i,a,l)}this._end&&this._end!==`
19
- `&&(yield new q(this._end))}measure(e){let t=this._expandTabs(this._text).split(`
20
- `),n=0,r=0;for(let e of t){let t=V(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,V(e)))}return{minimum:Math.min(r,e.maxWidth),maximum:Math.min(n,e.maxWidth)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e){if(e.length===0)return[];let t=new Set([0,e.length]);for(let n of this._spans){let r=Math.max(0,Math.min(n.start,e.length)),i=Math.max(0,Math.min(n.end,e.length));t.add(r),t.add(i)}let n=[...t].sort((e,t)=>e-t),r=[];for(let t=0;t<n.length-1;t++){let i=n[t],a=n[t+1],o=e.slice(i,a);if(o.length===0)continue;let s=this._style;for(let e of this._spans)if(e.start<=i&&e.end>=a){let t=Ha(e.style);s=s.add(t)}r.push(new q(o,s.isNull?void 0:s))}return r}*_justifyLine(e,t,n){let r=t-q.getLineLength(e);switch(n){case`center`:{let t=Math.floor(r/2);t>0&&(yield new q(` `.repeat(t))),yield*e;let n=r-t;n>0&&(yield new q(` `.repeat(n)));break}case`right`:r>0&&(yield new q(` `.repeat(r))),yield*e;break;case`full`:yield*e;break;default:yield*e;break}}*_overflowLine(e,t,n,r,i){switch(r){case`fold`:{let r=[];for(let e=n;e<t;e+=n)r.push(e);let a=q.divide(e,r);for(let e=0;e<a.length;e+=1)yield*a[e],(e<a.length-1||i)&&(yield q.line());break}case`crop`:yield*q.adjustLineLength(e,n,void 0,!1),i&&(yield q.line());break;case`ellipsis`:n>1&&(yield*q.adjustLineLength(e,n-1,void 0,!1),yield new q(`…`)),i&&(yield q.line());break}}},Ga=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}}}};const Ka={*render(e){}};var qa=class{_text;_style;constructor(e,t){this._text=e,this._style=t}*render(e){yield new q(this._text,this._style)}};function Ja(e){return new K({color:e.bgcolor})}function Ya(e){return e!==void 0&&!e.isDefault?e:void 0}var Xa=class{_glyph;constructor(e){this._glyph=e?.glyph??``}join(e,t){let n=Ya(e?.edgeStyle(`right`).bgcolor);if(n===void 0)return Ka;let r=Ya(t?.edgeStyle(`left`).bgcolor);return new qa(this._glyph,new K({color:n,bgcolor:r}))}},Za=class{_left;_right;_separator;constructor(e){this._left=e?.left??``,this._right=e?.right??``,this._separator=e?.separator??` `}*_emit(e,t,n){if(!(e===null&&t===null)){if(e===null){yield new q(this._left,Ja(t.edgeStyle(`left`)));return}if(t===null){yield new q(this._right,Ja(e.edgeStyle(`right`)));return}yield new q(this._right,Ja(e.edgeStyle(`right`))),this._separator.length>0&&(yield new q(this._separator)),yield new q(this._left,Ja(t.edgeStyle(`left`)))}}join(e,t){let n=this._emit.bind(this);return{*render(r){yield*n(e,t,r)}}}},Qa=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??K.parse(`dim`)}join(e,t){return e===null||t===null?Ka:new qa(this._separator,this._style)}};function $a(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull||t===null?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:n.toSgrCodes(t),link:n.link}}function eo(e,t){let n=[];for(let r of e){let e=$a(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(`\x1b]8;;${Sa(e)}\x1b\\`);for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function to(e,t){let n=t?.width??80,r=t?.colorSystem,i={};t?.env!==void 0&&(i.env=t.env),t?.isTTY!==void 0&&(i.isTTY=t.isTTY);let a=t?.noColor?null:r===void 0?W.TRUECOLOR:typeof r==`string`?fi(r,i):r,o={maxWidth:n,isTerminal:!1,encoding:`utf-8`,asciiOnly:!1};return eo(e.render(o),a)}var no=class extends Error{constructor(e){super(e),this.name=`MarkupError`}},ro=class{_handlers=new Map;register(e,t){if(io(e))throw new no(`Cannot register markup tag "${e}": name is reserved by a built-in style.`);this._handlers.set(e,t)}unregister(e){this._handlers.delete(e)}has(e){return this._handlers.has(e)}get(e){return this._handlers.get(e)}};function io(e){try{return K.parse(e),!0}catch(e){if(e instanceof Da)return!1;throw e}}new ro;var ao=class{call(e){let t=new Wa(e);return this.highlight(t),t}},oo=class extends ao{static highlights=[];static baseStyle=``;highlight(e){let t=this.constructor,n=t.baseStyle,r=n.endsWith(`.`);for(let i of t.highlights){let t=i instanceof RegExp?new RegExp(i.source,i.flags.includes(`g`)?i.flags:i.flags+`g`):new RegExp(i,`g`),a;for(;(a=t.exec(e.plain))!==null;){if(a[0].length===0){t.lastIndex++;continue}if(a.groups){let t=0;for(let[i,o]of Object.entries(a.groups))if(o!==void 0){let s=a[0].indexOf(o,t);if(s>=0){let c=a.index+s,l=r?`${n}${i}`:n||i;e.stylize(l,c,c+o.length),t=s+o.length}}}}}}},so=class extends oo{static baseStyle=`repr.`;static highlights=[/(?<url>https?:\/\/[^\s<>"']+)/g,/(?<uuid>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/gi,/(?<str>'[^']*'|"[^"]*")/g,/(?<bool>\btrue\b|\bfalse\b)/g,/(?<none>\bnull\b|\bundefined\b|\bNone\b)/g,/(?<number>(?<!\w)-?(?:0x[0-9a-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)(?!\w))/gi]};new class extends oo{static baseStyle=`json.`;static highlights=[/(?<key>"[^"]*")\s*:/g,/:\s*(?<str>"[^"]*")/g,/(?<bool>\btrue\b|\bfalse\b)/g,/(?<null>\bnull\b)/g,/(?<number>-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g,/(?<brace>[{}[\]])/g]},new so;function co(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const lo={segments:[],width:0},uo={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function fo(e,t){return uo[e](t)}function po(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var mo=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>co(t,e)),o=n=>i?co(i.join(null,t[n]),e):lo,s=n=>i?co(i.join(t[n],null),e):lo,c=(n,r)=>i?co(i.join(t[n],t[r]),e):lo,l=[],u=null,d=r>0?{segments:[new q(` `.repeat(r))],width:r}:lo;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=fo(p,i),o=po(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new q(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new q(` `.repeat(e)))}yield*t.blocks[e].segments}yield q.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=co(t[i],e).width,o=this.joiner?co(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?co(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=co(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=co(this.joiner.join(null,t[0]),e).width,r+=co(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};K.parse(`bold magenta`),K.parse(`italic bright_magenta`),K.parse(`green`),K.parse(`cyan`),K.parse(`dim italic`);const ho={kind:`flow`};function go(e){return`renderOverlay`in e&&typeof e.renderOverlay==`function`}var _o=fe((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:nn}function r(){ln||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===un}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){an(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){an(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return on.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(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 b(e,t,n){if(ne())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&T(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,re(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(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)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,T(e,t)}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(ne=function(){return!!e})()}function T(e,t){return(T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function re(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function E(e){var t=typeof Map==`function`?new Map:void 0;return(E=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T(n,e)})(e)}function D(e){return Object.assign((function(t,n){if(ae(n))return e.t(t,n);ie(t,n,e)}),e)}function ie(e,t,n){g(e,pn)||u(e,pn,ee({},e[pn])),function(e){return e.i===`override`}(n)||(e[pn][t]=n)}function ae(e){return typeof e==`object`&&typeof e.kind==`string`}function oe(e,t,n){t===void 0&&(t=P),n===void 0&&(n=P);var r=new L(e);return t!==P&&lt(r,t),n!==P&&j(r,n),r}function se(e,t,n){return vt(e)?e:Array.isArray(e)?wn.array(e,{name:n}):c(e)?wn.object(e,void 0,{name:n}):p(e)?wn.map(e,{name:n}):m(e)?wn.set(e,{name:n}):typeof e!=`function`||ot(e)||ht(e)?e:l(e)?nr(e):Xn(n,e)}function ce(e){return e}function le(e,t){return{i:e,u:t,o:ue,s:de,t:fe}}function ue(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:ot(n.value)?1:(an(r,t,pe(e,this,t,n,!1)),2)}function de(e,t,n,r){var i=pe(e,this,t,n);return e.l(t,i,r)}function fe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return je(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return ot(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(ot(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
22
- '`+s.i+`' can only be used on properties with a function value.`)}function pe(e,t,n,r,i){var a,o,s;i===void 0&&(i=B.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:je(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function me(e,t){return{i:e,u:t,o:O,s:he,t:ge}}function O(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!ht(e.h[t]))&&this.s(e,t,n,!1)===null?0:ht(n.value)?1:(an(r,t,k(e,0,0,n,!1,!1)),2)}function he(e,t,n,r){var i=k(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ge(e,t){var n,r=t.name,i=t.addInitializer;return ht(e)||(e=nr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function k(e,t,n,r,i,a){a===void 0&&(a=B.safeDescriptors);var o=r.value;return ht(o)||(o=nr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function _e(e,t){return{i:e,u:t,o:ve,s:ye,t:be}}function ve(e,t,n){return this.s(e,t,n,!1)===null?0:1}function ye(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function be(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Bt(this)[I],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Pn(i))})),function(){return this[I].O(r)}}function xe(e,t){return{i:e,u:t,o:Se,s:Ce,t:we}}function Se(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Ce(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??se,r)}function we(e,t){function n(e,t){var n=Bt(e)[I],i=new Mn(t,r.u?.enhancer??se,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[I].O(a)},set:function(e){return o.has(this)||n(this,e),this[I].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Te(e){return{i:`true`,u:e,o:Ee,s:De,t:Oe}}function Ee(e,t,n,r){var i,a,o;if(n.get)return Dn.o(e,t,n,r);if(n.set){var s=ot(n.set)?n.set:je(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!B.safeDescriptors||e.p,set:s})===null?0:2:(an(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?nr.bound:nr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Xn.bound:Xn).o(e,t,n,r);var c=!1===this.u?.deep?wn.ref:wn;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function De(e,t,n,r){var i;return n.get?Dn.s(e,t,n,r):n.set?e.l(t,{configurable:!B.safeDescriptors||e.p,set:je(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?wn.ref:wn).s(e,t,n,r))}function Oe(){t(`'`+this.i+`' cannot be used as a decorator`)}function ke(e){return e||vn}function A(e){return!0===e.deep?se:!1===e.deep?ce:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:se;var t,n,r}function Ae(e,t,n){return ae(t)?yn.t(e,t):o(t)?void ie(e,t,yn):vt(e)?e:c(e)?wn.object(e,t,n):Array.isArray(e)?wn.array(e,t):p(e)?wn.map(e,t):m(e)?wn.set(e,t):typeof e==`object`&&e?e:wn.box(e,t)}function je(e,t,n,r){function i(){return Me(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},An&&(jn.value=e,an(i,`name`,jn)),i}function Me(e,t,n,r,i){var a=Ne(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Pe(a)}}function Ne(e,t){var n=B.trackingDerivation,r=!t||!n;Ze();var i=B.allowStateChanges;r&&(Ue(),i=Ie(!0));var a={A:r,k:n,M:i,V:Ge(!0),R:!1,N:0,T:kn++,C:On};return On=a.T,a}function Pe(e){On!==e.T&&t(30),On=e.C,e._!==void 0&&(B.suppressReactionErrors=!0),Le(e.M),Ke(e.V),Qe(),e.A&&We(e.k),B.suppressReactionErrors=!1}function Fe(e,t){var n=Ie(e);try{return t()}finally{Le(n)}}function Ie(e){var t=B.allowStateChanges;return B.allowStateChanges=e,t}function Le(e){B.allowStateChanges=e}function Re(e){return e instanceof Ln}function ze(e){switch(e.I){case z.L:return!1;case z.P:case z.K:return!0;case z.B:for(var t=Ge(!0),n=Ue(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(In(o)){if(B.disableErrorBoundaries)o.get();else try{o.get()}catch{return We(n),Ke(t),!0}if(e.I===z.K)return We(n),Ke(t),!0}}return qe(e),We(n),Ke(t),!1}}function Be(e,t,n){var r=Ge(!0);qe(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++B.runId;var i,a=B.trackingDerivation;if(B.trackingDerivation=e,B.inBatch++,!0===B.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Ln(e)}return B.inBatch--,B.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=z.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Ye(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Je(l,e))}r!==z.L&&(e.I=r,e.H())}(e),Ke(r),i}function Ve(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Ye(t[n],e);e.I=z.P}function He(e){var t=Ue();try{return e()}finally{We(t)}}function Ue(){var e=B.trackingDerivation;return B.trackingDerivation=null,e}function We(e){B.trackingDerivation=e}function Ge(e){var t=B.allowStateReads;return B.allowStateReads=e,t}function Ke(e){B.allowStateReads=e}function qe(e){if(e.I!==z.L){e.I=z.L;for(var t=e.D,n=t.length;n--;)t[n].U=z.L}}function Je(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Ye(e,t){e.F.delete(t),e.F.size===0&&Xe(e)}function Xe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,B.pendingUnobservations.push(e))}function Ze(){B.inBatch++}function Qe(){if(--B.inBatch==0){tt();for(var e=B.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Pn&&n.X())}B.pendingUnobservations=[]}}function $e(e){var t=B.trackingDerivation;return t===null?(e.F.size===0&&B.inBatch>0&&Xe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&B.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function et(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(e){e.I===z.L&&e.H(),e.I=z.K})))}function tt(){B.inBatch>0||B.isRunningReactions||Un(nt)}function nt(){B.isRunningReactions=!0;for(var e=B.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}B.isRunningReactions=!1}function rt(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function it(e){return function(t,n){return a(t)?je(t.name||`<unnamed action>`,t,e):a(n)?je(t,n,e):ae(n)?(e?qn:Gn).t(t,n):o(n)?ie(t,n,e?qn:Gn):o(t)?D(le(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function at(e){return Me(0,!1,e,this,void 0)}function ot(e){return a(e)&&!0===e.isMobxAction}function st(e,t){function n(){e(i)}var r;t===void 0&&(t=cn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ct(t),s=!1;i=new Hn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Hn(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function ct(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Zn}function lt(e,t,n){return ut(`onBO`,e,t,n)}function j(e,t,n){return ut(`onBUO`,e,t,n)}function ut(e,t,n,r){var i=typeof r==`function`?Jt(t,n):Jt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function dt(e,t,n,r){var i=fn(t);return Zt((function(){var t=Bt(e,r)[I];dn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function ft(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(ft)),n}function pt(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(pt)),t}function mt(e){a(e.cancel)&&e.cancel()}function ht(e){return!0===e?.isMobXFlow}function gt(e,t){return t===void 0?In(e):!1===Ht(e)||!e[I].j.has(t)?!1:In(Jt(e,t))}function _t(e,t){return!!e&&(t===void 0?Ht(e)||!!e[I]||mn(e)||Wn(e)||In(e):!!Ht(e)&&e[I].j.has(t))}function vt(e){return _t(e)}function yt(e){return Ht(e)?e[I].nt():hr(e)||vr(e)?Array.from(e.keys()):Lt(e)?e.map((function(e,t){return t})):void t(5)}function bt(e,n){return Ht(e)?e[I].it(n):hr(e)||vr(e)?e.has(n):Lt(e)?n>=0&&n<e.length:void t(10)}function xt(e){if(Ht(e))return e[I].rt();t(38)}function St(e,t,n){return e.set(t,n),n}function Ct(e,t){t===void 0&&(t=void 0),Ze();try{return e.apply(t)}finally{Qe()}}function wt(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[I].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=je(`When-effect`,t),o=st((function(t){Fe(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Tt(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=wt(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function Et(e){return e[I]}function Dt(e){return e.et!==void 0&&e.et.length>0}function Ot(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function kt(e,n){var r=Ue();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{We(r)}}function At(e){return e.ut!==void 0&&e.ut.length>0}function jt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Mt(e,t){var n=Ue(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);We(n)}}function Nt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Zt((function(){var r=new sr(n,t,i,!1);d(r.j,I,r);var a=new Proxy(r.j,or);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function Pt(e,t){typeof Array.prototype[e]==`function`&&(cr[e]=t(e))}function Ft(e){return function(){var t=this[I];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function M(e){return function(t,n){var r=this,i=this[I];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function It(e){return function(){var t=this,n=this[I];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Lt(e){return s(e)&&dr(e[I])}function Rt(e){return e[Symbol.toStringTag]=`MapIterator`,en(e)}function zt(e){return e[Symbol.toStringTag]=`SetIterator`,en(e)}function Bt(e,t){if(g(e,I))return e;var n=t?.name??`ObservableObject`;return u(e,I,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??Te(e):void 0}(t))),e}function Vt(e){return yr[e]||(yr[e]={get:function(){return this[I].O(e)},set:function(t){return this[I].S(e,t)}})}function Ht(e){return!!s(e)&&xr(e[I])}function Ut(e,t,n){var r;(r=e.h[pn])==null||delete r[n]}function Wt(e){return{enumerable:!1,configurable:!0,get:function(){return this[I].ct(e)},set:function(t){this[I].ht(e,t)}}}function Gt(e){an(Er.prototype,``+e,Wt(e))}function Kt(e){if(e>wr){for(var t=wr;t<e+100;t++)Gt(t);wr=e}}function qt(e,t,n){return new Er(e,t,n)}function Jt(e,n){if(typeof e==`object`&&e){if(Lt(e))return n!==void 0&&t(23),e[I].st;if(vr(e))return e.st;if(hr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Xt(e)),r}if(Ht(e)){if(!n)return t(26);var i=e[I].j.get(n);return i||t(27,n,Xt(e)),i}if(mn(e)||In(e)||Wn(e))return e}else if(a(e)&&Wn(e[I]))return e[I];t(28)}function Yt(e,n){return e||t(29),n===void 0?mn(e)||In(e)||Wn(e)||hr(e)||vr(e)?e:e[I]?e[I]:void t(24,e):Yt(Jt(e,n))}function Xt(e,t){var n;if(t!==void 0)n=Jt(e,t);else{if(ot(e))return e.name;n=Ht(e)||hr(e)||vr(e)?Yt(e):Jt(e)}return n.tt}function Zt(e){var t=Ue(),n=Ie(!0);Ze();try{return e()}finally{Qe(),Le(n),We(t)}}function Qt(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=$t(t),n=$t(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function $t(e){return Lt(e)?e.slice():p(e)||hr(e)||m(e)||vr(e)?Array.from(e.entries()):e}function en(e){return e[Symbol.iterator]=tn,Object.assign(Object.create(Or),e)}function tn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var nn={},N=Object.assign,rn=Object.getOwnPropertyDescriptor,an=Object.defineProperty,on=Object.prototype,sn=[];Object.freeze(sn);var cn={};Object.freeze(cn);var ln=typeof Proxy<`u`,un=Object.toString(),P=function(){},F=Object.getOwnPropertySymbols!==void 0,dn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:F?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,fn=Object.getOwnPropertyDescriptors||function(e){var t={};return dn(e).forEach((function(n){t[n]=rn(e,n)})),t},pn=Symbol(`mobx-stored-annotations`),I=Symbol(`mobx administration`),L=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=z.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return $e(this)},t.reportChanged=function(){Ze(),et(this),Qe()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();L.pt=1,L.yt=2,L.wt=4;var mn=f(`Atom`,L),hn={identity:function(e,t){return e===t},structural:function(e,t){return Qt(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Qt(e,t,1)}},gn=D({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),_n=Te(),vn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(vn);var yn=xe(`observable`),bn=xe(`observable.ref`,{enhancer:ce}),R=xe(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Ht(e)||Lt(e)||hr(e)||vr(e)?e:Array.isArray(e)?wn.array(e,{name:n,deep:!1}):c(e)?wn.object(e,void 0,{name:n,deep:!1}):p(e)?wn.map(e,{name:n,deep:!1}):m(e)?wn.set(e,{name:n,deep:!1}):void 0}}),xn=xe(`observable.struct`,{enhancer:function(e,t){return Qt(e,t)?t:e}}),Sn=D(yn);N(Ae,Sn);var Cn,wn=N(Ae,{box:function(e,t){var n=ke(t);return new Mn(e,A(n),n.name,!0,n.equals)},array:function(e,t){var n=ke(t);return(!1===B.useProxies||!1===n.proxy?qt:Nt)(e,A(n),n.name)},map:function(e,t){var n=ke(t);return new mr(e,A(n),n.name)},set:function(e,t){var n=ke(t);return new _r(e,A(n),n.name)},object:function(e,t,n){return Zt((function(){return dt(!1===B.useProxies||!1===n?.proxy?Bt({},n):function(e,t){var n;return r(),(n=(e=Bt(e,t))[I]).v??(n.v=new Proxy(e,rr))}({},n),e,t)}))},ref:D(bn),shallow:D(R),deep:Sn,struct:D(xn)}),Tn=_e(`computed`),En=_e(`computed.struct`,{equals:hn.structural}),Dn=function(e,t){if(ae(t))return Tn.t(e,t);if(o(t))return ie(e,t,Tn);if(c(e))return D(_e(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Pn(n)};Object.assign(Dn,Tn),Dn.struct=D(En);var On=0,kn=1,An=(Cn=rn((function(){}),`name`)?.configurable)!=null&&Cn,jn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Mn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=hn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}w(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==B.UNCHANGED&&this.gt(e)},n.xt=function(e){if(Dt(this)){var t=kt(this,{object:this,type:ar,newValue:e});if(!t)return B.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?B.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),At(this)&&Mt(this,{type:ar,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return Ot(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:ar,newValue:this.Ot,oldValue:void 0}),jt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(L),Nn=f(`ObservableValue`,Mn),Pn=function(){function e(e){this.I=z.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=z.L,this.G=0,this.Ot=new Ln(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Fn.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=je(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?hn.structural:hn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===z.L&&(e.U=z.B,e.F.forEach((function(e){e.I===z.L&&(e.I=z.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),B.inBatch!==0||this.F.size!==0||this.Nt){if($e(this),ze(this)){var e=B.trackingContext;this.Nt&&!e&&(B.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(t){t.I===z.B?t.I=z.K:t.I===z.L&&(e.U=z.L)})))}(this),B.trackingContext=e}}else ze(this)&&(this.Tt(),Ze(),this.Ot=this.Ct(!1),Qe());var n=this.Ot;if(Re(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===z.P,n=this.Ct(!0),r=t||Re(e)||Re(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Ie(!1);if(e)t=Be(this,this.derivation,this.Et);else if(!0===B.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Ln(e)}return Le(n),this.isComputing=!1,t},n.X=function(){this.Nt||(Ve(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return st((function(){var a=n.get();if(!r||t){var o=Ue();e({observableKind:`computed`,debugObjectName:n.tt,type:ar,object:n,newValue:a,oldValue:i}),We(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Pn.It=1,Pn.Lt=2,Pn.pt=4,Pn.yt=8,Pn.wt=16;var z,Fn,In=f(`ComputedValue`,Pn);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(z||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Fn||={});var Ln=function(e){this.cause=void 0,this.cause=e},Rn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],zn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Bn=!0,Vn=!1,B=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Bn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new zn().version&&(Bn=!1),Bn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new zn):(setTimeout((function(){Vn||t(35)}),1),new zn)}(),Hn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=z.P,this.q=0,this.G=0,this.bt=0,this.Mt=Fn.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,B.pendingReactions.push(this),tt())},t.J=function(){if(!this.isDisposed){Ze(),this.isScheduled=!1;var e=B.trackingContext;if(B.trackingContext=this,ze(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}B.trackingContext=e,Qe()}},t.track=function(e){if(!this.isDisposed){Ze(),this.isRunning=!0;var t=B.trackingContext;B.trackingContext=this;var n=Be(this,e,void 0);B.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ve(this),Re(n)&&this.Dt(n.cause),Qe()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(B.disableErrorBoundaries)throw e;B.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),B.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Ze(),Ve(this),Qe()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[I]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Hn.Wt=1,Hn.qt=2,Hn.Gt=4,Hn.Ht=8,Hn.wt=16;var Un=function(e){return e()},Wn=f(`Reaction`,Hn),Gn=le(`action`),Kn=le(`action.bound`,{bound:!0}),qn=le(`autoAction`,{autoAction:!0}),Jn=le(`autoAction.bound`,{autoAction:!0,bound:!0}),Yn=it(!1);Object.assign(Yn,Gn);var Xn=it(!0);Object.assign(Xn,qn),Yn.bound=D(Kn),Xn.bound=D(Jn);var Zn=function(e){return e()},Qn=0,$n=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return w(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(E(Error)),er=me(`flow`),tr=me(`flow.bound`,{bound:!0}),nr=Object.assign((function(e,t){if(ae(t))return er.t(e,t);if(o(t))return ie(e,t,er);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++Qn,s=Yn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Yn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Yn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Yn(r+` - runid: `+o+` - cancel`,(function(){try{c&&mt(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(P,P),mt(n),e(new $n)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),er);nr.bound=D(tr);var rr={has:function(e,t){return Et(e).it(t)},get:function(e,t){return Et(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=Et(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=Et(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=Et(e).l(t,n))==null||r},ownKeys:function(e){return Et(e).rt()},preventExtensions:function(){t(13)}},ir=Symbol(`mobx-keys`),ar=`update`,or={get:function(e,t){var n=e[I];return t===I?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(cr,t)?cr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[I];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},sr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new L(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return Ot(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),jt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Kt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=sn),Dt(this)){var a=kt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return sn;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=At(this),a=i||r?{observableKind:`array`,object:this.v,type:ar,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Mt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=At(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Mt(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(Dt(this)){var a=kt(this,{type:ar,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),cr={clear:function(){return this.splice(0)},replace:function(e){var t=this[I];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[I];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[I].ot(e,t,n)},push:function(){for(var e=this[I],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[I].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[I],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return B.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){B.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[I],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};Pt(`at`,Ft),Pt(`concat`,Ft),Pt(`flat`,Ft),Pt(`includes`,Ft),Pt(`indexOf`,Ft),Pt(`join`,Ft),Pt(`lastIndexOf`,Ft),Pt(`slice`,Ft),Pt(`toString`,Ft),Pt(`toLocaleString`,Ft),Pt(`toSorted`,Ft),Pt(`toSpliced`,Ft),Pt(`with`,Ft),Pt(`every`,M),Pt(`filter`,M),Pt(`find`,M),Pt(`findIndex`,M),Pt(`findLast`,M),Pt(`findLastIndex`,M),Pt(`flatMap`,M),Pt(`forEach`,M),Pt(`map`,M),Pt(`some`,M),Pt(`toReversed`,M),Pt(`reduce`,It),Pt(`reduceRight`,It);var lr,ur,dr=f(`ObservableArrayAdministration`,sr),fr={},pr=`add`,mr=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[I]=fr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),Zt((function(){i.lt=oe(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!B.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Mn(this.it(e),ce,`ObservableMap.key?`,!1);this.dt.set(e,r),j(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(Dt(this)){var r=kt(this,{type:n?ar:pr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(Dt(this)&&!kt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=At(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Ct((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==B.UNCHANGED){var r=At(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:ar,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Mt(this,i)}},n.en=function(e,t){var n=this;Ct((function(){var r,i=new Mn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=At(this);r&&Mt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:pr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return hr(e)&&(e=new Map(e)),Ct((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!F)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return on.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Ct((function(){He((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Ct((function(){for(var r,i=function(e){if(p(e)||hr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),hr=f(`ObservableMap`,mr),gr={},_r=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[I]=gr,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},Zt((function(){i.st=oe(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Ct((function(){He((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(Dt(this)){var n=kt(this,{type:pr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Ct((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=At(this);r&&Mt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:pr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(Dt(this)&&!kt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=At(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Ct((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return zt({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return zt({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!vr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!vr(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!vr(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!vr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return vr(e)&&(e=new Set(e)),Ct((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),vr=f(`ObservableSet`,_r),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=_n),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new L(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Pn)return n.set(t),!0;if(Dt(this)){var r=kt(this,{type:ar,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==B.UNCHANGED){var i=At(this),a=i?{type:ar,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Mt(this,a)}return!0},n.ct=function(e){return B.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!B.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Mn(e in this.h,ce,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[pn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==on;){var a=rn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Ut(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&Ut(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Dt(this)){var i=kt(this,{object:this.v||this.h,name:e,type:pr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else an(this.h,e,t);this.fn(e,t.value)}finally{Qe()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{Ze();var i=this.Ut(e);if(!i)return i;if(Dt(this)){var a=kt(this,{object:this.v||this.h,name:e,type:pr,newValue:t});if(!a)return null;t=a.newValue}var o=Vt(e),s={configurable:!B.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else an(this.h,e,s);var c=new Mn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{Qe()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Dt(this)&&!kt(this,{object:this.v||this.h,name:e,type:pr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Vt(e),a={configurable:!B.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else an(this.h,e,a);this.j.set(e,new Pn(t)),this.fn(e,void 0)}finally{Qe()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(Dt(this)&&!kt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;Ze();var r=At(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=rn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Mn&&(a=i.Ot),et(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Mt(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{Qe()}return!0},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},n.fn=function(e,t){var n,r=At(this);r&&r&&Mt(this,r?{type:pr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),dn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=Wt(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};lr=Tr,ur=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(lr.prototype,ur):lr.prototype.__proto__===void 0?lr.prototype=ur:lr.prototype.__proto__=ur;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,Zt((function(){var e=new sr(r,n,i,!0);e.v=a,d(a,I,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}w(t,e);var n=t.prototype;return n.concat=function(){this[I].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Lt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return en({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[I].Ft()},set:function(e){this[I].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(cr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Kt(1e3);var Dr=on.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:rt,extras:{getDebugName:Xt},$mobx:I}),e.$mobx=I,e.FlowCancellationError=$n,e.ObservableMap=mr,e.ObservableSet=_r,e.Reaction=Hn,e._allowStateChanges=Fe,e._allowStateChangesInsideComputed=at,e._allowStateReadsEnd=Ke,e._allowStateReadsStart=Ge,e._autoAction=Xn,e._endAction=Pe,e._getAdministration=Yt,e._getGlobalState=function(){return B},e._interceptReads=function(e,t,n){var r;return hr(e)||Lt(e)||Nn(e)?r=Yt(e):Ht(e)&&(r=Yt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return B.trackingDerivation!==null},e._resetGlobalState=function(){var e=new zn;for(var t in e)Rn.indexOf(t)===-1&&(B[t]=e[t]);B.allowStateChanges=!B.enforceActions},e._startAction=Ne,e.action=Yn,e.autorun=st,e.comparer=hn,e.computed=Dn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((B.pendingReactions.length||B.inBatch||B.isRunningReactions)&&t(36),Vn=!0,Bn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),B=new zn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(B.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(B.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;B.enforceActions=s,B.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(B[t]=!!e[t])})),B.allowStateReads=!B.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Un,Un=function(e){return r((function(){return i(e)}))})},e.createAtom=oe,e.defineProperty=function(e,n,r){if(Ht(e))return e[I].l(n,r);t(39)},e.entries=function(e){return Ht(e)?yt(e).map((function(t){return[t,e[t]]})):hr(e)?yt(e).map((function(t){return[t,e.get(t)]})):vr(e)?Array.from(e.entries()):Lt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=dt,e.flow=nr,e.flowResult=function(e){return e},e.get=function(e,n){if(bt(e,n))return Ht(e)?e[I].ct(n):hr(e)?e.get(n):Lt(e)?e[n]:void t(11)},e.getAtom=Jt,e.getDebugName=Xt,e.getDependencyTree=function(e,t){return ft(Jt(e,t))},e.getObserverTree=function(e,t){return pt(Jt(e,t))},e.has=bt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Yt(e,t).St(n)}(e,t,n):function(e,t){return Yt(e).St(t)}(e,t)},e.isAction=ot,e.isBoxedObservable=Nn,e.isComputed=function(e){return gt(e)},e.isComputedProp=function(e,t){return gt(e,t)},e.isFlow=ht,e.isFlowCancellationError=function(e){return e instanceof $n},e.isObservable=vt,e.isObservableArray=Lt,e.isObservableMap=hr,e.isObservableObject=Ht,e.isObservableProp=function(e,t){return _t(e,t)},e.isObservableSet=vr,e.keys=yt,e.makeAutoObservable=function(e,t,n){return c(e)?dt(e,e,t,n):(Zt((function(){var r=Bt(e,n)[I];if(!e[ir]){var i=Object.getPrototypeOf(e),a=new Set([].concat(dn(e),dn(i)));a.delete(`constructor`),a.delete(I),u(i,ir,a)}e[ir].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return Zt((function(){var r=Bt(e,n)[I];t??=function(e){return g(e,pn)||u(e,pn,ee({},e[pn])),e[pn]}(e),dn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=wn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Yt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Yt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=lt,e.onBecomeUnobserved=j,e.onReactionError=function(e){return B.globalReactionErrorHandlers.push(e),function(){var t=B.globalReactionErrorHandlers.indexOf(e);t>=0&&B.globalReactionErrorHandlers.splice(t,1)}},e.override=gn,e.ownKeys=xt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Fe(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=cn);var a,o,s,c=n.name??`Reaction`,l=Yn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=ct(n),f=!0,p=!1,m=n.compareStructural?hn.structural:n.equals||hn.default,h=new Hn(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Ht(e)?e[I].Ut(n):hr(e)||vr(e)?e.delete(n):Lt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=at,e.set=function e(n,r,i){if(arguments.length!==2||vr(n))Ht(n)?n[I].ht(r,i):hr(n)?n.set(r,i):vr(n)?n.add(r):Lt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),Ze(),r>=n.length&&(n.length=r+1),n[r]=i,Qe()):t(8);else{Ze();var a=r;try{for(var o in a)e(n,o,a[o])}finally{Qe()}}},e.spy=rt,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!vt(t))return t;if(Nn(t)||In(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Lt(t)){var r=St(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(vr(t)){var i=St(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(hr(t)){var a=St(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=St(n,t,{});return xt(t).forEach((function(r){on.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Ct,e.untracked=He,e.values=function(e){return Ht(e)?yt(e).map((function(t){return e[t]})):hr(e)?yt(e).map((function(t){return e.get(t)})):vr(e)?Array.from(e.values()):Lt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Tt(e,t):wt(e,t,n||{})}})),vo=fe((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){R.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++R.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function w(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function ne(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function T(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var re=Object.getOwnPropertySymbols!==void 0;function E(e){var t=Object.keys(e);if(!re)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var D=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:re?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ie(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function ae(e){return e===null?null:typeof e==`object`?``+e:e}function oe(e,t){return c.hasOwnProperty.call(e,t)}var se=Object.getOwnPropertyDescriptors||function(e){var t={};return D(e).forEach(function(n){t[n]=o(e,n)}),t};function ce(e,t){return!!(e&t)}function le(e,t,n){return n?e|=t:e&=~t,e}function ue(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 de(e,t,n){if(_e())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ve(i,n.prototype),i}function fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,be(r.key),r)}}function pe(e,t,n){return t&&fe(e.prototype,t),n&&fe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function me(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=xe(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
15
+ `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(H(s));o.push(t),s=0;break}}return o}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Ia(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)a.isControl?t.push(a):(t.push(a),i+=a.cellLength),r++,a=e[r];if(a&&!a.isControl&&i<o){let e=H(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static splitAndCropLines(t,n,r=!0,i=!1,a){let o=e.splitLines(t),s=[];for(let t of o){let o=e.adjustLineLength(t,n,a,r);s.push(o),i&&s[s.length-1].push(e.line())}return s}};function Ia(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var La=class e{topLeft;top;topDivider;topRight;headLeft;headVertical;headRight;midLeft;mid;midVertical;midRight;bottomLeft;bottom;bottomDivider;bottomRight;left;right;vertical;constructor(e){this.topLeft=e.topLeft,this.top=e.top,this.topDivider=e.topDivider,this.topRight=e.topRight,this.headLeft=e.headLeft,this.headVertical=e.headVertical,this.headRight=e.headRight,this.midLeft=e.midLeft,this.mid=e.mid,this.midVertical=e.midVertical,this.midRight=e.midRight,this.bottomLeft=e.bottomLeft,this.bottom=e.bottom,this.bottomDivider=e.bottomDivider,this.bottomRight=e.bottomRight,this.left=e.left,this.right=e.right,this.vertical=e.vertical}getTop(e,t,n=!0){let r=[];n&&r.push(new J(this.topLeft,t));for(let n=0;n<e.length;n++)n>0&&r.push(new J(this.topDivider,t)),r.push(new J(this.top.repeat(e[n]),t));return n&&r.push(new J(this.topRight,t)),r.push(J.line()),r}getRow(e,t,n,r=!0){let[i,a,o,s]=this.getRowChars(t),c=[];r&&c.push(new J(i,n));for(let t=0;t<e.length;t++)t>0&&c.push(new J(o,n)),c.push(new J(a.repeat(e[t]),n));return r&&c.push(new J(s,n)),c.push(J.line()),c}getBottom(e,t,n=!0){let r=[];n&&r.push(new J(this.bottomLeft,t));for(let n=0;n<e.length;n++)n>0&&r.push(new J(this.bottomDivider,t)),r.push(new J(this.bottom.repeat(e[n]),t));return n&&r.push(new J(this.bottomRight,t)),r.push(J.line()),r}substitute(e={}){return e.asciiOnly?Ra:e.safe?this.safeSubstitute():this}safeSubstitute(){let t={"╭":`┌`,"╮":`┐`,"╰":`└`,"╯":`┘`},n=e=>t[e]??e;return new e({topLeft:n(this.topLeft),top:n(this.top),topDivider:n(this.topDivider),topRight:n(this.topRight),headLeft:n(this.headLeft),headVertical:n(this.headVertical),headRight:n(this.headRight),midLeft:n(this.midLeft),mid:n(this.mid),midVertical:n(this.midVertical),midRight:n(this.midRight),bottomLeft:n(this.bottomLeft),bottom:n(this.bottom),bottomDivider:n(this.bottomDivider),bottomRight:n(this.bottomRight),left:n(this.left),right:n(this.right),vertical:n(this.vertical)})}getRowChars(e){switch(e){case`head`:return[this.headLeft,this.mid,this.headVertical,this.headRight];case`row`:return[this.midLeft,this.mid,this.midVertical,this.midRight];case`mid`:return[this.midLeft,this.mid,this.midVertical,this.midRight];case`foot`:return[this.midLeft,this.mid,this.midVertical,this.midRight]}}};const Ra=new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`|`,mid:`-`,midVertical:`+`,midRight:`|`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`});new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`+`,mid:`-`,midVertical:`+`,midRight:`+`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`}),new La({topLeft:`+`,top:`-`,topDivider:`+`,topRight:`+`,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`+`,mid:`=`,midVertical:`+`,midRight:`+`,bottomLeft:`+`,bottom:`-`,bottomDivider:`+`,bottomRight:`+`,left:`|`,right:`|`,vertical:`|`}),new La({topLeft:`┌`,top:`─`,topDivider:`┬`,topRight:`┐`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`├`,mid:`─`,midVertical:`┼`,midRight:`┤`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`┌`,top:`─`,topDivider:`┬`,topRight:`┐`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`╞`,mid:`═`,midVertical:`╪`,midRight:`╡`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:`─`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`━`,midVertical:`━`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`═`,midVertical:`═`,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:`─`,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`━`,midVertical:` `,midRight:` `,bottomLeft:` `,bottom:`━`,bottomDivider:` `,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:` `,top:`─`,topDivider:`─`,topRight:` `,headLeft:` `,headVertical:` `,headRight:` `,midLeft:` `,mid:`─`,midVertical:`─`,midRight:` `,bottomLeft:` `,bottom:`─`,bottomDivider:`─`,bottomRight:` `,left:` `,right:` `,vertical:` `}),new La({topLeft:`╭`,top:`─`,topDivider:`┬`,topRight:`╮`,headLeft:`│`,headVertical:`│`,headRight:`│`,midLeft:`├`,mid:`─`,midVertical:`┼`,midRight:`┤`,bottomLeft:`╰`,bottom:`─`,bottomDivider:`┴`,bottomRight:`╯`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`┏`,top:`━`,topDivider:`┳`,topRight:`┓`,headLeft:`┃`,headVertical:`┃`,headRight:`┃`,midLeft:`┣`,mid:`━`,midVertical:`╋`,midRight:`┫`,bottomLeft:`┗`,bottom:`━`,bottomDivider:`┻`,bottomRight:`┛`,left:`┃`,right:`┃`,vertical:`┃`}),new La({topLeft:`┏`,top:`━`,topDivider:`┯`,topRight:`┓`,headLeft:`┃`,headVertical:`│`,headRight:`┃`,midLeft:`┠`,mid:`─`,midVertical:`┼`,midRight:`┨`,bottomLeft:`┗`,bottom:`━`,bottomDivider:`┷`,bottomRight:`┛`,left:`┃`,right:`┃`,vertical:`│`}),new La({topLeft:`┏`,top:`━`,topDivider:`┳`,topRight:`┓`,headLeft:`┃`,headVertical:`┃`,headRight:`┃`,midLeft:`┡`,mid:`━`,midVertical:`╇`,midRight:`┩`,bottomLeft:`└`,bottom:`─`,bottomDivider:`┴`,bottomRight:`┘`,left:`│`,right:`│`,vertical:`│`}),new La({topLeft:`╔`,top:`═`,topDivider:`╦`,topRight:`╗`,headLeft:`║`,headVertical:`║`,headRight:`║`,midLeft:`╠`,mid:`═`,midVertical:`╬`,midRight:`╣`,bottomLeft:`╚`,bottom:`═`,bottomDivider:`╩`,bottomRight:`╝`,left:`║`,right:`║`,vertical:`║`}),new La({topLeft:`╔`,top:`═`,topDivider:`╤`,topRight:`╗`,headLeft:`║`,headVertical:`│`,headRight:`║`,midLeft:`╟`,mid:`─`,midVertical:`┼`,midRight:`╢`,bottomLeft:`╚`,bottom:`═`,bottomDivider:`╧`,bottomRight:`╝`,left:`║`,right:`║`,vertical:`│`}),new La({topLeft:` `,top:` `,topDivider:` `,topRight:` `,headLeft:`|`,headVertical:`|`,headRight:`|`,midLeft:`|`,mid:`-`,midVertical:`|`,midRight:`|`,bottomLeft:` `,bottom:` `,bottomDivider:` `,bottomRight:` `,left:`|`,right:`|`,vertical:`|`});const za=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Ba(e){return e.replace(za,``)}function Va(e){let t=e.link;if(!t)return e;let n=Sa(t);return n===t?e:e.withLink(n)}function Ha(e){if(e===void 0)return ka;let t;if(typeof e==`string`)try{t=q.parse(e)}catch(e){if(e instanceof Da)return ka;throw e}else t=e;return Va(t)}var Ua=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},Wa=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Ba(e):``,this._spans=[],this._style=Ha(t?.style),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
16
+ `,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Ba(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new Ua(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return V(this._text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=Va(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}edgeStyle(e){if(this._text.length===0)return this._style;let t=e===`left`?0:this._text.length-1,n=this._style;for(let e of this._spans)if(e.start<=t&&t<e.end){let t=typeof e.style==`string`?q.parse(e.style):e.style;n=n.add(t)}return n}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text;for(let n of t._spans)this._spans.push(n.move(e));return this}let r=Ba(t),i=this._text.length;if(this._text+=r,n!==void 0){let e=Ha(n);e.isNull||this._spans.push(new Ua(i,this._text.length,e))}return this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new Ua(t,n,e.style))}return l}stylize(e,t,n){let r=Ha(e);if(r.isNull)return this;let i=this._text.length,a=t===void 0?0:t<0?i+t:t,o=n===void 0?i:n<0?i+n:n;if(a>=o||a>=i||o<=0)return this;let s=Math.max(0,a),c=Math.min(i,o);return this._spans.push(new Ua(s,c,r)),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._spans.push(new Ua(i,i+n.length,t)),e=r+n.length}}r++;continue}let e=t===void 0?ka:Ha(t);e.isNull||this._spans.push(new Ua(o.index,o.index+o[0].length,e)),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=Ha(t);if(i.isNull)return 0;let a=0;for(let t of e){if(t.length===0)continue;let e=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),n=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,n),s;for(;(s=o.exec(this._text))!==null;)this._spans.push(new Ua(s.index,s.index+s[0].length,i)),a++}return a}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
17
+ `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;let n=t?.overflow,r=t?.mode??`right`,i=t?.marker===void 0?n===`ellipsis`||n===void 0&&t?.mode!==void 0?`…`:``:t.marker,a=V(i);if(e<=0)return this.plain=``,this;let o=Math.max(0,e-a);if(r===`right`)return this._cropRightTo(o),i&&(this._text+=i),this;if(r===`left`)return this._cropLeftTo(o),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let s=Math.floor(o/2),c=o-s,l=this._cellPrefixCharLength(s),u=this._cellSuffixStartCharIndex(c),d=this._text.slice(0,l),f=this._text.slice(u),p=l,m=u,h=i.length-(m-p),g=[];for(let e of this._spans)e.end<=p?g.push(e):e.start>=m?g.push(e.move(h)):(e.start<p&&g.push(new Ua(e.start,p,e.style)),e.end>m&&g.push(new Ua(m+h,e.end+h,e.style)));return this._text=d+i+f,this._spans=g,this}_cropRightTo(e){let t=this._cellPrefixCharLength(e);this.plain=this._text.slice(0,t)}_cropLeftTo(e){let t=this._cellSuffixStartCharIndex(e),n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new Ua(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}_cellPrefixCharLength(e){let t=0,n=0;for(let r of this._text){let i=V(r);if(t+i>e)break;t+=i,n+=r.length}return n}_cellSuffixStartCharIndex(e){let t=[...this._text],n=0,r=0;for(let i=t.length-1;i>=0;i--){let a=V(t[i]);if(n+a>e)break;n+=a,r+=t[i].length}return this._text.length-r}align(e,t){let n=this.cellLength;if(n>=t)return this;let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t){let t=r.length;r.append(e.plain),e.style.isNull||r.stylize(e.style,t,r.length);for(let n of e.spans)r.stylize(n.style,t+n.start,t+n.end)}return r}*render(e){let t=this._expandTabs(this._text);if(t.length===0){this._end&&(yield new J(this._end));return}let n=this._buildSegments(t),r=J.splitLines(n),i=e.maxWidth,a=this._overflow??e.overflow??`fold`,o=this._justify??e.justify,s=this._noWrap||(e.noWrap??!1),c=t.endsWith(`
18
+ `);for(let e=0;e<r.length;e+=1){let t=r[e],n=J.getLineLength(t),l=e<r.length-1||c;s||n<=i?(yield*this._justifyLine(t,i,o),l&&(yield J.line())):yield*this._overflowLine(t,n,i,a,l)}this._end&&this._end!==`
19
+ `&&(yield new J(this._end))}measure(e){let t=this._expandTabs(this._text).split(`
20
+ `),n=0,r=0;for(let e of t){let t=V(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,V(e)))}return{minimum:Math.min(r,e.maxWidth),maximum:Math.min(n,e.maxWidth)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e){if(e.length===0)return[];let t=new Set([0,e.length]);for(let n of this._spans){let r=Math.max(0,Math.min(n.start,e.length)),i=Math.max(0,Math.min(n.end,e.length));t.add(r),t.add(i)}let n=[...t].sort((e,t)=>e-t),r=[];for(let t=0;t<n.length-1;t++){let i=n[t],a=n[t+1],o=e.slice(i,a);if(o.length===0)continue;let s=this._style;for(let e of this._spans)if(e.start<=i&&e.end>=a){let t=Ha(e.style);s=s.add(t)}r.push(new J(o,s.isNull?void 0:s))}return r}*_justifyLine(e,t,n){let r=t-J.getLineLength(e);switch(n){case`center`:{let t=Math.floor(r/2);t>0&&(yield new J(` `.repeat(t))),yield*e;let n=r-t;n>0&&(yield new J(` `.repeat(n)));break}case`right`:r>0&&(yield new J(` `.repeat(r))),yield*e;break;case`full`:yield*e;break;default:yield*e;break}}*_overflowLine(e,t,n,r,i){switch(r){case`fold`:{let r=[];for(let e=n;e<t;e+=n)r.push(e);let a=J.divide(e,r);for(let e=0;e<a.length;e+=1)yield*a[e],(e<a.length-1||i)&&(yield J.line());break}case`crop`:yield*J.adjustLineLength(e,n,void 0,!1),i&&(yield J.line());break;case`ellipsis`:n>1&&(yield*J.adjustLineLength(e,n-1,void 0,!1),yield new J(`…`)),i&&(yield J.line());break}}},Ga=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}}}};const Ka={*render(e){}};var qa=class{_text;_style;constructor(e,t){this._text=e,this._style=t}*render(e){yield new J(this._text,this._style)}};function Ja(e){return new q({color:e.bgcolor})}function Ya(e){return e!==void 0&&!e.isDefault?e:void 0}var Xa=class{_glyph;constructor(e){this._glyph=e?.glyph??``}join(e,t){let n=Ya(e?.edgeStyle(`right`).bgcolor);if(n===void 0)return Ka;let r=Ya(t?.edgeStyle(`left`).bgcolor);return new qa(this._glyph,new q({color:n,bgcolor:r}))}},Za=class{_left;_right;_separator;constructor(e){this._left=e?.left??``,this._right=e?.right??``,this._separator=e?.separator??` `}*_emit(e,t,n){if(!(e===null&&t===null)){if(e===null){yield new J(this._left,Ja(t.edgeStyle(`left`)));return}if(t===null){yield new J(this._right,Ja(e.edgeStyle(`right`)));return}yield new J(this._right,Ja(e.edgeStyle(`right`))),this._separator.length>0&&(yield new J(this._separator)),yield new J(this._left,Ja(t.edgeStyle(`left`)))}}join(e,t){let n=this._emit.bind(this);return{*render(r){yield*n(e,t,r)}}}},Qa=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??q.parse(`dim`)}join(e,t){return e===null||t===null?Ka:new qa(this._separator,this._style)}};function $a(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull||t===null?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:n.toSgrCodes(t),link:n.link}}function eo(e,t){let n=[];for(let r of e){let e=$a(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(`\x1b]8;;${Sa(e)}\x1b\\`);for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function to(e,t){let n=t?.width??80,r=t?.colorSystem,i={};t?.env!==void 0&&(i.env=t.env),t?.isTTY!==void 0&&(i.isTTY=t.isTTY);let a=t?.noColor?null:r===void 0?W.TRUECOLOR:typeof r==`string`?pi(r,i):r,o={maxWidth:n,isTerminal:!1,encoding:`utf-8`,asciiOnly:!1};return eo(e.render(o),a)}var no=class extends Error{constructor(e){super(e),this.name=`MarkupError`}},ro=class{_handlers=new Map;register(e,t){if(io(e))throw new no(`Cannot register markup tag "${e}": name is reserved by a built-in style.`);this._handlers.set(e,t)}unregister(e){this._handlers.delete(e)}has(e){return this._handlers.has(e)}get(e){return this._handlers.get(e)}};function io(e){try{return q.parse(e),!0}catch(e){if(e instanceof Da)return!1;throw e}}new ro;var ao=class{call(e){let t=new Wa(e);return this.highlight(t),t}},oo=class extends ao{static highlights=[];static baseStyle=``;highlight(e){let t=this.constructor,n=t.baseStyle,r=n.endsWith(`.`);for(let i of t.highlights){let t=i instanceof RegExp?new RegExp(i.source,i.flags.includes(`g`)?i.flags:i.flags+`g`):new RegExp(i,`g`),a;for(;(a=t.exec(e.plain))!==null;){if(a[0].length===0){t.lastIndex++;continue}if(a.groups){let t=0;for(let[i,o]of Object.entries(a.groups))if(o!==void 0){let s=a[0].indexOf(o,t);if(s>=0){let c=a.index+s,l=r?`${n}${i}`:n||i;e.stylize(l,c,c+o.length),t=s+o.length}}}}}}},so=class extends oo{static baseStyle=`repr.`;static highlights=[/(?<url>https?:\/\/[^\s<>"']+)/g,/(?<uuid>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/gi,/(?<str>'[^']*'|"[^"]*")/g,/(?<bool>\btrue\b|\bfalse\b)/g,/(?<none>\bnull\b|\bundefined\b|\bNone\b)/g,/(?<number>(?<!\w)-?(?:0x[0-9a-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)(?!\w))/gi]};new class extends oo{static baseStyle=`json.`;static highlights=[/(?<key>"[^"]*")\s*:/g,/:\s*(?<str>"[^"]*")/g,/(?<bool>\btrue\b|\bfalse\b)/g,/(?<null>\bnull\b)/g,/(?<number>-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g,/(?<brace>[{}[\]])/g]},new so;function co(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const lo={segments:[],width:0},uo={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function fo(e,t){return uo[e](t)}function po(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var mo=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>co(t,e)),o=n=>i?co(i.join(null,t[n]),e):lo,s=n=>i?co(i.join(t[n],null),e):lo,c=(n,r)=>i?co(i.join(t[n],t[r]),e):lo,l=[],u=null,d=r>0?{segments:[new J(` `.repeat(r))],width:r}:lo;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=fo(p,i),o=po(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new J(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new J(` `.repeat(e)))}yield*t.blocks[e].segments}yield J.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=co(t[i],e).width,o=this.joiner?co(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?co(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=co(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=co(this.joiner.join(null,t[0]),e).width,r+=co(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};q.parse(`bold magenta`),q.parse(`italic bright_magenta`),q.parse(`green`),q.parse(`cyan`),q.parse(`dim italic`);const ho={kind:`flow`};function go(e){return`renderOverlay`in e&&typeof e.renderOverlay==`function`}var _o=fe((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:tn}function r(){cn||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===ln}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){rn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){rn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return an.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(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 b(e,t,n){if(ne())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&T(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,re(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(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)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,T(e,t)}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(ne=function(){return!!e})()}function T(e,t){return(T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function re(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function E(e){var t=typeof Map==`function`?new Map:void 0;return(E=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T(n,e)})(e)}function D(e){return Object.assign((function(t,n){if(ae(n))return e.t(t,n);ie(t,n,e)}),e)}function ie(e,t,n){g(e,fn)||u(e,fn,ee({},e[fn])),function(e){return e.i===`override`}(n)||(e[fn][t]=n)}function ae(e){return typeof e==`object`&&typeof e.kind==`string`}function oe(e,t,n){t===void 0&&(t=un),n===void 0&&(n=un);var r=new pn(e);return t!==un&&lt(r,t),n!==un&&j(r,n),r}function se(e,t,n){return vt(e)?e:Array.isArray(e)?wn.array(e,{name:n}):c(e)?wn.object(e,void 0,{name:n}):p(e)?wn.map(e,{name:n}):m(e)?wn.set(e,{name:n}):typeof e!=`function`||ot(e)||ht(e)?e:l(e)?nr(e):Xn(n,e)}function ce(e){return e}function le(e,t){return{i:e,u:t,o:ue,s:de,t:fe}}function ue(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:ot(n.value)?1:(rn(r,t,pe(e,this,t,n,!1)),2)}function de(e,t,n,r){var i=pe(e,this,t,n);return e.l(t,i,r)}function fe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return je(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return ot(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(ot(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
22
+ '`+s.i+`' can only be used on properties with a function value.`)}function pe(e,t,n,r,i){var a,o,s;i===void 0&&(i=B.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:je(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function me(e,t){return{i:e,u:t,o:O,s:he,t:ge}}function O(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!ht(e.h[t]))&&this.s(e,t,n,!1)===null?0:ht(n.value)?1:(rn(r,t,k(e,0,0,n,!1,!1)),2)}function he(e,t,n,r){var i=k(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ge(e,t){var n,r=t.name,i=t.addInitializer;return ht(e)||(e=nr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function k(e,t,n,r,i,a){a===void 0&&(a=B.safeDescriptors);var o=r.value;return ht(o)||(o=nr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function _e(e,t){return{i:e,u:t,o:ve,s:ye,t:be}}function ve(e,t,n){return this.s(e,t,n,!1)===null?0:1}function ye(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function be(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=zt(this)[L],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Pn(i))})),function(){return this[L].O(r)}}function xe(e,t){return{i:e,u:t,o:Se,s:Ce,t:we}}function Se(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Ce(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??se,r)}function we(e,t){function n(e,t){var n=zt(e)[L],i=new Mn(t,r.u?.enhancer??se,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[L].O(a)},set:function(e){return o.has(this)||n(this,e),this[L].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Te(e){return{i:`true`,u:e,o:Ee,s:De,t:Oe}}function Ee(e,t,n,r){var i,a,o;if(n.get)return Dn.o(e,t,n,r);if(n.set){var s=ot(n.set)?n.set:je(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!B.safeDescriptors||e.p,set:s})===null?0:2:(rn(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?nr.bound:nr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Xn.bound:Xn).o(e,t,n,r);var c=!1===this.u?.deep?wn.ref:wn;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function De(e,t,n,r){var i;return n.get?Dn.s(e,t,n,r):n.set?e.l(t,{configurable:!B.safeDescriptors||e.p,set:je(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?wn.ref:wn).s(e,t,n,r))}function Oe(){t(`'`+this.i+`' cannot be used as a decorator`)}function ke(e){return e||vn}function A(e){return!0===e.deep?se:!1===e.deep?ce:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:se;var t,n,r}function Ae(e,t,n){return ae(t)?yn.t(e,t):o(t)?void ie(e,t,yn):vt(e)?e:c(e)?wn.object(e,t,n):Array.isArray(e)?wn.array(e,t):p(e)?wn.map(e,t):m(e)?wn.set(e,t):typeof e==`object`&&e?e:wn.box(e,t)}function je(e,t,n,r){function i(){return Me(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},An&&(jn.value=e,rn(i,`name`,jn)),i}function Me(e,t,n,r,i){var a=Ne(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Pe(a)}}function Ne(e,t){var n=B.trackingDerivation,r=!t||!n;Ze();var i=B.allowStateChanges;r&&(Ue(),i=Ie(!0));var a={A:r,k:n,M:i,V:Ge(!0),R:!1,N:0,T:kn++,C:On};return On=a.T,a}function Pe(e){On!==e.T&&t(30),On=e.C,e._!==void 0&&(B.suppressReactionErrors=!0),Le(e.M),Ke(e.V),Qe(),e.A&&We(e.k),B.suppressReactionErrors=!1}function Fe(e,t){var n=Ie(e);try{return t()}finally{Le(n)}}function Ie(e){var t=B.allowStateChanges;return B.allowStateChanges=e,t}function Le(e){B.allowStateChanges=e}function Re(e){return e instanceof Ln}function ze(e){switch(e.I){case z.L:return!1;case z.P:case z.K:return!0;case z.B:for(var t=Ge(!0),n=Ue(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(In(o)){if(B.disableErrorBoundaries)o.get();else try{o.get()}catch{return We(n),Ke(t),!0}if(e.I===z.K)return We(n),Ke(t),!0}}return qe(e),We(n),Ke(t),!1}}function Be(e,t,n){var r=Ge(!0);qe(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++B.runId;var i,a=B.trackingDerivation;if(B.trackingDerivation=e,B.inBatch++,!0===B.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Ln(e)}return B.inBatch--,B.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=z.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Ye(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Je(l,e))}r!==z.L&&(e.I=r,e.H())}(e),Ke(r),i}function Ve(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Ye(t[n],e);e.I=z.P}function He(e){var t=Ue();try{return e()}finally{We(t)}}function Ue(){var e=B.trackingDerivation;return B.trackingDerivation=null,e}function We(e){B.trackingDerivation=e}function Ge(e){var t=B.allowStateReads;return B.allowStateReads=e,t}function Ke(e){B.allowStateReads=e}function qe(e){if(e.I!==z.L){e.I=z.L;for(var t=e.D,n=t.length;n--;)t[n].U=z.L}}function Je(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Ye(e,t){e.F.delete(t),e.F.size===0&&Xe(e)}function Xe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,B.pendingUnobservations.push(e))}function Ze(){B.inBatch++}function Qe(){if(--B.inBatch==0){tt();for(var e=B.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Pn&&n.X())}B.pendingUnobservations=[]}}function $e(e){var t=B.trackingDerivation;return t===null?(e.F.size===0&&B.inBatch>0&&Xe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&B.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function et(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(e){e.I===z.L&&e.H(),e.I=z.K})))}function tt(){B.inBatch>0||B.isRunningReactions||Un(nt)}function nt(){B.isRunningReactions=!0;for(var e=B.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}B.isRunningReactions=!1}function rt(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function it(e){return function(t,n){return a(t)?je(t.name||`<unnamed action>`,t,e):a(n)?je(t,n,e):ae(n)?(e?qn:Gn).t(t,n):o(n)?ie(t,n,e?qn:Gn):o(t)?D(le(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function at(e){return Me(0,!1,e,this,void 0)}function ot(e){return a(e)&&!0===e.isMobxAction}function st(e,t){function n(){e(i)}var r;t===void 0&&(t=sn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ct(t),s=!1;i=new Hn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Hn(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function ct(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Zn}function lt(e,t,n){return ut(`onBO`,e,t,n)}function j(e,t,n){return ut(`onBUO`,e,t,n)}function ut(e,t,n,r){var i=typeof r==`function`?qt(t,n):qt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function dt(e,t,n,r){var i=dn(t);return Xt((function(){var t=zt(e,r)[L];I(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function ft(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(ft)),n}function pt(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(pt)),t}function mt(e){a(e.cancel)&&e.cancel()}function ht(e){return!0===e?.isMobXFlow}function gt(e,t){return t===void 0?In(e):!1===Vt(e)||!e[L].j.has(t)?!1:In(qt(e,t))}function _t(e,t){return!!e&&(t===void 0?Vt(e)||!!e[L]||mn(e)||Wn(e)||In(e):!!Vt(e)&&e[L].j.has(t))}function vt(e){return _t(e)}function yt(e){return Vt(e)?e[L].nt():hr(e)||vr(e)?Array.from(e.keys()):It(e)?e.map((function(e,t){return t})):void t(5)}function bt(e,n){return Vt(e)?e[L].it(n):hr(e)||vr(e)?e.has(n):It(e)?n>=0&&n<e.length:void t(10)}function xt(e){if(Vt(e))return e[L].rt();t(38)}function St(e,t,n){return e.set(t,n),n}function Ct(e,t){t===void 0&&(t=void 0),Ze();try{return e.apply(t)}finally{Qe()}}function wt(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[L].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=je(`When-effect`,t),o=st((function(t){Fe(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Tt(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=wt(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function Et(e){return e[L]}function Dt(e){return e.et!==void 0&&e.et.length>0}function Ot(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function kt(e,n){var r=Ue();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{We(r)}}function At(e){return e.ut!==void 0&&e.ut.length>0}function jt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Mt(e,t){var n=Ue(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);We(n)}}function Nt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Xt((function(){var r=new sr(n,t,i,!1);d(r.j,L,r);var a=new Proxy(r.j,or);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function M(e,t){typeof Array.prototype[e]==`function`&&(cr[e]=t(e))}function Pt(e){return function(){var t=this[L];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function N(e){return function(t,n){var r=this,i=this[L];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function Ft(e){return function(){var t=this,n=this[L];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function It(e){return s(e)&&dr(e[L])}function Lt(e){return e[Symbol.toStringTag]=`MapIterator`,$t(e)}function Rt(e){return e[Symbol.toStringTag]=`SetIterator`,$t(e)}function zt(e,t){if(g(e,L))return e;var n=t?.name??`ObservableObject`;return u(e,L,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??Te(e):void 0}(t))),e}function Bt(e){return yr[e]||(yr[e]={get:function(){return this[L].O(e)},set:function(t){return this[L].S(e,t)}})}function Vt(e){return!!s(e)&&xr(e[L])}function Ht(e,t,n){var r;(r=e.h[fn])==null||delete r[n]}function Ut(e){return{enumerable:!1,configurable:!0,get:function(){return this[L].ct(e)},set:function(t){this[L].ht(e,t)}}}function Wt(e){rn(Er.prototype,``+e,Ut(e))}function Gt(e){if(e>wr){for(var t=wr;t<e+100;t++)Wt(t);wr=e}}function Kt(e,t,n){return new Er(e,t,n)}function qt(e,n){if(typeof e==`object`&&e){if(It(e))return n!==void 0&&t(23),e[L].st;if(vr(e))return e.st;if(hr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Yt(e)),r}if(Vt(e)){if(!n)return t(26);var i=e[L].j.get(n);return i||t(27,n,Yt(e)),i}if(mn(e)||In(e)||Wn(e))return e}else if(a(e)&&Wn(e[L]))return e[L];t(28)}function Jt(e,n){return e||t(29),n===void 0?mn(e)||In(e)||Wn(e)||hr(e)||vr(e)?e:e[L]?e[L]:void t(24,e):Jt(qt(e,n))}function Yt(e,t){var n;if(t!==void 0)n=qt(e,t);else{if(ot(e))return e.name;n=Vt(e)||hr(e)||vr(e)?Jt(e):qt(e)}return n.tt}function Xt(e){var t=Ue(),n=Ie(!0);Ze();try{return e()}finally{Qe(),Le(n),We(t)}}function Zt(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=Qt(t),n=Qt(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function Qt(e){return It(e)?e.slice():p(e)||hr(e)||m(e)||vr(e)?Array.from(e.entries()):e}function $t(e){return e[Symbol.iterator]=en,Object.assign(Object.create(Or),e)}function en(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var tn={},P=Object.assign,nn=Object.getOwnPropertyDescriptor,rn=Object.defineProperty,an=Object.prototype,on=[];Object.freeze(on);var sn={};Object.freeze(sn);var cn=typeof Proxy<`u`,ln=Object.toString(),un=function(){},F=Object.getOwnPropertySymbols!==void 0,I=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:F?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,dn=Object.getOwnPropertyDescriptors||function(e){var t={};return I(e).forEach((function(n){t[n]=nn(e,n)})),t},fn=Symbol(`mobx-stored-annotations`),L=Symbol(`mobx administration`),pn=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=z.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return $e(this)},t.reportChanged=function(){Ze(),et(this),Qe()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();pn.pt=1,pn.yt=2,pn.wt=4;var mn=f(`Atom`,pn),hn={identity:function(e,t){return e===t},structural:function(e,t){return Zt(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Zt(e,t,1)}},gn=D({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),_n=Te(),vn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(vn);var yn=xe(`observable`),bn=xe(`observable.ref`,{enhancer:ce}),R=xe(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Vt(e)||It(e)||hr(e)||vr(e)?e:Array.isArray(e)?wn.array(e,{name:n,deep:!1}):c(e)?wn.object(e,void 0,{name:n,deep:!1}):p(e)?wn.map(e,{name:n,deep:!1}):m(e)?wn.set(e,{name:n,deep:!1}):void 0}}),xn=xe(`observable.struct`,{enhancer:function(e,t){return Zt(e,t)?t:e}}),Sn=D(yn);P(Ae,Sn);var Cn,wn=P(Ae,{box:function(e,t){var n=ke(t);return new Mn(e,A(n),n.name,!0,n.equals)},array:function(e,t){var n=ke(t);return(!1===B.useProxies||!1===n.proxy?Kt:Nt)(e,A(n),n.name)},map:function(e,t){var n=ke(t);return new mr(e,A(n),n.name)},set:function(e,t){var n=ke(t);return new _r(e,A(n),n.name)},object:function(e,t,n){return Xt((function(){return dt(!1===B.useProxies||!1===n?.proxy?zt({},n):function(e,t){var n;return r(),(n=(e=zt(e,t))[L]).v??(n.v=new Proxy(e,rr))}({},n),e,t)}))},ref:D(bn),shallow:D(R),deep:Sn,struct:D(xn)}),Tn=_e(`computed`),En=_e(`computed.struct`,{equals:hn.structural}),Dn=function(e,t){if(ae(t))return Tn.t(e,t);if(o(t))return ie(e,t,Tn);if(c(e))return D(_e(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Pn(n)};Object.assign(Dn,Tn),Dn.struct=D(En);var On=0,kn=1,An=(Cn=nn((function(){}),`name`)?.configurable)!=null&&Cn,jn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Mn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=hn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}w(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==B.UNCHANGED&&this.gt(e)},n.xt=function(e){if(Dt(this)){var t=kt(this,{object:this,type:ar,newValue:e});if(!t)return B.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?B.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),At(this)&&Mt(this,{type:ar,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return Ot(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:ar,newValue:this.Ot,oldValue:void 0}),jt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(pn),Nn=f(`ObservableValue`,Mn),Pn=function(){function e(e){this.I=z.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=z.L,this.G=0,this.Ot=new Ln(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Fn.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=je(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?hn.structural:hn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===z.L&&(e.U=z.B,e.F.forEach((function(e){e.I===z.L&&(e.I=z.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),B.inBatch!==0||this.F.size!==0||this.Nt){if($e(this),ze(this)){var e=B.trackingContext;this.Nt&&!e&&(B.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(t){t.I===z.B?t.I=z.K:t.I===z.L&&(e.U=z.L)})))}(this),B.trackingContext=e}}else ze(this)&&(this.Tt(),Ze(),this.Ot=this.Ct(!1),Qe());var n=this.Ot;if(Re(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===z.P,n=this.Ct(!0),r=t||Re(e)||Re(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Ie(!1);if(e)t=Be(this,this.derivation,this.Et);else if(!0===B.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Ln(e)}return Le(n),this.isComputing=!1,t},n.X=function(){this.Nt||(Ve(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return st((function(){var a=n.get();if(!r||t){var o=Ue();e({observableKind:`computed`,debugObjectName:n.tt,type:ar,object:n,newValue:a,oldValue:i}),We(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Pn.It=1,Pn.Lt=2,Pn.pt=4,Pn.yt=8,Pn.wt=16;var z,Fn,In=f(`ComputedValue`,Pn);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(z||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Fn||={});var Ln=function(e){this.cause=void 0,this.cause=e},Rn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],zn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Bn=!0,Vn=!1,B=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Bn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new zn().version&&(Bn=!1),Bn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new zn):(setTimeout((function(){Vn||t(35)}),1),new zn)}(),Hn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=z.P,this.q=0,this.G=0,this.bt=0,this.Mt=Fn.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,B.pendingReactions.push(this),tt())},t.J=function(){if(!this.isDisposed){Ze(),this.isScheduled=!1;var e=B.trackingContext;if(B.trackingContext=this,ze(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}B.trackingContext=e,Qe()}},t.track=function(e){if(!this.isDisposed){Ze(),this.isRunning=!0;var t=B.trackingContext;B.trackingContext=this;var n=Be(this,e,void 0);B.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ve(this),Re(n)&&this.Dt(n.cause),Qe()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(B.disableErrorBoundaries)throw e;B.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),B.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Ze(),Ve(this),Qe()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[L]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Hn.Wt=1,Hn.qt=2,Hn.Gt=4,Hn.Ht=8,Hn.wt=16;var Un=function(e){return e()},Wn=f(`Reaction`,Hn),Gn=le(`action`),Kn=le(`action.bound`,{bound:!0}),qn=le(`autoAction`,{autoAction:!0}),Jn=le(`autoAction.bound`,{autoAction:!0,bound:!0}),Yn=it(!1);Object.assign(Yn,Gn);var Xn=it(!0);Object.assign(Xn,qn),Yn.bound=D(Kn),Xn.bound=D(Jn);var Zn=function(e){return e()},Qn=0,$n=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return w(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(E(Error)),er=me(`flow`),tr=me(`flow.bound`,{bound:!0}),nr=Object.assign((function(e,t){if(ae(t))return er.t(e,t);if(o(t))return ie(e,t,er);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++Qn,s=Yn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Yn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Yn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Yn(r+` - runid: `+o+` - cancel`,(function(){try{c&&mt(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(un,un),mt(n),e(new $n)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),er);nr.bound=D(tr);var rr={has:function(e,t){return Et(e).it(t)},get:function(e,t){return Et(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=Et(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=Et(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=Et(e).l(t,n))==null||r},ownKeys:function(e){return Et(e).rt()},preventExtensions:function(){t(13)}},ir=Symbol(`mobx-keys`),ar=`update`,or={get:function(e,t){var n=e[L];return t===L?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(cr,t)?cr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[L];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},sr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new pn(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return Ot(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),jt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Gt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=on),Dt(this)){var a=kt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return on;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=At(this),a=i||r?{observableKind:`array`,object:this.v,type:ar,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Mt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=At(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Mt(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(Dt(this)){var a=kt(this,{type:ar,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),cr={clear:function(){return this.splice(0)},replace:function(e){var t=this[L];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[L];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[L].ot(e,t,n)},push:function(){for(var e=this[L],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[L].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[L],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return B.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){B.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[L],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};M(`at`,Pt),M(`concat`,Pt),M(`flat`,Pt),M(`includes`,Pt),M(`indexOf`,Pt),M(`join`,Pt),M(`lastIndexOf`,Pt),M(`slice`,Pt),M(`toString`,Pt),M(`toLocaleString`,Pt),M(`toSorted`,Pt),M(`toSpliced`,Pt),M(`with`,Pt),M(`every`,N),M(`filter`,N),M(`find`,N),M(`findIndex`,N),M(`findLast`,N),M(`findLastIndex`,N),M(`flatMap`,N),M(`forEach`,N),M(`map`,N),M(`some`,N),M(`toReversed`,N),M(`reduce`,Ft),M(`reduceRight`,Ft);var lr,ur,dr=f(`ObservableArrayAdministration`,sr),fr={},pr=`add`,mr=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[L]=fr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),Xt((function(){i.lt=oe(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!B.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Mn(this.it(e),ce,`ObservableMap.key?`,!1);this.dt.set(e,r),j(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(Dt(this)){var r=kt(this,{type:n?ar:pr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(Dt(this)&&!kt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=At(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Ct((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==B.UNCHANGED){var r=At(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:ar,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Mt(this,i)}},n.en=function(e,t){var n=this;Ct((function(){var r,i=new Mn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=At(this);r&&Mt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:pr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Lt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Lt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return hr(e)&&(e=new Map(e)),Ct((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!F)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return an.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Ct((function(){He((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Ct((function(){for(var r,i=function(e){if(p(e)||hr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),hr=f(`ObservableMap`,mr),gr={},_r=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[L]=gr,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},Xt((function(){i.st=oe(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Ct((function(){He((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(Dt(this)){var n=kt(this,{type:pr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Ct((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=At(this);r&&Mt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:pr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(Dt(this)&&!kt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=At(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Ct((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return Rt({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return Rt({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!vr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!vr(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!vr(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!vr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return vr(e)&&(e=new Set(e)),Ct((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),vr=f(`ObservableSet`,_r),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=_n),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new pn(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Pn)return n.set(t),!0;if(Dt(this)){var r=kt(this,{type:ar,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==B.UNCHANGED){var i=At(this),a=i?{type:ar,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Mt(this,a)}return!0},n.ct=function(e){return B.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!B.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Mn(e in this.h,ce,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[fn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==an;){var a=nn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Ht(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&Ht(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Dt(this)){var i=kt(this,{object:this.v||this.h,name:e,type:pr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else rn(this.h,e,t);this.fn(e,t.value)}finally{Qe()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{Ze();var i=this.Ut(e);if(!i)return i;if(Dt(this)){var a=kt(this,{object:this.v||this.h,name:e,type:pr,newValue:t});if(!a)return null;t=a.newValue}var o=Bt(e),s={configurable:!B.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else rn(this.h,e,s);var c=new Mn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{Qe()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Dt(this)&&!kt(this,{object:this.v||this.h,name:e,type:pr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Bt(e),a={configurable:!B.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else rn(this.h,e,a);this.j.set(e,new Pn(t)),this.fn(e,void 0)}finally{Qe()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(Dt(this)&&!kt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;Ze();var r=At(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=nn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Mn&&(a=i.Ot),et(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Mt(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{Qe()}return!0},n._t=function(e){return jt(this,e)},n.St=function(e){return Ot(this,e)},n.fn=function(e,t){var n,r=At(this);r&&r&&Mt(this,r?{type:pr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),I(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=Ut(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};lr=Tr,ur=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(lr.prototype,ur):lr.prototype.__proto__===void 0?lr.prototype=ur:lr.prototype.__proto__=ur;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,Xt((function(){var e=new sr(r,n,i,!0);e.v=a,d(a,L,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}w(t,e);var n=t.prototype;return n.concat=function(){this[L].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return It(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return $t({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[L].Ft()},set:function(e){this[L].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(cr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Gt(1e3);var Dr=an.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:rt,extras:{getDebugName:Yt},$mobx:L}),e.$mobx=L,e.FlowCancellationError=$n,e.ObservableMap=mr,e.ObservableSet=_r,e.Reaction=Hn,e._allowStateChanges=Fe,e._allowStateChangesInsideComputed=at,e._allowStateReadsEnd=Ke,e._allowStateReadsStart=Ge,e._autoAction=Xn,e._endAction=Pe,e._getAdministration=Jt,e._getGlobalState=function(){return B},e._interceptReads=function(e,t,n){var r;return hr(e)||It(e)||Nn(e)?r=Jt(e):Vt(e)&&(r=Jt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return B.trackingDerivation!==null},e._resetGlobalState=function(){var e=new zn;for(var t in e)Rn.indexOf(t)===-1&&(B[t]=e[t]);B.allowStateChanges=!B.enforceActions},e._startAction=Ne,e.action=Yn,e.autorun=st,e.comparer=hn,e.computed=Dn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((B.pendingReactions.length||B.inBatch||B.isRunningReactions)&&t(36),Vn=!0,Bn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),B=new zn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(B.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(B.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;B.enforceActions=s,B.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(B[t]=!!e[t])})),B.allowStateReads=!B.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Un,Un=function(e){return r((function(){return i(e)}))})},e.createAtom=oe,e.defineProperty=function(e,n,r){if(Vt(e))return e[L].l(n,r);t(39)},e.entries=function(e){return Vt(e)?yt(e).map((function(t){return[t,e[t]]})):hr(e)?yt(e).map((function(t){return[t,e.get(t)]})):vr(e)?Array.from(e.entries()):It(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=dt,e.flow=nr,e.flowResult=function(e){return e},e.get=function(e,n){if(bt(e,n))return Vt(e)?e[L].ct(n):hr(e)?e.get(n):It(e)?e[n]:void t(11)},e.getAtom=qt,e.getDebugName=Yt,e.getDependencyTree=function(e,t){return ft(qt(e,t))},e.getObserverTree=function(e,t){return pt(qt(e,t))},e.has=bt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Jt(e,t).St(n)}(e,t,n):function(e,t){return Jt(e).St(t)}(e,t)},e.isAction=ot,e.isBoxedObservable=Nn,e.isComputed=function(e){return gt(e)},e.isComputedProp=function(e,t){return gt(e,t)},e.isFlow=ht,e.isFlowCancellationError=function(e){return e instanceof $n},e.isObservable=vt,e.isObservableArray=It,e.isObservableMap=hr,e.isObservableObject=Vt,e.isObservableProp=function(e,t){return _t(e,t)},e.isObservableSet=vr,e.keys=yt,e.makeAutoObservable=function(e,t,n){return c(e)?dt(e,e,t,n):(Xt((function(){var r=zt(e,n)[L];if(!e[ir]){var i=Object.getPrototypeOf(e),a=new Set([].concat(I(e),I(i)));a.delete(`constructor`),a.delete(L),u(i,ir,a)}e[ir].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return Xt((function(){var r=zt(e,n)[L];t??=function(e){return g(e,fn)||u(e,fn,ee({},e[fn])),e[fn]}(e),I(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=wn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Jt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Jt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=lt,e.onBecomeUnobserved=j,e.onReactionError=function(e){return B.globalReactionErrorHandlers.push(e),function(){var t=B.globalReactionErrorHandlers.indexOf(e);t>=0&&B.globalReactionErrorHandlers.splice(t,1)}},e.override=gn,e.ownKeys=xt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Fe(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=sn);var a,o,s,c=n.name??`Reaction`,l=Yn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=ct(n),f=!0,p=!1,m=n.compareStructural?hn.structural:n.equals||hn.default,h=new Hn(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Vt(e)?e[L].Ut(n):hr(e)||vr(e)?e.delete(n):It(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=at,e.set=function e(n,r,i){if(arguments.length!==2||vr(n))Vt(n)?n[L].ht(r,i):hr(n)?n.set(r,i):vr(n)?n.add(r):It(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),Ze(),r>=n.length&&(n.length=r+1),n[r]=i,Qe()):t(8);else{Ze();var a=r;try{for(var o in a)e(n,o,a[o])}finally{Qe()}}},e.spy=rt,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!vt(t))return t;if(Nn(t)||In(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(It(t)){var r=St(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(vr(t)){var i=St(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(hr(t)){var a=St(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=St(n,t,{});return xt(t).forEach((function(r){an.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Ct,e.untracked=He,e.values=function(e){return Vt(e)?yt(e).map((function(t){return e[t]})):hr(e)?yt(e).map((function(t){return e.get(t)})):vr(e)?Array.from(e.values()):It(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Tt(e,t):wt(e,t,n||{})}})),vo=fe((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){R.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++R.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function w(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function ne(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function T(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var re=Object.getOwnPropertySymbols!==void 0;function E(e){var t=Object.keys(e);if(!re)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var D=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:re?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ie(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function ae(e){return e===null?null:typeof e==`object`?``+e:e}function oe(e,t){return c.hasOwnProperty.call(e,t)}var se=Object.getOwnPropertyDescriptors||function(e){var t={};return D(e).forEach(function(n){t[n]=o(e,n)}),t};function ce(e,t){return!!(e&t)}function le(e,t,n){return n?e|=t:e&=~t,e}function ue(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 de(e,t,n){if(_e())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ve(i,n.prototype),i}function fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,be(r.key),r)}}function pe(e,t,n){return t&&fe(e.prototype,t),n&&fe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function me(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=xe(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
23
23
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O(){return O=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},O.apply(null,arguments)}function he(e){return he=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},he(e)}function ge(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ve(e,t)}function k(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function _e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_e=function(){return!!e})()}function ve(e,t){return ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ve(e,t)}function ye(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function be(e){var t=ye(e,`string`);return typeof t==`symbol`?t:t+``}function xe(e,t){if(e){if(typeof e==`string`)return ue(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)?ue(e,t):void 0}}function Se(e){var t=typeof Map==`function`?new Map:void 0;return Se=function(e){if(e===null||!k(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return de(e,arguments,he(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ve(n,e)},Se(e)}var Ce=Symbol(`mobx-stored-annotations`);function we(e){function t(t,n){if(Oe(n))return e.decorate_20223_(t,n);Te(t,n,e)}return Object.assign(t,e)}function Te(e,t,r){oe(e,Ce)||C(e,Ce,O({},e[Ce])),We(r)&&!oe(e[Ce],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),Ee(e,r,t),We(r)||(e[Ce][t]=r)}function Ee(e,t,r){if(!We(t)&&oe(e[Ce],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[Ce][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
24
24
  The field is already decorated with '@`+a+`'.`)+`
25
25
  Re-decorating fields is not allowed.
26
- Use '@override' decorator for methods overridden by subclass.`)}}function De(e){return oe(e,Ce)||C(e,Ce,O({},e[Ce])),e[Ce]}function Oe(e){return typeof e==`object`&&typeof e.kind==`string`}function ke(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var A=Symbol(`mobx administration`),Ae=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=N.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return jn(this)},t.reportChanged=function(){kn(),Mn(this),An()},t.toString=function(){return this.name_},pe(e,[{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();Ae.isBeingObservedMask_=1,Ae.isPendingUnobservationMask_=2,Ae.diffValueMask_=4;var je=te(`Atom`,Ae);function Me(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ae(e);return t!==_&&gr(r,t),n!==_&&_r(r,n),r}function Ne(e,t){return e===t}function Pe(e,t){return ga(e,t)}function Fe(e,t){return ga(e,t,1)}function Ie(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Le={identity:Ne,structural:Pe,default:Ie,shallow:Fe};function Re(e,t,n){return Kr(e)?e:Array.isArray(e)?M.array(e,{name:n}):x(e)?M.object(e,void 0,{name:n}):w(e)?M.map(e,{name:n}):T(e)?M.set(e,{name:n}):typeof e==`function`&&!cr(e)&&!Lr(e)?S(e)?Pr(e):or(n,e):e}function ze(e,t,r){if(e==null||Qi(e)||Pi(e)||zi(e)||Wi(e))return e;if(Array.isArray(e))return M.array(e,{name:r,deep:!1});if(x(e))return M.object(e,void 0,{name:r,deep:!1});if(w(e))return M.map(e,{name:r,deep:!1});if(T(e))return M.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Be(e){return e}function Ve(e,t){return Kr(e)&&n(`observable.struct should not be used with observable values`),ga(e,t)?t:e}var He=`override`,Ue=we({annotationType_:He,make_:Ge,extend_:Ke,decorate_20223_:qe});function We(e){return e.annotationType_===He}function Ge(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
27
- '`+this.annotationType_+`' cannot be used on plain objects.`)),oe(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Ke(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function qe(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Je(e,t){return{annotationType_:e,options_:t,make_:Ye,extend_:Xe,decorate_20223_:Ze}}function Ye(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:cr(n.value)?1:(s(r,t,$e(e,this,t,n,!1)),2)}function Xe(e,t,n,r){var i=$e(e,this,t,n);return e.defineProperty_(t,i,r)}function Ze(e,t){ke(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Gt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return cr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return cr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
26
+ Use '@override' decorator for methods overridden by subclass.`)}}function De(e){return oe(e,Ce)||C(e,Ce,O({},e[Ce])),e[Ce]}function Oe(e){return typeof e==`object`&&typeof e.kind==`string`}function ke(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var A=Symbol(`mobx administration`),Ae=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=P.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return jn(this)},t.reportChanged=function(){kn(),Mn(this),An()},t.toString=function(){return this.name_},pe(e,[{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();Ae.isBeingObservedMask_=1,Ae.isPendingUnobservationMask_=2,Ae.diffValueMask_=4;var je=te(`Atom`,Ae);function Me(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ae(e);return t!==_&&gr(r,t),n!==_&&_r(r,n),r}function Ne(e,t){return e===t}function Pe(e,t){return ha(e,t)}function Fe(e,t){return ha(e,t,1)}function Ie(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Le={identity:Ne,structural:Pe,default:Ie,shallow:Fe};function Re(e,t,n){return Kr(e)?e:Array.isArray(e)?N.array(e,{name:n}):x(e)?N.object(e,void 0,{name:n}):w(e)?N.map(e,{name:n}):T(e)?N.set(e,{name:n}):typeof e==`function`&&!cr(e)&&!Lr(e)?S(e)?Pr(e):or(n,e):e}function ze(e,t,r){if(e==null||Qi(e)||Pi(e)||zi(e)||Wi(e))return e;if(Array.isArray(e))return N.array(e,{name:r,deep:!1});if(x(e))return N.object(e,void 0,{name:r,deep:!1});if(w(e))return N.map(e,{name:r,deep:!1});if(T(e))return N.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Be(e){return e}function Ve(e,t){return Kr(e)&&n(`observable.struct should not be used with observable values`),ha(e,t)?t:e}var He=`override`,Ue=we({annotationType_:He,make_:Ge,extend_:Ke,decorate_20223_:qe});function We(e){return e.annotationType_===He}function Ge(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
27
+ '`+this.annotationType_+`' cannot be used on plain objects.`)),oe(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Ke(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function qe(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Je(e,t){return{annotationType_:e,options_:t,make_:Ye,extend_:Xe,decorate_20223_:Ze}}function Ye(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:cr(n.value)?1:(s(r,t,$e(e,this,t,n,!1)),2)}function Xe(e,t,n,r){var i=$e(e,this,t,n);return e.defineProperty_(t,i,r)}function Ze(e,t){ke(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Wt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return cr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return cr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
28
28
  '`+o.annotationType_+`' can only be used on properties with a function value.`))}function Qe(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
29
- '`+a+`' can only be used on properties with a function value.`))}function $e(e,t,n,r,i){var a,o;i===void 0&&(i=R.safeDescriptors),Qe(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Gt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function et(e,t){return{annotationType_:e,options_:t,make_:tt,extend_:nt,decorate_20223_:rt}}function tt(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!oe(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,at(e,this,t,n,!1,!1)),2)}function nt(e,t,n,r){var i=at(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function rt(e,t){var n;ke(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function it(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
30
- '`+a+`' can only be used on properties with a generator function value.`))}function at(e,t,n,r,i,a){a===void 0&&(a=R.safeDescriptors),it(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function ot(e,t){return{annotationType_:e,options_:t,make_:st,extend_:ct,decorate_20223_:lt}}function st(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ct(e,t,n,r){return j(e,this,t,n),e.defineComputedProperty_(t,O({},this.options_,{get:n.get,set:n.set}),r)}function lt(e,t){ke(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Yi(this)[A],i=O({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new tn(i))}),function(){return this[A].getObservablePropValue_(r)}}function j(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
31
- '`+a+`' can only be used on getter(+setter) properties.`))}function ut(e,t){return{annotationType_:e,options_:t,make_:dt,extend_:ft,decorate_20223_:pt}}function dt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ft(e,t,n,r){return mt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Re,r)}function pt(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");ke(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Yi(e)[A],i=new $t(t,r.options_?.enhancer??Re,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[A].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[A].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function mt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
32
- '`+a+`' cannot be used on getter/setter properties`))}var ht=`true`,gt=_t();function _t(e){return{annotationType_:ht,options_:e,make_:vt,extend_:yt,decorate_20223_:bt}}function vt(e,t,n,r){var i;if(n.get)return Bt.make_(e,t,n,r);if(n.set){var a=cr(n.set)?n.set:Gt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:R.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?or.bound:or).make_(e,t,n,r)}var l=this.options_?.deep===!1?M.ref:M;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function yt(e,t,n,r){var i;return n.get?Bt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:R.safeDescriptors?e.isPlainObject_:!0,set:Gt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?M.ref:M).extend_(e,t,n,r))}function bt(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var xt=`observable`,St=`observable.ref`,Ct=`observable.shallow`,wt=`observable.struct`,Tt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Tt);function Et(e){return e||Tt}var Dt=ut(xt),Ot=ut(St,{enhancer:Be}),kt=ut(Ct,{enhancer:ze}),At=ut(wt,{enhancer:Ve}),jt=we(Dt);function Mt(e){return e.deep===!0?Re:e.deep===!1?Be:Pt(e.defaultDecorator)}function Nt(e){return e?e.defaultDecorator??_t(e):void 0}function Pt(e){return e?e.options_?.enhancer??Re:Re}function Ft(e,t,n){if(Oe(t))return Dt.decorate_20223_(e,t);if(y(t)){Te(e,t,Dt);return}return Kr(e)?e:x(e)?M.object(e,t,n):Array.isArray(e)?M.array(e,t):w(e)?M.map(e,t):T(e)?M.set(e,t):typeof e==`object`&&e?e:M.box(e,t)}a(Ft,jt);var M=a(Ft,{box:function(e,t){var n=Et(t);return new $t(e,Mt(n),n.name,!0,n.equals)},array:function(e,t){var n=Et(t);return(R.useProxies===!1||n.proxy===!1?ua:Oi)(e,Mt(n),n.name)},map:function(e,t){var n=Et(t);return new Ri(e,Mt(n),n.name)},set:function(e,t){var n=Et(t);return new Ui(e,Mt(n),n.name)},object:function(e,t,n){return ma(function(){return Cr(R.useProxies===!1||n?.proxy===!1?Yi({},n):pi({},n),e,t)})},ref:we(Ot),shallow:we(kt),deep:jt,struct:we(At)}),It=`computed`,Lt=`computed.struct`,Rt=ot(It),zt=ot(Lt,{equals:Le.structural}),Bt=function(e,t){if(Oe(t))return Rt.decorate_20223_(e,t);if(y(t))return Te(e,t,Rt);if(x(e))return we(ot(It,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new tn(r)};Object.assign(Bt,Rt),Bt.struct=we(zt);var Vt=0,Ht=1,Ut=o(function(){},`name`)?.configurable??!1,Wt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Gt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Kt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Ut&&(Wt.value=e,s(a,`name`,Wt)),a}function Kt(e,t,n,r,i){var a=qt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Jt(a)}}function qt(e,t,n,r){var i=Un()&&!!e,a=0;i&&(a=Date.now(),Gn({type:Yn,name:e,object:n,arguments:r?Array.from(r):l}));var o=R.trackingDerivation,s=!t||!o;kn();var c=R.allowStateChanges;s&&(I(),c=Xt(!0));var u=mn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Ht++,parentActionId_:Vt};return Vt=d.actionId_,d}function Jt(e){Vt!==e.actionId_&&n(30),Vt=e.parentActionId_,e.error_!==void 0&&(R.suppressReactionErrors=!0),Zt(e.prevAllowStateChanges_),hn(e.prevAllowStateReads_),An(),e.runAsAction_&&L(e.prevDerivation_),e.notifySpy_&&qn({time:Date.now()-e.startTime_}),R.suppressReactionErrors=!1}function Yt(e,t){var n=Xt(e);try{return t()}finally{Zt(n)}}function Xt(e){var t=R.allowStateChanges;return R.allowStateChanges=e,t}function Zt(e){R.allowStateChanges=e}var Qt=`create`,$t=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Le.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Un()&&Wn({type:Qt,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ge(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==R.UNCHANGED){var n=Un();n&&Gn({type:wi,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&qn()}},n.prepareNewValue_=function(e){if(ln(this),mi(this)){var t=gi(this,{object:this,type:wi,newValue:e});if(!t)return R.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?R.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),_i(this)&&yi(this,{type:wi,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return hi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:wi,newValue:this.value_,oldValue:void 0}),vi(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return ae(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ae),en=te(`ObservableValue`,$t),tn=function(){function e(e){this.dependenciesState_=N.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=N.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new an(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=rn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=Gt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Le.structural:Le.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Pn(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),R.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)sn(this)&&(this.warnAboutUntrackedRead_(),kn(),this.value_=this.computeValue_(!1),An());else if(jn(this),sn(this)){var e=R.trackingContext;this.keepAlive_&&!e&&(R.trackingContext=this),this.trackAndCompute()&&Nn(this),R.trackingContext=e}var t=this.value_;if(on(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===N.NOT_TRACKING_,n=this.computeValue_(!0),r=t||on(e)||on(n)||!this.equals_(e,n);return r&&(this.value_=n,Un()&&Wn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Xt(!1),n;if(e)n=P(this,this.derivation,this.scope_);else if(R.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new an(e)}return Zt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(fn(this),this.value_=void 0,this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return lr(function(){var a=n.get();if(!r||t){var o=I();e({observableKind:`computed`,debugObjectName:n.name_,type:wi,object:n,newValue:a,oldValue:i}),L(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:R.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return ae(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},pe(e,[{key:`isComputing`,get:function(){return ce(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=le(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ce(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();tn.isComputingMask_=1,tn.isRunningSetterMask_=2,tn.isBeingObservedMask_=4,tn.isPendingUnobservationMask_=8,tn.diffValueMask_=16;var nn=te(`ComputedValue`,tn),N;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(N||={});var rn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(rn||={});var an=function(e){this.cause=void 0,this.cause=e};function on(e){return e instanceof an}function sn(e){switch(e.dependenciesState_){case N.UP_TO_DATE_:return!1;case N.NOT_TRACKING_:case N.STALE_:return!0;case N.POSSIBLY_STALE_:for(var t=mn(!0),n=I(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(nn(o)){if(R.disableErrorBoundaries)o.get();else try{o.get()}catch{return L(n),hn(t),!0}if(e.dependenciesState_===N.STALE_)return L(n),hn(t),!0}}return gn(e),L(n),hn(t),!1}}function cn(){return R.trackingDerivation!==null}function ln(e){var t=e.observers_.size>0;!R.allowStateChanges&&(t||R.enforceActions===`always`)&&console.warn(`[MobX] `+(R.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function un(e){!R.allowStateReads&&R.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function P(e,t,n){var r=mn(!0);gn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++R.runId;var i=R.trackingDerivation;R.trackingDerivation=e,R.inBatch++;var a;if(R.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new an(e)}return R.inBatch--,R.trackingDerivation=i,dn(e),F(e),hn(r),a}function F(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:R.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function dn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=N.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Dn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,En(l,e))}r!==N.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function fn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Dn(t[n],e);e.dependenciesState_=N.NOT_TRACKING_}function pn(e){var t=I();try{return e()}finally{L(t)}}function I(){var e=R.trackingDerivation;return R.trackingDerivation=null,e}function L(e){R.trackingDerivation=e}function mn(e){var t=R.allowStateReads;return R.allowStateReads=e,t}function hn(e){R.allowStateReads=e}function gn(e){if(e.dependenciesState_!==N.UP_TO_DATE_){e.dependenciesState_=N.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=N.UP_TO_DATE_}}var _n=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],vn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},yn=!0,bn=!1,R=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(yn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new vn().version&&(yn=!1),yn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new vn):(setTimeout(function(){bn||n(35)},1),new vn)}();function xn(){if((R.pendingReactions.length||R.inBatch||R.isRunningReactions)&&n(36),bn=!0,yn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),R=new vn}}function Sn(){return R}function Cn(){var e=new vn;for(var t in e)_n.indexOf(t)===-1&&(R[t]=e[t]);R.allowStateChanges=!R.enforceActions}function wn(e){return e.observers_&&e.observers_.size>0}function Tn(e){return e.observers_}function En(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Dn(e,t){e.observers_.delete(t),e.observers_.size===0&&On(e)}function On(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,R.pendingUnobservations.push(e))}function kn(){R.inBatch++}function An(){if(--R.inBatch===0){Bn();for(var e=R.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof tn&&n.suspend_())}R.pendingUnobservations=[]}}function jn(e){un(e);var t=R.trackingDerivation;return t===null?(e.observers_.size===0&&R.inBatch>0&&On(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&R.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Mn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.UP_TO_DATE_&&(t.isTracing_!==rn.NONE&&z(t,e),t.onBecomeStale_()),t.dependenciesState_=N.STALE_}))}function Nn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.POSSIBLY_STALE_?(t.dependenciesState_=N.STALE_,t.isTracing_!==rn.NONE&&z(t,e)):t.dependenciesState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.UP_TO_DATE_)}))}function Pn(e){e.lowestObserverState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===N.UP_TO_DATE_&&(e.dependenciesState_=N.POSSIBLY_STALE_,e.onBecomeStale_())}))}function z(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===rn.BREAK){var n=[];Fn(wr(e),n,1),Function(`debugger;
29
+ '`+a+`' can only be used on properties with a function value.`))}function $e(e,t,n,r,i){var a,o;i===void 0&&(i=R.safeDescriptors),Qe(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Wt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function et(e,t){return{annotationType_:e,options_:t,make_:tt,extend_:nt,decorate_20223_:rt}}function tt(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!oe(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,at(e,this,t,n,!1,!1)),2)}function nt(e,t,n,r){var i=at(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function rt(e,t){var n;ke(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function it(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
30
+ '`+a+`' can only be used on properties with a generator function value.`))}function at(e,t,n,r,i,a){a===void 0&&(a=R.safeDescriptors),it(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function ot(e,t){return{annotationType_:e,options_:t,make_:st,extend_:ct,decorate_20223_:lt}}function st(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ct(e,t,n,r){return j(e,this,t,n),e.defineComputedProperty_(t,O({},this.options_,{get:n.get,set:n.set}),r)}function lt(e,t){ke(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Yi(this)[A],i=O({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new en(i))}),function(){return this[A].getObservablePropValue_(r)}}function j(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
31
+ '`+a+`' can only be used on getter(+setter) properties.`))}function ut(e,t){return{annotationType_:e,options_:t,make_:dt,extend_:ft,decorate_20223_:pt}}function dt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ft(e,t,n,r){return mt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Re,r)}function pt(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");ke(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Yi(e)[A],i=new Qt(t,r.options_?.enhancer??Re,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[A].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[A].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function mt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
32
+ '`+a+`' cannot be used on getter/setter properties`))}var ht=`true`,gt=_t();function _t(e){return{annotationType_:ht,options_:e,make_:vt,extend_:yt,decorate_20223_:bt}}function vt(e,t,n,r){var i;if(n.get)return zt.make_(e,t,n,r);if(n.set){var a=cr(n.set)?n.set:Wt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:R.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?or.bound:or).make_(e,t,n,r)}var l=this.options_?.deep===!1?N.ref:N;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function yt(e,t,n,r){var i;return n.get?zt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:R.safeDescriptors?e.isPlainObject_:!0,set:Wt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?N.ref:N).extend_(e,t,n,r))}function bt(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var xt=`observable`,St=`observable.ref`,Ct=`observable.shallow`,wt=`observable.struct`,Tt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Tt);function Et(e){return e||Tt}var Dt=ut(xt),Ot=ut(St,{enhancer:Be}),kt=ut(Ct,{enhancer:ze}),At=ut(wt,{enhancer:Ve}),jt=we(Dt);function Mt(e){return e.deep===!0?Re:e.deep===!1?Be:M(e.defaultDecorator)}function Nt(e){return e?e.defaultDecorator??_t(e):void 0}function M(e){return e?e.options_?.enhancer??Re:Re}function Pt(e,t,n){if(Oe(t))return Dt.decorate_20223_(e,t);if(y(t)){Te(e,t,Dt);return}return Kr(e)?e:x(e)?N.object(e,t,n):Array.isArray(e)?N.array(e,t):w(e)?N.map(e,t):T(e)?N.set(e,t):typeof e==`object`&&e?e:N.box(e,t)}a(Pt,jt);var N=a(Pt,{box:function(e,t){var n=Et(t);return new Qt(e,Mt(n),n.name,!0,n.equals)},array:function(e,t){var n=Et(t);return(R.useProxies===!1||n.proxy===!1?ua:Di)(e,Mt(n),n.name)},map:function(e,t){var n=Et(t);return new Ri(e,Mt(n),n.name)},set:function(e,t){var n=Et(t);return new Ui(e,Mt(n),n.name)},object:function(e,t,n){return pa(function(){return Cr(R.useProxies===!1||n?.proxy===!1?Yi({},n):pi({},n),e,t)})},ref:we(Ot),shallow:we(kt),deep:jt,struct:we(At)}),Ft=`computed`,It=`computed.struct`,Lt=ot(Ft),Rt=ot(It,{equals:Le.structural}),zt=function(e,t){if(Oe(t))return Lt.decorate_20223_(e,t);if(y(t))return Te(e,t,Lt);if(x(e))return we(ot(Ft,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new en(r)};Object.assign(zt,Lt),zt.struct=we(Rt);var Bt=0,Vt=1,Ht=o(function(){},`name`)?.configurable??!1,Ut={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Wt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Gt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Ht&&(Ut.value=e,s(a,`name`,Ut)),a}function Gt(e,t,n,r,i){var a=Kt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{qt(a)}}function Kt(e,t,n,r){var i=Un()&&!!e,a=0;i&&(a=Date.now(),Gn({type:Yn,name:e,object:n,arguments:r?Array.from(r):l}));var o=R.trackingDerivation,s=!t||!o;kn();var c=R.allowStateChanges;s&&(L(),c=Yt(!0));var u=mn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Vt++,parentActionId_:Bt};return Bt=d.actionId_,d}function qt(e){Bt!==e.actionId_&&n(30),Bt=e.parentActionId_,e.error_!==void 0&&(R.suppressReactionErrors=!0),Xt(e.prevAllowStateChanges_),hn(e.prevAllowStateReads_),An(),e.runAsAction_&&pn(e.prevDerivation_),e.notifySpy_&&qn({time:Date.now()-e.startTime_}),R.suppressReactionErrors=!1}function Jt(e,t){var n=Yt(e);try{return t()}finally{Xt(n)}}function Yt(e){var t=R.allowStateChanges;return R.allowStateChanges=e,t}function Xt(e){R.allowStateChanges=e}var Zt=`create`,Qt=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Le.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Un()&&Wn({type:Zt,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ge(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==R.UNCHANGED){var n=Un();n&&Gn({type:Ci,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&qn()}},n.prepareNewValue_=function(e){if(cn(this),mi(this)){var t=G(this,{object:this,type:Ci,newValue:e});if(!t)return R.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?R.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),gi(this)&&vi(this,{type:Ci,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return hi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Ci,newValue:this.value_,oldValue:void 0}),_i(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return ae(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ae),$t=te(`ObservableValue`,Qt),en=function(){function e(e){this.dependenciesState_=P.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=P.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new rn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=nn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=Wt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Le.structural:Le.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Pn(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),R.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)on(this)&&(this.warnAboutUntrackedRead_(),kn(),this.value_=this.computeValue_(!1),An());else if(jn(this),on(this)){var e=R.trackingContext;this.keepAlive_&&!e&&(R.trackingContext=this),this.trackAndCompute()&&Nn(this),R.trackingContext=e}var t=this.value_;if(an(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===P.NOT_TRACKING_,n=this.computeValue_(!0),r=t||an(e)||an(n)||!this.equals_(e,n);return r&&(this.value_=n,Un()&&Wn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Yt(!1),n;if(e)n=un(this,this.derivation,this.scope_);else if(R.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new rn(e)}return Xt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(dn(this),this.value_=void 0,this.isTracing_!==nn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return lr(function(){var a=n.get();if(!r||t){var o=L();e({observableKind:`computed`,debugObjectName:n.name_,type:Ci,object:n,newValue:a,oldValue:i}),pn(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==nn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:R.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return ae(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},pe(e,[{key:`isComputing`,get:function(){return ce(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=le(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ce(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();en.isComputingMask_=1,en.isRunningSetterMask_=2,en.isBeingObservedMask_=4,en.isPendingUnobservationMask_=8,en.diffValueMask_=16;var tn=te(`ComputedValue`,en),P;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(P||={});var nn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(nn||={});var rn=function(e){this.cause=void 0,this.cause=e};function an(e){return e instanceof rn}function on(e){switch(e.dependenciesState_){case P.UP_TO_DATE_:return!1;case P.NOT_TRACKING_:case P.STALE_:return!0;case P.POSSIBLY_STALE_:for(var t=mn(!0),n=L(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(tn(o)){if(R.disableErrorBoundaries)o.get();else try{o.get()}catch{return pn(n),hn(t),!0}if(e.dependenciesState_===P.STALE_)return pn(n),hn(t),!0}}return gn(e),pn(n),hn(t),!1}}function sn(){return R.trackingDerivation!==null}function cn(e){var t=e.observers_.size>0;!R.allowStateChanges&&(t||R.enforceActions===`always`)&&console.warn(`[MobX] `+(R.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function ln(e){!R.allowStateReads&&R.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function un(e,t,n){var r=mn(!0);gn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++R.runId;var i=R.trackingDerivation;R.trackingDerivation=e,R.inBatch++;var a;if(R.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new rn(e)}return R.inBatch--,R.trackingDerivation=i,I(e),F(e),hn(r),a}function F(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:R.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function I(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=P.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Dn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,En(l,e))}r!==P.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function dn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Dn(t[n],e);e.dependenciesState_=P.NOT_TRACKING_}function fn(e){var t=L();try{return e()}finally{pn(t)}}function L(){var e=R.trackingDerivation;return R.trackingDerivation=null,e}function pn(e){R.trackingDerivation=e}function mn(e){var t=R.allowStateReads;return R.allowStateReads=e,t}function hn(e){R.allowStateReads=e}function gn(e){if(e.dependenciesState_!==P.UP_TO_DATE_){e.dependenciesState_=P.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=P.UP_TO_DATE_}}var _n=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],vn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},yn=!0,bn=!1,R=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(yn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new vn().version&&(yn=!1),yn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new vn):(setTimeout(function(){bn||n(35)},1),new vn)}();function xn(){if((R.pendingReactions.length||R.inBatch||R.isRunningReactions)&&n(36),bn=!0,yn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),R=new vn}}function Sn(){return R}function Cn(){var e=new vn;for(var t in e)_n.indexOf(t)===-1&&(R[t]=e[t]);R.allowStateChanges=!R.enforceActions}function wn(e){return e.observers_&&e.observers_.size>0}function Tn(e){return e.observers_}function En(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Dn(e,t){e.observers_.delete(t),e.observers_.size===0&&On(e)}function On(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,R.pendingUnobservations.push(e))}function kn(){R.inBatch++}function An(){if(--R.inBatch===0){Bn();for(var e=R.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof en&&n.suspend_())}R.pendingUnobservations=[]}}function jn(e){ln(e);var t=R.trackingDerivation;return t===null?(e.observers_.size===0&&R.inBatch>0&&On(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&R.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Mn(e){e.lowestObserverState_!==P.STALE_&&(e.lowestObserverState_=P.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===P.UP_TO_DATE_&&(t.isTracing_!==nn.NONE&&z(t,e),t.onBecomeStale_()),t.dependenciesState_=P.STALE_}))}function Nn(e){e.lowestObserverState_!==P.STALE_&&(e.lowestObserverState_=P.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===P.POSSIBLY_STALE_?(t.dependenciesState_=P.STALE_,t.isTracing_!==nn.NONE&&z(t,e)):t.dependenciesState_===P.UP_TO_DATE_&&(e.lowestObserverState_=P.UP_TO_DATE_)}))}function Pn(e){e.lowestObserverState_===P.UP_TO_DATE_&&(e.lowestObserverState_=P.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===P.UP_TO_DATE_&&(e.dependenciesState_=P.POSSIBLY_STALE_,e.onBecomeStale_())}))}function z(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===nn.BREAK){var n=[];Fn(wr(e),n,1),Function(`debugger;
33
33
  /*
34
34
  Tracing '`+e.name_+`'
35
35
 
@@ -37,57 +37,57 @@ You are entering this break point because derivation '`+e.name_+`' is being trac
37
37
  Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
38
38
  The stackframe you are looking for is at least ~6-8 stack-frames up.
39
39
 
40
- `+(e instanceof tn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
40
+ `+(e instanceof en?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
41
41
 
42
42
  The dependencies for this derivation are:
43
43
 
44
44
  `+n.join(`
45
45
  `)+`
46
46
  */
47
- `)()}}function Fn(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return Fn(e,t,n+1)})}var In=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=N.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=rn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,R.pendingReactions.push(this),Bn())},t.runReaction_=function(){if(!this.isDisposed){kn(),this.isScheduled=!1;var e=R.trackingContext;if(R.trackingContext=this,sn(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Un()&&Wn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}R.trackingContext=e,An()}},t.track=function(e){if(!this.isDisposed){kn();var t=Un(),n;t&&(n=Date.now(),Gn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=R.trackingContext;R.trackingContext=this;var i=P(this,e,void 0);R.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&fn(this),on(i)&&this.reportExceptionInDerivation_(i.cause),t&&qn({time:Date.now()-n}),An()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(R.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;R.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Un()&&Wn({type:`error`,name:this.name_,message:n,error:``+e}),R.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(kn(),fn(this),An()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[A]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),si(this,e)},pe(e,[{key:`isDisposed`,get:function(){return ce(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=le(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ce(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=le(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ce(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=le(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ce(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();In.isDisposedMask_=1,In.isScheduledMask_=2,In.isTrackPendingMask_=4,In.isRunningMask_=8,In.diffValueMask_=16;function Ln(e){return R.globalReactionErrorHandlers.push(e),function(){var t=R.globalReactionErrorHandlers.indexOf(e);t>=0&&R.globalReactionErrorHandlers.splice(t,1)}}var Rn=100,zn=function(e){return e()};function Bn(){R.inBatch>0||R.isRunningReactions||zn(Vn)}function Vn(){R.isRunningReactions=!0;for(var e=R.pendingReactions,t=0;e.length>0;){++t===Rn&&(console.error(`Reaction doesn't converge to a stable state after `+Rn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}R.isRunningReactions=!1}var B=te(`Reaction`,In);function Hn(e){var t=zn;zn=function(n){return e(function(){return t(n)})}}function Un(){return!!R.spyListeners.length}function Wn(e){if(R.spyListeners.length)for(var t=R.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Gn(e){Wn(O({},e,{spyReportStart:!0}))}var Kn={type:`report-end`,spyReportEnd:!0};function qn(e){Wn(e?O({},e,{type:`report-end`,spyReportEnd:!0}):Kn)}function Jn(e){return R.spyListeners.push(e),g(function(){R.spyListeners=R.spyListeners.filter(function(t){return t!==e})})}var Yn=`action`,Xn=`action.bound`,Zn=`autoAction`,Qn=`autoAction.bound`,$n=`<unnamed action>`,er=Je(Yn),tr=Je(Xn,{bound:!0}),nr=Je(Zn,{autoAction:!0}),rr=Je(Qn,{autoAction:!0,bound:!0});function ir(e){return function(t,r){if(v(t))return Gt(t.name||$n,t,e);if(v(r))return Gt(t,r,e);if(Oe(r))return(e?nr:er).decorate_20223_(t,r);if(y(r))return Te(t,r,e?nr:er);if(y(t))return we(Je(e?Zn:Yn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var ar=ir(!1);Object.assign(ar,er);var or=ir(!0);Object.assign(or,nr),ar.bound=we(tr),or.bound=we(rr);function sr(e){return Kt(e.name||$n,!1,e,this,void 0)}function cr(e){return v(e)&&e.isMobxAction===!0}function lr(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),cr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new In(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=dr(t),c=!1;o=new In(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var ur=function(e){return e()};function dr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:ur}function fr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=ar(a,r.onError?pr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=dr(r),l=!0,d=!1,f,p=r.compareStructural?Le.structural:r.equals||Le.default,m=new In(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Yt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function pr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var mr=`onBO`,hr=`onBUO`;function gr(e,t,n){return vr(mr,e,t,n)}function _r(e,t,n){return vr(hr,e,t,n)}function vr(e,t,n,r){var i=typeof r==`function`?da(t,n):da(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var yr=`never`,br=`always`,xr=`observed`;function Sr(e){e.isolateGlobalState===!0&&xn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(R.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(R.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;R.enforceActions=r,R.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(R[t]=!!e[t])}),R.allowStateReads=!R.observableRequiresReaction,R.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Hn(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),zi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Kr(t)||Kr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=se(t);return ma(function(){var t=Yi(e,i)[A];D(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(da(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(da(e,t))}function Dr(e){var t={name:e.name_};return wn(e)&&(t.observers=Array.from(Tn(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ge(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Se(Error));function jr(e){return e instanceof Ar}var Mr=et(`flow`),Nr=et(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(Oe(t))return Mr.decorate_20223_(e,t);if(y(t))return Te(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=ar(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=ar(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=ar(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=ar(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=we(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function Rr(e,t,r){var i;if(zi(e)||Pi(e)||en(e))i=fa(e);else if(Qi(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=fa(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function zr(e,t,n){return v(n)?Vr(e,t,n):Br(e,t)}function Br(e,t){return fa(e).intercept_(t)}function Vr(e,t,n){return fa(e,t).intercept_(n)}function Hr(e,t){return t===void 0?nn(e):Qi(e)===!1||!e[A].values_.has(t)?!1:nn(da(e,t))}function Ur(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Hr(e)}function Wr(e,t){return y(t)?Hr(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?Qi(e)||!!e[A]||je(e)||B(e)||nn(e):zi(e)||Pi(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):Qi(e)?e[A].values_.has(t):!1:!1}function Kr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`expected a property name as second argument`)}function Jr(e){if(Qi(e))return e[A].keys_();if(zi(e)||Wi(e))return Array.from(e.keys());if(Pi(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(Qi(e))return Jr(e).map(function(t){return e[t]});if(zi(e))return Jr(e).map(function(t){return e.get(t)});if(Wi(e))return Array.from(e.values());if(Pi(e))return e.slice();n(6)}function Xr(e){if(Qi(e))return Jr(e).map(function(t){return[t,e[t]]});if(zi(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(Wi(e))return Array.from(e.entries());if(Pi(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!Wi(e)){kn();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{An()}return}Qi(e)?e[A].set_(t,r):zi(e)?e.set(t,r):Wi(e)?e.add(t):Pi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),kn(),t>=e.length&&(e.length=t+1),e[t]=r,An()):n(8)}function V(e,t){Qi(e)?e[A].delete_(t):zi(e)||Wi(e)?e.delete(t):Pi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function H(e,t){if(Qi(e))return e[A].has_(t);if(zi(e)||Wi(e))return e.has(t);if(Pi(e))return t>=0&&t<e.length;n(10)}function Qr(e,t){if(H(e,t)){if(Qi(e))return e[A].get_(t);if(zi(e))return e.get(t);if(Pi(e))return e[t];n(11)}}function $r(e,t,r){if(Qi(e))return e[A].defineProperty_(t,r);n(39)}function ei(e){if(Qi(e))return e[A].ownKeys_();n(38)}function ti(e,t,n,r){return v(n)?ri(e,t,n,r):ni(e,t,n)}function ni(e,t,n){return fa(e).observe_(t,n)}function ri(e,t,n,r){return fa(e,t).observe_(n,r)}function ii(e,t,n){return e.set(t,n),n}function ai(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if(en(e)||nn(e))return ai(e.get(),t);if(t.has(e))return t.get(e);if(Pi(e)){var n=ii(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=ai(e,t)}),n}if(Wi(e)){var r=ii(t,e,new Set);return e.forEach(function(e){r.add(ai(e,t))}),r}if(zi(e)){var i=ii(t,e,new Map);return e.forEach(function(e,n){i.set(n,ai(e,t))}),i}else{var a=ii(t,e,{});return ei(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=ai(e[n],t))}),a}}function oi(e,t){return t&&n(`toJS no longer supports options`),ai(e,new Map)}function si(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ci(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===rn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?rn.BREAK:rn.LOG}function ci(e){switch(e.length){case 0:return R.trackingDerivation;case 1:return da(e[0]);case 2:return da(e[0],e[1])}}function U(e,t){t===void 0&&(t=void 0),kn();try{return e.apply(t)}finally{An()}}function li(e,t,n){return arguments.length===1||t&&typeof t==`object`?ui(e,t):W(e,t,n||{})}function W(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[A].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=Gt(n.name+`-effect`,t),o=lr(function(t){Yt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function ui(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=W(e,n,O({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function di(e){return e[A]}var fi={has:function(e,t){return R.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),di(e).has_(t)},get:function(e,t){return di(e).get_(t)},set:function(e,t,n){return y(t)?(di(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),di(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?di(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),di(e).defineProperty_(t,n)??!0},ownKeys:function(e){return R.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),di(e).ownKeys_()},preventExtensions:function(e){n(13)}};function pi(e,t){var n;return p(),e=Yi(e,t),(n=e[A]).proxy_??(n.proxy_=new Proxy(e,fi))}function mi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function hi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function gi(e,t){var r=I();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{L(r)}}function _i(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function vi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function yi(e,t){var n=I(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);L(n)}}function bi(e,t,r){return ma(function(){var i=Yi(e,r)[A];t&&e[Ce]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=De(e),D(t).forEach(function(e){return i.make_(e,t[e])})}),e}var xi=Symbol(`mobx-keys`);function Si(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),Qi(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(ma(function(){var n=Yi(e,r)[A];if(!e[xi]){var i=Object.getPrototypeOf(e),a=new Set([].concat(D(e),D(i)));a.delete(`constructor`),a.delete(A),C(i,xi,a)}e[xi].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ci=`splice`,wi=`update`,Ti=1e4,Ei={get:function(e,t){var n=e[A];return t===A?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):oe(ki,t)?ki[t]:e[t]},set:function(e,t,n){var r=e[A];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},Di=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Ae(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return hi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),vi(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&la(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;ln(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),mi(this)){var a=gi(this,{object:this.proxy_,type:Ci,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<Ti){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Un(),i=_i(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:wi,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Gn(a),this.atom_.reportChanged(),i&&yi(this,a),r&&qn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Un(),i=_i(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ci,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Gn(a),this.atom_.reportChanged(),i&&yi(this,a),r&&qn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){ln(this.atom_);var i=r[e];if(mi(this)){var a=gi(this,{type:wi,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Oi(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ma(function(){var i=new Di(n,t,r,!1);ee(i.values_,A,i);var a=new Proxy(i.values_,Ei);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var ki={clear:function(){return this.splice(0)},replace:function(e){var t=this[A];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[A];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[A].spliceWithArray_(e,t,n)},push:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[A].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return R.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){R.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[A],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};G(`at`,Ai),G(`concat`,Ai),G(`flat`,Ai),G(`includes`,Ai),G(`indexOf`,Ai),G(`join`,Ai),G(`lastIndexOf`,Ai),G(`slice`,Ai),G(`toString`,Ai),G(`toLocaleString`,Ai),G(`toSorted`,Ai),G(`toSpliced`,Ai),G(`with`,Ai),G(`every`,ji),G(`filter`,ji),G(`find`,ji),G(`findIndex`,ji),G(`findLast`,ji),G(`findLastIndex`,ji),G(`flatMap`,ji),G(`forEach`,ji),G(`map`,ji),G(`some`,ji),G(`toReversed`,ji),G(`reduce`,Mi),G(`reduceRight`,Mi);function G(e,t){typeof Array.prototype[e]==`function`&&(ki[e]=t(e))}function Ai(e){return function(){var t=this[A];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function ji(e){return function(t,n){var r=this,i=this[A];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Mi(e){return function(){var t=this,n=this[A];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Ni=te(`ObservableArrayAdministration`,Di);function Pi(e){return b(e)&&Ni(e[A])}var Fi={},Ii=`add`,Li=`delete`,Ri=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[A]=Fi,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ma(function(){i.keysAtom_=Me(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!R.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new $t(this.has_(e),Be,this.name_+`.`+ie(e)+`?`,!1);this.hasMap_.set(e,r),_r(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(mi(this)){var r=gi(this,{type:n?wi:Ii,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(ln(this.keysAtom_),mi(this)&&!gi(this,{type:Li,object:this,name:e}))return!1;if(this.has_(e)){var n=Un(),r=_i(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Li,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Gn(i),U(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&yi(this,i),n&&qn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var r=Un(),i=_i(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:wi,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Gn(a),n.setNewValue_(t),i&&yi(this,a),r&&qn()}},t.addValue_=function(e,t){var n=this;ln(this.keysAtom_),U(function(){var r,i=new $t(t,n.enhancer_,n.name_+`.`+ie(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Un(),i=_i(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ii,object:this,name:e,newValue:t}:null;r&&Gn(a),i&&yi(this,a),r&&qn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Bi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Bi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return zi(e)&&(e=new Map(e)),U(function(){x(e)?E(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):w(e)?(ne(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;U(function(){pn(function(){for(var t=me(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return U(function(){for(var n=Vi(e),r=new Map,i=!1,a=me(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=me(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),vi(this,e)},t.intercept_=function(e){return hi(this,e)},pe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),zi=te(`ObservableMap`,Ri);function Bi(e){return e[Symbol.toStringTag]=`MapIterator`,ba(e)}function Vi(e){if(w(e)||zi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Hi={},Ui=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[A]=Hi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ma(function(){i.atom_=Me(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;U(function(){pn(function(){for(var t=me(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(ln(this.atom_),mi(this)){var n=gi(this,{type:Ii,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){U(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Un(),i=_i(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Ii,object:this,newValue:e}:null;r&&Gn(a),i&&yi(this,a),r&&qn()}return this},t.delete=function(e){var t=this;if(mi(this)&&!gi(this,{type:Li,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Un(),r=_i(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Li,object:this,oldValue:e}:null;return n&&Gn(i),U(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&yi(this,i),n&&qn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return Gi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return Gi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return T(e)&&!Wi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return T(e)&&!Wi(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return T(e)&&!Wi(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return T(e)&&!Wi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Wi(e)&&(e=new Set(e)),U(function(){Array.isArray(e)||T(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),vi(this,e)},t.intercept_=function(e){return hi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},pe(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Wi=te(`ObservableSet`,Ui);function Gi(e){return e[Symbol.toStringTag]=`SetIterator`,ba(e)}var Ki=Object.create(null),qi=`remove`,Ji=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=gt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Ae(this.name_+`.keys`),this.isPlainObject_=x(this.target_),Sa(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof tn)return n.set(t),!0;if(mi(this)){var r=gi(this,{type:wi,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var i=_i(this),a=Un(),o=i||a?{type:wi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Gn(o),n.setNewValue_(t),i&&yi(this,o),a&&qn()}return!0},t.get_=function(e){return R.trackingDerivation&&!oe(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),oe(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!R.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new $t(e in this.target_,Be,this.name_+`.`+ie(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(ea(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Ce])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}$i(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);ea(this,n,e);var i=n.extend_(this,e,t,r);return i&&$i(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),ln(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(mi(this)){var i=gi(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=O({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{An()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),ln(this.keysAtom_);try{kn();var i=this.delete_(e);if(!i)return i;if(mi(this)){var a=gi(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:t});if(!a)return null;t=a.newValue}var o=Zi(e),c={configurable:R.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new $t(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{An()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),ln(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(mi(this)&&!gi(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=Zi(e),a={configurable:R.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new tn(t)),this.notifyPropertyAddition_(e,void 0)}finally{An()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),ln(this.keysAtom_),!oe(this.target_,e))return!0;if(mi(this)&&!gi(this,{object:this.proxy_||this.target_,name:e,type:qi}))return null;try{var n;kn();var r=_i(this),i=Un(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof $t&&(s=a.value_),Mn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:qi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Gn(c),r&&yi(this,c),i&&qn()}}finally{An()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),vi(this,e)},t.intercept_=function(e){return hi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=_i(this),i=Un();if(r||i){var a=r||i?{type:Ii,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Gn(a),r&&yi(this,a),i&&qn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),D(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Yi(e,t){if(t&&Qi(e)&&n(`Options can't be provided for already observable objects.`),oe(e,A))return fa(e)instanceof Ji||n(`Cannot convert '`+pa(e)+`' into observable object:
47
+ `)()}}function Fn(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return Fn(e,t,n+1)})}var In=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=P.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=nn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,R.pendingReactions.push(this),Bn())},t.runReaction_=function(){if(!this.isDisposed){kn(),this.isScheduled=!1;var e=R.trackingContext;if(R.trackingContext=this,on(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Un()&&Wn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}R.trackingContext=e,An()}},t.track=function(e){if(!this.isDisposed){kn();var t=Un(),n;t&&(n=Date.now(),Gn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=R.trackingContext;R.trackingContext=this;var i=un(this,e,void 0);R.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&dn(this),an(i)&&this.reportExceptionInDerivation_(i.cause),t&&qn({time:Date.now()-n}),An()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(R.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;R.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Un()&&Wn({type:`error`,name:this.name_,message:n,error:``+e}),R.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(kn(),dn(this),An()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[A]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),si(this,e)},pe(e,[{key:`isDisposed`,get:function(){return ce(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=le(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ce(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=le(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ce(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=le(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ce(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();In.isDisposedMask_=1,In.isScheduledMask_=2,In.isTrackPendingMask_=4,In.isRunningMask_=8,In.diffValueMask_=16;function Ln(e){return R.globalReactionErrorHandlers.push(e),function(){var t=R.globalReactionErrorHandlers.indexOf(e);t>=0&&R.globalReactionErrorHandlers.splice(t,1)}}var Rn=100,zn=function(e){return e()};function Bn(){R.inBatch>0||R.isRunningReactions||zn(Vn)}function Vn(){R.isRunningReactions=!0;for(var e=R.pendingReactions,t=0;e.length>0;){++t===Rn&&(console.error(`Reaction doesn't converge to a stable state after `+Rn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}R.isRunningReactions=!1}var B=te(`Reaction`,In);function Hn(e){var t=zn;zn=function(n){return e(function(){return t(n)})}}function Un(){return!!R.spyListeners.length}function Wn(e){if(R.spyListeners.length)for(var t=R.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Gn(e){Wn(O({},e,{spyReportStart:!0}))}var Kn={type:`report-end`,spyReportEnd:!0};function qn(e){Wn(e?O({},e,{type:`report-end`,spyReportEnd:!0}):Kn)}function Jn(e){return R.spyListeners.push(e),g(function(){R.spyListeners=R.spyListeners.filter(function(t){return t!==e})})}var Yn=`action`,Xn=`action.bound`,Zn=`autoAction`,Qn=`autoAction.bound`,$n=`<unnamed action>`,er=Je(Yn),tr=Je(Xn,{bound:!0}),nr=Je(Zn,{autoAction:!0}),rr=Je(Qn,{autoAction:!0,bound:!0});function ir(e){return function(t,r){if(v(t))return Wt(t.name||$n,t,e);if(v(r))return Wt(t,r,e);if(Oe(r))return(e?nr:er).decorate_20223_(t,r);if(y(r))return Te(t,r,e?nr:er);if(y(t))return we(Je(e?Zn:Yn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var ar=ir(!1);Object.assign(ar,er);var or=ir(!0);Object.assign(or,nr),ar.bound=we(tr),or.bound=we(rr);function sr(e){return Gt(e.name||$n,!1,e,this,void 0)}function cr(e){return v(e)&&e.isMobxAction===!0}function lr(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),cr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new In(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=dr(t),c=!1;o=new In(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var ur=function(e){return e()};function dr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:ur}function fr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=ar(a,r.onError?pr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=dr(r),l=!0,d=!1,f,p=r.compareStructural?Le.structural:r.equals||Le.default,m=new In(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Jt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function pr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var mr=`onBO`,hr=`onBUO`;function gr(e,t,n){return vr(mr,e,t,n)}function _r(e,t,n){return vr(hr,e,t,n)}function vr(e,t,n,r){var i=typeof r==`function`?K(t,n):K(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var yr=`never`,br=`always`,xr=`observed`;function Sr(e){e.isolateGlobalState===!0&&xn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(R.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(R.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;R.enforceActions=r,R.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(R[t]=!!e[t])}),R.allowStateReads=!R.observableRequiresReaction,R.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Hn(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),zi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Kr(t)||Kr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=se(t);return pa(function(){var t=Yi(e,i)[A];D(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(K(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(K(e,t))}function Dr(e){var t={name:e.name_};return wn(e)&&(t.observers=Array.from(Tn(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ge(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Se(Error));function jr(e){return e instanceof Ar}var Mr=et(`flow`),Nr=et(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(Oe(t))return Mr.decorate_20223_(e,t);if(y(t))return Te(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=ar(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=ar(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=ar(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=ar(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=we(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function Rr(e,t,r){var i;if(zi(e)||Pi(e)||$t(e))i=da(e);else if(Qi(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=da(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function zr(e,t,n){return v(n)?Vr(e,t,n):Br(e,t)}function Br(e,t){return da(e).intercept_(t)}function Vr(e,t,n){return da(e,t).intercept_(n)}function Hr(e,t){return t===void 0?tn(e):Qi(e)===!1||!e[A].values_.has(t)?!1:tn(K(e,t))}function Ur(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Hr(e)}function Wr(e,t){return y(t)?Hr(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?Qi(e)||!!e[A]||je(e)||B(e)||tn(e):zi(e)||Pi(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):Qi(e)?e[A].values_.has(t):!1:!1}function Kr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`expected a property name as second argument`)}function Jr(e){if(Qi(e))return e[A].keys_();if(zi(e)||Wi(e))return Array.from(e.keys());if(Pi(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(Qi(e))return Jr(e).map(function(t){return e[t]});if(zi(e))return Jr(e).map(function(t){return e.get(t)});if(Wi(e))return Array.from(e.values());if(Pi(e))return e.slice();n(6)}function Xr(e){if(Qi(e))return Jr(e).map(function(t){return[t,e[t]]});if(zi(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(Wi(e))return Array.from(e.entries());if(Pi(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!Wi(e)){kn();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{An()}return}Qi(e)?e[A].set_(t,r):zi(e)?e.set(t,r):Wi(e)?e.add(t):Pi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),kn(),t>=e.length&&(e.length=t+1),e[t]=r,An()):n(8)}function Qr(e,t){Qi(e)?e[A].delete_(t):zi(e)||Wi(e)?e.delete(t):Pi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function V(e,t){if(Qi(e))return e[A].has_(t);if(zi(e)||Wi(e))return e.has(t);if(Pi(e))return t>=0&&t<e.length;n(10)}function H(e,t){if(V(e,t)){if(Qi(e))return e[A].get_(t);if(zi(e))return e.get(t);if(Pi(e))return e[t];n(11)}}function $r(e,t,r){if(Qi(e))return e[A].defineProperty_(t,r);n(39)}function ei(e){if(Qi(e))return e[A].ownKeys_();n(38)}function ti(e,t,n,r){return v(n)?ri(e,t,n,r):ni(e,t,n)}function ni(e,t,n){return da(e).observe_(t,n)}function ri(e,t,n,r){return da(e,t).observe_(n,r)}function ii(e,t,n){return e.set(t,n),n}function ai(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if($t(e)||tn(e))return ai(e.get(),t);if(t.has(e))return t.get(e);if(Pi(e)){var n=ii(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=ai(e,t)}),n}if(Wi(e)){var r=ii(t,e,new Set);return e.forEach(function(e){r.add(ai(e,t))}),r}if(zi(e)){var i=ii(t,e,new Map);return e.forEach(function(e,n){i.set(n,ai(e,t))}),i}else{var a=ii(t,e,{});return ei(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=ai(e[n],t))}),a}}function oi(e,t){return t&&n(`toJS no longer supports options`),ai(e,new Map)}function si(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ci(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===nn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?nn.BREAK:nn.LOG}function ci(e){switch(e.length){case 0:return R.trackingDerivation;case 1:return K(e[0]);case 2:return K(e[0],e[1])}}function li(e,t){t===void 0&&(t=void 0),kn();try{return e.apply(t)}finally{An()}}function U(e,t,n){return arguments.length===1||t&&typeof t==`object`?W(e,t):ui(e,t,n||{})}function ui(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[A].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=Wt(n.name+`-effect`,t),o=lr(function(t){Jt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function W(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=ui(e,n,O({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function di(e){return e[A]}var fi={has:function(e,t){return R.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),di(e).has_(t)},get:function(e,t){return di(e).get_(t)},set:function(e,t,n){return y(t)?(di(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),di(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?di(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),di(e).defineProperty_(t,n)??!0},ownKeys:function(e){return R.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),di(e).ownKeys_()},preventExtensions:function(e){n(13)}};function pi(e,t){var n;return p(),e=Yi(e,t),(n=e[A]).proxy_??(n.proxy_=new Proxy(e,fi))}function mi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function hi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function G(e,t){var r=L();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{pn(r)}}function gi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function _i(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function vi(e,t){var n=L(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);pn(n)}}function yi(e,t,r){return pa(function(){var i=Yi(e,r)[A];t&&e[Ce]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=De(e),D(t).forEach(function(e){return i.make_(e,t[e])})}),e}var bi=Symbol(`mobx-keys`);function xi(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),Qi(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(pa(function(){var n=Yi(e,r)[A];if(!e[bi]){var i=Object.getPrototypeOf(e),a=new Set([].concat(D(e),D(i)));a.delete(`constructor`),a.delete(A),C(i,bi,a)}e[bi].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Si=`splice`,Ci=`update`,wi=1e4,Ti={get:function(e,t){var n=e[A];return t===A?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):oe(Oi,t)?Oi[t]:e[t]},set:function(e,t,n){var r=e[A];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},Ei=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Ae(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return hi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),_i(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&la(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;cn(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),mi(this)){var a=G(this,{object:this.proxy_,type:Si,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<wi){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Un(),i=gi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Ci,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Gn(a),this.atom_.reportChanged(),i&&vi(this,a),r&&qn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Un(),i=gi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Si,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Gn(a),this.atom_.reportChanged(),i&&vi(this,a),r&&qn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){cn(this.atom_);var i=r[e];if(mi(this)){var a=G(this,{type:Ci,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Di(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),pa(function(){var i=new Ei(n,t,r,!1);ee(i.values_,A,i);var a=new Proxy(i.values_,Ti);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var Oi={clear:function(){return this.splice(0)},replace:function(e){var t=this[A];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[A];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[A].spliceWithArray_(e,t,n)},push:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[A].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return R.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){R.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[A],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};ki(`at`,Ai),ki(`concat`,Ai),ki(`flat`,Ai),ki(`includes`,Ai),ki(`indexOf`,Ai),ki(`join`,Ai),ki(`lastIndexOf`,Ai),ki(`slice`,Ai),ki(`toString`,Ai),ki(`toLocaleString`,Ai),ki(`toSorted`,Ai),ki(`toSpliced`,Ai),ki(`with`,Ai),ki(`every`,ji),ki(`filter`,ji),ki(`find`,ji),ki(`findIndex`,ji),ki(`findLast`,ji),ki(`findLastIndex`,ji),ki(`flatMap`,ji),ki(`forEach`,ji),ki(`map`,ji),ki(`some`,ji),ki(`toReversed`,ji),ki(`reduce`,Mi),ki(`reduceRight`,Mi);function ki(e,t){typeof Array.prototype[e]==`function`&&(Oi[e]=t(e))}function Ai(e){return function(){var t=this[A];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function ji(e){return function(t,n){var r=this,i=this[A];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Mi(e){return function(){var t=this,n=this[A];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Ni=te(`ObservableArrayAdministration`,Ei);function Pi(e){return b(e)&&Ni(e[A])}var Fi={},Ii=`add`,Li=`delete`,Ri=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[A]=Fi,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),pa(function(){i.keysAtom_=Me(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!R.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new Qt(this.has_(e),Be,this.name_+`.`+ie(e)+`?`,!1);this.hasMap_.set(e,r),_r(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(mi(this)){var r=G(this,{type:n?Ci:Ii,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(cn(this.keysAtom_),mi(this)&&!G(this,{type:Li,object:this,name:e}))return!1;if(this.has_(e)){var n=Un(),r=gi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Li,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Gn(i),li(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&vi(this,i),n&&qn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var r=Un(),i=gi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ci,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Gn(a),n.setNewValue_(t),i&&vi(this,a),r&&qn()}},t.addValue_=function(e,t){var n=this;cn(this.keysAtom_),li(function(){var r,i=new Qt(t,n.enhancer_,n.name_+`.`+ie(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Un(),i=gi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ii,object:this,name:e,newValue:t}:null;r&&Gn(a),i&&vi(this,a),r&&qn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Bi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Bi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return zi(e)&&(e=new Map(e)),li(function(){x(e)?E(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):w(e)?(ne(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;li(function(){fn(function(){for(var t=me(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return li(function(){for(var n=Vi(e),r=new Map,i=!1,a=me(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=me(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),_i(this,e)},t.intercept_=function(e){return hi(this,e)},pe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),zi=te(`ObservableMap`,Ri);function Bi(e){return e[Symbol.toStringTag]=`MapIterator`,ya(e)}function Vi(e){if(w(e)||zi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Hi={},Ui=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[A]=Hi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},pa(function(){i.atom_=Me(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;li(function(){fn(function(){for(var t=me(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(cn(this.atom_),mi(this)){var n=G(this,{type:Ii,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){li(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Un(),i=gi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Ii,object:this,newValue:e}:null;r&&Gn(a),i&&vi(this,a),r&&qn()}return this},t.delete=function(e){var t=this;if(mi(this)&&!G(this,{type:Li,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Un(),r=gi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Li,object:this,oldValue:e}:null;return n&&Gn(i),li(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&vi(this,i),n&&qn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return Gi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return Gi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return T(e)&&!Wi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return T(e)&&!Wi(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return T(e)&&!Wi(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return T(e)&&!Wi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Wi(e)&&(e=new Set(e)),li(function(){Array.isArray(e)||T(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),_i(this,e)},t.intercept_=function(e){return hi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},pe(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Wi=te(`ObservableSet`,Ui);function Gi(e){return e[Symbol.toStringTag]=`SetIterator`,ya(e)}var Ki=Object.create(null),qi=`remove`,Ji=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=gt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Ae(this.name_+`.keys`),this.isPlainObject_=x(this.target_),xa(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof en)return n.set(t),!0;if(mi(this)){var r=G(this,{type:Ci,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var i=gi(this),a=Un(),o=i||a?{type:Ci,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Gn(o),n.setNewValue_(t),i&&vi(this,o),a&&qn()}return!0},t.get_=function(e){return R.trackingDerivation&&!oe(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),oe(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!R.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new Qt(e in this.target_,Be,this.name_+`.`+ie(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(ea(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Ce])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}$i(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);ea(this,n,e);var i=n.extend_(this,e,t,r);return i&&$i(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),cn(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(mi(this)){var i=G(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=O({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{An()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),cn(this.keysAtom_);try{kn();var i=this.delete_(e);if(!i)return i;if(mi(this)){var a=G(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:t});if(!a)return null;t=a.newValue}var o=Zi(e),c={configurable:R.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new Qt(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{An()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),cn(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(mi(this)&&!G(this,{object:this.proxy_||this.target_,name:e,type:Ii,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=Zi(e),a={configurable:R.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new en(t)),this.notifyPropertyAddition_(e,void 0)}finally{An()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),cn(this.keysAtom_),!oe(this.target_,e))return!0;if(mi(this)&&!G(this,{object:this.proxy_||this.target_,name:e,type:qi}))return null;try{var n;kn();var r=gi(this),i=Un(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof Qt&&(s=a.value_),Mn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:qi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Gn(c),r&&vi(this,c),i&&qn()}}finally{An()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),_i(this,e)},t.intercept_=function(e){return hi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=gi(this),i=Un();if(r||i){var a=r||i?{type:Ii,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Gn(a),r&&vi(this,a),i&&qn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),D(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Yi(e,t){if(t&&Qi(e)&&n(`Options can't be provided for already observable objects.`),oe(e,A))return da(e)instanceof Ji||n(`Cannot convert '`+fa(e)+`' into observable object:
48
48
  The target is already observable of different type.
49
- Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,A,new Ji(e,new Map,String(r),Nt(t))),e}var Xi=te(`ObservableObjectAdministration`,Ji);function Zi(e){return Ki[e]||(Ki[e]={get:function(){return this[A].getObservablePropValue_(e)},set:function(t){return this[A].setObservablePropValue_(e,t)}})}function Qi(e){return b(e)?Xi(e[A]):!1}function $i(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Ce])==null||delete r[n]}function ea(e,t,r){if(Sa(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!We(t)&&oe(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
49
+ Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,A,new Ji(e,new Map,String(r),Nt(t))),e}var Xi=te(`ObservableObjectAdministration`,Ji);function Zi(e){return Ki[e]||(Ki[e]={get:function(){return this[A].getObservablePropValue_(e)},set:function(t){return this[A].setObservablePropValue_(e,t)}})}function Qi(e){return b(e)?Xi(e[A]):!1}function $i(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Ce])==null||delete r[n]}function ea(e,t,r){if(xa(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!We(t)&&oe(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
50
50
  The field is already annotated with '`+a+`'.`)+`
51
51
  Re-annotating fields is not allowed.
52
- Use 'override' annotation for methods overridden by subclass.`)}}var ta=sa(0),na=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ra=0,ia=function(){};function aa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}aa(ia,Array.prototype);var oa=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ma(function(){var e=new Di(r,n,i,!0);e.proxy_=a,ee(a,A,e),t&&t.length&&a.spliceWithArray(0,0,t),na&&Object.defineProperty(a,`0`,ta)}),a}ge(t,e);var n=t.prototype;return n.concat=function(){this[A].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Pi(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return ba({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},pe(t,[{key:`length`,get:function(){return this[A].getArrayLength_()},set:function(e){this[A].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(ia);Object.entries(ki).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(oa.prototype,t,n)});function sa(e){return{enumerable:!1,configurable:!0,get:function(){return this[A].get_(e)},set:function(t){this[A].set_(e,t)}}}function ca(e){s(oa.prototype,``+e,sa(e))}function la(e){if(e>ra){for(var t=ra;t<e+100;t++)ca(t);ra=e}}la(1e3);function ua(e,t,n){return new oa(e,t,n)}function da(e,t){if(typeof e==`object`&&e){if(Pi(e))return t!==void 0&&n(23),e[A].atom_;if(Wi(e))return e.atom_;if(zi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,pa(e)),r}if(Qi(e)){if(!t)return n(26);var i=e[A].values_.get(t);return i||n(27,t,pa(e)),i}if(je(e)||nn(e)||B(e))return e}else if(v(e)&&B(e[A]))return e[A];n(28)}function fa(e,t){if(e||n(29),t!==void 0)return fa(da(e,t));if(je(e)||nn(e)||B(e)||zi(e)||Wi(e))return e;if(e[A])return e[A];n(24,e)}function pa(e,t){var n;if(t!==void 0)n=da(e,t);else if(cr(e))return e.name;else n=Qi(e)||zi(e)||Wi(e)?fa(e):da(e);return n.name_}function ma(e){var t=I(),n=Xt(!0);kn();try{return e()}finally{An(),Zt(n),L(t)}}var ha=c.toString;function ga(e,t,n){return n===void 0&&(n=-1),_a(e,t,n)}function _a(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=ha.call(e);if(o!==ha.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=va(e),t=va(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!_a(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(oe(t,m)&&_a(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function va(e){return Pi(e)?e.slice():w(e)||zi(e)||T(e)||Wi(e)?Array.from(e.entries()):e}var ya=i().Iterator?.prototype||{};function ba(e){return e[Symbol.iterator]=xa,Object.assign(Object.create(ya),e)}function xa(){return this}function Sa(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Jn,extras:{getDebugName:pa},$mobx:A}),e.$mobx=A,e.FlowCancellationError=Ar,e.ObservableMap=Ri,e.ObservableSet=Ui,e.Reaction=In,e._allowStateChanges=Yt,e._allowStateChangesInsideComputed=sr,e._allowStateReadsEnd=hn,e._allowStateReadsStart=mn,e._autoAction=or,e._endAction=Jt,e._getAdministration=fa,e._getGlobalState=Sn,e._interceptReads=Rr,e._isComputingDerivation=cn,e._resetGlobalState=Cn,e._startAction=qt,e.action=ar,e.autorun=lr,e.comparer=Le,e.computed=Bt,e.configure=Sr,e.createAtom=Me,e.defineProperty=$r,e.entries=Xr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=Qr,e.getAtom=da,e.getDebugName=pa,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=H,e.intercept=zr,e.isAction=cr,e.isBoxedObservable=en,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Kr,e.isObservableArray=Pi,e.isObservableMap=zi,e.isObservableObject=Qi,e.isObservableProp=qr,e.isObservableSet=Wi,e.keys=Jr,e.makeAutoObservable=Si,e.makeObservable=bi,e.observable=M,e.observe=ti,e.onBecomeObserved=gr,e.onBecomeUnobserved=_r,e.onReactionError=Ln,e.override=Ue,e.ownKeys=ei,e.reaction=fr,e.remove=V,e.runInAction=sr,e.set=Zr,e.spy=Jn,e.toJS=oi,e.trace=si,e.transaction=U,e.untracked=pn,e.values=Yr,e.when=li})),J=fe(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=_o():t.exports=vo()}))(),yo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},bo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};let xo=(()=>{let e=[],t,n=[],r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_,v,y,b;return class{static{let x=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;t=[J.observable],i=[J.observable],s=[J.observable],u=[J.observable],p=[J.observable],g=[J.action],_=[J.action],v=[J.action],y=[J.action],b=[J.action],bo(this,null,t,{kind:`accessor`,name:`focused`,static:!1,private:!1,access:{has:e=>`focused`in e,get:e=>e.focused,set:(e,t)=>{e.focused=t}},metadata:x},n,r),bo(this,null,i,{kind:`accessor`,name:`hovered`,static:!1,private:!1,access:{has:e=>`hovered`in e,get:e=>e.hovered,set:(e,t)=>{e.hovered=t}},metadata:x},a,o),bo(this,null,s,{kind:`accessor`,name:`active`,static:!1,private:!1,access:{has:e=>`active`in e,get:e=>e.active,set:(e,t)=>{e.active=t}},metadata:x},c,l),bo(this,null,u,{kind:`accessor`,name:`disabled`,static:!1,private:!1,access:{has:e=>`disabled`in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:x},d,f),bo(this,null,p,{kind:`accessor`,name:`visible`,static:!1,private:!1,access:{has:e=>`visible`in e,get:e=>e.visible,set:(e,t)=>{e.visible=t}},metadata:x},m,h),bo(this,null,g,{kind:`method`,name:`handleFocus`,static:!1,private:!1,access:{has:e=>`handleFocus`in e,get:e=>e.handleFocus},metadata:x},null,e),bo(this,null,_,{kind:`method`,name:`focus`,static:!1,private:!1,access:{has:e=>`focus`in e,get:e=>e.focus},metadata:x},null,e),bo(this,null,v,{kind:`method`,name:`blur`,static:!1,private:!1,access:{has:e=>`blur`in e,get:e=>e.blur},metadata:x},null,e),bo(this,null,y,{kind:`method`,name:`setDisabled`,static:!1,private:!1,access:{has:e=>`setDisabled`in e,get:e=>e.setDisabled},metadata:x},null,e),bo(this,null,b,{kind:`method`,name:`setHovered`,static:!1,private:!1,access:{has:e=>`setHovered`in e,get:e=>e.setHovered},metadata:x},null,e),x&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:x})}#e=(yo(this,e),yo(this,n,!1));get focused(){return this.#e}set focused(e){this.#e=e}#t=(yo(this,r),yo(this,a,!1));get hovered(){return this.#t}set hovered(e){this.#t=e}#n=(yo(this,o),yo(this,c,!1));get active(){return this.#n}set active(e){this.#n=e}#r=(yo(this,l),yo(this,d,!1));get disabled(){return this.#r}set disabled(e){this.#r=e}#i=(yo(this,f),yo(this,m,!0));get visible(){return this.#i}set visible(e){this.#i=e}#a=(yo(this,h),null);get bounds(){return this.#a}set bounds(e){this.#a=e}changeHandlers=new Set;submitHandlers=new Set;constructor(){(0,J.makeObservable)(this)}handleMouse(e){}handleFocus(e){this.focused=e.type===`focus`}focus(){this.handleFocus({type:`focus`})}blur(){this.handleFocus({type:`blur`})}setDisabled(e){this.disabled=e}setHovered(e){this.hovered=e}containsPoint(e,t){let n=this.bounds;return n?e>=n.x&&e<n.x+n.width&&t>=n.y&&t<n.y+n.height:!1}onChange(e){return this.changeHandlers.add(e),()=>this.changeHandlers.delete(e)}onSubmit(e){return this.submitHandlers.add(e),()=>this.submitHandlers.delete(e)}emitChange(){for(let e of this.changeHandlers)e(this)}emitSubmit(){for(let e of this.submitHandlers)e(this)}}})();var So=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Co=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};let wo=(()=>{var e,t;let n=[],r,i=[],a=[],o,s=[],c=[],l,u,d,f,p,m,h;return class{static{let g=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;r=[(e=J.observable).shallow.bind(e)],o=[(t=J.observable).ref.bind(t)],l=[J.action],u=[J.action],d=[J.action],f=[J.action],p=[J.action],m=[J.action],h=[J.action],Co(this,null,r,{kind:`accessor`,name:`widgetList`,static:!1,private:!1,access:{has:e=>`widgetList`in e,get:e=>e.widgetList,set:(e,t)=>{e.widgetList=t}},metadata:g},i,a),Co(this,null,o,{kind:`accessor`,name:`currentWidget`,static:!1,private:!1,access:{has:e=>`currentWidget`in e,get:e=>e.currentWidget,set:(e,t)=>{e.currentWidget=t}},metadata:g},s,c),Co(this,null,l,{kind:`method`,name:`register`,static:!1,private:!1,access:{has:e=>`register`in e,get:e=>e.register},metadata:g},null,n),Co(this,null,u,{kind:`method`,name:`unregister`,static:!1,private:!1,access:{has:e=>`unregister`in e,get:e=>e.unregister},metadata:g},null,n),Co(this,null,d,{kind:`method`,name:`next`,static:!1,private:!1,access:{has:e=>`next`in e,get:e=>e.next},metadata:g},null,n),Co(this,null,f,{kind:`method`,name:`prev`,static:!1,private:!1,access:{has:e=>`prev`in e,get:e=>e.prev},metadata:g},null,n),Co(this,null,p,{kind:`method`,name:`focus`,static:!1,private:!1,access:{has:e=>`focus`in e,get:e=>e.focus},metadata:g},null,n),Co(this,null,m,{kind:`method`,name:`blur`,static:!1,private:!1,access:{has:e=>`blur`in e,get:e=>e.blur},metadata:g},null,n),Co(this,null,h,{kind:`method`,name:`setFocus`,static:!1,private:!1,access:{has:e=>`setFocus`in e,get:e=>e.setFocus},metadata:g},null,n),g&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:g})}#e=(So(this,n),So(this,i,[]));get widgetList(){return this.#e}set widgetList(e){this.#e=e}#t=(So(this,a),So(this,s,null));get currentWidget(){return this.#t}set currentWidget(e){this.#t=e}changeHandlers=(So(this,c),new Set);constructor(){(0,J.makeObservable)(this)}get current(){return this.currentWidget}get widgets(){return this.widgetList}register(e){this.widgetList.includes(e)||(this.widgetList=[...this.widgetList,e],!this.currentWidget&&e.focusable&&!e.disabled&&this.setFocus(e))}unregister(e){if(this.widgetList.indexOf(e)!==-1&&(this.widgetList=this.widgetList.filter(t=>t!==e),this.currentWidget===e)){e.blur();let t=this.widgetList.find(e=>e.focusable&&!e.disabled)??null;t&&t.focus(),this.currentWidget=t,this.emitChange()}}next(){let e=this.focusableWidgets();if(e.length===0)return;let t=((this.currentWidget?e.indexOf(this.currentWidget):-1)+1)%e.length;this.setFocus(e[t])}prev(){let e=this.focusableWidgets();if(e.length===0)return;let t=this.currentWidget?e.indexOf(this.currentWidget):-1,n=t<=0?e.length-1:t-1;this.setFocus(e[n])}focus(e){!e.focusable||e.disabled||this.widgetList.includes(e)&&this.setFocus(e)}blur(){this.currentWidget&&(this.currentWidget.blur(),this.currentWidget=null,this.emitChange())}onChange(e){return this.changeHandlers.add(e),()=>this.changeHandlers.delete(e)}handleKey(e){e.key===`tab`&&(e.shift?this.prev():this.next(),e.stop())}focusableWidgets(){return this.widgetList.filter(e=>e.focusable&&!e.disabled)}setFocus(e){this.currentWidget!==e&&(this.currentWidget&&this.currentWidget.blur(),this.currentWidget=e,e.focus(),this.emitChange())}emitChange(){for(let e of this.changeHandlers)e(this.currentWidget)}}})();var To=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},Eo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0};(()=>{var e;let t,n=[],r=[];return class{static{let i=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;t=[(e=J.observable).shallow.bind(e)],To(this,null,t,{kind:`accessor`,name:`widgetList`,static:!1,private:!1,access:{has:e=>`widgetList`in e,get:e=>e.widgetList,set:(e,t)=>{e.widgetList=t}},metadata:i},n,r),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}focusManager;#e=Eo(this,n,[]);get widgetList(){return this.#e}set widgetList(e){this.#e=e}placements=(Eo(this,r),new Map);_activeOverlays=new Set;_running=!1;autorunDispose;renderScheduled=!1;pendingFrame=null;lastLineCount=0;host;widthOverride;colorSystem;manageCursor;constructor(e){this.host=e.host,this.widthOverride=e.width,this.focusManager=e.focusManager??new wo;let t=this.host.isTTY;this.colorSystem=Do(e.colorSystem,t),this.manageCursor=e.manageCursor??t,(0,J.makeObservable)(this)}get running(){return this._running}get widgets(){if(this._activeOverlays.size===0)return this.widgetList;let e=[],t=[];for(let n of this.widgetList)(this._activeOverlays.has(n)?t:e).push(n);return[...e,...t]}mount(...e){(0,J.runInAction)(()=>{let t=[...this.widgetList];for(let n of e){let{widget:e,placement:r}=Oo(n);t.includes(e)||(t.push(e),this.placements.set(e,r),this.focusManager.register(e))}this.widgetList=t})}unmount(e){(0,J.runInAction)(()=>{this.widgetList.indexOf(e)!==-1&&(this.widgetList=this.widgetList.filter(t=>t!==e),this.placements.delete(e),this.focusManager.unregister(e),this._activeOverlays.delete(e))})}start(){this._running||(this._running=!0,this.lastLineCount=0,this.manageCursor&&this.host.write(`\x1B[?25l`),this.autorunDispose=(0,J.autorun)(()=>{this.pendingFrame=this.computeFrame(),this.scheduleRender()}))}stop(){this._running&&(this._running=!1,this.autorunDispose&&=(this.autorunDispose(),void 0),this.pendingFrame=null,this.renderScheduled=!1,this._activeOverlays=new Set,this.manageCursor&&this.host.write(`\x1B[?25h`),this.lastLineCount>0&&this.host.write(`
53
- `))}get width(){return this.widthOverride===void 0?this.host.size().cols:this.widthOverride}computeFrame(){let e=this.width,t={maxWidth:e,isTerminal:!0,encoding:`utf-8`},n=[],r=[],i=new Set,a=0,o=null;for(let i of this.widgetList){let s=i.visible,c=s?Array.from(i.render(t)):[],l=s?q.splitLines(c):[],u=this.placements.get(i)??ho,d,f,p=null;switch(u.kind){case`flow`:d=0,f=a;break;case`inline`:p=o,p===null?(d=0,f=a):(d=p.rightX+ +(p.rightX>0),f=p.startY);break;case`fixed`:d=u.x,f=u.y;break}let m=Math.max(0,e-d),h=m>0?l.map(e=>q.adjustLineLength(e,m,void 0,!1)):[],[g,_]=q.getShape(h);if(Ao(n,h,d,f),u.kind===`flow`&&_>0)a=f+_,o={startY:f,height:_,rightX:d+g};else if(u.kind===`inline`&&_>0){let e=p?.startY??f,t=Math.max(p?.height??0,_);a=Math.max(a,e+t),o={startY:e,height:t,rightX:d+g}}r.push({widget:i,bounds:{x:d,y:f,width:g,height:_}})}for(let a of r){let r=a.widget;if(!r.visible||!go(r))continue;let o=r.renderOverlay(t);if(o===null)continue;let s=q.splitLines(Array.from(o));if(s.length===0)continue;let c=Math.max(0,e-a.bounds.x),l=c>0?s.map(e=>q.adjustLineLength(e,c,void 0,!1)):[];if(l.length===0)continue;let u=a.bounds.y+a.bounds.height;Ao(n,l,a.bounds.x,u);let[d]=q.getShape(l);a.bounds={x:a.bounds.x,y:a.bounds.y,width:Math.max(a.bounds.width,d),height:a.bounds.height+l.length},i.add(r)}return{width:e,lines:n,bounds:r,activeOverlays:i}}scheduleRender(){this.renderScheduled||(this.renderScheduled=!0,queueMicrotask(()=>{this.renderScheduled=!1,this._running&&this.draw()}))}draw(){let e=this.pendingFrame??this.computeFrame();this.pendingFrame=null;let{width:t,lines:n,bounds:r,activeOverlays:i}=e;for(let{widget:e,bounds:t}of r)e.bounds=t;this._activeOverlays=i;let a=n.length,o=Math.max(a,this.lastLineCount),s=``;this.lastLineCount>1&&(s+=`\x1b[${this.lastLineCount-1}A`),s+=`\r`;for(let e=0;e<o;e++){let r=n[e];if(r){let e=q.adjustLineLength(r,t,void 0,!1);s+=eo(e,this.colorSystem)}s+=`\x1B[K`,e<o-1&&(s+=`
54
- `)}this.host.write(s),this.lastLineCount=o}}})();function Do(e,t){return e===null?null:e===void 0?fi(`auto`,{isTTY:t}):typeof e==`string`?fi(e,{isTTY:t}):e}function Oo(e){return`widget`in e&&`placement`in e?(ko(e.placement),{widget:e.widget,placement:e.placement}):{widget:e,placement:ho}}function ko(e){if(e.kind===`fixed`&&(!Number.isInteger(e.x)||!Number.isInteger(e.y)||e.x<0||e.y<0))throw RangeError(`fixed Placement requires non-negative integer x and y; got (${e.x}, ${e.y})`)}function Ao(e,t,n,r){if(t.length!==0){for(;e.length<r+t.length;)e.push([]);for(let i=0;i<t.length;i++){let a=e[r+i],o=t[i],s=jo(o);if(s!==0){if(n===0&&a.length===0){e[r+i]=o.slice();continue}e[r+i]=Mo(a,H(n),s,o)}}}}function jo(e){let t=0;for(let n of e)t+=n.cellLength;return H(t)}function Mo(e,t,n,r){let i=jo(e),a=e.slice();i<t&&a.push(new q(` `.repeat(t-i)));let o=[],s=[],c=0;for(let e of a){let r=c+e.cellLength;if(r<=t)o.push(e);else if(c>=t+n)s.push(e);else{if(c<t){let[n]=e.splitCells(H(t-c));n.hasText&&o.push(n)}if(r>t+n){let[,r]=e.splitCells(H(t+n-c));r.hasText&&s.push(r)}}c=r}return[...o,...r,...s]}var No=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Po=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Fo={default:{bg:`surface`,fg:`foreground`,hover:`primary`,hoverFg:`on-primary`},primary:{bg:`primary-muted`,fg:`text-primary`,hover:`primary`,hoverFg:`on-primary`},success:{bg:`success-muted`,fg:`text-success`,hover:`success`,hoverFg:`on-success`},warning:{bg:`warning-muted`,fg:`text-warning`,hover:`warning`,hoverFg:`on-warning`},danger:{bg:`error-muted`,fg:`text-error`,hover:`error`,hoverFg:`on-error`}};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m,h,g;return class extends n{static{let _=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[J.observable],s=[(e=J.observable).ref.bind(e)],u=[(t=J.observable).ref.bind(t)],p=[J.action],m=[J.action],h=[J.action],g=[J.action],Po(this,null,i,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:_},a,o),Po(this,null,s,{kind:`accessor`,name:`variant`,static:!1,private:!1,access:{has:e=>`variant`in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:_},c,l),Po(this,null,u,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:_},d,f),Po(this,null,p,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:_},null,r),Po(this,null,m,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:_},null,r),Po(this,null,h,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:_},null,r),Po(this,null,g,{kind:`method`,name:`setActive`,static:!1,private:!1,access:{has:e=>`setActive`in e,get:e=>e.setActive},metadata:_},null,r),_&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_})}id=No(this,r);focusable=!0;#e=No(this,a,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(No(this,o),No(this,c,void 0));get variant(){return this.#t}set variant(e){this.#t=e}#n=(No(this,l),No(this,d,void 0));get _theme(){return this.#n}set _theme(e){this.#n=e}constructor(e){super(),No(this,f),this.id=e.id??`button-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.variant=e.variant??`default`,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){this.disabled||(e.key===`enter`||e.key===`space`)&&(this.active=!0,this.emitSubmit(),queueMicrotask(()=>{this.active&&this.setActive(!1)}),e.stop())}handleMouse(e){this.disabled||(e.type===`mouse_down`&&(this.active=!0),e.type===`mouse_up`&&this.active&&(this.active=!1,this.emitSubmit()))}setActive(e){this.active=e}render(e){let t=this.focused,n=t?`[`:` `,r=t?`]`:` `,i=`${n} ${this.label} ${r}`;if(this.disabled)return[new q(i,new K({color:`#666666`,bgcolor:`#333333`,dim:!0}))];if(this.active||this.hovered)return[new q(i,new K({color:this.resolvePalette(Fo[this.variant].hoverFg),bgcolor:this.resolvePalette(Fo[this.variant].hover),bold:this.active}))];let{fg:a,bg:o}=this.resolveColors(`bg`);return[new q(i,new K({color:a,bgcolor:o}))]}measure(e){let t=V(this.label)+4;return{minimum:t,maximum:t}}resolveColors(e){let t=Fo[this.variant];return{fg:this.resolvePalette(t.fg),bg:this.resolvePalette(e===`hover`?t.hover:t.bg)}}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();var Io=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Lo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e;let t=xo,n=[],r,i=[],a=[],o,s=[],c=[],l,u=[],d=[],f,p,m;return class extends t{static{let h=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;r=[J.observable],o=[J.observable],l=[(e=J.observable).ref.bind(e)],f=[J.action],p=[J.action],m=[J.action],Lo(this,null,r,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:h},i,a),Lo(this,null,o,{kind:`accessor`,name:`checked`,static:!1,private:!1,access:{has:e=>`checked`in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:h},s,c),Lo(this,null,l,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:h},u,d),Lo(this,null,f,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:h},null,n),Lo(this,null,p,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:h},null,n),Lo(this,null,m,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:h},null,n),h&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:h})}id=Io(this,n);focusable=!0;#e=Io(this,i,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(Io(this,a),Io(this,s,void 0));get checked(){return this.#t}set checked(e){this.#t=e}#n=(Io(this,c),Io(this,u,void 0));get _theme(){return this.#n}set _theme(e){this.#n=e}constructor(e){super(),Io(this,d),this.id=e.id??`checkbox-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.checked=e.checked??!1,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`space`){this.checked=!this.checked,this.emitChange(),e.stop();return}e.key===`enter`&&(this.emitSubmit(),e.stop())}}handleMouse(e){this.disabled||e.type===`mouse_up`&&(this.checked=!this.checked,this.emitChange())}render(e){let t=`[${this.checked?e.asciiOnly?`x`:`✓`:` `}] ${this.label}`;return this.disabled?[new q(t,new K({color:`#666666`,bgcolor:`#333333`,dim:!0}))]:[new q(t,new K({color:this.checked?this.resolvePalette(`primary`):this.resolvePalette(`foreground`),underline:this.focused}))]}measure(e){let t=V(this.label)+4;return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();var Ro=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},zo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Bo={default:{onBg:`primary`,onFg:`on-primary`,offBg:`surface`,offFg:`foreground`},primary:{onBg:`primary`,onFg:`on-primary`,offBg:`primary-muted`,offFg:`text-primary`},success:{onBg:`success`,onFg:`on-success`,offBg:`success-muted`,offFg:`text-success`},warning:{onBg:`warning`,onFg:`on-warning`,offBg:`warning-muted`,offFg:`text-warning`},danger:{onBg:`error`,onFg:`on-error`,offBg:`error-muted`,offFg:`text-error`}};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_,v;return class extends n{static{let y=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[J.observable],s=[J.observable],u=[(e=J.observable).ref.bind(e)],p=[(t=J.observable).ref.bind(t)],g=[J.action],_=[J.action],v=[J.action],zo(this,null,i,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:y},a,o),zo(this,null,s,{kind:`accessor`,name:`on`,static:!1,private:!1,access:{has:e=>`on`in e,get:e=>e.on,set:(e,t)=>{e.on=t}},metadata:y},c,l),zo(this,null,u,{kind:`accessor`,name:`variant`,static:!1,private:!1,access:{has:e=>`variant`in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:y},d,f),zo(this,null,p,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:y},m,h),zo(this,null,g,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:y},null,r),zo(this,null,_,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:y},null,r),zo(this,null,v,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:y},null,r),y&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:y})}id=Ro(this,r);focusable=!0;#e=Ro(this,a,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(Ro(this,o),Ro(this,c,void 0));get on(){return this.#t}set on(e){this.#t=e}#n=(Ro(this,l),Ro(this,d,void 0));get variant(){return this.#n}set variant(e){this.#n=e}#r=(Ro(this,f),Ro(this,m,void 0));get _theme(){return this.#r}set _theme(e){this.#r=e}constructor(e){super(),Ro(this,h),this.id=e.id??`toggle-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.on=e.on??!1,this.variant=e.variant??`default`,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`space`){this.on=!this.on,this.emitChange(),e.stop();return}e.key===`enter`&&(this.emitSubmit(),e.stop())}}handleMouse(e){this.disabled||e.type===`mouse_up`&&(this.on=!this.on,this.emitChange())}render(e){let t=`${this.on?`[ON] `:`[OFF]`} ${this.label}`;if(this.disabled)return[new q(t,new K({color:`#666666`,bgcolor:`#333333`,dim:!0}))];let n=Bo[this.variant];return[new q(t,new K({color:this.resolvePalette(this.on?n.onFg:n.offFg),bgcolor:this.resolvePalette(this.on?n.onBg:n.offBg),underline:this.focused}))]}measure(e){let t=6+V(this.label);return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();var Vo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Ho=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Uo=/[A-Za-z0-9_]/,Wo=/\s/;function Go(e){return e!==void 0&&Uo.test(e)}function Ko(e){return e!==void 0&&Wo.test(e)}(()=>{var e,t,n,r;let i=xo,a=[],o,s=[],c=[],l,u=[],d=[],f,p=[],m=[],h,g=[],_=[],v,y=[],b=[],x,S=[],C=[],ee,te,w,ne,T,re,E,D,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,O,he,ge;return class extends i{static{let k=typeof Symbol==`function`&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0;o=[J.observable],l=[J.observable],f=[(e=J.observable).ref.bind(e)],h=[(t=J.observable).ref.bind(t)],v=[(n=J.observable).ref.bind(n)],x=[(r=J.observable).ref.bind(r)],ee=[J.action],te=[J.action],w=[J.action],ne=[J.action],T=[J.action],re=[J.action],E=[J.action],D=[J.action],ie=[J.action],ae=[J.action],oe=[J.action],se=[J.action],ce=[J.action],le=[J.action],ue=[J.action],de=[J.action],fe=[J.action],pe=[J.action],me=[J.action],O=[J.action],he=[J.action],ge=[J.action],Ho(this,null,o,{kind:`accessor`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:k},s,c),Ho(this,null,l,{kind:`accessor`,name:`cursorPosition`,static:!1,private:!1,access:{has:e=>`cursorPosition`in e,get:e=>e.cursorPosition,set:(e,t)=>{e.cursorPosition=t}},metadata:k},u,d),Ho(this,null,f,{kind:`accessor`,name:`placeholder`,static:!1,private:!1,access:{has:e=>`placeholder`in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:k},p,m),Ho(this,null,h,{kind:`accessor`,name:`indicatorStyleOverride`,static:!1,private:!1,access:{has:e=>`indicatorStyleOverride`in e,get:e=>e.indicatorStyleOverride,set:(e,t)=>{e.indicatorStyleOverride=t}},metadata:k},g,_),Ho(this,null,v,{kind:`accessor`,name:`cursorStyleOverride`,static:!1,private:!1,access:{has:e=>`cursorStyleOverride`in e,get:e=>e.cursorStyleOverride,set:(e,t)=>{e.cursorStyleOverride=t}},metadata:k},y,b),Ho(this,null,x,{kind:`accessor`,name:`contentStyleOverride`,static:!1,private:!1,access:{has:e=>`contentStyleOverride`in e,get:e=>e.contentStyleOverride,set:(e,t)=>{e.contentStyleOverride=t}},metadata:k},S,C),Ho(this,null,ee,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:k},null,a),Ho(this,null,te,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:k},null,a),Ho(this,null,w,{kind:`method`,name:`setHovered`,static:!1,private:!1,access:{has:e=>`setHovered`in e,get:e=>e.setHovered},metadata:k},null,a),Ho(this,null,ne,{kind:`method`,name:`moveCharLeft`,static:!1,private:!1,access:{has:e=>`moveCharLeft`in e,get:e=>e.moveCharLeft},metadata:k},null,a),Ho(this,null,T,{kind:`method`,name:`moveCharRight`,static:!1,private:!1,access:{has:e=>`moveCharRight`in e,get:e=>e.moveCharRight},metadata:k},null,a),Ho(this,null,re,{kind:`method`,name:`moveLineUp`,static:!1,private:!1,access:{has:e=>`moveLineUp`in e,get:e=>e.moveLineUp},metadata:k},null,a),Ho(this,null,E,{kind:`method`,name:`moveLineDown`,static:!1,private:!1,access:{has:e=>`moveLineDown`in e,get:e=>e.moveLineDown},metadata:k},null,a),Ho(this,null,D,{kind:`method`,name:`moveLineStart`,static:!1,private:!1,access:{has:e=>`moveLineStart`in e,get:e=>e.moveLineStart},metadata:k},null,a),Ho(this,null,ie,{kind:`method`,name:`moveLineEnd`,static:!1,private:!1,access:{has:e=>`moveLineEnd`in e,get:e=>e.moveLineEnd},metadata:k},null,a),Ho(this,null,ae,{kind:`method`,name:`moveDocStart`,static:!1,private:!1,access:{has:e=>`moveDocStart`in e,get:e=>e.moveDocStart},metadata:k},null,a),Ho(this,null,oe,{kind:`method`,name:`moveDocEnd`,static:!1,private:!1,access:{has:e=>`moveDocEnd`in e,get:e=>e.moveDocEnd},metadata:k},null,a),Ho(this,null,se,{kind:`method`,name:`moveWordLeft`,static:!1,private:!1,access:{has:e=>`moveWordLeft`in e,get:e=>e.moveWordLeft},metadata:k},null,a),Ho(this,null,ce,{kind:`method`,name:`moveWordRight`,static:!1,private:!1,access:{has:e=>`moveWordRight`in e,get:e=>e.moveWordRight},metadata:k},null,a),Ho(this,null,le,{kind:`method`,name:`deleteCharBack`,static:!1,private:!1,access:{has:e=>`deleteCharBack`in e,get:e=>e.deleteCharBack},metadata:k},null,a),Ho(this,null,ue,{kind:`method`,name:`deleteCharForward`,static:!1,private:!1,access:{has:e=>`deleteCharForward`in e,get:e=>e.deleteCharForward},metadata:k},null,a),Ho(this,null,de,{kind:`method`,name:`deleteWordBack`,static:!1,private:!1,access:{has:e=>`deleteWordBack`in e,get:e=>e.deleteWordBack},metadata:k},null,a),Ho(this,null,fe,{kind:`method`,name:`deleteWordForward`,static:!1,private:!1,access:{has:e=>`deleteWordForward`in e,get:e=>e.deleteWordForward},metadata:k},null,a),Ho(this,null,pe,{kind:`method`,name:`killLineBack`,static:!1,private:!1,access:{has:e=>`killLineBack`in e,get:e=>e.killLineBack},metadata:k},null,a),Ho(this,null,me,{kind:`method`,name:`killLineForward`,static:!1,private:!1,access:{has:e=>`killLineForward`in e,get:e=>e.killLineForward},metadata:k},null,a),Ho(this,null,O,{kind:`method`,name:`yank`,static:!1,private:!1,access:{has:e=>`yank`in e,get:e=>e.yank},metadata:k},null,a),Ho(this,null,he,{kind:`method`,name:`transposeChars`,static:!1,private:!1,access:{has:e=>`transposeChars`in e,get:e=>e.transposeChars},metadata:k},null,a),Ho(this,null,ge,{kind:`method`,name:`_insertText`,static:!1,private:!1,access:{has:e=>`_insertText`in e,get:e=>e._insertText},metadata:k},null,a),k&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:k})}id=Vo(this,a);focusable=!0;#e=Vo(this,s,void 0);get value(){return this.#e}set value(e){this.#e=e}#t=(Vo(this,c),Vo(this,u,void 0));get cursorPosition(){return this.#t}set cursorPosition(e){this.#t=e}#n=(Vo(this,d),Vo(this,p,void 0));get placeholder(){return this.#n}set placeholder(e){this.#n=e}_theme=Vo(this,m);_maxLength;_password;_multiline;_wrap;_continuationMarker;_markerWidth;_maxRows;_minRows;_scrollIndicator;#r=Vo(this,g,void 0);get indicatorStyleOverride(){return this.#r}set indicatorStyleOverride(e){this.#r=e}#i=(Vo(this,_),Vo(this,y,void 0));get cursorStyleOverride(){return this.#i}set cursorStyleOverride(e){this.#i=e}#a=(Vo(this,b),Vo(this,S,void 0));get contentStyleOverride(){return this.#a}set contentStyleOverride(e){this.#a=e}_visualRows=(Vo(this,C),null);_preferredColumn=null;_killBuffer=``;_scrollStart=0;_singleLineViewportStart=H(0);multiline;constructor(e={}){super(),this.id=e.id??`text-input-${Math.random().toString(36).slice(2,8)}`,this.value=e.value??``,this.placeholder=e.placeholder??``,this.cursorPosition=e.multiline??!1?Qr(0):Qr(this.value.length),this.disabled=e.disabled??!1,this._theme=e.theme??ga,this._maxLength=e.maxLength,this._password=e.password??!1,this._multiline=e.multiline??!1,this._wrap=e.wrap,this._continuationMarker=e.continuationMarker??`↳ `,this._markerWidth=H(V(this._continuationMarker)),this._maxRows=e.maxRows,this._minRows=e.minRows,this._scrollIndicator=e.scrollIndicator??`arrows`,this.indicatorStyleOverride=e.indicatorStyle,this.cursorStyleOverride=e.cursorStyle,this.contentStyleOverride=e.contentStyle,this.multiline=this._multiline}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`backspace`){e.meta||e.ctrl?this.deleteWordBack():this.deleteCharBack(),e.stop();return}if(e.key===`delete`){this.deleteCharForward(),e.stop();return}if(e.key===`enter`){this._multiline&&!e.ctrl?this._insertText(`
55
- `):this.emitSubmit(),e.stop();return}if(e.key!==`escape`){if(!e.ctrl&&!e.meta)switch(e.key){case`left`:this.moveCharLeft(),e.stop();return;case`right`:this.moveCharRight(),e.stop();return;case`up`:this.moveLineUp(),e.stop();return;case`down`:this.moveLineDown(),e.stop();return;case`home`:this.moveLineStart(),e.stop();return;case`end`:this.moveLineEnd(),e.stop();return}if(e.ctrl&&!e.meta)switch(e.key){case`left`:this.moveWordLeft(),e.stop();return;case`right`:this.moveWordRight(),e.stop();return;case`home`:this.moveDocStart(),e.stop();return;case`end`:this.moveDocEnd(),e.stop();return;case`a`:this.moveLineStart(),e.stop();return;case`e`:this.moveLineEnd(),e.stop();return;case`b`:this.moveCharLeft(),e.stop();return;case`f`:this.moveCharRight(),e.stop();return;case`p`:this.moveLineUp(),e.stop();return;case`n`:this.moveLineDown(),e.stop();return;case`d`:this.deleteCharForward(),e.stop();return;case`h`:this.deleteCharBack(),e.stop();return;case`w`:this.deleteWordBack(),e.stop();return;case`u`:this.killLineBack(),e.stop();return;case`k`:this.killLineForward(),e.stop();return;case`y`:this.yank(),e.stop();return;case`t`:this.transposeChars(),e.stop();return}if(e.meta&&!e.ctrl)switch(e.key){case`left`:this.moveWordLeft(),e.stop();return;case`right`:this.moveWordRight(),e.stop();return;case`b`:this.moveWordLeft(),e.stop();return;case`f`:this.moveWordRight(),e.stop();return;case`d`:this.deleteWordForward(),e.stop();return}e.character.length===1&&!e.ctrl&&!e.meta&&e.character>=` `&&e.character!==``&&(this._insertText(e.character),e.stop())}}}handleMouse(e){if(this.disabled||e.type!==`mouse_down`)return;let t=this.bounds;if(t){if(this._multiline){let n=this._visualRows;if(!n||n.length===0)return;let r=e.y-t.y,i=this._scrollStart+r;if(i>=n.length){this.cursorPosition=Qr(this.value.length),this._preferredColumn=null;return}let a=n[Math.max(0,i)],o=H(a.isContinuation?this._markerWidth:0),s=H(Math.max(0,e.x-t.x-o)),c=ni(a.content,s),l=a.valueStart+c,u=l<this.value.length?this.value.charCodeAt(l):0,d=l>0?this.value.charCodeAt(l-1):0;this.cursorPosition=Qr(u>=56320&&u<=57343&&d>=55296&&d<=56319?l+1:l)}else{let n=H(Math.max(0,e.x-t.x-1)+this._singleLineViewportStart),r=ni(this._password?`•`.repeat(this.value.length):this.value.indexOf(`
56
- `)>=0?this.value.replace(/\n/g,`↵`):this.value,n),i=r<this.value.length?this.value.charCodeAt(r):0,a=r>0?this.value.charCodeAt(r-1):0;this.cursorPosition=Qr(i>=56320&&i<=57343&&a>=55296&&a<=56319?r+1:r)}this._preferredColumn=null}}setHovered(e){this.hovered=e}moveCharLeft(){this.cursorPosition=ii(this.value,this.cursorPosition),this._preferredColumn=null}moveCharRight(){this.cursorPosition=ri(this.value,this.cursorPosition),this._preferredColumn=null}moveLineUp(){if(this._visualRows!==null&&this._visualRows.length>1){let e=this._cursorVisualRow();if(e===0)return;let t=this._preferredColumn??this._cursorVisualCol(),n=this._visualRows[e-1];this.cursorPosition=Qr(n.valueStart+this._clampColForRow(t,e-1)),this._preferredColumn=t;return}let e=this._lineStart();if(e===0)return;let t=this._preferredColumn??H(V(this.value.slice(e,this.cursorPosition))),n=e-1,r=n;for(;r>0&&this.value[r-1]!==`
57
- `;)r--;let i=this.value.slice(r,n);this.cursorPosition=Qr(r+ni(i,H(Math.min(t,V(i))))),this._preferredColumn=t}moveLineDown(){if(this._visualRows!==null&&this._visualRows.length>1){let e=this._cursorVisualRow();if(e===this._visualRows.length-1)return;let t=this._preferredColumn??this._cursorVisualCol();this.cursorPosition=Qr(this._visualRows[e+1].valueStart+this._clampColForRow(t,e+1)),this._preferredColumn=t;return}let e=this._lineEnd();if(e===this.value.length)return;let t=this._lineStart(),n=this._preferredColumn??H(V(this.value.slice(t,this.cursorPosition))),r=e+1,i=r;for(;i<this.value.length&&this.value[i]!==`
58
- `;)i++;let a=this.value.slice(r,i);this.cursorPosition=Qr(r+ni(a,H(Math.min(n,V(a))))),this._preferredColumn=n}_clampColForRow(e,t){let n=this._visualRows,r=n[t],i=t+1<n.length&&n[t+1].isContinuation,a=H(V(r.content)),o=i?H(Math.max(0,a-1)):a;return ni(r.content,H(Math.min(e,o)))}_cursorVisualRow(){let e=this._visualRows,t=0;for(let n=e.length-1;n>=0;n--)if(e[n].valueStart<=this.cursorPosition){t=n;break}return t}_cursorVisualCol(){let e=this._visualRows[this._cursorVisualRow()];return H(V(e.content.slice(0,this.cursorPosition-e.valueStart)))}moveLineStart(){this.cursorPosition=this._lineStart(),this._preferredColumn=null}moveLineEnd(){this.cursorPosition=this._lineEnd(),this._preferredColumn=null}moveDocStart(){this.cursorPosition=Qr(0),this._preferredColumn=null}moveDocEnd(){this.cursorPosition=Qr(this.value.length),this._preferredColumn=null}moveWordLeft(){let e=this.cursorPosition;for(;e>0;){let t=ii(this.value,e);if(Go(this.value.slice(t,e)))break;e=t}for(;e>0;){let t=ii(this.value,e);if(!Go(this.value.slice(t,e)))break;e=t}this.cursorPosition=e,this._preferredColumn=null}moveWordRight(){let e=this.cursorPosition;for(;e<this.value.length;){let t=ri(this.value,e);if(Go(this.value.slice(e,t)))break;e=t}for(;e<this.value.length;){let t=ri(this.value,e);if(!Go(this.value.slice(e,t)))break;e=t}this.cursorPosition=e,this._preferredColumn=null}deleteCharBack(){if(this.cursorPosition===0)return;let e=ii(this.value,this.cursorPosition);this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange()}deleteCharForward(){if(this.cursorPosition>=this.value.length)return;let e=ri(this.value,this.cursorPosition);this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange()}deleteWordBack(){let e=this.cursorPosition;for(;e>0;){let t=ii(this.value,e);if(!Ko(this.value.slice(t,e)))break;e=t}for(;e>0;){let t=ii(this.value,e);if(Ko(this.value.slice(t,e)))break;e=t}e!==this.cursorPosition&&(this._killBuffer=this.value.slice(e,this.cursorPosition),this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange())}deleteWordForward(){let e=this.cursorPosition;for(;e<this.value.length;){let t=ri(this.value,e);if(Go(this.value.slice(e,t)))break;e=t}for(;e<this.value.length;){let t=ri(this.value,e);if(!Go(this.value.slice(e,t)))break;e=t}e!==this.cursorPosition&&(this._killBuffer=this.value.slice(this.cursorPosition,e),this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange())}killLineBack(){let e=this._lineStart();e!==this.cursorPosition&&(this._killBuffer=this.value.slice(e,this.cursorPosition),this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange())}killLineForward(){let e=this._lineEnd();if(e>this.cursorPosition){this._killBuffer=this.value.slice(this.cursorPosition,e),this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange();return}this.cursorPosition<this.value.length&&(this._killBuffer=`
59
- `,this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(this.cursorPosition+1),this._preferredColumn=null,this.emitChange())}yank(){this._killBuffer.length!==0&&this._insertText(this._killBuffer)}transposeChars(){let e=this.value.length;if(e<2||this.cursorPosition===0)return;let t=this.cursorPosition;if(t===e){let e=ii(this.value,t),n=ii(this.value,e);this.value=this.value.slice(0,n)+this.value.slice(e)+this.value.slice(n,e),this._preferredColumn=null,this.emitChange();return}let n=ii(this.value,t),r=ri(this.value,t),i=this.value.slice(n,t),a=this.value.slice(t,r);this.value=this.value.slice(0,n)+a+i+this.value.slice(r),this.cursorPosition=Qr(r),this._preferredColumn=null,this.emitChange()}_lineStart(){let e=this.cursorPosition;for(;e>0&&this.value[e-1]!==`
60
- `;)e--;return Qr(e)}_lineEnd(){let e=this.cursorPosition;for(;e<this.value.length&&this.value[e]!==`
61
- `;)e++;return Qr(e)}_insertText(e){let t=e;if(this._maxLength!==void 0){let e=this._maxLength-this.value.length;if(e<=0)return;t.length>e&&(t=t.slice(0,e))}this.value=this.value.slice(0,this.cursorPosition)+t+this.value.slice(this.cursorPosition),this.cursorPosition=Qr(this.cursorPosition+t.length),this._preferredColumn=null,this.emitChange()}render(e){return this._multiline?this._renderMultiline(e):this._renderSingleLine(e)}_renderSingleLine(e){let t=this.focused&&this.value.length===0&&this.placeholder.length>0,n=t?this.placeholder:this._password?`•`.repeat(this.value.length):this.value.indexOf(`
62
- `)>=0?this.value.replace(/\n/g,`↵`):this.value,r=H(V(n)),i=H(V(n.slice(0,this.cursorPosition))),a=H(Math.max(8,e.maxWidth-2)),o=H(Math.max(8,r,i+1)),s=H(Math.min(a,o)),[,c]=ei(n,H(Math.max(0,Math.min(r-s,i-s+1)))),l=H(r-V(c));this._singleLineViewportStart=l;let[u]=ei(c,s),d=$r(u,s),f=H(i-l),p=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):new K({color:this.resolvePalette(`foreground`)}),m=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):t?new K({color:this.resolvePalette(`foreground`),dim:!0}):this.contentStyleOverride??new K({color:this.resolvePalette(`foreground`)}),h=this.cursorStyleOverride??new K({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}),g=[new q(`[`,p)];if(this.focused&&!this.disabled&&f>=0&&f<s){let[e,t]=ei(d,f),n=``;for(let e of t){n=e;break}let r=n||` `,i=t.slice(n.length);e.length>0&&g.push(new q(e,m)),g.push(new q(r,h)),i.length>0&&g.push(new q(i,m))}else g.push(new q(d,m));return g.push(new q(`]`,p)),g}_renderMultiline(e){let t=this._computeVisualRows(e.maxWidth);this._visualRows=t;let n=t.length,r=this._cursorVisualRow(),i=0,a=n;if(this._maxRows!==void 0&&n>this._maxRows){let e=n-this._maxRows;r<this._scrollStart?this._scrollStart=r:r>=this._scrollStart+this._maxRows&&(this._scrollStart=r-this._maxRows+1),this._scrollStart=Math.max(0,Math.min(e,this._scrollStart)),i=this._scrollStart,a=this._maxRows}else this._scrollStart=0;let o=0;this._minRows!==void 0&&n<this._minRows&&this._maxRows===void 0&&(o=this._minRows-n);let s=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):this.contentStyleOverride??new K({color:this.resolvePalette(`foreground`)}),c=new K({color:this.resolvePalette(`foreground`),dim:!0}),l=this.cursorStyleOverride??new K({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}),u=this._maxRows!==void 0&&n>this._maxRows,d=this._scrollIndicator===`arrows`,f=d&&u&&this._scrollStart>0,p=d&&u&&this._scrollStart+this._maxRows<n,m=this.indicatorStyleOverride??new K({color:this.resolvePalette(`primary`)}),h=[],g=this.focused&&!this.disabled;for(let n=0;n<a;n++){let o=i+n,u=t[o];n>0&&h.push(new q(`
63
- `)),u.isContinuation&&h.push(new q(this._continuationMarker,c));let d;n===0&&f?d={ch:`▲`,style:m}:n===a-1&&p&&(d={ch:`▼`,style:m});let _=u.isContinuation?H(Math.max(0,e.maxWidth-this._markerWidth)):H(e.maxWidth);this._emitRowContent(h,u,o===r&&g,s,l,d,_)}for(let t=0;t<o;t++)h.push(new q(`
64
- `)),h.push(new q($r(``,H(e.maxWidth)),s));return h}_emitRowContent(e,t,n,r,i,a,o){let s=t.content,c=n?this.cursorPosition-t.valueStart:-1;if(a===void 0){if(!n){s.length>0&&e.push(new q(s,r));return}let t=s.slice(0,c),a=ri(s,Qr(c)),o=s.slice(c,a)||` `,l=s.slice(a);t.length>0&&e.push(new q(t,r)),e.push(new q(o,i)),l.length>0&&e.push(new q(l,r));return}let l=H(V(a.ch)),u=H(Math.max(0,o-l)),[d]=ei(s,u),f=$r(d,u),p=n&&c>=0?V(s.slice(0,c)):-1;if(p>=0&&p<u){let[t,n]=ei(f,H(p)),a=``;for(let e of n){a=e;break}let o=a||` `,s=n.slice(a.length);t.length>0&&e.push(new q(t,r)),e.push(new q(o,i)),s.length>0&&e.push(new q(s,r))}else f.length>0&&e.push(new q(f,r));e.push(new q(a.ch,a.style))}_computeVisualRows(e){let t=H(Math.max(1,e)),n=H(Math.max(1,t-this._markerWidth)),r=[],i=this.value.split(`
65
- `),a=0;for(let e=0;e<i.length;e++){let o=i[e];if(this._wrap!==void 0){let e=this._wrap(o,{firstWidth:t,continuationWidth:n});if(e.length===0)r.push({content:``,valueStart:Qr(a),isContinuation:!1});else for(let t=0;t<e.length;t++){let n=e[t];r.push({content:n.content,valueStart:Qr(a+n.start),isContinuation:t>0})}}else r.push({content:o,valueStart:Qr(a),isContinuation:!1});a+=o.length+1}return r}measure(e){return{minimum:10,maximum:Math.max(10,Math.max(V(this.value),V(this.placeholder))+2)}}get scrollIndicatorText(){if(this._scrollIndicator!==`indices`||this._maxRows===void 0)return;let e=this._visualRows;if(!(e===null||e.length<=this._maxRows))return`[${this._cursorVisualRow()+1}/${e.length}]`}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();var qo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Jo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_=[],v=[],y,b=[],x=[],S,C,ee,te;return class extends n{static{let w=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[(e=J.observable).shallow.bind(e)],s=[J.observable],u=[J.observable],p=[J.observable],g=[J.observable],y=[(t=J.observable).ref.bind(t)],S=[J.action],C=[J.action],ee=[J.action],te=[J.action],Jo(this,null,i,{kind:`accessor`,name:`options`,static:!1,private:!1,access:{has:e=>`options`in e,get:e=>e.options,set:(e,t)=>{e.options=t}},metadata:w},a,o),Jo(this,null,s,{kind:`accessor`,name:`selectedIndex`,static:!1,private:!1,access:{has:e=>`selectedIndex`in e,get:e=>e.selectedIndex,set:(e,t)=>{e.selectedIndex=t}},metadata:w},c,l),Jo(this,null,u,{kind:`accessor`,name:`expanded`,static:!1,private:!1,access:{has:e=>`expanded`in e,get:e=>e.expanded,set:(e,t)=>{e.expanded=t}},metadata:w},d,f),Jo(this,null,p,{kind:`accessor`,name:`highlightedIndex`,static:!1,private:!1,access:{has:e=>`highlightedIndex`in e,get:e=>e.highlightedIndex,set:(e,t)=>{e.highlightedIndex=t}},metadata:w},m,h),Jo(this,null,g,{kind:`accessor`,name:`filter`,static:!1,private:!1,access:{has:e=>`filter`in e,get:e=>e.filter,set:(e,t)=>{e.filter=t}},metadata:w},_,v),Jo(this,null,y,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:w},b,x),Jo(this,null,S,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:w},null,r),Jo(this,null,C,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:w},null,r),Jo(this,null,ee,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:w},null,r),Jo(this,null,te,{kind:`method`,name:`handleFocus`,static:!1,private:!1,access:{has:e=>`handleFocus`in e,get:e=>e.handleFocus},metadata:w},null,r),w&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:w})}id=qo(this,r);focusable=!0;#e=qo(this,a,void 0);get options(){return this.#e}set options(e){this.#e=e}#t=(qo(this,o),qo(this,c,void 0));get selectedIndex(){return this.#t}set selectedIndex(e){this.#t=e}#n=(qo(this,l),qo(this,d,!1));get expanded(){return this.#n}set expanded(e){this.#n=e}#r=(qo(this,f),qo(this,m,void 0));get highlightedIndex(){return this.#r}set highlightedIndex(e){this.#r=e}#i=(qo(this,h),qo(this,_,``));get filter(){return this.#i}set filter(e){this.#i=e}get filteredOptions(){let e=this.filter.toLowerCase(),t=[];for(let n=0;n<this.options.length;n++){let r=this.options[n];r.toLowerCase().includes(e)&&t.push({label:r,idx:n})}return t}#a=(qo(this,v),qo(this,b,void 0));get _theme(){return this.#a}set _theme(e){this.#a=e}constructor(e){super(),qo(this,x),this.id=e.id??`dropdown-${Math.random().toString(36).slice(2,8)}`,this.options=[...e.options],this.selectedIndex=this.clampIndex(e.selectedIndex??0),this.highlightedIndex=this.selectedIndex,this.disabled=e.disabled??!1,this._theme=e.theme??ga}clampIndex(e){return this.options.length===0?0:Math.max(0,Math.min(e,this.options.length-1))}setTheme(e){this._theme=e}handleKey(e){if(this.disabled)return;let t=e.character.length===1&&!e.ctrl&&!e.meta&&e.character>=` `&&e.character!==``;if(!this.expanded){if(e.key===`enter`||e.key===`space`){this.expanded=!0,this.highlightedIndex=this.clampIndex(this.selectedIndex),e.stop();return}t&&(this.expanded=!0,this.filter+=e.character,this.highlightedIndex=0,e.stop());return}switch(e.key){case`up`:this.highlightedIndex=Math.max(0,this.highlightedIndex-1),e.stop();return;case`down`:{let t=Math.max(0,this.filteredOptions.length-1);this.highlightedIndex=Math.min(t,this.highlightedIndex+1),e.stop();return}case`enter`:{let t=this.filteredOptions[this.highlightedIndex];if(e.stop(),t===void 0)return;this.selectedIndex=t.idx,this.filter=``,this.expanded=!1,this.emitChange(),this.emitSubmit();return}case`escape`:this.filter=``,this.expanded=!1,e.stop();return;case`backspace`:this.filter=this.filter.slice(0,-1),this.highlightedIndex=0,e.stop();return;case`tab`:this.filter=``,this.expanded=!1,e.stop();return}t&&(this.filter+=e.character,this.highlightedIndex=0,e.stop())}handleMouse(e){if(this.disabled||e.type!==`mouse_up`)return;let t=this.bounds;if(!t)return;let n=e.x>=t.x&&e.x<t.x+t.width&&e.y>=t.y&&e.y<t.y+t.height;if(!this.expanded){n&&(this.expanded=!0,this.highlightedIndex=this.clampIndex(this.selectedIndex));return}if(!n){this.filter=``,this.expanded=!1;return}let r=e.y-t.y;if(r===0){this.filter=``,this.expanded=!1;return}let i=this.filteredOptions[r-1];i!==void 0&&(this.selectedIndex=i.idx,this.filter=``,this.expanded=!1,this.emitChange(),this.emitSubmit())}handleFocus(e){super.handleFocus(e),e.type===`blur`&&(this.filter=``,this.expanded=!1)}render(e){let t=e.asciiOnly?`v`:`▾`,n=this.focused?e.asciiOnly?`|`:`│`:``,r=this.maxLabelLen(),i=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):new K({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`),underline:this.focused}),a=this.headerText(r,n);return[new q(`[`,i),new q(`${a} ${t}`,i),new q(`]`,i)]}headerText(e,t){if(this.filter===``){let t=this.options[this.selectedIndex]??``,n=V(t);if(n>=e)return $r(t,H(e));let r=e-n,i=Math.floor(r/2),a=r-i;return` `.repeat(i)+t+` `.repeat(a)}let n=Math.max(0,e-V(t)-1),[r]=ei(this.filter,H(n));return $r(` `+r+t,H(e))}renderOverlay(e){if(!this.expanded)return null;let t=this.maxLabelLen(),n=this.filteredOptions;if(n.length===0)return this.renderNoMatchRow(t);let r=[];for(let e=0;e<n.length;e++)e>0&&r.push(new q(`
66
- `)),r.push(...this.renderOptionRow(n[e],e,t));return r}renderNoMatchRow(e){let t=` ${$r(`(no matches)`,H(e))} `,n=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):new K({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`),dim:!0});return[new q(` `,n),new q(t,n),new q(` `,n)]}renderOptionRow(e,t,n){let r=` ${$r(e.label,H(n))} `,i=e.idx===this.selectedIndex,a=t===this.highlightedIndex,o=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0}):a?new K({color:this.resolvePalette(`text-primary`),bgcolor:this.resolvePalette(`primary-muted`)}):i?new K({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}):new K({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`)});return[new q(` `,o),new q(r,o),new q(` `,o)]}maxLabelLen(){let e=0;for(let t of this.options){let n=V(t);n>e&&(e=n)}return e}measure(e){let t=this.maxLabelLen()+4;return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();var Yo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e,t,n,r,i;let a=xo,o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_=[],v=[],y,b=[],x=[],S,C=[],ee=[],te,w,ne,T;return class extends a{static{let re=typeof Symbol==`function`&&Symbol.metadata?Object.create(a[Symbol.metadata]??null):void 0;s=[J.observable],u=[(e=J.observable).ref.bind(e)],p=[(t=J.observable).ref.bind(t)],g=[(n=J.observable).ref.bind(n)],y=[(r=J.observable).ref.bind(r)],S=[(i=J.observable).ref.bind(i)],te=[J.action],w=[J.action],ne=[J.action],T=[J.action],Xo(this,null,s,{kind:`accessor`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:re},c,l),Xo(this,null,u,{kind:`accessor`,name:`min`,static:!1,private:!1,access:{has:e=>`min`in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:re},d,f),Xo(this,null,p,{kind:`accessor`,name:`max`,static:!1,private:!1,access:{has:e=>`max`in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:re},m,h),Xo(this,null,g,{kind:`accessor`,name:`step`,static:!1,private:!1,access:{has:e=>`step`in e,get:e=>e.step,set:(e,t)=>{e.step=t}},metadata:re},_,v),Xo(this,null,y,{kind:`accessor`,name:`width`,static:!1,private:!1,access:{has:e=>`width`in e,get:e=>e.width,set:(e,t)=>{e.width=t}},metadata:re},b,x),Xo(this,null,S,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:re},C,ee),Xo(this,null,te,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:re},null,o),Xo(this,null,w,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:re},null,o),Xo(this,null,ne,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:re},null,o),Xo(this,null,T,{kind:`method`,name:`setValue`,static:!1,private:!1,access:{has:e=>`setValue`in e,get:e=>e.setValue},metadata:re},null,o),re&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:re})}id=Yo(this,o);focusable=!0;#e=Yo(this,c,void 0);get value(){return this.#e}set value(e){this.#e=e}#t=(Yo(this,l),Yo(this,d,void 0));get min(){return this.#t}set min(e){this.#t=e}#n=(Yo(this,f),Yo(this,m,void 0));get max(){return this.#n}set max(e){this.#n=e}#r=(Yo(this,h),Yo(this,_,void 0));get step(){return this.#r}set step(e){this.#r=e}#i=(Yo(this,v),Yo(this,b,void 0));get width(){return this.#i}set width(e){this.#i=e}#a=(Yo(this,x),Yo(this,C,void 0));get _theme(){return this.#a}set _theme(e){this.#a=e}_dragging=(Yo(this,ee),!1);constructor(e={}){super(),this.id=e.id??`slider-${Math.random().toString(36).slice(2,8)}`,this.min=e.min??0,this.max=e.max??100,this.step=e.step??1;let t=e.width??20;if(!Number.isInteger(t)||t<1)throw RangeError(`Slider width must be a positive integer; got ${t}`);this.width=t,this.value=Zo(e.value??this.min,this.min,this.max,this.step),this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled)switch(e.key){case`left`:this.setValue(this.value-this.step),e.stop();return;case`right`:this.setValue(this.value+this.step),e.stop();return;case`home`:this.setValue(this.min),e.stop();return;case`end`:this.setValue(this.max),e.stop();return}}handleMouse(e){if(!this.disabled){if(e.type===`mouse_down`){this._dragging=!0,this.setValueFromMouseX(e.x);return}if(e.type===`mouse_move`){this._dragging&&this.setValueFromMouseX(e.x);return}if(e.type===`mouse_up`){let t=this._dragging;this._dragging=!1,t&&(this.setValueFromMouseX(e.x),this.emitSubmit());return}}}setValue(e){let t=Zo(e,this.min,this.max,this.step);t!==this.value&&(this.value=t,this.emitChange())}setValueFromMouseX(e){let t=this.bounds;if(!t)return;let n=Math.max(1,this.width-1),r=Math.max(0,Math.min(this.width-1,e-t.x))/n,i=this.min+r*(this.max-this.min);this.setValue(i)}render(e){let t=e.asciiOnly?`-`:`─`,n=e.asciiOnly?`*`:`●`,r=this.max-this.min,i=r===0?0:(this.value-this.min)/r,a=Math.round(i*(this.width-1)),o={underline:this.focused},s=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0,...o}):new K({color:this.resolvePalette(`primary`),...o}),c=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0,...o}):new K({color:this.resolvePalette(`surface`),...o}),l=this.disabled?new K({color:`#666666`,bgcolor:`#333333`,dim:!0,bold:!0,...o}):new K({color:this.resolvePalette(`primary`),bold:!0,...o}),u=[];a>0&&u.push(new q(t.repeat(a),s)),u.push(new q(n,l));let d=this.width-a-1;return d>0&&u.push(new q(t.repeat(d),c)),u}measure(e){return{minimum:this.width,maximum:this.width}}resolvePalette(e){let t=this._theme.palette.get(e);return hi.fromRgba(t)}}})();function Zo(e,t,n,r){let i=Math.max(t,Math.min(n,e));if(r<=0)return i;let a=t+Math.round((i-t)/r)*r;return Math.max(t,Math.min(n,a))}new TextEncoder,new TextDecoder(`utf-8`),new TextDecoder(`ascii`);function Qo(e,t){if(!(e instanceof Wa))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=e.style.add(t),n}function $o(e){return{fn:(t=>Qo(t,e)),argTypes:[`liftable`],returnType:`T`}}function es(e){return{fn:((t,n)=>Qo(n,new K({[e]:hi.parse(t)}))),argTypes:[`string`,`liftable`],returnType:`T`}}function ts(e,t){return new K({[e]:t})}function ns(){let e={};for(let t of wa)e[t]=$o(ts(t,!0)),e[`not_${t}`]=$o(ts(t,!1));for(let[t,n]of Object.entries(Ea))e[t]=$o(ts(n,!0));return e}const rs={fn:((e,t)=>Qo(t,K.parse(e))),argTypes:[`string`,`liftable`],returnType:`T`},is={fn:((e,t)=>Qo(t,new K({link:e}))),argTypes:[`string`,`liftable`],returnType:`T`};function as(){return{fg:es(`color`),bg:es(`bgcolor`),...ns(),link:is,style:rs}}function os(e,t){if(!Vi.test(e.trim()))throw TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`);return Hi(e)}function ss(e,t){return{fn:t,argTypes:e,returnType:`string`}}function cs(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`+(e===void 0?` — ${t} takes it as its last argument`:``))}return e}const ls=ss([`string`,`int`],((e,t)=>Yi(os(e,`darken`),cs(t,`darken`,`levels`)).hex)),us=ss([`string`,`int`],((e,t)=>Yi(os(e,`lighten`),-cs(t,`lighten`,`levels`)).hex)),ds={min:0,max:100,note:`0 = from, 100 = toward`},fs=ss([`string`,`string`,`float`],((e,t,n)=>Ci(os(e,`mix`),os(t,`mix`),cs(n,`mix`,`percentage`,ds)/100).hex)),ps={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},ms=ss([`string`],(e=>Zi(os(e,`contrastOn`)).hex)),hs=ss([`string`,`string`,`float`],((e,t,n)=>ea(os(e,`readableOn`),os(t,`readableOn`),cs(n,`readableOn`,`ratio`,ps)).hex)),gs={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function _s(){let e={};for(let[t,n]of Object.entries(gs)){let r=t;e[n]=ss([`string`,`float`],((e,t)=>{let i={...ji,[r]:cs(t,n,`amount`)};return zi.fromRgba(os(e,n)).applyKey(i).toRgba().hex}))}return e}function vs(){return{darken:ls,lighten:us,mix:fs,contrastOn:ms,readableOn:hs,..._s()}}function ys(e){return{color:{fn:(t=>Ui(e(),t).hex),argTypes:[`string`],returnType:`string`}}}function bs(){return{...as(),...vs()}}new K({color:`red`,dim:!0});function xs(e){return e<32||e===127||e>=128&&e<=159}function Ss(e){let t=``;for(let n of e)t+=xs(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Cs(e,t){let n=Ss(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const ws=`\x1B[38;2;255;255;255m`,Ts=`\x1B[48;2;200;40;40m`;function Es(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const Ds={fg:Es(ws),bg:Es(Ts)},Os={fg:Es(`\x1B[38;2;0;0;0m`),bg:Es(`\x1B[48;2;220;160;40m`)},ks={dark:`textual-dark`,light:`textual-light`};function As(e){return ks[e]??e}function js(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function Ms(e,t,n){return js(e,t,n,`textual-dark`,e=>e)}function Ns(){return Object.keys(ks)}function Ps(){return[...sa(),...Ns()]}function Fs(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return js(e===void 0?null:a(e),t,a(n??r),r,a)}function Is(e,t,n,r){return Fs(e,t,n,`none`,r)}function Ls(e,t){let n=e[t];if(n===void 0)throw Error(`Look "${t}" is not declared in this config — effectiveLookName collapses unknown names to "none", and every merged config carries "none"; a miss here is merge/policy drift`);return n}const Rs=[`powerline`,`capsule`,`plain`];function zs(e){return Rs.includes(e)}function Bs(e,t,n){return js(e,t,n,`powerline`,e=>zs(e)?e:null)}const Vs=[`unicode`,`ascii`],Hs=[`truecolor`,`256`,`ansi`,`none`],Us=`true`,Ws=`false`,Gs=[Us,Ws],Ks={min:0,max:16};function qs(e){return e===`true`?!0:e===`false`?!1:null}function Js(e){if(!/^\d+$/.test(e))return null;let t=Number(e);return t>=Ks.min&&t<=Ks.max?t:null}function Ys(e,t,n){return js(e,t,n,!0,qs)}function Xs(e,t,n){return js(e,t,n,1,Js)}const Zs={unicode:{},ascii:{glyph:`>`}},Qs={unicode:{},ascii:{left:`(`,right:`)`}};function $s(e,t,n){switch(e){case`capsule`:return new Za(Qs[t]);case`plain`:return new Qa(n===void 0?{}:{separator:n});case`powerline`:return new Xa(Zs[t]);default:return e}}function ec(e){switch(e){case`powerline`:return 1;case`capsule`:return 2;case`plain`:return 0;default:return e}}function tc(e,t){if(e.length===0)return``;let n=$s(t.style,t.charset,t.separator);if(t.wrap&&Number.isFinite(t.width)){let r=to(new mo([...e],{joiner:n}),{width:t.width,colorSystem:t.colorCompatibility});return r.endsWith(`
67
- `)?r.slice(0,-1):r}return to(new Ga([...e],n),{colorSystem:t.colorCompatibility})}function nc(e){return Math.min(20,e??20)}const rc={heading:`ERROR`,glyph:`⚠`,colors:Ds},ic={heading:`WARNING`,glyph:`⚠`,colors:Os},ac={heading:`UPDATE`,glyph:`⬆`,colors:Os};function oc(e,t){return{text:Ss(e),link:t}}function sc(e,t,n){let[r,...i]=[cc(e,rc,Vt),t,cc(n,ic,Ht)].flat();return r===void 0?null:{channels:[r,...i]}}function cc(e,t,n){let r=Qt([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>oc(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function lc(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
52
+ Use 'override' annotation for methods overridden by subclass.`)}}var ta=sa(0),na=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ra=0,ia=function(){};function aa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}aa(ia,Array.prototype);var oa=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,pa(function(){var e=new Ei(r,n,i,!0);e.proxy_=a,ee(a,A,e),t&&t.length&&a.spliceWithArray(0,0,t),na&&Object.defineProperty(a,`0`,ta)}),a}ge(t,e);var n=t.prototype;return n.concat=function(){this[A].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Pi(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return ya({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},pe(t,[{key:`length`,get:function(){return this[A].getArrayLength_()},set:function(e){this[A].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(ia);Object.entries(Oi).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(oa.prototype,t,n)});function sa(e){return{enumerable:!1,configurable:!0,get:function(){return this[A].get_(e)},set:function(t){this[A].set_(e,t)}}}function ca(e){s(oa.prototype,``+e,sa(e))}function la(e){if(e>ra){for(var t=ra;t<e+100;t++)ca(t);ra=e}}la(1e3);function ua(e,t,n){return new oa(e,t,n)}function K(e,t){if(typeof e==`object`&&e){if(Pi(e))return t!==void 0&&n(23),e[A].atom_;if(Wi(e))return e.atom_;if(zi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,fa(e)),r}if(Qi(e)){if(!t)return n(26);var i=e[A].values_.get(t);return i||n(27,t,fa(e)),i}if(je(e)||tn(e)||B(e))return e}else if(v(e)&&B(e[A]))return e[A];n(28)}function da(e,t){if(e||n(29),t!==void 0)return da(K(e,t));if(je(e)||tn(e)||B(e)||zi(e)||Wi(e))return e;if(e[A])return e[A];n(24,e)}function fa(e,t){var n;if(t!==void 0)n=K(e,t);else if(cr(e))return e.name;else n=Qi(e)||zi(e)||Wi(e)?da(e):K(e);return n.name_}function pa(e){var t=L(),n=Yt(!0);kn();try{return e()}finally{An(),Xt(n),pn(t)}}var ma=c.toString;function ha(e,t,n){return n===void 0&&(n=-1),ga(e,t,n)}function ga(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=ma.call(e);if(o!==ma.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=_a(e),t=_a(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!ga(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(oe(t,m)&&ga(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function _a(e){return Pi(e)?e.slice():w(e)||zi(e)||T(e)||Wi(e)?Array.from(e.entries()):e}var va=i().Iterator?.prototype||{};function ya(e){return e[Symbol.iterator]=ba,Object.assign(Object.create(va),e)}function ba(){return this}function xa(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Jn,extras:{getDebugName:fa},$mobx:A}),e.$mobx=A,e.FlowCancellationError=Ar,e.ObservableMap=Ri,e.ObservableSet=Ui,e.Reaction=In,e._allowStateChanges=Jt,e._allowStateChangesInsideComputed=sr,e._allowStateReadsEnd=hn,e._allowStateReadsStart=mn,e._autoAction=or,e._endAction=qt,e._getAdministration=da,e._getGlobalState=Sn,e._interceptReads=Rr,e._isComputingDerivation=sn,e._resetGlobalState=Cn,e._startAction=Kt,e.action=ar,e.autorun=lr,e.comparer=Le,e.computed=zt,e.configure=Sr,e.createAtom=Me,e.defineProperty=$r,e.entries=Xr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=H,e.getAtom=K,e.getDebugName=fa,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=V,e.intercept=zr,e.isAction=cr,e.isBoxedObservable=$t,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Kr,e.isObservableArray=Pi,e.isObservableMap=zi,e.isObservableObject=Qi,e.isObservableProp=qr,e.isObservableSet=Wi,e.keys=Jr,e.makeAutoObservable=xi,e.makeObservable=yi,e.observable=N,e.observe=ti,e.onBecomeObserved=gr,e.onBecomeUnobserved=_r,e.onReactionError=Ln,e.override=Ue,e.ownKeys=ei,e.reaction=fr,e.remove=Qr,e.runInAction=sr,e.set=Zr,e.spy=Jn,e.toJS=oi,e.trace=si,e.transaction=li,e.untracked=fn,e.values=Yr,e.when=U})),Y=fe(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=_o():t.exports=vo()}))(),yo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},bo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};let xo=(()=>{let e=[],t,n=[],r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_,v,y,b;return class{static{let x=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;t=[Y.observable],i=[Y.observable],s=[Y.observable],u=[Y.observable],p=[Y.observable],g=[Y.action],_=[Y.action],v=[Y.action],y=[Y.action],b=[Y.action],bo(this,null,t,{kind:`accessor`,name:`focused`,static:!1,private:!1,access:{has:e=>`focused`in e,get:e=>e.focused,set:(e,t)=>{e.focused=t}},metadata:x},n,r),bo(this,null,i,{kind:`accessor`,name:`hovered`,static:!1,private:!1,access:{has:e=>`hovered`in e,get:e=>e.hovered,set:(e,t)=>{e.hovered=t}},metadata:x},a,o),bo(this,null,s,{kind:`accessor`,name:`active`,static:!1,private:!1,access:{has:e=>`active`in e,get:e=>e.active,set:(e,t)=>{e.active=t}},metadata:x},c,l),bo(this,null,u,{kind:`accessor`,name:`disabled`,static:!1,private:!1,access:{has:e=>`disabled`in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:x},d,f),bo(this,null,p,{kind:`accessor`,name:`visible`,static:!1,private:!1,access:{has:e=>`visible`in e,get:e=>e.visible,set:(e,t)=>{e.visible=t}},metadata:x},m,h),bo(this,null,g,{kind:`method`,name:`handleFocus`,static:!1,private:!1,access:{has:e=>`handleFocus`in e,get:e=>e.handleFocus},metadata:x},null,e),bo(this,null,_,{kind:`method`,name:`focus`,static:!1,private:!1,access:{has:e=>`focus`in e,get:e=>e.focus},metadata:x},null,e),bo(this,null,v,{kind:`method`,name:`blur`,static:!1,private:!1,access:{has:e=>`blur`in e,get:e=>e.blur},metadata:x},null,e),bo(this,null,y,{kind:`method`,name:`setDisabled`,static:!1,private:!1,access:{has:e=>`setDisabled`in e,get:e=>e.setDisabled},metadata:x},null,e),bo(this,null,b,{kind:`method`,name:`setHovered`,static:!1,private:!1,access:{has:e=>`setHovered`in e,get:e=>e.setHovered},metadata:x},null,e),x&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:x})}#e=(yo(this,e),yo(this,n,!1));get focused(){return this.#e}set focused(e){this.#e=e}#t=(yo(this,r),yo(this,a,!1));get hovered(){return this.#t}set hovered(e){this.#t=e}#n=(yo(this,o),yo(this,c,!1));get active(){return this.#n}set active(e){this.#n=e}#r=(yo(this,l),yo(this,d,!1));get disabled(){return this.#r}set disabled(e){this.#r=e}#i=(yo(this,f),yo(this,m,!0));get visible(){return this.#i}set visible(e){this.#i=e}#a=(yo(this,h),null);get bounds(){return this.#a}set bounds(e){this.#a=e}changeHandlers=new Set;submitHandlers=new Set;constructor(){(0,Y.makeObservable)(this)}handleMouse(e){}handleFocus(e){this.focused=e.type===`focus`}focus(){this.handleFocus({type:`focus`})}blur(){this.handleFocus({type:`blur`})}setDisabled(e){this.disabled=e}setHovered(e){this.hovered=e}containsPoint(e,t){let n=this.bounds;return n?e>=n.x&&e<n.x+n.width&&t>=n.y&&t<n.y+n.height:!1}onChange(e){return this.changeHandlers.add(e),()=>this.changeHandlers.delete(e)}onSubmit(e){return this.submitHandlers.add(e),()=>this.submitHandlers.delete(e)}emitChange(){for(let e of this.changeHandlers)e(this)}emitSubmit(){for(let e of this.submitHandlers)e(this)}}})();var So=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Co=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};let wo=(()=>{var e,t;let n=[],r,i=[],a=[],o,s=[],c=[],l,u,d,f,p,m,h;return class{static{let g=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;r=[(e=Y.observable).shallow.bind(e)],o=[(t=Y.observable).ref.bind(t)],l=[Y.action],u=[Y.action],d=[Y.action],f=[Y.action],p=[Y.action],m=[Y.action],h=[Y.action],Co(this,null,r,{kind:`accessor`,name:`widgetList`,static:!1,private:!1,access:{has:e=>`widgetList`in e,get:e=>e.widgetList,set:(e,t)=>{e.widgetList=t}},metadata:g},i,a),Co(this,null,o,{kind:`accessor`,name:`currentWidget`,static:!1,private:!1,access:{has:e=>`currentWidget`in e,get:e=>e.currentWidget,set:(e,t)=>{e.currentWidget=t}},metadata:g},s,c),Co(this,null,l,{kind:`method`,name:`register`,static:!1,private:!1,access:{has:e=>`register`in e,get:e=>e.register},metadata:g},null,n),Co(this,null,u,{kind:`method`,name:`unregister`,static:!1,private:!1,access:{has:e=>`unregister`in e,get:e=>e.unregister},metadata:g},null,n),Co(this,null,d,{kind:`method`,name:`next`,static:!1,private:!1,access:{has:e=>`next`in e,get:e=>e.next},metadata:g},null,n),Co(this,null,f,{kind:`method`,name:`prev`,static:!1,private:!1,access:{has:e=>`prev`in e,get:e=>e.prev},metadata:g},null,n),Co(this,null,p,{kind:`method`,name:`focus`,static:!1,private:!1,access:{has:e=>`focus`in e,get:e=>e.focus},metadata:g},null,n),Co(this,null,m,{kind:`method`,name:`blur`,static:!1,private:!1,access:{has:e=>`blur`in e,get:e=>e.blur},metadata:g},null,n),Co(this,null,h,{kind:`method`,name:`setFocus`,static:!1,private:!1,access:{has:e=>`setFocus`in e,get:e=>e.setFocus},metadata:g},null,n),g&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:g})}#e=(So(this,n),So(this,i,[]));get widgetList(){return this.#e}set widgetList(e){this.#e=e}#t=(So(this,a),So(this,s,null));get currentWidget(){return this.#t}set currentWidget(e){this.#t=e}changeHandlers=(So(this,c),new Set);constructor(){(0,Y.makeObservable)(this)}get current(){return this.currentWidget}get widgets(){return this.widgetList}register(e){this.widgetList.includes(e)||(this.widgetList=[...this.widgetList,e],!this.currentWidget&&e.focusable&&!e.disabled&&this.setFocus(e))}unregister(e){if(this.widgetList.indexOf(e)!==-1&&(this.widgetList=this.widgetList.filter(t=>t!==e),this.currentWidget===e)){e.blur();let t=this.widgetList.find(e=>e.focusable&&!e.disabled)??null;t&&t.focus(),this.currentWidget=t,this.emitChange()}}next(){let e=this.focusableWidgets();if(e.length===0)return;let t=((this.currentWidget?e.indexOf(this.currentWidget):-1)+1)%e.length;this.setFocus(e[t])}prev(){let e=this.focusableWidgets();if(e.length===0)return;let t=this.currentWidget?e.indexOf(this.currentWidget):-1,n=t<=0?e.length-1:t-1;this.setFocus(e[n])}focus(e){!e.focusable||e.disabled||this.widgetList.includes(e)&&this.setFocus(e)}blur(){this.currentWidget&&(this.currentWidget.blur(),this.currentWidget=null,this.emitChange())}onChange(e){return this.changeHandlers.add(e),()=>this.changeHandlers.delete(e)}handleKey(e){e.key===`tab`&&(e.shift?this.prev():this.next(),e.stop())}focusableWidgets(){return this.widgetList.filter(e=>e.focusable&&!e.disabled)}setFocus(e){this.currentWidget!==e&&(this.currentWidget&&this.currentWidget.blur(),this.currentWidget=e,e.focus(),this.emitChange())}emitChange(){for(let e of this.changeHandlers)e(this.currentWidget)}}})();var To=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},Eo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0};(()=>{var e;let t,n=[],r=[];return class{static{let i=typeof Symbol==`function`&&Symbol.metadata?Object.create(null):void 0;t=[(e=Y.observable).shallow.bind(e)],To(this,null,t,{kind:`accessor`,name:`widgetList`,static:!1,private:!1,access:{has:e=>`widgetList`in e,get:e=>e.widgetList,set:(e,t)=>{e.widgetList=t}},metadata:i},n,r),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}focusManager;#e=Eo(this,n,[]);get widgetList(){return this.#e}set widgetList(e){this.#e=e}placements=(Eo(this,r),new Map);_activeOverlays=new Set;_running=!1;autorunDispose;renderScheduled=!1;pendingFrame=null;lastLineCount=0;host;widthOverride;colorSystem;manageCursor;constructor(e){this.host=e.host,this.widthOverride=e.width,this.focusManager=e.focusManager??new wo;let t=this.host.isTTY;this.colorSystem=Do(e.colorSystem,t),this.manageCursor=e.manageCursor??t,(0,Y.makeObservable)(this)}get running(){return this._running}get widgets(){if(this._activeOverlays.size===0)return this.widgetList;let e=[],t=[];for(let n of this.widgetList)(this._activeOverlays.has(n)?t:e).push(n);return[...e,...t]}mount(...e){(0,Y.runInAction)(()=>{let t=[...this.widgetList];for(let n of e){let{widget:e,placement:r}=Oo(n);t.includes(e)||(t.push(e),this.placements.set(e,r),this.focusManager.register(e))}this.widgetList=t})}unmount(e){(0,Y.runInAction)(()=>{this.widgetList.indexOf(e)!==-1&&(this.widgetList=this.widgetList.filter(t=>t!==e),this.placements.delete(e),this.focusManager.unregister(e),this._activeOverlays.delete(e))})}start(){this._running||(this._running=!0,this.lastLineCount=0,this.manageCursor&&this.host.write(`\x1B[?25l`),this.autorunDispose=(0,Y.autorun)(()=>{this.pendingFrame=this.computeFrame(),this.scheduleRender()}))}stop(){this._running&&(this._running=!1,this.autorunDispose&&=(this.autorunDispose(),void 0),this.pendingFrame=null,this.renderScheduled=!1,this._activeOverlays=new Set,this.manageCursor&&this.host.write(`\x1B[?25h`),this.lastLineCount>0&&this.host.write(`
53
+ `))}get width(){return this.widthOverride===void 0?this.host.size().cols:this.widthOverride}computeFrame(){let e=this.width,t={maxWidth:e,isTerminal:!0,encoding:`utf-8`},n=[],r=[],i=new Set,a=0,o=null;for(let i of this.widgetList){let s=i.visible,c=s?Array.from(i.render(t)):[],l=s?J.splitLines(c):[],u=this.placements.get(i)??ho,d,f,p=null;switch(u.kind){case`flow`:d=0,f=a;break;case`inline`:p=o,p===null?(d=0,f=a):(d=p.rightX+ +(p.rightX>0),f=p.startY);break;case`fixed`:d=u.x,f=u.y;break}let m=Math.max(0,e-d),h=m>0?l.map(e=>J.adjustLineLength(e,m,void 0,!1)):[],[g,_]=J.getShape(h);if(Ao(n,h,d,f),u.kind===`flow`&&_>0)a=f+_,o={startY:f,height:_,rightX:d+g};else if(u.kind===`inline`&&_>0){let e=p?.startY??f,t=Math.max(p?.height??0,_);a=Math.max(a,e+t),o={startY:e,height:t,rightX:d+g}}r.push({widget:i,bounds:{x:d,y:f,width:g,height:_}})}for(let a of r){let r=a.widget;if(!r.visible||!go(r))continue;let o=r.renderOverlay(t);if(o===null)continue;let s=J.splitLines(Array.from(o));if(s.length===0)continue;let c=Math.max(0,e-a.bounds.x),l=c>0?s.map(e=>J.adjustLineLength(e,c,void 0,!1)):[];if(l.length===0)continue;let u=a.bounds.y+a.bounds.height;Ao(n,l,a.bounds.x,u);let[d]=J.getShape(l);a.bounds={x:a.bounds.x,y:a.bounds.y,width:Math.max(a.bounds.width,d),height:a.bounds.height+l.length},i.add(r)}return{width:e,lines:n,bounds:r,activeOverlays:i}}scheduleRender(){this.renderScheduled||(this.renderScheduled=!0,queueMicrotask(()=>{this.renderScheduled=!1,this._running&&this.draw()}))}draw(){let e=this.pendingFrame??this.computeFrame();this.pendingFrame=null;let{width:t,lines:n,bounds:r,activeOverlays:i}=e;for(let{widget:e,bounds:t}of r)e.bounds=t;this._activeOverlays=i;let a=n.length,o=Math.max(a,this.lastLineCount),s=``;this.lastLineCount>1&&(s+=`\x1b[${this.lastLineCount-1}A`),s+=`\r`;for(let e=0;e<o;e++){let r=n[e];if(r){let e=J.adjustLineLength(r,t,void 0,!1);s+=eo(e,this.colorSystem)}s+=`\x1B[K`,e<o-1&&(s+=`
54
+ `)}this.host.write(s),this.lastLineCount=o}}})();function Do(e,t){return e===null?null:e===void 0?pi(`auto`,{isTTY:t}):typeof e==`string`?pi(e,{isTTY:t}):e}function Oo(e){return`widget`in e&&`placement`in e?(ko(e.placement),{widget:e.widget,placement:e.placement}):{widget:e,placement:ho}}function ko(e){if(e.kind===`fixed`&&(!Number.isInteger(e.x)||!Number.isInteger(e.y)||e.x<0||e.y<0))throw RangeError(`fixed Placement requires non-negative integer x and y; got (${e.x}, ${e.y})`)}function Ao(e,t,n,r){if(t.length!==0){for(;e.length<r+t.length;)e.push([]);for(let i=0;i<t.length;i++){let a=e[r+i],o=t[i],s=jo(o);if(s!==0){if(n===0&&a.length===0){e[r+i]=o.slice();continue}e[r+i]=Mo(a,H(n),s,o)}}}}function jo(e){let t=0;for(let n of e)t+=n.cellLength;return H(t)}function Mo(e,t,n,r){let i=jo(e),a=e.slice();i<t&&a.push(new J(` `.repeat(t-i)));let o=[],s=[],c=0;for(let e of a){let r=c+e.cellLength;if(r<=t)o.push(e);else if(c>=t+n)s.push(e);else{if(c<t){let[n]=e.splitCells(H(t-c));n.hasText&&o.push(n)}if(r>t+n){let[,r]=e.splitCells(H(t+n-c));r.hasText&&s.push(r)}}c=r}return[...o,...r,...s]}var No=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Po=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Fo={default:{bg:`surface`,fg:`foreground`,hover:`primary`,hoverFg:`on-primary`},primary:{bg:`primary-muted`,fg:`text-primary`,hover:`primary`,hoverFg:`on-primary`},success:{bg:`success-muted`,fg:`text-success`,hover:`success`,hoverFg:`on-success`},warning:{bg:`warning-muted`,fg:`text-warning`,hover:`warning`,hoverFg:`on-warning`},danger:{bg:`error-muted`,fg:`text-error`,hover:`error`,hoverFg:`on-error`}};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m,h,g;return class extends n{static{let _=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[Y.observable],s=[(e=Y.observable).ref.bind(e)],u=[(t=Y.observable).ref.bind(t)],p=[Y.action],m=[Y.action],h=[Y.action],g=[Y.action],Po(this,null,i,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:_},a,o),Po(this,null,s,{kind:`accessor`,name:`variant`,static:!1,private:!1,access:{has:e=>`variant`in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:_},c,l),Po(this,null,u,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:_},d,f),Po(this,null,p,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:_},null,r),Po(this,null,m,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:_},null,r),Po(this,null,h,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:_},null,r),Po(this,null,g,{kind:`method`,name:`setActive`,static:!1,private:!1,access:{has:e=>`setActive`in e,get:e=>e.setActive},metadata:_},null,r),_&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_})}id=No(this,r);focusable=!0;#e=No(this,a,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(No(this,o),No(this,c,void 0));get variant(){return this.#t}set variant(e){this.#t=e}#n=(No(this,l),No(this,d,void 0));get _theme(){return this.#n}set _theme(e){this.#n=e}constructor(e){super(),No(this,f),this.id=e.id??`button-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.variant=e.variant??`default`,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){this.disabled||(e.key===`enter`||e.key===`space`)&&(this.active=!0,this.emitSubmit(),queueMicrotask(()=>{this.active&&this.setActive(!1)}),e.stop())}handleMouse(e){this.disabled||(e.type===`mouse_down`&&(this.active=!0),e.type===`mouse_up`&&this.active&&(this.active=!1,this.emitSubmit()))}setActive(e){this.active=e}render(e){let t=this.focused,n=t?`[`:` `,r=t?`]`:` `,i=`${n} ${this.label} ${r}`;if(this.disabled)return[new J(i,new q({color:`#666666`,bgcolor:`#333333`,dim:!0}))];if(this.active||this.hovered)return[new J(i,new q({color:this.resolvePalette(Fo[this.variant].hoverFg),bgcolor:this.resolvePalette(Fo[this.variant].hover),bold:this.active}))];let{fg:a,bg:o}=this.resolveColors(`bg`);return[new J(i,new q({color:a,bgcolor:o}))]}measure(e){let t=V(this.label)+4;return{minimum:t,maximum:t}}resolveColors(e){let t=Fo[this.variant];return{fg:this.resolvePalette(t.fg),bg:this.resolvePalette(e===`hover`?t.hover:t.bg)}}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();var Io=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Lo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e;let t=xo,n=[],r,i=[],a=[],o,s=[],c=[],l,u=[],d=[],f,p,m;return class extends t{static{let h=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;r=[Y.observable],o=[Y.observable],l=[(e=Y.observable).ref.bind(e)],f=[Y.action],p=[Y.action],m=[Y.action],Lo(this,null,r,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:h},i,a),Lo(this,null,o,{kind:`accessor`,name:`checked`,static:!1,private:!1,access:{has:e=>`checked`in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:h},s,c),Lo(this,null,l,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:h},u,d),Lo(this,null,f,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:h},null,n),Lo(this,null,p,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:h},null,n),Lo(this,null,m,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:h},null,n),h&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:h})}id=Io(this,n);focusable=!0;#e=Io(this,i,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(Io(this,a),Io(this,s,void 0));get checked(){return this.#t}set checked(e){this.#t=e}#n=(Io(this,c),Io(this,u,void 0));get _theme(){return this.#n}set _theme(e){this.#n=e}constructor(e){super(),Io(this,d),this.id=e.id??`checkbox-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.checked=e.checked??!1,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`space`){this.checked=!this.checked,this.emitChange(),e.stop();return}e.key===`enter`&&(this.emitSubmit(),e.stop())}}handleMouse(e){this.disabled||e.type===`mouse_up`&&(this.checked=!this.checked,this.emitChange())}render(e){let t=`[${this.checked?e.asciiOnly?`x`:`✓`:` `}] ${this.label}`;return this.disabled?[new J(t,new q({color:`#666666`,bgcolor:`#333333`,dim:!0}))]:[new J(t,new q({color:this.checked?this.resolvePalette(`primary`):this.resolvePalette(`foreground`),underline:this.focused}))]}measure(e){let t=V(this.label)+4;return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();var Ro=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},zo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Bo={default:{onBg:`primary`,onFg:`on-primary`,offBg:`surface`,offFg:`foreground`},primary:{onBg:`primary`,onFg:`on-primary`,offBg:`primary-muted`,offFg:`text-primary`},success:{onBg:`success`,onFg:`on-success`,offBg:`success-muted`,offFg:`text-success`},warning:{onBg:`warning`,onFg:`on-warning`,offBg:`warning-muted`,offFg:`text-warning`},danger:{onBg:`error`,onFg:`on-error`,offBg:`error-muted`,offFg:`text-error`}};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_,v;return class extends n{static{let y=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[Y.observable],s=[Y.observable],u=[(e=Y.observable).ref.bind(e)],p=[(t=Y.observable).ref.bind(t)],g=[Y.action],_=[Y.action],v=[Y.action],zo(this,null,i,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:y},a,o),zo(this,null,s,{kind:`accessor`,name:`on`,static:!1,private:!1,access:{has:e=>`on`in e,get:e=>e.on,set:(e,t)=>{e.on=t}},metadata:y},c,l),zo(this,null,u,{kind:`accessor`,name:`variant`,static:!1,private:!1,access:{has:e=>`variant`in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:y},d,f),zo(this,null,p,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:y},m,h),zo(this,null,g,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:y},null,r),zo(this,null,_,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:y},null,r),zo(this,null,v,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:y},null,r),y&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:y})}id=Ro(this,r);focusable=!0;#e=Ro(this,a,void 0);get label(){return this.#e}set label(e){this.#e=e}#t=(Ro(this,o),Ro(this,c,void 0));get on(){return this.#t}set on(e){this.#t=e}#n=(Ro(this,l),Ro(this,d,void 0));get variant(){return this.#n}set variant(e){this.#n=e}#r=(Ro(this,f),Ro(this,m,void 0));get _theme(){return this.#r}set _theme(e){this.#r=e}constructor(e){super(),Ro(this,h),this.id=e.id??`toggle-${e.label.toLowerCase().replace(/\s+/g,`-`)}`,this.label=e.label,this.on=e.on??!1,this.variant=e.variant??`default`,this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`space`){this.on=!this.on,this.emitChange(),e.stop();return}e.key===`enter`&&(this.emitSubmit(),e.stop())}}handleMouse(e){this.disabled||e.type===`mouse_up`&&(this.on=!this.on,this.emitChange())}render(e){let t=`${this.on?`[ON] `:`[OFF]`} ${this.label}`;if(this.disabled)return[new J(t,new q({color:`#666666`,bgcolor:`#333333`,dim:!0}))];let n=Bo[this.variant];return[new J(t,new q({color:this.resolvePalette(this.on?n.onFg:n.offFg),bgcolor:this.resolvePalette(this.on?n.onBg:n.offBg),underline:this.focused}))]}measure(e){let t=6+V(this.label);return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();var Vo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Ho=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};const Uo=/[A-Za-z0-9_]/,Wo=/\s/;function Go(e){return e!==void 0&&Uo.test(e)}function Ko(e){return e!==void 0&&Wo.test(e)}(()=>{var e,t,n,r;let i=xo,a=[],o,s=[],c=[],l,u=[],d=[],f,p=[],m=[],h,g=[],_=[],v,y=[],b=[],x,S=[],C=[],ee,te,w,ne,T,re,E,D,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,O,he,ge;return class extends i{static{let k=typeof Symbol==`function`&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0;o=[Y.observable],l=[Y.observable],f=[(e=Y.observable).ref.bind(e)],h=[(t=Y.observable).ref.bind(t)],v=[(n=Y.observable).ref.bind(n)],x=[(r=Y.observable).ref.bind(r)],ee=[Y.action],te=[Y.action],w=[Y.action],ne=[Y.action],T=[Y.action],re=[Y.action],E=[Y.action],D=[Y.action],ie=[Y.action],ae=[Y.action],oe=[Y.action],se=[Y.action],ce=[Y.action],le=[Y.action],ue=[Y.action],de=[Y.action],fe=[Y.action],pe=[Y.action],me=[Y.action],O=[Y.action],he=[Y.action],ge=[Y.action],Ho(this,null,o,{kind:`accessor`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:k},s,c),Ho(this,null,l,{kind:`accessor`,name:`cursorPosition`,static:!1,private:!1,access:{has:e=>`cursorPosition`in e,get:e=>e.cursorPosition,set:(e,t)=>{e.cursorPosition=t}},metadata:k},u,d),Ho(this,null,f,{kind:`accessor`,name:`placeholder`,static:!1,private:!1,access:{has:e=>`placeholder`in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:k},p,m),Ho(this,null,h,{kind:`accessor`,name:`indicatorStyleOverride`,static:!1,private:!1,access:{has:e=>`indicatorStyleOverride`in e,get:e=>e.indicatorStyleOverride,set:(e,t)=>{e.indicatorStyleOverride=t}},metadata:k},g,_),Ho(this,null,v,{kind:`accessor`,name:`cursorStyleOverride`,static:!1,private:!1,access:{has:e=>`cursorStyleOverride`in e,get:e=>e.cursorStyleOverride,set:(e,t)=>{e.cursorStyleOverride=t}},metadata:k},y,b),Ho(this,null,x,{kind:`accessor`,name:`contentStyleOverride`,static:!1,private:!1,access:{has:e=>`contentStyleOverride`in e,get:e=>e.contentStyleOverride,set:(e,t)=>{e.contentStyleOverride=t}},metadata:k},S,C),Ho(this,null,ee,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:k},null,a),Ho(this,null,te,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:k},null,a),Ho(this,null,w,{kind:`method`,name:`setHovered`,static:!1,private:!1,access:{has:e=>`setHovered`in e,get:e=>e.setHovered},metadata:k},null,a),Ho(this,null,ne,{kind:`method`,name:`moveCharLeft`,static:!1,private:!1,access:{has:e=>`moveCharLeft`in e,get:e=>e.moveCharLeft},metadata:k},null,a),Ho(this,null,T,{kind:`method`,name:`moveCharRight`,static:!1,private:!1,access:{has:e=>`moveCharRight`in e,get:e=>e.moveCharRight},metadata:k},null,a),Ho(this,null,re,{kind:`method`,name:`moveLineUp`,static:!1,private:!1,access:{has:e=>`moveLineUp`in e,get:e=>e.moveLineUp},metadata:k},null,a),Ho(this,null,E,{kind:`method`,name:`moveLineDown`,static:!1,private:!1,access:{has:e=>`moveLineDown`in e,get:e=>e.moveLineDown},metadata:k},null,a),Ho(this,null,D,{kind:`method`,name:`moveLineStart`,static:!1,private:!1,access:{has:e=>`moveLineStart`in e,get:e=>e.moveLineStart},metadata:k},null,a),Ho(this,null,ie,{kind:`method`,name:`moveLineEnd`,static:!1,private:!1,access:{has:e=>`moveLineEnd`in e,get:e=>e.moveLineEnd},metadata:k},null,a),Ho(this,null,ae,{kind:`method`,name:`moveDocStart`,static:!1,private:!1,access:{has:e=>`moveDocStart`in e,get:e=>e.moveDocStart},metadata:k},null,a),Ho(this,null,oe,{kind:`method`,name:`moveDocEnd`,static:!1,private:!1,access:{has:e=>`moveDocEnd`in e,get:e=>e.moveDocEnd},metadata:k},null,a),Ho(this,null,se,{kind:`method`,name:`moveWordLeft`,static:!1,private:!1,access:{has:e=>`moveWordLeft`in e,get:e=>e.moveWordLeft},metadata:k},null,a),Ho(this,null,ce,{kind:`method`,name:`moveWordRight`,static:!1,private:!1,access:{has:e=>`moveWordRight`in e,get:e=>e.moveWordRight},metadata:k},null,a),Ho(this,null,le,{kind:`method`,name:`deleteCharBack`,static:!1,private:!1,access:{has:e=>`deleteCharBack`in e,get:e=>e.deleteCharBack},metadata:k},null,a),Ho(this,null,ue,{kind:`method`,name:`deleteCharForward`,static:!1,private:!1,access:{has:e=>`deleteCharForward`in e,get:e=>e.deleteCharForward},metadata:k},null,a),Ho(this,null,de,{kind:`method`,name:`deleteWordBack`,static:!1,private:!1,access:{has:e=>`deleteWordBack`in e,get:e=>e.deleteWordBack},metadata:k},null,a),Ho(this,null,fe,{kind:`method`,name:`deleteWordForward`,static:!1,private:!1,access:{has:e=>`deleteWordForward`in e,get:e=>e.deleteWordForward},metadata:k},null,a),Ho(this,null,pe,{kind:`method`,name:`killLineBack`,static:!1,private:!1,access:{has:e=>`killLineBack`in e,get:e=>e.killLineBack},metadata:k},null,a),Ho(this,null,me,{kind:`method`,name:`killLineForward`,static:!1,private:!1,access:{has:e=>`killLineForward`in e,get:e=>e.killLineForward},metadata:k},null,a),Ho(this,null,O,{kind:`method`,name:`yank`,static:!1,private:!1,access:{has:e=>`yank`in e,get:e=>e.yank},metadata:k},null,a),Ho(this,null,he,{kind:`method`,name:`transposeChars`,static:!1,private:!1,access:{has:e=>`transposeChars`in e,get:e=>e.transposeChars},metadata:k},null,a),Ho(this,null,ge,{kind:`method`,name:`_insertText`,static:!1,private:!1,access:{has:e=>`_insertText`in e,get:e=>e._insertText},metadata:k},null,a),k&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:k})}id=Vo(this,a);focusable=!0;#e=Vo(this,s,void 0);get value(){return this.#e}set value(e){this.#e=e}#t=(Vo(this,c),Vo(this,u,void 0));get cursorPosition(){return this.#t}set cursorPosition(e){this.#t=e}#n=(Vo(this,d),Vo(this,p,void 0));get placeholder(){return this.#n}set placeholder(e){this.#n=e}_theme=Vo(this,m);_maxLength;_password;_multiline;_wrap;_continuationMarker;_markerWidth;_maxRows;_minRows;_scrollIndicator;#r=Vo(this,g,void 0);get indicatorStyleOverride(){return this.#r}set indicatorStyleOverride(e){this.#r=e}#i=(Vo(this,_),Vo(this,y,void 0));get cursorStyleOverride(){return this.#i}set cursorStyleOverride(e){this.#i=e}#a=(Vo(this,b),Vo(this,S,void 0));get contentStyleOverride(){return this.#a}set contentStyleOverride(e){this.#a=e}_visualRows=(Vo(this,C),null);_preferredColumn=null;_killBuffer=``;_scrollStart=0;_singleLineViewportStart=H(0);multiline;constructor(e={}){super(),this.id=e.id??`text-input-${Math.random().toString(36).slice(2,8)}`,this.value=e.value??``,this.placeholder=e.placeholder??``,this.cursorPosition=e.multiline??!1?$r(0):$r(this.value.length),this.disabled=e.disabled??!1,this._theme=e.theme??ga,this._maxLength=e.maxLength,this._password=e.password??!1,this._multiline=e.multiline??!1,this._wrap=e.wrap,this._continuationMarker=e.continuationMarker??`↳ `,this._markerWidth=H(V(this._continuationMarker)),this._maxRows=e.maxRows,this._minRows=e.minRows,this._scrollIndicator=e.scrollIndicator??`arrows`,this.indicatorStyleOverride=e.indicatorStyle,this.cursorStyleOverride=e.cursorStyle,this.contentStyleOverride=e.contentStyle,this.multiline=this._multiline}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled){if(e.key===`backspace`){e.meta||e.ctrl?this.deleteWordBack():this.deleteCharBack(),e.stop();return}if(e.key===`delete`){this.deleteCharForward(),e.stop();return}if(e.key===`enter`){this._multiline&&!e.ctrl?this._insertText(`
55
+ `):this.emitSubmit(),e.stop();return}if(e.key!==`escape`){if(!e.ctrl&&!e.meta)switch(e.key){case`left`:this.moveCharLeft(),e.stop();return;case`right`:this.moveCharRight(),e.stop();return;case`up`:this.moveLineUp(),e.stop();return;case`down`:this.moveLineDown(),e.stop();return;case`home`:this.moveLineStart(),e.stop();return;case`end`:this.moveLineEnd(),e.stop();return}if(e.ctrl&&!e.meta)switch(e.key){case`left`:this.moveWordLeft(),e.stop();return;case`right`:this.moveWordRight(),e.stop();return;case`home`:this.moveDocStart(),e.stop();return;case`end`:this.moveDocEnd(),e.stop();return;case`a`:this.moveLineStart(),e.stop();return;case`e`:this.moveLineEnd(),e.stop();return;case`b`:this.moveCharLeft(),e.stop();return;case`f`:this.moveCharRight(),e.stop();return;case`p`:this.moveLineUp(),e.stop();return;case`n`:this.moveLineDown(),e.stop();return;case`d`:this.deleteCharForward(),e.stop();return;case`h`:this.deleteCharBack(),e.stop();return;case`w`:this.deleteWordBack(),e.stop();return;case`u`:this.killLineBack(),e.stop();return;case`k`:this.killLineForward(),e.stop();return;case`y`:this.yank(),e.stop();return;case`t`:this.transposeChars(),e.stop();return}if(e.meta&&!e.ctrl)switch(e.key){case`left`:this.moveWordLeft(),e.stop();return;case`right`:this.moveWordRight(),e.stop();return;case`b`:this.moveWordLeft(),e.stop();return;case`f`:this.moveWordRight(),e.stop();return;case`d`:this.deleteWordForward(),e.stop();return}e.character.length===1&&!e.ctrl&&!e.meta&&e.character>=` `&&e.character!==``&&(this._insertText(e.character),e.stop())}}}handleMouse(e){if(this.disabled||e.type!==`mouse_down`)return;let t=this.bounds;if(t){if(this._multiline){let n=this._visualRows;if(!n||n.length===0)return;let r=e.y-t.y,i=this._scrollStart+r;if(i>=n.length){this.cursorPosition=$r(this.value.length),this._preferredColumn=null;return}let a=n[Math.max(0,i)],o=H(a.isContinuation?this._markerWidth:0),s=H(Math.max(0,e.x-t.x-o)),c=ri(a.content,s),l=a.valueStart+c,u=l<this.value.length?this.value.charCodeAt(l):0,d=l>0?this.value.charCodeAt(l-1):0;this.cursorPosition=$r(u>=56320&&u<=57343&&d>=55296&&d<=56319?l+1:l)}else{let n=H(Math.max(0,e.x-t.x-1)+this._singleLineViewportStart),r=ri(this._password?`•`.repeat(this.value.length):this.value.indexOf(`
56
+ `)>=0?this.value.replace(/\n/g,`↵`):this.value,n),i=r<this.value.length?this.value.charCodeAt(r):0,a=r>0?this.value.charCodeAt(r-1):0;this.cursorPosition=$r(i>=56320&&i<=57343&&a>=55296&&a<=56319?r+1:r)}this._preferredColumn=null}}setHovered(e){this.hovered=e}moveCharLeft(){this.cursorPosition=ai(this.value,this.cursorPosition),this._preferredColumn=null}moveCharRight(){this.cursorPosition=ii(this.value,this.cursorPosition),this._preferredColumn=null}moveLineUp(){if(this._visualRows!==null&&this._visualRows.length>1){let e=this._cursorVisualRow();if(e===0)return;let t=this._preferredColumn??this._cursorVisualCol(),n=this._visualRows[e-1];this.cursorPosition=$r(n.valueStart+this._clampColForRow(t,e-1)),this._preferredColumn=t;return}let e=this._lineStart();if(e===0)return;let t=this._preferredColumn??H(V(this.value.slice(e,this.cursorPosition))),n=e-1,r=n;for(;r>0&&this.value[r-1]!==`
57
+ `;)r--;let i=this.value.slice(r,n);this.cursorPosition=$r(r+ri(i,H(Math.min(t,V(i))))),this._preferredColumn=t}moveLineDown(){if(this._visualRows!==null&&this._visualRows.length>1){let e=this._cursorVisualRow();if(e===this._visualRows.length-1)return;let t=this._preferredColumn??this._cursorVisualCol();this.cursorPosition=$r(this._visualRows[e+1].valueStart+this._clampColForRow(t,e+1)),this._preferredColumn=t;return}let e=this._lineEnd();if(e===this.value.length)return;let t=this._lineStart(),n=this._preferredColumn??H(V(this.value.slice(t,this.cursorPosition))),r=e+1,i=r;for(;i<this.value.length&&this.value[i]!==`
58
+ `;)i++;let a=this.value.slice(r,i);this.cursorPosition=$r(r+ri(a,H(Math.min(n,V(a))))),this._preferredColumn=n}_clampColForRow(e,t){let n=this._visualRows,r=n[t],i=t+1<n.length&&n[t+1].isContinuation,a=H(V(r.content)),o=i?H(Math.max(0,a-1)):a;return ri(r.content,H(Math.min(e,o)))}_cursorVisualRow(){let e=this._visualRows,t=0;for(let n=e.length-1;n>=0;n--)if(e[n].valueStart<=this.cursorPosition){t=n;break}return t}_cursorVisualCol(){let e=this._visualRows[this._cursorVisualRow()];return H(V(e.content.slice(0,this.cursorPosition-e.valueStart)))}moveLineStart(){this.cursorPosition=this._lineStart(),this._preferredColumn=null}moveLineEnd(){this.cursorPosition=this._lineEnd(),this._preferredColumn=null}moveDocStart(){this.cursorPosition=$r(0),this._preferredColumn=null}moveDocEnd(){this.cursorPosition=$r(this.value.length),this._preferredColumn=null}moveWordLeft(){let e=this.cursorPosition;for(;e>0;){let t=ai(this.value,e);if(Go(this.value.slice(t,e)))break;e=t}for(;e>0;){let t=ai(this.value,e);if(!Go(this.value.slice(t,e)))break;e=t}this.cursorPosition=e,this._preferredColumn=null}moveWordRight(){let e=this.cursorPosition;for(;e<this.value.length;){let t=ii(this.value,e);if(Go(this.value.slice(e,t)))break;e=t}for(;e<this.value.length;){let t=ii(this.value,e);if(!Go(this.value.slice(e,t)))break;e=t}this.cursorPosition=e,this._preferredColumn=null}deleteCharBack(){if(this.cursorPosition===0)return;let e=ai(this.value,this.cursorPosition);this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange()}deleteCharForward(){if(this.cursorPosition>=this.value.length)return;let e=ii(this.value,this.cursorPosition);this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange()}deleteWordBack(){let e=this.cursorPosition;for(;e>0;){let t=ai(this.value,e);if(!Ko(this.value.slice(t,e)))break;e=t}for(;e>0;){let t=ai(this.value,e);if(Ko(this.value.slice(t,e)))break;e=t}e!==this.cursorPosition&&(this._killBuffer=this.value.slice(e,this.cursorPosition),this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange())}deleteWordForward(){let e=this.cursorPosition;for(;e<this.value.length;){let t=ii(this.value,e);if(Go(this.value.slice(e,t)))break;e=t}for(;e<this.value.length;){let t=ii(this.value,e);if(!Go(this.value.slice(e,t)))break;e=t}e!==this.cursorPosition&&(this._killBuffer=this.value.slice(this.cursorPosition,e),this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange())}killLineBack(){let e=this._lineStart();e!==this.cursorPosition&&(this._killBuffer=this.value.slice(e,this.cursorPosition),this.value=this.value.slice(0,e)+this.value.slice(this.cursorPosition),this.cursorPosition=e,this._preferredColumn=null,this.emitChange())}killLineForward(){let e=this._lineEnd();if(e>this.cursorPosition){this._killBuffer=this.value.slice(this.cursorPosition,e),this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(e),this._preferredColumn=null,this.emitChange();return}this.cursorPosition<this.value.length&&(this._killBuffer=`
59
+ `,this.value=this.value.slice(0,this.cursorPosition)+this.value.slice(this.cursorPosition+1),this._preferredColumn=null,this.emitChange())}yank(){this._killBuffer.length!==0&&this._insertText(this._killBuffer)}transposeChars(){let e=this.value.length;if(e<2||this.cursorPosition===0)return;let t=this.cursorPosition;if(t===e){let e=ai(this.value,t),n=ai(this.value,e);this.value=this.value.slice(0,n)+this.value.slice(e)+this.value.slice(n,e),this._preferredColumn=null,this.emitChange();return}let n=ai(this.value,t),r=ii(this.value,t),i=this.value.slice(n,t),a=this.value.slice(t,r);this.value=this.value.slice(0,n)+a+i+this.value.slice(r),this.cursorPosition=$r(r),this._preferredColumn=null,this.emitChange()}_lineStart(){let e=this.cursorPosition;for(;e>0&&this.value[e-1]!==`
60
+ `;)e--;return $r(e)}_lineEnd(){let e=this.cursorPosition;for(;e<this.value.length&&this.value[e]!==`
61
+ `;)e++;return $r(e)}_insertText(e){let t=e;if(this._maxLength!==void 0){let e=this._maxLength-this.value.length;if(e<=0)return;t.length>e&&(t=t.slice(0,e))}this.value=this.value.slice(0,this.cursorPosition)+t+this.value.slice(this.cursorPosition),this.cursorPosition=$r(this.cursorPosition+t.length),this._preferredColumn=null,this.emitChange()}render(e){return this._multiline?this._renderMultiline(e):this._renderSingleLine(e)}_renderSingleLine(e){let t=this.focused&&this.value.length===0&&this.placeholder.length>0,n=t?this.placeholder:this._password?`•`.repeat(this.value.length):this.value.indexOf(`
62
+ `)>=0?this.value.replace(/\n/g,`↵`):this.value,r=H(V(n)),i=H(V(n.slice(0,this.cursorPosition))),a=H(Math.max(8,e.maxWidth-2)),o=H(Math.max(8,r,i+1)),s=H(Math.min(a,o)),[,c]=ti(n,H(Math.max(0,Math.min(r-s,i-s+1)))),l=H(r-V(c));this._singleLineViewportStart=l;let[u]=ti(c,s),d=ei(u,s),f=H(i-l),p=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):new q({color:this.resolvePalette(`foreground`)}),m=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):t?new q({color:this.resolvePalette(`foreground`),dim:!0}):this.contentStyleOverride??new q({color:this.resolvePalette(`foreground`)}),h=this.cursorStyleOverride??new q({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}),g=[new J(`[`,p)];if(this.focused&&!this.disabled&&f>=0&&f<s){let[e,t]=ti(d,f),n=``;for(let e of t){n=e;break}let r=n||` `,i=t.slice(n.length);e.length>0&&g.push(new J(e,m)),g.push(new J(r,h)),i.length>0&&g.push(new J(i,m))}else g.push(new J(d,m));return g.push(new J(`]`,p)),g}_renderMultiline(e){let t=this._computeVisualRows(e.maxWidth);this._visualRows=t;let n=t.length,r=this._cursorVisualRow(),i=0,a=n;if(this._maxRows!==void 0&&n>this._maxRows){let e=n-this._maxRows;r<this._scrollStart?this._scrollStart=r:r>=this._scrollStart+this._maxRows&&(this._scrollStart=r-this._maxRows+1),this._scrollStart=Math.max(0,Math.min(e,this._scrollStart)),i=this._scrollStart,a=this._maxRows}else this._scrollStart=0;let o=0;this._minRows!==void 0&&n<this._minRows&&this._maxRows===void 0&&(o=this._minRows-n);let s=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):this.contentStyleOverride??new q({color:this.resolvePalette(`foreground`)}),c=new q({color:this.resolvePalette(`foreground`),dim:!0}),l=this.cursorStyleOverride??new q({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}),u=this._maxRows!==void 0&&n>this._maxRows,d=this._scrollIndicator===`arrows`,f=d&&u&&this._scrollStart>0,p=d&&u&&this._scrollStart+this._maxRows<n,m=this.indicatorStyleOverride??new q({color:this.resolvePalette(`primary`)}),h=[],g=this.focused&&!this.disabled;for(let n=0;n<a;n++){let o=i+n,u=t[o];n>0&&h.push(new J(`
63
+ `)),u.isContinuation&&h.push(new J(this._continuationMarker,c));let d;n===0&&f?d={ch:`▲`,style:m}:n===a-1&&p&&(d={ch:`▼`,style:m});let _=u.isContinuation?H(Math.max(0,e.maxWidth-this._markerWidth)):H(e.maxWidth);this._emitRowContent(h,u,o===r&&g,s,l,d,_)}for(let t=0;t<o;t++)h.push(new J(`
64
+ `)),h.push(new J(ei(``,H(e.maxWidth)),s));return h}_emitRowContent(e,t,n,r,i,a,o){let s=t.content,c=n?this.cursorPosition-t.valueStart:-1;if(a===void 0){if(!n){s.length>0&&e.push(new J(s,r));return}let t=s.slice(0,c),a=ii(s,$r(c)),o=s.slice(c,a)||` `,l=s.slice(a);t.length>0&&e.push(new J(t,r)),e.push(new J(o,i)),l.length>0&&e.push(new J(l,r));return}let l=H(V(a.ch)),u=H(Math.max(0,o-l)),[d]=ti(s,u),f=ei(d,u),p=n&&c>=0?V(s.slice(0,c)):-1;if(p>=0&&p<u){let[t,n]=ti(f,H(p)),a=``;for(let e of n){a=e;break}let o=a||` `,s=n.slice(a.length);t.length>0&&e.push(new J(t,r)),e.push(new J(o,i)),s.length>0&&e.push(new J(s,r))}else f.length>0&&e.push(new J(f,r));e.push(new J(a.ch,a.style))}_computeVisualRows(e){let t=H(Math.max(1,e)),n=H(Math.max(1,t-this._markerWidth)),r=[],i=this.value.split(`
65
+ `),a=0;for(let e=0;e<i.length;e++){let o=i[e];if(this._wrap!==void 0){let e=this._wrap(o,{firstWidth:t,continuationWidth:n});if(e.length===0)r.push({content:``,valueStart:$r(a),isContinuation:!1});else for(let t=0;t<e.length;t++){let n=e[t];r.push({content:n.content,valueStart:$r(a+n.start),isContinuation:t>0})}}else r.push({content:o,valueStart:$r(a),isContinuation:!1});a+=o.length+1}return r}measure(e){return{minimum:10,maximum:Math.max(10,Math.max(V(this.value),V(this.placeholder))+2)}}get scrollIndicatorText(){if(this._scrollIndicator!==`indices`||this._maxRows===void 0)return;let e=this._visualRows;if(!(e===null||e.length<=this._maxRows))return`[${this._cursorVisualRow()+1}/${e.length}]`}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();var qo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Jo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e,t;let n=xo,r=[],i,a=[],o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_=[],v=[],y,b=[],x=[],S,C,ee,te;return class extends n{static{let w=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;i=[(e=Y.observable).shallow.bind(e)],s=[Y.observable],u=[Y.observable],p=[Y.observable],g=[Y.observable],y=[(t=Y.observable).ref.bind(t)],S=[Y.action],C=[Y.action],ee=[Y.action],te=[Y.action],Jo(this,null,i,{kind:`accessor`,name:`options`,static:!1,private:!1,access:{has:e=>`options`in e,get:e=>e.options,set:(e,t)=>{e.options=t}},metadata:w},a,o),Jo(this,null,s,{kind:`accessor`,name:`selectedIndex`,static:!1,private:!1,access:{has:e=>`selectedIndex`in e,get:e=>e.selectedIndex,set:(e,t)=>{e.selectedIndex=t}},metadata:w},c,l),Jo(this,null,u,{kind:`accessor`,name:`expanded`,static:!1,private:!1,access:{has:e=>`expanded`in e,get:e=>e.expanded,set:(e,t)=>{e.expanded=t}},metadata:w},d,f),Jo(this,null,p,{kind:`accessor`,name:`highlightedIndex`,static:!1,private:!1,access:{has:e=>`highlightedIndex`in e,get:e=>e.highlightedIndex,set:(e,t)=>{e.highlightedIndex=t}},metadata:w},m,h),Jo(this,null,g,{kind:`accessor`,name:`filter`,static:!1,private:!1,access:{has:e=>`filter`in e,get:e=>e.filter,set:(e,t)=>{e.filter=t}},metadata:w},_,v),Jo(this,null,y,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:w},b,x),Jo(this,null,S,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:w},null,r),Jo(this,null,C,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:w},null,r),Jo(this,null,ee,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:w},null,r),Jo(this,null,te,{kind:`method`,name:`handleFocus`,static:!1,private:!1,access:{has:e=>`handleFocus`in e,get:e=>e.handleFocus},metadata:w},null,r),w&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:w})}id=qo(this,r);focusable=!0;#e=qo(this,a,void 0);get options(){return this.#e}set options(e){this.#e=e}#t=(qo(this,o),qo(this,c,void 0));get selectedIndex(){return this.#t}set selectedIndex(e){this.#t=e}#n=(qo(this,l),qo(this,d,!1));get expanded(){return this.#n}set expanded(e){this.#n=e}#r=(qo(this,f),qo(this,m,void 0));get highlightedIndex(){return this.#r}set highlightedIndex(e){this.#r=e}#i=(qo(this,h),qo(this,_,``));get filter(){return this.#i}set filter(e){this.#i=e}get filteredOptions(){let e=this.filter.toLowerCase(),t=[];for(let n=0;n<this.options.length;n++){let r=this.options[n];r.toLowerCase().includes(e)&&t.push({label:r,idx:n})}return t}#a=(qo(this,v),qo(this,b,void 0));get _theme(){return this.#a}set _theme(e){this.#a=e}constructor(e){super(),qo(this,x),this.id=e.id??`dropdown-${Math.random().toString(36).slice(2,8)}`,this.options=[...e.options],this.selectedIndex=this.clampIndex(e.selectedIndex??0),this.highlightedIndex=this.selectedIndex,this.disabled=e.disabled??!1,this._theme=e.theme??ga}clampIndex(e){return this.options.length===0?0:Math.max(0,Math.min(e,this.options.length-1))}setTheme(e){this._theme=e}handleKey(e){if(this.disabled)return;let t=e.character.length===1&&!e.ctrl&&!e.meta&&e.character>=` `&&e.character!==``;if(!this.expanded){if(e.key===`enter`||e.key===`space`){this.expanded=!0,this.highlightedIndex=this.clampIndex(this.selectedIndex),e.stop();return}t&&(this.expanded=!0,this.filter+=e.character,this.highlightedIndex=0,e.stop());return}switch(e.key){case`up`:this.highlightedIndex=Math.max(0,this.highlightedIndex-1),e.stop();return;case`down`:{let t=Math.max(0,this.filteredOptions.length-1);this.highlightedIndex=Math.min(t,this.highlightedIndex+1),e.stop();return}case`enter`:{let t=this.filteredOptions[this.highlightedIndex];if(e.stop(),t===void 0)return;this.selectedIndex=t.idx,this.filter=``,this.expanded=!1,this.emitChange(),this.emitSubmit();return}case`escape`:this.filter=``,this.expanded=!1,e.stop();return;case`backspace`:this.filter=this.filter.slice(0,-1),this.highlightedIndex=0,e.stop();return;case`tab`:this.filter=``,this.expanded=!1,e.stop();return}t&&(this.filter+=e.character,this.highlightedIndex=0,e.stop())}handleMouse(e){if(this.disabled||e.type!==`mouse_up`)return;let t=this.bounds;if(!t)return;let n=e.x>=t.x&&e.x<t.x+t.width&&e.y>=t.y&&e.y<t.y+t.height;if(!this.expanded){n&&(this.expanded=!0,this.highlightedIndex=this.clampIndex(this.selectedIndex));return}if(!n){this.filter=``,this.expanded=!1;return}let r=e.y-t.y;if(r===0){this.filter=``,this.expanded=!1;return}let i=this.filteredOptions[r-1];i!==void 0&&(this.selectedIndex=i.idx,this.filter=``,this.expanded=!1,this.emitChange(),this.emitSubmit())}handleFocus(e){super.handleFocus(e),e.type===`blur`&&(this.filter=``,this.expanded=!1)}render(e){let t=e.asciiOnly?`v`:`▾`,n=this.focused?e.asciiOnly?`|`:`│`:``,r=this.maxLabelLen(),i=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):new q({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`),underline:this.focused}),a=this.headerText(r,n);return[new J(`[`,i),new J(`${a} ${t}`,i),new J(`]`,i)]}headerText(e,t){if(this.filter===``){let t=this.options[this.selectedIndex]??``,n=V(t);if(n>=e)return ei(t,H(e));let r=e-n,i=Math.floor(r/2),a=r-i;return` `.repeat(i)+t+` `.repeat(a)}let n=Math.max(0,e-V(t)-1),[r]=ti(this.filter,H(n));return ei(` `+r+t,H(e))}renderOverlay(e){if(!this.expanded)return null;let t=this.maxLabelLen(),n=this.filteredOptions;if(n.length===0)return this.renderNoMatchRow(t);let r=[];for(let e=0;e<n.length;e++)e>0&&r.push(new J(`
66
+ `)),r.push(...this.renderOptionRow(n[e],e,t));return r}renderNoMatchRow(e){let t=` ${ei(`(no matches)`,H(e))} `,n=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):new q({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`),dim:!0});return[new J(` `,n),new J(t,n),new J(` `,n)]}renderOptionRow(e,t,n){let r=` ${ei(e.label,H(n))} `,i=e.idx===this.selectedIndex,a=t===this.highlightedIndex,o=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0}):a?new q({color:this.resolvePalette(`text-primary`),bgcolor:this.resolvePalette(`primary-muted`)}):i?new q({color:this.resolvePalette(`on-primary`),bgcolor:this.resolvePalette(`primary`)}):new q({color:this.resolvePalette(`foreground`),bgcolor:this.resolvePalette(`surface`)});return[new J(` `,o),new J(r,o),new J(` `,o)]}maxLabelLen(){let e=0;for(let t of this.options){let n=V(t);n>e&&(e=n)}return e}measure(e){let t=this.maxLabelLen()+4;return{minimum:t,maximum:t}}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();var Yo=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xo=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0};(()=>{var e,t,n,r,i;let a=xo,o=[],s,c=[],l=[],u,d=[],f=[],p,m=[],h=[],g,_=[],v=[],y,b=[],x=[],S,C=[],ee=[],te,w,ne,T;return class extends a{static{let re=typeof Symbol==`function`&&Symbol.metadata?Object.create(a[Symbol.metadata]??null):void 0;s=[Y.observable],u=[(e=Y.observable).ref.bind(e)],p=[(t=Y.observable).ref.bind(t)],g=[(n=Y.observable).ref.bind(n)],y=[(r=Y.observable).ref.bind(r)],S=[(i=Y.observable).ref.bind(i)],te=[Y.action],w=[Y.action],ne=[Y.action],T=[Y.action],Xo(this,null,s,{kind:`accessor`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:re},c,l),Xo(this,null,u,{kind:`accessor`,name:`min`,static:!1,private:!1,access:{has:e=>`min`in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:re},d,f),Xo(this,null,p,{kind:`accessor`,name:`max`,static:!1,private:!1,access:{has:e=>`max`in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:re},m,h),Xo(this,null,g,{kind:`accessor`,name:`step`,static:!1,private:!1,access:{has:e=>`step`in e,get:e=>e.step,set:(e,t)=>{e.step=t}},metadata:re},_,v),Xo(this,null,y,{kind:`accessor`,name:`width`,static:!1,private:!1,access:{has:e=>`width`in e,get:e=>e.width,set:(e,t)=>{e.width=t}},metadata:re},b,x),Xo(this,null,S,{kind:`accessor`,name:`_theme`,static:!1,private:!1,access:{has:e=>`_theme`in e,get:e=>e._theme,set:(e,t)=>{e._theme=t}},metadata:re},C,ee),Xo(this,null,te,{kind:`method`,name:`setTheme`,static:!1,private:!1,access:{has:e=>`setTheme`in e,get:e=>e.setTheme},metadata:re},null,o),Xo(this,null,w,{kind:`method`,name:`handleKey`,static:!1,private:!1,access:{has:e=>`handleKey`in e,get:e=>e.handleKey},metadata:re},null,o),Xo(this,null,ne,{kind:`method`,name:`handleMouse`,static:!1,private:!1,access:{has:e=>`handleMouse`in e,get:e=>e.handleMouse},metadata:re},null,o),Xo(this,null,T,{kind:`method`,name:`setValue`,static:!1,private:!1,access:{has:e=>`setValue`in e,get:e=>e.setValue},metadata:re},null,o),re&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:re})}id=Yo(this,o);focusable=!0;#e=Yo(this,c,void 0);get value(){return this.#e}set value(e){this.#e=e}#t=(Yo(this,l),Yo(this,d,void 0));get min(){return this.#t}set min(e){this.#t=e}#n=(Yo(this,f),Yo(this,m,void 0));get max(){return this.#n}set max(e){this.#n=e}#r=(Yo(this,h),Yo(this,_,void 0));get step(){return this.#r}set step(e){this.#r=e}#i=(Yo(this,v),Yo(this,b,void 0));get width(){return this.#i}set width(e){this.#i=e}#a=(Yo(this,x),Yo(this,C,void 0));get _theme(){return this.#a}set _theme(e){this.#a=e}_dragging=(Yo(this,ee),!1);constructor(e={}){super(),this.id=e.id??`slider-${Math.random().toString(36).slice(2,8)}`,this.min=e.min??0,this.max=e.max??100,this.step=e.step??1;let t=e.width??20;if(!Number.isInteger(t)||t<1)throw RangeError(`Slider width must be a positive integer; got ${t}`);this.width=t,this.value=Zo(e.value??this.min,this.min,this.max,this.step),this.disabled=e.disabled??!1,this._theme=e.theme??ga}setTheme(e){this._theme=e}handleKey(e){if(!this.disabled)switch(e.key){case`left`:this.setValue(this.value-this.step),e.stop();return;case`right`:this.setValue(this.value+this.step),e.stop();return;case`home`:this.setValue(this.min),e.stop();return;case`end`:this.setValue(this.max),e.stop();return}}handleMouse(e){if(!this.disabled){if(e.type===`mouse_down`){this._dragging=!0,this.setValueFromMouseX(e.x);return}if(e.type===`mouse_move`){this._dragging&&this.setValueFromMouseX(e.x);return}if(e.type===`mouse_up`){let t=this._dragging;this._dragging=!1,t&&(this.setValueFromMouseX(e.x),this.emitSubmit());return}}}setValue(e){let t=Zo(e,this.min,this.max,this.step);t!==this.value&&(this.value=t,this.emitChange())}setValueFromMouseX(e){let t=this.bounds;if(!t)return;let n=Math.max(1,this.width-1),r=Math.max(0,Math.min(this.width-1,e-t.x))/n,i=this.min+r*(this.max-this.min);this.setValue(i)}render(e){let t=e.asciiOnly?`-`:`─`,n=e.asciiOnly?`*`:`●`,r=this.max-this.min,i=r===0?0:(this.value-this.min)/r,a=Math.round(i*(this.width-1)),o={underline:this.focused},s=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0,...o}):new q({color:this.resolvePalette(`primary`),...o}),c=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0,...o}):new q({color:this.resolvePalette(`surface`),...o}),l=this.disabled?new q({color:`#666666`,bgcolor:`#333333`,dim:!0,bold:!0,...o}):new q({color:this.resolvePalette(`primary`),bold:!0,...o}),u=[];a>0&&u.push(new J(t.repeat(a),s)),u.push(new J(n,l));let d=this.width-a-1;return d>0&&u.push(new J(t.repeat(d),c)),u}measure(e){return{minimum:this.width,maximum:this.width}}resolvePalette(e){let t=this._theme.palette.get(e);return G.fromRgba(t)}}})();function Zo(e,t,n,r){let i=Math.max(t,Math.min(n,e));if(r<=0)return i;let a=t+Math.round((i-t)/r)*r;return Math.max(t,Math.min(n,a))}new TextEncoder,new TextDecoder(`utf-8`),new TextDecoder(`ascii`);function Qo(e,t){if(!(e instanceof Wa))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=e.style.add(t),n}function $o(e){return{fn:(t=>Qo(t,e)),argTypes:[`liftable`],returnType:`T`}}function es(e){return{fn:((t,n)=>Qo(n,new q({[e]:G.parse(t)}))),argTypes:[`string`,`liftable`],returnType:`T`}}function ts(e,t){return new q({[e]:t})}function ns(){let e={};for(let t of wa)e[t]=$o(ts(t,!0)),e[`not_${t}`]=$o(ts(t,!1));for(let[t,n]of Object.entries(Ea))e[t]=$o(ts(n,!0));return e}const rs={fn:((e,t)=>Qo(t,q.parse(e))),argTypes:[`string`,`liftable`],returnType:`T`},is={fn:((e,t)=>Qo(t,new q({link:e}))),argTypes:[`string`,`liftable`],returnType:`T`};function as(){return{fg:es(`color`),bg:es(`bgcolor`),...ns(),link:is,style:rs}}function os(e,t){if(!Hi.test(e.trim()))throw TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`);return Ui(e)}function ss(e,t){return{fn:t,argTypes:e,returnType:`string`}}function cs(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`+(e===void 0?` — ${t} takes it as its last argument`:``))}return e}const ls=ss([`string`,`int`],((e,t)=>Xi(os(e,`darken`),cs(t,`darken`,`levels`)).hex)),us=ss([`string`,`int`],((e,t)=>Xi(os(e,`lighten`),-cs(t,`lighten`,`levels`)).hex)),ds={min:0,max:100,note:`0 = from, 100 = toward`},fs=ss([`string`,`string`,`float`],((e,t,n)=>Ci(os(e,`mix`),os(t,`mix`),cs(n,`mix`,`percentage`,ds)/100).hex)),ps={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},ms=ss([`string`],(e=>Qi(os(e,`contrastOn`)).hex)),hs=ss([`string`,`string`,`float`],((e,t,n)=>ta(os(e,`readableOn`),os(t,`readableOn`),cs(n,`readableOn`,`ratio`,ps)).hex)),gs={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function _s(){let e={};for(let[t,n]of Object.entries(gs)){let r=t;e[n]=ss([`string`,`float`],((e,t)=>{let i={...Mi,[r]:cs(t,n,`amount`)};return Bi.fromRgba(os(e,n)).applyKey(i).toRgba().hex}))}return e}function vs(){return{darken:ls,lighten:us,mix:fs,contrastOn:ms,readableOn:hs,..._s()}}function ys(e){return{color:{fn:(t=>Wi(e(),t).hex),argTypes:[`string`],returnType:`string`}}}function bs(){return{...as(),...vs()}}new q({color:`red`,dim:!0});function xs(e){return e<32||e===127||e>=128&&e<=159}function Ss(e){let t=``;for(let n of e)t+=xs(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Cs(e,t){let n=Ss(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const ws=`\x1B[38;2;255;255;255m`,Ts=`\x1B[48;2;200;40;40m`;function Es(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const Ds={fg:Es(ws),bg:Es(Ts)},Os={fg:Es(`\x1B[38;2;0;0;0m`),bg:Es(`\x1B[48;2;220;160;40m`)},ks={dark:`textual-dark`,light:`textual-light`};function As(e){return ks[e]??e}function js(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function Ms(e,t,n){return js(e,t,n,`textual-dark`,e=>e)}function Ns(){return Object.keys(ks)}function Ps(){return[...ca(),...Ns()]}function Fs(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return js(e===void 0?null:a(e),t,a(n??r),r,a)}function Is(e,t,n,r){return Fs(e,t,n,`none`,r)}function Ls(e,t){let n=e[t];if(n===void 0)throw Error(`Look "${t}" is not declared in this config — effectiveLookName collapses unknown names to "none", and every merged config carries "none"; a miss here is merge/policy drift`);return n}const Rs=[`powerline`,`capsule`,`plain`];function zs(e){return Rs.includes(e)}function Bs(e,t,n){return js(e,t,n,`powerline`,e=>zs(e)?e:null)}const Vs=[`unicode`,`ascii`],Hs=[`truecolor`,`256`,`ansi`,`none`],Us=`true`,Ws=`false`,Gs=[Us,Ws],Ks={min:0,max:16};function qs(e){return e===`true`?!0:e===`false`?!1:null}function Js(e){if(!/^\d+$/.test(e))return null;let t=Number(e);return t>=Ks.min&&t<=Ks.max?t:null}function Ys(e,t,n){return js(e,t,n,!0,qs)}function Xs(e,t,n){return js(e,t,n,1,Js)}const Zs={unicode:{},ascii:{glyph:`>`}},Qs={unicode:{},ascii:{left:`(`,right:`)`}};function $s(e,t,n){switch(e){case`capsule`:return new Za(Qs[t]);case`plain`:return new Qa(n===void 0?{}:{separator:n});case`powerline`:return new Xa(Zs[t]);default:return e}}function ec(e){switch(e){case`powerline`:return 1;case`capsule`:return 2;case`plain`:return 0;default:return e}}function tc(e,t){if(e.length===0)return``;let n=$s(t.style,t.charset,t.separator);if(t.wrap&&Number.isFinite(t.width)){let r=to(new mo([...e],{joiner:n}),{width:t.width,colorSystem:t.colorCompatibility});return r.endsWith(`
67
+ `)?r.slice(0,-1):r}return to(new Ga([...e],n),{colorSystem:t.colorCompatibility})}function nc(e){return Math.min(20,e??20)}const rc={heading:`ERROR`,glyph:`⚠`,colors:Ds},ic={heading:`WARNING`,glyph:`⚠`,colors:Os},ac={heading:`UPDATE`,glyph:`⬆`,colors:Os};function oc(e,t){return{text:Ss(e),link:t}}function sc(e,t,n){let[r,...i]=[cc(e,rc,Bt),t,cc(n,ic,Vt)].flat();return r===void 0?null:{channels:[r,...i]}}function cc(e,t,n){let r=Zt([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>oc(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function lc(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
68
68
  `)}function uc(e,t,n,r){if(t===null)return e;let i=dc(r),a=t.channels.flatMap(e=>fc(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[pc(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
69
- `);return e?`${l}\n${e}`:l}function dc(e){return{style:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function fc(e,t){let n=new K({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=H(Math.max(2,t.width-1)),i=(e,t)=>new Wa(`${e} `,{style:t,end:``,noWrap:!0});return e.lines.flatMap((a,o)=>tc([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>ti(e,r)).map(e=>i(e,t))})],t).split(`
70
- `))}function pc(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new K({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new Wa(e,{style:t,end:``,noWrap:!0}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(x(a.path).href)):c(`full text unavailable: ${Ss(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Ss(o),s.withLink(x(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=Wa.fromFragments([...d,...p]).truncate(r.width,{overflow:`ellipsis`});return m.noWrap=!0,tc([m],r)}const mc=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function hc(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function gc(e,t){return r.readdirSync(t).filter(mc).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?gc(e,i):[[c.relative(e,i).split(c.sep).join(`/`),hc(i,a)]]})}function _c(e){let t=C.createHash(`sha256`);for(let[n,r]of gc(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const vc=e=>e.slice(0,7);function yc(e){return c.dirname(c.dirname(e))}function bc(){return{version:un,digest:`3b298dc7c71650a2240983814f5da6bd59d1f39342905cc9b2f7554a6be8cc91`}}function xc(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function Sc(e,t){try{let n=yc(b(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=_c(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:xc(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var Y=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};const Cc=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`],wc=`persistWhen`;function Tc(e){return wc in e}function Ec(e){return Tc(e)?`to`in e?[{set:e.set,to:e.to},{persist:e.persist,to:e.to}]:`from`in e?[{set:e.set,from:e.from},{persist:e.persist,from:e.from}]:`cycle`in e?[{set:e.set,cycle:e.cycle},{persist:e.persist,cycle:e.cycle}]:[{set:e.set,min:e.min,max:e.max,by:e.by},{persist:e.persist,min:e.min,max:e.max,by:e.by}]:[e]}function Dc(e){return`set`in e}function Oc(e){return`persist`in e}function kc(e){return`reset`in e}function Ac(e){return`undo`in e}function jc(e){return`redo`in e}const Mc=/^[A-Za-z_][A-Za-z0-9_]*$/;function Nc(e){return`#${e+1}`}const Pc={rows:{}};function Fc(e){return`rows`in e}function Ic(e){return Object.fromEntries(e.map((e,t)=>[Nc(t),e]))}function Lc(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Ic(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Ic([n])}}function Rc(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function zc(e){return Fc(e)?Rc(e):e}function Bc(e,t){return Fc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Lc(e)}function Vc(e){if(!Fc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}const Hc=`default`,Uc={};function Wc(e){return[...new Set([Hc,...Object.keys(e)])]}function Gc(e,t,n){return Fs(void 0,e,t,Hc,n)}function Kc(e,t){let n={[Hc]:Uc,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Hc}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function qc(e,t){let n=Kc(e.presets,t).root??Pc;return{node:Rc(Bc(n,e.root)),path:Vc(n)?`presets.${t}.root`:`root`}}function Jc(e,t){return{...e.globals,...Kc(e.presets,t).globals}}const Yc=new Map;function Xc(e,t){Yc.set(e,{permanent:!0,resolve:t})}Xc(`themes`,()=>Ps()),Xc(`styles`,()=>Rs),Xc(`charsets`,()=>Vs),Xc(`colorCompatibilities`,()=>Hs);function Zc(e){return new Map([[`looks`,Object.keys(e.looks)],[`presets`,Wc(e.presets)]])}function Qc(e){return[...new Set([...Yc.keys(),...e.keys()])]}function $c(e,t){if(typeof e!=`string`)return e;let n=t.get(e);if(n)return n;let r=Yc.get(e);if(r)return r.resolve();throw Error(`unknown option domain "${e}" (have: ${Qc(t).join(`, `)})`)}function el(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function tl(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function nl(e){let t=new Set,n=e=>{if(e.kind===`segment`){t.add(e.name);return}for(let t of e.children)n(t)};return n(e),t}const rl=[`vertical`,`horizontal`];function*il(e){if(yield e,e.kind===`container`)for(let t of e.children)yield*il(t)}const al=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function ol(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`state`}const sl=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],cl=[`file`,`shell`,`git`],ll=[`left`,`center`,`right`],ul=[`right`,`left`,`middle`];var dl=class extends Error{file;issues;constructor(e,t){super(ml(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t}};function X(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=fl(e,n,i);if(t===-1)return r===void 0?void 0:pl(e,r);n=t,r=t}return r===void 0?void 0:pl(e,r)}function fl(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function pl(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function ml(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
71
- `)}function hl(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${xl(i)}`,line:X(e.source,[...t.split(`.`),r])}),null)}function gl(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${xl(i)}`,line:X(e.source,[...t.split(`.`),`default`])});return}return i}}function _l(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${xl(i)}`,line:X(e.source,[...t.split(`.`),r])});return}return i}}function vl(e,t,n){let r=_l(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}". Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:X(e.source,[...t.split(`.`),`palette`])});return}return r}}function yl(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${Sl(a)}`,line:X(e.source,[...t.split(`.`),r])});return}return a}}function bl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xl(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function Sl(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function Cl(e,t,n,r){return bl(r)?(Tl(e,n,r,t.noun,new Set(Object.keys(t.fields))),wl(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${xl(r)}`,line:X(e.source,n.split(`.`))}),null)}function wl(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}function Tl(e,t,n,r,i){for(let a of Object.keys(n))i.has(a)||e.issues.push({path:`${t}.${a}`,message:`Unknown ${r} "${a}". Expected one of: ${[...i].join(`, `)}`,line:X(e.source,[...t.split(`.`),a])})}function El(e,t,n,r){if(!bl(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${xl(r)}`,line:X(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:X(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:X(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:X(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function Dl(e,t,n,r){if(!bl(r))return e.issues.push({path:n,message:`${n} must be an object, got ${xl(r)}`,line:X(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${xl(i)}`,line:X(e.source,n.split(`.`))}),null;let a=t.arms;return i in a?a[i].parse(e,n,r):(e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:X(e.source,[...n.split(`.`),t.tag])}),null)}function Ol(e){return(...t)=>e()(...t)}function kl(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:X(n.source,o.split(`.`))}),null}return a}}function Z(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>_l(e,t,r,n)}}function Al(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${xl(i)}`,line:X(e.source,[n])});return}return i}}}}function jl(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${Sl(o)}`,line:X(e.source,[i])});return}return o}}}}function Ml(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${Sl(a)}`,line:X(e.source,[r])});return}return a}}}}function Nl(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>vl(e,t,r)}}function Pl(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>hl(e,t,r,n)??void 0}}function Fl(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>yl(t,n,i,r,e)}}function Il(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function Ll(e){return Il(e.fields)}function Rl(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function zl(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function Bl(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const Vl={required:!1,json:{enum:[...Hs]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Hs.join(`, `)}`,line:X(e.source,[...t.split(`.`),n])});return}return yl(e,t,r,n,Hs)}},Hl={default_bg:Z(),default_fg:Z(),default_empty_value:Z(),default_separator:Z(),default_truncate_marker:Z(),palette:Nl(),look:Z(),preset:Z(),style:Fl(Rs),autoWrap:Al(),padding:jl(Ks),charset:Fl(Vs),updateNotice:Al(),colorCompatibility:Vl},Ul={noun:`globals key`,fields:Hl};function Wl(e){return{required:!1,json:{not:{},description:`not allowed here — ${e} cannot select a preset`},parse:(t,n,r,i)=>{i[r]!==void 0&&t.issues.push({path:`${n}.${r}`,message:`${n}.${r}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`,line:X(t.source,[...n.split(`.`),r])})}}}const Gl={noun:`preset globals key`,fields:{...Hl,preset:Wl(`a preset`)}},Kl={noun:`editGlobals key`,fields:{...Hl,preset:Wl(`the editGlobals fragment`)}};function ql(e,t,n){return n===void 0?{}:Cl(e,Ul,t,n)??{}}function Jl(e,t,n){return Cl(e,Gl,t,n)??{}}function Yl(){return Ll(Gl)}function Xl(e,t,n){return Cl(e,Kl,t,n)??{}}const Zl=new Set(Object.keys(Ul.fields));function Ql(e){return Zl.has(e)}function $l(){return[...Zl]}const eu={padding:1};function tu(e){let t=new Map;for(let[n,r]of Object.entries(eu)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}const nu=/^segments\.([^.]+)\.palette$/,ru=/^presets\.(.+)\.root$/;function iu(e){return`presets.${e}.root`}function au(e){if(Ql(e))return{scope:`globals`,field:e};let t=nu.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=ru.exec(e);return n?{scope:`preset-root`,preset:n[1]}:null}function ou(e){return e.scope===`globals`?[`globals`,e.field]:[`segments`,e.segment,`palette`]}function su(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}var cu=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?hu(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},lu=class extends cu{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},uu=class extends cu{name=`EvalError`;kind=`EvalError`},du=class extends uu{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=gu(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},fu=class extends uu{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},pu=class extends uu{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},mu=class extends uu{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function hu(e,t){let n=e.split(`
69
+ `);return e?`${l}\n${e}`:l}function dc(e){return{style:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function fc(e,t){let n=new q({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=H(Math.max(2,t.width-1)),i=(e,t)=>new Wa(`${e} `,{style:t,end:``,noWrap:!0});return e.lines.flatMap((a,o)=>tc([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>ni(e,r)).map(e=>i(e,t))})],t).split(`
70
+ `))}function pc(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new q({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new Wa(e,{style:t,end:``,noWrap:!0}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(x(a.path).href)):c(`full text unavailable: ${Ss(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Ss(o),s.withLink(x(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=Wa.fromFragments([...d,...p]).truncate(r.width,{overflow:`ellipsis`});return m.noWrap=!0,tc([m],r)}const mc=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function hc(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function gc(e,t){return r.readdirSync(t).filter(mc).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?gc(e,i):[[c.relative(e,i).split(c.sep).join(`/`),hc(i,a)]]})}function _c(e){let t=C.createHash(`sha256`);for(let[n,r]of gc(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const vc=e=>e.slice(0,7);function yc(e){return c.dirname(c.dirname(e))}function bc(){return{version:un,digest:`04b327286b199da7bde95e57b235e98bee17d24f1d6b84b7540724241e8209c9`}}function xc(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function Sc(e,t){try{let n=yc(b(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=_c(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:xc(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var X=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};const Cc=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`],wc=`persistWhen`;function Tc(e){return wc in e}function Ec(e){return Tc(e)?`to`in e?[{set:e.set,to:e.to},{persist:e.persist,to:e.to}]:`from`in e?[{set:e.set,from:e.from},{persist:e.persist,from:e.from}]:`cycle`in e?[{set:e.set,cycle:e.cycle},{persist:e.persist,cycle:e.cycle}]:[{set:e.set,min:e.min,max:e.max,by:e.by},{persist:e.persist,min:e.min,max:e.max,by:e.by}]:[e]}function Dc(e){return`set`in e}function Oc(e){return`persist`in e}function kc(e){return`reset`in e}function Ac(e){return`undo`in e}function jc(e){return`redo`in e}const Mc=/^[A-Za-z_][A-Za-z0-9_]*$/;function Nc(e){return`#${e+1}`}const Pc={rows:{}};function Fc(e){return`rows`in e}function Ic(e){return Object.fromEntries(e.map((e,t)=>[Nc(t),e]))}function Lc(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Ic(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Ic([n])}}function Rc(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function zc(e){return Fc(e)?Rc(e):e}function Bc(e,t){return Fc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Lc(e)}function Vc(e){if(!Fc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}const Hc=`default`,Uc={};function Wc(e){return[...new Set([Hc,...Object.keys(e)])]}function Gc(e,t,n){return Fs(void 0,e,t,Hc,n)}function Kc(e,t){let n={[Hc]:Uc,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Hc}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function qc(e,t){let n=Kc(e.presets,t).root??Pc;return{node:Rc(Bc(n,e.root)),path:Vc(n)?`presets.${t}.root`:`root`}}function Jc(e,t){return{...e.globals,...Kc(e.presets,t).globals}}const Yc=new Map;function Xc(e,t){Yc.set(e,{permanent:!0,resolve:t})}Xc(`themes`,()=>Ps()),Xc(`styles`,()=>Rs),Xc(`charsets`,()=>Vs),Xc(`colorCompatibilities`,()=>Hs);function Zc(e){return new Map([[`looks`,Object.keys(e.looks)],[`presets`,Wc(e.presets)]])}function Qc(e){return[...new Set([...Yc.keys(),...e.keys()])]}function $c(e,t){if(typeof e!=`string`)return e;let n=t.get(e);if(n)return n;let r=Yc.get(e);if(r)return r.resolve();throw Error(`unknown option domain "${e}" (have: ${Qc(t).join(`, `)})`)}const el=[`vertical`,`horizontal`];function tl(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*nl(e){yield e;for(let t of rl(e))yield*nl(t)}function rl(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const il=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function al(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`state`}const ol=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],sl=[`file`,`shell`,`git`],cl=[`left`,`center`,`right`],ll=[`right`,`left`,`middle`];function ul(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function dl(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function fl(e){let t=new Set;for(let n of nl(e))n.kind===`segment`&&t.add(n.name);return t}var pl=class extends Error{file;issues;constructor(e,t){super(gl(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t}};function Z(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=ml(e,n,i);if(t===-1)return r===void 0?void 0:hl(e,r);n=t,r=t}return r===void 0?void 0:hl(e,r)}function ml(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function hl(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function gl(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
71
+ `)}function _l(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Cl(i)}`,line:Z(e.source,[...t.split(`.`),r])}),null)}function vl(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${Cl(i)}`,line:Z(e.source,[...t.split(`.`),`default`])});return}return i}}function yl(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Cl(i)}`,line:Z(e.source,[...t.split(`.`),r])});return}return i}}function bl(e,t,n){let r=yl(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}". Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:Z(e.source,[...t.split(`.`),`palette`])});return}return r}}function xl(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${wl(a)}`,line:Z(e.source,[...t.split(`.`),r])});return}return a}}function Sl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Cl(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function wl(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function Tl(e,t,n,r){return Sl(r)?(Dl(e,n,r,t.noun,new Set(Object.keys(t.fields))),El(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${Cl(r)}`,line:Z(e.source,n.split(`.`))}),null)}function El(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}function Dl(e,t,n,r,i){for(let a of Object.keys(n))i.has(a)||e.issues.push({path:`${t}.${a}`,message:`Unknown ${r} "${a}". Expected one of: ${[...i].join(`, `)}`,line:Z(e.source,[...t.split(`.`),a])})}function Ol(e,t,n,r){if(!Sl(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${Cl(r)}`,line:Z(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:Z(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:Z(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:Z(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function kl(e,t,n,r){if(!Sl(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Cl(r)}`,line:Z(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${Cl(i)}`,line:Z(e.source,n.split(`.`))}),null;let a=t.arms;return i in a?a[i].parse(e,n,r):(e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:Z(e.source,[...n.split(`.`),t.tag])}),null)}function Al(e){return(...t)=>e()(...t)}function jl(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:Z(n.source,o.split(`.`))}),null}return a}}function Q(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>yl(e,t,r,n)}}function Ml(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${Cl(i)}`,line:Z(e.source,[n])});return}return i}}}}function Nl(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${wl(o)}`,line:Z(e.source,[i])});return}return o}}}}function Pl(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${wl(a)}`,line:Z(e.source,[r])});return}return a}}}}function Fl(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>bl(e,t,r)}}function Il(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>_l(e,t,r,n)??void 0}}function Ll(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>xl(t,n,i,r,e)}}function Rl(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function zl(e){return Rl(e.fields)}function Bl(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function Vl(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function Hl(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const Ul={required:!1,json:{enum:[...Hs]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Hs.join(`, `)}`,line:Z(e.source,[...t.split(`.`),n])});return}return xl(e,t,r,n,Hs)}},Wl={default_bg:Q(),default_fg:Q(),default_empty_value:Q(),default_separator:Q(),default_truncate_marker:Q(),palette:Fl(),look:Q(),preset:Q(),style:Ll(Rs),autoWrap:Ml(),padding:Nl(Ks),charset:Ll(Vs),updateNotice:Ml(),colorCompatibility:Ul},Gl={noun:`globals key`,fields:Wl};function Kl(e){return{required:!1,json:{not:{},description:`not allowed here — ${e} cannot select a preset`},parse:(t,n,r,i)=>{i[r]!==void 0&&t.issues.push({path:`${n}.${r}`,message:`${n}.${r}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`,line:Z(t.source,[...n.split(`.`),r])})}}}const ql={noun:`preset globals key`,fields:{...Wl,preset:Kl(`a preset`)}},Jl={noun:`editGlobals key`,fields:{...Wl,preset:Kl(`the editGlobals fragment`)}};function Yl(e,t,n){return n===void 0?{}:Tl(e,Gl,t,n)??{}}function Xl(e,t,n){return Tl(e,ql,t,n)??{}}function Zl(){return zl(ql)}function Ql(e,t,n){return Tl(e,Jl,t,n)??{}}const $l=new Set(Object.keys(Gl.fields));function eu(e){return $l.has(e)}function tu(){return[...$l]}const nu={padding:1};function ru(e){let t=new Map;for(let[n,r]of Object.entries(nu)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}const iu=/^segments\.([^.]+)\.palette$/,au=/^presets\.(.+)\.root$/;function ou(e){return`presets.${e}.root`}function su(e){if(eu(e))return{scope:`globals`,field:e};let t=iu.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=au.exec(e);return n?{scope:`preset-root`,preset:n[1]}:null}function cu(e){return e.scope===`globals`?[`globals`,e.field]:[`segments`,e.segment,`palette`]}function lu(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}var uu=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?_u(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},du=class extends uu{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},fu=class extends uu{name=`EvalError`;kind=`EvalError`},pu=class extends fu{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=vu(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},mu=class extends fu{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},hu=class extends fu{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},gu=class extends fu{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function _u(e,t){let n=e.split(`
72
72
  `),r=t.line-1,i=[];if(r-1>=0&&r-1<n.length&&i.push({num:r,text:n[r-1]??``}),r>=0&&r<n.length&&i.push({num:r+1,text:n[r]??``}),r+1<n.length&&i.push({num:r+2,text:n[r+1]??``}),i.length===0)return``;let a=String(i[i.length-1]?.num??1).length,o=[];for(let e of i)if(o.push(` ${String(e.num).padStart(a,` `)} | ${e.text}`),e.num===t.line){let e=` ${` `.repeat(a)} | `,n=` `.repeat(Math.max(0,t.column-1));o.push(`${e}${n}^`)}return o.join(`
73
- `)}function gu(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:_u(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function _u(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function vu(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const yu=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),bu={left:`{{`,right:`}}`};var xu=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=bu){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new lu(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&Su(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);Su(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);Su(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;Su(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;Su(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(wu(e)||Cu(e)&&wu(this.src[this.offset+1]??``)||e===`.`&&wu(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&ku(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
73
+ `)}function vu(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:yu(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function yu(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function bu(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const xu=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),Su={left:`{{`,right:`}}`};var Cu=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Su){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new du(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&wu(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);wu(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);wu(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;wu(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;wu(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(Eu(e)||Tu(e)&&Eu(this.src[this.offset+1]??``)||e===`.`&&Eu(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&ju(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
74
74
  `)throw this.err(`newline in interpreted string`,e,{found:`\\n`});if(n===`"`)return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated string literal`,e,{expected:`"`,found:`end of input`})}readRawString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){if(this.src[this.offset]==="`")return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated raw string literal`,e,{expected:"`",found:`end of input`})}readChar(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
75
- `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(Cu(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);Tu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);Eu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);Du(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;wu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);wu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),Cu(this.src[this.offset]??``)&&this.advanceBy(1);wu(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Tu(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);Au(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&ku(this.src[this.offset+1]??``);)for(this.advanceBy(1);Au(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!ku(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Au(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&ku(this.src[this.offset+1]??``);)for(this.advanceBy(1);Au(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;Au(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=yu.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
75
+ `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(Tu(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);Du(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);Ou(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);ku(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;Eu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);Eu(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),Tu(this.src[this.offset]??``)&&this.advanceBy(1);Eu(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Du(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);Mu(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&ju(this.src[this.offset+1]??``);)for(this.advanceBy(1);Mu(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!ju(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Mu(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&ju(this.src[this.offset+1]??``);)for(this.advanceBy(1);Mu(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;Mu(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=xu.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
76
76
  `)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
77
- `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function Su(e){return e===` `||e===` `||e===`\r`||e===`
78
- `}function Cu(e){return e===`+`||e===`-`}function wu(e){return e>=`0`&&e<=`9`}function Tu(e){return wu(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function Eu(e){return e>=`0`&&e<=`7`}function Du(e){return e===`0`||e===`1`}function Ou(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function ku(e){return Ou(e)||e===`_`}function Au(e){return ku(e)||wu(e)}let ju,Mu;function Nu(e,t){return Mu(e,t)}var Pu=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{ju=(t,n)=>new e(t,n),Mu=(e,t)=>e.#e.get(t)??(e.#t&&Mu(e.#t,t))}has(e){return Mu(this,e)!==void 0}};function Fu(e,t,n=Pu.EMPTY){return new Iu(e,t,n).parseTemplate()}var Iu=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new xu(e,t):new xu(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:zu(n)});return n}errAt(e,t,n={}){return new lu(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${zu(e)}`,{found:zu(e)})}return{root:e,defines:ju(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=Ru(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return Lu(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${zu(n)} at top level`,{found:zu(n)})}return Lu(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new lu(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new lu(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:zu(e)});return qu(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!Bu(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:zu(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[Vu(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(Vu(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;Bu(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return Vu(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:qu(e.value,e.pos,this.source)};case`Number`:return Uu(e);case`Char`:return Wu(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${zu(e)}`,{expected:`command argument`,found:zu(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function Lu(e,t){return{type:`List`,pos:e,nodes:t}}function Ru(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function zu(e){return e.type===`EOF`?`end of input`:e.value||e.type}function Bu(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function Vu(e){return{type:`Variable`,pos:e.pos,idents:Hu(e.value)}}function Hu(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function Uu(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=Gu(i);return{...s,intValue:e}}if(a){let e=Ku(i);return{...s,floatValue:e}}let c=Ku(i);return{...s,complexValue:[0,c]}}function Wu(e,t){let n=Ju(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function Gu(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function Ku(e){return Number(e)}function qu(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
79
- `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new lu(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function Ju(e,t,n){let r=qu(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new lu(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function Yu(e,t){if(t(e)!==!1)for(let n of Xu(e))Yu(n,t)}function Xu(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return vu(e)}}const Zu=Symbol(`go-template-js.MISSING`);function Qu(e,t){if(e==null)return Zu;if(e instanceof Map)return e.has(t)?e.get(t):Zu;if(Array.isArray(e))return Zu;if(typeof e==`object`){let n=e;return t in n?n[t]:Zu}return Zu}function $u(e,t){let n=e;for(let e of t){if(n===Zu)return Zu;n=Qu(n,e)}return n}function ed(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>ed(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!ed(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>ed(e[n],t[n])):!1}return!1}const td=new WeakSet;function nd(e){return td.add(e),e}function rd(e){return td.has(e)}function id(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function ad(e){return{eq:{fn:(e,...t)=>t.some(t=>cd(e,t)),argTypes:[`comparable`]},ne:{fn:(e,t)=>!cd(e,t),argTypes:[`comparable`,`comparable`]},lt:{fn:(e,t)=>ld(e,t)<0,argTypes:[`ordered`,`ordered`]},le:{fn:(e,t)=>ld(e,t)<=0,argTypes:[`ordered`,`ordered`]},gt:{fn:(e,t)=>ld(e,t)>0,argTypes:[`ordered`,`ordered`]},ge:{fn:(e,t)=>ld(e,t)>=0,argTypes:[`ordered`,`ordered`]},len:{fn:e=>ud(e),argTypes:[`sized`]},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=dd(n,e);return n},argTypes:[`collection`,`index-key`]},slice:{fn:(e,...t)=>{let n=t.length>=1?t[0]:0,r=t.length>=2?t[1]:void 0;return e.slice(n,r)},argTypes:[`sliceable`,`int`]},print:{fn:(...t)=>md(t,e),argTypes:[`stringifiable`],returnType:`string`},println:{fn:(...t)=>`${md(t,e)}\n`,argTypes:[`stringifiable`],returnType:`string`},printf:{fn:(t,...n)=>Cd(t,n,e),argTypes:[`string`,`stringifiable`],returnType:`string`},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`]},html:{fn:(...t)=>_d(md(t,e)),argTypes:[`stringifiable`],returnType:`string`},js:{fn:(...t)=>bd(md(t,e)),argTypes:[`stringifiable`],returnType:`string`},urlquery:{fn:(...t)=>Sd(md(t,e)),argTypes:[`stringifiable`],returnType:`string`},not:{fn:e=>!id(e),argTypes:[`truthy`]}}}function od(){return{and:nd({argTypes:[`truthy`],fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!id(t))return t;return t}}),or:nd({argTypes:[`truthy`],fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),id(t))return t;return t}})}}function sd(e){return{...ad(e),...od()}}function cd(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):ed(e,t)}function ld(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function ud(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function dd(e,t){if(Array.isArray(e)){let n=Number(t);if(!Number.isInteger(n))throw Error(`index: array index must be integer, got ${fd(t)}`);if(n<0||n>=e.length)throw Error(`index: out of range [${n}] with length ${e.length}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`string`)return e[Number(t)];if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${fd(t)}`);return e[t]}throw Error(`index: cannot index ${fd(e)}`)}function fd(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function pd(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function md(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=hd(a,t),r=o}return n}function hd(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const gd={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function _d(e){return e.replace(/[\0"'&<>]/g,e=>gd[e]??e)}const vd={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},yd=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function bd(e){let t=``;for(let n of e){let e=vd[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!yd.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const xd=new TextEncoder;function Sd(e){let t=``,n=xd.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function Cd(e,t,n){let r=``,i=0,a=0;for(;a<e.length;){let o=e[a];if(o!==`%`){r+=o,a+=1;continue}if(e[a+1]===`%`){r+=`%`,a+=2;continue}let s=a+1;for(;s<e.length&&`+-# 0`.includes(e[s]??``);)s+=1;for(;s<e.length&&e[s]!==void 0&&/[0-9]/.test(e[s]);)s+=1;if(e[s]===`.`)for(s+=1;s<e.length&&e[s]!==void 0&&/[0-9]/.test(e[s]);)s+=1;let c=e[s],l=e.slice(a+1,s),u=t[i++];r+=wd(c??``,l,u,n),a=s+1}return r}function wd(e,t,n,r){switch(e){case`s`:return typeof n==`string`?Td(t,n):Td(t,hd(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${pd(n)}=${hd(n,r)})`:Td(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Td(t,Ed(n));case`q`:return Td(t,JSON.stringify(hd(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${pd(n)}=${hd(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Td(t,Number(n).toFixed(i))}case`t`:return Td(t,id(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return Td(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${pd(n)}=${hd(n,r)})`:typeof n==`bigint`?Td(t,n.toString(16)):Td(t,Math.trunc(n).toString(16));default:return`%!${e}(${pd(n)}=${hd(n,r)})`}}function Td(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function Ed(e){return e==null?`<nil>`:typeof e==`string`?e:typeof e==`bigint`?e.toString():Array.isArray(e)?`[${e.map(Ed).join(` `)}]`:e instanceof Map?`map[${[...e.entries()].map(([e,t])=>`${Ed(e)}:${Ed(t)}`).join(` `)}]`:typeof e==`object`?`{${Object.values(e).map(Ed).join(` `)}}`:String(e)}function Dd(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function Od(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function kd(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function Ad(e,t,n){e.vars.set(t,n)}const jd=new Set([`default`,`zero`,`error`]);function Md(e){if(e===void 0)return`default`;if(jd.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${Nd(e)}`)}function Nd(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function Pd(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${Nd(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${Nd(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${Nd(e.right)}`);return{left:e.left,right:e.right}}}const Fd=Object.freeze({kind:`break`}),Id=Object.freeze({kind:`continue`}),Ld={kind:`none`};let Rd;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{Rd=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function zd(e){let t=new Set,n=e=>{Yu(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const Bd={kind:`dynamic`};function Vd(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=uf(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:Bd}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return Bd;let t=e.cmds[0];if(t===void 0)return Bd;let n=t.args[0];return n===void 0||n.type!==`Identifier`?Bd:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Vd)}}default:return Bd}}function Hd(e){let t=[],n=e=>{Yu(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(Vd);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var Ud=class{fromString;toString;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??Qd,this.missingKey=Md(e.missingKey),this.delims=Pd(e.delims),this.funcs={...sd(this.toString),...e.funcs??{}}}parse(e,t){let n=Fu(e,this.delims,t);return Rd(n.source,e=>this.evalParsed(n,e),n.defines,zd(n),Hd(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=Dd(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw Fd;case`Continue`:throw Id;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new uu(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:vu(e)}}evalIf(e,t,n){id(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(id(r)){let i=Od(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=sf(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=Od(t,o);if(i.length===1)Ad(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;Ad(a,e,r),Ad(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===Id)continue;throw e}}}catch(e){if(e===Fd)return;throw e}}evalTemplateInvoke(e,t,n){let r=Nu(n.defines,e.name);if(!r)throw new uu(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=Od(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=Od(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Nu(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new uu(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,Ld);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)Ad(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new uu(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new uu(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new du(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=rd(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}Jd(i.ident,a.argTypes,c,e.pos,n.source,this.toString,a.argTypePattern,this.fromString);try{return a.fn(...c)}catch(t){throw t instanceof fu?new fu(t.funcName,t.argIndex,t.expected,t.receivedSummary,e.pos,{source:n.source}):t instanceof mu?new mu(t.message,e.pos,{source:n.source}):t}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return uf(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new du(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return Jd(e.ident,t.argTypes,[],e.pos,n.source,this.toString,t.argTypePattern,this.fromString),t.fn()}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new uu(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=$u(e,t);if(i!==Zu)return i;if(this.missingKey===`error`)throw new pu(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=kd(t,i);if(!a.found)throw new uu(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(Array.isArray(e)){t.out.push(this.fromString(Wd(e)));return}if(e instanceof Map){t.out.push(this.fromString(Gd(e)));return}t.out.push(e)}};function Wd(e){return`[${e.map(Kd).join(` `)}]`}function Gd(e){let t=[];for(let[n,r]of e)t.push(`${Kd(n)}:${Kd(r)}`);return`map[${t.join(` `)}]`}function Kd(e){return e==null?`<nil>`:Array.isArray(e)?Wd(e):e instanceof Map?Gd(e):String(e)}function qd(e){return new Ud(e)}function Jd(e,t,n,r,i,a=Qd,o,s=Zd){let c=Yd(t,o),l=-1,u=-1;for(let t=0;t<n.length;t++){let o=c(t),d=n[t];if(!Xd(o,d,a))throw new fu(e,t+1,af(o),of(d),r,{source:i});if(o===`liftable`&&typeof d==`string`&&(n[t]=s(d)),o===`int`?n[t]=Math.trunc(Number(d)):o===`float`&&(n[t]=Number(d)),o===`ordered`){if(l===-1)l=t;else if(!tf(n[l],d))throw new fu(e,t+1,`${af(`ordered`)} of the same kind as ${of(n[l])}`,of(d),r,{source:i})}if(o===`comparable`){if(u===-1)u=t;else if(!nf(n[u],d))throw new fu(e,t+1,`${af(`comparable`)} of the same kind as ${of(n[u])}`,of(d),r,{source:i})}}}function Yd(e,t){if(e.length===0)return()=>`value`;if(t===`alternating`){let t=e.length;return n=>e[n%t]}let n=e[e.length-1];return t=>t<e.length?e[t]:n}function Xd(e,t,n){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return t!=null&&typeof t!=`string`&&typeof t!=`number`&&typeof t!=`boolean`&&typeof t!=`bigint`&&typeof t!=`symbol`;case`list`:return Array.isArray(t);case`dict`:return $d(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||$d(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||$d(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||$d(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||t!=null&&typeof t!=`number`&&typeof t!=`boolean`&&typeof t!=`bigint`&&typeof t!=`symbol`;case`serializable`:return ef(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Zd(e){return e}function Qd(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new fu(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,of(e),{line:0,column:0,offset:0})}function $d(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function ef(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function tf(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function nf(e,t){let n=rf(e),r=rf(t);return n===`nil`||r===`nil`?!0:n===r}function rf(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function af(e){switch(e){case`int`:return`integer (finite number or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function of(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function sf(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?cf([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?cf(Object.entries(e)):[]}function cf(e){return[...e].sort((e,t)=>lf(e[0],t[0]))}function lf(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function uf(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function df(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function ff(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function pf(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function mf(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=pf(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function hf(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=pf(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function gf(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function _f(e){return JSON.stringify(e)??`null`}function vf(e){return typeof e==`string`?e:Ed(e)}function yf(e){return e.map(vf)}function bf(){return{atoi:{fn:e=>df(e),argTypes:[`string`],returnType:`int`},int:{fn:e=>mf(e),argTypes:[`value`],returnType:`int`},int64:{fn:e=>hf(e),argTypes:[`value`]},float64:{fn:e=>ff(e),argTypes:[`value`],returnType:`float`},toString:{fn:e=>vf(e),argTypes:[`value`],returnType:`string`},toStrings:{fn:e=>yf(e),argTypes:[`list`]},toDecimal:{fn:e=>gf(e),argTypes:[`string`],returnType:`int`},toRawJson:{fn:e=>_f(e),argTypes:[`serializable`],returnType:`string`}}}const xf={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Sf(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*xf[a],n=n.slice(e[0].length)}return t?-r:r}function Cf(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<xf.us?`${Math.floor(n)}ns`:n<xf.ms?wf(n,xf.us,3,`µs`):n<xf.s?wf(n,xf.ms,6,`ms`):Tf(n),t?`-${r}`:r}function wf(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function Tf(e){let t=Math.floor(e/xf.h);e-=t*xf.h;let n=Math.floor(e/xf.m);e-=n*xf.m;let r=Math.floor(e/xf.s),i=e-r*xf.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function Ef(e){return e*xf.s}function Df(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Of(e,t){let n=t().getTime()-Df(e).getTime();return Cf(Math.round(n/1e3)*1e9)}const kf=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Af=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],jf=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Mf=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Nf(e){return e<10?`0${e}`:String(e)}function Pf(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function Ff(e){return e<10?` ${e}`:String(e)}function If(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Nf(Math.floor(n/60))}${Nf(n%60)}`}function Lf(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Nf(Math.floor(n/60))}:${Nf(n%60)}`}function Rf(e){return`${e>=0?`+`:`-`}${Nf(Math.floor(Math.abs(e)/60))}`}function zf(e){return e===0?`Z`:If(e)}function Bf(e){return e===0?`Z`:Lf(e)}function Vf(e){return e===0?`Z`:Rf(e)}function Hf(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const Uf=[[`.000000000`,e=>`.${Hf(e.ms,9,!1)}`],[`.999999999`,e=>{let t=Hf(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${Hf(e.ms,6,!1)}`],[`.999999`,e=>{let t=Hf(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${Pf(e.ms)}`],[`.999`,e=>{let t=Pf(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>kf[e.month-1]??`January`],[`Monday`,e=>jf[e.weekday]??`Monday`],[`Z07:00`,e=>Bf(e.offsetMinutes)],[`-07:00`,e=>Lf(e.offsetMinutes)],[`Z0700`,e=>zf(e.offsetMinutes)],[`-0700`,e=>If(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Af[e.month-1]??`Jan`],[`Mon`,e=>Mf[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>Rf(e.offsetMinutes)],[`Z07`,e=>Vf(e.offsetMinutes)],[`15`,e=>Nf(e.hour)],[`01`,e=>Nf(e.month)],[`02`,e=>Nf(e.day)],[`_2`,e=>Ff(e.day)],[`03`,e=>Nf(e.hour12)],[`04`,e=>Nf(e.minute)],[`05`,e=>Nf(e.second)],[`06`,e=>Nf(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function Wf(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of Uf)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const Gf={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function Kf(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const qf=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Jf(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=Kf(new Intl.DateTimeFormat(`en-US`,{...Gf,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=Kf(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=Yf(Kf(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=qf.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function Yf(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function Xf(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Zf(e,t){return Wf(e,Jf(Df(t),Xf()))}function Qf(e,t,n){return Wf(e,Jf(Df(t),n))}function $f(e,t){let n=Df(t),r=Sf(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function ep(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Cf(Ef(t))}return typeof e==`bigint`?Cf(Ef(Number(e))):typeof e==`number`?Cf(Ef(e)):`0s`}const tp=36e11*24*365,np=36e11*24*30,rp=36e11*24,ip=36e11,ap=6e10,op=1e9;function sp(e){let t=Sf(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>tp?`${Math.floor(n/tp)}y`:n>np?`${Math.floor(n/np)}mo`:n>rp?`${Math.floor(n/rp)}d`:n>ip?`${Math.floor(n/ip)}h`:n>ap?`${Math.floor(n/ap)}m`:n>op?`${Math.floor(n/op)}s`:`0s`}function cp(e){let t=Jf(Df(e),Xf());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function lp(e,t){let n=Jf(Df(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function up(e){return e()}const dp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],fp=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function pp(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function mp(e,t,n){return[e.slice(t,t+n),t+n]}function hp(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function gp(e,t){for(let[n,r]of dp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function _p(e,t){for(let[n,r]of fp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function vp(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function yp(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function bp(e,t){if(e[t]===` `){let[n,r]=hp(e,t+1,1,1);return[n,r]}return hp(e,t,1,2)}function xp(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=hp(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=hp(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=hp(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function Sp(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=hp(e,t+1,2,2);return[n*r*60,i]}return xp(e,t,n)}function Cp(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function wp(e,t,n){let[r,i]=mp(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Tp(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=gp(t,n);return i.month=e,[r,i]}case`Monday`:return[vp(t,n),i];case`Jan`:{let[e,r]=_p(t,n);return i.month=e,[r,i]}case`Mon`:return[yp(t,n),i];case`2006`:{let[e,r]=hp(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=hp(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=hp(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=hp(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=bp(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=hp(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=hp(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=hp(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=hp(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=hp(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=hp(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=hp(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=hp(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=hp(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[Cp(t,n),i];case`-0700`:{let[e,r]=xp(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=xp(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=hp(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=Sp(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=Sp(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=Sp(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=wp(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=wp(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=wp(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const Ep=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function Dp(e,t){let n=0,r=0,i=pp();for(;n<e.length;){let a=!1;for(let o of Ep)if(e.startsWith(o,n)){let[e,s]=Tp(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function Op(e,t){return Dp(e,t)}function kp(e){return String(Math.floor(Df(e).getTime()/1e3))}function Ap(e=()=>new Date){return{now:{fn:()=>up(e),argTypes:[]},date:{fn:(e,t)=>Zf(e,t),argTypes:[`string`,`value`]},dateInZone:{fn:(e,t,n)=>Qf(e,t,n),argTypes:[`string`,`value`,`string`]},dateModify:{fn:(e,t)=>$f(e,t),argTypes:[`string`,`value`]},htmlDate:{fn:e=>cp(e),argTypes:[`value`]},htmlDateInZone:{fn:(e,t)=>lp(e,t),argTypes:[`value`,`string`]},duration:{fn:e=>ep(e),argTypes:[`value`]},durationRound:{fn:e=>sp(e),argTypes:[`value`]},toDate:{fn:(e,t)=>Op(e,t),argTypes:[`string`,`string`]},ago:{fn:t=>Of(t,e),argTypes:[`value`]},unixEpoch:{fn:e=>kp(e),argTypes:[`value`]}}}function jp(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function Mp(...e){for(let t of e)if(!jp(t))return t}function Np(e,t){return jp(t)?e:t}function Pp(e){return JSON.parse(e)}function Fp(e,t,n){return id(n)?e:t}function Ip(e){return JSON.stringify(e)??`null`}function Lp(e){return JSON.stringify(e,null,2)??`null`}function Rp(){return{default:{fn:(e,t)=>Np(e,t),argTypes:[`value`,`truthy`]},empty:{fn:e=>jp(e),argTypes:[`truthy`]},coalesce:{fn:(...e)=>Mp(...e),argTypes:[`truthy`]},ternary:{fn:(e,t,n)=>Fp(e,t,n),argTypes:[`value`,`value`,`truthy`]},fromJson:{fn:e=>Pp(e),argTypes:[`string`]},toJson:{fn:e=>Ip(e),argTypes:[`serializable`],returnType:`string`},toPrettyJson:{fn:e=>Lp(e),argTypes:[`serializable`],returnType:`string`}}}function zp(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function Bp(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return zp(...t)}function Vp(e,t){return e[t]}function Hp(e,t){return t in e}function Up(e){return Object.keys(e)}function Wp(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function Gp(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function Kp(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function qp(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Jp(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function Yp(e,t,n){return e[t]=n,e}function Xp(e,t){return delete e[t],e}function Zp(e){return Object.values(e)}function Qp(){return{dict:{fn:(...e)=>zp(...e),argTypes:[`string`,`value`],argTypePattern:`alternating`},get:{fn:(e,t)=>Vp(e,t),argTypes:[`dict`,`string`]},set:{fn:(e,t,n)=>Yp(e,t,n),argTypes:[`dict`,`string`,`value`]},unset:{fn:(e,t)=>Xp(e,t),argTypes:[`dict`,`string`]},keys:{fn:e=>Up(e),argTypes:[`dict`]},values:{fn:e=>Zp(e),argTypes:[`dict`]},pluck:{fn:(e,...t)=>Jp(e,...t),argTypes:[`string`,`dict`]},pick:{fn:(e,...t)=>qp(e,...t),argTypes:[`dict`,`string`]},omit:{fn:(e,...t)=>Kp(e,...t),argTypes:[`dict`,`string`]},hasKey:{fn:(e,t)=>Hp(e,t),argTypes:[`dict`,`string`]},merge:{fn:(e,...t)=>Wp(e,...t),argTypes:[`dict`]},mergeOverwrite:{fn:(e,...t)=>Gp(e,...t),argTypes:[`dict`]}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function $p(...e){for(let t of e)if(jp(t))return!1;return!0}function em(...e){for(let t of e)if(!jp(t))return!0;return!1}function tm(e,t){return[...e,t]}function nm(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function rm(e){return e.filter(e=>!jp(e))}function im(...e){let t=[];for(let n of e)t.push(...n);return t}const am={line:0,column:0,offset:0};function om(e,t,n,r){return new fu(e,t,n,r,am)}function sm(...e){if(e.length<3)throw om(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!lm(t))throw om(`dig`,e.length-1,`dict`,um(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw om(`dig`,e,`string`,um(r[e]));return cm(t,n,r,e.length)}function cm(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!lm(a))throw om(`dig`,r-1,`dict at intermediate key`,um(a));return cm(a,t,n.slice(1),r)}function lm(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function um(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function dm(e){return e[0]}function fm(e,t){return t.some(t=>ed(t,e))}function pm(e){return e.slice(0,-1)}function mm(e){return e[e.length-1]}function hm(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function gm(...e){return e}function _m(e,t){return[t,...e]}function vm(e){return e.slice(1)}function ym(e){return[...e].reverse()}function bm(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function xm(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Sm(e){let t=[];for(let n of e)t.some(e=>ed(e,n))||t.push(n);return t}function Cm(e,...t){return e.filter(e=>!t.some(t=>ed(t,e)))}function wm(){return{list:{fn:(...e)=>gm(...e),argTypes:[`value`]},first:{fn:e=>dm(e),argTypes:[`list`]},last:{fn:e=>mm(e),argTypes:[`list`]},rest:{fn:e=>vm(e),argTypes:[`list`]},initial:{fn:e=>pm(e),argTypes:[`list`]},len:{fn:e=>hm(e),argTypes:[`sized`]},reverse:{fn:e=>ym(e),argTypes:[`list`]},uniq:{fn:e=>Sm(e),argTypes:[`list`]},without:{fn:(e,...t)=>Cm(e,...t),argTypes:[`list`,`value`]},has:{fn:(e,t)=>fm(e,t),argTypes:[`value`,`list`]},compact:{fn:e=>rm(e),argTypes:[`list`]},slice:{fn:(e,t,n)=>bm(e,t,n),argTypes:[`list`,`int`,`int`]},concat:{fn:(...e)=>im(...e),argTypes:[`list`]},chunk:{fn:(e,t)=>nm(e,t),argTypes:[`int`,`list`]},prepend:{fn:(e,t)=>_m(e,t),argTypes:[`list`,`value`]},append:{fn:(e,t)=>tm(e,t),argTypes:[`list`,`value`]},sortAlpha:{fn:e=>xm(e),argTypes:[`list`],returnType:`list`},push:{fn:(e,t)=>tm(e,t),argTypes:[`list`,`value`]},tuple:{fn:(...e)=>gm(...e),argTypes:[`value`]},dig:{fn:(...e)=>sm(...e),argTypes:[`value`]},all:{fn:(...e)=>$p(...e),argTypes:[`truthy`],returnType:`bool`},any:{fn:(...e)=>em(...e),argTypes:[`truthy`],returnType:`bool`}}}function Tm(...e){return e.reduce((e,t)=>e+t,0)}function Em(e){return e+1}function Dm(e){return e+1}function Om(...e){return e.reduce((e,t)=>e+t,0)}function km(e){return Math.ceil(e)}function Am(e,t){return Math.trunc(e/t)}function jm(e,t){return e/t}function Mm(e){return Math.floor(e)}function Nm(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function Pm(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function Fm(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function Im(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function Lm(e,t){return e%t}function Rm(...e){return e.reduce((e,t)=>e*t,1)}function zm(...e){return e.reduce((e,t)=>e*t,1)}function Bm(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function Vm(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function Hm(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),Vm(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return Vm(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:Vm(n,i+t,r).join(` `)}default:return``}}function Um(e,t){return e-t}function Wm(e,t){return e-t}function Gm(e){return Vm(0,e,e<0?-1:1)}function Km(){return{add:{fn:(...e)=>Tm(...e),argTypes:[`int`]},sub:{fn:(e,t)=>Um(e,t),argTypes:[`int`,`int`]},mul:{fn:(...e)=>Rm(...e),argTypes:[`int`]},div:{fn:(e,t)=>Am(e,t),argTypes:[`int`,`int`]},mod:{fn:(e,t)=>Lm(e,t),argTypes:[`int`,`int`]},min:{fn:(...e)=>Fm(...e),argTypes:[`int`]},max:{fn:(...e)=>Nm(...e),argTypes:[`int`]},floor:{fn:e=>Mm(e),argTypes:[`float`]},ceil:{fn:e=>km(e),argTypes:[`float`]},round:{fn:(e,t)=>Bm(e,t),argTypes:[`float`,`int`]},addf:{fn:(...e)=>Om(...e),argTypes:[`float`]},subf:{fn:(e,t)=>Wm(e,t),argTypes:[`float`,`float`]},mulf:{fn:(...e)=>zm(...e),argTypes:[`float`]},divf:{fn:(e,t)=>jm(e,t),argTypes:[`float`,`float`]},add1:{fn:e=>Em(e),argTypes:[`int`]},add1f:{fn:e=>Dm(e),argTypes:[`float`]},maxf:{fn:(...e)=>Pm(...e),argTypes:[`float`]},minf:{fn:(...e)=>Im(...e),argTypes:[`float`]},biggest:{fn:(...e)=>Nm(...e),argTypes:[`int`]},seq:{fn:(...e)=>Hm(...e),argTypes:[`int`],returnType:`string`},until:{fn:e=>Gm(e),argTypes:[`int`],returnType:`list`},untilStep:{fn:(e,t,n)=>Vm(e,t,n),argTypes:[`int`,`int`,`int`],returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function qm(e,t){return t.length<=e||e<4?t:`${t.slice(0,e-3)}...`}function Jm(e,t,n){return t<7||n.length<t||e<0||e>n.length-t+1?n:`...${n.slice(e,e+t-6)}...`}const Q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},Ym=/^[-_\s]$/,Xm=/^\p{P}$/u,Zm=/^\p{L}$/u,Qm=/^\p{Lu}$/u,$m=/^\p{N}$/u;function eh(e){return e!==void 0&&Ym.test(e)}function th(e){return e!==void 0&&Zm.test(e)}function nh(e){return e!==void 0&&Qm.test(e)}function rh(e){return e!==void 0&&$m.test(e)}function ih(e){return e!==void 0&&Xm.test(e)}function ah(e,t){if(t>=e.length)return{word:{wt:Q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(eh(n)){for(;r<e.length&&eh(e[r]);)r++;return{word:{wt:Q.Connector,text:e.slice(t,r).join(``)},next:r}}if(ih(n)){for(;r<e.length&&ih(e[r]);)r++;return{word:{wt:Q.Punct,text:e.slice(t,r).join(``)},next:r}}if(nh(n)){if(r>=e.length)return{word:{wt:Q.UpperCase,text:n},next:r};if(nh(e[r])){let n=r;for(;n<e.length&&nh(e[n]);)n++;return n<e.length&&th(e[n])?{word:{wt:Q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:Q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(th(e[r])){let n=r+1;for(;n<e.length&&th(e[n])&&!nh(e[n]);)n++;return{word:{wt:Q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:Q.UpperCase,text:n},next:r}}if(th(n)){for(;r<e.length&&th(e[r])&&!nh(e[r]);)r++;return{word:{wt:Q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(rh(n)){for(;r<e.length&&rh(e[r]);)r++;return{word:{wt:Q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!eh(e[r])&&!th(e[r])&&!rh(e[r])&&!ih(e[r]);)r++;return{word:{wt:Q.Other,text:e.slice(t,r).join(``)},next:r}}function oh(e,t,n){if(t.wt!==Q.UpperCase&&t.wt!==Q.Connector){e.push(t.text);return}for(let r of t.text)eh(r)?e.push(n):nh(r)?e.push(r.toLowerCase()):e.push(r)}function sh(e,t){if(e.length===0)return``;let n=Array.from(e),r=[],{word:i,next:a}=ah(n,0);for(;a<n.length;){i.wt!==Q.Connector&&oh(r,i,t);let e=i,o=i;if({word:i,next:a}=ah(n,a),e.wt===Q.Number){for(;i.wt===Q.Alphabet||i.wt===Q.Number;)oh(r,i,t),{word:i,next:a}=ah(n,a);i.wt!==Q.Invalid&&i.wt!==Q.Punct&&i.wt!==Q.Connector&&r.push(t);continue}if(e.wt===Q.Connector){oh(r,o,t);continue}if(e.wt===Q.Punct)continue;if(i.wt!==Q.Number){i.wt!==Q.Connector&&i.wt!==Q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=ah(n,a),i.wt!==Q.Alphabet){oh(r,s,t),i.wt!==Q.Connector&&i.wt!==Q.Punct&&r.push(t);continue}for(r.push(t),oh(r,s,t);i.wt===Q.Alphabet||i.wt===Q.Number;)oh(r,i,t),{word:i,next:a}=ah(n,a);i.wt!==Q.Invalid&&i.wt!==Q.Connector&&i.wt!==Q.Punct&&r.push(t)}return oh(r,i,t),r.join(``).toLowerCase()}function ch(e){if(e.length===0)return``;let t=Array.from(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!eh(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,eh(i)&&eh(e)){n.push(e);continue}eh(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function lh(e){return ch(e)}function uh(...e){return e.join(` `)}function dh(e,t){return t.includes(e)}function fh(e,t){return t.startsWith(e)}function ph(e,t){return t.endsWith(e)}function mh(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
77
+ `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function wu(e){return e===` `||e===` `||e===`\r`||e===`
78
+ `}function Tu(e){return e===`+`||e===`-`}function Eu(e){return e>=`0`&&e<=`9`}function Du(e){return Eu(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function Ou(e){return e>=`0`&&e<=`7`}function ku(e){return e===`0`||e===`1`}function Au(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function ju(e){return Au(e)||e===`_`}function Mu(e){return ju(e)||Eu(e)}let Nu,Pu;function Fu(e,t){return Pu(e,t)}var Iu=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Nu=(t,n)=>new e(t,n),Pu=(e,t)=>e.#e.get(t)??(e.#t&&Pu(e.#t,t))}has(e){return Pu(this,e)!==void 0}};function Lu(e,t,n=Iu.EMPTY){return new Ru(e,t,n).parseTemplate()}var Ru=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new Cu(e,t):new Cu(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:Vu(n)});return n}errAt(e,t,n={}){return new du(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${Vu(e)}`,{found:Vu(e)})}return{root:e,defines:Nu(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=Bu(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return zu(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${Vu(n)} at top level`,{found:Vu(n)})}return zu(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new du(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new du(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:Vu(e)});return Yu(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!Hu(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:Vu(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[Uu(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(Uu(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;Hu(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return Uu(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:Yu(e.value,e.pos,this.source)};case`Number`:return Gu(e);case`Char`:return Ku(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${Vu(e)}`,{expected:`command argument`,found:Vu(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function zu(e,t){return{type:`List`,pos:e,nodes:t}}function Bu(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function Vu(e){return e.type===`EOF`?`end of input`:e.value||e.type}function Hu(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function Uu(e){return{type:`Variable`,pos:e.pos,idents:Wu(e.value)}}function Wu(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function Gu(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=qu(i);return{...s,intValue:e}}if(a){let e=Ju(i);return{...s,floatValue:e}}let c=Ju(i);return{...s,complexValue:[0,c]}}function Ku(e,t){let n=Xu(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function qu(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function Ju(e){return Number(e)}function Yu(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
79
+ `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new du(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function Xu(e,t,n){let r=Yu(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new du(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function Zu(e,t){if(t(e)!==!1)for(let n of Qu(e))Zu(n,t)}function Qu(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return bu(e)}}const $u=Symbol(`go-template-js.MISSING`);function ed(e,t){if(e==null)return $u;if(e instanceof Map)return e.has(t)?e.get(t):$u;if(Array.isArray(e))return $u;if(typeof e==`object`){let n=e;return t in n?n[t]:$u}return $u}function td(e,t){let n=e;for(let e of t){if(n===$u)return $u;n=ed(n,e)}return n}function nd(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>nd(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!nd(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>nd(e[n],t[n])):!1}return!1}const rd=new WeakSet;function id(e){return rd.add(e),e}function ad(e){return rd.has(e)}function od(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function sd(e){return{eq:{fn:(e,...t)=>t.some(t=>ud(e,t)),argTypes:[`comparable`]},ne:{fn:(e,t)=>!ud(e,t),argTypes:[`comparable`,`comparable`]},lt:{fn:(e,t)=>dd(e,t)<0,argTypes:[`ordered`,`ordered`]},le:{fn:(e,t)=>dd(e,t)<=0,argTypes:[`ordered`,`ordered`]},gt:{fn:(e,t)=>dd(e,t)>0,argTypes:[`ordered`,`ordered`]},ge:{fn:(e,t)=>dd(e,t)>=0,argTypes:[`ordered`,`ordered`]},len:{fn:e=>fd(e),argTypes:[`sized`]},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=pd(n,e);return n},argTypes:[`collection`,`index-key`]},slice:{fn:(e,...t)=>{let n=t.length>=1?t[0]:0,r=t.length>=2?t[1]:void 0;return e.slice(n,r)},argTypes:[`sliceable`,`int`]},print:{fn:(...t)=>gd(t,e),argTypes:[`stringifiable`],returnType:`string`},println:{fn:(...t)=>`${gd(t,e)}\n`,argTypes:[`stringifiable`],returnType:`string`},printf:{fn:(t,...n)=>Td(t,n,e),argTypes:[`string`,`stringifiable`],returnType:`string`},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`]},html:{fn:(...t)=>yd(gd(t,e)),argTypes:[`stringifiable`],returnType:`string`},js:{fn:(...t)=>Sd(gd(t,e)),argTypes:[`stringifiable`],returnType:`string`},urlquery:{fn:(...t)=>wd(gd(t,e)),argTypes:[`stringifiable`],returnType:`string`},not:{fn:e=>!od(e),argTypes:[`truthy`]}}}function cd(){return{and:id({argTypes:[`truthy`],fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!od(t))return t;return t}}),or:id({argTypes:[`truthy`],fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),od(t))return t;return t}})}}function ld(e){return{...sd(e),...cd()}}function ud(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):nd(e,t)}function dd(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function fd(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function pd(e,t){if(Array.isArray(e)){let n=Number(t);if(!Number.isInteger(n))throw Error(`index: array index must be integer, got ${md(t)}`);if(n<0||n>=e.length)throw Error(`index: out of range [${n}] with length ${e.length}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`string`)return e[Number(t)];if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${md(t)}`);return e[t]}throw Error(`index: cannot index ${md(e)}`)}function md(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function hd(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function gd(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=_d(a,t),r=o}return n}function _d(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const vd={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function yd(e){return e.replace(/[\0"'&<>]/g,e=>vd[e]??e)}const bd={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},xd=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Sd(e){let t=``;for(let n of e){let e=bd[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!xd.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Cd=new TextEncoder;function wd(e){let t=``,n=Cd.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function Td(e,t,n){let r=``,i=0,a=0;for(;a<e.length;){let o=e[a];if(o!==`%`){r+=o,a+=1;continue}if(e[a+1]===`%`){r+=`%`,a+=2;continue}let s=a+1;for(;s<e.length&&`+-# 0`.includes(e[s]??``);)s+=1;for(;s<e.length&&e[s]!==void 0&&/[0-9]/.test(e[s]);)s+=1;if(e[s]===`.`)for(s+=1;s<e.length&&e[s]!==void 0&&/[0-9]/.test(e[s]);)s+=1;let c=e[s],l=e.slice(a+1,s),u=t[i++];r+=Ed(c??``,l,u,n),a=s+1}return r}function Ed(e,t,n,r){switch(e){case`s`:return typeof n==`string`?Dd(t,n):Dd(t,_d(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${hd(n)}=${_d(n,r)})`:Dd(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Dd(t,Od(n));case`q`:return Dd(t,JSON.stringify(_d(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${hd(n)}=${_d(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Dd(t,Number(n).toFixed(i))}case`t`:return Dd(t,od(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return Dd(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${hd(n)}=${_d(n,r)})`:typeof n==`bigint`?Dd(t,n.toString(16)):Dd(t,Math.trunc(n).toString(16));default:return`%!${e}(${hd(n)}=${_d(n,r)})`}}function Dd(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function Od(e){return e==null?`<nil>`:typeof e==`string`?e:typeof e==`bigint`?e.toString():Array.isArray(e)?`[${e.map(Od).join(` `)}]`:e instanceof Map?`map[${[...e.entries()].map(([e,t])=>`${Od(e)}:${Od(t)}`).join(` `)}]`:typeof e==`object`?`{${Object.values(e).map(Od).join(` `)}}`:String(e)}function kd(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function Ad(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function jd(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function Md(e,t,n){e.vars.set(t,n)}const Nd=new Set([`default`,`zero`,`error`]);function Pd(e){if(e===void 0)return`default`;if(Nd.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${Fd(e)}`)}function Fd(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function Id(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${Fd(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${Fd(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${Fd(e.right)}`);return{left:e.left,right:e.right}}}const Ld=Object.freeze({kind:`break`}),Rd=Object.freeze({kind:`continue`}),zd={kind:`none`};let Bd;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{Bd=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function Vd(e){let t=new Set,n=e=>{Zu(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const Hd={kind:`dynamic`};function Ud(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=ff(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:Hd}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return Hd;let t=e.cmds[0];if(t===void 0)return Hd;let n=t.args[0];return n===void 0||n.type!==`Identifier`?Hd:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Ud)}}default:return Hd}}function Wd(e){let t=[],n=e=>{Zu(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(Ud);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var Gd=class{fromString;toString;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??ef,this.missingKey=Pd(e.missingKey),this.delims=Id(e.delims),this.funcs={...ld(this.toString),...e.funcs??{}}}parse(e,t){let n=Lu(e,this.delims,t);return Bd(n.source,e=>this.evalParsed(n,e),n.defines,Vd(n),Wd(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=kd(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw Ld;case`Continue`:throw Rd;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new fu(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:bu(e)}}evalIf(e,t,n){od(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(od(r)){let i=Ad(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=lf(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=Ad(t,o);if(i.length===1)Md(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;Md(a,e,r),Md(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===Rd)continue;throw e}}}catch(e){if(e===Ld)return;throw e}}evalTemplateInvoke(e,t,n){let r=Fu(n.defines,e.name);if(!r)throw new fu(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=Ad(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=Ad(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Fu(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new fu(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,zd);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)Md(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new fu(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new fu(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new pu(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=ad(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}Xd(i.ident,a.argTypes,c,e.pos,n.source,this.toString,a.argTypePattern,this.fromString);try{return a.fn(...c)}catch(t){throw t instanceof mu?new mu(t.funcName,t.argIndex,t.expected,t.receivedSummary,e.pos,{source:n.source}):t instanceof gu?new gu(t.message,e.pos,{source:n.source}):t}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return ff(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new pu(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return Xd(e.ident,t.argTypes,[],e.pos,n.source,this.toString,t.argTypePattern,this.fromString),t.fn()}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new fu(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=td(e,t);if(i!==$u)return i;if(this.missingKey===`error`)throw new hu(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=jd(t,i);if(!a.found)throw new fu(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(Array.isArray(e)){t.out.push(this.fromString(Kd(e)));return}if(e instanceof Map){t.out.push(this.fromString(qd(e)));return}t.out.push(e)}};function Kd(e){return`[${e.map(Jd).join(` `)}]`}function qd(e){let t=[];for(let[n,r]of e)t.push(`${Jd(n)}:${Jd(r)}`);return`map[${t.join(` `)}]`}function Jd(e){return e==null?`<nil>`:Array.isArray(e)?Kd(e):e instanceof Map?qd(e):String(e)}function Yd(e){return new Gd(e)}function Xd(e,t,n,r,i,a=ef,o,s=$d){let c=Zd(t,o),l=-1,u=-1;for(let t=0;t<n.length;t++){let o=c(t),d=n[t];if(!Qd(o,d,a))throw new mu(e,t+1,sf(o),cf(d),r,{source:i});if(o===`liftable`&&typeof d==`string`&&(n[t]=s(d)),o===`int`?n[t]=Math.trunc(Number(d)):o===`float`&&(n[t]=Number(d)),o===`ordered`){if(l===-1)l=t;else if(!rf(n[l],d))throw new mu(e,t+1,`${sf(`ordered`)} of the same kind as ${cf(n[l])}`,cf(d),r,{source:i})}if(o===`comparable`){if(u===-1)u=t;else if(!af(n[u],d))throw new mu(e,t+1,`${sf(`comparable`)} of the same kind as ${cf(n[u])}`,cf(d),r,{source:i})}}}function Zd(e,t){if(e.length===0)return()=>`value`;if(t===`alternating`){let t=e.length;return n=>e[n%t]}let n=e[e.length-1];return t=>t<e.length?e[t]:n}function Qd(e,t,n){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return t!=null&&typeof t!=`string`&&typeof t!=`number`&&typeof t!=`boolean`&&typeof t!=`bigint`&&typeof t!=`symbol`;case`list`:return Array.isArray(t);case`dict`:return tf(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||tf(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||tf(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||tf(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||t!=null&&typeof t!=`number`&&typeof t!=`boolean`&&typeof t!=`bigint`&&typeof t!=`symbol`;case`serializable`:return nf(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function $d(e){return e}function ef(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new mu(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,cf(e),{line:0,column:0,offset:0})}function tf(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function nf(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function rf(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function af(e,t){let n=of(e),r=of(t);return n===`nil`||r===`nil`?!0:n===r}function of(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function sf(e){switch(e){case`int`:return`integer (finite number or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function cf(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function lf(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?uf([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?uf(Object.entries(e)):[]}function uf(e){return[...e].sort((e,t)=>df(e[0],t[0]))}function df(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function ff(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function pf(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function mf(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function hf(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function gf(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=hf(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function _f(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=hf(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function vf(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function yf(e){return JSON.stringify(e)??`null`}function bf(e){return typeof e==`string`?e:Od(e)}function xf(e){return e.map(bf)}function Sf(){return{atoi:{fn:e=>pf(e),argTypes:[`string`],returnType:`int`},int:{fn:e=>gf(e),argTypes:[`value`],returnType:`int`},int64:{fn:e=>_f(e),argTypes:[`value`]},float64:{fn:e=>mf(e),argTypes:[`value`],returnType:`float`},toString:{fn:e=>bf(e),argTypes:[`value`],returnType:`string`},toStrings:{fn:e=>xf(e),argTypes:[`list`]},toDecimal:{fn:e=>vf(e),argTypes:[`string`],returnType:`int`},toRawJson:{fn:e=>yf(e),argTypes:[`serializable`],returnType:`string`}}}const Cf={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function wf(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*Cf[a],n=n.slice(e[0].length)}return t?-r:r}function Tf(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Cf.us?`${Math.floor(n)}ns`:n<Cf.ms?Ef(n,Cf.us,3,`µs`):n<Cf.s?Ef(n,Cf.ms,6,`ms`):Df(n),t?`-${r}`:r}function Ef(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function Df(e){let t=Math.floor(e/Cf.h);e-=t*Cf.h;let n=Math.floor(e/Cf.m);e-=n*Cf.m;let r=Math.floor(e/Cf.s),i=e-r*Cf.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function Of(e){return e*Cf.s}function kf(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Af(e,t){let n=t().getTime()-kf(e).getTime();return Tf(Math.round(n/1e3)*1e9)}const jf=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Mf=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Nf=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Pf=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Ff(e){return e<10?`0${e}`:String(e)}function If(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function Lf(e){return e<10?` ${e}`:String(e)}function Rf(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Ff(Math.floor(n/60))}${Ff(n%60)}`}function zf(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Ff(Math.floor(n/60))}:${Ff(n%60)}`}function Bf(e){return`${e>=0?`+`:`-`}${Ff(Math.floor(Math.abs(e)/60))}`}function Vf(e){return e===0?`Z`:Rf(e)}function Hf(e){return e===0?`Z`:zf(e)}function Uf(e){return e===0?`Z`:Bf(e)}function Wf(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const Gf=[[`.000000000`,e=>`.${Wf(e.ms,9,!1)}`],[`.999999999`,e=>{let t=Wf(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${Wf(e.ms,6,!1)}`],[`.999999`,e=>{let t=Wf(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${If(e.ms)}`],[`.999`,e=>{let t=If(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>jf[e.month-1]??`January`],[`Monday`,e=>Nf[e.weekday]??`Monday`],[`Z07:00`,e=>Hf(e.offsetMinutes)],[`-07:00`,e=>zf(e.offsetMinutes)],[`Z0700`,e=>Vf(e.offsetMinutes)],[`-0700`,e=>Rf(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Mf[e.month-1]??`Jan`],[`Mon`,e=>Pf[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>Bf(e.offsetMinutes)],[`Z07`,e=>Uf(e.offsetMinutes)],[`15`,e=>Ff(e.hour)],[`01`,e=>Ff(e.month)],[`02`,e=>Ff(e.day)],[`_2`,e=>Lf(e.day)],[`03`,e=>Ff(e.hour12)],[`04`,e=>Ff(e.minute)],[`05`,e=>Ff(e.second)],[`06`,e=>Ff(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function Kf(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of Gf)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const qf={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function Jf(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const Yf=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Xf(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=Jf(new Intl.DateTimeFormat(`en-US`,{...qf,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=Jf(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=Zf(Jf(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=Yf.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function Zf(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function Qf(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function $f(e,t){return Kf(e,Xf(kf(t),Qf()))}function ep(e,t,n){return Kf(e,Xf(kf(t),n))}function tp(e,t){let n=kf(t),r=wf(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function np(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Tf(Of(t))}return typeof e==`bigint`?Tf(Of(Number(e))):typeof e==`number`?Tf(Of(e)):`0s`}const rp=36e11*24*365,ip=36e11*24*30,ap=36e11*24,op=36e11,sp=6e10,cp=1e9;function lp(e){let t=wf(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>rp?`${Math.floor(n/rp)}y`:n>ip?`${Math.floor(n/ip)}mo`:n>ap?`${Math.floor(n/ap)}d`:n>op?`${Math.floor(n/op)}h`:n>sp?`${Math.floor(n/sp)}m`:n>cp?`${Math.floor(n/cp)}s`:`0s`}function up(e){let t=Xf(kf(e),Qf());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function dp(e,t){let n=Xf(kf(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function fp(e){return e()}const pp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],mp=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function hp(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function gp(e,t,n){return[e.slice(t,t+n),t+n]}function _p(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function vp(e,t){for(let[n,r]of pp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function yp(e,t){for(let[n,r]of mp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function bp(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function xp(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function Sp(e,t){if(e[t]===` `){let[n,r]=_p(e,t+1,1,1);return[n,r]}return _p(e,t,1,2)}function Cp(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=_p(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=_p(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=_p(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function wp(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=_p(e,t+1,2,2);return[n*r*60,i]}return Cp(e,t,n)}function Tp(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function Ep(e,t,n){let[r,i]=gp(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Dp(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=vp(t,n);return i.month=e,[r,i]}case`Monday`:return[bp(t,n),i];case`Jan`:{let[e,r]=yp(t,n);return i.month=e,[r,i]}case`Mon`:return[xp(t,n),i];case`2006`:{let[e,r]=_p(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=_p(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=_p(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=_p(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Sp(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=_p(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=_p(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=_p(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=_p(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=_p(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=_p(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=_p(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=_p(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=_p(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[Tp(t,n),i];case`-0700`:{let[e,r]=Cp(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=Cp(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=_p(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=wp(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=wp(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=wp(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Ep(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Ep(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Ep(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const Op=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function kp(e,t){let n=0,r=0,i=hp();for(;n<e.length;){let a=!1;for(let o of Op)if(e.startsWith(o,n)){let[e,s]=Dp(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function Ap(e,t){return kp(e,t)}function jp(e){return String(Math.floor(kf(e).getTime()/1e3))}function Mp(e=()=>new Date){return{now:{fn:()=>fp(e),argTypes:[]},date:{fn:(e,t)=>$f(e,t),argTypes:[`string`,`value`]},dateInZone:{fn:(e,t,n)=>ep(e,t,n),argTypes:[`string`,`value`,`string`]},dateModify:{fn:(e,t)=>tp(e,t),argTypes:[`string`,`value`]},htmlDate:{fn:e=>up(e),argTypes:[`value`]},htmlDateInZone:{fn:(e,t)=>dp(e,t),argTypes:[`value`,`string`]},duration:{fn:e=>np(e),argTypes:[`value`]},durationRound:{fn:e=>lp(e),argTypes:[`value`]},toDate:{fn:(e,t)=>Ap(e,t),argTypes:[`string`,`string`]},ago:{fn:t=>Af(t,e),argTypes:[`value`]},unixEpoch:{fn:e=>jp(e),argTypes:[`value`]}}}function Np(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function Pp(...e){for(let t of e)if(!Np(t))return t}function Fp(e,t){return Np(t)?e:t}function Ip(e){return JSON.parse(e)}function Lp(e,t,n){return od(n)?e:t}function Rp(e){return JSON.stringify(e)??`null`}function zp(e){return JSON.stringify(e,null,2)??`null`}function Bp(){return{default:{fn:(e,t)=>Fp(e,t),argTypes:[`value`,`truthy`]},empty:{fn:e=>Np(e),argTypes:[`truthy`]},coalesce:{fn:(...e)=>Pp(...e),argTypes:[`truthy`]},ternary:{fn:(e,t,n)=>Lp(e,t,n),argTypes:[`value`,`value`,`truthy`]},fromJson:{fn:e=>Ip(e),argTypes:[`string`]},toJson:{fn:e=>Rp(e),argTypes:[`serializable`],returnType:`string`},toPrettyJson:{fn:e=>zp(e),argTypes:[`serializable`],returnType:`string`}}}function Vp(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function Hp(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return Vp(...t)}function Up(e,t){return e[t]}function Wp(e,t){return t in e}function Gp(e){return Object.keys(e)}function Kp(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function qp(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function Jp(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function Yp(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Xp(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function Zp(e,t,n){return e[t]=n,e}function Qp(e,t){return delete e[t],e}function $p(e){return Object.values(e)}function em(){return{dict:{fn:(...e)=>Vp(...e),argTypes:[`string`,`value`],argTypePattern:`alternating`},get:{fn:(e,t)=>Up(e,t),argTypes:[`dict`,`string`]},set:{fn:(e,t,n)=>Zp(e,t,n),argTypes:[`dict`,`string`,`value`]},unset:{fn:(e,t)=>Qp(e,t),argTypes:[`dict`,`string`]},keys:{fn:e=>Gp(e),argTypes:[`dict`]},values:{fn:e=>$p(e),argTypes:[`dict`]},pluck:{fn:(e,...t)=>Xp(e,...t),argTypes:[`string`,`dict`]},pick:{fn:(e,...t)=>Yp(e,...t),argTypes:[`dict`,`string`]},omit:{fn:(e,...t)=>Jp(e,...t),argTypes:[`dict`,`string`]},hasKey:{fn:(e,t)=>Wp(e,t),argTypes:[`dict`,`string`]},merge:{fn:(e,...t)=>Kp(e,...t),argTypes:[`dict`]},mergeOverwrite:{fn:(e,...t)=>qp(e,...t),argTypes:[`dict`]}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function tm(...e){for(let t of e)if(Np(t))return!1;return!0}function nm(...e){for(let t of e)if(!Np(t))return!0;return!1}function rm(e,t){return[...e,t]}function im(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function am(e){return e.filter(e=>!Np(e))}function om(...e){let t=[];for(let n of e)t.push(...n);return t}const sm={line:0,column:0,offset:0};function cm(e,t,n,r){return new mu(e,t,n,r,sm)}function lm(...e){if(e.length<3)throw cm(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!dm(t))throw cm(`dig`,e.length-1,`dict`,fm(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw cm(`dig`,e,`string`,fm(r[e]));return um(t,n,r,e.length)}function um(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!dm(a))throw cm(`dig`,r-1,`dict at intermediate key`,fm(a));return um(a,t,n.slice(1),r)}function dm(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function fm(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function pm(e){return e[0]}function mm(e,t){return t.some(t=>nd(t,e))}function hm(e){return e.slice(0,-1)}function gm(e){return e[e.length-1]}function _m(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function vm(...e){return e}function ym(e,t){return[t,...e]}function bm(e){return e.slice(1)}function xm(e){return[...e].reverse()}function Sm(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Cm(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function wm(e){let t=[];for(let n of e)t.some(e=>nd(e,n))||t.push(n);return t}function Tm(e,...t){return e.filter(e=>!t.some(t=>nd(t,e)))}function Em(){return{list:{fn:(...e)=>vm(...e),argTypes:[`value`]},first:{fn:e=>pm(e),argTypes:[`list`]},last:{fn:e=>gm(e),argTypes:[`list`]},rest:{fn:e=>bm(e),argTypes:[`list`]},initial:{fn:e=>hm(e),argTypes:[`list`]},len:{fn:e=>_m(e),argTypes:[`sized`]},reverse:{fn:e=>xm(e),argTypes:[`list`]},uniq:{fn:e=>wm(e),argTypes:[`list`]},without:{fn:(e,...t)=>Tm(e,...t),argTypes:[`list`,`value`]},has:{fn:(e,t)=>mm(e,t),argTypes:[`value`,`list`]},compact:{fn:e=>am(e),argTypes:[`list`]},slice:{fn:(e,t,n)=>Sm(e,t,n),argTypes:[`list`,`int`,`int`]},concat:{fn:(...e)=>om(...e),argTypes:[`list`]},chunk:{fn:(e,t)=>im(e,t),argTypes:[`int`,`list`]},prepend:{fn:(e,t)=>ym(e,t),argTypes:[`list`,`value`]},append:{fn:(e,t)=>rm(e,t),argTypes:[`list`,`value`]},sortAlpha:{fn:e=>Cm(e),argTypes:[`list`],returnType:`list`},push:{fn:(e,t)=>rm(e,t),argTypes:[`list`,`value`]},tuple:{fn:(...e)=>vm(...e),argTypes:[`value`]},dig:{fn:(...e)=>lm(...e),argTypes:[`value`]},all:{fn:(...e)=>tm(...e),argTypes:[`truthy`],returnType:`bool`},any:{fn:(...e)=>nm(...e),argTypes:[`truthy`],returnType:`bool`}}}function Dm(...e){return e.reduce((e,t)=>e+t,0)}function Om(e){return e+1}function km(e){return e+1}function Am(...e){return e.reduce((e,t)=>e+t,0)}function jm(e){return Math.ceil(e)}function Mm(e,t){return Math.trunc(e/t)}function Nm(e,t){return e/t}function Pm(e){return Math.floor(e)}function Fm(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function Im(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function Lm(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function Rm(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function zm(e,t){return e%t}function Bm(...e){return e.reduce((e,t)=>e*t,1)}function Vm(...e){return e.reduce((e,t)=>e*t,1)}function Hm(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function Um(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function Wm(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),Um(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return Um(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:Um(n,i+t,r).join(` `)}default:return``}}function Gm(e,t){return e-t}function Km(e,t){return e-t}function qm(e){return Um(0,e,e<0?-1:1)}function Jm(){return{add:{fn:(...e)=>Dm(...e),argTypes:[`int`]},sub:{fn:(e,t)=>Gm(e,t),argTypes:[`int`,`int`]},mul:{fn:(...e)=>Bm(...e),argTypes:[`int`]},div:{fn:(e,t)=>Mm(e,t),argTypes:[`int`,`int`]},mod:{fn:(e,t)=>zm(e,t),argTypes:[`int`,`int`]},min:{fn:(...e)=>Lm(...e),argTypes:[`int`]},max:{fn:(...e)=>Fm(...e),argTypes:[`int`]},floor:{fn:e=>Pm(e),argTypes:[`float`]},ceil:{fn:e=>jm(e),argTypes:[`float`]},round:{fn:(e,t)=>Hm(e,t),argTypes:[`float`,`int`]},addf:{fn:(...e)=>Am(...e),argTypes:[`float`]},subf:{fn:(e,t)=>Km(e,t),argTypes:[`float`,`float`]},mulf:{fn:(...e)=>Vm(...e),argTypes:[`float`]},divf:{fn:(e,t)=>Nm(e,t),argTypes:[`float`,`float`]},add1:{fn:e=>Om(e),argTypes:[`int`]},add1f:{fn:e=>km(e),argTypes:[`float`]},maxf:{fn:(...e)=>Im(...e),argTypes:[`float`]},minf:{fn:(...e)=>Rm(...e),argTypes:[`float`]},biggest:{fn:(...e)=>Fm(...e),argTypes:[`int`]},seq:{fn:(...e)=>Wm(...e),argTypes:[`int`],returnType:`string`},until:{fn:e=>qm(e),argTypes:[`int`],returnType:`list`},untilStep:{fn:(e,t,n)=>Um(e,t,n),argTypes:[`int`,`int`,`int`],returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function Ym(e,t){return t.length<=e||e<4?t:`${t.slice(0,e-3)}...`}function Xm(e,t,n){return t<7||n.length<t||e<0||e>n.length-t+1?n:`...${n.slice(e,e+t-6)}...`}const $={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},Zm=/^[-_\s]$/,Qm=/^\p{P}$/u,$m=/^\p{L}$/u,eh=/^\p{Lu}$/u,th=/^\p{N}$/u;function nh(e){return e!==void 0&&Zm.test(e)}function rh(e){return e!==void 0&&$m.test(e)}function ih(e){return e!==void 0&&eh.test(e)}function ah(e){return e!==void 0&&th.test(e)}function oh(e){return e!==void 0&&Qm.test(e)}function sh(e,t){if(t>=e.length)return{word:{wt:$.Invalid,text:``},next:t};let n=e[t],r=t+1;if(nh(n)){for(;r<e.length&&nh(e[r]);)r++;return{word:{wt:$.Connector,text:e.slice(t,r).join(``)},next:r}}if(oh(n)){for(;r<e.length&&oh(e[r]);)r++;return{word:{wt:$.Punct,text:e.slice(t,r).join(``)},next:r}}if(ih(n)){if(r>=e.length)return{word:{wt:$.UpperCase,text:n},next:r};if(ih(e[r])){let n=r;for(;n<e.length&&ih(e[n]);)n++;return n<e.length&&rh(e[n])?{word:{wt:$.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:$.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(rh(e[r])){let n=r+1;for(;n<e.length&&rh(e[n])&&!ih(e[n]);)n++;return{word:{wt:$.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:$.UpperCase,text:n},next:r}}if(rh(n)){for(;r<e.length&&rh(e[r])&&!ih(e[r]);)r++;return{word:{wt:$.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(ah(n)){for(;r<e.length&&ah(e[r]);)r++;return{word:{wt:$.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!nh(e[r])&&!rh(e[r])&&!ah(e[r])&&!oh(e[r]);)r++;return{word:{wt:$.Other,text:e.slice(t,r).join(``)},next:r}}function ch(e,t,n){if(t.wt!==$.UpperCase&&t.wt!==$.Connector){e.push(t.text);return}for(let r of t.text)nh(r)?e.push(n):ih(r)?e.push(r.toLowerCase()):e.push(r)}function lh(e,t){if(e.length===0)return``;let n=Array.from(e),r=[],{word:i,next:a}=sh(n,0);for(;a<n.length;){i.wt!==$.Connector&&ch(r,i,t);let e=i,o=i;if({word:i,next:a}=sh(n,a),e.wt===$.Number){for(;i.wt===$.Alphabet||i.wt===$.Number;)ch(r,i,t),{word:i,next:a}=sh(n,a);i.wt!==$.Invalid&&i.wt!==$.Punct&&i.wt!==$.Connector&&r.push(t);continue}if(e.wt===$.Connector){ch(r,o,t);continue}if(e.wt===$.Punct)continue;if(i.wt!==$.Number){i.wt!==$.Connector&&i.wt!==$.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=sh(n,a),i.wt!==$.Alphabet){ch(r,s,t),i.wt!==$.Connector&&i.wt!==$.Punct&&r.push(t);continue}for(r.push(t),ch(r,s,t);i.wt===$.Alphabet||i.wt===$.Number;)ch(r,i,t),{word:i,next:a}=sh(n,a);i.wt!==$.Invalid&&i.wt!==$.Connector&&i.wt!==$.Punct&&r.push(t)}return ch(r,i,t),r.join(``).toLowerCase()}function uh(e){if(e.length===0)return``;let t=Array.from(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!nh(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,nh(i)&&nh(e)){n.push(e);continue}nh(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function dh(e){return uh(e)}function fh(...e){return e.join(` `)}function ph(e,t){return t.includes(e)}function mh(e,t){return t.startsWith(e)}function hh(e,t){return t.endsWith(e)}function gh(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
80
80
  `).map(e=>n+e).join(`
81
- `)}function hh(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function gh(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw om(`join`,2,`list of strings/primitives`,`list element of type ${_h(e)}`);n.push(String(e))}return n.join(e)}function _h(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function vh(e){return sh(e,`-`)}function yh(e){return e.toLowerCase()}function bh(e,t){return`\n${mh(e,t)}`}function xh(e){return e.replace(/\s+/g,``)}function Sh(e,t,n){return n===1?e:t}function Ch(...e){return e.map(e=>`"${e}"`).join(` `)}function wh(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function Th(e,t){return t.repeat(Math.max(0,e))}function Eh(e,t,n){return n.split(e).join(t)}function Dh(e){return sh(e,`_`)}function Oh(e,t){let n=t.split(e),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function kh(e,t){return t.split(e)}function Ah(e,t,n){let r=jh(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function jh(e,t,n){if(n===0)return[];let r=t===``?Array.from(e):e.split(t);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function Mh(...e){return e.map(e=>`'${e}'`).join(` `)}function Nh(e,t,n){let r=t<0||t>n.length?n.length:t,i=Math.min(Math.max(0,e),r);return n.slice(i,r)}function Ph(e){let t=``;for(let n of e)Fh(n)?t+=n.toLowerCase():Ih(n)?t+=n.toUpperCase():t+=n;return t}function Fh(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function Ih(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function Lh(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function Rh(e){return e.trim()}function zh(e,t){if(e.length===0)return t;let n=new Set([...e]),r=0;for(;r<t.length&&n.has(t[r]);)r+=1;let i=t.length;for(;i>r&&n.has(t[i-1]);)--i;return t.slice(r,i)}function Bh(e,t){return t.startsWith(e)?t.slice(e.length):t}function Vh(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function Hh(e,t){if(e<0){let n=-e;return n>=t.length?t:t.slice(t.length-n)}return e>=t.length?t:t.slice(0,e)}function Uh(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function Wh(e){return e.toUpperCase()}function Gh(e,t){return Kh(e,`
82
- `,t)}function Kh(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
83
- `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function qh(e,t,n){return Kh(e,t,n)}function Jh(){return{abbrev:{fn:(e,t)=>qm(e,t),argTypes:[`int`,`string`]},abbrevboth:{fn:(e,t,n)=>Jm(e,t,n),argTypes:[`int`,`int`,`string`]},camelcase:{fn:e=>lh(e),argTypes:[`string`],returnType:`string`},cat:{fn:(...e)=>uh(...e),argTypes:[`string`]},contains:{fn:(e,t)=>dh(e,t),argTypes:[`string`,`string`]},hasPrefix:{fn:(e,t)=>fh(e,t),argTypes:[`string`,`string`]},hasSuffix:{fn:(e,t)=>ph(e,t),argTypes:[`string`,`string`]},indent:{fn:(e,t)=>mh(e,t),argTypes:[`int`,`string`]},initials:{fn:e=>hh(e),argTypes:[`string`]},join:{fn:(e,t)=>gh(e,t),argTypes:[`string`,`list`]},kebabcase:{fn:e=>vh(e),argTypes:[`string`],returnType:`string`},lower:{fn:e=>yh(e),argTypes:[`string`]},nindent:{fn:(e,t)=>bh(e,t),argTypes:[`int`,`string`]},nospace:{fn:e=>xh(e),argTypes:[`string`],returnType:`string`},plural:{fn:(e,t,n)=>Sh(e,t,n),argTypes:[`string`,`string`,`int`],returnType:`string`},quote:{fn:(...e)=>Ch(...e),argTypes:[`string`]},regexQuoteMeta:{fn:e=>wh(e),argTypes:[`string`],returnType:`string`},repeat:{fn:(e,t)=>Th(e,t),argTypes:[`int`,`string`]},replace:{fn:(e,t,n)=>Eh(e,t,n),argTypes:[`string`,`string`,`string`]},snakecase:{fn:e=>Dh(e),argTypes:[`string`],returnType:`string`},split:{fn:(e,t)=>Oh(e,t),argTypes:[`string`,`string`]},splitList:{fn:(e,t)=>kh(e,t),argTypes:[`string`,`string`]},splitn:{fn:(e,t,n)=>Ah(e,t,n),argTypes:[`string`,`int`,`string`],returnType:`dict`},squote:{fn:(...e)=>Mh(...e),argTypes:[`string`]},substr:{fn:(e,t,n)=>Nh(e,t,n),argTypes:[`int`,`int`,`string`]},swapcase:{fn:e=>Ph(e),argTypes:[`string`],returnType:`string`},title:{fn:e=>Lh(e),argTypes:[`string`]},trim:{fn:e=>Rh(e),argTypes:[`string`]},trimAll:{fn:(e,t)=>zh(e,t),argTypes:[`string`,`string`]},trimPrefix:{fn:(e,t)=>Bh(e,t),argTypes:[`string`,`string`]},trimSuffix:{fn:(e,t)=>Vh(e,t),argTypes:[`string`,`string`]},trunc:{fn:(e,t)=>Hh(e,t),argTypes:[`int`,`string`]},untitle:{fn:e=>Uh(e),argTypes:[`string`]},upper:{fn:e=>Wh(e),argTypes:[`string`]},wrap:{fn:(e,t)=>Gh(e,t),argTypes:[`int`,`string`]},wrapWith:{fn:(e,t,n)=>qh(e,t,n),argTypes:[`int`,`string`,`string`]}}}function Yh(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:X(e.source,[`root`])})}const Xh=`edit.`,Zh=`edit.mode`,Qh=`edit.toggle`,$h=`open`,eg={variable:Zh,member:$h},tg=an(eg);function ng(e){let t=qd({fromString:e=>e});try{return t.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function rg(e){for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&ng(e))return!0;return!1}function ig(e,t){if(Yh(e,t,Xh,`edit mode`),!rg(t))return;let n={[Zh]:cn(Zh,tn)},r={[Qh]:ln(Zh,$h)};t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}const ag=`open`;function og(e,t,n,r,i){let a={variable:e,member:ag};r.variables[e]=cn(e,tn),r.actions[e]=ln(e,ag),r.segments[e]={template:sn(e,`(?)`,`✕`),...i,...sg(n)};let o=an(a,...n),s=t.map((t,n)=>{let a=`${e}.${n}`;return r.segments[a]={template:t,...i},{kind:`segment`,name:a}});return{trigger:{kind:`segment`,name:e},body:{kind:`container`,direction:`horizontal`,children:s,when:o}}}function sg(e){let[t,...n]=e;return t===void 0?{}:{when:an(t,...n)}}const cg={help:[`-h`,`--help`],version:[`-V`,`--version`]},lg=[`+ inserts here`,`- removes the one left of it`,`↺ undoes edits`],ug=[`☐ this session only`,`☑ default for every session`],dg=`
81
+ `)}function _h(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function vh(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw cm(`join`,2,`list of strings/primitives`,`list element of type ${yh(e)}`);n.push(String(e))}return n.join(e)}function yh(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function bh(e){return lh(e,`-`)}function xh(e){return e.toLowerCase()}function Sh(e,t){return`\n${gh(e,t)}`}function Ch(e){return e.replace(/\s+/g,``)}function wh(e,t,n){return n===1?e:t}function Th(...e){return e.map(e=>`"${e}"`).join(` `)}function Eh(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function Dh(e,t){return t.repeat(Math.max(0,e))}function Oh(e,t,n){return n.split(e).join(t)}function kh(e){return lh(e,`_`)}function Ah(e,t){let n=t.split(e),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function jh(e,t){return t.split(e)}function Mh(e,t,n){let r=Nh(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function Nh(e,t,n){if(n===0)return[];let r=t===``?Array.from(e):e.split(t);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function Ph(...e){return e.map(e=>`'${e}'`).join(` `)}function Fh(e,t,n){let r=t<0||t>n.length?n.length:t,i=Math.min(Math.max(0,e),r);return n.slice(i,r)}function Ih(e){let t=``;for(let n of e)Lh(n)?t+=n.toLowerCase():Rh(n)?t+=n.toUpperCase():t+=n;return t}function Lh(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function Rh(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function zh(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function Bh(e){return e.trim()}function Vh(e,t){if(e.length===0)return t;let n=new Set([...e]),r=0;for(;r<t.length&&n.has(t[r]);)r+=1;let i=t.length;for(;i>r&&n.has(t[i-1]);)--i;return t.slice(r,i)}function Hh(e,t){return t.startsWith(e)?t.slice(e.length):t}function Uh(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function Wh(e,t){if(e<0){let n=-e;return n>=t.length?t:t.slice(t.length-n)}return e>=t.length?t:t.slice(0,e)}function Gh(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function Kh(e){return e.toUpperCase()}function qh(e,t){return Jh(e,`
82
+ `,t)}function Jh(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
83
+ `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function Yh(e,t,n){return Jh(e,t,n)}function Xh(){return{abbrev:{fn:(e,t)=>Ym(e,t),argTypes:[`int`,`string`]},abbrevboth:{fn:(e,t,n)=>Xm(e,t,n),argTypes:[`int`,`int`,`string`]},camelcase:{fn:e=>dh(e),argTypes:[`string`],returnType:`string`},cat:{fn:(...e)=>fh(...e),argTypes:[`string`]},contains:{fn:(e,t)=>ph(e,t),argTypes:[`string`,`string`]},hasPrefix:{fn:(e,t)=>mh(e,t),argTypes:[`string`,`string`]},hasSuffix:{fn:(e,t)=>hh(e,t),argTypes:[`string`,`string`]},indent:{fn:(e,t)=>gh(e,t),argTypes:[`int`,`string`]},initials:{fn:e=>_h(e),argTypes:[`string`]},join:{fn:(e,t)=>vh(e,t),argTypes:[`string`,`list`]},kebabcase:{fn:e=>bh(e),argTypes:[`string`],returnType:`string`},lower:{fn:e=>xh(e),argTypes:[`string`]},nindent:{fn:(e,t)=>Sh(e,t),argTypes:[`int`,`string`]},nospace:{fn:e=>Ch(e),argTypes:[`string`],returnType:`string`},plural:{fn:(e,t,n)=>wh(e,t,n),argTypes:[`string`,`string`,`int`],returnType:`string`},quote:{fn:(...e)=>Th(...e),argTypes:[`string`]},regexQuoteMeta:{fn:e=>Eh(e),argTypes:[`string`],returnType:`string`},repeat:{fn:(e,t)=>Dh(e,t),argTypes:[`int`,`string`]},replace:{fn:(e,t,n)=>Oh(e,t,n),argTypes:[`string`,`string`,`string`]},snakecase:{fn:e=>kh(e),argTypes:[`string`],returnType:`string`},split:{fn:(e,t)=>Ah(e,t),argTypes:[`string`,`string`]},splitList:{fn:(e,t)=>jh(e,t),argTypes:[`string`,`string`]},splitn:{fn:(e,t,n)=>Mh(e,t,n),argTypes:[`string`,`int`,`string`],returnType:`dict`},squote:{fn:(...e)=>Ph(...e),argTypes:[`string`]},substr:{fn:(e,t,n)=>Fh(e,t,n),argTypes:[`int`,`int`,`string`]},swapcase:{fn:e=>Ih(e),argTypes:[`string`],returnType:`string`},title:{fn:e=>zh(e),argTypes:[`string`]},trim:{fn:e=>Bh(e),argTypes:[`string`]},trimAll:{fn:(e,t)=>Vh(e,t),argTypes:[`string`,`string`]},trimPrefix:{fn:(e,t)=>Hh(e,t),argTypes:[`string`,`string`]},trimSuffix:{fn:(e,t)=>Uh(e,t),argTypes:[`string`,`string`]},trunc:{fn:(e,t)=>Wh(e,t),argTypes:[`int`,`string`]},untitle:{fn:e=>Gh(e),argTypes:[`string`]},upper:{fn:e=>Kh(e),argTypes:[`string`]},wrap:{fn:(e,t)=>qh(e,t),argTypes:[`int`,`string`]},wrapWith:{fn:(e,t,n)=>Yh(e,t,n),argTypes:[`int`,`string`,`string`]}}}function Zh(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:Z(e.source,[`root`])})}const Qh=`edit.`,$h=`edit.mode`,eg=`edit.toggle`,tg=`open`,ng={variable:$h,member:tg},rg=an(ng);function ig(e){let t=Yd({fromString:e=>e});try{return t.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function ag(e){for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&ig(e))return!0;return!1}function og(e,t){if(Zh(e,t,Qh,`edit mode`),!ag(t))return;let n={[$h]:cn($h,en)},r={[eg]:ln($h,tg)};t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}const sg=`open`;function cg(e,t,n,r){let i={variable:e,member:sg};return r.variables[e]=cn(e,en),r.actions[e]=ln(e,sg),r.segments[e]={template:sn(e,`(?)`,`✕`),...lg(n)},rn(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})})}function lg(e){let[t,...n]=e;return t===void 0?{}:{when:an(t,...n)}}const ug={help:[`-h`,`--help`],version:[`-V`,`--version`]},dg=[`+ inserts here`,`- removes the one left of it`,`↺ undoes edits`],fg=[`☐ this session only`,`☑ default for every session`],pg=`
84
84
  cc-candybar - Beautiful powerline statusline for Claude Code
85
85
 
86
86
  Usage: cc-candybar [options]
87
87
 
88
88
  Standalone Commands:
89
- ${cg.help.join(`, `).padEnd(25)}Show this help
90
- ${cg.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
89
+ ${ug.help.join(`, `).padEnd(25)}Show this help
90
+ ${ug.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
91
91
 
92
92
  Debugging:
93
93
  CC_CANDYBAR_DEBUG=1 Enable debug logging for troubleshooting
@@ -102,10 +102,10 @@ Configuration:
102
102
  needed, and writing your own \`root\` cannot delete it. Click
103
103
  ☰ ▸ on the bar for preset switching, edit mode, and a config menu
104
104
  of clickable theme/look/style/wrap/padding controls. The \`persist?\`
105
- checkbox there chooses where a change lands: ${ug.join(`, `)}.
105
+ checkbox there chooses where a change lands: ${fg.join(`, `)}.
106
106
 
107
107
  Anywhere the bar shows (?), clicking it reveals these same instructions
108
- in place. In edit mode: ${lg.join(`, `)}.
108
+ in place. In edit mode: ${dg.join(`, `)}.
109
109
 
110
110
  Subcommands:
111
111
  install One-shot setup: stages the runtime (native render
@@ -136,70 +136,70 @@ Config tooling:
136
136
  config [--json] The effective merged config. (All three query the
137
137
  running daemon; none spawn one.)
138
138
 
139
- `,fg=[`primary`,`secondary`,`accent`],pg=[`surface`,`panel`,`surface-lighten-1`],mg=[.16,.3],hg=mg.reduce((e,t)=>t>e?t:e),gg=mg.flatMap(e=>fg.flatMap(t=>pg.map(n=>({base:n,hue:t,amount:e})))),_g=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},vg=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],yg=e=>typeof e==`string`&&vg.includes(e),bg={"van-der-corput":_g,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},xg=e=>bg[e??`van-der-corput`];function Sg(e,t){let n=0,r=1;for(let{index:i,count:a,distribution:o}of e)n+=o(i,a)*r*t,r*=.37;let i=Math.round(n)%t;return i<0?i+t:i}function Cg(e,t){let n=e[Sg(t,e.length)];if(n===void 0)throw Error(`vocabularySelect: empty vocabulary`);return n}const wg=e=>Cg(gg,e);function Tg(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}function Eg(e,{base:t,hue:n,amount:r}){return Ci(Tg(e,t),Tg(e,n),r)}const Dg=2.2;function Og(e,t){let n=gg.filter(e=>e.hue===t&&e.amount===hg).map(t=>Eg(e,t)),r=Ci(Tg(e,`surface`),Tg(e,t),.92),i=Tg(e,`foreground`),a=Array.from({length:13},(e,t)=>Ci(r,i,t/12)).find(e=>n.every(t=>$i(e,t)>=Dg));if(a===void 0)throw Error(`palette "${e.name}": "${t}" cannot clear the ${Dg} state floor even at foreground`);return a}function kg(e,t){return[`background`,`foreground`].map(t=>Tg(e,t)).reduce((e,n)=>$i(t,n)>$i(t,e)?n:e)}const Ag={base:.42,perDepth:.14,cap:.75},jg={floor:.12,span:.8};function Mg(e,t){return fg[(fg.indexOf(e)+t)%fg.length]}function Ng(e,t){let n=`${t.hue}|${t.depth}`,r=Pg.get(e);r===void 0&&(r=new Map,Pg.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=Og(e,Mg(t.hue,t.depth)),o=Math.min(Ag.cap,Ag.base+Ag.perDepth*t.depth),s={state:a,plane:Ci(a,Tg(e,`background`),o)};return r.set(n,s),s}const Pg=new WeakMap;function Fg(e,t,{index:n,count:r,distribution:i}){let{state:a,plane:o}=Ng(e,t);return Ci(o,a,jg.floor+jg.span*i(n,r))}const Ig=`#/definitions/LayoutNode`,Lg={kind:`container`,direction:`vertical`,children:[]};function Rg(e){return{required:!0,json:{const:e},parse:()=>e}}function zg(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${Sl(i)}`,line:X(e.source,[`root`])}),``)}}}function Bg(){return{required:!0,json:{enum:[...rl]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&rl.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${rl.join(`, `)} (got ${JSON.stringify(i)})`,line:X(e.source,[`root`])}),`vertical`)}}}function Vg(e){return{required:!0,json:{type:`array`,items:{$ref:Ig}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${xl(a)}`,line:X(t.source,[`root`])}),[])}}}const Hg={noun:`layout-node key`,fields:{kind:Rg(`segment`),name:zg(),when:Z()}},Ug=()=>Fl(vg),Wg={noun:`layout-node key`,fields:{kind:Rg(`container`),direction:Bg(),children:Vg(Ol(()=>Yg)),when:Z(),distribution:Ug()}};function Gg(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${Sl(i)}`,line:X(e.source,[`root`])}),``)}}}const Kg={noun:`layout-node key`,fields:{seg:Gg(),when:Z()}},qg={noun:`layout-node key`,fields:{h:Vg(Ol(()=>Yg)),when:Z(),distribution:Ug()}},Jg={noun:`layout-node key`,fields:{v:Vg(Ol(()=>Yg)),when:Z(),distribution:Ug()}},Yg=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:X(e.source,[`root`])}),Lg):{kind:`segment`,name:n};if(!bl(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${xl(n)}`,line:X(e.source,[`root`])}),Lg;if(n.kind===`container`)return Cl(e,Wg,t,n)??Lg;if(n.kind===`segment`)return Cl(e,Hg,t,n)??Lg;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
139
+ `,mg=[`primary`,`secondary`,`accent`],hg=[`surface`,`panel`,`surface-lighten-1`],gg=[.16,.3],_g=gg.reduce((e,t)=>t>e?t:e),vg=gg.flatMap(e=>mg.flatMap(t=>hg.map(n=>({base:n,hue:t,amount:e})))),yg=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},bg=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],xg=e=>typeof e==`string`&&bg.includes(e),Sg={"van-der-corput":yg,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},Cg=e=>Sg[e??`van-der-corput`],wg=.37;function Tg(e,t){let n=0,r=1;for(let{index:i,count:a,distribution:o}of e)n+=o(i,a)*r*t,r*=wg;let i=Math.round(n)%t;return i<0?i+t:i}function Eg(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=wg;return t%1}function Dg(e,t){let n=e[Tg(t,e.length)];if(n===void 0)throw Error(`vocabularySelect: empty vocabulary`);return n}const Og=e=>Dg(vg,e);function kg(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}function Ag(e,{base:t,hue:n,amount:r}){return Ci(kg(e,t),kg(e,n),r)}const jg=2.2;function Mg(e,t){let n=vg.filter(e=>e.hue===t&&e.amount===_g).map(t=>Ag(e,t)),r=Ci(kg(e,`surface`),kg(e,t),.92),i=kg(e,`foreground`),a=Array.from({length:13},(e,t)=>Ci(r,i,t/12)).find(e=>n.every(t=>ea(e,t)>=jg));if(a===void 0)throw Error(`palette "${e.name}": "${t}" cannot clear the ${jg} state floor even at foreground`);return a}function Ng(e,t){return[`background`,`foreground`].map(t=>kg(e,t)).reduce((e,n)=>ea(t,n)>ea(t,e)?n:e)}const Pg={base:.42,perDepth:.14,cap:.75},Fg={floor:.12,span:.8};function Ig(e,t){return mg[(mg.indexOf(e)+t)%mg.length]}function Lg(e,t){let n=`${t.hue}|${t.depth}`,r=Rg.get(e);r===void 0&&(r=new Map,Rg.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=Mg(e,Ig(t.hue,t.depth)),o=Math.min(Pg.cap,Pg.base+Pg.perDepth*t.depth),s={state:a,plane:Ci(a,kg(e,`background`),o)};return r.set(n,s),s}const Rg=new WeakMap;function zg(e,t,n){let{state:r,plane:i}=Lg(e,t);return Ci(i,r,Fg.floor+Fg.span*Eg(n))}const Bg={kind:`bar`,address:[]},Vg=(e,t)=>({...e,address:[...e.address,t]}),Hg=e=>({kind:`band`,band:e,address:[]}),Ug=()=>void 0;function Wg(e,t){switch(t.kind){case`bar`:{let n=Og(t.address);return{tint:Ag(e,n),text:Ug,disclosure:{hue:n.hue,depth:0}}}case`band`:return{tint:zg(e,t.band,t.address),text:t=>Ng(e,t),disclosure:{hue:t.band.hue,depth:t.band.depth+1}}}}const Gg=`#/definitions/LayoutNode`,Kg={kind:`container`,direction:`vertical`,children:[]};function qg(e){return{required:!0,json:{const:e},parse:()=>e}}function Jg(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${wl(i)}`,line:Z(e.source,[`root`])}),``)}}}function Yg(){return{required:!0,json:{enum:[...el]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&el.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${el.join(`, `)} (got ${JSON.stringify(i)})`,line:Z(e.source,[`root`])}),`vertical`)}}}function Xg(e){return{required:!0,json:{type:`array`,items:{$ref:Gg}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${Cl(a)}`,line:Z(t.source,[`root`])}),[])}}}const Zg={noun:`layout-node key`,fields:{kind:qg(`segment`),name:Jg(),when:Q()}},Qg=()=>Ll(bg),$g={noun:`layout-node key`,fields:{kind:qg(`container`),direction:Yg(),children:Xg(Al(()=>i_)),when:Q(),distribution:Qg()}};function e_(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${wl(i)}`,line:Z(e.source,[`root`])}),``)}}}const t_={noun:`layout-node key`,fields:{seg:e_(),when:Q()}},n_={noun:`layout-node key`,fields:{h:Xg(Al(()=>i_)),when:Q(),distribution:Qg()}},r_={noun:`layout-node key`,fields:{v:Xg(Al(()=>i_)),when:Q(),distribution:Qg()}},i_=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:Z(e.source,[`root`])}),Kg):{kind:`segment`,name:n};if(!Sl(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${Cl(n)}`,line:Z(e.source,[`root`])}),Kg;if(n.kind===`container`)return Tl(e,$g,t,n)??Kg;if(n.kind===`segment`)return Tl(e,Zg,t,n)??Kg;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
140
140
  Old: { kind: "cells", segments: ["seg1", "seg2"] }
141
- New: { h: ["seg1", "seg2"] }`,line:X(e.source,[`root`])}),Lg;if(n.kind===`group`){let r=Cl(e,r_,t,n);return r===null?Lg:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),a_(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:X(e.source,[`root`])}),Lg}if(a){let r=Cl(e,Kg,t,n);return r===null?Lg:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when}}}if(r){let r=Cl(e,qg,t,n);return r===null?Lg:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=Cl(e,Jg,t,n);return r===null?Lg:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:X(e.source,[`root`])}),Lg};function Xg(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Mc.source},additionalProperties:{$ref:Ig}},parse:(e,t,n,r)=>{let i=r[n];if(!bl(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${xl(i)}`,line:X(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Mc.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:X(e.source,[...t.split(`.`),n,r])});continue}a[r]=Yg(e,`${t}.${n}.${r}`,o)}return a}}}const Zg={noun:`root key`,fields:{rows:Xg(),when:Z(),distribution:Ug()}};function Qg(e,t,n){return bl(n)&&`rows`in n?Cl(e,Zg,t,n)??{rows:{}}:Yg(e,t,n)}const $g=`groups.`;function e_(){return{required:!0,json:{type:`string`,pattern:Mc.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Mc.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${tn}", got ${Sl(i)}`,line:X(e.source,[`root`])});return}return i}}}function t_(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${Sl(i)}`,line:X(e.source,[`root`])});return}return i}}}}function n_(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=hl(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:X(e.source,[...t.split(`.`),n])});return}return i}}}}const r_={noun:`layout-node key`,fields:{kind:Rg(`group`),name:e_(),label:n_(),open:Al(),direction:Fl(rl),key:t_(),bg:Z(),fg:Z(),when:Z(),distribution:Ug(),children:Vg(Ol(()=>Yg))}};function i_(e){return e.key??`groups.`+e.name}function a_(e){let t=$g+e.name;return{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:t},{kind:`container`,direction:e.direction??`vertical`,children:e.children,when:an({variable:t,member:e.name}),...e.distribution!==void 0&&{distribution:e.distribution}}],...e.when!==void 0&&{when:e.when}}}function o_(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function s_(e,t){Yh(e,t,$g,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&o_(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&i_(t)===i_(r)&&o_(e,t.path,`group "${t.name}" shares key "${i_(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=i_(t);if(i.has(n)||i.set(n,tn),t.open===!0){let r=i.get(n);r!==`closed`&&o_(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=$g+e.name,r=i_(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=cn(r,i.get(r)),o[t]=ln(r,e.name),s[t]={template:sn(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}const c_=`menus.`;function l_(e){return e}function u_(e,t,n){return n===void 0?c_+su(e)+`.`+su(t):c_+su(n)}function d_(e,t){return e+`.`+t}function f_(e){return e+`.page`}const p_=[`closeOnPick`,`paged`,`key`,`distribution`],m_=e=>p_.includes(e),h_=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${vg.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function g_(e){for(let t of Object.keys(e))if(!m_(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${h_}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!yg(r))throw Error(`{{ menu }} option "distribution" must be one of: ${vg.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:xg(r)}}const __=`settings.`,v_=`${__}menu`,y_=$h,b_=`${__}edit`,x_=`${__}persist`,S_=`${__}config`,C_=x_,w_={variable:v_,member:y_},T_=an(w_,{variable:S_,member:y_}),E_=`${__}help.persist`,D_={fg:`foreground`},O_=`${__}pickers`,k_=[{name:`preset`,sessionKey:`preset`,configKey:`preset`,effectiveVar:`preset.effective`,glyph:`▦`,domain:`presets`}],A_=[{name:`theme`,sessionKey:`theme`,configKey:`palette`,effectiveVar:`theme.effective`,glyph:`🎨`,domain:`themes`},{name:`look`,sessionKey:`look`,configKey:`look`,effectiveVar:`look.effective`,glyph:`◐`,domain:`looks`},{name:`style`,sessionKey:`style`,configKey:`style`,effectiveVar:`style.effective`,glyph:`✦`,domain:`styles`}],j_={name:`wrap`,sessionKey:`autoWrap`,configKey:`autoWrap`},M_={name:`padding`,sessionKey:`padding`,configKey:`padding`},N_=`${__}${j_.name}`,P_=`${__}${M_.name}`,F_=[...k_,...A_];new Set([...F_,j_,M_].flatMap(e=>[e.sessionKey,e.configKey]));const I_=e=>`${__}${e}`,L_=e=>`${__}apply.${e}`,R_=e=>`${__}reset.${e}`,z_=an(w_);function B_(e){return e===v_}function V_(e){let t={kind:`segment`,name:v_};if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t],...e.when!==void 0&&{when:e.when}};let[n,...r]=e.children;return e.direction===`vertical`&&n!==void 0&&n.when===void 0?{...e,children:[V_(n),...r]}:{...e,children:[...e.children,t]}}function H_(e){return U_(e)>0?e:V_(e)}function U_(e){return e.kind===`segment`?+!!B_(e.name):e.children.reduce((e,t)=>e+U_(t),0)}function W_(e,t){return e.kind===`segment`?B_(e.name)?{kind:`container`,direction:`vertical`,children:[e,{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:x_},t.trigger,...k_.map(e=>({kind:`segment`,name:I_(e.name)})),{kind:`segment`,name:S_},{kind:`segment`,name:b_}],when:z_},t.body,{kind:`container`,direction:`horizontal`,children:[...A_.map(e=>({kind:`segment`,name:I_(e.name)})),{kind:`segment`,name:N_},{kind:`segment`,name:P_}],when:T_}]}:e:{...e,children:e.children.map(e=>W_(e,t))}}function G_(e,t,n,r){let i=l_(t),a=u_(e,t,r),o=f_(a);n.variables[a]=cn(a,tn),n.variables[o]={kind:`state`,key:o,default:`0`},n.actions[d_(a,i)]=ln(a,i),n.actions[o]={set:o,int:!0}}function K_(){let e={variables:{[v_]:cn(v_,tn)},actions:{[v_]:ln(v_,y_),[S_]:ln(S_,y_),[x_]:{set:C_,cycle:[Ws,Us]}},segments:{[v_]:{template:sn(v_,`☰ ▸`,`☰ ▾`),...D_},[x_]:{template:`{{ action "${x_}" "☐ persist?" "☑ persist?" }}`,...D_},[S_]:{template:sn(S_,`⚙ config ▸`,`⚙ config ▾`),...D_},[N_]:{template:`{{ action "${L_(`wrap`)}" "wrap: on" "wrap: off" }} {{ action "${R_(`wrap`)}" "↺" }}`,...D_},[P_]:{template:`{{ action "${L_(`padding`)}.down" "◀" }} padding {{ .padding.effective }} {{ action "${L_(`padding`)}.up" "▶" }} {{ action "${R_(`padding`)}" "↺" }}`,...D_},[b_]:{template:`{{ action "${Qh}" "✎ edit" "✎ done" }}`,...D_}}};return e.variables[C_]={kind:`state`,key:C_,default:Ws},e.variables[S_]=cn(S_,tn),q_(e),{artifacts:e,help:og(E_,ug,[w_],e,D_)}}function q_(e){for(let t of F_){let n=I_(t.name),r=L_(t.name);e.segments[n]={template:`${t.glyph} {{ .${t.effectiveVar} }} {{ menu "${r}" "▸" "▾" (dict "key" "${O_}" "closeOnPick" true) }} {{ action "${R_(t.name)}" "↺" }}`,...D_},e.actions[r]={set:t.sessionKey,persist:t.configKey,persistWhen:C_,from:t.domain},e.actions[R_(t.name)]={reset:t.configKey},G_(n,r,e,O_)}e.actions[L_(j_.name)]={set:j_.sessionKey,persist:j_.configKey,persistWhen:C_,cycle:[...Gs]},e.actions[R_(j_.name)]={reset:j_.configKey};for(let t of[-1,1])e.actions[`${L_(M_.name)}.${t<0?`down`:`up`}`]={set:M_.sessionKey,persist:M_.configKey,persistWhen:C_,...Ks,by:t};e.actions[R_(M_.name)]={reset:M_.configKey}}function J_(e){e.variables[Zh]=cn(Zh,tn),e.actions[Qh]=ln(Zh,$h)}const Y_=`session.id`;function X_(e){return Object.prototype.hasOwnProperty.call(e.variables,Y_)}function Z_(e){if(!X_(e))return e;let{artifacts:t,help:n}=K_();J_(t);let r={...e.presets};for(let t of Wc(e.presets)){let{node:i}=qc(e,t);r[t]={...Kc(e.presets,t),root:W_(H_(i),n)}}return{...e,variables:{...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:r}}const Q_=`preset.customized`,$_=`{{ and ${on(eg)} .${Q_} }}`;function ev(e){return e.startsWith(`edit.`)||e.startsWith(`menus.`)||e.startsWith(`groups.`)||e.startsWith(`settings.`)}function tv(e){return`${Xh}addable.${e}`}function nv(e){let t=Object.keys(e.segments).filter(e=>!ev(e)),n=new Map;for(let r of Wc(e.presets)){let{node:i}=qc(e,r),a=nl(i);n.set(tv(r),t.filter(e=>!a.has(e)))}return n}function rv(e,t,n,r){let i=`${Xh}${e}.remove.${su(n)}`,a=`${Xh}${e}.removeSeg.${su(n)}`;return r.actions[i]={persist:t,removeSegment:n},r.segments[a]={template:`{{ action "${i}" "-" }}`,when:tg},{kind:`segment`,name:a}}function iv(e,t,n,r,i,a,o){let s=`${Xh}${e}.insert.${n}`,c=`${Xh}${e}.insertSeg.${n}`;o.actions[s]={persist:t,insertSegmentFrom:r,anchor:i,relation:a};let l=l_(s),u=u_(c,s,void 0),d=f_(u),f=d_(u,l);return o.variables[u]=cn(u,tn),o.variables[d]={kind:`state`,key:d,default:`0`},o.actions[f]=ln(u,l),o.actions[d]={set:d,int:!0},o.segments[c]={template:`{{ menu "${s}" "+" "✕" }}`,when:tg},{kind:`segment`,name:c}}function av(e,t,n,r,i,a){let o=[],s=e.children.reduce((e,t,n)=>t.kind===`segment`&&!ev(t.name)?n:e,-1);for(let[c,l]of e.children.entries()){if(l.kind===`container`){o.push(av(l,t,n,r,i,a));continue}if(ev(l.name)){o.push(l);continue}let u=[iv(t,n,String(a.n++),r,l.name,`before`,i),l,rv(t,n,l.name,i),...c===s?[iv(t,n,String(a.n++),r,l.name,`after`,i)]:[]];o.push(...e.direction===`vertical`?[{kind:`container`,direction:`horizontal`,children:u,...l.when!==void 0&&{when:l.when}}]:u)}return{...e,children:o}}function ov(e,t,n,r,i,a){let o=`${Xh}${n}.resetLayout`,s=`${Xh}${n}.customized`;i.actions[o]={reset:r},i.ensured[Q_]={kind:`input`,path:Q_,type:`boolean`,default:!1};let c=rn(t);return i.segments[s]={template:`{{ action "${o}" "↺ ${c} customized" }}`,when:$_},{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:s},sv(e,a.trigger),a.body],...e.when!==void 0&&{when:e.when}}}function sv(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),sv(n,t)]}:{...e,children:[...e.children,t]}}function cv(e,t,n,r){let{node:i}=qc(e,t),a=iu(t),o=tv(t),s=su(t);return ov(av(i,s,a,o,n,{n:0}),t,s,a,n,r)}function lv(e){if(!(`edit.toggle`in e.actions))return e;let t={variables:{},ensured:{},actions:{},segments:{}},n=og(`${Xh}help`,lg,[eg],t),r={...e.presets};for(let i of Wc(e.presets)){let a=cv(e,i,t,n);r[i]={...Kc(e.presets,i),root:a}}return{...e,variables:{...t.ensured,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:r}}const uv=/^-?\d+$/;function dv(e,t,n){return e===void 0?t:Math.max(t,Math.min(n,e))}function fv(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function pv(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!uv.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function mv(e,t,n){return r=>r?uv.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function hv(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!uv.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i,seed:dv(r[0].seed,t,i)}}return{kind:`int`}}function gv(e){return e===`config`?`set-config`:`set-state`}function _v(e,t,n){return t.kind===`int`?pv(`menu page "${e}"`):t.kind===`range`?mv(t.min,t.max,`${n} stepper "${e}"`):fv(t.allowed,`${n} "${e}"`,gv(n))}function vv(e,t,n){return _v(e,hv(e,t,n),n)}function yv(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:hv(e,n,t)}))}function bv(e,t=`state`){let n=new Map(Object.entries(e).map(([e,t])=>[e,{validator:t,permanent:!0}]));function r(){let e=[];for(let[t,r]of n)r.permanent&&e.push(t);return e}return{register(e,i){if(!e)throw Error(`register: key is required`);if(e.includes(`/`))throw Error(`register: key "${e}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);let a=n.get(e);if(a){if(a.permanent)throw Error(`register: key "${e}" is a built-in ${t} key and cannot be re-claimed (built-in keys: ${[...r()].join(`, `)})`);if(a.kind!==i.kind)throw Error(`register: key "${e}" is already a ${a.kind} ${t} key; cannot also register it as ${i.kind}. A ${t} key has one key shape — a menu page index (int) and a button allow-list cannot share a key.`);a.specs.push(i),a.validator=vv(e,a.specs,t)}else{let r=[i];n.set(e,{permanent:!1,kind:i.kind,validator:vv(e,r,t),specs:r})}let o=!0;return()=>{if(!o)return;o=!1;let r=n.get(e);if(!r||r.permanent)return;let a=r.specs.indexOf(i);a>=0&&r.specs.splice(a,1),r.specs.length===0?n.delete(e):r.validator=vv(e,r.specs,t)}},validate(e,r){let i=n.get(e);return i?i.validator(r):{ok:!1,reason:`unknown ${t} key "${e}" (have: ${[...n.keys()].join(`, `)})`}},listKeys(){return[...n.keys()]},listBaselineKeys(){return r()},rangeParamsFor(e){let r=n.get(e);if(!r||r.permanent||r.kind!==`range`)return null;let i=hv(e,r.specs,t);if(i.kind!==`range`)throw Error(`rangeParamsFor: key "${e}" holds range specs but the merge produced a ${i.kind} spec — the entry-kind invariant is broken.`);return{min:i.min,max:i.max,seed:i.seed}}}}const xv=bv({},`config`);function Sv(){return xv.listKeys()}function Cv(e,t){return xv.validate(e,t)}function wv(e){return xv.rangeParamsFor(e)}function Tv(e,t,n){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:$c(e.from,n)}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[el({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[el({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:$c(e.insertSegmentFrom,n).map(t=>el({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max,seed:dv(t.get(e.persist),e.min,e.max)}}]:[]}function Ev(e){return tu(e.globals)}function Dv(e){let t=new Set;for(let n of kv(e)){let e=`persist`in n?n.persist:`reset`in n?n.reset:null;if(e===null)continue;let r=au(e);r?.scope===`preset-root`&&t.add(r.preset)}return[...t].map(e=>({key:iu(e),spec:{kind:`allow-list`,allowed:[]}}))}function Ov(e){let t=Ev(e),n=new Map([...Zc(e),...nv(e)]);return[...Dv(e),...kv(e).flatMap(e=>Tv(e,t,n))]}function kv(e){return Object.values(e.actions).flatMap(Ec)}function Av(e){return yv(Ov(e),`config`)}function jv(e,t){return xv.register(e,t)}const Mv=Ps(),Nv=new Set(Mv),Pv=new Set(Rs),Fv=e=>e?Nv.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${Mv.join(`, `)})`}:{ok:!1,reason:`theme name is required`},Iv=e=>e?Pv.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown style "${e}" (have: ${Rs.join(`, `)})`}:{ok:!1,reason:`style name is required`},Lv=new Set([`1`,`true`]),Rv=new Set([`0`,`false`]),zv=bv({style:Iv,theme:Fv,"toolbar-expanded":e=>Lv.has(e)?{ok:!0,value:`1`}:Rv.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}});function Bv(){return zv.listKeys()}function Vv(e,t){return zv.register(e,t)}function Hv(e,t){return zv.validate(e,t)}function Uv(e){return zv.rangeParamsFor(e)}function Wv(e,t,n){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:$c(e.from,n)}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max,seed:dv(t.get(e.set),e.min,e.max)}}]:[]}function Gv(e){let t=new Set(zv.listBaselineKeys());return e.filter(e=>e.spec.kind!==`allow-list`||!t.has(e.key))}function Kv(e){let t=new Map,n=/^-?\d+$/;for(let r of Object.values(e.variables)){if(r.kind!==`state`)continue;let e=r.default;e!==void 0&&n.test(e)&&t.set(r.key,parseInt(e,10))}for(let[n,r]of tu(e.globals))t.set(n,r);return t}function qv(e){let t=Kv(e),n=Zc(e);return Gv(Object.values(e.actions).flatMap(Ec).flatMap(e=>Wv(e,t,n)))}function Jv(e){return yv(qv(e))}const Yv=`update.dismissed`,Xv=`updateNotice`;function Zv(e){return e.kind===`source`?e.newer.digest:L(e.newer)}const Qv=e=>`${e.version} [${vc(e.digest)}]`;function $v(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:Qv(e.newer),running:Qv(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:L(e.newer),running:L(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${hn}@${L(e.newer)}`,`install`]}}}}const ey={kind:`idle`},ty={kind:`running`};function ny(e,t,n){if(e===null)return[];let r=Zv(e);if(!n.enabled||n.dismissed===r)return[];let i=$v(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
142
- `),c=Qt([{verb:Ht,args:[s]}]),l=t.kind===`running`?oc(`[${i.busy}]`,c):oc(`[${i.act}]`,Qt([{verb:Yt,args:[n.sessionId]}]));return[{severity:ac,message:s,lines:[[oc(a,c),l,oc(`[dismiss]`,Qt([{verb:Lt,args:[n.sessionId,Yv,r]}])),oc(`[disable]`,Qt([{verb:Ut,args:[n.sessionId,Xv,`false`]}]))],...o.map(e=>[oc(e,c)])]}]}function ry(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function iy(e){switch(e.kind){case`current`:return[`info`,`build: current ${Qv(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${Qv(e.source)}, running ${Qv(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function ay(e){switch(e.kind){case`current`:return[`info`,`release: current ${L(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${L(e.latest)}, running ${L(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${L(e.installed)}, latest ${L(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function oy(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const sy=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function cy(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=sy(e.stderr)??e.error??sy(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function ly(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=ey,d=null,f=oy(s),p=oy(s),m=()=>ry(c,l);function h(){let e=m(),t=e===null?null:Zv(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:Vv(Yv,{kind:`allow-list`,allowed:[t]})})}function g(){c=Sc(t,bc),f(iy(c)),h()}async function _(){l=_n(un,await gn(hn,a,i)),p(ay(l)),h()}return{arm(){jv(Xv,{kind:`allow-list`,allowed:[`false`]}),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>ny(m(),u,e),act(){let e=m();if(e===null)throw new Y(`apply-update: nothing newer is known to apply`);let t=$v(e);if(u.kind===`running`)throw new Y(`apply-update: already ${t.busy}`);u=ty,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),xe({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=ey,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=cy(n);u={kind:`failed`,identity:Zv(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}function uy(e,t,n){return t.ok?P(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?F:dn(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??dy(t.stderr)].filter(Boolean).join(`, `)}`)}function dy(e){return e.trim().split(`
143
- `,1)[0]??``}function fy(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?F:P(n)}function py(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?P(t):F}const my=/^[A-Za-z]:[\\/]/;function hy(e){let t=e.trim();if(my.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function gy(e){return hy(e)?.host||null}function _y(e){let t=gy(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function vy(e){let t=new Map;for(let n of e.split(`
144
- `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function yy(e){return e.urls.find(e=>wy(e)!==null)??e.urls[0]??null}function by(e){return e.find(e=>e.name===`origin`)??e[0]??null}function xy(e){let t=by(e);return t?yy(t):null}function Sy(e){let t=by(e);return t?t.urls.find(e=>_y(e)!==null)??yy(t):null}function Cy(e){let t=(hy(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function wy(e){let t=hy(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function Ty(e){let t=xy(e);return t===null?null:wy(t)}function Ey(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?F:dn(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??dy(t.stderr)].filter(Boolean).join(`, `)}`)}function Dy(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Oy(e){let t=`detached`,n=F,r=F,i=F,a=0,o=0,s=0,c=0;for(let l of e.split(`
145
- `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?F:P(t.slice(0,7))}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=P(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=P({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,sha:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function ky(e){let t;try{t=JSON.parse(e)}catch(e){return dn(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Dy(t))return dn(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?dn(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?P({number:n,state:r,url:i}):F}function Ay(e){let t;try{t=JSON.parse(e)}catch(e){return dn(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Dy(t))return dn(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?dn(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?P({number:n,state:r,url:i}):F}var jy=class{isGitRepo(e){try{return r.existsSync(c.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return xe({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?P(e):t&&this.isGitRepo(t)?P(t):this.isGitRepo(e)?P(e):this.findGitRoot(e)}async findGitRoot(e){return py(uy(`git rev-parse --show-toplevel`,await this.execGitAsync([`rev-parse`,`--show-toplevel`],{cwd:e,timeout:2e3}),`absent`))}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return dn(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=a.value.sha),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.timeSinceCommit=await this.getTimeSinceLastCommitAsync(r));let[s,c]=await Promise.all([t.showStashCount?this.getStashCountAsync(r):void 0,t.showRepoName||t.showRepoUrl?this.getRemotesAsync(r):void 0]);return s!==void 0&&(o.stashCount=s),c!==void 0&&t.showRepoName&&(o.repoName=fy(c,e=>this.repoNameFrom(e,r)),o.isWorktree=i),c!==void 0&&t.showRepoUrl&&(o.repoUrl=fy(c,Ty)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),P(o)}resolveGitDir(e){let t=c.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return c.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(c.join(t,`MERGE_HEAD`))?P(`MERGE`):r.existsSync(c.join(t,`CHERRY_PICK_HEAD`))?P(`CHERRY-PICK`):r.existsSync(c.join(t,`REVERT_HEAD`))?P(`REVERT`):r.existsSync(c.join(t,`BISECT_LOG`))?P(`BISECT`):r.existsSync(c.join(t,`rebase-merge`))||r.existsSync(c.join(t,`rebase-apply`))?P(`REBASE`):F}catch(e){return dn(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return py(uy(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async getTimeSinceLastCommitAsync(e){let t=py(uy(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`],{cwd:e,timeout:2e3}),`absent`));if(t.kind!==`ok`)return t;let n=parseInt(t.value)*1e3;return Number.isNaN(n)?dn(`git log -1: unparseable timestamp "${t.value}"`):P(Math.floor((Date.now()-n)/1e3))}async getStashCountAsync(e){let t=uy(`git stash list`,await this.execGitAsync([`stash`,`list`],{cwd:e,timeout:2e3}),`failed`);if(t.kind!==`ok`)return t;let n=t.value.trim();return P(n?n.split(`
146
- `).length:0)}async getRemotesAsync(e){let t=uy(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:P(t.kind===`ok`?vy(t.value):[])}repoNameFrom(e,t){let n=xy(e);return(n===null?null:Cy(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Sy(t.value);return n===null?F:P(n)}async execForgeAsync(e,t,n){return xe({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=_y(t);return n===`github`?Ey(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,ky):n===`gitlab`?Ey(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Ay):F}isWorktree(e){try{let t=c.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){O(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=uy(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?P(Oy(t.value)):t}};const My=(e,t)=>O(t);var Ny=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??My}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}};const Py=(e,t)=>O(t),Fy={showSha:!0,showStashCount:!0};function Iy(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function Ly(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function Ry(e,t){return e.head!==t.head||e.index!==t.index}function zy(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var By=class extends jy{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;prCache=new Map;prFetchInFlight=new Map;refreshing=new Set;refreshAgain=new Set;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new jy,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Py,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new Ny({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}async getGitInfo(e,t={},n){let r=await this.inner.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${Iy(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(P(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=Ly(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,zy(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return F;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return(async()=>{let i=await this.inner.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,zy(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...Fy});n||this.safeInvoke(t,this.deliverable(s,a))})(),()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){if(this.refreshing.has(e)){this.refreshAgain.add(e);return}let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||(this.refreshing.add(e),this.doRefreshLoop(e))}async doRefreshLoop(e){try{do{this.refreshAgain.delete(e);let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...Fy}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!i||i.callbacks.size===0)return;for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}while(this.refreshAgain.has(e))}finally{this.refreshing.delete(e),this.refreshAgain.delete(e)}}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=Ly(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),Ry(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshing.clear(),this.refreshAgain.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.ownsWatchers&&this.watchers.closeAll()}},Vy=class{static CACHE_DIR=De();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return O(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(O(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(O(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return O(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=c.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),O(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await w(50);else throw e}return O(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),O(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&O(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){O(`Failed to create cache directories:`,e)}}static createProjectHash(e){return ee(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){O(`Cache for ${e} is locked, waiting...`),await w(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(O(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(O(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return O(`No shared ${e} usage cache found`),null;O(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await w(75)}}return O(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){O(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=c.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),O(`[CACHE-SET] ${e} disk cache stored`)}catch(t){O(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const Hy={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var Uy=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await Vy.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await Vy.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new v(this.GITHUB_PRICING_URL),n=te({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){O(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){O(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(O(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),O(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(O(`Invalid pricing data structure`),e(null))}catch(t){O(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{O(`Response error:`,t),e(null)})});n.on(`error`,t=>{O(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{O(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return O(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return O(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),O(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(O(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(Hy).length} models`),this.executionCache=Hy,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(Hy).length} models`),Hy)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return O(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),O(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};function Wy(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const Gy=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function Ky(e){return((...t)=>Gy.run(()=>e(...t)))}const qy=Ky(re),Jy=Ky(T),Yy=Ky(E);async function Xy(e,t){return Gy.run(async()=>{let n=null;try{n=await ne(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return P({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return P({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?F:dn(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function Zy(e,t){return Gy.run(async()=>{let n=null;try{n=await ne(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return P({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?F:dn(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}function Qy(){let e=[],t=process.env.CLAUDE_CONFIG_DIR;if(t&&t.split(`,`).forEach(t=>{let n=t.trim();a(n)&&e.push(n)}),e.length===0){let t=p(),n=d(t,`.config`,`claude`),r=d(t,`.claude`);a(n)&&e.push(n),a(r)&&e.push(r)}return e}async function $y(e){let t=[];for(let n of e){let e=d(n,`projects`);if(a(e))try{let n=await qy(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=d(e,r.name);t.push(n)}}catch(t){O(`Failed to read projects directory ${e}:`,t)}}return t}async function eb(e,t,n){let r=[],i=d(t,e,`subagents`);try{let t=(await qy(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=d(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await Jy(t,`utf-8`)).split(`
147
- `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{O(`Failed to check agent file ${t}`)}}}catch(e){O(`Failed to read subagents directory ${i}:`,e)}return r}const tb=new Map;async function nb(e){try{let t=await Yy(e),n=t.size,r=tb.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return O(`[parse-cache] hit ${e}`),tb.delete(e),tb.set(e,r),r.entries;let i;return n>1048576?(O(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await sb(e)):i=await ab(e),O(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(tb.delete(e),tb.size>=16&&tb.delete(tb.keys().next().value),tb.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return O(`Transcript not present yet: ${e}`),[];throw t}}function rb(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function ib(e){let t=[];for(let n of e.split(`
148
- `))if(n.trim())try{let e=rb(JSON.parse(n));e&&t.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`);continue}return t}async function ab(e){return ib(await Jy(e,`utf-8`))}async function ob(e,t){let n=await Xy(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return P(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:ib(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function sb(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=D({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=rb(JSON.parse(t));e&&r.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{O(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{O(`File stream error for ${e}:`,t),n(t)})})}var cb=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function lb(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const ub={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},db={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function fb(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function pb(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function mb(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function hb(e,t,n,r){let i=fb(new Date(pb())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:mb(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await Uy.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=fb(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...ub};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function gb(e){let t=0,n=0,r=mb(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...ub};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:db,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function _b(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var vb=class{entries=new Map;flight=new cb;seeded=new Map;speedRings=new Map;speedFlight=new cb;maxEntries;staleAgeMs;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:db,i=t?.cost?.total_cost_usd??null;return P({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e){let t=fb(new Date);try{await this.ensureSeeded(t)}catch(e){return dn(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let n=await this.ingest(e?.session_id??``,e?.transcript_path);if(n.kind===`failed`)return n;let r={...ub},i=!1;for(let e of this.entries.values()){i||=e.days.has(t);let n=e.days.get(t)??ub;r.cost+=n.cost,r.input+=n.input,r.output+=n.output,r.cacheCreation+=n.cacheCreation,r.cacheRead+=n.cacheRead}return i?P({cost:r.cost,tokens:r.input+r.output+r.cacheCreation+r.cacheRead,tokenBreakdown:{input:r.input,output:r.output,cacheCreation:r.cacheCreation,cacheRead:r.cacheRead},date:t}):F}async observeSpeed(e,t,n){let r=Wy(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=lb(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(e)??[],s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),this.speedRings.set(e,o),P({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return F;let r=n??Wy(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,P(i);if(!t)return i?P(i):F;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return dn(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),P(o)}async refold(e,t,n){let r=await eb(e,u(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await ob(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await hb(r,l,s,c)),e===t&&(a=c.mtimeMs)}return P({files:i,...gb(i),mainMtime:a})}ensureSeeded(e){let t=this.seeded.get(e);if(t)return t;this.seeded.clear();let n=this.seed(e);return this.seeded.set(e,n),n.catch(()=>{this.seeded.get(e)===n&&this.seeded.delete(e)}),n}async seed(e){let t=pb(),n=await $y(Qy()),r=[];for(let e of n){let n;try{n=await qy(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=d(e,i),a;try{a=(await Yy(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await _b(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&j(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,j(`info`,`usageStore seed sessions=${r.length}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,j(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),j(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},yb=fe(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),bb=fe(((e,t)=>{let n=yb();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===`‌`||e===`‍`||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),xb=fe(((e,t)=>{let n=bb(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),ne[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
141
+ New: { h: ["seg1", "seg2"] }`,line:Z(e.source,[`root`])}),Kg;if(n.kind===`group`){let r=Tl(e,f_,t,n);return r===null?Kg:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),m_(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:Z(e.source,[`root`])}),Kg}if(a){let r=Tl(e,t_,t,n);return r===null?Kg:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when}}}if(r){let r=Tl(e,n_,t,n);return r===null?Kg:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=Tl(e,r_,t,n);return r===null?Kg:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:Z(e.source,[`root`])}),Kg};function a_(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Mc.source},additionalProperties:{$ref:Gg}},parse:(e,t,n,r)=>{let i=r[n];if(!Sl(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${Cl(i)}`,line:Z(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Mc.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:Z(e.source,[...t.split(`.`),n,r])});continue}a[r]=i_(e,`${t}.${n}.${r}`,o)}return a}}}const o_={noun:`root key`,fields:{rows:a_(),when:Q(),distribution:Qg()}};function s_(e,t,n){return Sl(n)&&`rows`in n?Tl(e,o_,t,n)??{rows:{}}:i_(e,t,n)}const c_=`groups.`;function l_(){return{required:!0,json:{type:`string`,pattern:Mc.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Mc.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${en}", got ${wl(i)}`,line:Z(e.source,[`root`])});return}return i}}}function u_(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${wl(i)}`,line:Z(e.source,[`root`])});return}return i}}}}function d_(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=_l(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:Z(e.source,[...t.split(`.`),n])});return}return i}}}}const f_={noun:`layout-node key`,fields:{kind:qg(`group`),name:l_(),label:d_(),open:Ml(),direction:Ll(el),key:u_(),bg:Q(),fg:Q(),when:Q(),distribution:Qg(),children:Xg(Al(()=>i_))}};function p_(e){return e.key??`groups.`+e.name}function m_(e){let t=c_+e.name;return rn(t,{variable:t,member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},e.when)}function h_(e,t,n){e.issues.push({path:t,message:n,line:Z(e.source,[`root`])})}function g_(e,t){Zh(e,t,c_,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&h_(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&p_(t)===p_(r)&&h_(e,t.path,`group "${t.name}" shares key "${p_(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=p_(t);if(i.has(n)||i.set(n,en),t.open===!0){let r=i.get(n);r!==`closed`&&h_(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=c_+e.name,r=p_(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=cn(r,i.get(r)),o[t]=ln(r,e.name),s[t]={template:sn(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}const __=`menus.`;function v_(e){return e}function y_(e,t,n){return n===void 0?__+lu(e)+`.`+lu(t):__+lu(n)}function b_(e,t){return e+`.`+t}function x_(e){return e+`.page`}const S_=[`closeOnPick`,`paged`,`key`,`distribution`],C_=e=>S_.includes(e),w_=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${bg.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function T_(e){for(let t of Object.keys(e))if(!C_(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${w_}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!xg(r))throw Error(`{{ menu }} option "distribution" must be one of: ${bg.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:Cg(r)}}const E_=`settings.`,D_=`${E_}menu`,O_=tg,k_=`${E_}edit`,A_=`${E_}persist`,j_=`${E_}config`,M_=A_,N_={variable:D_,member:O_},P_={variable:j_,member:O_},F_=`${E_}help.persist`,I_={fg:`foreground`},L_=`${E_}pickers`,R_=[{name:`preset`,sessionKey:`preset`,configKey:`preset`,effectiveVar:`preset.effective`,glyph:`▦`,domain:`presets`}],z_=[{name:`theme`,sessionKey:`theme`,configKey:`palette`,effectiveVar:`theme.effective`,glyph:`🎨`,domain:`themes`},{name:`look`,sessionKey:`look`,configKey:`look`,effectiveVar:`look.effective`,glyph:`◐`,domain:`looks`},{name:`style`,sessionKey:`style`,configKey:`style`,effectiveVar:`style.effective`,glyph:`✦`,domain:`styles`}],B_={name:`wrap`,sessionKey:`autoWrap`,configKey:`autoWrap`},V_={name:`padding`,sessionKey:`padding`,configKey:`padding`},H_=`${E_}${B_.name}`,U_=`${E_}${V_.name}`,W_=[...R_,...z_];new Set([...W_,B_,V_].flatMap(e=>[e.sessionKey,e.configKey]));const G_=e=>`${E_}${e}`,K_=e=>`${E_}apply.${e}`,q_=e=>`${E_}reset.${e}`;function J_(e){return e===D_}function Y_(e){let t={kind:`segment`,name:D_};if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t],...e.when!==void 0&&{when:e.when}};let[n,...r]=e.children;return e.direction===`vertical`&&n!==void 0&&n.when===void 0?{...e,children:[Y_(n),...r]}:{...e,children:[...e.children,t]}}function X_(e){return Z_(e)>0?e:Y_(e)}function Z_(e){let t=0;for(let n of nl(e))n.kind===`segment`&&J_(n.name)&&(t+=1);return t}function Q_(e,t){return e.kind===`segment`?J_(e.name)?rn(e.name,N_,{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:A_},t,...R_.map(e=>({kind:`segment`,name:G_(e.name)})),rn(j_,P_,{kind:`container`,direction:`horizontal`,children:[...z_.map(e=>({kind:`segment`,name:G_(e.name)})),{kind:`segment`,name:H_},{kind:`segment`,name:U_}]}),{kind:`segment`,name:k_}]},e.when):tl(e,e=>$_(e,t)):$_(e,t)}function $_(e,t){return{...e,children:e.children.map(e=>Q_(e,t))}}function ev(e,t,n,r){let i=v_(t),a=y_(e,t,r),o=x_(a);n.variables[a]=cn(a,en),n.variables[o]={kind:`state`,key:o,default:`0`},n.actions[b_(a,i)]=ln(a,i),n.actions[o]={set:o,int:!0}}function tv(){let e={variables:{[D_]:cn(D_,en)},actions:{[D_]:ln(D_,O_),[j_]:ln(j_,O_),[A_]:{set:M_,cycle:[Ws,Us]}},segments:{[D_]:{template:sn(D_,`☰ ▸`,`☰ ▾`),...I_},[A_]:{template:`{{ action "${A_}" "☐ persist?" "☑ persist?" }}`},[j_]:{template:sn(j_,`⚙ config ▸`,`⚙ config ▾`)},[H_]:{template:`{{ action "${K_(`wrap`)}" "wrap: on" "wrap: off" }} {{ action "${q_(`wrap`)}" "↺" }}`},[U_]:{template:`{{ action "${K_(`padding`)}.down" "◀" }} padding {{ .padding.effective }} {{ action "${K_(`padding`)}.up" "▶" }} {{ action "${q_(`padding`)}" "↺" }}`},[k_]:{template:`{{ action "${eg}" "✎ edit" "✎ done" }}`}}};return e.variables[M_]={kind:`state`,key:M_,default:Ws},e.variables[j_]=cn(j_,en),nv(e),{artifacts:e,help:cg(F_,fg,[N_],e)}}function nv(e){for(let t of W_){let n=G_(t.name),r=K_(t.name);e.segments[n]={template:`${t.glyph} {{ .${t.effectiveVar} }} {{ menu "${r}" "▸" "▾" (dict "key" "${L_}" "closeOnPick" true) }} {{ action "${q_(t.name)}" "↺" }}`},e.actions[r]={set:t.sessionKey,persist:t.configKey,persistWhen:M_,from:t.domain},e.actions[q_(t.name)]={reset:t.configKey},ev(n,r,e,L_)}e.actions[K_(B_.name)]={set:B_.sessionKey,persist:B_.configKey,persistWhen:M_,cycle:[...Gs]},e.actions[q_(B_.name)]={reset:B_.configKey};for(let t of[-1,1])e.actions[`${K_(V_.name)}.${t<0?`down`:`up`}`]={set:V_.sessionKey,persist:V_.configKey,persistWhen:M_,...Ks,by:t};e.actions[q_(V_.name)]={reset:V_.configKey}}function rv(e){e.variables[$h]=cn($h,en),e.actions[eg]=ln($h,tg)}const iv=`session.id`;function av(e){return Object.prototype.hasOwnProperty.call(e.variables,iv)}function ov(e){if(!av(e))return e;let{artifacts:t,help:n}=tv();rv(t);let r={...e.presets};for(let t of Wc(e.presets)){let{node:i}=qc(e,t);r[t]={...Kc(e.presets,t),root:Q_(X_(i),n)}}return{...e,variables:{...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:r}}const sv=`preset.customized`,cv=`{{ and ${on(ng)} .${sv} }}`;function lv(e){return e.startsWith(`edit.`)||e.startsWith(`menus.`)||e.startsWith(`groups.`)||e.startsWith(`settings.`)}function uv(e){return`${Qh}addable.${e}`}function dv(e){let t=Object.keys(e.segments).filter(e=>!lv(e)),n=new Map;for(let r of Wc(e.presets)){let{node:i}=qc(e,r),a=fl(i);n.set(uv(r),t.filter(e=>!a.has(e)))}return n}function fv(e,t,n,r){let i=`${Qh}${e}.remove.${lu(n)}`,a=`${Qh}${e}.removeSeg.${lu(n)}`;return r.actions[i]={persist:t,removeSegment:n},r.segments[a]={template:`{{ action "${i}" "-" }}`,when:rg},{kind:`segment`,name:a}}function pv(e,t,n,r,i,a,o){let s=`${Qh}${e}.insert.${n}`,c=`${Qh}${e}.insertSeg.${n}`;o.actions[s]={persist:t,insertSegmentFrom:r,anchor:i,relation:a};let l=v_(s),u=y_(c,s,void 0),d=x_(u),f=b_(u,l);return o.variables[u]=cn(u,en),o.variables[d]={kind:`state`,key:d,default:`0`},o.actions[f]=ln(u,l),o.actions[d]={set:d,int:!0},o.segments[c]={template:`{{ menu "${s}" "+" "✕" }}`,when:rg},{kind:`segment`,name:c}}function mv(e,t,n,r,i,a){let o=[],s=e.children.reduce((e,t,n)=>t.kind===`segment`&&!lv(t.name)?n:e,-1),c=e=>mv(e,t,n,r,i,a);for(let[l,u]of e.children.entries()){if(u.kind===`container`){o.push(c(u));continue}let d=tl(u,c);if(lv(u.name)){o.push(d);continue}let f=[pv(t,n,String(a.n++),r,u.name,`before`,i),d,fv(t,n,u.name,i),...l===s?[pv(t,n,String(a.n++),r,u.name,`after`,i)]:[]];o.push(...e.direction===`vertical`?[{kind:`container`,direction:`horizontal`,children:f,...u.when!==void 0&&{when:u.when}}]:f)}return{...e,children:o}}function hv(e,t,n,r,i,a){let o=`${Qh}${n}.resetLayout`,s=`${Qh}${n}.customized`;i.actions[o]={reset:r},i.ensured[sv]={kind:`input`,path:sv,type:`boolean`,default:!1};let c=nn(t);return i.segments[s]={template:`{{ action "${o}" "↺ ${c} customized" }}`,when:cv},{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:s},gv(e,a)],...e.when!==void 0&&{when:e.when}}}function gv(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),gv(n,t)]}:{...e,children:[...e.children,t]}}function _v(e,t,n,r){let{node:i}=qc(e,t),a=ou(t),o=uv(t),s=lu(t);return hv(mv(i,s,a,o,n,{n:0}),t,s,a,n,r)}function vv(e){if(!(`edit.toggle`in e.actions))return e;let t={variables:{},ensured:{},actions:{},segments:{}},n=cg(`${Qh}help`,dg,[ng],t),r={...e.presets};for(let i of Wc(e.presets)){let a=_v(e,i,t,n);r[i]={...Kc(e.presets,i),root:a}}return{...e,variables:{...t.ensured,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:r}}const yv=/^-?\d+$/;function bv(e,t,n){return e===void 0?t:Math.max(t,Math.min(n,e))}function xv(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function Sv(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!yv.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function Cv(e,t,n){return r=>r?yv.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function wv(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!yv.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i,seed:bv(r[0].seed,t,i)}}return{kind:`int`}}function Tv(e){return e===`config`?`set-config`:`set-state`}function Ev(e,t,n){return t.kind===`int`?Sv(`menu page "${e}"`):t.kind===`range`?Cv(t.min,t.max,`${n} stepper "${e}"`):xv(t.allowed,`${n} "${e}"`,Tv(n))}function Dv(e,t,n){return Ev(e,wv(e,t,n),n)}function Ov(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:wv(e,n,t)}))}function kv(e,t=`state`){let n=new Map(Object.entries(e).map(([e,t])=>[e,{validator:t,permanent:!0}]));function r(){let e=[];for(let[t,r]of n)r.permanent&&e.push(t);return e}return{register(e,i){if(!e)throw Error(`register: key is required`);if(e.includes(`/`))throw Error(`register: key "${e}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);let a=n.get(e);if(a){if(a.permanent)throw Error(`register: key "${e}" is a built-in ${t} key and cannot be re-claimed (built-in keys: ${[...r()].join(`, `)})`);if(a.kind!==i.kind)throw Error(`register: key "${e}" is already a ${a.kind} ${t} key; cannot also register it as ${i.kind}. A ${t} key has one key shape — a menu page index (int) and a button allow-list cannot share a key.`);a.specs.push(i),a.validator=Dv(e,a.specs,t)}else{let r=[i];n.set(e,{permanent:!1,kind:i.kind,validator:Dv(e,r,t),specs:r})}let o=!0;return()=>{if(!o)return;o=!1;let r=n.get(e);if(!r||r.permanent)return;let a=r.specs.indexOf(i);a>=0&&r.specs.splice(a,1),r.specs.length===0?n.delete(e):r.validator=Dv(e,r.specs,t)}},validate(e,r){let i=n.get(e);return i?i.validator(r):{ok:!1,reason:`unknown ${t} key "${e}" (have: ${[...n.keys()].join(`, `)})`}},listKeys(){return[...n.keys()]},listBaselineKeys(){return r()},rangeParamsFor(e){let r=n.get(e);if(!r||r.permanent||r.kind!==`range`)return null;let i=wv(e,r.specs,t);if(i.kind!==`range`)throw Error(`rangeParamsFor: key "${e}" holds range specs but the merge produced a ${i.kind} spec — the entry-kind invariant is broken.`);return{min:i.min,max:i.max,seed:i.seed}}}}const Av=kv({},`config`);function jv(){return Av.listKeys()}function Mv(e,t){return Av.validate(e,t)}function Nv(e){return Av.rangeParamsFor(e)}function Pv(e,t,n){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:$c(e.from,n)}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[ul({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[ul({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:$c(e.insertSegmentFrom,n).map(t=>ul({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max,seed:bv(t.get(e.persist),e.min,e.max)}}]:[]}function Fv(e){return ru(e.globals)}function Iv(e){let t=new Set;for(let n of Rv(e)){let e=`persist`in n?n.persist:`reset`in n?n.reset:null;if(e===null)continue;let r=su(e);r?.scope===`preset-root`&&t.add(r.preset)}return[...t].map(e=>({key:ou(e),spec:{kind:`allow-list`,allowed:[]}}))}function Lv(e){let t=Fv(e),n=new Map([...Zc(e),...dv(e)]);return[...Iv(e),...Rv(e).flatMap(e=>Pv(e,t,n))]}function Rv(e){return Object.values(e.actions).flatMap(Ec)}function zv(e){return Ov(Lv(e),`config`)}function Bv(e,t){return Av.register(e,t)}const Vv=Ps(),Hv=new Set(Vv),Uv=new Set(Rs),Wv=e=>e?Hv.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${Vv.join(`, `)})`}:{ok:!1,reason:`theme name is required`},Gv=e=>e?Uv.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown style "${e}" (have: ${Rs.join(`, `)})`}:{ok:!1,reason:`style name is required`},Kv=new Set([`1`,`true`]),qv=new Set([`0`,`false`]),Jv=kv({style:Gv,theme:Wv,"toolbar-expanded":e=>Kv.has(e)?{ok:!0,value:`1`}:qv.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}});function Yv(){return Jv.listKeys()}function Xv(e,t){return Jv.register(e,t)}function Zv(e,t){return Jv.validate(e,t)}function Qv(e){return Jv.rangeParamsFor(e)}function $v(e,t,n){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:$c(e.from,n)}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max,seed:bv(t.get(e.set),e.min,e.max)}}]:[]}function ey(e){let t=new Set(Jv.listBaselineKeys());return e.filter(e=>e.spec.kind!==`allow-list`||!t.has(e.key))}function ty(e){let t=new Map,n=/^-?\d+$/;for(let r of Object.values(e.variables)){if(r.kind!==`state`)continue;let e=r.default;e!==void 0&&n.test(e)&&t.set(r.key,parseInt(e,10))}for(let[n,r]of ru(e.globals))t.set(n,r);return t}function ny(e){let t=ty(e),n=Zc(e);return ey(Object.values(e.actions).flatMap(Ec).flatMap(e=>$v(e,t,n)))}function ry(e){return Ov(ny(e))}const iy=`update.dismissed`,ay=`updateNotice`;function oy(e){return e.kind===`source`?e.newer.digest:mn(e.newer)}const sy=e=>`${e.version} [${vc(e.digest)}]`;function cy(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:sy(e.newer),running:sy(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:mn(e.newer),running:mn(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${gn}@${mn(e.newer)}`,`install`]}}}}const ly={kind:`idle`},uy={kind:`running`};function dy(e,t,n){if(e===null)return[];let r=oy(e);if(!n.enabled||n.dismissed===r)return[];let i=cy(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
142
+ `),c=Zt([{verb:Vt,args:[s]}]),l=t.kind===`running`?oc(`[${i.busy}]`,c):oc(`[${i.act}]`,Zt([{verb:Jt,args:[n.sessionId]}]));return[{severity:ac,message:s,lines:[[oc(a,c),l,oc(`[dismiss]`,Zt([{verb:It,args:[n.sessionId,iy,r]}])),oc(`[disable]`,Zt([{verb:Ht,args:[n.sessionId,ay,`false`]}]))],...o.map(e=>[oc(e,c)])]}]}function fy(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function py(e){switch(e.kind){case`current`:return[`info`,`build: current ${sy(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${sy(e.source)}, running ${sy(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function my(e){switch(e.kind){case`current`:return[`info`,`release: current ${mn(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${mn(e.latest)}, running ${mn(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${mn(e.installed)}, latest ${mn(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function hy(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const gy=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function _y(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=gy(e.stderr)??e.error??gy(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function vy(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=ly,d=null,f=hy(s),p=hy(s),m=()=>fy(c,l);function h(){let e=m(),t=e===null?null:oy(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:Xv(iy,{kind:`allow-list`,allowed:[t]})})}function g(){c=Sc(t,bc),f(py(c)),h()}async function _(){l=vn(un,await _n(gn,a,i)),p(my(l)),h()}return{arm(){Bv(ay,{kind:`allow-list`,allowed:[`false`]}),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>dy(m(),u,e),act(){let e=m();if(e===null)throw new X(`apply-update: nothing newer is known to apply`);let t=cy(e);if(u.kind===`running`)throw new X(`apply-update: already ${t.busy}`);u=uy,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),xe({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=ly,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=_y(n);u={kind:`failed`,identity:oy(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}function yy(e,t,n){return t.ok?F(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?I:dn(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??by(t.stderr)].filter(Boolean).join(`, `)}`)}function by(e){return e.trim().split(`
143
+ `,1)[0]??``}function xy(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?I:F(n)}function Sy(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?F(t):I}const Cy=/^[A-Za-z]:[\\/]/;function wy(e){let t=e.trim();if(Cy.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function Ty(e){return wy(e)?.host||null}function Ey(e){let t=Ty(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function Dy(e){let t=new Map;for(let n of e.split(`
144
+ `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function Oy(e){return e.urls.find(e=>Ny(e)!==null)??e.urls[0]??null}function ky(e){return e.find(e=>e.name===`origin`)??e[0]??null}function Ay(e){let t=ky(e);return t?Oy(t):null}function jy(e){let t=ky(e);return t?t.urls.find(e=>Ey(e)!==null)??Oy(t):null}function My(e){let t=(wy(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function Ny(e){let t=wy(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function Py(e){let t=Ay(e);return t===null?null:Ny(t)}function Fy(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?I:dn(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??by(t.stderr)].filter(Boolean).join(`, `)}`)}function Iy(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ly(e){let t=`detached`,n=I,r=I,i=I,a=0,o=0,s=0,c=0;for(let l of e.split(`
145
+ `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?I:F(t.slice(0,7))}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=F(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=F({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,sha:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function Ry(e){let t;try{t=JSON.parse(e)}catch(e){return dn(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Iy(t))return dn(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?dn(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?F({number:n,state:r,url:i}):I}function zy(e){let t;try{t=JSON.parse(e)}catch(e){return dn(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Iy(t))return dn(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?dn(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?F({number:n,state:r,url:i}):I}var By=class{isGitRepo(e){try{return r.existsSync(c.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return xe({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?F(e):t&&this.isGitRepo(t)?F(t):this.isGitRepo(e)?F(e):this.findGitRoot(e)}async findGitRoot(e){return Sy(yy(`git rev-parse --show-toplevel`,await this.execGitAsync([`rev-parse`,`--show-toplevel`],{cwd:e,timeout:2e3}),`absent`))}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return dn(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=a.value.sha),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.timeSinceCommit=await this.getTimeSinceLastCommitAsync(r));let[s,c]=await Promise.all([t.showStashCount?this.getStashCountAsync(r):void 0,t.showRepoName||t.showRepoUrl?this.getRemotesAsync(r):void 0]);return s!==void 0&&(o.stashCount=s),c!==void 0&&t.showRepoName&&(o.repoName=xy(c,e=>this.repoNameFrom(e,r)),o.isWorktree=i),c!==void 0&&t.showRepoUrl&&(o.repoUrl=xy(c,Py)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),F(o)}resolveGitDir(e){let t=c.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return c.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(c.join(t,`MERGE_HEAD`))?F(`MERGE`):r.existsSync(c.join(t,`CHERRY_PICK_HEAD`))?F(`CHERRY-PICK`):r.existsSync(c.join(t,`REVERT_HEAD`))?F(`REVERT`):r.existsSync(c.join(t,`BISECT_LOG`))?F(`BISECT`):r.existsSync(c.join(t,`rebase-merge`))||r.existsSync(c.join(t,`rebase-apply`))?F(`REBASE`):I}catch(e){return dn(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return Sy(yy(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async getTimeSinceLastCommitAsync(e){let t=Sy(yy(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`],{cwd:e,timeout:2e3}),`absent`));if(t.kind!==`ok`)return t;let n=parseInt(t.value)*1e3;return Number.isNaN(n)?dn(`git log -1: unparseable timestamp "${t.value}"`):F(Math.floor((Date.now()-n)/1e3))}async getStashCountAsync(e){let t=yy(`git stash list`,await this.execGitAsync([`stash`,`list`],{cwd:e,timeout:2e3}),`failed`);if(t.kind!==`ok`)return t;let n=t.value.trim();return F(n?n.split(`
146
+ `).length:0)}async getRemotesAsync(e){let t=yy(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:F(t.kind===`ok`?Dy(t.value):[])}repoNameFrom(e,t){let n=Ay(e);return(n===null?null:My(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=jy(t.value);return n===null?I:F(n)}async execForgeAsync(e,t,n){return xe({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=Ey(t);return n===`github`?Fy(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,Ry):n===`gitlab`?Fy(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,zy):I}isWorktree(e){try{let t=c.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){O(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=yy(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?F(Ly(t.value)):t}};const Vy=(e,t)=>O(t);var Hy=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??Vy}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}};const Uy=(e,t)=>O(t),Wy={showSha:!0,showStashCount:!0};function Gy(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function Ky(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function qy(e,t){return e.head!==t.head||e.index!==t.index}function Jy(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var Yy=class extends By{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;prCache=new Map;prFetchInFlight=new Map;refreshing=new Set;refreshAgain=new Set;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new By,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Uy,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new Hy({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}async getGitInfo(e,t={},n){let r=await this.inner.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${Gy(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(F(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=Ky(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,Jy(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return I;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return(async()=>{let i=await this.inner.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,Jy(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...Wy});n||this.safeInvoke(t,this.deliverable(s,a))})(),()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){if(this.refreshing.has(e)){this.refreshAgain.add(e);return}let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||(this.refreshing.add(e),this.doRefreshLoop(e))}async doRefreshLoop(e){try{do{this.refreshAgain.delete(e);let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...Wy}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!i||i.callbacks.size===0)return;for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}while(this.refreshAgain.has(e))}finally{this.refreshing.delete(e),this.refreshAgain.delete(e)}}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=Ky(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),qy(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshing.clear(),this.refreshAgain.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.ownsWatchers&&this.watchers.closeAll()}},Xy=class{static CACHE_DIR=De();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return O(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(O(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(O(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return O(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=c.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),O(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await w(50);else throw e}return O(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),O(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&O(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){O(`Failed to create cache directories:`,e)}}static createProjectHash(e){return ee(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){O(`Cache for ${e} is locked, waiting...`),await w(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(O(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(O(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return O(`No shared ${e} usage cache found`),null;O(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await w(75)}}return O(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){O(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=c.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),O(`[CACHE-SET] ${e} disk cache stored`)}catch(t){O(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const Zy={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var Qy=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await Xy.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await Xy.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new v(this.GITHUB_PRICING_URL),n=te({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){O(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){O(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(O(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),O(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(O(`Invalid pricing data structure`),e(null))}catch(t){O(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{O(`Response error:`,t),e(null)})});n.on(`error`,t=>{O(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{O(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return O(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return O(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),O(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(O(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(Zy).length} models`),this.executionCache=Zy,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(Zy).length} models`),Zy)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return O(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),O(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};function $y(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const eb=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function tb(e){return((...t)=>eb.run(()=>e(...t)))}const nb=tb(re),rb=tb(T),ib=tb(E);async function ab(e,t){return eb.run(async()=>{let n=null;try{n=await ne(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return F({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return F({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?I:dn(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function ob(e,t){return eb.run(async()=>{let n=null;try{n=await ne(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return F({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?I:dn(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}function sb(){let e=[],t=process.env.CLAUDE_CONFIG_DIR;if(t&&t.split(`,`).forEach(t=>{let n=t.trim();a(n)&&e.push(n)}),e.length===0){let t=p(),n=d(t,`.config`,`claude`),r=d(t,`.claude`);a(n)&&e.push(n),a(r)&&e.push(r)}return e}async function cb(e){let t=[];for(let n of e){let e=d(n,`projects`);if(a(e))try{let n=await nb(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=d(e,r.name);t.push(n)}}catch(t){O(`Failed to read projects directory ${e}:`,t)}}return t}async function lb(e,t,n){let r=[],i=d(t,e,`subagents`);try{let t=(await nb(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=d(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await rb(t,`utf-8`)).split(`
147
+ `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{O(`Failed to check agent file ${t}`)}}}catch(e){O(`Failed to read subagents directory ${i}:`,e)}return r}const ub=new Map;async function db(e){try{let t=await ib(e),n=t.size,r=ub.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return O(`[parse-cache] hit ${e}`),ub.delete(e),ub.set(e,r),r.entries;let i;return n>1048576?(O(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await gb(e)):i=await mb(e),O(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(ub.delete(e),ub.size>=16&&ub.delete(ub.keys().next().value),ub.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return O(`Transcript not present yet: ${e}`),[];throw t}}function fb(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function pb(e){let t=[];for(let n of e.split(`
148
+ `))if(n.trim())try{let e=fb(JSON.parse(n));e&&t.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`);continue}return t}async function mb(e){return pb(await rb(e,`utf-8`))}async function hb(e,t){let n=await ab(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return F(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:pb(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function gb(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=D({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=fb(JSON.parse(t));e&&r.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{O(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{O(`File stream error for ${e}:`,t),n(t)})})}var _b=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function vb(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const yb={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},bb={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function xb(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function Sb(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function Cb(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function wb(e,t,n,r){let i=xb(new Date(Sb())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:Cb(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await Qy.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=xb(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...yb};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function Tb(e){let t=0,n=0,r=Cb(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...yb};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:bb,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function Eb(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var Db=class{entries=new Map;flight=new _b;seeded=new Map;speedRings=new Map;speedFlight=new _b;maxEntries;staleAgeMs;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:bb,i=t?.cost?.total_cost_usd??null;return F({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e){let t=xb(new Date);try{await this.ensureSeeded(t)}catch(e){return dn(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let n=await this.ingest(e?.session_id??``,e?.transcript_path);if(n.kind===`failed`)return n;let r={...yb},i=!1;for(let e of this.entries.values()){i||=e.days.has(t);let n=e.days.get(t)??yb;r.cost+=n.cost,r.input+=n.input,r.output+=n.output,r.cacheCreation+=n.cacheCreation,r.cacheRead+=n.cacheRead}return i?F({cost:r.cost,tokens:r.input+r.output+r.cacheCreation+r.cacheRead,tokenBreakdown:{input:r.input,output:r.output,cacheCreation:r.cacheCreation,cacheRead:r.cacheRead},date:t}):I}async observeSpeed(e,t,n){let r=$y(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=vb(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(e)??[],s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),this.speedRings.set(e,o),F({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return I;let r=n??$y(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,F(i);if(!t)return i?F(i):I;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return dn(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),F(o)}async refold(e,t,n){let r=await lb(e,u(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await hb(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await wb(r,l,s,c)),e===t&&(a=c.mtimeMs)}return F({files:i,...Tb(i),mainMtime:a})}ensureSeeded(e){let t=this.seeded.get(e);if(t)return t;this.seeded.clear();let n=this.seed(e);return this.seeded.set(e,n),n.catch(()=>{this.seeded.get(e)===n&&this.seeded.delete(e)}),n}async seed(e){let t=Sb(),n=await cb(sb()),r=[];for(let e of n){let n;try{n=await nb(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=d(e,i),a;try{a=(await ib(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await Eb(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&j(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,j(`info`,`usageStore seed sessions=${r.length}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,j(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),j(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},Ob=fe(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),kb=fe(((e,t)=>{let n=Ob();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===`‌`||e===`‍`||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),Ab=fe(((e,t)=>{let n=kb(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),ne[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
149
149
  `?(s++,c=0):e?c+=e.length:c++,e&&(o+=e.length),e}let x={default(){switch(_){case` `:case`\v`:case`\f`:case` `:case`\xA0`:case``:case`
150
150
  `:case`\r`:case`\u2028`:case`\u2029`:b();return;case`/`:b(),p=`comment`;return;case void 0:return b(),S(`eof`)}if(n.isSpaceSeparator(_)){b();return}return x[i]()},comment(){switch(_){case`*`:b(),p=`multiLineComment`;return;case`/`:b(),p=`singleLineComment`;return}throw E(b())},multiLineComment(){switch(_){case`*`:b(),p=`multiLineCommentAsterisk`;return;case void 0:throw E(b())}b()},multiLineCommentAsterisk(){switch(_){case`*`:b();return;case`/`:b(),p=`default`;return;case void 0:throw E(b())}b(),p=`multiLineComment`},singleLineComment(){switch(_){case`
151
151
  `:case`\r`:case`\u2028`:case`\u2029`:b(),p=`default`;return;case void 0:return b(),S(`eof`)}b()},value(){switch(_){case`{`:case`[`:return S(`punctuator`,b());case`n`:return b(),C(`ull`),S(`null`,null);case`t`:return b(),C(`rue`),S(`boolean`,!0);case`f`:return b(),C(`alse`),S(`boolean`,!1);case`-`:case`+`:b()===`-`&&(g=-1),p=`sign`;return;case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,1/0);case`N`:return b(),C(`aN`),S(`numeric`,NaN);case`"`:case`'`:h=b()===`"`,m=``,p=`string`;return}throw E(b())},identifierNameStartEscape(){if(_!==`u`)throw E(b());b();let e=w();switch(e){case`$`:case`_`:break;default:if(!n.isIdStartChar(e))throw ie();break}m+=e,p=`identifierName`},identifierName(){switch(_){case`$`:case`_`:case`‌`:case`‍`:m+=b();return;case`\\`:b(),p=`identifierNameEscape`;return}if(n.isIdContinueChar(_)){m+=b();return}return S(`identifier`,m)},identifierNameEscape(){if(_!==`u`)throw E(b());b();let e=w();switch(e){case`$`:case`_`:case`‌`:case`‍`:break;default:if(!n.isIdContinueChar(e))throw ie();break}m+=e,p=`identifierName`},sign(){switch(_){case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,g*(1/0));case`N`:return b(),C(`aN`),S(`numeric`,NaN)}throw E(b())},zero(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return;case`x`:case`X`:m+=b(),p=`hexadecimal`;return}return S(`numeric`,g*0)},decimalInteger(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalPointLeading(){if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}throw E(b())},decimalPoint(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}return S(`numeric`,g*Number(m))},decimalFraction(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalExponent(){switch(_){case`+`:case`-`:m+=b(),p=`decimalExponentSign`;return}if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw E(b())},decimalExponentSign(){if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw E(b())},decimalExponentInteger(){if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},hexadecimal(){if(n.isHexDigit(_)){m+=b(),p=`hexadecimalInteger`;return}throw E(b())},hexadecimalInteger(){if(n.isHexDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},string(){switch(_){case`\\`:b(),m+=ee();return;case`"`:if(h)return b(),S(`string`,m);m+=b();return;case`'`:if(!h)return b(),S(`string`,m);m+=b();return;case`
152
152
  `:case`\r`:throw E(b());case`\u2028`:case`\u2029`:ae(_);break;case void 0:throw E(b())}m+=b()},start(){switch(_){case`{`:case`[`:return S(`punctuator`,b())}p=`value`},beforePropertyName(){switch(_){case`$`:case`_`:m=b(),p=`identifierName`;return;case`\\`:b(),p=`identifierNameStartEscape`;return;case`}`:return S(`punctuator`,b());case`"`:case`'`:h=b()===`"`,p=`string`;return}if(n.isIdStartChar(_)){m+=b(),p=`identifierName`;return}throw E(b())},afterPropertyName(){if(_===`:`)return S(`punctuator`,b());throw E(b())},beforePropertyValue(){p=`value`},afterPropertyValue(){switch(_){case`,`:case`}`:return S(`punctuator`,b())}throw E(b())},beforeArrayValue(){if(_===`]`)return S(`punctuator`,b());p=`value`},afterArrayValue(){switch(_){case`,`:case`]`:return S(`punctuator`,b())}throw E(b())},end(){throw E(b())}};function S(e,t){return{type:e,value:t,line:s,column:c}}function C(e){for(let t of e){if(y()!==t)throw E(b());b()}}function ee(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
153
153
  `;case`r`:return b(),`\r`;case`t`:return b(),` `;case`v`:return b(),`\v`;case`0`:if(b(),n.isDigit(y()))throw E(b());return`\0`;case`x`:return b(),te();case`u`:return b(),w();case`
154
154
  `:case`\u2028`:case`\u2029`:return b(),``;case`\r`:return b(),y()===`
155
- `&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw E(b());case void 0:throw E(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw E(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function w(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw E(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let ne={start(){if(l.type===`eof`)throw D();T()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:re();return;case`eof`:throw D()}},afterPropertyName(){if(l.type===`eof`)throw D();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw D();T()},beforeArrayValue(){if(l.type===`eof`)throw D();if(l.type===`punctuator`&&l.value===`]`){re();return}T()},afterPropertyValue(){if(l.type===`eof`)throw D();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:re()}},afterArrayValue(){if(l.type===`eof`)throw D();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:re()}},end(){}};function T(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function re(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function E(e){return se(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${oe(e)}' at ${s}:${c}`)}function D(){return se(`JSON5: invalid end of input at ${s}:${c}`)}function ie(){return c-=5,se(`JSON5: invalid identifier character at ${s}:${c}`)}function ae(e){console.warn(`JSON5: '${oe(e)}' in strings is not valid ECMAScript; consider escaping`)}function oe(e){let t={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`};if(t[e])return t[e];if(e<` `){let t=e.charCodeAt(0).toString(16);return`\\x`+(`00`+t).substring(t.length)}return e}function se(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),Sb=fe(((e,t)=>{let n=bb();t.exports=function(e,t,r){let i=[],a=``,o,s,c=``,l;if(typeof t==`object`&&t&&!Array.isArray(t)&&(r=t.space,l=t.quote,t=t.replacer),typeof t==`function`)s=t;else if(Array.isArray(t)){o=[];for(let e of t){let t;typeof e==`string`?t=e:(typeof e==`number`||e instanceof String||e instanceof Number)&&(t=String(e)),t!==void 0&&o.indexOf(t)<0&&o.push(t)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r==`number`?r>0&&(r=Math.min(10,Math.floor(r)),c=` `.substr(0,r)):typeof r==`string`&&(c=r.substr(0,10)),u(``,{"":e});function u(e,t){let n=t[e];switch(n!=null&&(typeof n.toJSON5==`function`?n=n.toJSON5(e):typeof n.toJSON==`function`&&(n=n.toJSON(e))),s&&(n=s.call(t,e,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return`null`;case!0:return`true`;case!1:return`false`}if(typeof n==`string`)return d(n,!1);if(typeof n==`number`)return String(n);if(typeof n==`object`)return Array.isArray(n)?m(n):f(n)}function d(e){let t={"'":.1,'"':.2},r={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},i=``;for(let a=0;a<e.length;a++){let o=e[a];switch(o){case`'`:case`"`:t[o]++,i+=o;continue;case`\0`:if(n.isDigit(e[a+1])){i+=`\\x00`;continue}}if(r[o]){i+=r[o];continue}if(o<` `){let e=o.charCodeAt(0).toString(16);i+=`\\x`+(`00`+e).substring(e.length);continue}i+=o}let a=l||Object.keys(t).reduce((e,n)=>t[e]<t[n]?e:n);return i=i.replace(new RegExp(a,`g`),r[a]),a+i+a}function f(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=o||Object.keys(e),r=[];for(let t of n){let n=u(t,e);if(n!==void 0){let e=p(t)+`:`;c!==``&&(e+=` `),e+=n,r.push(e)}}let s;if(r.length===0)s=`{}`;else{let e;if(c===``)e=r.join(`,`),s=`{`+e+`}`;else{let n=`,
155
+ `&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw E(b());case void 0:throw E(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw E(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function w(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw E(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let ne={start(){if(l.type===`eof`)throw D();T()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:re();return;case`eof`:throw D()}},afterPropertyName(){if(l.type===`eof`)throw D();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw D();T()},beforeArrayValue(){if(l.type===`eof`)throw D();if(l.type===`punctuator`&&l.value===`]`){re();return}T()},afterPropertyValue(){if(l.type===`eof`)throw D();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:re()}},afterArrayValue(){if(l.type===`eof`)throw D();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:re()}},end(){}};function T(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function re(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function E(e){return se(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${oe(e)}' at ${s}:${c}`)}function D(){return se(`JSON5: invalid end of input at ${s}:${c}`)}function ie(){return c-=5,se(`JSON5: invalid identifier character at ${s}:${c}`)}function ae(e){console.warn(`JSON5: '${oe(e)}' in strings is not valid ECMAScript; consider escaping`)}function oe(e){let t={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`};if(t[e])return t[e];if(e<` `){let t=e.charCodeAt(0).toString(16);return`\\x`+(`00`+t).substring(t.length)}return e}function se(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),jb=fe(((e,t)=>{let n=kb();t.exports=function(e,t,r){let i=[],a=``,o,s,c=``,l;if(typeof t==`object`&&t&&!Array.isArray(t)&&(r=t.space,l=t.quote,t=t.replacer),typeof t==`function`)s=t;else if(Array.isArray(t)){o=[];for(let e of t){let t;typeof e==`string`?t=e:(typeof e==`number`||e instanceof String||e instanceof Number)&&(t=String(e)),t!==void 0&&o.indexOf(t)<0&&o.push(t)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r==`number`?r>0&&(r=Math.min(10,Math.floor(r)),c=` `.substr(0,r)):typeof r==`string`&&(c=r.substr(0,10)),u(``,{"":e});function u(e,t){let n=t[e];switch(n!=null&&(typeof n.toJSON5==`function`?n=n.toJSON5(e):typeof n.toJSON==`function`&&(n=n.toJSON(e))),s&&(n=s.call(t,e,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return`null`;case!0:return`true`;case!1:return`false`}if(typeof n==`string`)return d(n,!1);if(typeof n==`number`)return String(n);if(typeof n==`object`)return Array.isArray(n)?m(n):f(n)}function d(e){let t={"'":.1,'"':.2},r={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},i=``;for(let a=0;a<e.length;a++){let o=e[a];switch(o){case`'`:case`"`:t[o]++,i+=o;continue;case`\0`:if(n.isDigit(e[a+1])){i+=`\\x00`;continue}}if(r[o]){i+=r[o];continue}if(o<` `){let e=o.charCodeAt(0).toString(16);i+=`\\x`+(`00`+e).substring(e.length);continue}i+=o}let a=l||Object.keys(t).reduce((e,n)=>t[e]<t[n]?e:n);return i=i.replace(new RegExp(a,`g`),r[a]),a+i+a}function f(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=o||Object.keys(e),r=[];for(let t of n){let n=u(t,e);if(n!==void 0){let e=p(t)+`:`;c!==``&&(e+=` `),e+=n,r.push(e)}}let s;if(r.length===0)s=`{}`;else{let e;if(c===``)e=r.join(`,`),s=`{`+e+`}`;else{let n=`,
156
156
  `+a;e=r.join(n),s=`{
157
157
  `+a+e+`,
158
158
  `+t+`}`}}return i.pop(),a=t,s}function p(e){if(e.length===0)return d(e,!0);let t=String.fromCodePoint(e.codePointAt(0));if(!n.isIdStartChar(t))return d(e,!0);for(let r=t.length;r<e.length;r++)if(!n.isIdContinueChar(String.fromCodePoint(e.codePointAt(r))))return d(e,!0);return e}function m(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=[];for(let t=0;t<e.length;t++){let r=u(String(t),e);n.push(r===void 0?`null`:r)}let r;if(n.length===0)r=`[]`;else if(c===``)r=`[`+n.join(`,`)+`]`;else{let e=`,
159
159
  `+a,i=n.join(e);r=`[
160
160
  `+a+i+`,
161
- `+t+`]`}return i.pop(),a=t,r}}})),Cb=me(fe(((e,t)=>{t.exports={parse:xb(),stringify:Sb()}}))(),1);function wb(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:{...t.segments,...e.segments??{}},root:Bc(e.root??Pc,t.root),actions:{...t.actions,...e.actions??{}},looks:{...t.looks,...e.looks??{}},presets:{...t.presets,...e.presets??{}},editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function Tb(e,t,n,r){return n.cache===void 0?(cl.includes(r)&&e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${al.join(`, `)})`,line:X(e.source,t.split(`.`))}),null):jb(e,`${t}.cache`,n.cache)}function Eb(e,t,n){if(n.cache!==void 0)return jb(e,`${t}.cache`,n.cache)??void 0}function Db(e){return{required:!0,json:Pb(),parse:(t,n,r,i)=>Tb(t,n,i,e)??void 0}}function Ob(){return{required:!1,json:Pb(),parse:(e,t,n,r)=>Eb(e,t,r)}}function kb(e,t,n){return e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))}),null}const Ab={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&Ib(n)?{ttl:n}:kb(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${Sl(n)}`)},watch_file:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{watch_file:n}:kb(e,t,`cache.watch_file must be a non-empty path string, got ${Sl(n)}`)},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:kb(e,t,`cache.depends_on must be an array of variable-name strings, got ${Sl(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:kb(e,t,`cache.key must be a non-empty template string, got ${Sl(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:kb(e,t,`cache.never must be the literal boolean true, got ${Sl(n)}`)}}};function jb(e,t,n){return El(e,Ab,t,n)}const Mb={noun:`time-variable cache`,arms:{ttl:Ab.arms.ttl}};function Nb(){return{required:!1,json:Bl(Mb),parse:(e,t,n,r)=>r.cache===void 0?void 0:El(e,Mb,`${t}.cache`,r.cache)??void 0}}function Pb(){return Bl(Ab)}const Fb=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function Ib(e){return Fb.test(e)}function Lb(e,t,n){if(n===void 0)return{};if(!bl(n))return e.issues.push({path:t,message:`${t} must be an object, got ${xl(n)}`,line:X(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=Dl(e,Zb,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function Rb(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${xl(i)}`,line:X(e.source,t.split(`.`))});return}return i}}}function zb(){return{required:!0,json:{enum:[...sl]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!sl.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${sl.join(`, `)}, got ${JSON.stringify(i)}`,line:X(e.source,[...t.split(`.`),`field`])});return}return i}}}function Bb(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return gl(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Vb={value:Rb(),default:Z()},Hb={path:Pl(),type:Fl([`string`,`number`,`boolean`]),default:Bb()},Ub={name:Pl(),default:Z()},Wb={path:Pl(),readMode:Fl([`whole`,`first-line`]),regex:Z(),cache:Db(`file`),default:Z()},Gb={command:Pl(),regex:Z(),cache:Db(`shell`),default:Z()},Kb={template:Pl(),cache:Ob(),default:Z()},qb={layout:Pl(),cache:Nb(),default:Z()},Jb={field:zb(),cache:Db(`git`),default:Z()},Yb={key:Pl(),default:Z()};function Xb(e,t){return{json:Rl(Il(t),`kind`,e),parse:(n,r,i)=>{let a=wl(n,t,r,i);return a===null?null:{kind:e,...a}}}}const Zb={tag:`kind`,noun:`source kind`,arms:{literal:Xb(`literal`,Vb),input:Xb(`input`,Hb),env:Xb(`env`,Ub),file:Xb(`file`,Wb),shell:Xb(`shell`,Gb),template:Xb(`template`,Kb),time:Xb(`time`,qb),git:Xb(`git`,Jb),state:Xb(`state`,Yb)}};function Qb(){return zl(Zb)}function $b(){return{type:`object`,additionalProperties:Qb()}}function ex(e,t){if(t===void 0)return{};if(!bl(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${xl(t)}`,line:X(e.source,[`segments`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=Cl(e,rx,`segments.${r}`,i);t!==null&&(n[r]=t)}return n}function tx(){return{required:!1,json:{anyOf:[{const:`auto`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto" or a positive integer, got ${Sl(i)}`,line:X(e.source,[...t.split(`.`),n])})}}}}function nx(){return{required:!1,json:$b(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return Lb(e,`${t}.${n}`,i)}}}const rx={noun:`segment key`,fields:{template:Pl(),width:tx(),justify:Fl(ll),truncate:Fl(ul),bg:Z(),fg:Z(),when:Z(),palette:Nl(),vars:nx()}},ix=`menu`,ax=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,ox=e=>e.kind===`call`&&e.name===`dict`,sx=e=>e.kind===`literal`&&typeof e.value!=`object`,cx=e=>nn(``,e,2)===void 0;function lx(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&ox(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(ox))return t(`whose options (dict …) is not its last argument — ${ax}`);if(i!==void 0&&a===void 0&&!sx(i)&&cx(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=nn(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${ax}`);let c=a===void 0?{}:Bp(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);try{return{kind:`ok`,apply:n.value,options:g_(c)}}catch(e){return t(`with invalid options — ${e.message}`)}}function ux(e){let t=qd({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===ix).map(lx)}catch{return`parse-failed`}}function dx(e){let t=qd({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(ix)}catch{return!1}}function fx(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function px(e,t){Yh(e,t,c_,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))dx(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:X(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&dx(i)&&fx(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of il(zc(t.root)))typeof n.when==`string`&&dx(n.when)&&fx(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);let r=new Set,i={},a=new Set,o=new Map;for(let[t,s]of Object.entries(n)){if(!dx(s.template))continue;let n=ux(s.template);if(n!==`parse-failed`)for(let s of n){if(s.kind===`issue`){fx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${s.message}.`);continue}let{apply:n,options:c}=s;if(n===``){fx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action.`);continue}let l=l_(n);if(l===`closed`){fx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} whose apply action is named "${tn}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action.`);continue}let u=u_(t,n,c.key),d=f_(u),f=c.key===void 0?`ind${t}${n}`:`key${c.key}`,p=[u,d].find(e=>{let t=o.get(e);return t!==void 0&&t!==f});if(p!==void 0){fx(e,`segments.${t}`,`two {{ menu }} disclosures normalize to the same state key ("${p}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}o.set(u,f),o.set(d,f);let m=d_(u,l);if(a.has(m)){fx(e,`segments.${t}`,`two {{ menu }} disclosures resolve to the same identity ("${m}") — ${c.key===void 0?`a segment cannot contain two menus over the same apply action "${n}"`:`menus sharing key "${c.key}" must have distinct apply actions`}.`);continue}a.add(m),r.add(u),i[m]=ln(u,l)}}if(r.size===0)return;let s={};for(let e of r){s[e]=cn(e,tn);let t=f_(e);s[t]={kind:`state`,key:t,default:`0`},i[t]={set:t,int:!0}}t.variables={...t.variables??{},...s},t.actions={...t.actions??{},...i}}function mx(e,t){if(t===void 0)return{};if(!bl(t))return $(e,`actions`,`actions must be an object, got ${xl(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=hx(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function $(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))})}function hx(e,t,n){if(!bl(n))return $(e,t,`${t} must be an action object, got ${xl(n)}`),null;if(`persistWhen`in n)return Kx(e,t,n,`dual`,Ux);let r=Cc.filter(e=>e in n);return r.length===1?gx[r[0]](e,t,n):($(e,t,`action must declare exactly one of: ${Cc.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const gx={set:(e,t,n)=>Kx(e,t,n,`set`,Vx),persist:(e,t,n)=>Kx(e,t,n,`persist`,Hx),copy:_x(`copy`),open:_x(`open`),reset:vx,undo:yx(`undo`),redo:yx(`redo`)};function _x(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=hl(t,n,r,e);return i===null?null:{[e]:i}}}function vx(e,t,n){for(let r of Object.keys(n))r!==`reset`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=bx(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}function yx(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:($(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — it steps the history of the session's config file), got ${Sl(r[e])}`),null)}}function bx(e,t,n,r,i,a){let o=hl(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?($(e,s,i),null):o.includes(`/`)?($(e,s,a(o)),null):o}const xx={set:[[`set`,`the SessionState key to write`]],persist:[[`persist`,`the config globals field to write`]],dual:[[`set`,`the SessionState key written while persistWhen is off`],[`persist`,`the config globals field written while persistWhen is on`],[wc,`the SessionState key whose boolean value chooses the destination`]]};function Sx(e,t,n,r){let i={},a=xx[r],o=!0;for(let[r,s]of a){if(!(r in n)){$(e,t,`${r} is required here (${s}) — a dual-destination action declares ${a.map(([e])=>e).join(`, `)} together, plus one value source`),o=!1;continue}let c=bx(e,t,r,n,`${r} key must be non-empty (${s})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);if(c===null){o=!1;continue}i[r]=c}return o?i:null}function Cx(e){return e===`set`?`set-state`:e===`persist`?`set-config`:`set-state/set-config`}const wx={to:qx(`set`)},Tx={to:qx(`persist`)},Ex={from:Jx(`set`)},Dx={from:Jx(`persist`)},Ox={min:$x(),max:$x(),by:$x()},kx={int:Xx()},Ax={cycle:Yx(`set`)},jx={to:qx(`dual`)},Mx={from:Jx(`dual`)},Nx={cycle:Yx(`dual`)},Px={cycle:Yx(`persist`)},Fx={removeSegment:Zx(`removeSegment`)},Ix={insertSegment:Zx(`insertSegment`),anchor:Zx(`anchor`),relation:Qx()},Lx={insertSegmentFrom:Jx(`persist`),anchor:Zx(`anchor`),relation:Qx()},Rx={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},zx={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function Bx(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=xx[e].map(([e])=>e),s=(e,n,r)=>wl(e,t,n,r),c=Il(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?kl(s,...n):s}}const Vx=[Bx(`set`,wx),Bx(`set`,Ex),Bx(`set`,Ox,[Rx,zx]),Bx(`set`,kx),Bx(`set`,Ax)],Hx=[Bx(`persist`,Tx),Bx(`persist`,Dx),Bx(`persist`,Ox,[Rx,zx]),Bx(`persist`,Px),Bx(`persist`,Fx),Bx(`persist`,Ix,[],[`insertSegment`]),Bx(`persist`,Lx,[],[`insertSegmentFrom`])],Ux=[Bx(`dual`,jx),Bx(`dual`,Mx),Bx(`dual`,Ox,[Rx,zx]),Bx(`dual`,Nx)];function Wx(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"styles"/"looks", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function Gx(e){let t=Wx(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function Kx(e,t,n,r,i){let a=Sx(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return $(e,t,`${Gx(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||$(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function qx(e){let t=Cx(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>bx(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function Jx(e){let t=Cx(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){$(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){$(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){$(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){$(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){$(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}$(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${Sl(o)}`)}}}function Yx(e){let t=Cx(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){$(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${xl(o)}`);return}let c=o;if(c.length<2){$(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){$(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){$(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){$(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function Xx(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){$(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${Sl(r[n])}`);return}return!0}}}function Zx(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=hl(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){$(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){$(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function Qx(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){$(e,`${t}.${n}`,`relation must be "before" or "after", got ${Sl(i)}`);return}return i}}}function $x(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){$(e,`${t}.${n}`,`${n} must be an integer, got ${Sl(i)}`);return}return i}}}const eS={noun:`look key`,fields:{hueShift:Ml(),chromaScale:Ml({min:0}),lightnessScale:Ml(),lightnessShift:Ml()}};function tS(e,t){if(!bl(t))return e.issues.push({path:`looks`,message:`looks must be an object mapping look names to adaptation objects, got ${xl(t)}`,line:X(e.source,[`looks`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`looks.${r}`,message:`look name ${JSON.stringify(r)} must be non-empty and slash-free — a look picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:X(e.source,[`looks`,r])});continue}let t=Cl(e,eS,`looks.${r}`,i);t!==null&&(n[r]={...ji,...t})}return n}const nS={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:Qg(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Yl(),parse:(e,t,n,r)=>r[n]===void 0?void 0:Jl(e,`${t}.${n}`,r[n])}}};function rS(e,t){if(!bl(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${xl(t)}`,line:X(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:X(e.source,[`presets`,r])});continue}let t=Cl(e,nS,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function iS(e,t){if(t===void 0)return{};if(!bl(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${xl(t)}`,line:X(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${Sl(i)}`,line:X(e.source,[`helpers`,r])});continue}n[r]=i}return n}const aS=/{{([\s\S]*?)}}/g,oS=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g,sS=/(?<![A-Za-z0-9_)])\.([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*)/g;function cS(e){let t=new Set,n;for(aS.lastIndex=0;(n=aS.exec(e))!==null;){let e=n[1].replace(oS,``),r;for(sS.lastIndex=0;(r=sS.exec(e))!==null;)t.add(r[1])}return t}const lS=/\baction\s+$/;function uS(e){let t=new Set;aS.lastIndex=0;let n;for(;(n=aS.exec(e))!==null;){let e=n[1],r=0,i;for(oS.lastIndex=0;(i=oS.exec(e))!==null;)lS.test(e.slice(r,i.index))&&t.add(i[0].slice(1,-1)),r=i.index+i[0].length}return t}const dS=/\b(picker|menu)\s+$/;function fS(e){let t=new Set;aS.lastIndex=0;let n;for(;(n=aS.exec(e))!==null;){let e=n[1],r=0,i=0,a;for(oS.lastIndex=0;(a=oS.exec(e))!==null;){let n=dS.exec(e.slice(r,a.index));n!==null&&(i=n[1]===`picker`?2:1),i>0&&(t.add(a[0].slice(1,-1)),i--),r=a.index+a[0].length}}return t}function pS(e,t){if(t.has(e))return!0;let n=`${e}.`;for(let e of t)if(e.startsWith(n))return!0;return!1}const mS={gitTaculous:`gitaculous`};function hS(e,t){let n=new Map;for(let e of Object.keys(t)){let t=su(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:X(e.source,[`presets`])})}function gS(e,t){t.globals.look!==void 0&&!Object.prototype.hasOwnProperty.call(t.looks,t.globals.look)&&e.issues.push({path:`globals.look`,message:`globals.look "${t.globals.look}" does not match any declared look (have: ${Object.keys(t.looks).join(`, `)})`,line:X(e.source,[`globals`,`look`])}),t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:X(e.source,[`globals`,`preset`])}),hS(e,t.presets);let n=Zc(t);for(let[r,i]of Object.entries(t.actions))!(`set`in i)||!(`from`in i)||typeof i.from!=`string`||Qc(n).includes(i.from)||e.issues.push({path:`actions.${r}.from`,message:`actions.${r} from: references unknown option domain "${i.from}" (have: ${Qc(n).join(`, `)})`,line:X(e.source,[`actions`,r,`from`])});for(let[n,r]of Object.entries(t.actions)){if(!Tc(r))continue;let i=r[wc];xS(t,i)||e.issues.push({path:`actions.${n}.${wc}`,message:`actions.${n} ${wc}: "${i}" is not a declared state key — a dual action's selector must name a { kind: "state", key: "${i}" } variable, or the destination can never change`,line:X(e.source,[`actions`,n,wc])})}for(let[n,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=au(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${$l().join(`, `)}), a "segments.<name>.palette" target, or a "presets.<name>.root" target`,line:X(e.source,[`actions`,n,a])});continue}let s=_S.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){vS(e,t,n,a,i,o.preset,r);continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})`,line:X(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:X(e.source,[`actions`,n,a])})}}let r=new Set(Object.keys(t.variables));for(let[e,n]of Object.entries(t.segments))if(n.vars)for(let t of Object.keys(n.vars))r.add(`${e}.${t}`);let i=X_(t),a=Object.entries(t.segments).filter(([,e])=>dx(e.template)).map(([e])=>e),o=(t,n,r)=>{U_(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${v_}" ${U_(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r});let i=new Map;for(let e of il(t))e.kind===`segment`&&i.set(e.name,(i.get(e.name)??0)+1);for(let t of a)(i.get(t)??0)>1&&e.issues.push({path:n,message:`segment "${t}" hosts a {{ menu }} and is placed in the layout more than once — a menu's open-state is keyed by segment name, so the copies would share one state (clicking one would toggle both). Give each placement its own named segment.`,line:r})},s=(n,a,o)=>{for(let s of il(n))if(s.when!==void 0&&TS(e,`${a}.when`,s.when,r,{line:o}),s.kind===`segment`){if(B_(s.name)){i||e.issues.push({path:a,message:`${a} places the global settings menu anchor "${v_}", but this config declares no "${Y_}" variable — the menu is a click surface and every click composes a URL from "${Y_}", so it is not synthesized for a config without it. Declare a "${Y_}" variable (any config merged onto the bundled default inherits one) or remove the anchor placement.`,line:o});continue}if(!Object.prototype.hasOwnProperty.call(t.segments,s.name)){let t=mS[s.name],n=t===void 0?``:` (the built-in segment "${s.name}" was renamed to "${t}" — update this reference)`;e.issues.push({path:a,message:`${a} entry "${s.name}" does not match any declared segment${n}`,line:o})}}},c=ES(e.source);s(Rc(t.root),c,X(e.source,[c]));for(let[n,r]of Object.entries(t.presets)){if(r.root===void 0)continue;let t=`presets.${n}.root`,i=X(e.source,[`presets`,n,`root`]);s(zc(r.root),t,i)}let l=new Map([[`root`,Rc(t.root)]]);for(let e of Wc(t.presets)){let{node:n,path:r}=qc(t,e);l.set(r,n)}for(let[t,n]of l)o(n,t,X(e.source,t.split(`.`)));for(let[n,i]of Object.entries(t.variables))CS(e,`variables.${n}`,i,r);for(let[n,i]of Object.entries(t.segments)){if(i.vars)for(let[t,a]of Object.entries(i.vars))CS(e,`segments.${n}.vars.${t}`,a,r,n);for(let a of[`template`,`bg`,`fg`,`when`]){let o=i[a];if(typeof o==`string`){TS(e,`segments.${n}.${a}`,o,r,{segCtx:n});for(let r of uS(o))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${a}`,message:`${a} references unknown action "${r}"`,line:X(e.source,[`segments`,n,a])});for(let r of fS(o))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${a}`,message:`${a} references unknown action "${r}" (in a picker or menu)`,line:X(e.source,[`segments`,n,a])})}}}for(let[n,i]of Object.entries(t.variables))wS(e,`variables.${n}`,i,r);for(let[n,i]of Object.entries(t.segments))if(i.vars)for(let[t,a]of Object.entries(i.vars))wS(e,`segments.${n}.vars.${t}`,a,r,n);(bS(t)||SS(t))&&!Object.prototype.hasOwnProperty.call(t.variables,`session.id`)&&e.issues.push({path:`variables.session.id`,message:`state reads and action set-writes require a global "session.id" variable (segment-local declarations do not satisfy this — declareState/set-state both read the global box; conventionally { kind: "input", path: "session_id" })`,line:X(e.source,[`variables`])})}const _S=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function vS(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=X(e.source,[`actions`,n,r]);if(!Wc(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Wc(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=e=>!Object.prototype.hasOwnProperty.call(t.segments,e);l&&`removeSegment`in o&&f(o.removeSegment)&&e.issues.push({path:s,message:`actions.${n}: removeSegment "${o.removeSegment}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c}),u&&`insertSegment`in o&&(f(o.insertSegment)&&e.issues.push({path:s,message:`actions.${n}: insertSegment "${o.insertSegment}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c}),f(o.anchor)&&e.issues.push({path:s,message:`actions.${n}: anchor "${o.anchor}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c})),d&&`insertSegmentFrom`in o&&f(o.anchor)&&e.issues.push({path:s,message:`actions.${n}: anchor "${o.anchor}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c})}function yS(e){return[...Object.values(e.variables),...Object.values(e.segments).flatMap(e=>Object.values(e.vars??{}))].filter(e=>e.kind===`state`)}function bS(e){return yS(e).length>0}function xS(e,t){return yS(e).some(e=>e.kind===`state`&&e.key===t)}function SS(e){return Object.values(e.actions).some(e=>Dc(e)||Oc(e)||kc(e)||Ac(e)||jc(e))}function CS(e,t,n,r,i){n.kind===`template`&&TS(e,`${t}.template`,n.template,r,{segCtx:i}),ol(n)&&n.cache&&`key`in n.cache&&TS(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function wS(e,t,n,r,i){if(ol(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:X(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function TS(e,t,n,r,i){for(let a of cS(n)){if(pS(a,r))continue;let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,o=n!==void 0&&pS(n,r)?` (segment-local vars are namespaced — write ".${n}")`:``;e.issues.push({path:t,message:`Template references unknown variable ".${a}"${o}`,line:i?.line??X(e.source,t.split(`.`))})}}function ES(e){try{let t=Cb.default.parse(e);if(bl(t)&&`root`in t)return`root`}catch{}return`layout`}function DS(e,t){let{graph:n,nodeInfo:r}=OS(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:X(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function OS(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(e,n)=>{for(let i of cS(n)){if(t.has(i)){r.get(e).add(i);continue}let n=i.split(`.`)[0];n!==i&&t.has(n)&&r.get(e).add(n)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),ol(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const kS=[`json5`,`json`];function AS(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?f.homedir()+e.slice(1):e}function jS(e,t,n){let r=MS(n);if(r!==null)return[r];let i=t??process.cwd();return[...e?kS.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...kS.map(e=>c.join(i,`.cc-candybar.${e}`)),...kS.map(e=>`${NS()}.${e}`)]}function MS(e){if(e)return e;let t=process.env.CC_CANDYBAR_CONFIG;return t?AS(t):null}function NS(){let e=process.env.XDG_CONFIG_HOME??c.join(f.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function PS(e,t,n){return FS(e,t,n)??MS(n)??`${NS()}.${kS[0]}`}function FS(e,t,n){return jS(e,t,n).find(r.existsSync)??null}function IS(e,t){let n=jS(e,t),i=new Set,a=[];for(let e of n)i.has(e)||(i.add(e),r.existsSync(e)&&a.push(e));let o=new Map;for(let e of a){let t=c.dirname(e),n=c.basename(e).replace(/\.(json5|json)$/,``),r=c.join(t,n);o.has(r)||o.set(r,[]),o.get(r).push(e)}let s=[...o.values()].filter(e=>e.length>1);return s.length===0?null:`config-extension collision: ${s.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function LS(e,t,n){let i=e===null?``:r.readFileSync(e,`utf-8`),a=e===null?{}:zS(e,i,n);return{config:wb(a,t),raw:a,source:i}}function RS(e,t=`<config>`,n=``,r=new Set(Ps())){let i=[],a={source:n,issues:i,allowedPalettes:r,groups:[]};if(gS(a,e),DS(a,e),i.length>0)throw new dl(t,i);return lv(Z_(e))}function zS(e,t,n=new Set(Ps())){let r=BS(e,t),i=[],a={source:t,issues:i,allowedPalettes:n,groups:[]};if(!bl(r))throw new dl(e,[{path:``,message:`Config root must be an object, got ${xl(r)}`}]);let o=VS(a,r);if(i.length>0)throw new dl(e,i);return o}function BS(e,t){try{return Cb.default.parse(t)}catch(t){let n=t;throw new dl(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function VS(e,t){for(let n of Object.keys(t))HS.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...HS].join(`, `)}`,line:X(e.source,[n])});let n={};return t.globals!==void 0&&(n.globals=ql(e,`globals`,t.globals)),t.variables!==void 0&&(n.variables=Lb(e,`variables`,t.variables)),t.segments!==void 0&&(n.segments=ex(e,t.segments)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
161
+ `+t+`]`}return i.pop(),a=t,r}}})),Mb=me(fe(((e,t)=>{t.exports={parse:Ab(),stringify:jb()}}))(),1);function Nb(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:{...t.segments,...e.segments??{}},root:Bc(e.root??Pc,t.root),actions:{...t.actions,...e.actions??{}},looks:{...t.looks,...e.looks??{}},presets:{...t.presets,...e.presets??{}},editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function Pb(e,t,n,r){return n.cache===void 0?(sl.includes(r)&&e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${il.join(`, `)})`,line:Z(e.source,t.split(`.`))}),null):Bb(e,`${t}.cache`,n.cache)}function Fb(e,t,n){if(n.cache!==void 0)return Bb(e,`${t}.cache`,n.cache)??void 0}function Ib(e){return{required:!0,json:Ub(),parse:(t,n,r,i)=>Pb(t,n,i,e)??void 0}}function Lb(){return{required:!1,json:Ub(),parse:(e,t,n,r)=>Fb(e,t,r)}}function Rb(e,t,n){return e.issues.push({path:t,message:n,line:Z(e.source,t.split(`.`))}),null}const zb={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&Gb(n)?{ttl:n}:Rb(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${wl(n)}`)},watch_file:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{watch_file:n}:Rb(e,t,`cache.watch_file must be a non-empty path string, got ${wl(n)}`)},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:Rb(e,t,`cache.depends_on must be an array of variable-name strings, got ${wl(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:Rb(e,t,`cache.key must be a non-empty template string, got ${wl(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:Rb(e,t,`cache.never must be the literal boolean true, got ${wl(n)}`)}}};function Bb(e,t,n){return Ol(e,zb,t,n)}const Vb={noun:`time-variable cache`,arms:{ttl:zb.arms.ttl}};function Hb(){return{required:!1,json:Hl(Vb),parse:(e,t,n,r)=>r.cache===void 0?void 0:Ol(e,Vb,`${t}.cache`,r.cache)??void 0}}function Ub(){return Hl(zb)}const Wb=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function Gb(e){return Wb.test(e)}function Kb(e,t,n){if(n===void 0)return{};if(!Sl(n))return e.issues.push({path:t,message:`${t} must be an object, got ${Cl(n)}`,line:Z(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=kl(e,ox,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function qb(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${Cl(i)}`,line:Z(e.source,t.split(`.`))});return}return i}}}function Jb(){return{required:!0,json:{enum:[...ol]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!ol.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${ol.join(`, `)}, got ${JSON.stringify(i)}`,line:Z(e.source,[...t.split(`.`),`field`])});return}return i}}}function Yb(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return vl(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Xb={value:qb(),default:Q()},Zb={path:Il(),type:Ll([`string`,`number`,`boolean`]),default:Yb()},Qb={name:Il(),default:Q()},$b={path:Il(),readMode:Ll([`whole`,`first-line`]),regex:Q(),cache:Ib(`file`),default:Q()},ex={command:Il(),regex:Q(),cache:Ib(`shell`),default:Q()},tx={template:Il(),cache:Lb(),default:Q()},nx={layout:Il(),cache:Hb(),default:Q()},rx={field:Jb(),cache:Ib(`git`),default:Q()},ix={key:Il(),default:Q()};function ax(e,t){return{json:Bl(Rl(t),`kind`,e),parse:(n,r,i)=>{let a=El(n,t,r,i);return a===null?null:{kind:e,...a}}}}const ox={tag:`kind`,noun:`source kind`,arms:{literal:ax(`literal`,Xb),input:ax(`input`,Zb),env:ax(`env`,Qb),file:ax(`file`,$b),shell:ax(`shell`,ex),template:ax(`template`,tx),time:ax(`time`,nx),git:ax(`git`,rx),state:ax(`state`,ix)}};function sx(){return Vl(ox)}function cx(){return{type:`object`,additionalProperties:sx()}}function lx(e,t){if(t===void 0)return{};if(!Sl(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${Cl(t)}`,line:Z(e.source,[`segments`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=Tl(e,fx,`segments.${r}`,i);t!==null&&(n[r]=t)}return n}function ux(){return{required:!1,json:{anyOf:[{const:`auto`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto" or a positive integer, got ${wl(i)}`,line:Z(e.source,[...t.split(`.`),n])})}}}}function dx(){return{required:!1,json:cx(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return Kb(e,`${t}.${n}`,i)}}}const fx={noun:`segment key`,fields:{template:Il(),width:ux(),justify:Ll(cl),truncate:Ll(ll),bg:Q(),fg:Q(),when:Q(),palette:Fl(),vars:dx()}},px=`menu`,mx=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,hx=e=>e.kind===`call`&&e.name===`dict`,gx=e=>e.kind===`literal`&&typeof e.value!=`object`,_x=e=>tn(``,e,2)===void 0;function vx(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&hx(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(hx))return t(`whose options (dict …) is not its last argument — ${mx}`);if(i!==void 0&&a===void 0&&!gx(i)&&_x(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=tn(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${mx}`);let c=a===void 0?{}:Hp(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);try{return{kind:`ok`,apply:n.value,options:T_(c)}}catch(e){return t(`with invalid options — ${e.message}`)}}function yx(e){let t=Yd({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===px).map(vx)}catch{return`parse-failed`}}function bx(e){let t=Yd({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(px)}catch{return!1}}function xx(e,t,n){e.issues.push({path:t,message:n,line:Z(e.source,[`root`])})}function Sx(e,t){Zh(e,t,__,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))bx(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:Z(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&bx(i)&&xx(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of nl(zc(t.root)))typeof n.when==`string`&&bx(n.when)&&xx(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);let r=new Set,i={},a=new Set,o=new Map;for(let[t,s]of Object.entries(n)){if(!bx(s.template))continue;let n=yx(s.template);if(n!==`parse-failed`)for(let s of n){if(s.kind===`issue`){xx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${s.message}.`);continue}let{apply:n,options:c}=s;if(n===``){xx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action.`);continue}let l=v_(n);if(l===`closed`){xx(e,`segments.${t}`,`segment "${t}" has a {{ menu }} whose apply action is named "${en}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action.`);continue}let u=y_(t,n,c.key),d=x_(u),f=c.key===void 0?`ind${t}${n}`:`key${c.key}`,p=[u,d].find(e=>{let t=o.get(e);return t!==void 0&&t!==f});if(p!==void 0){xx(e,`segments.${t}`,`two {{ menu }} disclosures normalize to the same state key ("${p}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}o.set(u,f),o.set(d,f);let m=b_(u,l);if(a.has(m)){xx(e,`segments.${t}`,`two {{ menu }} disclosures resolve to the same identity ("${m}") — ${c.key===void 0?`a segment cannot contain two menus over the same apply action "${n}"`:`menus sharing key "${c.key}" must have distinct apply actions`}.`);continue}a.add(m),r.add(u),i[m]=ln(u,l)}}if(r.size===0)return;let s={};for(let e of r){s[e]=cn(e,en);let t=x_(e);s[t]={kind:`state`,key:t,default:`0`},i[t]={set:t,int:!0}}t.variables={...t.variables??{},...s},t.actions={...t.actions??{},...i}}function Cx(e,t){if(t===void 0)return{};if(!Sl(t))return wx(e,`actions`,`actions must be an object, got ${Cl(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=Tx(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function wx(e,t,n){e.issues.push({path:t,message:n,line:Z(e.source,t.split(`.`))})}function Tx(e,t,n){if(!Sl(n))return wx(e,t,`${t} must be an action object, got ${Cl(n)}`),null;if(`persistWhen`in n)return nS(e,t,n,`dual`,$x);let r=Cc.filter(e=>e in n);return r.length===1?Ex[r[0]](e,t,n):(wx(e,t,`action must declare exactly one of: ${Cc.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const Ex={set:(e,t,n)=>nS(e,t,n,`set`,Zx),persist:(e,t,n)=>nS(e,t,n,`persist`,Qx),copy:Dx(`copy`),open:Dx(`open`),reset:Ox,undo:kx(`undo`),redo:kx(`redo`)};function Dx(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&wx(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=_l(t,n,r,e);return i===null?null:{[e]:i}}}function Ox(e,t,n){for(let r of Object.keys(n))r!==`reset`&&wx(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=Ax(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}function kx(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&wx(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(wx(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — it steps the history of the session's config file), got ${wl(r[e])}`),null)}}function Ax(e,t,n,r,i,a){let o=_l(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(wx(e,s,i),null):o.includes(`/`)?(wx(e,s,a(o)),null):o}const jx={set:[[`set`,`the SessionState key to write`]],persist:[[`persist`,`the config globals field to write`]],dual:[[`set`,`the SessionState key written while persistWhen is off`],[`persist`,`the config globals field written while persistWhen is on`],[wc,`the SessionState key whose boolean value chooses the destination`]]};function Mx(e,t,n,r){let i={},a=jx[r],o=!0;for(let[r,s]of a){if(!(r in n)){wx(e,t,`${r} is required here (${s}) — a dual-destination action declares ${a.map(([e])=>e).join(`, `)} together, plus one value source`),o=!1;continue}let c=Ax(e,t,r,n,`${r} key must be non-empty (${s})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);if(c===null){o=!1;continue}i[r]=c}return o?i:null}function Nx(e){return e===`set`?`set-state`:e===`persist`?`set-config`:`set-state/set-config`}const Px={to:rS(`set`)},Fx={to:rS(`persist`)},Ix={from:iS(`set`)},Lx={from:iS(`persist`)},Rx={min:lS(),max:lS(),by:lS()},zx={int:oS()},Bx={cycle:aS(`set`)},Vx={to:rS(`dual`)},Hx={from:iS(`dual`)},Ux={cycle:aS(`dual`)},Wx={cycle:aS(`persist`)},Gx={removeSegment:sS(`removeSegment`)},Kx={insertSegment:sS(`insertSegment`),anchor:sS(`anchor`),relation:cS()},qx={insertSegmentFrom:iS(`persist`),anchor:sS(`anchor`),relation:cS()},Jx={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},Yx={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function Xx(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=jx[e].map(([e])=>e),s=(e,n,r)=>El(e,t,n,r),c=Rl(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?jl(s,...n):s}}const Zx=[Xx(`set`,Px),Xx(`set`,Ix),Xx(`set`,Rx,[Jx,Yx]),Xx(`set`,zx),Xx(`set`,Bx)],Qx=[Xx(`persist`,Fx),Xx(`persist`,Lx),Xx(`persist`,Rx,[Jx,Yx]),Xx(`persist`,Wx),Xx(`persist`,Gx),Xx(`persist`,Kx,[],[`insertSegment`]),Xx(`persist`,qx,[],[`insertSegmentFrom`])],$x=[Xx(`dual`,Vx),Xx(`dual`,Hx),Xx(`dual`,Rx,[Jx,Yx]),Xx(`dual`,Ux)];function eS(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"styles"/"looks", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function tS(e){let t=eS(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function nS(e,t,n,r,i){let a=Mx(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return wx(e,t,`${tS(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||wx(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function rS(e){let t=Nx(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>Ax(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function iS(e){let t=Nx(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){wx(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){wx(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){wx(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){wx(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){wx(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}wx(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${wl(o)}`)}}}function aS(e){let t=Nx(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){wx(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${Cl(o)}`);return}let c=o;if(c.length<2){wx(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){wx(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){wx(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){wx(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function oS(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){wx(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${wl(r[n])}`);return}return!0}}}function sS(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=_l(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){wx(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){wx(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function cS(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){wx(e,`${t}.${n}`,`relation must be "before" or "after", got ${wl(i)}`);return}return i}}}function lS(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){wx(e,`${t}.${n}`,`${n} must be an integer, got ${wl(i)}`);return}return i}}}const uS={noun:`look key`,fields:{hueShift:Pl(),chromaScale:Pl({min:0}),lightnessScale:Pl(),lightnessShift:Pl()}};function dS(e,t){if(!Sl(t))return e.issues.push({path:`looks`,message:`looks must be an object mapping look names to adaptation objects, got ${Cl(t)}`,line:Z(e.source,[`looks`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`looks.${r}`,message:`look name ${JSON.stringify(r)} must be non-empty and slash-free — a look picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:Z(e.source,[`looks`,r])});continue}let t=Tl(e,uS,`looks.${r}`,i);t!==null&&(n[r]={...Mi,...t})}return n}const fS={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:s_(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Zl(),parse:(e,t,n,r)=>r[n]===void 0?void 0:Xl(e,`${t}.${n}`,r[n])}}};function pS(e,t){if(!Sl(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${Cl(t)}`,line:Z(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:Z(e.source,[`presets`,r])});continue}let t=Tl(e,fS,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function mS(e,t){if(t===void 0)return{};if(!Sl(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${Cl(t)}`,line:Z(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${wl(i)}`,line:Z(e.source,[`helpers`,r])});continue}n[r]=i}return n}const hS=/{{([\s\S]*?)}}/g,gS=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g,_S=/(?<![A-Za-z0-9_)])\.([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*)/g;function vS(e){let t=new Set,n;for(hS.lastIndex=0;(n=hS.exec(e))!==null;){let e=n[1].replace(gS,``),r;for(_S.lastIndex=0;(r=_S.exec(e))!==null;)t.add(r[1])}return t}const yS=/\baction\s+$/;function bS(e){let t=new Set;hS.lastIndex=0;let n;for(;(n=hS.exec(e))!==null;){let e=n[1],r=0,i;for(gS.lastIndex=0;(i=gS.exec(e))!==null;)yS.test(e.slice(r,i.index))&&t.add(i[0].slice(1,-1)),r=i.index+i[0].length}return t}const xS=/\b(picker|menu)\s+$/;function SS(e){let t=new Set;hS.lastIndex=0;let n;for(;(n=hS.exec(e))!==null;){let e=n[1],r=0,i=0,a;for(gS.lastIndex=0;(a=gS.exec(e))!==null;){let n=xS.exec(e.slice(r,a.index));n!==null&&(i=n[1]===`picker`?2:1),i>0&&(t.add(a[0].slice(1,-1)),i--),r=a.index+a[0].length}}return t}function CS(e,t){if(t.has(e))return!0;let n=`${e}.`;for(let e of t)if(e.startsWith(n))return!0;return!1}const wS={gitTaculous:`gitaculous`};function TS(e,t){let n=new Map;for(let e of Object.keys(t)){let t=lu(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:Z(e.source,[`presets`])})}function ES(e,t){t.globals.look!==void 0&&!Object.prototype.hasOwnProperty.call(t.looks,t.globals.look)&&e.issues.push({path:`globals.look`,message:`globals.look "${t.globals.look}" does not match any declared look (have: ${Object.keys(t.looks).join(`, `)})`,line:Z(e.source,[`globals`,`look`])}),t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:Z(e.source,[`globals`,`preset`])}),TS(e,t.presets);let n=Zc(t);for(let[r,i]of Object.entries(t.actions))!(`set`in i)||!(`from`in i)||typeof i.from!=`string`||Qc(n).includes(i.from)||e.issues.push({path:`actions.${r}.from`,message:`actions.${r} from: references unknown option domain "${i.from}" (have: ${Qc(n).join(`, `)})`,line:Z(e.source,[`actions`,r,`from`])});for(let[n,r]of Object.entries(t.actions)){if(!Tc(r))continue;let i=r[wc];jS(t,i)||e.issues.push({path:`actions.${n}.${wc}`,message:`actions.${n} ${wc}: "${i}" is not a declared state key — a dual action's selector must name a { kind: "state", key: "${i}" } variable, or the destination can never change`,line:Z(e.source,[`actions`,n,wc])})}for(let[n,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=su(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${tu().join(`, `)}), a "segments.<name>.palette" target, or a "presets.<name>.root" target`,line:Z(e.source,[`actions`,n,a])});continue}let s=DS.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:Z(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){OS(e,t,n,a,i,o.preset,r);continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})`,line:Z(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:Z(e.source,[`actions`,n,a])})}}let r=new Set(Object.keys(t.variables));for(let[e,n]of Object.entries(t.segments))if(n.vars)for(let t of Object.keys(n.vars))r.add(`${e}.${t}`);let i=av(t),a=Object.entries(t.segments).filter(([,e])=>bx(e.template)).map(([e])=>e),o=(t,n,r)=>{Z_(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${D_}" ${Z_(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r});let i=new Map;for(let e of nl(t))e.kind===`segment`&&i.set(e.name,(i.get(e.name)??0)+1);for(let t of a)(i.get(t)??0)>1&&e.issues.push({path:n,message:`segment "${t}" hosts a {{ menu }} and is placed in the layout more than once — a menu's open-state is keyed by segment name, so the copies would share one state (clicking one would toggle both). Give each placement its own named segment.`,line:r})},s=(n,a,o)=>{for(let s of nl(n))if(s.when!==void 0&&FS(e,`${a}.when`,s.when,r,{line:o}),s.kind===`segment`){if(J_(s.name)){i||e.issues.push({path:a,message:`${a} places the global settings menu anchor "${D_}", but this config declares no "${iv}" variable — the menu is a click surface and every click composes a URL from "${iv}", so it is not synthesized for a config without it. Declare a "${iv}" variable (any config merged onto the bundled default inherits one) or remove the anchor placement.`,line:o});continue}if(!Object.prototype.hasOwnProperty.call(t.segments,s.name)){let t=wS[s.name],n=t===void 0?``:` (the built-in segment "${s.name}" was renamed to "${t}" — update this reference)`;e.issues.push({path:a,message:`${a} entry "${s.name}" does not match any declared segment${n}`,line:o})}}},c=IS(e.source);s(Rc(t.root),c,Z(e.source,[c]));for(let[n,r]of Object.entries(t.presets)){if(r.root===void 0)continue;let t=`presets.${n}.root`,i=Z(e.source,[`presets`,n,`root`]);s(zc(r.root),t,i)}let l=new Map([[`root`,Rc(t.root)]]);for(let e of Wc(t.presets)){let{node:n,path:r}=qc(t,e);l.set(r,n)}for(let[t,n]of l)o(n,t,Z(e.source,t.split(`.`)));for(let[n,i]of Object.entries(t.variables))NS(e,`variables.${n}`,i,r);for(let[n,i]of Object.entries(t.segments)){if(i.vars)for(let[t,a]of Object.entries(i.vars))NS(e,`segments.${n}.vars.${t}`,a,r,n);for(let a of[`template`,`bg`,`fg`,`when`]){let o=i[a];if(typeof o==`string`){FS(e,`segments.${n}.${a}`,o,r,{segCtx:n});for(let r of bS(o))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${a}`,message:`${a} references unknown action "${r}"`,line:Z(e.source,[`segments`,n,a])});for(let r of SS(o))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${a}`,message:`${a} references unknown action "${r}" (in a picker or menu)`,line:Z(e.source,[`segments`,n,a])})}}}for(let[n,i]of Object.entries(t.variables))PS(e,`variables.${n}`,i,r);for(let[n,i]of Object.entries(t.segments))if(i.vars)for(let[t,a]of Object.entries(i.vars))PS(e,`segments.${n}.vars.${t}`,a,r,n);(AS(t)||MS(t))&&!Object.prototype.hasOwnProperty.call(t.variables,`session.id`)&&e.issues.push({path:`variables.session.id`,message:`state reads and action set-writes require a global "session.id" variable (segment-local declarations do not satisfy this — declareState/set-state both read the global box; conventionally { kind: "input", path: "session_id" })`,line:Z(e.source,[`variables`])})}const DS=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function OS(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=Z(e.source,[`actions`,n,r]);if(!Wc(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Wc(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=e=>!Object.prototype.hasOwnProperty.call(t.segments,e);l&&`removeSegment`in o&&f(o.removeSegment)&&e.issues.push({path:s,message:`actions.${n}: removeSegment "${o.removeSegment}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c}),u&&`insertSegment`in o&&(f(o.insertSegment)&&e.issues.push({path:s,message:`actions.${n}: insertSegment "${o.insertSegment}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c}),f(o.anchor)&&e.issues.push({path:s,message:`actions.${n}: anchor "${o.anchor}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c})),d&&`insertSegmentFrom`in o&&f(o.anchor)&&e.issues.push({path:s,message:`actions.${n}: anchor "${o.anchor}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})`,line:c})}function kS(e){return[...Object.values(e.variables),...Object.values(e.segments).flatMap(e=>Object.values(e.vars??{}))].filter(e=>e.kind===`state`)}function AS(e){return kS(e).length>0}function jS(e,t){return kS(e).some(e=>e.kind===`state`&&e.key===t)}function MS(e){return Object.values(e.actions).some(e=>Dc(e)||Oc(e)||kc(e)||Ac(e)||jc(e))}function NS(e,t,n,r,i){n.kind===`template`&&FS(e,`${t}.template`,n.template,r,{segCtx:i}),al(n)&&n.cache&&`key`in n.cache&&FS(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function PS(e,t,n,r,i){if(al(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:Z(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function FS(e,t,n,r,i){for(let a of vS(n)){if(CS(a,r))continue;let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,o=n!==void 0&&CS(n,r)?` (segment-local vars are namespaced — write ".${n}")`:``;e.issues.push({path:t,message:`Template references unknown variable ".${a}"${o}`,line:i?.line??Z(e.source,t.split(`.`))})}}function IS(e){try{let t=Mb.default.parse(e);if(Sl(t)&&`root`in t)return`root`}catch{}return`layout`}function LS(e,t){let{graph:n,nodeInfo:r}=RS(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:Z(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function RS(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(e,n)=>{for(let i of vS(n)){if(t.has(i)){r.get(e).add(i);continue}let n=i.split(`.`)[0];n!==i&&t.has(n)&&r.get(e).add(n)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),al(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const zS=[`json5`,`json`];function BS(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?f.homedir()+e.slice(1):e}function VS(e,t,n){let r=HS(n);if(r!==null)return[r];let i=t??process.cwd();return[...e?zS.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...zS.map(e=>c.join(i,`.cc-candybar.${e}`)),...zS.map(e=>`${US()}.${e}`)]}function HS(e){if(e)return e;let t=process.env.CC_CANDYBAR_CONFIG;return t?BS(t):null}function US(){let e=process.env.XDG_CONFIG_HOME??c.join(f.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function WS(e,t,n){return GS(e,t,n)??HS(n)??`${US()}.${zS[0]}`}function GS(e,t,n){return VS(e,t,n).find(r.existsSync)??null}function KS(e,t){let n=VS(e,t),i=new Set,a=[];for(let e of n)i.has(e)||(i.add(e),r.existsSync(e)&&a.push(e));let o=new Map;for(let e of a){let t=c.dirname(e),n=c.basename(e).replace(/\.(json5|json)$/,``),r=c.join(t,n);o.has(r)||o.set(r,[]),o.get(r).push(e)}let s=[...o.values()].filter(e=>e.length>1);return s.length===0?null:`config-extension collision: ${s.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function qS(e,t,n){let i=e===null?``:r.readFileSync(e,`utf-8`),a=e===null?{}:YS(e,i,n);return{config:Nb(a,t),raw:a,source:i}}function JS(e,t=`<config>`,n=``,r=new Set(Ps())){let i=[],a={source:n,issues:i,allowedPalettes:r,groups:[]};if(ES(a,e),LS(a,e),i.length>0)throw new pl(t,i);return vv(ov(e))}function YS(e,t,n=new Set(Ps())){let r=XS(e,t),i=[],a={source:t,issues:i,allowedPalettes:n,groups:[]};if(!Sl(r))throw new pl(e,[{path:``,message:`Config root must be an object, got ${Cl(r)}`}]);let o=ZS(a,r);if(i.length>0)throw new pl(e,i);return o}function XS(e,t){try{return Mb.default.parse(t)}catch(t){let n=t;throw new pl(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function ZS(e,t){for(let n of Object.keys(t))QS.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...QS].join(`, `)}`,line:Z(e.source,[n])});let n={};return t.globals!==void 0&&(n.globals=Yl(e,`globals`,t.globals)),t.variables!==void 0&&(n.variables=Kb(e,`variables`,t.variables)),t.segments!==void 0&&(n.segments=lx(e,t.segments)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
162
162
  Replace: layout: [["seg1", "seg2"], ["seg3"]]
163
163
  With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
164
- Single-row example: root: { h: ["seg1", "seg2"] }`,line:X(e.source,[`layout`])}),t.root!==void 0&&(n.root=Qg(e,`root`,t.root)),t.actions!==void 0&&(n.actions=mx(e,t.actions)),t.looks!==void 0&&(n.looks=tS(e,t.looks)),t.presets!==void 0&&(n.presets=rS(e,t.presets)),t.editGlobals!==void 0&&(n.editGlobals=Xl(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(n.helpers=iS(e,t.helpers)),s_(e,n),px(e,n),ig(e,n),Yh(e,n,__,`the global settings menu`),n}const HS=new Set([`globals`,`variables`,`segments`,`layout`,`root`,`actions`,`looks`,`presets`,`editGlobals`,`helpers`]),US=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function WS(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function GS(e){let t=await KS(e);return t.kind===`ok`?P(Math.floor((t.value+36e5)/1e3)):t}async function KS(e){for(let t of[65536,1048576]){let n=await Zy(e,t);if(n.kind!==`ok`)return n;let r=qS(n.value.buf,n.value.fromStart);if(r!=null)return P(r);if(n.value.fromStart)return F}return F}function qS(e,t){let n=e.toString(`utf8`).split(`
165
- `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!US.test(t))continue;let r=WS(t);if(r!=null)return r}return null}function JS(e,t,n){let r=Gc(t(`preset`),e.globals.preset,e.presets),i=Jc(e,r),a=t(`edit.mode`)===`open`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:Ms(a.palette,t(`theme`),i.palette),look:Is(a.look,t(`look`),i.look,e.looks),style:Bs(a.style,t(`style`),i.style),separator:a.default_separator??i.default_separator,autoWrap:Ys(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:Xs(a.padding,t(`padding`),i.padding),charset:a.charset??i.charset??`unicode`,updateNotice:a.updateNotice??i.updateNotice??!0,colorCompatibility:a.colorCompatibility??i.colorCompatibility??`truecolor`}}const YS=10*1e3;function XS(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function ZS(e,t){if(!(t<60))return e*3600/t}function QS(e,t,n,r){let i=r-t;if(i<50||i>YS)return;let a=n-e;if(!(a<=0))return a*1e3/i}function $S(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=QS(t.input,t.atMs,n.input,n.atMs),i=QS(t.output,t.atMs,n.output,n.atMs),a=QS(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function eC(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>YS)continue;let o=QS(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function tC(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function nC(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>tC(f.hostname())),i=n(`user`,()=>f.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function rC(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,r);for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,i);let n=[],r=new Set;for(let t of il(Rc(e.root))){if(t.when)for(let e of cS(t.when))n.push(e);if(t.kind!==`segment`)continue;let r=e.segments[t.name];if(r){for(let e of[r.template,r.when,r.bg,r.fg])if(e)for(let t of cS(e))n.push(t)}}let i=new Set;for(;n.length>0;){let e=n.pop();for(let a of iC(t,e)){if(r.has(a))continue;r.add(a);let e=t.get(a);if(e){if(e.kind===`input`)i.add(e.path);else if(e.kind===`template`)for(let t of cS(e.template))n.push(t)}}}return i}function iC(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function aC(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function oC(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function sC(e,t,n,r,i,a){let o=e=>aC(r,e),s=(t.clock??(()=>new Date))().getTime(),c=(e,t,n)=>t?n().catch(t=>dn(`${e}: ${String(t)}`)):Promise.resolve(F),[l,u,d,f,p,m,h,g]=await Promise.all([c(`git`,o(`git`),()=>t.gitProvider.getGitInfo(n??e.workspace?.current_dir,oC(r),e.workspace?.project_dir)),c(`session`,o(`session.cost`)||o(`session.tokens`)||o(`burn`),()=>t.usageStore.getUsageInfo(e.session_id,e)),c(`today`,o(`today`),()=>t.usageStore.getTodayInfo(e)),c(`context`,o(`context`),()=>t.contextProvider.getContextInfo(e)),c(`metrics`,o(`metrics`)||o(`burn`),()=>t.metricsProvider.getMetricsInfo(e.session_id,e)),c(`tmux`,o(`tmux`),()=>t.tmuxService.getSessionId()),c(`cache`,o(`cache`),()=>GS(e.transcript_path)),c(`speed`,o(`speed`),()=>t.usageStore.observeSpeed(e.session_id,e.transcript_path,s))]),_=[],v=e=>{if(e.kind===`failed`){_.push(e.reason);return}return e.kind===`ok`?e.value:void 0},y=uC(l);_.push(...y.failures);let b=nC(a);_.push(...b.failures);let x=v(u),S=v(d),C=v(f),ee=v(p),te=v(m),w=v(h);for(let e of _)t.log(`warn`,`provider fetch failed: ${e}`);let ne=e.rate_limits?.five_hour,T=e.rate_limits?.seven_day,re=ne?XS(ne.used_percentage,ne.resets_at,18e6,s):void 0,E=T?XS(T.used_percentage,T.resets_at,6048e5,s):void 0,D=x?.session.cost,ie=ee?.sessionDuration,ae=o(`burn`)&&D!=null&&ie!=null?ZS(D,ie):void 0,oe=v(g),se=oe===void 0?void 0:$S(oe),ce=oe===void 0?void 0:eC(oe),le=se!==void 0||ce!==void 0?{...se,...ce!==void 0&&{history:ce}}:void 0,ue=lC(process.env.HOME??process.env.USERPROFILE),de=e.workspace?{...e.workspace,current_dir:lC(e.workspace.current_dir)??``,project_dir:lC(e.workspace.project_dir)??``}:e.workspace,fe=x===void 0?void 0:cC({cost:x.session.cost,tokens:x.session.tokens}),pe=S===void 0?void 0:{cost:S.cost,tokens:S.tokens},me=ee===void 0?void 0:cC({lastResponseTime:ee.lastResponseTime,responseTime:ee.responseTime,sessionDuration:ee.sessionDuration,messageCount:ee.messageCount,linesAdded:ee.linesAdded,linesRemoved:ee.linesRemoved});return{...e,...de!==void 0&&{workspace:de},...ue!==void 0&&{home:ue},...y.git!==void 0&&{git:y.git},...te!==void 0&&{tmux:{session:te}},host:b.host,theme:{effective:i.theme},look:{effective:i.look},preset:{effective:i.preset,customized:i.presetCustomized},style:{effective:i.style},charset:{effective:i.charset},colorCompatibility:{effective:i.colorCompatibility},autoWrap:{effective:i.autoWrap},padding:{effective:i.padding},...fe!==void 0&&{session:fe},...pe!==void 0&&{today:pe},...ae!==void 0&&{burn:{costPerHour:ae}},...le!==void 0&&{speed:le},...o(`block`)&&ne!==void 0&&{block:{nativeUtilization:ne.used_percentage,resetsAt:ne.resets_at,...re!==void 0&&{etaMinutes:re}}},...T!==void 0&&{weekly:{percentage:T.used_percentage,resetsAt:T.resets_at,...E!==void 0&&{etaMinutes:E}}},...w!==void 0&&{cache:{expiresAt:w}},...C!==void 0&&{context:{totalTokens:C.totalTokens,contextLeft:C.contextLeftPercentage}},...me!==void 0&&{metrics:me}}}function cC(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function lC(e){return e===void 0||e.length===0||c.sep!==`\\`?e:e.replace(/\\/g,`/`)}function uC(e){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let t=e.value,n=[],r=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){n.push(`git.${e}: ${t.reason}`);return}return t.value}},i=r(`aheadBehind`,t.aheadBehind),a=r(`sha`,t.sha),o=r(`operation`,t.operation),s=r(`timeSinceCommit`,t.timeSinceCommit),c=r(`stash`,t.stashCount),l=r(`upstream`,t.upstream),u=r(`repoName`,t.repoName),d=r(`repoUrl`,t.repoUrl),f=t.pullRequest,p={};return f?.kind===`ok`?(p.prNumber=f.value.number,p.prState=f.value.state,p.prUrl=f.value.url):f?.kind===`failed`&&(n.push(`git.pr: ${f.reason}`),p.prError=f.reason),{git:{branch:t.branch,status:t.status,...i!==void 0&&{ahead:i.ahead,behind:i.behind},...t.workingTree!==void 0&&{staged:t.workingTree.staged,unstaged:t.workingTree.unstaged,untracked:t.workingTree.untracked,conflicts:t.workingTree.conflicts},...a!==void 0&&{sha:a},...o!==void 0&&{operation:o},...s!==void 0&&{timeSinceCommit:s},...c!==void 0&&{stash:c},...l!==void 0&&{upstream:l},...u!==void 0&&{repoName:u},...d!==void 0&&{repoUrl:d},...p},failures:n}}const dC=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,fC=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${dC}) (basename .project_dir) (ne (${dC}) "") }}{{ end }}{{ end }}{{ abbreviatePath \$dir }}`,pC={branch:`primary`,staged:`success`,unstaged:`warning`,untracked:`accent`,conflicts:`error`,ahead:`success`,behind:`warning`,stash:`accent`},mC=(e,t)=>`{{ fg (color "${pC[e]}") ${t} }}`,hC=`{{ readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3 }}`,gC=`{{ if or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0) }} ({{ \$first := true }}{{ if gt .git.staged 0 }}${mC(`staged`,`(printf "+%v" .git.staged)`)}{{ $first = false }}{{ end }}{{ if gt .git.unstaged 0 }}{{ if not $first }} {{ end }}${mC(`unstaged`,`(printf "~%v" .git.unstaged)`)}{{ $first = false }}{{ end }}{{ if gt .git.untracked 0 }}{{ if not $first }} {{ end }}${mC(`untracked`,`(printf "?%v" .git.untracked)`)}{{ $first = false }}{{ end }}{{ if gt .git.conflicts 0 }}{{ if not $first }} {{ end }}${mC(`conflicts`,`(printf "!%v" .git.conflicts)`)}{{ $first = false }}{{ end }}){{ end }}`,_C=`{{ if ne .git.repoName "" }}{{ .git.repoName }} {{ end }}⎇ ${mC(`branch`,`.git.branch`)}{{ if .git.sha }} ♯ {{ .git.sha }}{{ end }}{{ if or (gt .git.ahead 0) (gt .git.behind 0) }} {{ if gt .git.ahead 0 }}${mC(`ahead`,`(printf "↑%v" .git.ahead)`)}{{ end }}{{ if gt .git.behind 0 }}${mC(`behind`,`(printf "↓%v" .git.behind)`)}{{ end }}{{ end }}`+gC+`{{ if .git.upstream }} →{{ .git.upstream }}{{ end }}{{ if gt .git.stash 0 }} ${mC(`stash`,`(printf "⧇ %v" .git.stash)`)}{{ end }} {{ if eq .git.status "conflicts" }}{{ fg (color "error") "⚠" }}{{ else }}{{ if eq .git.status "dirty" }}{{ fg (color "warning") "●" }}{{ else }}{{ fg (color "success") "✓" }}{{ end }}{{ end }}`;function vC(e,t){return`{{ if ge (round ${e}) ${t} }}error{{ else }}{{ if ge (round ${e}) 50 }}warning{{ else }}panel{{ end }}{{ end }}`}function yC(e){return`{{ if ge (round ${e}) 50 }}button-color-foreground{{ else }}foreground{{ end }}`}function bC(e,t,n){return`{{ if lt ${e} 0 }}panel{{ else }}{{ if lt ${e} ${n} }}error{{ else }}{{ if lt ${e} ${t} }}warning{{ else }}panel{{ end }}{{ end }}{{ end }}`}function xC(e,t){return`{{ if lt ${e} 0 }}foreground{{ else }}{{ if lt ${e} ${t} }}button-color-foreground{{ else }}foreground{{ end }}{{ end }}`}const SC={globals:{palette:`tokyo-night`},variables:{current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},"session.id":{kind:`input`,path:`session_id`,default:``},version:{kind:`input`,path:`version`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"look.effective":{kind:`input`,path:`look.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"style.effective":{kind:`input`,path:`style.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"session.budget.amount":{kind:`literal`,value:0},"session.budget.warningThreshold":{kind:`literal`,value:80},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"today.budget.amount":{kind:`literal`,value:50},"today.budget.warningThreshold":{kind:`literal`,value:80},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"block.budget.warningThreshold":{kind:`literal`,value:80},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"weekly.budget.warningThreshold":{kind:`literal`,value:80},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"burn.eta.warnMinutes":{kind:`literal`,value:60},"burn.eta.errorMinutes":{kind:`literal`,value:30},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0}},segments:{directory:{template:fC,fg:`foreground`},model:{template:`✱ {{ formatModelName .model.display_name }}`,fg:`foreground`,when:`{{ ne .model.display_name "" }}`},sessionId:{template:`⌗{{ trunc 8 .session.id }}`,fg:`foreground`,when:`{{ ne .session.id "" }}`},version:{template:`◈ v{{ .version }}`,fg:`foreground`,when:`{{ ne .version "" }}`},tmux:{template:`tmux:{{ .tmux.session | default "none" }}`,fg:`foreground`,when:`{{ ne .tmux.session "" }}`},host:{template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,fg:`{{ contrastOn (bgOf) }}`,when:`{{ .host.ssh }}`},git:{template:_C,fg:hC,when:`{{ ne .git.branch "" }}`},gitaculous:{template:`(git){{ if ne .git.repoName "" }} {{ .git.repoName }}{{ end }}{{ if ne .git.operation "" }} [{{ .git.operation }}]{{ end }}{{ if ne .git.sha "" }} {{ .git.sha }}{{ end }}{{ if or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0) }} {{ if gt .git.staged 0 }}${mC(`staged`,`"S"`)}{{ end }}{{ if gt .git.unstaged 0 }}${mC(`unstaged`,`"U"`)}{{ end }}{{ if gt .git.untracked 0 }}${mC(`untracked`,`"?"`)}{{ end }}{{ if gt .git.conflicts 0 }}${mC(`conflicts`,`(printf "!%v" .git.conflicts)`)}{{ end }}{{ end }} ⎇ ${mC(`branch`,`.git.branch`)}{{ if ne .git.upstream "" }} [{{ .git.upstream }}{{ if or (gt .git.ahead 0) (gt .git.behind 0) }} {{ if gt .git.ahead 0 }}${mC(`ahead`,`(printf "+%v" .git.ahead)`)}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}${mC(`behind`,`(printf "-%v" .git.behind)`)}{{ end }}{{ end }}]{{ end }}{{ if gt .git.stash 0 }} ${mC(`stash`,`(printf "(%v stashed)" .git.stash)`)}{{ end }}{{ if gt .git.timeSinceCommit 0 }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,fg:hC,when:`{{ ne .git.branch "" }}`},gitPr:{template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,fg:`foreground`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{template:`{{ action "copySession" "⎘ id" }} {{ action "openProject" "↗ proj" }} {{ action "openTranscript" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }} {{ action "edit.toggle" "✎ edit" "✎ done" }}`,fg:`foreground`},session:{template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .session.budget.amount "warn" .session.budget.warningThreshold) }}`,fg:`foreground`},today:{template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .today.budget.amount "warn" .today.budget.warningThreshold) }}`,fg:`foreground`},block:{template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatLongTimeRemaining" (minutesUntilReset .block.resetsAt) }})`,bg:vC(`.block.nativeUtilization`,`.block.budget.warningThreshold`),fg:yC(`.block.nativeUtilization`),when:`{{ gt .block.resetsAt 0 }}`},weekly:{template:`◑ {{ round .weekly.percentage }}% ({{ template "formatLongTimeRemaining" (minutesUntilReset .weekly.resetsAt) }})`,bg:vC(`.weekly.percentage`,`.weekly.budget.warningThreshold`),fg:yC(`.weekly.percentage`),when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:bC(`.block.etaMinutes`,`.burn.eta.warnMinutes`,`.burn.eta.errorMinutes`),fg:xC(`.block.etaMinutes`,`.burn.eta.warnMinutes`),when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,fg:`foreground`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{template:`⚡ {{ sparkline .speed.history 24 }}`,fg:`foreground`,when:`{{ ne .speed.history "" }}`},cacheTimer:{template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ if le (minutesUntilReset .cache.expiresAt) 8 }}error{{ else }}{{ if le (minutesUntilReset .cache.expiresAt) 20 }}warning{{ else }}foreground{{ end }}{{ end }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ if le .context.contextLeft 20 }}error{{ else }}{{ if le .context.contextLeft 40 }}warning{{ else }}surface-active{{ end }}{{ end }}`,fg:`{{ if le .context.contextLeft 40 }}button-color-foreground{{ else }}foreground{{ end }}`,when:`{{ gt .context.totalTokens 0 }}`},metrics:{template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,fg:`foreground`,when:`{{ or .metrics.lastResponseTime .metrics.responseTime .metrics.sessionDuration .metrics.messageCount .metrics.linesAdded .metrics.linesRemoved }}`},charsetControl:{template:`{{ .charset.effective }} {{ menu "applyCharsetForever" "▸" "▾" }} {{ action "resetCharset" "↺" }}`,fg:`foreground`},colorCompatControl:{template:`{{ .colorCompatibility.effective }} {{ menu "applyColorCompatForever" "▸" "▾" }} {{ action "resetColorCompat" "↺" }}`,fg:`foreground`},directoryPaletteControl:{template:`🎨 directory {{ menu "applyDirectoryPaletteForever" "▸" "▾" }} {{ action "resetDirectoryPalette" "↺" }}`,fg:`foreground`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`toolbar`},{kind:`group`,name:`settings`,label:`⚙ terminal`,direction:`horizontal`,children:[`charsetControl`,`colorCompatControl`,`directoryPaletteControl`]}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`}]}}},actions:{copySession:{copy:`{{ .session.id }}`},copyDir:{copy:`{{ .current_dir }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},applyCharsetForever:{persist:`charset`,from:`charsets`},resetCharset:{reset:`charset`},applyColorCompatForever:{persist:`colorCompatibility`,from:`colorCompatibilities`},resetColorCompat:{reset:`colorCompatibility`},applyDirectoryPaletteForever:{persist:`segments.directory.palette`,from:`themes`},resetDirectoryPalette:{reset:`segments.directory.palette`}},looks:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`git`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`},{kind:`segment`,name:`toolbar`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}}},editGlobals:{style:`plain`,default_separator:` | `},helpers:{formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:`{{ if ge . 1000000 }}{{ printf "%.1f" (divf . 1000000) }}M{{ else if ge . 1000 }}{{ printf "%.1f" (divf . 1000) }}K{{ else }}{{ . }}{{ end }}`,formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`}},CC=new Set([SC.globals.palette,...Object.values(SC.segments).map(e=>e.palette)].filter(e=>e!==void 0)),wC=wb(zS(`<default>`,JSON.stringify(SC),CC),SC);function TC(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function EC(e){return typeof e==`string`?e:String(e)}function DC(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function OC(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}const kC=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,AC=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function jC(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(kC);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(AC);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function MC(e){let t=e.match(AC);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function NC(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function PC(e){return e.toLocaleString()}const FC=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],IC=FC.length;function LC(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(IC-1));o+=FC[t]}return o}function RC(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}const zC=Ps(),BC=[...Rs];function VC(){return{basename:{fn:e=>l(e),argTypes:[`string`]},dirname:{fn:e=>u(e),argTypes:[`string`]},abbreviatePath:{fn:e=>NC(e),argTypes:[`string`]},int:{fn:e=>DC(e),argTypes:[`value`]},string:{fn:e=>EC(e),argTypes:[`value`]},bool:{fn:e=>OC(e),argTypes:[`value`]},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`]},themes:{fn:()=>zC,argTypes:[]},styles:{fn:()=>BC,argTypes:[]},sparkline:{fn:(e,t)=>LC(RC(e),t),argTypes:[`string`,`int`]}}}function HC(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`]},formatInteger:{fn:e=>PC(e),argTypes:[`int`]},round:{fn:e=>Math.round(e),argTypes:[`float`]},formatModelName:{fn:e=>jC(e),argTypes:[`string`]},shortenModelName:{fn:e=>MC(e),argTypes:[`string`]}}}function UC(e,t=()=>new Date){return qd({fromString:e=>new Wa(e),toString:e=>e.plain,clock:t,missingKey:`error`,funcs:{...Rp(),...Jh(),...wm(),...Km(),...Ap(t),...bf(),...Qp(),...bs(),...VC(),...HC(t),...e??{}}})}function WC(e){return GC(e,new Set(e.names()),``)}function GC(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return GC(e,t,a)}})}function KC(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(O(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function qC(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}async function JC(e){let t=await xe({bin:`/bin/sh`,args:[`-c`,e],category:`user-shell`});return t.ok?{stdout:t.stdout,exitCode:t.exitCode??0}:{stdout:t.stdout,exitCode:t.exitCode??1}}async function YC(e,t,n){let r;try{r=await T(e,`utf8`)}catch{return{error:`file unreadable: ${e}`}}if(n!==void 0){let t=new RegExp(n).exec(r);return t?.[1]?{content:t[1].replace(/\n/g,` `)}:{error:`regex no-match in "${e}"`}}return t===`first-line`?{content:(r.split(`
166
- `)[0]??``).trim()}:{content:r.replace(/\n/g,` `).trim()}}const XC=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],ZC=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],QC=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],$C=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function ew(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>XC[e.getMonth()]],[`Monday`,e=>QC[e.getDay()]],[`Jan`,e=>ZC[e.getMonth()]],[`Mon`,e=>$C[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const tw={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function nw(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=tw[t];try{return ow(r,e)}catch{return sw(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return fn(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return fn(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return fn(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return fn(e.stashCount,0)}}var rw=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(n.watcher.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e.close();this.watchers.clear()}size(){return this.watchers.size}},iw=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:ae(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(ie(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ie(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function aw(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function ow(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?EC(e):t===`number`?DC(e):OC(e)}function sw(e){return e===`number`?0:e===`boolean`?!1:``}var cw=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new rw;ttlMgr=new iw;gitSubscriptions=new Map;cleanups=[];inFlight=new Set;engine=UC();gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new By({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,TC(t),t)}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){let r=KC(e,n.cache);this.store.defineBox(e,`string`,this.stringInitial(n.varDefault));let i=()=>void this.updateFromShell(e,t,n.regex,n.varDefault);i(),this.registerCachePolicy(e,r,i)}declareFile(e,t,n){this.store.defineBox(e,`string`,this.stringInitial(n.varDefault));let r=()=>void this.updateFromFile(e,t,n.readMode,n.regex,n.varDefault);r(),this.registerCachePolicy(e,n.cache,r)}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.store.defineComputed(e,`string`,t=>{let i=WC(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){return this.recordError(e,t instanceof Error?t.message:String(t)),this.stringInitial(n.varDefault)}}),this.store.read(e)}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return ew(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,ew(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=tw[t.field],r=t.varDefault===void 0?sw(n):ow(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map;i={fieldSubs:e,unsubscribe:this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,nw(t,n,i,this.defaultEmptyValue))})})},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault})}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(`session.id`);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=aw(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,ow(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}getLastError(e){return this.lastErrors.get(e)}dispose(){for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,J.reaction)(()=>{let t=WC(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,J.reaction)(()=>t.varNames.map(e=>String(this.store.read(e))).join(`,`),n);this.cleanups.push(e);break}}}async updateFromShell(e,t,n,r){if(!this.inFlight.has(e)){this.inFlight.add(e);try{let{stdout:i,exitCode:a}=await JC(t);if(a!==0){this.applyFallback(e,`string`,r,`shell "${t}" exited with code ${a}`);return}if(n!==void 0){let a=new RegExp(n).exec(i);if(!a?.[1]){this.applyFallback(e,`string`,r,`regex no-match in output of "${t}"`);return}this.store.setBox(e,a[1].replace(/\n/g,` `))}else this.store.setBox(e,i.replace(/\n/g,` `).trim());this.lastErrors.delete(e)}finally{this.inFlight.delete(e)}}}async updateFromFile(e,t,n,r,i){if(!this.inFlight.has(e)){this.inFlight.add(e);try{let a=await YC(t,n,r);if(a.error!==void 0){this.applyFallback(e,`string`,i,a.error);return}this.store.setBox(e,a.content??``),this.lastErrors.delete(e)}finally{this.inFlight.delete(e)}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,ow(this.defaultEmptyValue,t))}catch{this.store.setBox(e,sw(t))}}defaultFor(e){try{return ow(this.defaultEmptyValue,e)}catch{return sw(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}};const lw=new Map,uw=new Map;function dw(e){let t=As(e),n=lw.get(t);if(n!==void 0)return n;let r=ca(t);if(r===null)throw Error(`Palette "${e}" (resolved "${t}") did not resolve in the theme registry — allowed names and the registry are inconsistent`);return lw.set(t,r),r}function fw(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=uw.get(n);if(r!==void 0)return r;let i=ba(e,t);return uw.set(n,i),i}function pw(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=mw(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(a.style.link){i();let e=mw([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function mw(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>hw(e,t)):e,r=Wa.fromFragments(n);return r.end=``,r.noWrap=!0,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function hw(e,t){let n=e.copy();return n.style=t.add(e.style),n}function gw(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function _w(e,t){let n=Wa.fromFragments(e);return n.end=``,n.noWrap=!0,t!==void 0&&!t.isNull&&(n.style=t),n}function vw(e,t){let{width:n,justify:r,truncate:i,truncateMarker:a=`…`,baseStyle:o,padding:s}=t;if(e.length===0)return[];let c=_w(e,o).pad(s);return n===`auto`||(c.cellLength>n?c.truncate(n,{mode:i,marker:a}):c.cellLength<n&&c.align(r,n)),[c]}var yw=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function bw(e,t,n,r,i,a,o,s){let c={segName:t,palette:n,disclosure:r,bg:void 0};e.current=c;let l=xw(a,s),u=l===void 0?i:Sw(n,l,`bg`);c.bg=u;let d=xw(o,s),f=d===void 0?void 0:Sw(n,d,`fg`);return new K({bgcolor:hi.fromRgba(u),color:f===void 0?void 0:hi.fromRgba(f)})}function xw(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function Sw(e,t,n){try{return Ui(e,t)}catch(e){throw e instanceof Bi?new yw(t,n,e.message):e}}const Cw=new Map([[`palette`,`theme.effective`],[`preset`,`preset.effective`],[`look`,`look.effective`],[`style`,`style.effective`],[`charset`,`charset.effective`],[`colorCompatibility`,`colorCompatibility.effective`],[`autoWrap`,`autoWrap.effective`],[`padding`,`padding.effective`]]);function ww(e,t,n,r){let i=new Map;for(let[a,o]of Object.entries(t))i.set(a,Tw(e,a,o,n,r));return i}function Tw(e,t,n,r,i){if(Tc(n)){let[a,o]=Ec(n);return Ew(r.get(n.persistWhen)??n.persistWhen,n.set,Tw(e,t,a,r,i),Tw(e,t,o,r,i))}if(`set`in n){let e=r.get(n.set)??n.set;return`to`in n?{kind:`set-literal`,key:n.set,value:n.to,stateVar:e}:`from`in n?{kind:`set-option`,key:n.set,stateVar:e,options:[...$c(n.from,i)]}:`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=Cw.get(n.persist)??n.persist;return`to`in n?{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e}:`from`in n?{kind:`persist-option`,key:n.persist,stateVar:e,options:[...$c(n.from,i)]}:`cycle`in n?{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle}:`removeSegment`in n?{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}}:`insertSegment`in n?{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}}:`insertSegmentFrom`in n?{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...$c(n.insertSegmentFrom,i)]}:{kind:`persist-bounded`,key:n.persist,by:n.by}}return`copy`in n?{kind:`copy`,text:Ow(e,n.copy,t)}:`open`in n?{kind:`open`,target:Ow(e,n.open,t)}:`reset`in n?{kind:`reset`,key:n.reset}:`undo`in n?{kind:`undo`}:{kind:`redo`}}function Ew(e,t,n,r){return{kind:`dual`,selector:e,session:`stateVar`in n&&`stateVar`in r?{...n,stateVar:r.stateVar}:n,durable:r,sessionKey:t}}function Dw(e,t){return e.kind===`dual`?qs(kw(t,e.selector))===!0?e.durable:e.session:e}function Ow(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function kw(e,t){return e.has(t)?EC(e.read(t)):``}function Aw(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function jw(e,t,n,r){let i=new Wa(e,{style:K.combine([r,new K({link:t,bold:n})])});return i.noWrap=!0,i.end=``,i}function Mw(e,t){return Math.max(e.members.indexOf(kw(t,e.stateVar)),0)}function Nw(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=kw(r,e.stateVar);return{effects:[{verb:Lt,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=kw(r,e.stateVar);return{effects:[{verb:Lt,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=kw(r,e.stateVar);return{effects:[{verb:Lt,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(Mw(e,r)+1)%e.members.length];return{effects:[{verb:Lt,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:Rt,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:zt,args:[Aw(e.text,WC(r))]}],active:!1};case`open`:return{effects:[{verb:Bt,args:[Aw(e.target,WC(r))]}],active:!1};case`persist-literal`:{let t=kw(r,e.stateVar);return{effects:[{verb:Ut,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=kw(r,e.stateVar);return{effects:[{verb:Ut,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(Mw(e,r)+1)%e.members.length];return{effects:[{verb:Ut,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:Wt,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Gt,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:qt,args:[i]}],active:!1};case`redo`:return{effects:[{verb:Jt,args:[i]}],active:!1};case`layout-op`:return{effects:[{verb:Kt,args:[i,e.key,el(e.op)]}],active:!1};case`dual`:{let a=Dw(e,r),{effects:o,active:s}=Nw(a,t,n,r,i);return a===e.durable?{effects:o.map(t=>({...t,args:[...t.args,e.sessionKey]})),active:s}:{effects:o,active:s}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:Kt,args:[i,e.key,el(r)]}],active:!1}}}}function Pw(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:N(`action "${e}"`,n,t.members.length,Mw(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function Fw(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=Pw(e,Dw(r,i),t,i),{effects:s,active:c}=Nw(r,a,o,i,kw(i,`session.id`));return jw(a,Qt(s),c)}function Iw(e){return{action:{fn:(t,...n)=>Fw(t,n,e),argTypes:[`string`,`string`],returnType:`T`}}}function Lw(e,t){return new K({bgcolor:hi.fromRgba(t),color:hi.fromRgba(kg(e,t))})}function Rw(e,t){return Lw(e.palette,Fg(e.palette,e.disclosure,t))}function zw(){return{current:null}}function Bw(e,t){let n=e.current;if(n===null)throw Error(`{{ ${t} }} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function Vw(e){return new Wa(e).cellLength}function Hw(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function Uw(e,t){let n=[];for(let t of e)n.length>0&&n.push(new Wa(` `)),n.push(t);let r=Wa.fromFragments(n);return r.noWrap=t,r.end=``,r}function Ww(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function Gw(e,t){let n=e.compiled.get(t),r=n&&Dw(n,e.store);if(!r||r.kind!==`set-option`&&r.kind!==`persist-option`&&r.kind!==`layout-op-option`)throw Error(`picker references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${r?`a ${r.kind} action`:`no such action`}`);return r}function Kw(e,t,n,r,i,a,o){let s=Gw(a,e),c=a.compiled.get(e),l=a.store,u=kw(l,`session.id`),d=`stateVar`in s?kw(l,s.stateVar):void 0,f=s.options.map(Vw),p=i?Math.max(1,DC(l.read(`term.cols`))-ec(a.stripStyle)-2*a.padding):1/0,m=Vw(`✕`)+1,h=Vw(`←`)+1+Vw(`→`)+1,g=Hw(f,p,m),_=g.length>1?Hw(f,p,m+h):g,v=parseInt(kw(l,t.stateVar),10),y=Number.isInteger(v)?Math.max(0,Math.min(v,_.length-1)):0,b=_[y]??[],x=e=>Qt([{verb:Lt,args:[u,t.key,String(e)]}]),S=n.flatMap(([e,t])=>[e,t]),C=Qt([{verb:Lt,args:[u,...S]}]),ee=r?[{verb:Lt,args:[u,...S]}]:[],te=e=>{let{effects:t}=Nw(c,e,e,l,u),n=t.length===1?t[0]:void 0;return n?.verb===`set-state`?Qt([{verb:Lt,args:[...n.args,...r?S:[]]}]):Qt([...t,...ee])},w=[jw(`✕`,C,!1)];y>0&&w.push(jw(`←`,x(y-1),!1));for(let e of b){let t=s.options[e];w.push(jw(t,te(t),t===d,o({index:e,count:s.options.length})))}return y<_.length-1&&w.push(jw(`→`,x(y+1),!1)),Uw(w,i)}function qw(e,t){return{picker:{fn:(n,r,i,a)=>{let o=Ww(e,r,`set-int`,`an int action ({ set, int: true })`);return Kw(n,{key:o.key,stateVar:o.stateVar},[[o.key,`-1`]],i===!0,a===!0,e,e=>Rw(Bw(t,`picker`),{...e,distribution:xg(void 0)}))},argTypes:[`string`,`string`,`bool`,`bool`],returnType:`T`}}}const Jw=Symbol(`cc-candybar.menuDrop`);function Yw(e){return e.flatMap(e=>e[Jw]??[])}function Xw(e,t,n,r){let i=r.activeSegment.current;if(i===null)throw Error(`{{ menu }} rendered with no active segment placement — the render walk must publish one before evaluating a segment template`);let a=r.action,o=u_(i.segName,e,n.key),s=f_(o),c=l_(e),l=kw(a.store,o)===c,u=kw(a.store,`session.id`),d=l?tn:c,f=jw(N(`{{ menu "${e}" }}`,t,2,+!!l),Qt([{verb:Lt,args:[u,o,d,s,`0`]}]),!1);return f[Jw]=l?[Kw(e,{key:s,stateVar:s},[[o,tn],[s,`0`]],n.closeOnPick,n.paged,a,e=>Rw(i,{...e,distribution:n.distribution}))]:[],f}const Zw=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Qw(e,t){let n=t[t.length-1],r=Zw(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:g_(r??{})}}function $w(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=Qw(t,n);return Xw(t,r,i,e)},argTypes:[`string`,`value`],returnType:`T`}}}function eT(e){let t={fn:(()=>{let t=Bw(e,`bgOf`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],returnType:`string`};return{...ys(()=>Bw(e,`color`).palette),bgOf:t}}function tT(e){let t=[],n=[];for(let r of e){if(!r.contains(`
164
+ Single-row example: root: { h: ["seg1", "seg2"] }`,line:Z(e.source,[`layout`])}),t.root!==void 0&&(n.root=s_(e,`root`,t.root)),t.actions!==void 0&&(n.actions=Cx(e,t.actions)),t.looks!==void 0&&(n.looks=dS(e,t.looks)),t.presets!==void 0&&(n.presets=pS(e,t.presets)),t.editGlobals!==void 0&&(n.editGlobals=Ql(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(n.helpers=mS(e,t.helpers)),g_(e,n),Sx(e,n),og(e,n),Zh(e,n,E_,`the global settings menu`),n}const QS=new Set([`globals`,`variables`,`segments`,`layout`,`root`,`actions`,`looks`,`presets`,`editGlobals`,`helpers`]),$S=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function eC(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function tC(e){let t=await nC(e);return t.kind===`ok`?F(Math.floor((t.value+36e5)/1e3)):t}async function nC(e){for(let t of[65536,1048576]){let n=await ob(e,t);if(n.kind!==`ok`)return n;let r=rC(n.value.buf,n.value.fromStart);if(r!=null)return F(r);if(n.value.fromStart)return I}return I}function rC(e,t){let n=e.toString(`utf8`).split(`
165
+ `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!$S.test(t))continue;let r=eC(t);if(r!=null)return r}return null}function iC(e,t,n){let r=Gc(t(`preset`),e.globals.preset,e.presets),i=Jc(e,r),a=t(`edit.mode`)===`open`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:Ms(a.palette,t(`theme`),i.palette),look:Is(a.look,t(`look`),i.look,e.looks),style:Bs(a.style,t(`style`),i.style),separator:a.default_separator??i.default_separator,autoWrap:Ys(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:Xs(a.padding,t(`padding`),i.padding),charset:a.charset??i.charset??`unicode`,updateNotice:a.updateNotice??i.updateNotice??!0,colorCompatibility:a.colorCompatibility??i.colorCompatibility??`truecolor`}}const aC=10*1e3;function oC(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function sC(e,t){if(!(t<60))return e*3600/t}function cC(e,t,n,r){let i=r-t;if(i<50||i>aC)return;let a=n-e;if(!(a<=0))return a*1e3/i}function lC(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=cC(t.input,t.atMs,n.input,n.atMs),i=cC(t.output,t.atMs,n.output,n.atMs),a=cC(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function uC(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>aC)continue;let o=cC(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function dC(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function fC(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>dC(f.hostname())),i=n(`user`,()=>f.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function pC(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,r);for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,i);let n=[],r=new Set;for(let t of nl(Rc(e.root))){if(t.when)for(let e of vS(t.when))n.push(e);if(t.kind!==`segment`)continue;let r=e.segments[t.name];if(r){for(let e of[r.template,r.when,r.bg,r.fg])if(e)for(let t of vS(e))n.push(t)}}let i=new Set;for(;n.length>0;){let e=n.pop();for(let a of mC(t,e)){if(r.has(a))continue;r.add(a);let e=t.get(a);if(e){if(e.kind===`input`)i.add(e.path);else if(e.kind===`template`)for(let t of vS(e.template))n.push(t)}}}return i}function mC(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function hC(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function gC(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function _C(e,t,n,r,i,a){let o=e=>hC(r,e),s=(t.clock??(()=>new Date))().getTime(),c=(e,t,n)=>t?n().catch(t=>dn(`${e}: ${String(t)}`)):Promise.resolve(I),[l,u,d,f,p,m,h,g]=await Promise.all([c(`git`,o(`git`),()=>t.gitProvider.getGitInfo(n??e.workspace?.current_dir,gC(r),e.workspace?.project_dir)),c(`session`,o(`session.cost`)||o(`session.tokens`)||o(`burn`),()=>t.usageStore.getUsageInfo(e.session_id,e)),c(`today`,o(`today`),()=>t.usageStore.getTodayInfo(e)),c(`context`,o(`context`),()=>t.contextProvider.getContextInfo(e)),c(`metrics`,o(`metrics`)||o(`burn`),()=>t.metricsProvider.getMetricsInfo(e.session_id,e)),c(`tmux`,o(`tmux`),()=>t.tmuxService.getSessionId()),c(`cache`,o(`cache`),()=>tC(e.transcript_path)),c(`speed`,o(`speed`),()=>t.usageStore.observeSpeed(e.session_id,e.transcript_path,s))]),_=[],v=e=>{if(e.kind===`failed`){_.push(e.reason);return}return e.kind===`ok`?e.value:void 0},y=bC(l);_.push(...y.failures);let b=fC(a);_.push(...b.failures);let x=v(u),S=v(d),C=v(f),ee=v(p),te=v(m),w=v(h);for(let e of _)t.log(`warn`,`provider fetch failed: ${e}`);let ne=e.rate_limits?.five_hour,T=e.rate_limits?.seven_day,re=ne?oC(ne.used_percentage,ne.resets_at,18e6,s):void 0,E=T?oC(T.used_percentage,T.resets_at,6048e5,s):void 0,D=x?.session.cost,ie=ee?.sessionDuration,ae=o(`burn`)&&D!=null&&ie!=null?sC(D,ie):void 0,oe=v(g),se=oe===void 0?void 0:lC(oe),ce=oe===void 0?void 0:uC(oe),le=se!==void 0||ce!==void 0?{...se,...ce!==void 0&&{history:ce}}:void 0,ue=yC(process.env.HOME??process.env.USERPROFILE),de=e.workspace?{...e.workspace,current_dir:yC(e.workspace.current_dir)??``,project_dir:yC(e.workspace.project_dir)??``}:e.workspace,fe=x===void 0?void 0:vC({cost:x.session.cost,tokens:x.session.tokens}),pe=S===void 0?void 0:{cost:S.cost,tokens:S.tokens},me=ee===void 0?void 0:vC({lastResponseTime:ee.lastResponseTime,responseTime:ee.responseTime,sessionDuration:ee.sessionDuration,messageCount:ee.messageCount,linesAdded:ee.linesAdded,linesRemoved:ee.linesRemoved});return{...e,...de!==void 0&&{workspace:de},...ue!==void 0&&{home:ue},...y.git!==void 0&&{git:y.git},...te!==void 0&&{tmux:{session:te}},host:b.host,theme:{effective:i.theme},look:{effective:i.look},preset:{effective:i.preset,customized:i.presetCustomized},style:{effective:i.style},charset:{effective:i.charset},colorCompatibility:{effective:i.colorCompatibility},autoWrap:{effective:i.autoWrap},padding:{effective:i.padding},...fe!==void 0&&{session:fe},...pe!==void 0&&{today:pe},...ae!==void 0&&{burn:{costPerHour:ae}},...le!==void 0&&{speed:le},...o(`block`)&&ne!==void 0&&{block:{nativeUtilization:ne.used_percentage,resetsAt:ne.resets_at,...re!==void 0&&{etaMinutes:re}}},...T!==void 0&&{weekly:{percentage:T.used_percentage,resetsAt:T.resets_at,...E!==void 0&&{etaMinutes:E}}},...w!==void 0&&{cache:{expiresAt:w}},...C!==void 0&&{context:{totalTokens:C.totalTokens,contextLeft:C.contextLeftPercentage}},...me!==void 0&&{metrics:me}}}function vC(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function yC(e){return e===void 0||e.length===0||c.sep!==`\\`?e:e.replace(/\\/g,`/`)}function bC(e){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let t=e.value,n=[],r=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){n.push(`git.${e}: ${t.reason}`);return}return t.value}},i=r(`aheadBehind`,t.aheadBehind),a=r(`sha`,t.sha),o=r(`operation`,t.operation),s=r(`timeSinceCommit`,t.timeSinceCommit),c=r(`stash`,t.stashCount),l=r(`upstream`,t.upstream),u=r(`repoName`,t.repoName),d=r(`repoUrl`,t.repoUrl),f=t.pullRequest,p={};return f?.kind===`ok`?(p.prNumber=f.value.number,p.prState=f.value.state,p.prUrl=f.value.url):f?.kind===`failed`&&(n.push(`git.pr: ${f.reason}`),p.prError=f.reason),{git:{branch:t.branch,status:t.status,...i!==void 0&&{ahead:i.ahead,behind:i.behind},...t.workingTree!==void 0&&{staged:t.workingTree.staged,unstaged:t.workingTree.unstaged,untracked:t.workingTree.untracked,conflicts:t.workingTree.conflicts},...a!==void 0&&{sha:a},...o!==void 0&&{operation:o},...s!==void 0&&{timeSinceCommit:s},...c!==void 0&&{stash:c},...l!==void 0&&{upstream:l},...u!==void 0&&{repoName:u},...d!==void 0&&{repoUrl:d},...p},failures:n}}const xC=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,SC=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${xC}) (basename .project_dir) (ne (${xC}) "") }}{{ end }}{{ end }}{{ abbreviatePath \$dir }}`,CC={branch:`primary`,staged:`success`,unstaged:`warning`,untracked:`accent`,conflicts:`error`,ahead:`success`,behind:`warning`,stash:`accent`},wC=(e,t)=>`{{ fg (color "${CC[e]}") ${t} }}`,TC=`{{ readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3 }}`,EC=`{{ if or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0) }} ({{ \$first := true }}{{ if gt .git.staged 0 }}${wC(`staged`,`(printf "+%v" .git.staged)`)}{{ $first = false }}{{ end }}{{ if gt .git.unstaged 0 }}{{ if not $first }} {{ end }}${wC(`unstaged`,`(printf "~%v" .git.unstaged)`)}{{ $first = false }}{{ end }}{{ if gt .git.untracked 0 }}{{ if not $first }} {{ end }}${wC(`untracked`,`(printf "?%v" .git.untracked)`)}{{ $first = false }}{{ end }}{{ if gt .git.conflicts 0 }}{{ if not $first }} {{ end }}${wC(`conflicts`,`(printf "!%v" .git.conflicts)`)}{{ $first = false }}{{ end }}){{ end }}`,DC=`{{ if ne .git.repoName "" }}{{ .git.repoName }} {{ end }}⎇ ${wC(`branch`,`.git.branch`)}{{ if .git.sha }} ♯ {{ .git.sha }}{{ end }}{{ if or (gt .git.ahead 0) (gt .git.behind 0) }} {{ if gt .git.ahead 0 }}${wC(`ahead`,`(printf "↑%v" .git.ahead)`)}{{ end }}{{ if gt .git.behind 0 }}${wC(`behind`,`(printf "↓%v" .git.behind)`)}{{ end }}{{ end }}`+EC+`{{ if .git.upstream }} →{{ .git.upstream }}{{ end }}{{ if gt .git.stash 0 }} ${wC(`stash`,`(printf "⧇ %v" .git.stash)`)}{{ end }} {{ if eq .git.status "conflicts" }}{{ fg (color "error") "⚠" }}{{ else }}{{ if eq .git.status "dirty" }}{{ fg (color "warning") "●" }}{{ else }}{{ fg (color "success") "✓" }}{{ end }}{{ end }}`;function OC(e,t){return`{{ if ge (round ${e}) ${t} }}error{{ else }}{{ if ge (round ${e}) 50 }}warning{{ else }}panel{{ end }}{{ end }}`}function kC(e){return`{{ if ge (round ${e}) 50 }}button-color-foreground{{ else }}foreground{{ end }}`}function AC(e,t,n){return`{{ if lt ${e} 0 }}panel{{ else }}{{ if lt ${e} ${n} }}error{{ else }}{{ if lt ${e} ${t} }}warning{{ else }}panel{{ end }}{{ end }}{{ end }}`}function jC(e,t){return`{{ if lt ${e} 0 }}foreground{{ else }}{{ if lt ${e} ${t} }}button-color-foreground{{ else }}foreground{{ end }}{{ end }}`}const MC={globals:{palette:`tokyo-night`},variables:{current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},"session.id":{kind:`input`,path:`session_id`,default:``},version:{kind:`input`,path:`version`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"look.effective":{kind:`input`,path:`look.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"style.effective":{kind:`input`,path:`style.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"session.budget.amount":{kind:`literal`,value:0},"session.budget.warningThreshold":{kind:`literal`,value:80},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"today.budget.amount":{kind:`literal`,value:50},"today.budget.warningThreshold":{kind:`literal`,value:80},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"block.budget.warningThreshold":{kind:`literal`,value:80},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"weekly.budget.warningThreshold":{kind:`literal`,value:80},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"burn.eta.warnMinutes":{kind:`literal`,value:60},"burn.eta.errorMinutes":{kind:`literal`,value:30},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0}},segments:{directory:{template:SC,fg:`foreground`},model:{template:`✱ {{ formatModelName .model.display_name }}`,fg:`foreground`,when:`{{ ne .model.display_name "" }}`},sessionId:{template:`⌗{{ trunc 8 .session.id }}`,fg:`foreground`,when:`{{ ne .session.id "" }}`},version:{template:`◈ v{{ .version }}`,fg:`foreground`,when:`{{ ne .version "" }}`},tmux:{template:`tmux:{{ .tmux.session | default "none" }}`,fg:`foreground`,when:`{{ ne .tmux.session "" }}`},host:{template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,fg:`{{ contrastOn (bgOf) }}`,when:`{{ .host.ssh }}`},git:{template:DC,fg:TC,when:`{{ ne .git.branch "" }}`},gitaculous:{template:`(git){{ if ne .git.repoName "" }} {{ .git.repoName }}{{ end }}{{ if ne .git.operation "" }} [{{ .git.operation }}]{{ end }}{{ if ne .git.sha "" }} {{ .git.sha }}{{ end }}{{ if or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0) }} {{ if gt .git.staged 0 }}${wC(`staged`,`"S"`)}{{ end }}{{ if gt .git.unstaged 0 }}${wC(`unstaged`,`"U"`)}{{ end }}{{ if gt .git.untracked 0 }}${wC(`untracked`,`"?"`)}{{ end }}{{ if gt .git.conflicts 0 }}${wC(`conflicts`,`(printf "!%v" .git.conflicts)`)}{{ end }}{{ end }} ⎇ ${wC(`branch`,`.git.branch`)}{{ if ne .git.upstream "" }} [{{ .git.upstream }}{{ if or (gt .git.ahead 0) (gt .git.behind 0) }} {{ if gt .git.ahead 0 }}${wC(`ahead`,`(printf "+%v" .git.ahead)`)}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}${wC(`behind`,`(printf "-%v" .git.behind)`)}{{ end }}{{ end }}]{{ end }}{{ if gt .git.stash 0 }} ${wC(`stash`,`(printf "(%v stashed)" .git.stash)`)}{{ end }}{{ if gt .git.timeSinceCommit 0 }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,fg:TC,when:`{{ ne .git.branch "" }}`},gitPr:{template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,fg:`foreground`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{template:`{{ action "copySession" "⎘ id" }} {{ action "openProject" "↗ proj" }} {{ action "openTranscript" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }} {{ action "edit.toggle" "✎ edit" "✎ done" }}`,fg:`foreground`},session:{template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .session.budget.amount "warn" .session.budget.warningThreshold) }}`,fg:`foreground`},today:{template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .today.budget.amount "warn" .today.budget.warningThreshold) }}`,fg:`foreground`},block:{template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatLongTimeRemaining" (minutesUntilReset .block.resetsAt) }})`,bg:OC(`.block.nativeUtilization`,`.block.budget.warningThreshold`),fg:kC(`.block.nativeUtilization`),when:`{{ gt .block.resetsAt 0 }}`},weekly:{template:`◑ {{ round .weekly.percentage }}% ({{ template "formatLongTimeRemaining" (minutesUntilReset .weekly.resetsAt) }})`,bg:OC(`.weekly.percentage`,`.weekly.budget.warningThreshold`),fg:kC(`.weekly.percentage`),when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:AC(`.block.etaMinutes`,`.burn.eta.warnMinutes`,`.burn.eta.errorMinutes`),fg:jC(`.block.etaMinutes`,`.burn.eta.warnMinutes`),when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,fg:`foreground`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{template:`⚡ {{ sparkline .speed.history 24 }}`,fg:`foreground`,when:`{{ ne .speed.history "" }}`},cacheTimer:{template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ if le (minutesUntilReset .cache.expiresAt) 8 }}error{{ else }}{{ if le (minutesUntilReset .cache.expiresAt) 20 }}warning{{ else }}foreground{{ end }}{{ end }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ if le .context.contextLeft 20 }}error{{ else }}{{ if le .context.contextLeft 40 }}warning{{ else }}surface-active{{ end }}{{ end }}`,fg:`{{ if le .context.contextLeft 40 }}button-color-foreground{{ else }}foreground{{ end }}`,when:`{{ gt .context.totalTokens 0 }}`},metrics:{template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,fg:`foreground`,when:`{{ or .metrics.lastResponseTime .metrics.responseTime .metrics.sessionDuration .metrics.messageCount .metrics.linesAdded .metrics.linesRemoved }}`},charsetControl:{template:`{{ .charset.effective }} {{ menu "applyCharsetForever" "▸" "▾" }} {{ action "resetCharset" "↺" }}`,fg:`foreground`},colorCompatControl:{template:`{{ .colorCompatibility.effective }} {{ menu "applyColorCompatForever" "▸" "▾" }} {{ action "resetColorCompat" "↺" }}`,fg:`foreground`},directoryPaletteControl:{template:`🎨 directory {{ menu "applyDirectoryPaletteForever" "▸" "▾" }} {{ action "resetDirectoryPalette" "↺" }}`,fg:`foreground`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`toolbar`},{kind:`group`,name:`settings`,label:`⚙ terminal`,direction:`horizontal`,children:[`charsetControl`,`colorCompatControl`,`directoryPaletteControl`]}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`}]}}},actions:{copySession:{copy:`{{ .session.id }}`},copyDir:{copy:`{{ .current_dir }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},applyCharsetForever:{persist:`charset`,from:`charsets`},resetCharset:{reset:`charset`},applyColorCompatForever:{persist:`colorCompatibility`,from:`colorCompatibilities`},resetColorCompat:{reset:`colorCompatibility`},applyDirectoryPaletteForever:{persist:`segments.directory.palette`,from:`themes`},resetDirectoryPalette:{reset:`segments.directory.palette`}},looks:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`git`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`},{kind:`segment`,name:`toolbar`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}}},editGlobals:{style:`plain`,default_separator:` | `},helpers:{formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:`{{ if ge . 1000000 }}{{ printf "%.1f" (divf . 1000000) }}M{{ else if ge . 1000 }}{{ printf "%.1f" (divf . 1000) }}K{{ else }}{{ . }}{{ end }}`,formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`}},NC=new Set([MC.globals.palette,...Object.values(MC.segments).map(e=>e.palette)].filter(e=>e!==void 0)),PC=Nb(YS(`<default>`,JSON.stringify(MC),NC),MC);function FC(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function IC(e){return typeof e==`string`?e:String(e)}function LC(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function RC(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}const zC=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,BC=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function VC(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(zC);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(BC);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function HC(e){let t=e.match(BC);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function UC(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function WC(e){return e.toLocaleString()}const GC=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],KC=GC.length;function qC(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(KC-1));o+=GC[t]}return o}function JC(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}const YC=Ps(),XC=[...Rs];function ZC(){return{basename:{fn:e=>l(e),argTypes:[`string`]},dirname:{fn:e=>u(e),argTypes:[`string`]},abbreviatePath:{fn:e=>UC(e),argTypes:[`string`]},int:{fn:e=>LC(e),argTypes:[`value`]},string:{fn:e=>IC(e),argTypes:[`value`]},bool:{fn:e=>RC(e),argTypes:[`value`]},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`]},themes:{fn:()=>YC,argTypes:[]},styles:{fn:()=>XC,argTypes:[]},sparkline:{fn:(e,t)=>qC(JC(e),t),argTypes:[`string`,`int`]}}}function QC(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`]},formatInteger:{fn:e=>WC(e),argTypes:[`int`]},round:{fn:e=>Math.round(e),argTypes:[`float`]},formatModelName:{fn:e=>VC(e),argTypes:[`string`]},shortenModelName:{fn:e=>HC(e),argTypes:[`string`]}}}function $C(e,t=()=>new Date){return Yd({fromString:e=>new Wa(e),toString:e=>e.plain,clock:t,missingKey:`error`,funcs:{...Bp(),...Xh(),...Em(),...Jm(),...Mp(t),...Sf(),...em(),...bs(),...ZC(),...QC(t),...e??{}}})}function ew(e){return tw(e,new Set(e.names()),``)}function tw(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return tw(e,t,a)}})}function nw(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(O(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function rw(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}async function iw(e){let t=await xe({bin:`/bin/sh`,args:[`-c`,e],category:`user-shell`});return t.ok?{stdout:t.stdout,exitCode:t.exitCode??0}:{stdout:t.stdout,exitCode:t.exitCode??1}}async function aw(e,t,n){let r;try{r=await T(e,`utf8`)}catch{return{error:`file unreadable: ${e}`}}if(n!==void 0){let t=new RegExp(n).exec(r);return t?.[1]?{content:t[1].replace(/\n/g,` `)}:{error:`regex no-match in "${e}"`}}return t===`first-line`?{content:(r.split(`
166
+ `)[0]??``).trim()}:{content:r.replace(/\n/g,` `).trim()}}const ow=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],sw=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],cw=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],lw=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function uw(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>ow[e.getMonth()]],[`Monday`,e=>cw[e.getDay()]],[`Jan`,e=>sw[e.getMonth()]],[`Mon`,e=>lw[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const dw={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function fw(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=dw[t];try{return gw(r,e)}catch{return _w(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return fn(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return fn(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return fn(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return fn(e.stashCount,0)}}var pw=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(n.watcher.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e.close();this.watchers.clear()}size(){return this.watchers.size}},mw=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:ae(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(ie(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ie(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function hw(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function gw(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?IC(e):t===`number`?LC(e):RC(e)}function _w(e){return e===`number`?0:e===`boolean`?!1:``}var vw=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new pw;ttlMgr=new mw;gitSubscriptions=new Map;cleanups=[];inFlight=new Set;engine=$C();gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new Yy({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,FC(t),t)}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){let r=nw(e,n.cache);this.store.defineBox(e,`string`,this.stringInitial(n.varDefault));let i=()=>void this.updateFromShell(e,t,n.regex,n.varDefault);i(),this.registerCachePolicy(e,r,i)}declareFile(e,t,n){this.store.defineBox(e,`string`,this.stringInitial(n.varDefault));let r=()=>void this.updateFromFile(e,t,n.readMode,n.regex,n.varDefault);r(),this.registerCachePolicy(e,n.cache,r)}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.store.defineComputed(e,`string`,t=>{let i=ew(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){return this.recordError(e,t instanceof Error?t.message:String(t)),this.stringInitial(n.varDefault)}}),this.store.read(e)}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return uw(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,uw(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=dw[t.field],r=t.varDefault===void 0?_w(n):gw(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map;i={fieldSubs:e,unsubscribe:this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,fw(t,n,i,this.defaultEmptyValue))})})},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault})}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(`session.id`);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=hw(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,gw(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}getLastError(e){return this.lastErrors.get(e)}dispose(){for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Y.reaction)(()=>{let t=ew(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,Y.reaction)(()=>t.varNames.map(e=>String(this.store.read(e))).join(`,`),n);this.cleanups.push(e);break}}}async updateFromShell(e,t,n,r){if(!this.inFlight.has(e)){this.inFlight.add(e);try{let{stdout:i,exitCode:a}=await iw(t);if(a!==0){this.applyFallback(e,`string`,r,`shell "${t}" exited with code ${a}`);return}if(n!==void 0){let a=new RegExp(n).exec(i);if(!a?.[1]){this.applyFallback(e,`string`,r,`regex no-match in output of "${t}"`);return}this.store.setBox(e,a[1].replace(/\n/g,` `))}else this.store.setBox(e,i.replace(/\n/g,` `).trim());this.lastErrors.delete(e)}finally{this.inFlight.delete(e)}}}async updateFromFile(e,t,n,r,i){if(!this.inFlight.has(e)){this.inFlight.add(e);try{let a=await aw(t,n,r);if(a.error!==void 0){this.applyFallback(e,`string`,i,a.error);return}this.store.setBox(e,a.content??``),this.lastErrors.delete(e)}finally{this.inFlight.delete(e)}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,gw(this.defaultEmptyValue,t))}catch{this.store.setBox(e,_w(t))}}defaultFor(e){try{return gw(this.defaultEmptyValue,e)}catch{return _w(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}};const yw=new Map,bw=new Map;function xw(e){let t=As(e),n=yw.get(t);if(n!==void 0)return n;let r=la(t);if(r===null)throw Error(`Palette "${e}" (resolved "${t}") did not resolve in the theme registry — allowed names and the registry are inconsistent`);return yw.set(t,r),r}function Sw(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=bw.get(n);if(r!==void 0)return r;let i=ba(e,t);return bw.set(n,i),i}function Cw(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=ww(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(a.style.link){i();let e=ww([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function ww(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>Tw(e,t)):e,r=Wa.fromFragments(n);return r.end=``,r.noWrap=!0,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function Tw(e,t){let n=e.copy();return n.style=t.add(e.style),n}function Ew(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function Dw(e,t){let n=Wa.fromFragments(e);return n.end=``,n.noWrap=!0,t!==void 0&&!t.isNull&&(n.style=t),n}function Ow(e,t){let{width:n,justify:r,truncate:i,truncateMarker:a=`…`,baseStyle:o,padding:s}=t;if(e.length===0)return[];let c=Dw(e,o).pad(s);return n===`auto`||(c.cellLength>n?c.truncate(n,{mode:i,marker:a}):c.cellLength<n&&c.align(r,n)),[c]}var kw=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function Aw(e,t,n,r,i,a,o,s,c){let l={segName:t,palette:n,disclosure:r,bg:void 0};e.current=l;let u=jw(o,c),d=u===void 0?i:Mw(n,u,`bg`);l.bg=d;let f=jw(s,c),p=f===void 0?a(d):Mw(n,f,`fg`);return new q({bgcolor:G.fromRgba(d),color:p===void 0?void 0:G.fromRgba(p)})}function jw(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function Mw(e,t,n){try{return Wi(e,t)}catch(e){throw e instanceof Vi?new kw(t,n,e.message):e}}const Nw=new Map([[`palette`,`theme.effective`],[`preset`,`preset.effective`],[`look`,`look.effective`],[`style`,`style.effective`],[`charset`,`charset.effective`],[`colorCompatibility`,`colorCompatibility.effective`],[`autoWrap`,`autoWrap.effective`],[`padding`,`padding.effective`]]);function Pw(e,t,n,r){let i=new Map;for(let[a,o]of Object.entries(t))i.set(a,Fw(e,a,o,n,r));return i}function Fw(e,t,n,r,i){if(Tc(n)){let[a,o]=Ec(n);return Iw(r.get(n.persistWhen)??n.persistWhen,n.set,Fw(e,t,a,r,i),Fw(e,t,o,r,i))}if(`set`in n){let e=r.get(n.set)??n.set;return`to`in n?{kind:`set-literal`,key:n.set,value:n.to,stateVar:e}:`from`in n?{kind:`set-option`,key:n.set,stateVar:e,options:[...$c(n.from,i)]}:`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=Nw.get(n.persist)??n.persist;return`to`in n?{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e}:`from`in n?{kind:`persist-option`,key:n.persist,stateVar:e,options:[...$c(n.from,i)]}:`cycle`in n?{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle}:`removeSegment`in n?{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}}:`insertSegment`in n?{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}}:`insertSegmentFrom`in n?{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...$c(n.insertSegmentFrom,i)]}:{kind:`persist-bounded`,key:n.persist,by:n.by}}return`copy`in n?{kind:`copy`,text:Rw(e,n.copy,t)}:`open`in n?{kind:`open`,target:Rw(e,n.open,t)}:`reset`in n?{kind:`reset`,key:n.reset}:`undo`in n?{kind:`undo`}:{kind:`redo`}}function Iw(e,t,n,r){return{kind:`dual`,selector:e,session:`stateVar`in n&&`stateVar`in r?{...n,stateVar:r.stateVar}:n,durable:r,sessionKey:t}}function Lw(e,t){return e.kind===`dual`?qs(zw(t,e.selector))===!0?e.durable:e.session:e}function Rw(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function zw(e,t){return e.has(t)?IC(e.read(t)):``}function Bw(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function Vw(e,t,n,r){let i=new Wa(e,{style:q.combine([r,new q({link:t,bold:n})])});return i.noWrap=!0,i.end=``,i}function Hw(e,t){return Math.max(e.members.indexOf(zw(t,e.stateVar)),0)}function Uw(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=zw(r,e.stateVar);return{effects:[{verb:It,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=zw(r,e.stateVar);return{effects:[{verb:It,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=zw(r,e.stateVar);return{effects:[{verb:It,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(Hw(e,r)+1)%e.members.length];return{effects:[{verb:It,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:Lt,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:Rt,args:[Bw(e.text,ew(r))]}],active:!1};case`open`:return{effects:[{verb:zt,args:[Bw(e.target,ew(r))]}],active:!1};case`persist-literal`:{let t=zw(r,e.stateVar);return{effects:[{verb:Ht,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=zw(r,e.stateVar);return{effects:[{verb:Ht,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(Hw(e,r)+1)%e.members.length];return{effects:[{verb:Ht,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:Ut,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Wt,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:Kt,args:[i]}],active:!1};case`redo`:return{effects:[{verb:qt,args:[i]}],active:!1};case`layout-op`:return{effects:[{verb:Gt,args:[i,e.key,ul(e.op)]}],active:!1};case`dual`:{let a=Lw(e,r),{effects:o,active:s}=Uw(a,t,n,r,i);return a===e.durable?{effects:o.map(t=>({...t,args:[...t.args,e.sessionKey]})),active:s}:{effects:o,active:s}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:Gt,args:[i,e.key,ul(r)]}],active:!1}}}}function Ww(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:P(`action "${e}"`,n,t.members.length,Hw(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function Gw(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=Ww(e,Lw(r,i),t,i),{effects:s,active:c}=Uw(r,a,o,i,zw(i,`session.id`));return Vw(a,Zt(s),c)}function Kw(e){return{action:{fn:(t,...n)=>Gw(t,n,e),argTypes:[`string`,`string`],returnType:`T`}}}function qw(e,t){return new q({bgcolor:G.fromRgba(t),color:G.fromRgba(Ng(e,t))})}function Jw(e,t){return qw(e.palette,zg(e.palette,e.disclosure,[t]))}function Yw(){return{current:null}}function Xw(e,t){let n=e.current;if(n===null)throw Error(`{{ ${t} }} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function Zw(e){return new Wa(e).cellLength}function Qw(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function $w(e,t){let n=[];for(let t of e)n.length>0&&n.push(new Wa(` `)),n.push(t);let r=Wa.fromFragments(n);return r.noWrap=t,r.end=``,r}function eT(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function tT(e,t){let n=e.compiled.get(t),r=n&&Lw(n,e.store);if(!r||r.kind!==`set-option`&&r.kind!==`persist-option`&&r.kind!==`layout-op-option`)throw Error(`picker references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${r?`a ${r.kind} action`:`no such action`}`);return r}function nT(e,t,n,r,i,a,o){let s=tT(a,e),c=a.compiled.get(e),l=a.store,u=zw(l,`session.id`),d=`stateVar`in s?zw(l,s.stateVar):void 0,f=s.options.map(Zw),p=i?Math.max(1,LC(l.read(`term.cols`))-ec(a.stripStyle)-2*a.padding):1/0,m=Zw(`✕`)+1,h=Zw(`←`)+1+Zw(`→`)+1,g=Qw(f,p,m),_=g.length>1?Qw(f,p,m+h):g,v=parseInt(zw(l,t.stateVar),10),y=Number.isInteger(v)?Math.max(0,Math.min(v,_.length-1)):0,b=_[y]??[],x=e=>Zt([{verb:It,args:[u,t.key,String(e)]}]),S=n.flatMap(([e,t])=>[e,t]),C=Zt([{verb:It,args:[u,...S]}]),ee=r?[{verb:It,args:[u,...S]}]:[],te=e=>{let{effects:t}=Uw(c,e,e,l,u),n=t.length===1?t[0]:void 0;return n?.verb===`set-state`?Zt([{verb:It,args:[...n.args,...r?S:[]]}]):Zt([...t,...ee])},w=[Vw(`✕`,C,!1)];y>0&&w.push(Vw(`←`,x(y-1),!1));for(let e of b){let t=s.options[e];w.push(Vw(t,te(t),t===d,o({index:e,count:s.options.length})))}return y<_.length-1&&w.push(Vw(`→`,x(y+1),!1)),$w(w,i)}function rT(e,t){return{picker:{fn:(n,r,i,a)=>{let o=eT(e,r,`set-int`,`an int action ({ set, int: true })`);return nT(n,{key:o.key,stateVar:o.stateVar},[[o.key,`-1`]],i===!0,a===!0,e,e=>Jw(Xw(t,`picker`),{...e,distribution:Cg(void 0)}))},argTypes:[`string`,`string`,`bool`,`bool`],returnType:`T`}}}const iT=Symbol(`cc-candybar.menuDrop`);function aT(e){return e.flatMap(e=>e[iT]??[])}function oT(e,t,n,r){let i=r.activeSegment.current;if(i===null)throw Error(`{{ menu }} rendered with no active segment placement — the render walk must publish one before evaluating a segment template`);let a=r.action,o=y_(i.segName,e,n.key),s=x_(o),c=v_(e),l=zw(a.store,o)===c,u=zw(a.store,`session.id`),d=l?en:c,f=Vw(P(`{{ menu "${e}" }}`,t,2,+!!l),Zt([{verb:It,args:[u,o,d,s,`0`]}]),!1);return f[iT]=l?[nT(e,{key:s,stateVar:s},[[o,en],[s,`0`]],n.closeOnPick,n.paged,a,e=>Jw(i,{...e,distribution:n.distribution}))]:[],f}const sT=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function cT(e,t){let n=t[t.length-1],r=sT(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:T_(r??{})}}function lT(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=cT(t,n);return oT(t,r,i,e)},argTypes:[`string`,`value`],returnType:`T`}}}function uT(e){let t={fn:(()=>{let t=Xw(e,`bgOf`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],returnType:`string`};return{...ys(()=>Xw(e,`color`).palette),bgOf:t}}function dT(e){let t=[],n=[];for(let r of e){if(!r.contains(`
167
167
  `)){n.push(r);continue}let e=r.split(`
168
- `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function nT(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[t.flatMap(e=>e[0]??[]),...t.flatMap(e=>e.slice(1))]}}const rT={container:{compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:xg(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,`${t.path}.children[${n}]`))}},render(e,t){return nT(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,{index:r,count:e.children.length,distribution:e.distribution})))}},segment:{compile(e,t){return{kind:`segment`,when:t.when,name:e.name}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];try{if(!gw(i.when,t.scope))return[];let n=i.palette??t.palette,a=t.enterSegment(e.name,n,t.address,i.bg,i.fg),o=i.template.evaluate(t.scope),s=t.exitSegment(o),c=s.length>0?a.trigger:a.closed,l={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:c,padding:t.padding},u=tT(pw(o,c)).map(e=>vw(e,l)),d=s.map(e=>vw(pw([e],a.band),{...l,baseStyle:a.band})),f=[...u,...d];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.name,f.flat()),f}catch(n){let r=n.message??String(n);return t.onSegmentError?.(e.name,r),[[new Wa(`⚠ ${e.name}: ${r}`)]]}}}};function iT(e){return rT[e]}function aT(e){if(`ttl`in e)return{kind:`ttl`,durationMs:qC(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function oT(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,regex:n.regex,cache:aT(n.cache),varDefault:n.default});break;case`shell`:e.declareShell(t,n.command,{regex:n.regex,cache:aT(n.cache),varDefault:n.default});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?qC(n.cache.ttl):void 0,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function sT(e,t){let n=Pu.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}function cT(e,t,n){let r=n?.cwd??process.cwd(),i={store:t.variableStore,compiled:new Map,stripStyle:`powerline`,padding:1},a=zw(),o={action:i,activeSegment:a},s=Object.keys(e.looks),c=Wc(e.presets),l=new Map([...Zc(e),...nv(e)]),u=UC({...Iw(i),...qw(i,a),...$w(o),...eT(a),looks:{fn:()=>s,argTypes:[]},presets:{fn:()=>c,argTypes:[]}},n?.clock),d=sT(u,e.helpers),f=e=>u.parse(e,d),p=new Map;for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!p.has(n.key)&&p.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!p.has(r.key)&&p.set(r.key,`${t}.${e}`);i.compiled=ww(f,e.actions,p,l);let m=[];for(let[n,i]of Object.entries(e.variables))try{oT(t,n,i,r)}catch(e){m.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{oT(t,`${n}.${e}`,a,r)}catch(t){m.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let h=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n)=>{try{return f(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};h[t]={when:n.when===void 0?void 0:e(n.when,`when`),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`),palette:n.palette===void 0?void 0:dw(n.palette)}}let g=(e,t,n)=>{try{return f(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},_=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:g(e.when,t,`when`),compileChild:_};return iT(e.kind).compile(e,n)},v=new Map;for(let t of c){let{node:n,path:r}=qc(e,t);v.set(t,_(n,r))}return{segments:h,roots:v,activeSegment:a,menuRuntime:o,loadWarnings:m}}const lT=(e,t)=>{let n=wg(t);return{tint:Eg(e,n),disclosure:{hue:n.hue,depth:0}}};function uT(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u}=s??{},{look:d=ji,preset:f=Hc}=c??{};r.applyInput({...i,term:{cols:o.width}}),t.menuRuntime.action.stripStyle=o.style,t.menuRuntime.action.padding=o.padding;let p=WC(n),m=fw(a,d);l?.clear();let h=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},g=(e,n,r,i,a)=>{let{tint:o,disclosure:s}=lT(n,r),c=bw(t.activeSegment,e,n,s,o,i,a,p),l=Ng(n,s);return{closed:c,trigger:Lw(n,l.state),band:Lw(n,l.plane)}},_=e=>(t.activeSegment.current=null,Yw(e)),v=(e,t,n)=>{let r={scope:p,palette:m,visible:t&&gw(e.when,p),padding:o.padding,address:n,perSegmentSink:l,onSegmentError:u,enterSegment:g,exitSegment:_,lookupSegment:h,renderChild:(e,t,r)=>v(e,t,[...n,r])};return iT(e.kind).render(e,r)},y=t.roots.get(f);if(y===void 0)throw Error(`Preset "${f}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Hc}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);return v(y,!0,[]).map(e=>tc(e,o)).join(`
169
- `)}var dT=class{kind=`box`;cell;lastSetAt;constructor(e,t,n){this.name=e,this.type=t,pT(e,t,n,`initial value`),this.cell=J.observable.box(n,{deep:!1}),this.lastSetAt=Date.now()}read(){return this.cell.get()}set(e){pT(this.name,this.type,e,`set value`),this.cell.set(e),this.lastSetAt=Date.now()}lastUpdatedMs(){return this.lastSetAt}},fT=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,J.computed)(()=>{let e=n();return pT(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}};function pT(e,t,n,r){let i=TC(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var mT=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new dT(e,t,n))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new fT(e,t,()=>n(r)))}read(e){return this.requireNode(e).read()}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,J.runInAction)(()=>n.set(t))}runInAction(e){(0,J.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireNode(e).type}getKind(e){return this.requireNode(e).kind}getNode(e){let t=this.requireNode(e);return{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function hT(e,t,n){return e+`\0`+t+`\0`+(n??``)}function gT(e,t){return new Set(Wc(e.presets).filter(n=>qc(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function _T(e){let t=c.basename(e),n=c.dirname(e);for(;!r.existsSync(n);)t=c.basename(n),n=c.dirname(n);return{dir:n,name:t}}function vT(e,t){let n=new Map;for(let t of jS(e.projectDir,e.cwd,e.configFile)){let{dir:e,name:r}=_T(t);n.has(e)||n.set(e,new Set),n.get(e).add(r)}return{files:t===null?[]:[t],dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({path:e,filenames:[...t].sort()}))}}var yT=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=hT(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=this.loadFromDisk(e,t,n),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??this.buildState(t,null),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.state.validatorDisposers.forEach(e=>e()),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a.resolvedPath),this.observers.onReload?.(o),o}reloadInto(e){let t=this.loadFromDisk(e.projectDir,e.cwd,e.configFile);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state.validatorDisposers.forEach(e=>e()),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}loadFromDisk(e,t,n){let r=FS(e,t,n),i=IS(e,t),a;try{a=this.buildState(t,r)}catch(e){return{resolvedPath:r,warning:i,state:null,error:e instanceof dl||e instanceof Error?e.message:String(e)}}return{resolvedPath:r,warning:[i,...a.compiled.loadWarnings].filter(Boolean).join(`
170
- `)||null,state:a,error:null}}buildState(e,t){let{config:n,raw:r,source:i}=LS(t,wC),a=RS(n,t??`<default>`,i),o=new mT,s=new cw(o,a.globals.default_empty_value??``,this.deps.gitService,this.deps.sessionState),c,l=[];try{c=cT(a,s,{cwd:e});for(let{key:e,spec:t}of Jv(a))l.push(Vv(e,t));for(let{key:e,spec:t}of Av(a))l.push(jv(e,t))}catch(e){for(let e of l)e();throw s.dispose(),e}return{config:a,store:o,registry:s,compiled:c,neededInputPaths:rC(a),lastRenderCellsBySegment:new Map,validatorDisposers:l,authoredRoots:gT(n,r)}}refreshWatcher(e,t){e.configFilePath=t;let n=vT(e,t),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){j(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const bT=16384;var xT=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<bT){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%bT}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:un,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null}}};const ST={load:()=>({}),save:()=>{},flush:()=>{}};function CT(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var wT=class{sessions;storage;atom=(0,J.createAtom)(`SessionState`);constructor(e=ST,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=CT(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,J.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,J.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,J.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};const TT=(e,t)=>O(t);function ET(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var DT=class{timer=null;pending=null;constructor(e,t=500,n=TT){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return ET(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(c.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}},OT=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.offset=t,this.name=`Json5EditError`}};const kT=/[A-Za-z_$\p{L}]/u,AT=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,jT=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,MT=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var NT=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new OT(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(MT.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
171
- `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&jT.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return Cb.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new OT(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
168
+ `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function fT(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[t.flatMap(e=>e[0]??[]),...t.flatMap(e=>e.slice(1))]}}const pT={container:{compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:Cg(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,`${t.path}.children[${n}]`))}},render(e,t){return fT(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,{index:r,count:e.children.length,distribution:e.distribution})))}},segment:{compile(e,t){return{kind:`segment`,when:t.when,name:e.name,...e.opens!==void 0&&{opens:{open:t.parse(an(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,`${t.path}.opens.body`)}}}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];try{if(!Ew(i.when,t.scope))return[];let n=i.palette??t.palette,a=t.enterSegment(e.name,n,t.region,i.bg,i.fg),o=i.template.evaluate(t.scope),s=t.exitSegment(o),c=e.opens!==void 0&&Ew(e.opens.open,t.scope),l=e.opens===void 0?[]:t.renderBody(e.opens.body,c,a.disclosure),u=s.length>0||c?a.trigger:a.closed,d={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:u,padding:t.padding},f=dT(Cw(o,u)).map(e=>Ow(e,d)),p=s.map(e=>Ow(Cw([e],a.band),{...d,baseStyle:a.band})),m=[...f,...p];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.name,m.flat()),[...m,...l]}catch(n){let r=n.message??String(n);return t.onSegmentError?.(e.name,r),[[new Wa(`⚠ ${e.name}: ${r}`)]]}}}};function mT(e){return pT[e]}function hT(e){if(`ttl`in e)return{kind:`ttl`,durationMs:rw(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function gT(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,regex:n.regex,cache:hT(n.cache),varDefault:n.default});break;case`shell`:e.declareShell(t,n.command,{regex:n.regex,cache:hT(n.cache),varDefault:n.default});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?rw(n.cache.ttl):void 0,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function _T(e,t){let n=Iu.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}function vT(e,t,n){let r=n?.cwd??process.cwd(),i={store:t.variableStore,compiled:new Map,stripStyle:`powerline`,padding:1},a=Yw(),o={action:i,activeSegment:a},s=Object.keys(e.looks),c=Wc(e.presets),l=new Map([...Zc(e),...dv(e)]),u=$C({...Kw(i),...rT(i,a),...lT(o),...uT(a),looks:{fn:()=>s,argTypes:[]},presets:{fn:()=>c,argTypes:[]}},n?.clock),d=_T(u,e.helpers),f=e=>u.parse(e,d),p=new Map;for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!p.has(n.key)&&p.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!p.has(r.key)&&p.set(r.key,`${t}.${e}`);i.compiled=Pw(f,e.actions,p,l);let m=[];for(let[n,i]of Object.entries(e.variables))try{gT(t,n,i,r)}catch(e){m.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{gT(t,`${n}.${e}`,a,r)}catch(t){m.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let h=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n)=>{try{return f(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};h[t]={when:n.when===void 0?void 0:e(n.when,`when`),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`),palette:n.palette===void 0?void 0:xw(n.palette)}}let g=(e,t,n)=>{try{return f(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},_=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:g(e.when,t,`when`),parse:(e,n)=>g(e,t,n),compileChild:_};return mT(e.kind).compile(e,n)},v=new Map;for(let t of c){let{node:n,path:r}=qc(e,t);v.set(t,_(n,r))}return{segments:h,roots:v,activeSegment:a,menuRuntime:o,loadWarnings:m}}function yT(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u}=s??{},{look:d=Mi,preset:f=Hc}=c??{};r.applyInput({...i,term:{cols:o.width}}),t.menuRuntime.action.stripStyle=o.style,t.menuRuntime.action.padding=o.padding;let p=ew(n),m=Sw(a,d);l?.clear();let h=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},g=(e,n,r,i,a)=>{let{tint:o,text:s,disclosure:c}=Wg(n,r),l=Aw(t.activeSegment,e,n,c,o,s,i,a,p),u=Lg(n,c);return{closed:l,trigger:qw(n,u.state),band:qw(n,u.plane),disclosure:c}},_=e=>(t.activeSegment.current=null,aT(e)),v=(e,t,n)=>{let r=t&&Ew(e.when,p),i={scope:p,palette:m,visible:r,padding:o.padding,region:n,perSegmentSink:l,onSegmentError:u,enterSegment:g,exitSegment:_,lookupSegment:h,renderChild:(e,t,r)=>v(e,t,Vg(n,r)),renderBody:(e,t,n)=>v(e,r&&t,Hg(n))};return mT(e.kind).render(e,i)},y=t.roots.get(f);if(y===void 0)throw Error(`Preset "${f}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Hc}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);return v(y,!0,Bg).map(e=>tc(e,o)).join(`
169
+ `)}var bT=class{kind=`box`;cell;lastSetAt;constructor(e,t,n){this.name=e,this.type=t,ST(e,t,n,`initial value`),this.cell=Y.observable.box(n,{deep:!1}),this.lastSetAt=Date.now()}read(){return this.cell.get()}set(e){ST(this.name,this.type,e,`set value`),this.cell.set(e),this.lastSetAt=Date.now()}lastUpdatedMs(){return this.lastSetAt}},xT=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Y.computed)(()=>{let e=n();return ST(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}};function ST(e,t,n,r){let i=FC(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var CT=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new bT(e,t,n))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new xT(e,t,()=>n(r)))}read(e){return this.requireNode(e).read()}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,Y.runInAction)(()=>n.set(t))}runInAction(e){(0,Y.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireNode(e).type}getKind(e){return this.requireNode(e).kind}getNode(e){let t=this.requireNode(e);return{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function wT(e,t,n){return e+`\0`+t+`\0`+(n??``)}function TT(e,t){return new Set(Wc(e.presets).filter(n=>qc(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function ET(e){let t=c.basename(e),n=c.dirname(e);for(;!r.existsSync(n);)t=c.basename(n),n=c.dirname(n);return{dir:n,name:t}}function DT(e,t){let n=new Map;for(let t of VS(e.projectDir,e.cwd,e.configFile)){let{dir:e,name:r}=ET(t);n.has(e)||n.set(e,new Set),n.get(e).add(r)}return{files:t===null?[]:[t],dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({path:e,filenames:[...t].sort()}))}}var OT=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=wT(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=this.loadFromDisk(e,t,n),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??this.buildState(t,null),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.state.validatorDisposers.forEach(e=>e()),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a.resolvedPath),this.observers.onReload?.(o),o}reloadInto(e){let t=this.loadFromDisk(e.projectDir,e.cwd,e.configFile);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state.validatorDisposers.forEach(e=>e()),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}loadFromDisk(e,t,n){let r=GS(e,t,n),i=KS(e,t),a;try{a=this.buildState(t,r)}catch(e){return{resolvedPath:r,warning:i,state:null,error:e instanceof pl||e instanceof Error?e.message:String(e)}}return{resolvedPath:r,warning:[i,...a.compiled.loadWarnings].filter(Boolean).join(`
170
+ `)||null,state:a,error:null}}buildState(e,t){let{config:n,raw:r,source:i}=qS(t,PC),a=JS(n,t??`<default>`,i),o=new CT,s=new vw(o,a.globals.default_empty_value??``,this.deps.gitService,this.deps.sessionState),c,l=[];try{c=vT(a,s,{cwd:e});for(let{key:e,spec:t}of ry(a))l.push(Xv(e,t));for(let{key:e,spec:t}of zv(a))l.push(Bv(e,t))}catch(e){for(let e of l)e();throw s.dispose(),e}return{config:a,store:o,registry:s,compiled:c,neededInputPaths:pC(a),lastRenderCellsBySegment:new Map,validatorDisposers:l,authoredRoots:TT(n,r)}}refreshWatcher(e,t){e.configFilePath=t;let n=DT(e,t),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){j(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const kT=16384;var AT=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<kT){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%kT}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:un,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null}}};const jT={load:()=>({}),save:()=>{},flush:()=>{}};function MT(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var NT=class{sessions;storage;atom=(0,Y.createAtom)(`SessionState`);constructor(e=jT,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=MT(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Y.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Y.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Y.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};const PT=(e,t)=>O(t);function FT(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var IT=class{timer=null;pending=null;constructor(e,t=500,n=PT){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return FT(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(c.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}},LT=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.offset=t,this.name=`Json5EditError`}};const RT=/[A-Za-z_$\p{L}]/u,zT=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,BT=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,VT=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var HT=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new LT(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(VT.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
171
+ `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&BT.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return Mb.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new LT(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
172
172
  `,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
173
- `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(kT.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&AT.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new OT(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function PT(e){let t=new NT(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function FT(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function IT(e,t){let n=e;for(let e of t)n=n===void 0?void 0:FT(n,e)?.value;return n}function LT(e,t){return e.slice(t.span.start,t.span.end)}const RT=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function zT(e){return RT.test(e)?e:JSON.stringify(e)}function BT(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${HT(BT(e),` `,`
173
+ `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(RT.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&zT.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new LT(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function UT(e){let t=new HT(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function WT(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function GT(e,t){let n=e;for(let e of t)n=n===void 0?void 0:WT(n,e)?.value;return n}function KT(e,t){return e.slice(t.span.start,t.span.end)}const qT=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function JT(e){return qT.test(e)?e:JSON.stringify(e)}function YT(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${ZT(YT(e),` `,`
174
174
  `)},`).join(`
175
- `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${zT(e)}: ${HT(BT(t),` `,`
175
+ `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${JT(e)}: ${ZT(YT(t),` `,`
176
176
  `)},`).join(`
177
- `)}\n}`}return JSON.stringify(e)}function VT(e){return e.includes(`\r
177
+ `)}\n}`}return JSON.stringify(e)}function XT(e){return e.includes(`\r
178
178
  `)?`\r
179
179
  `:`
180
- `}function HT(e,t,n){return e.split(`
181
- `).join(`${n}${t}`)}function UT(e,t){let[n,...r]=e,i=r.length===0?t:`{\n ${HT(UT(r,t),` `,`
182
- `)},\n}`;return`${zT(n)}: ${i}`}function WT(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function GT(e,t){return e.lastIndexOf(`
183
- `,t-1)+1}function KT(e){return/^[ \t]*$/.test(e)}function qT(e,t){let n=GT(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function JT(e,t){return KT(e.slice(GT(e,t),t))}const YT=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function XT(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;YT.lastIndex=n;let i=YT.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function ZT(e,t){let{commaEnd:n,line:r}=XT(e,t.end);if(JT(e,t.start)&&r!==null)return WT(e,GT(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return WT(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?WT(e,i-1,t.end,``):WT(e,t.start,t.end,``)}function QT(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:WT(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=VT(e);return WT(o,s,s,`${c}${i}${HT(r,i,c)}${a?`,`:``}`)}function $T(e,t,n){let r=t.kind===`object`?t.entries:t.elements,i=r[r.length-1],a=qT(e,t.span.start);if(i===void 0){let r=a+` `,i=VT(e);return WT(e,t.span.start+1,t.span.end-1,`${i}${r}${HT(n,r,i)},${i}${a}`)}let{commaEnd:o,line:s}=XT(e,i.span.end);if(JT(e,i.span.start)&&s!==null){let t=e.slice(GT(e,i.span.start),i.span.start);return QT(e,i.span,{commaEnd:o,line:s},n,t)}let c=o===-1?i.span.end:o;return WT(e,c,c,`${o===-1?`, `:` `}${n}${o===-1?``:`,`}`)}function eE(e,t,n){if(t.length===0)throw new OT(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let r=VT(e);return`{${r} ${HT(UT(t,n),` `,r)},${r}}${r}`}let r=PT(e);for(let i=0;i<t.length;i++){if(r.kind!==`object`)throw new OT(`cannot set ${t.join(`.`)}: ${t.slice(0,i).join(`.`)||`the document`} is not an object`,r.span.start);let a=FT(r,t[i]);if(a===void 0)return $T(e,r,UT(t.slice(i),n));if(i===t.length-1){let t=qT(e,a.keySpan.start);return WT(e,a.value.span.start,a.value.span.end,HT(n,t,VT(e)))}r=a.value}throw new OT(`unreachable: path exhausted`,0)}function tE(e,t){if(t.length===0)throw new OT(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let n=IT(PT(e),t.slice(0,-1)),r=n===void 0?void 0:FT(n,t[t.length-1]);return r===void 0?e:ZT(e,r.span)}const nE=[`h`,`v`,`children`];function rE(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=FT(e,`seg`)?.value;if(t?.kind===`string`)return t.value;let n=FT(e,`kind`)?.value,r=FT(e,`name`)?.value;return n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0}function iE(e){return e.kind===`object`?nE.map(t=>FT(e,t)?.value).filter(e=>e?.kind===`array`):[]}function aE(e){let t=FT(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function oE(e){if(e.kind!==`object`)return!0;let t=aE(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*sE(e,t){yield{node:e,bareAt:t};for(let t of iE(e))for(let e of t.elements)yield*sE(e,null);for(let n of aE(e)??[])yield*sE(n.value,t===null?null:[...t,`rows`,n.key])}function cE(e,t){for(let{node:n}of sE(e,null))if(rE(n)===t)return!0;return!1}function lE(e,t,n){let r=IT(PT(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of sE(r,t))if(rE(i)===n)return a===null?{text:e,ref:i}:lE(eE(e,a,`{ h: [${LT(e,i)}] }`),t,n);return null}function uE(e,t,n){let r=lE(e,t,n);return r===null?null:ZT(r.text,r.ref.span)}function dE(e,t,n,r,i){let a=lE(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=JSON.stringify(n),{commaEnd:l,line:u}=XT(o,s.span.end);if(JT(o,s.span.start)&&u!==null){let e=o.slice(GT(o,s.span.start),s.span.start);return i===`after`?QT(o,s.span,{commaEnd:l,line:u},c,e):WT(o,s.span.start,s.span.start,`${c},${VT(o)}${e}`)}let d=LT(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return WT(o,s.span.start,s.span.end,f)}const fE={default_bg:`string`,default_fg:`string`,default_empty_value:`string`,default_separator:`string`,default_truncate_marker:`string`,palette:`string`,look:`string`,preset:`string`,style:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`},pE=new Set([`1`,`true`]),mE=new Set([`0`,`false`,``]);function hE(e,t){let n=HE(e),r=n.scope===`globals`?fE[n.field]:`string`;if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(pE.has(t))return`true`;if(mE.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function gE(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function _E(e,t,n){let i=`${e}.tmp`;try{r.writeFileSync(i,t,n===void 0?{}:{mode:n}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function vE(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),_E(e,t,r.statSync(e,{throwIfNoEntry:!1})?.mode)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function yE(e){return/^\s*$/.test(e)?null:PT(e)}function bE(e,t){return e!==null&&IT(e,t)!==void 0}function xE(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(xE),...i}}return e}function SE(e){if(!Fc(e))return xE(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,xE(t)])),...n}}function CE(e){return{...e.root!==void 0&&{root:SE(e.root)},...e.globals!==void 0&&{globals:e.globals}}}const wE=SC,TE=wE.segments,EE=wE.presets,DE=wE.root;function OE(e,t,n,r){if(bE(e,t))return{source:`file`};if(n===void 0)throw new Y(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`);return{source:`bundled`,decl:n}}function kE(e,t,n){return e.source===`file`?null:{path:t,value:n(e.decl)}}function AE(e,t){if(t.scope===`globals`)return{path:ou(t),unit:null};let n=ou(t),r=[`segments`,t.segment];return{path:n,unit:kE(OE(e,r,TE[t.segment],n.join(`.`)),r,e=>e)}}function jE(e){return PT(BT(e))}function ME(){return Object.entries(DE.rows).map(([e,t])=>{let n=xE(t);return{path:[`root`],fragment:jE({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function NE(e,t){let n=e===null?void 0:IT(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function PE(e,t){let n=[`presets`,t],r=[...n,`root`],i=OE(e,n,EE[t],r.join(`.`)),a=i.source===`file`?void 0:i.decl.root,o=i.source===`file`?NE(e,r):a===void 0?null:{path:r,fragment:jE(SE(a)),unit:{path:n,value:CE(i.decl)}};return o!==null&&oE(o.fragment)?o:null}function FE(e,t){let n=aE(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function IE(e,t){return[...ME(),NE(e,[`root`]),PE(e,t)].filter(e=>e!==null).reduce(FE,new Map)}function LE(e,t,n){for(let{node:r,...i}of IE(e,t).values())if(cE(r,n))return i;throw new Y(`${RE(e,t).join(`.`)} holds no segment "${n}" — the bar you clicked is stale; it reloads on the next render`)}function RE(e,t){return PE(e,t)?.path??[`root`]}function zE(e,t){return t.scope===`preset-root`?RE(e,t.preset):ou(t)}function BE(e,{unit:t}){return t===null?e:eE(e,t.path,BT(t.value))}function VE(e){let t=au(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function HE(e){let t=VE(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function UE(e,t){let n=HE(t),r=yE(gE(e)??``),i=r===null?void 0:IT(r,ou(n));return i!==void 0&&`value`in i?i.value:void 0}function WE(e,t,n,r){let i=HE(n),a=gE(t),o=AE(yE(a??``),i);eD(e,t,{before:a,after:eE(BE(a??``,o),o.path,hE(n,r))})}function GE(e,t,n){let r=VE(n),i=gE(t);if(i===null)return;let a=tE(i,zE(yE(i),r));a!==i&&eD(e,t,{before:i,after:a})}function KE(e,t,n,r){let i=VE(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=gE(t),o=r.op===`remove`?r.target:r.anchor,s=LE(yE(a??``),i.preset,o),c=BE(a??``,s),l=r.op===`remove`?uE(c,s.path,r.target):dE(c,s.path,r.segment,r.anchor,r.relation);if(l===null)throw new Y(`${s.path.join(`.`)} in ${t} has no segment "${o}" — the bar you clicked is stale; it reloads on the next render`);eD(e,t,{before:a,after:l})}const qE={past:[],future:[]};function JE(e){if(typeof e!=`object`||!e)return!1;let t=e;return(t.before===null||typeof t.before==`string`)&&typeof t.after==`string`}function YE(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.past)&&t.past.every(JE)&&Array.isArray(t.future)&&t.future.every(JE)}function XE(e){let t;try{t=r.readFileSync(e.historyPath,`utf8`)}catch(t){let n=t.code;return n!==`ENOENT`&&e.logger(`warn`,`config-edit-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(t);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(YE))return e}catch{}return e.logger(`warn`,`config-edit-history load: unexpected shape, starting empty`),{}}function ZE(e,t){try{r.mkdirSync(c.dirname(e.historyPath),{recursive:!0}),_E(e.historyPath,JSON.stringify(t),384)}catch(t){let n=`config-edit-history write failed: ${t.message}`;throw e.logger(`error`,n),Error(n)}}function QE(e,t){let n=[...e,t];return n.length>50?n.slice(-50):n}function $E(e,t,n,r,i){vE(t,n,e.logger);try{ZE(e,r)}catch(e){throw Error(`${i} landed in ${t} but recording it failed — it is not undoable: ${e.message}`)}}function eD(e,t,n){let r=XE(e),{past:i}=r[t]??qE;$E(e,t,n.after,{...r,[t]:{past:QE(i,n),future:[]}},`edit`)}function tD(e,t){let n=XE(e),{past:r,future:i}=n[t]??qE,a=r[r.length-1];return a===void 0?null:(rD(t,a.after,`undo`),$E(e,t,a.before,{...n,[t]:{past:r.slice(0,-1),future:QE(i,a)}},`undo`),a)}function nD(e,t){let n=XE(e),{past:r,future:i}=n[t]??qE,a=i[i.length-1];return a===void 0?null:(rD(t,a.before,`redo`),$E(e,t,a.after,{...n,[t]:{past:QE(r,a),future:i.slice(0,-1)}},`redo`),a)}function rD(e,t,n){if(gE(e)!==t)throw new Y(`${n}: ${e} has changed since that edit — refusing to overwrite it`)}function iD(e){if(!e)throw new Y(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new Y(`invalid session id "${e}"`);return e}function aD(e){return oD(()=>decodeURIComponent(e))}function oD(e){try{return e()}catch(e){throw e instanceof URIError?new Y(`malformed wire encoding: ${e.message}`):e}}function sD(e,t){let n=Se({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const cD=(e,t)=>sD(aD(e),t),lD=(e,t)=>{let n=Se({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,aD(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},uD=(e,t)=>sD(aD(e),t),dD=(e,t)=>sD(aD(e),t),fD=(e,t)=>{let n=iD(aD(e));t.sessionState.get(n,`toolbar-expanded`)?t.sessionState.clear(n,`toolbar-expanded`):t.sessionState.set(n,`toolbar-expanded`,`1`)},pD=(e,t)=>{let[n=``,...r]=oD(()=>Zt(e)),i=iD(n);if(r.length===0)throw new Y(`set-state: <key>/<value> is required (have keys: ${Bv().join(`, `)})`);if(r.length%2!=0)throw new Y(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${Bv().join(`, `)})`);let a=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new Y(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=Hv(t,n);if(!i.ok)throw new Y(`set-state: pair ${e/2+1}: ${i.reason}`);a.push({key:t,value:i.value})}t.sessionState.setBatch(i,a);let o=a.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${o} (session=${i})`)},mD=/^-?\d+$/;function hD(e,t,n){return e>n?t:e<t?n:e}function gD(e,t){if(!e)return null;if(!Bv().includes(e))throw new Y(`${t}: unknown session key "${e}" to release (have: ${Bv().join(`, `)})`);return e}function _D(e,t,n,r){e!==null&&(n.sessionState.clear(t,e),n.dlog(`info`,`${r}: released session key ${e} (session=${t})`))}const vD=(e,t)=>{let[n=``,r=``,i=``]=oD(()=>Zt(e)),a=iD(n);if(!r)throw new Y(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!mD.test(i))throw new Y(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=Uv(r);if(!s)throw new Y(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${Bv().join(`, `)})`);let c=t.sessionState.get(a,r),l=c&&mD.test(c)?Math.max(s.min,Math.min(s.max,parseInt(c,10))):s.seed,u=hD(l+o,s.min,s.max),d=Hv(r,String(u));if(!d.ok)throw new Y(`step-state: ${d.reason}`);t.sessionState.set(a,r,d.value),t.dlog(`info`,`step-state: ${r} ${l}→${d.value} (by ${o}, session=${a})`)},yD=`render-origin`;function bD(e){return JSON.stringify(e)}function xD(e){let t;try{t=JSON.parse(e)}catch{throw new Y(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new Y(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new Y(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function SD(e,t){let n=e.sessionState.get(t,yD);if(n===null)throw new Y(`session ${t} has not rendered yet — no config file to write`);let r=xD(n);return PS(r.projectDir,r.cwd,r.configFile??void 0)}function CD(e){return{historyPath:Pe(),logger:e.dlog}}const wD=(e,t)=>{let[n=``,r=``,i=``,a=``]=oD(()=>Zt(e)),o=iD(n);if(!r)throw new Y(`set-config: <key>/<value> is required (have keys: ${Sv().join(`, `)})`);let s=Cv(r,i);if(!s.ok)throw new Y(`set-config: ${s.reason}`);let c=gD(a,`set-config`),l=SD(t,o);WE(CD(t),l,r,s.value),t.dlog(`info`,`set-config: ${r}=${s.value} → ${l} (session=${o})`),_D(c,o,t,`set-config`)},TD=(e,t)=>{let[n=``,r=``,i=``,a=``]=oD(()=>Zt(e)),o=iD(n);if(!r)throw new Y(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!mD.test(i))throw new Y(`step-config: delta must be an integer, got "${i}"`);let s=parseInt(i,10),c=gD(a,`step-config`),l=wv(r);if(!l)throw new Y(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${Sv().join(`, `)})`);let u=SD(t,o),d=UE(u,r),f=typeof d==`number`?Math.max(l.min,Math.min(l.max,d)):l.seed,p=hD(f+s,l.min,l.max),m=Cv(r,String(p));if(!m.ok)throw new Y(`step-config: ${m.reason}`);WE(CD(t),u,r,m.value),t.dlog(`info`,`step-config: ${r} ${f}→${m.value} (by ${s}) → ${u} (session=${o})`),_D(c,o,t,`step-config`)},ED=(e,t)=>{let[n=``,r=``]=oD(()=>Zt(e)),i=iD(n);if(!r||!Sv().includes(r))throw new Y(`reset-config: unknown config key "${r}" (have: ${Sv().join(`, `)})`);let a=SD(t,i);GE(CD(t),a,r),t.dlog(`info`,`reset-config: ${r} ← ${a} (session=${i})`)},DD=(e,t)=>{let[n=``,r=``,i=``]=oD(()=>Zt(e)),a=iD(n);if(!r)throw new Y(`apply-layout-op: <key>/<op> is required (have: ${Sv().join(`, `)})`);let o=Cv(r,i);if(!o.ok)throw new Y(`apply-layout-op: ${o.reason}`);let s=tl(o.value);if(s===null)throw new Y(`apply-layout-op: "${o.value}" is not a layout op token`);let c=SD(t,a);KE(CD(t),c,r,s),t.dlog(`info`,`apply-layout-op: ${r} ${o.value} → ${c} (session=${a})`)},OD=(e,t)=>{let[n=``]=oD(()=>Zt(e)),r=iD(n),i=SD(t,r);if(tD(CD(t),i)===null)throw new Y(`undo: history is empty, nothing to undo`);t.dlog(`info`,`undo: ${i} (session=${r})`)},kD=(e,t)=>{let[n=``]=oD(()=>Zt(e)),r=iD(n),i=SD(t,r);if(nD(CD(t),i)===null)throw new Y(`redo: nothing to redo`);t.dlog(`info`,`redo: ${i} (session=${r})`)},AD=(e,t)=>{iD(aD(e)),t.applyUpdate()},jD=`config-override`,MD=new Map([[zt,cD],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new Y(`load-config: expected <sessionId>/<path> (missing separator)`);let r=iD(oD(()=>decodeURIComponent(e.slice(0,n)))),i=oD(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new Y(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new Y(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,jD),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,jD,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[Bt,lD],[Lt,pD],[Rt,vD],[Ut,wD],[Wt,TD],[Gt,ED],[Kt,DD],[qt,OD],[Jt,kD],[Vt,uD],[Ht,dD],[`toolbar-toggle`,fD],[Yt,AD]]),ND=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of $t(e)){if(!i&&(a===`set-state`||a===`step-state`||a===`set-config`||a===`step-config`||a===`reset-config`||a===`apply-layout-op`||a===`undo`||a===`redo`||a===`toolbar-toggle`||a===`apply-update`)){let e=Zt(o);e.length>0&&e[0]&&(i=e[0])}let e=MD.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof Y||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
184
- `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new Y(e)}},PD=new Map([...MD,[It,ND]]);Object.freeze([...PD.keys()]);const FD=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),ID=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]];function LD(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of ID){let i=zD(n,e);if(i==null)t.missingRequired.push(e);else{let n=RD(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let e of Object.keys(n))FD.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function RD(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function zD(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function BD(e,t){switch(e){case`vars`:return{what:e,vars:VD(t)};case`segments`:return{what:e,segments:GD(t)};case`config`:return{what:e,config:JD(t)}}}function VD(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=UD(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,type:r.type,value:r.read(),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:HD(r.lastUpdatedMs())})}return o}function HD(e){return e===null?null:Math.max(0,Date.now()-e)}function UD(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,WD(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,WD(i));return t}function WD(e){return e.kind}function GD(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=KD(n),o=[];for(let e of a){let t=n.segments[e];t&&o.push({name:e,template:t.template,referencedVars:qD(t.template,i),lastRender:r.get(e)??null})}return o}function KD(e){let t=[],n=new Set;for(let r of il(Rc(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function qD(e,t){let n=new Set;for(let r of cS(e)){if(t.has(r)){n.add(r);continue}let e=r.split(`.`);for(;e.length>1;){e.pop();let r=e.join(`.`);if(t.has(r)){n.add(r);break}}}return Array.from(n).sort()}function JD(e){return e===null?null:e.config}const YD=[`vars`,`segments`,`config`];function XD(e){return typeof e==`string`&&YD.includes(e)}function ZD(e){return Math.max(1,e-2)}var QD=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return O(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);O(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{O(`Calculating context tokens from transcript: ${e}`);let n=await nb(e);if(n.length===0)return O(`No entries in transcript`),F;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,O(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return O(`Most recent main chain context: ${n} tokens (limit: ${t})`),P({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return O(`No main chain entries with usage data found`),F}catch(e){return dn(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return P(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}};function $D(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}var eO=class{state=new Map;calculateLastResponseTime(e){if(e.length===0)return null;let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if($D(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}async foldMetrics(e,t){let n=this.state.get(e),r=Wy(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.state.delete(e),this.state.set(e,n),{kind:`ok`,value:{messageCount:n.messageCount,recent:[...n.recent]}};let i=await ob(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:{messageCount:n?.messageCount??0,recent:[...n?.recent??[]]}};let{entries:a,cursor:o,reset:s}=i.value,c=n&&!s?n:void 0,l=c?.messageCount??0,u=c?[...c.recent]:[];for(let e of a)e.isSidechain||($D(e)&&l++,u.push(e));for(u.length>20&&(u=u.slice(-20)),this.state.delete(e),this.state.set(e,{cursor:o,messageCount:l,recent:u});this.state.size>256;){let e=this.state.keys().next().value;if(e===void 0)break;this.state.delete(e)}return{kind:`ok`,value:{messageCount:l,recent:[...u]}}}async getMetricsInfo(e,t){if(O(`Getting metrics from hook data for session: ${e}`),!t.cost)return F;let n=await this.foldMetrics(e,t.transcript_path);return n.kind===`failed`?dn(`metrics (${e}): ${n.reason}`):P({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:this.calculateLastResponseTime(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const tO=new Map;function nO(e){if(!e)return``;let t=e.indexOf(`,`);return t<0?e:e.slice(0,t)}var rO=class{async getSessionId(){if(!process.env.TMUX_PANE)return F;let e=nO(process.env.TMUX),t=tO.get(e);if(t!==void 0)return t;O(`Getting tmux session ID, TMUX_PANE: ${process.env.TMUX_PANE}`);let n=await xe({bin:`tmux`,args:[`display-message`,`-p`,`#S`],timeoutMs:1e3,category:`tmux`}),r=n.ok?n.stdout.trim()?P(n.stdout.trim()):F:dn(`tmux display-message: ${n.reason}`);return tO.set(e,r),r}isInTmux(){return!!process.env.TMUX_PANE}},iO=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return c.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const aO=new xT;be(aO.launchStats);const oO=new Ny({counters:aO,logger:j}),sO=new By({watchers:oO,logger:j}),cO=new vb,lO=new wT,uO=new iO(ze()),dO=new QD,fO=new eO,pO=new rO,mO=new yT({gitService:sO,sessionState:lO,watchers:oO},{observers:{onReload:e=>j(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} file=${e.configFilePath??`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),hO=60*1e3;function gO(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(b(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){j(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),MO(0);return}}catch(e){j(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,hO),a.unref())},checkNow:o}}const _O=gO(),vO=ly({entryUrl:import.meta.url,intervalMs:hO,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>_O.checkNow(),log:j});let yO=null,bO=null,xO=0;function SO(){t.on(`uncaughtException`,e=>{j(`error`,`uncaughtException: ${e.stack||e.message}`),MO(1)}),t.on(`unhandledRejection`,e=>{j(`error`,`unhandledRejection: ${String(e)}`),MO(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{j(`info`,`received ${e}, shutting down`),MO(0)});try{xO=mt(t.env)}catch(e){j(`error`,`refusing to boot: ${e.message}`),MO(1);return}yO=Qn(t.pid);let e=cr(ur(yO));if(!e.decision.allow){j(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),MO(1);return}bO=e.registryPath,r.mkdirSync(Oe(),{recursive:!0}),Ae(ke()),lO.useStorage(new DT(Ne(),500,j)),tr({anchor:er(t.env),isAlive:nr,onOrphaned:e=>{j(`info`,`parent watchdog: ${e}; shutting down`),MO(0)}}),CO(g.createServer({allowHalfOpen:!1},e=>{NO(e)}),ke(),!1)}function CO(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){j(`error`,`server error: ${i.message}`),MO(1);return}if(r){j(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}wO(e,n)}),e.listen(n,()=>TO(n))}function wO(e,n){let i=Hn(Un(je(n)),(e,t)=>Zn(e,t,{readStartTime:Xn,pidAlive:nr}));if(i.kind===`attach-and-exit`){j(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}j(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){j(`error`,`cannot unlink stale socket ${n}: ${e.message}`),MO(1);return}}CO(e,n,!0)}function TO(e){let n=Kn(e);if(n.kind!==`present`){j(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),MO(0);return}kO(e);try{r.chmodSync(e,384)}catch(e){j(`warn`,`chmod socket failed: ${e.message}`)}j(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(_.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(xO/1048576)}MB`),Et();let i=uO.reset();i!==null&&j(`warn`,`diagnostic dump wipe failed: ${i}`),_O.arm(),vO.arm(),OO(),EO(e,n.identity)}function EO(e,n){Yn({bound:n,myPid:t.pid,readIdentity:()=>Kn(e),readLease:()=>Un(je(e)),shutdown:e=>MO(e),log:j}).arm()}let DO=null;function OO(){DO=ht(_t(aO.startedAt.getTime(),e=>MO(e),{rssLimitBytes:xO})),DO.arm()}function kO(e){let n=Wn(je(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:yO});n!==null&&j(`warn`,`lease write failed: ${n}`)}let AO=0,jO=!1;function MO(e){if(!jO){jO=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{sO.close()}catch(e){j(`warn`,`gitService close failed: ${e.message}`)}try{cO.close()}catch(e){j(`warn`,`usageStore close failed: ${e.message}`)}try{oO.closeAll()}catch(e){j(`warn`,`watcherRegistry close failed: ${e.message}`)}try{lO.flush()}catch(e){j(`warn`,`sessionState flush failed: ${e.message}`)}Gn(Me(),t.pid),bO!==null&&lr(bO,t.pid,or,e=>r.unlinkSync(e)),t.exit(e)}}function NO(e){AO++,aO.inFlight=AO;let t=!1,n=(n,r)=>{if(t){r!==null&&j(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>MO(r);try{e.end(Ke(n),i)}catch(e){j(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{aO.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=qe(e=>{FO(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{j(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{j(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{j(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),AO=Math.max(0,AO-1),aO.inFlight=AO})}const PO=e=>({resp:e,exitAfterFlush:null});async function FO(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return PO({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?j(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):j(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return PO({ok:!0,stats:aO.snapshot({gitCache:sO.getStats(),usageCache:cO.getStats(),renderCacheSize:mO.size,watchersActive:oO.size(),nextRestartReason:DO?.describeNextRestart()??null})});if(e.kind===`render`){aO.requestsTotal++;let t=Date.now();try{let{report:n}=LD(e.hookData);for(let e of n.unknownTopLevelFields)j(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let r=[];for(let e of n.missingRequired)r.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:i}of n.typeMismatches)r.push(`field '${e}' expected ${t}, got ${i}`);if(e.cwd===``&&r.push(`request 'cwd' is empty`),r.length>0)return aO.requestsErrored++,j(`warn`,`BAD_REQUEST: ${r.join(`; `)}`),PO({ok:!1,error:`malformed hookData: ${r.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let i=e.hookData.workspace.project_dir,{configFile:a,unknownFlagsError:o}=IO(e.args),s=e.hookData.session_id,c=lO.get(s,`config-override`)??a,l=mO.getOrCreate(i,e.cwd,c),u=bD({projectDir:i,cwd:e.cwd,configFile:c??null});lO.get(s,`render-origin`)!==u&&lO.set(s,yD,u);let d=Ve(e),f=d.termCols,p=ZD(f??120),m=nc(d.termRows),h={...RO,width:p},{authoredRoots:g}=l.state,_=JS(l.state.config,t=>lO.get(e.hookData.session_id,t),e=>g.has(e)),v=await sC(e.hookData,HO,e.cwd,l.state.neededInputPaths,_,d),y=dw(_.theme);h.style=_.style,h.separator=_.separator,h.wrap=_.autoWrap,h.padding=_.padding,h.charset=_.charset,h.colorCompatibility=_.colorCompatibility;let b=uT(l.state.config,l.state.compiled,l.state.store,l.state.registry,v,y,h,{perSegmentSink:l.state.lastRenderCellsBySegment},{look:Ls(l.state.config.looks,_.look),preset:_.preset}),x=lO.get(e.hookData.session_id,`click.error`);x&&lO.clear(e.hookData.session_id,`click.error`);let S=[o,l.lastError,x].filter(Boolean).join(`
185
- `),C=vO.notice({sessionId:s,dismissed:lO.get(s,Yv),enabled:_.updateNotice}),ee=l.lastError===null?null:l.configFilePath,te=sc(S,C,l.lastWarning??``),w=uO.sync(s,te===null?null:lc(te));w!==null&&j(`warn`,`diagnostic dump failed: ${w}`);let ne=uc(b,te,{fullText:w===null?{kind:`file`,path:uO.pathFor(s)}:{kind:`unavailable`,reason:w},failedConfigFile:ee},{width:p,rowCap:m,colorCompatibility:_.colorCompatibility}),T=Date.now()-t,re=sO.getStats(),E=cO.getStats();return j(`info`,`render sid=${e.hookData.session_id??`?`} took=${T}ms termCols=${f??`?`} termRows=${d.termRows??`?`} width=${p} git=${re.size}/${re.hits}h/${re.misses}m usage=${E.size}/${E.hits}h/${E.misses}m err=${S?`Y`:`N`} upd=${C.length} warn=${l.lastWarning?`Y`:`N`}`),PO({ok:!0,output:ne+`
186
- `})}catch(e){throw aO.requestsErrored++,e}}if(e.kind===`click`)return PO(await UO(e.verb,e.value));if(e.kind===`debug`){if(!XD(e.what))return PO({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${YD.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=mO.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?VO(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):BO};return PO({ok:!0,debug:BD(e.what,n)})}return PO({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function IO(e){let{values:t,tokens:n}=S({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))],i=t.config;return{configFile:i===void 0?void 0:AS(i),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const LO={sessionState:lO,dlog:j,applyUpdate:()=>vO.act()},RO={style:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:`unicode`},zO={...RO,width:1/0},BO=new Map;function VO(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,tc(a,{...zO,charset:t,colorCompatibility:n}));return r}const HO={gitProvider:sO,usageStore:cO,contextProvider:dO,metricsProvider:fO,tmuxService:pO,log:j,clock:()=>new Date};function UO(e,t){let n=PD.get(e);if(!n)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return n(t,LO),{ok:!0,output:``}}catch(e){let t=e instanceof Y?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const WO={connectMs:200,budgetMs:500};async function GO(e){let n=e.includes(`--json`),r=await KO();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${tt(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
187
- `);return}t.stdout.write(XO(r.value))}function KO(){return Ye({kind:`stats`},WO,e=>`stats`in e?e.stats:void 0)}function qO(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function JO(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function YO(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function XO(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${YO(e.uptimeSec)}`),t.push(` rss ${qO(e.rssBytes)}`),t.push(` heapUsed ${qO(e.heapUsedBytes)}`),t.push(` heapTotal ${qO(e.heapTotalBytes)}`),t.push(` external ${qO(e.externalBytes)}`),t.push(` arrayBuffers ${qO(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${JO(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${JO(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
180
+ `}function ZT(e,t,n){return e.split(`
181
+ `).join(`${n}${t}`)}function QT(e,t){let[n,...r]=e,i=r.length===0?t:`{\n ${ZT(QT(r,t),` `,`
182
+ `)},\n}`;return`${JT(n)}: ${i}`}function $T(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function eE(e,t){return e.lastIndexOf(`
183
+ `,t-1)+1}function tE(e){return/^[ \t]*$/.test(e)}function nE(e,t){let n=eE(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function rE(e,t){return tE(e.slice(eE(e,t),t))}const iE=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function aE(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;iE.lastIndex=n;let i=iE.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function oE(e,t){let{commaEnd:n,line:r}=aE(e,t.end);if(rE(e,t.start)&&r!==null)return $T(e,eE(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return $T(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?$T(e,i-1,t.end,``):$T(e,t.start,t.end,``)}function sE(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:$T(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=XT(e);return $T(o,s,s,`${c}${i}${ZT(r,i,c)}${a?`,`:``}`)}function cE(e,t,n){let r=t.kind===`object`?t.entries:t.elements,i=r[r.length-1],a=nE(e,t.span.start);if(i===void 0){let r=a+` `,i=XT(e);return $T(e,t.span.start+1,t.span.end-1,`${i}${r}${ZT(n,r,i)},${i}${a}`)}let{commaEnd:o,line:s}=aE(e,i.span.end);if(rE(e,i.span.start)&&s!==null){let t=e.slice(eE(e,i.span.start),i.span.start);return sE(e,i.span,{commaEnd:o,line:s},n,t)}let c=o===-1?i.span.end:o;return $T(e,c,c,`${o===-1?`, `:` `}${n}${o===-1?``:`,`}`)}function lE(e,t,n){if(t.length===0)throw new LT(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let r=XT(e);return`{${r} ${ZT(QT(t,n),` `,r)},${r}}${r}`}let r=UT(e);for(let i=0;i<t.length;i++){if(r.kind!==`object`)throw new LT(`cannot set ${t.join(`.`)}: ${t.slice(0,i).join(`.`)||`the document`} is not an object`,r.span.start);let a=WT(r,t[i]);if(a===void 0)return cE(e,r,QT(t.slice(i),n));if(i===t.length-1){let t=nE(e,a.keySpan.start);return $T(e,a.value.span.start,a.value.span.end,ZT(n,t,XT(e)))}r=a.value}throw new LT(`unreachable: path exhausted`,0)}function uE(e,t){if(t.length===0)throw new LT(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let n=GT(UT(e),t.slice(0,-1)),r=n===void 0?void 0:WT(n,t[t.length-1]);return r===void 0?e:oE(e,r.span)}const dE=[`h`,`v`,`children`];function fE(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=WT(e,`seg`)?.value;if(t?.kind===`string`)return t.value;let n=WT(e,`kind`)?.value,r=WT(e,`name`)?.value;return n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0}function pE(e){return e.kind===`object`?dE.map(t=>WT(e,t)?.value).filter(e=>e?.kind===`array`):[]}function mE(e){let t=WT(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function hE(e){if(e.kind!==`object`)return!0;let t=mE(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*gE(e,t){yield{node:e,bareAt:t};for(let t of pE(e))for(let e of t.elements)yield*gE(e,null);for(let n of mE(e)??[])yield*gE(n.value,t===null?null:[...t,`rows`,n.key])}function _E(e,t){for(let{node:n}of gE(e,null))if(fE(n)===t)return!0;return!1}function vE(e,t,n){let r=GT(UT(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of gE(r,t))if(fE(i)===n)return a===null?{text:e,ref:i}:vE(lE(e,a,`{ h: [${KT(e,i)}] }`),t,n);return null}function yE(e,t,n){let r=vE(e,t,n);return r===null?null:oE(r.text,r.ref.span)}function bE(e,t,n,r,i){let a=vE(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=JSON.stringify(n),{commaEnd:l,line:u}=aE(o,s.span.end);if(rE(o,s.span.start)&&u!==null){let e=o.slice(eE(o,s.span.start),s.span.start);return i===`after`?sE(o,s.span,{commaEnd:l,line:u},c,e):$T(o,s.span.start,s.span.start,`${c},${XT(o)}${e}`)}let d=KT(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return $T(o,s.span.start,s.span.end,f)}const xE={default_bg:`string`,default_fg:`string`,default_empty_value:`string`,default_separator:`string`,default_truncate_marker:`string`,palette:`string`,look:`string`,preset:`string`,style:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`},SE=new Set([`1`,`true`]),CE=new Set([`0`,`false`,``]);function wE(e,t){let n=ZE(e),r=n.scope===`globals`?xE[n.field]:`string`;if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(SE.has(t))return`true`;if(CE.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function TE(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function EE(e,t,n){let i=`${e}.tmp`;try{r.writeFileSync(i,t,n===void 0?{}:{mode:n}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function DE(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),EE(e,t,r.statSync(e,{throwIfNoEntry:!1})?.mode)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function OE(e){return/^\s*$/.test(e)?null:UT(e)}function kE(e,t){return e!==null&&GT(e,t)!==void 0}function AE(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(AE),...i}}return e}function jE(e){if(!Fc(e))return AE(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,AE(t)])),...n}}function ME(e){return{...e.root!==void 0&&{root:jE(e.root)},...e.globals!==void 0&&{globals:e.globals}}}const NE=MC,PE=NE.segments,FE=NE.presets,IE=NE.root;function LE(e,t,n,r){if(kE(e,t))return{source:`file`};if(n===void 0)throw new X(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`);return{source:`bundled`,decl:n}}function RE(e,t,n){return e.source===`file`?null:{path:t,value:n(e.decl)}}function zE(e,t){if(t.scope===`globals`)return{path:cu(t),unit:null};let n=cu(t),r=[`segments`,t.segment];return{path:n,unit:RE(LE(e,r,PE[t.segment],n.join(`.`)),r,e=>e)}}function BE(e){return UT(YT(e))}function VE(){return Object.entries(IE.rows).map(([e,t])=>{let n=AE(t);return{path:[`root`],fragment:BE({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function HE(e,t){let n=e===null?void 0:GT(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function UE(e,t){let n=[`presets`,t],r=[...n,`root`],i=LE(e,n,FE[t],r.join(`.`)),a=i.source===`file`?void 0:i.decl.root,o=i.source===`file`?HE(e,r):a===void 0?null:{path:r,fragment:BE(jE(a)),unit:{path:n,value:ME(i.decl)}};return o!==null&&hE(o.fragment)?o:null}function WE(e,t){let n=mE(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function GE(e,t){return[...VE(),HE(e,[`root`]),UE(e,t)].filter(e=>e!==null).reduce(WE,new Map)}function KE(e,t,n){for(let{node:r,...i}of GE(e,t).values())if(_E(r,n))return i;throw new X(`${qE(e,t).join(`.`)} holds no segment "${n}" — the bar you clicked is stale; it reloads on the next render`)}function qE(e,t){return UE(e,t)?.path??[`root`]}function JE(e,t){return t.scope===`preset-root`?qE(e,t.preset):cu(t)}function YE(e,{unit:t}){return t===null?e:lE(e,t.path,YT(t.value))}function XE(e){let t=su(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function ZE(e){let t=XE(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function QE(e,t){let n=ZE(t),r=OE(TE(e)??``),i=r===null?void 0:GT(r,cu(n));return i!==void 0&&`value`in i?i.value:void 0}function $E(e,t,n,r){let i=ZE(n),a=TE(t),o=zE(OE(a??``),i);lD(e,t,{before:a,after:lE(YE(a??``,o),o.path,wE(n,r))})}function eD(e,t,n){let r=XE(n),i=TE(t);if(i===null)return;let a=uE(i,JE(OE(i),r));a!==i&&lD(e,t,{before:i,after:a})}function tD(e,t,n,r){let i=XE(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=TE(t),o=r.op===`remove`?r.target:r.anchor,s=KE(OE(a??``),i.preset,o),c=YE(a??``,s),l=r.op===`remove`?yE(c,s.path,r.target):bE(c,s.path,r.segment,r.anchor,r.relation);if(l===null)throw new X(`${s.path.join(`.`)} in ${t} has no segment "${o}" — the bar you clicked is stale; it reloads on the next render`);lD(e,t,{before:a,after:l})}const nD={past:[],future:[]};function rD(e){if(typeof e!=`object`||!e)return!1;let t=e;return(t.before===null||typeof t.before==`string`)&&typeof t.after==`string`}function iD(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.past)&&t.past.every(rD)&&Array.isArray(t.future)&&t.future.every(rD)}function aD(e){let t;try{t=r.readFileSync(e.historyPath,`utf8`)}catch(t){let n=t.code;return n!==`ENOENT`&&e.logger(`warn`,`config-edit-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(t);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(iD))return e}catch{}return e.logger(`warn`,`config-edit-history load: unexpected shape, starting empty`),{}}function oD(e,t){try{r.mkdirSync(c.dirname(e.historyPath),{recursive:!0}),EE(e.historyPath,JSON.stringify(t),384)}catch(t){let n=`config-edit-history write failed: ${t.message}`;throw e.logger(`error`,n),Error(n)}}function sD(e,t){let n=[...e,t];return n.length>50?n.slice(-50):n}function cD(e,t,n,r,i){DE(t,n,e.logger);try{oD(e,r)}catch(e){throw Error(`${i} landed in ${t} but recording it failed — it is not undoable: ${e.message}`)}}function lD(e,t,n){let r=aD(e),{past:i}=r[t]??nD;cD(e,t,n.after,{...r,[t]:{past:sD(i,n),future:[]}},`edit`)}function uD(e,t){let n=aD(e),{past:r,future:i}=n[t]??nD,a=r[r.length-1];return a===void 0?null:(fD(t,a.after,`undo`),cD(e,t,a.before,{...n,[t]:{past:r.slice(0,-1),future:sD(i,a)}},`undo`),a)}function dD(e,t){let n=aD(e),{past:r,future:i}=n[t]??nD,a=i[i.length-1];return a===void 0?null:(fD(t,a.before,`redo`),cD(e,t,a.after,{...n,[t]:{past:sD(r,a),future:i.slice(0,-1)}},`redo`),a)}function fD(e,t,n){if(TE(e)!==t)throw new X(`${n}: ${e} has changed since that edit — refusing to overwrite it`)}function pD(e){if(!e)throw new X(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new X(`invalid session id "${e}"`);return e}function mD(e){return hD(()=>decodeURIComponent(e))}function hD(e){try{return e()}catch(e){throw e instanceof URIError?new X(`malformed wire encoding: ${e.message}`):e}}function gD(e,t){let n=Se({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const _D=(e,t)=>gD(mD(e),t),vD=(e,t)=>{let n=Se({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,mD(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},yD=(e,t)=>gD(mD(e),t),bD=(e,t)=>gD(mD(e),t),xD=(e,t)=>{let n=pD(mD(e));t.sessionState.get(n,`toolbar-expanded`)?t.sessionState.clear(n,`toolbar-expanded`):t.sessionState.set(n,`toolbar-expanded`,`1`)},SD=(e,t)=>{let[n=``,...r]=hD(()=>Xt(e)),i=pD(n);if(r.length===0)throw new X(`set-state: <key>/<value> is required (have keys: ${Yv().join(`, `)})`);if(r.length%2!=0)throw new X(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${Yv().join(`, `)})`);let a=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new X(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=Zv(t,n);if(!i.ok)throw new X(`set-state: pair ${e/2+1}: ${i.reason}`);a.push({key:t,value:i.value})}t.sessionState.setBatch(i,a);let o=a.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${o} (session=${i})`)},CD=/^-?\d+$/;function wD(e,t,n){return e>n?t:e<t?n:e}function TD(e,t){if(!e)return null;if(!Yv().includes(e))throw new X(`${t}: unknown session key "${e}" to release (have: ${Yv().join(`, `)})`);return e}function ED(e,t,n,r){e!==null&&(n.sessionState.clear(t,e),n.dlog(`info`,`${r}: released session key ${e} (session=${t})`))}const DD=(e,t)=>{let[n=``,r=``,i=``]=hD(()=>Xt(e)),a=pD(n);if(!r)throw new X(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!CD.test(i))throw new X(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=Qv(r);if(!s)throw new X(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${Yv().join(`, `)})`);let c=t.sessionState.get(a,r),l=c&&CD.test(c)?Math.max(s.min,Math.min(s.max,parseInt(c,10))):s.seed,u=wD(l+o,s.min,s.max),d=Zv(r,String(u));if(!d.ok)throw new X(`step-state: ${d.reason}`);t.sessionState.set(a,r,d.value),t.dlog(`info`,`step-state: ${r} ${l}→${d.value} (by ${o}, session=${a})`)},OD=`render-origin`;function kD(e){return JSON.stringify(e)}function AD(e){let t;try{t=JSON.parse(e)}catch{throw new X(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new X(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new X(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function jD(e,t){let n=e.sessionState.get(t,OD);if(n===null)throw new X(`session ${t} has not rendered yet — no config file to write`);let r=AD(n);return WS(r.projectDir,r.cwd,r.configFile??void 0)}function MD(e){return{historyPath:Pe(),logger:e.dlog}}const ND=(e,t)=>{let[n=``,r=``,i=``,a=``]=hD(()=>Xt(e)),o=pD(n);if(!r)throw new X(`set-config: <key>/<value> is required (have keys: ${jv().join(`, `)})`);let s=Mv(r,i);if(!s.ok)throw new X(`set-config: ${s.reason}`);let c=TD(a,`set-config`),l=jD(t,o);$E(MD(t),l,r,s.value),t.dlog(`info`,`set-config: ${r}=${s.value} → ${l} (session=${o})`),ED(c,o,t,`set-config`)},PD=(e,t)=>{let[n=``,r=``,i=``,a=``]=hD(()=>Xt(e)),o=pD(n);if(!r)throw new X(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!CD.test(i))throw new X(`step-config: delta must be an integer, got "${i}"`);let s=parseInt(i,10),c=TD(a,`step-config`),l=Nv(r);if(!l)throw new X(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${jv().join(`, `)})`);let u=jD(t,o),d=QE(u,r),f=typeof d==`number`?Math.max(l.min,Math.min(l.max,d)):l.seed,p=wD(f+s,l.min,l.max),m=Mv(r,String(p));if(!m.ok)throw new X(`step-config: ${m.reason}`);$E(MD(t),u,r,m.value),t.dlog(`info`,`step-config: ${r} ${f}→${m.value} (by ${s}) → ${u} (session=${o})`),ED(c,o,t,`step-config`)},FD=(e,t)=>{let[n=``,r=``]=hD(()=>Xt(e)),i=pD(n);if(!r||!jv().includes(r))throw new X(`reset-config: unknown config key "${r}" (have: ${jv().join(`, `)})`);let a=jD(t,i);eD(MD(t),a,r),t.dlog(`info`,`reset-config: ${r} ← ${a} (session=${i})`)},ID=(e,t)=>{let[n=``,r=``,i=``]=hD(()=>Xt(e)),a=pD(n);if(!r)throw new X(`apply-layout-op: <key>/<op> is required (have: ${jv().join(`, `)})`);let o=Mv(r,i);if(!o.ok)throw new X(`apply-layout-op: ${o.reason}`);let s=dl(o.value);if(s===null)throw new X(`apply-layout-op: "${o.value}" is not a layout op token`);let c=jD(t,a);tD(MD(t),c,r,s),t.dlog(`info`,`apply-layout-op: ${r} ${o.value} → ${c} (session=${a})`)},LD=(e,t)=>{let[n=``]=hD(()=>Xt(e)),r=pD(n),i=jD(t,r);if(uD(MD(t),i)===null)throw new X(`undo: history is empty, nothing to undo`);t.dlog(`info`,`undo: ${i} (session=${r})`)},RD=(e,t)=>{let[n=``]=hD(()=>Xt(e)),r=pD(n),i=jD(t,r);if(dD(MD(t),i)===null)throw new X(`redo: nothing to redo`);t.dlog(`info`,`redo: ${i} (session=${r})`)},zD=(e,t)=>{pD(mD(e)),t.applyUpdate()},BD=`config-override`,VD=new Map([[Rt,_D],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new X(`load-config: expected <sessionId>/<path> (missing separator)`);let r=pD(hD(()=>decodeURIComponent(e.slice(0,n)))),i=hD(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new X(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new X(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,BD),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,BD,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[zt,vD],[It,SD],[Lt,DD],[Ht,ND],[Ut,PD],[Wt,FD],[Gt,ID],[Kt,LD],[qt,RD],[Bt,yD],[Vt,bD],[`toolbar-toggle`,xD],[Jt,zD]]),HD=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of Qt(e)){if(!i&&(a===`set-state`||a===`step-state`||a===`set-config`||a===`step-config`||a===`reset-config`||a===`apply-layout-op`||a===`undo`||a===`redo`||a===`toolbar-toggle`||a===`apply-update`)){let e=Xt(o);e.length>0&&e[0]&&(i=e[0])}let e=VD.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof X||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
184
+ `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new X(e)}},UD=new Map([...VD,[Ft,HD]]);Object.freeze([...UD.keys()]);const WD=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),GD=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]];function KD(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of GD){let i=JD(n,e);if(i==null)t.missingRequired.push(e);else{let n=qD(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let e of Object.keys(n))WD.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function qD(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function JD(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function YD(e,t){switch(e){case`vars`:return{what:e,vars:XD(t)};case`segments`:return{what:e,segments:eO(t)};case`config`:return{what:e,config:rO(t)}}}function XD(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=QD(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,type:r.type,value:r.read(),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:ZD(r.lastUpdatedMs())})}return o}function ZD(e){return e===null?null:Math.max(0,Date.now()-e)}function QD(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,$D(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,$D(i));return t}function $D(e){return e.kind}function eO(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=tO(n),o=[];for(let e of a){let t=n.segments[e];t&&o.push({name:e,template:t.template,referencedVars:nO(t.template,i),lastRender:r.get(e)??null})}return o}function tO(e){let t=[],n=new Set;for(let r of nl(Rc(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function nO(e,t){let n=new Set;for(let r of vS(e)){if(t.has(r)){n.add(r);continue}let e=r.split(`.`);for(;e.length>1;){e.pop();let r=e.join(`.`);if(t.has(r)){n.add(r);break}}}return Array.from(n).sort()}function rO(e){return e===null?null:e.config}const iO=[`vars`,`segments`,`config`];function aO(e){return typeof e==`string`&&iO.includes(e)}function oO(e){return Math.max(1,e-2)}var sO=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return O(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);O(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{O(`Calculating context tokens from transcript: ${e}`);let n=await db(e);if(n.length===0)return O(`No entries in transcript`),I;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,O(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return O(`Most recent main chain context: ${n} tokens (limit: ${t})`),F({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return O(`No main chain entries with usage data found`),I}catch(e){return dn(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return F(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}};function cO(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}var lO=class{state=new Map;calculateLastResponseTime(e){if(e.length===0)return null;let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(cO(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}async foldMetrics(e,t){let n=this.state.get(e),r=$y(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.state.delete(e),this.state.set(e,n),{kind:`ok`,value:{messageCount:n.messageCount,recent:[...n.recent]}};let i=await hb(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:{messageCount:n?.messageCount??0,recent:[...n?.recent??[]]}};let{entries:a,cursor:o,reset:s}=i.value,c=n&&!s?n:void 0,l=c?.messageCount??0,u=c?[...c.recent]:[];for(let e of a)e.isSidechain||(cO(e)&&l++,u.push(e));for(u.length>20&&(u=u.slice(-20)),this.state.delete(e),this.state.set(e,{cursor:o,messageCount:l,recent:u});this.state.size>256;){let e=this.state.keys().next().value;if(e===void 0)break;this.state.delete(e)}return{kind:`ok`,value:{messageCount:l,recent:[...u]}}}async getMetricsInfo(e,t){if(O(`Getting metrics from hook data for session: ${e}`),!t.cost)return I;let n=await this.foldMetrics(e,t.transcript_path);return n.kind===`failed`?dn(`metrics (${e}): ${n.reason}`):F({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:this.calculateLastResponseTime(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const uO=new Map;function dO(e){if(!e)return``;let t=e.indexOf(`,`);return t<0?e:e.slice(0,t)}var fO=class{async getSessionId(){if(!process.env.TMUX_PANE)return I;let e=dO(process.env.TMUX),t=uO.get(e);if(t!==void 0)return t;O(`Getting tmux session ID, TMUX_PANE: ${process.env.TMUX_PANE}`);let n=await xe({bin:`tmux`,args:[`display-message`,`-p`,`#S`],timeoutMs:1e3,category:`tmux`}),r=n.ok?n.stdout.trim()?F(n.stdout.trim()):I:dn(`tmux display-message: ${n.reason}`);return uO.set(e,r),r}isInTmux(){return!!process.env.TMUX_PANE}},pO=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return c.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const mO=new AT;be(mO.launchStats);const hO=new Hy({counters:mO,logger:j}),gO=new Yy({watchers:hO,logger:j}),_O=new Db,vO=new NT,yO=new pO(ze()),bO=new sO,xO=new lO,SO=new fO,CO=new OT({gitService:gO,sessionState:vO,watchers:hO},{observers:{onReload:e=>j(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} file=${e.configFilePath??`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),wO=60*1e3;function TO(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(b(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){j(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),VO(0);return}}catch(e){j(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,wO),a.unref())},checkNow:o}}const EO=TO(),DO=vy({entryUrl:import.meta.url,intervalMs:wO,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>EO.checkNow(),log:j});let OO=null,kO=null,AO=0;function jO(){t.on(`uncaughtException`,e=>{j(`error`,`uncaughtException: ${e.stack||e.message}`),VO(1)}),t.on(`unhandledRejection`,e=>{j(`error`,`unhandledRejection: ${String(e)}`),VO(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{j(`info`,`received ${e}, shutting down`),VO(0)});try{AO=mt(t.env)}catch(e){j(`error`,`refusing to boot: ${e.message}`),VO(1);return}OO=$n(t.pid);let e=lr(dr(OO));if(!e.decision.allow){j(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),VO(1);return}kO=e.registryPath,r.mkdirSync(Oe(),{recursive:!0}),Ae(ke()),vO.useStorage(new IT(Ne(),500,j)),nr({anchor:tr(t.env),isAlive:rr,onOrphaned:e=>{j(`info`,`parent watchdog: ${e}; shutting down`),VO(0)}}),MO(g.createServer({allowHalfOpen:!1},e=>{HO(e)}),ke(),!1)}function MO(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){j(`error`,`server error: ${i.message}`),VO(1);return}if(r){j(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}NO(e,n)}),e.listen(n,()=>PO(n))}function NO(e,n){let i=Un(Wn(je(n)),(e,t)=>Qn(e,t,{readStartTime:Zn,pidAlive:rr}));if(i.kind===`attach-and-exit`){j(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}j(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){j(`error`,`cannot unlink stale socket ${n}: ${e.message}`),VO(1);return}}MO(e,n,!0)}function PO(e){let n=qn(e);if(n.kind!==`present`){j(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),VO(0);return}RO(e);try{r.chmodSync(e,384)}catch(e){j(`warn`,`chmod socket failed: ${e.message}`)}j(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(_.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(AO/1048576)}MB`),Et();let i=yO.reset();i!==null&&j(`warn`,`diagnostic dump wipe failed: ${i}`),EO.arm(),DO.arm(),LO(),FO(e,n.identity)}function FO(e,n){Xn({bound:n,myPid:t.pid,readIdentity:()=>qn(e),readLease:()=>Wn(je(e)),shutdown:e=>VO(e),log:j}).arm()}let IO=null;function LO(){IO=ht(_t(mO.startedAt.getTime(),e=>VO(e),{rssLimitBytes:AO})),IO.arm()}function RO(e){let n=Gn(je(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:OO});n!==null&&j(`warn`,`lease write failed: ${n}`)}let zO=0,BO=!1;function VO(e){if(!BO){BO=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{gO.close()}catch(e){j(`warn`,`gitService close failed: ${e.message}`)}try{_O.close()}catch(e){j(`warn`,`usageStore close failed: ${e.message}`)}try{hO.closeAll()}catch(e){j(`warn`,`watcherRegistry close failed: ${e.message}`)}try{vO.flush()}catch(e){j(`warn`,`sessionState flush failed: ${e.message}`)}Kn(Me(),t.pid),kO!==null&&ur(kO,t.pid,sr,e=>r.unlinkSync(e)),t.exit(e)}}function HO(e){zO++,mO.inFlight=zO;let t=!1,n=(n,r)=>{if(t){r!==null&&j(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>VO(r);try{e.end(Ke(n),i)}catch(e){j(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{mO.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=qe(e=>{WO(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{j(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{j(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{j(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),zO=Math.max(0,zO-1),mO.inFlight=zO})}const UO=e=>({resp:e,exitAfterFlush:null});async function WO(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return UO({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?j(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):j(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return UO({ok:!0,stats:mO.snapshot({gitCache:gO.getStats(),usageCache:_O.getStats(),renderCacheSize:CO.size,watchersActive:hO.size(),nextRestartReason:IO?.describeNextRestart()??null})});if(e.kind===`render`){mO.requestsTotal++;let t=Date.now();try{let{report:n}=KD(e.hookData);for(let e of n.unknownTopLevelFields)j(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let r=[];for(let e of n.missingRequired)r.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:i}of n.typeMismatches)r.push(`field '${e}' expected ${t}, got ${i}`);if(e.cwd===``&&r.push(`request 'cwd' is empty`),r.length>0)return mO.requestsErrored++,j(`warn`,`BAD_REQUEST: ${r.join(`; `)}`),UO({ok:!1,error:`malformed hookData: ${r.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let i=e.hookData.workspace.project_dir,{configFile:a,unknownFlagsError:o}=GO(e.args),s=e.hookData.session_id,c=vO.get(s,`config-override`)??a,l=CO.getOrCreate(i,e.cwd,c),u=kD({projectDir:i,cwd:e.cwd,configFile:c??null});vO.get(s,`render-origin`)!==u&&vO.set(s,OD,u);let d=Ve(e),f=d.termCols,p=oO(f??120),m=nc(d.termRows),h={...qO,width:p},{authoredRoots:g}=l.state,_=iC(l.state.config,t=>vO.get(e.hookData.session_id,t),e=>g.has(e)),v=await _C(e.hookData,ZO,e.cwd,l.state.neededInputPaths,_,d),y=xw(_.theme);h.style=_.style,h.separator=_.separator,h.wrap=_.autoWrap,h.padding=_.padding,h.charset=_.charset,h.colorCompatibility=_.colorCompatibility;let b=yT(l.state.config,l.state.compiled,l.state.store,l.state.registry,v,y,h,{perSegmentSink:l.state.lastRenderCellsBySegment},{look:Ls(l.state.config.looks,_.look),preset:_.preset}),x=vO.get(e.hookData.session_id,`click.error`);x&&vO.clear(e.hookData.session_id,`click.error`);let S=[o,l.lastError,x].filter(Boolean).join(`
185
+ `),C=DO.notice({sessionId:s,dismissed:vO.get(s,iy),enabled:_.updateNotice}),ee=l.lastError===null?null:l.configFilePath,te=sc(S,C,l.lastWarning??``),w=yO.sync(s,te===null?null:lc(te));w!==null&&j(`warn`,`diagnostic dump failed: ${w}`);let ne=uc(b,te,{fullText:w===null?{kind:`file`,path:yO.pathFor(s)}:{kind:`unavailable`,reason:w},failedConfigFile:ee},{width:p,rowCap:m,colorCompatibility:_.colorCompatibility}),T=Date.now()-t,re=gO.getStats(),E=_O.getStats();return j(`info`,`render sid=${e.hookData.session_id??`?`} took=${T}ms termCols=${f??`?`} termRows=${d.termRows??`?`} width=${p} git=${re.size}/${re.hits}h/${re.misses}m usage=${E.size}/${E.hits}h/${E.misses}m err=${S?`Y`:`N`} upd=${C.length} warn=${l.lastWarning?`Y`:`N`}`),UO({ok:!0,output:ne+`
186
+ `})}catch(e){throw mO.requestsErrored++,e}}if(e.kind===`click`)return UO(await QO(e.verb,e.value));if(e.kind===`debug`){if(!aO(e.what))return UO({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${iO.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=CO.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?XO(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):YO};return UO({ok:!0,debug:YD(e.what,n)})}return UO({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function GO(e){let{values:t,tokens:n}=S({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))],i=t.config;return{configFile:i===void 0?void 0:BS(i),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const KO={sessionState:vO,dlog:j,applyUpdate:()=>DO.act()},qO={style:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:`unicode`},JO={...qO,width:1/0},YO=new Map;function XO(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,tc(a,{...JO,charset:t,colorCompatibility:n}));return r}const ZO={gitProvider:gO,usageStore:_O,contextProvider:bO,metricsProvider:xO,tmuxService:SO,log:j,clock:()=>new Date};function QO(e,t){let n=UD.get(e);if(!n)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return n(t,KO),{ok:!0,output:``}}catch(e){let t=e instanceof X?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const $O={connectMs:200,budgetMs:500};async function ek(e){let n=e.includes(`--json`),r=await tk();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${tt(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
187
+ `);return}t.stdout.write(ak(r.value))}function tk(){return Ye({kind:`stats`},$O,e=>`stats`in e?e.stats:void 0)}function nk(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function rk(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function ik(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function ak(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${ik(e.uptimeSec)}`),t.push(` rss ${nk(e.rssBytes)}`),t.push(` heapUsed ${nk(e.heapUsedBytes)}`),t.push(` heapTotal ${nk(e.heapTotalBytes)}`),t.push(` external ${nk(e.externalBytes)}`),t.push(` arrayBuffers ${nk(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${rk(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${rk(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
188
188
  `)+`
189
- `}const ZO={connectMs:200,budgetMs:500};async function QO(e,n){let r=n.includes(`--json`),i=await $O(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${tt(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
190
- `);return}t.stdout.write(ek(i.value))}function $O(e){return Ye({kind:`debug`,what:e},ZO,e=>`debug`in e?e.debug:void 0)}function ek(e){switch(e.what){case`vars`:return tk(e.vars);case`segments`:return nk(e.segments);case`config`:return rk(e.config);default:return e}}function tk(e){if(e.length===0)return`no variables (DSL not active)
191
- `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6);for(let i of e){let e=i.ageMs===null?``:` ${ak(i.ageMs)}`,a=i.lastError?` ✗ ${i.lastError.message}`:``;t.push(` ${i.name.padEnd(n)} ${(i.source??`—`).padEnd(r)} ${i.type.padEnd(7)} ${ik(i.value)}${e}${a}`)}return t.join(`
189
+ `}const ok={connectMs:200,budgetMs:500};async function sk(e,n){let r=n.includes(`--json`),i=await ck(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${tt(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
190
+ `);return}t.stdout.write(lk(i.value))}function ck(e){return Ye({kind:`debug`,what:e},ok,e=>`debug`in e?e.debug:void 0)}function lk(e){switch(e.what){case`vars`:return uk(e.vars);case`segments`:return dk(e.segments);case`config`:return fk(e.config);default:return e}}function uk(e){if(e.length===0)return`no variables (DSL not active)
191
+ `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6);for(let i of e){let e=i.ageMs===null?``:` ${mk(i.ageMs)}`,a=i.lastError?` ✗ ${i.lastError.message}`:``;t.push(` ${i.name.padEnd(n)} ${(i.source??`—`).padEnd(r)} ${i.type.padEnd(7)} ${pk(i.value)}${e}${a}`)}return t.join(`
192
192
  `)+`
193
- `}function nk(e){if(e.length===0)return`no segments (DSL not active)
193
+ `}function dk(e){if(e.length===0)return`no segments (DSL not active)
194
194
  `;let t=[`segments (${e.length})`,``];for(let n of e)t.push(` ${n.name}`),t.push(` template ${n.template}`),n.referencedVars.length>0&&t.push(` vars ${n.referencedVars.join(`, `)}`),n.lastRender!==null&&t.push(` last ${n.lastRender}`);return t.join(`
195
195
  `)+`
196
- `}function rk(e){return e===null?`config: DSL not active
196
+ `}function fk(e){return e===null?`config: DSL not active
197
197
  `:JSON.stringify(e,null,2)+`
198
- `}function ik(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function ak(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function ok(){let e=ck();return e===null?null:r.readFileSync(e,`utf-8`)}function sk(){let e;try{e=ok()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function ck(){let e=c.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=c.dirname(c.resolve(n));for(;;){let t=c.join(i,e);if(r.existsSync(t))return t;let n=c.dirname(i);if(n===i)return null;i=n}}function lk(e){let t=`/home/tester`,n=Math.floor(Date.now()/1e3);return{hook_event_name:`Status`,session_id:`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,version:`1.15.0`,home:t,cwd:`${t}/code/cc-candybar/src`,transcript_path:`${t}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:{current_dir:`${t}/code/cc-candybar/src`,project_dir:`${t}/code/cc-candybar`},git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:n+2*3600},weekly:{percentage:21,resetsAt:n+5*86400},cache:{expiresAt:n+900},tmux:{session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},theme:{effective:e.theme},look:{effective:e.look},preset:{effective:e.preset,customized:e.presetCustomized},style:{effective:e.style},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding}}}function uk(e,n=t.cwd()){let i=e===void 0?FS(n,n):c.resolve(AS(e));if(e!==void 0&&i!==null){let e;try{e=r.statSync(i,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:i,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:i,message:`not a file`}}let a=[],o=IS(n,n);o!==null&&a.push(o);try{return{kind:`clean`,configPath:i,warnings:a,rendered:dk(i,n,a)}}catch(e){let t=e;return i!==null&&typeof t==`object`&&t&&typeof t.code==`string`&&t.path===i&&typeof t.message==`string`?{kind:`unreadable`,path:i,message:t.message}:{kind:`fatal`,configPath:i,message:e instanceof dl||e instanceof Error?e.message:String(e),warnings:a}}}function dk(e,t,n){let{config:r,source:i}=LS(e,wC),a=RS(r,e??`<default>`,i),o=new mT,s=new cw(o,a.globals.default_empty_value??``,void 0,new wT);try{let e=cT(a,s,{cwd:t});n.push(...e.loadWarnings),Jv(a);let r=JS(a,()=>null,()=>!1),i=t=>{let n=new Map;return{rendered:uT(a,e,o,s,lk(t),dw(t.theme),{style:t.style,separator:t.separator,width:200,colorCompatibility:t.colorCompatibility,wrap:t.autoWrap,padding:t.padding,charset:t.charset},{onSegmentError:(e,t)=>n.set(e,t)},{look:Ls(a.looks,t.look),preset:t.preset}),segmentErrors:n}},c=i(r),l=i({...r,presetCustomized:!0}),u=[...[...c.segmentErrors].map(([e,t])=>`segment "${e}": ${t}`),...[...l.segmentErrors].filter(([e])=>!c.segmentErrors.has(e)).map(([e,t])=>`segment "${e}": ${t} (under .preset.customized = true)`)];if(u.length>0)throw Error(`config renders with ${u.length} segment error${u.length===1?``:`s`} (the daemon would render ⚠ error cells):\n`+u.map(e=>` ${e}`).join(`
199
- `));return c.rendered}finally{s.dispose()}}function fk(e){return e.map(e=>`warning: ${e}\n`).join(``)}function pk(e){switch(e.kind){case`clean`:return{stdout:`✓ ${e.configPath??`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`,stderr:fk(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:fk(e.warnings)+`✗ ${e.configPath??`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}function mk(e){(e.length>1||e[0]===``)&&(t.stderr.write(`check: expected at most one non-empty path
198
+ `}function pk(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function mk(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function hk(){let e=_k();return e===null?null:r.readFileSync(e,`utf-8`)}function gk(){let e;try{e=hk()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function _k(){let e=c.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=c.dirname(c.resolve(n));for(;;){let t=c.join(i,e);if(r.existsSync(t))return t;let n=c.dirname(i);if(n===i)return null;i=n}}function vk(e){let t=`/home/tester`,n=Math.floor(Date.now()/1e3);return{hook_event_name:`Status`,session_id:`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,version:`1.15.0`,home:t,cwd:`${t}/code/cc-candybar/src`,transcript_path:`${t}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:{current_dir:`${t}/code/cc-candybar/src`,project_dir:`${t}/code/cc-candybar`},git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:n+2*3600},weekly:{percentage:21,resetsAt:n+5*86400},cache:{expiresAt:n+900},tmux:{session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},theme:{effective:e.theme},look:{effective:e.look},preset:{effective:e.preset,customized:e.presetCustomized},style:{effective:e.style},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding}}}function yk(e,n=t.cwd()){let i=e===void 0?GS(n,n):c.resolve(BS(e));if(e!==void 0&&i!==null){let e;try{e=r.statSync(i,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:i,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:i,message:`not a file`}}let a=[],o=KS(n,n);o!==null&&a.push(o);try{return{kind:`clean`,configPath:i,warnings:a,rendered:bk(i,n,a)}}catch(e){let t=e;return i!==null&&typeof t==`object`&&t&&typeof t.code==`string`&&t.path===i&&typeof t.message==`string`?{kind:`unreadable`,path:i,message:t.message}:{kind:`fatal`,configPath:i,message:e instanceof pl||e instanceof Error?e.message:String(e),warnings:a}}}function bk(e,t,n){let{config:r,source:i}=qS(e,PC),a=JS(r,e??`<default>`,i),o=new CT,s=new vw(o,a.globals.default_empty_value??``,void 0,new NT);try{let e=vT(a,s,{cwd:t});n.push(...e.loadWarnings),ry(a);let r=iC(a,()=>null,()=>!1),i=t=>{let n=new Map;return{rendered:yT(a,e,o,s,vk(t),xw(t.theme),{style:t.style,separator:t.separator,width:200,colorCompatibility:t.colorCompatibility,wrap:t.autoWrap,padding:t.padding,charset:t.charset},{onSegmentError:(e,t)=>n.set(e,t)},{look:Ls(a.looks,t.look),preset:t.preset}),segmentErrors:n}},c=i(r),l=i({...r,presetCustomized:!0}),u=[...[...c.segmentErrors].map(([e,t])=>`segment "${e}": ${t}`),...[...l.segmentErrors].filter(([e])=>!c.segmentErrors.has(e)).map(([e,t])=>`segment "${e}": ${t} (under .preset.customized = true)`)];if(u.length>0)throw Error(`config renders with ${u.length} segment error${u.length===1?``:`s`} (the daemon would render ⚠ error cells):\n`+u.map(e=>` ${e}`).join(`
199
+ `));return c.rendered}finally{s.dispose()}}function xk(e){return e.map(e=>`warning: ${e}\n`).join(``)}function Sk(e){switch(e.kind){case`clean`:return{stdout:`✓ ${e.configPath??`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`,stderr:xk(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:xk(e.warnings)+`✗ ${e.configPath??`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}function Ck(e){(e.length>1||e[0]===``)&&(t.stderr.write(`check: expected at most one non-empty path
200
200
  Usage: cc-candybar check [config-file]
201
- `),t.exit(2));let n=pk(uk(e[0]));t.stdout.write(n.stdout),t.stderr.write(n.stderr),t.exit(n.code)}const hk=`${Ts}${ws}`;function gk(e){return`${hk}⚠ cc-candybar: ${_k(e)}\n`}function _k(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${Cs(e.message,60)}`;case`render_failed`:return`render failed: ${Cs(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${Cs(e.message,60)}`}}function vk(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
202
- `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:gk(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function yk(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}function bk(){return yk(t.env.COLUMNS,t.stderr.columns)}function xk(){return yk(t.env.LINES,t.stderr.rows)}const Sk=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`],Ck=e=>e.some(e=>t.argv.includes(e));function wk(){return Sk.some(e=>(t.env[e]??``)!==``)}function Tk(){console.log(dg)}async function Ek(){try{Ck(cg.help)&&(Tk(),t.exit(0)),Ck(cg.version)&&(console.log(`cc-candybar ${un}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await Vn(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(In(),t.exit(0)),e===`url-handle`){await Rn(t.argv[3]);return}if(e===`daemon`){SO();return}if(e===`daemon-stats`&&(await GO(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){mk(t.argv.slice(3));return}if(e===`schema`){sk();return}XD(e)&&(await QO(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
201
+ `),t.exit(2));let n=Sk(yk(e[0]));t.stdout.write(n.stdout),t.stderr.write(n.stderr),t.exit(n.code)}const wk=`${Ts}${ws}`;function Tk(e){return`${wk}⚠ cc-candybar: ${Ek(e)}\n`}function Ek(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${Cs(e.message,60)}`;case`render_failed`:return`render failed: ${Cs(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${Cs(e.message,60)}`}}function Dk(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
202
+ `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:Tk(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function Ok(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}function kk(){return Ok(t.env.COLUMNS,t.stderr.columns)}function Ak(){return Ok(t.env.LINES,t.stderr.rows)}const jk=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`],Mk=e=>e.some(e=>t.argv.includes(e));function Nk(){return jk.some(e=>(t.env[e]??``)!==``)}function Pk(){console.log(pg)}async function Fk(){try{Mk(ug.help)&&(Pk(),t.exit(0)),Mk(ug.version)&&(console.log(`cc-candybar ${un}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await B(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(Ln(),t.exit(0)),e===`url-handle`){await zn(t.argv[3]);return}if(e===`daemon`){jO();return}if(e===`daemon-stats`&&(await ek(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){Ck(t.argv.slice(3));return}if(e===`schema`){gk();return}aO(e)&&(await sk(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
203
203
 
204
204
  cc-candybar is designed to be used as a Claude Code statusLine command.
205
205
  It reads hook data from stdin and outputs formatted statusline.
@@ -215,4 +215,4 @@ Add to ~/.claude/settings.json:
215
215
  Run with --help for more options.
216
216
 
217
217
  To test output manually:
218
- echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),t.exit(1)),O(`Working directory: ${t.cwd()}`),O(`Process args:`,t.argv);let r=await n(t.stdin);O(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),Tk(),t.exit(1));let i=vk(await at(r,t.argv,t.cwd(),{termCols:bk(),termRows:xk(),ssh:wk()}));i.debug!==null&&O(i.debug),i.kick&&vt(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}Ek();export{};
218
+ echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),t.exit(1)),O(`Working directory: ${t.cwd()}`),O(`Process args:`,t.argv);let r=await n(t.stdin);O(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),Pk(),t.exit(1));let i=Dk(await at(r,t.argv,t.cwd(),{termCols:kk(),termRows:Ak(),ssh:Nk()}));i.debug!==null&&O(i.debug),i.kick&&vt(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}Fk();export{};