isorite 0.10.0 → 0.12.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.
- package/README.md +2 -5
- package/dist/core.js +184 -13
- package/dist/main.js +1018 -200
- package/docs/setup-for-agents.md +11 -36
- package/docs/setup.md +20 -61
- package/docs/terminal.md +28 -80
- package/package.json +2 -1
- package/web/_app/immutable/assets/0.BXPxx6Q0.css +1 -0
- package/web/_app/immutable/assets/5.rBvyRuST.css +1 -0
- package/web/_app/immutable/assets/{7.ljiu9bn5.css → 7.C00vyVPo.css} +1 -1
- package/web/_app/immutable/assets/Drawing.Q7J9MyIo.css +1 -0
- package/web/_app/immutable/assets/NoteEditor.S3q5lmKq.css +1 -0
- package/web/_app/immutable/assets/{NoteList.F579Zvj_.css → NoteList.E6jC-AtZ.css} +1 -1
- package/web/_app/immutable/assets/Timeline.LsRXYIBv.css +1 -0
- package/web/_app/immutable/assets/ground.hxi5N5fC.css +1 -0
- package/web/_app/immutable/chunks/4kgFUGOH.js +1 -0
- package/web/_app/immutable/chunks/8SS1q0nk.js +7 -0
- package/web/_app/immutable/chunks/{C5MPRibb.js → BK6pLgdi.js} +1 -1
- package/web/_app/immutable/chunks/{CiU6tYJv.js → Bk_JinGf.js} +1 -1
- package/web/_app/immutable/chunks/CFEI5lV9.js +1 -0
- package/web/_app/immutable/chunks/{6RXH8WsD.js → CiMp12cC.js} +1 -1
- package/web/_app/immutable/chunks/{BcgO-fBX.js → D4YEq54N.js} +1 -1
- package/web/_app/immutable/chunks/{CsRPJjQS.js → DDCg82xL.js} +1 -1
- package/web/_app/immutable/chunks/DThNJvmp.js +1 -0
- package/web/_app/immutable/chunks/{DQjIi5Jv.js → D_jbSWJl.js} +1 -1
- package/web/_app/immutable/chunks/DbeMVOH4.js +1 -0
- package/web/_app/immutable/chunks/DsQj0LyB.js +523 -0
- package/web/_app/immutable/chunks/{CBkjDkEN.js → Uo6irDQW.js} +80 -79
- package/web/_app/immutable/chunks/{DCD8_jrW.js → jTXVas70.js} +1 -1
- package/web/_app/immutable/entry/app.CvK8zypr.js +2 -0
- package/web/_app/immutable/entry/start.Dcgm6sQd.js +1 -0
- package/web/_app/immutable/nodes/0.0TdRBEoR.js +26 -0
- package/web/_app/immutable/nodes/{1.rzuq9VRh.js → 1.Dchqgt4j.js} +1 -1
- package/web/_app/immutable/nodes/2.C0CMUdSu.js +1 -0
- package/web/_app/immutable/nodes/3.MjtWDMWd.js +1 -0
- package/web/_app/immutable/nodes/4.hhS0SQta.js +2 -0
- package/web/_app/immutable/nodes/5.C33_cw2J.js +9 -0
- package/web/_app/immutable/nodes/6.owNfwwRl.js +1 -0
- package/web/_app/immutable/nodes/7.BpxHVHoY.js +1 -0
- package/web/_app/version.json +1 -1
- package/web/index.html +20 -18
- package/web/kit/chart.js +55 -0
- package/web/kit/isorite.css +32 -0
- package/web/kit/kit.css +80 -0
- package/web/kit/kit.js +543 -0
- package/web/kit/licenses/d3.txt +13 -0
- package/web/kit/licenses/interval-tree-1d.txt +22 -0
- package/web/kit/licenses/isoformat.txt +13 -0
- package/web/kit/licenses/katex.txt +21 -0
- package/web/kit/licenses/observablehq-plot.txt +13 -0
- package/web/kit/licenses/three.txt +21 -0
- package/web/kit/math.css +1 -0
- package/web/kit/math.js +257 -0
- package/web/kit/model.js +4236 -0
- package/web/kit/plain.css +16 -0
- package/web/_app/immutable/assets/0.CPW9fjPu.css +0 -1
- package/web/_app/immutable/assets/5.TsqJFEFF.css +0 -1
- package/web/_app/immutable/assets/NoteEditor.Wt5vU9Tb.css +0 -1
- package/web/_app/immutable/assets/Timeline.KTc3LKuK.css +0 -1
- package/web/_app/immutable/chunks/B0A4Snxv.js +0 -6
- package/web/_app/immutable/chunks/B8Qvvm53.js +0 -1
- package/web/_app/immutable/chunks/BJo70SOc.js +0 -1
- package/web/_app/immutable/chunks/BYSDTLqw.js +0 -1
- package/web/_app/immutable/chunks/BimZp6R0.js +0 -523
- package/web/_app/immutable/chunks/DlKQFacy.js +0 -1
- package/web/_app/immutable/chunks/c7PFFMl4.js +0 -1
- package/web/_app/immutable/entry/app.iw6ZIOh2.js +0 -2
- package/web/_app/immutable/entry/start.CFnKMSWs.js +0 -1
- package/web/_app/immutable/nodes/0.BzEgwgsa.js +0 -26
- package/web/_app/immutable/nodes/2.D_jWsQLW.js +0 -1
- package/web/_app/immutable/nodes/3.BzRx3SiD.js +0 -1
- package/web/_app/immutable/nodes/4.DP2MGav1.js +0 -2
- package/web/_app/immutable/nodes/5.BPS-CCQT.js +0 -5
- package/web/_app/immutable/nodes/6.DQMCyNJ3.js +0 -1
- package/web/_app/immutable/nodes/7.MWEn-qPC.js +0 -1
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{$ as e,A as t,C as n,E as r,F as i,G as a,H as o,I as s,J as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,T as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_ as w,at as T,c as E,ct as D,d as O,et as k,f as A,ft as j,g as M,gt as N,h as P,ht as F,i as I,j as L,l as R,m as z,mt as B,n as ee,nt as V,p as H,pt as U,q as te,rt as W,st as ne,tt as G,u as K,ut as re,v as ie,vt as ae,w as oe,x as se,y as ce,z as q}from"../chunks/Iqr2CudW.js";import{o as le,t as ue}from"../chunks/c7PFFMl4.js";import"../chunks/xihTtKlq.js";import{b as de,c as fe,o as pe,r as me,s as J,t as Y}from"../chunks/CBkjDkEN.js";import{b as X,d as he,f as ge,i as _e,m as Z,p as ve,t as ye,v as be}from"../chunks/BimZp6R0.js";import{i as xe,t as Se}from"../chunks/BJo70SOc.js";import{i as Q,n as Ce,r as we,t as Te}from"../chunks/DlKQFacy.js";import{t as Ee}from"../chunks/DQjIi5Jv.js";import{t as De}from"../chunks/B8Qvvm53.js";import{i as Oe,n as ke,r as Ae,t as je}from"../chunks/BYSDTLqw.js";var Me={name:`openrouter`,url:`https://openrouter.ai/api/v1`,cacheMarks:!0,tiers:{low:`anthropic/claude-haiku-4.5`,mid:`anthropic/claude-sonnet-5.5`,max:`anthropic/claude-opus-5.5`},prices:{},auth:`https://openrouter.ai/auth`},Ne=`physics`,Pe=`integrators`,Fe=`algorithms`,Ie=`simulation`,Le=(e,t)=>`${e}/${t}`;Le(Ne,`newtons-law-of-gravitation`),Le(Ne,`the-n-body-problem`),Le(Ne,`units`),Le(Ne,`energy-conservation`),Le(Ne,`softening`),Le(Pe,`eulers-method`),Le(Pe,`leapfrog`),Le(Pe,`symplectic-integrators`),Le(Pe,`choosing-the-timestep`),Le(Fe,`direct-summation`),Le(Fe,`centre-of-mass`),Le(Fe,`the-quadtree`),Le(Fe,`barnes-hut`),Le(Fe,`cost-and-accuracy`),Le(Ie,`the-main-loop`),Le(Ie,`initial-conditions`),Le(Ie,`diagnostics`),Le(Ie,`two-galaxies-colliding`);var Re=`$F = G m_1 m_2 / d^2 = 1 \\cdot \\tfrac12 \\cdot \\tfrac12 / 1 = \\tfrac14$.
|
|
2
|
-
|
|
3
|
-
Each accelerates at $a = F/m = \\tfrac14 / \\tfrac12$.
|
|
4
|
-
|
|
5
|
-
So each accelerates at $\\tfrac12$, towards the other.`,ze=`$M = 1 + 2 + 1 = 4$.
|
|
6
|
-
|
|
7
|
-
$\\mathbf{R} = (1 \\cdot (0,0) + 2 \\cdot (3,0) + 1 \\cdot (0,4)) / 4 = (6, 4)/4$.
|
|
8
|
-
|
|
9
|
-
So $\\mathbf{R} = (1.5, 1)$, with $M = 4$.`,Be=`The drift falls as $\\Delta t^2$; at $T/100$ it is a few parts in a million.
|
|
10
|
-
|
|
11
|
-
So $\\Delta t = 2\\pi/100 \\approx 0.06$ is enough.
|
|
12
|
-
|
|
13
|
-
Check: record $E$ every 100 steps and plot the drift; halve $\\Delta t$ and it should fall by four.`;[20,17,12,5,2].map(e=>({day:e,working:Re})),[6,4,2,1].map(e=>({day:e,working:ze})),[11,7].map(e=>({day:e,working:Be}));var Ve=`surfaces`,He=`curvature`,Ue=`global`,We=(e,t)=>`${e}/${t}`;We(Ve,`regular-surfaces`),We(Ve,`first-ff`),We(Ve,`second-ff`),We(Ve,`orientable`),We(He,`gaussian-curvature`),We(He,`egregium`),We(He,`gauss-equation`),We(He,`geodesic-curvature`),We(Ue,`euler`);var Ge=We(Ue,`gauss-bonnet`);We(Ue,`triangulations`);var Ke=We(Ue,`where-is-compactness-used`);We(Ve,`why-ii-changes-sign`),We(He,`derivatives-when-f-is-zero`),We(Ue,`kg-at-the-corners`);var qe=We(Ue,`total-curvature-of-the-torus`),Je=We(Ue,`angles-of-a-geodesic-triangle`);We(Ue,`gauss-bonnet-and-the-mobius-band`),We(He,`curvature-of-a-sphere`),We(He,`curvature-of-the-saddle`),We(He,`the-cylinder-and-the-plane`),We(He,`k-from-e-and-g-alone`),We(He,`catenoid-and-helicoid`),We(Ue,`chi-of-a-surface-of-genus-g`),`${Ge}${qe}${Ge}${Ke}${Je}`;var Ye=ae({load:()=>Xe});async function Xe(){return await Y.load(),{}}var Ze=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,Qe=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),$e=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function et(e){let t=[];for(let n of e.matchAll(Ze)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function tt(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
|
|
14
|
-
|
|
15
|
-
`:i.test(r.split(`
|
|
16
|
-
`).at(-1))?`
|
|
17
|
-
`:`
|
|
18
|
-
|
|
19
|
-
`}[${n.replace(/[[\]]/g,``)}](/${$e(t)}.md)\n`}function nt(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${Qe($e(t))}\\.md\\)`,r=e.split(`
|
|
20
|
-
`),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||et(i.join(`
|
|
21
|
-
`)).includes(t)?null:i.join(`
|
|
22
|
-
`).replace(/\n{3,}/g,`
|
|
23
|
-
|
|
24
|
-
`).replace(/\s+$/,``)+`
|
|
25
|
-
`}function rt(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var it=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,at=J(`isorite.atlas.drafts`),ot=()=>{try{return JSON.parse(localStorage.getItem(at)??`{}`)}catch{return{}}},st=e=>ot()[e]??null;function ct(e,t,n){for(let r=1;;r++){let i=r===1?t:`${t}-${r}`;if(n([e,i].filter(Boolean).join(`/`)))return{slug:i,n:r}}}async function lt(e,t){let n=Y.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=ct(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await Y.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await Y.refresh(),Q.fresh=a,await Q.open(a,!0),a}var ut=u(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),dt=u(`<span class="label over svelte-1a0w8ls"> </span>`),ft=u(`<div class="dock svelte-1a0w8ls" role="region" aria-label="Notes linked to the note for Iso"><i class="dia open" aria-hidden="true"></i> <div class="what svelte-1a0w8ls"><span class="name svelte-1a0w8ls"> </span> <span class="label" role="status"> </span></div> <ol class="grow svelte-1a0w8ls"></ol> <!> <a class="btn primary tall svelte-1a0w8ls">back to it</a></div>`);function pt(e,i){D(i,!0);let a=I(i,`notice`,3,``),o=W(()=>i.picked.reduce((e,t)=>e+t.tokens,0)),s=W(()=>q(o)>i.budget),c=W(()=>[`${i.picked.length} linked`,i.picked.length?`${it(q(o))} tokens`:``,q(s)?`over ${it(i.budget)}`:``,a()].filter(Boolean).join(` · `));var l=ft(),u=m(S(l),2),d=S(u),p=C(d,!0),h=m(d,2),g=C(h,!0);U(u);var _=m(u,2);n(_,23,()=>i.picked,e=>e.id,(e,n,r)=>{var i=ut(),a=S(i),o=C(a,!0),s=m(a),c=C(s,!0),l=m(s),u=C(l,!0);U(i),b(e=>{f(o,q(r)+1),f(c,q(n).title),f(u,e)},[()=>it(q(n).tokens)]),t(e,i)}),U(_);var v=m(_,2),y=e=>{var n=dt(),r=C(n);b(e=>f(r,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>it(i.budget)]),t(e,n)};r(v,e=>{q(s)&&e(y)});var x=m(v,2);U(l),b(()=>{f(p,i.title||`a new note`),f(g,q(c)),H(x,`href`,i.href)}),t(e,l),ne()}var $=new class{#e=G(``);get id(){return q(this.#e)}set id(e){k(this.#e,e,!0)}#t=G([]);get turns(){return q(this.#t)}set turns(e){k(this.#t,e)}#n=G(``);get streaming(){return q(this.#n)}set streaming(e){k(this.#n,e,!0)}#r=G(null);get retrying(){return q(this.#r)}set retrying(e){k(this.#r,e)}#i=G(``);get problem(){return q(this.#i)}set problem(e){k(this.#i,e,!0)}#a=G(null);get report(){return q(this.#a)}set report(e){k(this.#a,e)}#o=G(`chat`);get view(){return q(this.#o)}set view(e){k(this.#o,e,!0)}#s=G([]);get off(){return q(this.#s)}set off(e){k(this.#s,e)}#c=G(!1);get summing(){return q(this.#c)}set summing(e){k(this.#c,e,!0)}async toggle(e){if(this.problem=``,/^[rtb]:/.test(e.key)){if(!this.id)return;try{await Y.api.setContext(this.id,e.key,!e.on)}catch(e){this.problem=e.message}}else this.off=this.off.includes(e.key)?this.off.filter(t=>t!==e.key):[...this.off,e.key];this.measure()}takeOut(e){let t=e.given;if(!t)return;let n=Z.parts.find(e=>e.kind===t.kind&&e.id===t.id&&(t.kind!==`passage`||e.kind===`passage`&&e.text===t.text));n&&Z.remove(n),this.off=this.off.filter(t=>t!==e.key)}async compact(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{await Y.api.compact(this.id)}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}async branch(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{let{conversation:e}=await Y.api.branch(this.id);this.id=e,this.turns=[],this.streaming=``,this.off=this.off.filter(e=>!/^[rtb]:/.test(e))}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}sizeOf(e){let t=this.report?.given?.find(t=>t.kind===e.kind&&t.id===e.id&&(e.kind!==`passage`||t.text===e.text));return t?t.tokens:null}started=!1;timer;get running(){let e=this.turns.at(-1);return e?.state===`running`?e:null}start(){!this.started&&Y.api&&(this.started=!0,Y.api.conversation().then(e=>{e&&!this.id&&this.show(e)},()=>void 0),Y.on(e=>this.follow(e)),this.measure())}async again(e){if(this.problem=``,this.running||e.state!==`failed`)return!1;this.off=this.off.includes(e.id)?this.off:[...this.off,e.id];try{let{conversation:t}=await Y.api.converse({conversation:e.conversation,mode:e.mode,asked:e.asked,given:e.given,tier:e.tier,off:this.off});return this.id=t,!0}catch(e){return this.problem=e.message,!1}}show(e){this.id=e.id,this.turns=e.turns}fresh(){this.running||(this.id=``,this.turns=[],this.streaming=``,this.off=[],this.measure())}async send(e){if(this.problem=``,!e.trim()||this.running)return!1;try{let t=Z.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id}),{conversation:n}=await Y.api.converse({...this.id?{conversation:this.id}:{},mode:Q.mode,asked:e.trim(),given:t,tier:ve.tier,...this.off.length?{off:this.off}:{}});return this.id=n,!0}catch(e){return this.problem=e.message,!1}}async stop(){let e=this.running;e&&await Y.api.stop(e.id)}async undo(e){this.problem=``;try{await Y.api.undoTurn(this.id,e)}catch(e){this.problem=e.message}}async take(e,t){this.problem=``;try{await Y.api.takeItem(this.id,e,t)}catch(e){this.problem=e.message}}async answer(e,t){let n=this.running;n&&await Y.api.answer(n.id,e,t)}follow(e){if(e.type===`iso-start`&&e.place.form===`turn`){if(this.id&&e.place.conversation!==this.id)return;this.id=e.place.conversation,this.streaming=``,this.turns=[...this.turns.filter(t=>t.id!==e.request),{id:e.request,conversation:e.place.conversation,at:new Date().toISOString(),mode:e.place.mode,asked:e.asked,given:e.place.given,tier:e.tier,items:[],state:`running`}];return}if(!(`request`in e)){(e.type===`note-changed`||e.type===`journal`||e.type===`context`&&e.conversation===this.id)&&this.measure();return}let t=this.turns.findIndex(t=>t.id===e.request);if(t<0)return;let n=this.turns[t],r=e=>{this.turns=this.turns.map((n,r)=>r===t?e:n)};e.type===`iso-retry`?this.retrying={retry:e.retry,of:e.of}:(this.retrying=null,e.type===`iso-text`?this.streaming=e.again?e.delta:this.streaming+e.delta:e.type===`iso-item`?(e.item.kind===`text`&&(this.streaming=``),r({...n,items:[...n.items,e.item]})):e.type===`iso-taken`?r({...n,items:n.items.map(t=>t.kind===`question`&&t.id===e.item?{...t,made:e.note}:t.kind===`offer`&&t.id===e.item?{...t,taken:!0}:t)}):e.type===`iso-answer`?r({...n,items:n.items.map(t=>t.kind===`permission`&&t.id===e.permission?{...t,answer:e.decision}:t)}):e.type===`iso-done`?(r({...n,state:`done`,cost:e.cost}),this.streaming=``,this.measure()):e.type===`iso-stopped`?(r({...n,state:`stopped`,...this.streaming?{items:[...n.items,{kind:`text`,text:this.streaming}]}:{}}),this.streaming=``):e.type===`iso-failed`&&(r({...n,state:`failed`,message:e.message}),this.streaming=``))}measure(){clearTimeout(this.timer),this.timer=setTimeout(()=>{if(!Y.api)return;let e=Z.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});Y.api.turnContext({...this.id?{conversation:this.id}:{},mode:Q.mode,given:e,tier:ve.tier,...this.off.length?{off:this.off}:{}}).then(e=>this.report=e,()=>void 0)},250)}},mt=4.5,ht=.04;function gt(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var _t=new WeakMap;function vt(e){let t=_t.get(e);return t||_t.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function yt(e,t){let n=[];return e.items.forEach((r,i)=>{let a=r.parent<0||n[r.parent]===`o`;n[i]=a?r.kind===`folder`&&e.cell*t>=1.2&&Math.max(r.w,r.h)*e.cell*t>=53?`o`:`s`:`-`}),n.join(``)}function bt(e,t,n){let r=e.up[n];for(let e=r.length-1;e>=0;e--)if(t[r[e]]!==`o`)return r[e];return n}function xt(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var St=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function Ct(e,t,n,r){let i=new Set(t.up[r]),a=t.up[n].find(e=>i.has(e))??-1,o=e=>{let n=[e];for(let r of t.up[e]){if(r===a)break;n.push(r)}return n},s=o(n),c=o(r),l=t.trunkAt.get(`${s.at(-1)}|${c.at(-1)}`);if(l===void 0||!e.trunks[l].pts||s.length<2&&c.length<2)return null;let u=(t,n=0)=>{let r=e.feeders[t];if(r.via<0||n>40)return r.pts;let i=u(r.via,n+1),a=i.findIndex(e=>St(e,r.pts.at(-1)));return a<0?r.pts:[...r.pts,...i.slice(a+1)]},d=e=>{let n=[];for(let r=0;r+1<e.length;r++){let i=t.feederAt.get(`${l}|${e[r+1]}|${e[r]}`);if(i===void 0)return null;n=n.concat(u(i))}return n},f=d(c),p=d(s);if(!f||!p)return null;let m=[...f,...e.trunks[l].pts,...p.reverse()];return m.filter((e,t)=>!t||!St(e,m[t-1]))}var wt=[`uses`,`builds`,`requires`,`iso`];function Tt(e,t=!1){let n=e=>`${Math.round(e[0]*100)},${Math.round(e[1]*100)}`,r=new Map,i=new Map;for(let t of e){let e=wt.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:wt[h.kind],flow:+!!_})};for(let[e,t]of i)if(t.length!==2||!l(r.get(t[0]),s(r.get(t[0]),e),r.get(t[1])))for(let n of t)u.has(n)||p(e,n);for(let[e,t]of r)u.has(e)||p(t.a,e);return d}function Et(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=bt(t,n,s),u=bt(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??Ct(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function Dt(e,t){if(!t)return e;let n=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r)||1;return n/=i,r/=i,(n<-1e-6||Math.abs(n)<1e-6&&r<0)&&(n=-n,r=-r),[-r,n]};return e.map((r,i)=>{let a=i>0?n(e[i-1],r):n(r,e[i+1]),o=i<e.length-1?n(r,e[i+1]):a,s=1+a[0]*o[0]+a[1]*o[1];return s<.2?[r[0]+a[0]*t,r[1]+a[1]*t]:[r[0]+(a[0]+o[0])/s*t,r[1]+(a[1]+o[1])/s*t]})}function Ot(e,t=0,n=7){let r=Dt(e.map(([e,t])=>[e*n,t*n]),t*2.2),i=Math.min(n,10.5)*.9,a=r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>.001),o=e=>String(Math.round(e*10)/10),s=`M${o(a[0][0])} ${o(a[0][1])}`;for(let e=1;e<a.length-1;e++){let t=a[e-1],n=a[e],r=a[e+1],c=Math.hypot(n[0]-t[0],n[1]-t[1])||1,l=Math.hypot(r[0]-n[0],r[1]-n[1])||1;if(!(Math.abs((n[0]-t[0])*(r[0]-n[0])+(n[1]-t[1])*(r[1]-n[1]))<.001*c*l)){s+=`L${o(n[0])} ${o(n[1])}`;continue}let u=Math.min(i,c/2,l/2);s+=`L${o(n[0]-(n[0]-t[0])/c*u)} ${o(n[1]-(n[1]-t[1])/c*u)}L${o(n[0]+(r[0]-n[0])/l*u)} ${o(n[1]+(r[1]-n[1])/l*u)}`}let c=a.at(-1);return s+`L${o(c[0])} ${o(c[1])}`}function kt(e,t,n){let r=n?t[0]-e[0]:t[1]-e[1],i=n?t[1]-e[1]:t[0]-e[0],a=Math.abs(r),o=Math.abs(i),s=Math.sign(r),c=Math.sign(i),l=(t,r)=>n?[e[0]+t,e[1]+r]:[e[0]+r,e[1]+t];if(a>=o){let e=(a-o)/2;return[l(0,0),l(s*e,0),l(s*(e+o),c*o),l(r,i)]}let u=a/2;return[l(0,0),l(s*u,c*u),l(s*u,c*(o-u)),l(r,i)]}function At(e,t,n,r=3,i=7){let a=Math.max(ht,Math.min(r,.96*Math.min(t/((e.w+4)*i),n/((e.h+4)*i))));return{k:a,x:t/2-a*(e.gx+e.w/2)*i,y:n/2-a*(e.gy+e.h/2)*i}}function jt(e,t,n,r){let i=Math.max(ht,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function Mt(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var Nt=1;function Pt(e,t,n){if(!n.web&&!n.code&&!n.pictures)return[];let r=[];for(let i of e){let e=t[i.ref],a=[...(e?.links??[]).filter(e=>n[e.kind]).map(e=>({kind:e.kind,href:e.href,text:e.text,broken:!!e.broken})),...(n.pictures?e?.pictures??[]:[]).map(e=>({kind:`picture`,href:e.href,text:e.text,broken:!!e.broken,picture:{path:e.path,from:e.from}}))],o=Math.max(1,Math.floor((i.h+Nt)/4));a.forEach((e,t)=>{let n=Math.floor(t/o),a=t%o;r.push({...e,key:`${i.ref} ${e.kind===`picture`?`picture:`:``}${e.href}`,note:i.ref,gx:i.gx+i.w+Nt+n*4,gy:i.gy+a*4})})}return r}var Ft=2;function It(e){let{W:t,H:n,items:r}=e,i=new Int8Array(t*n),a=new Uint8Array(t*n),o=new Int32Array(t*n).fill(-1),s=new Int32Array(t*n).fill(-1),c=r.map((e,t)=>t).filter(e=>r[e].kind===`folder`).sort((e,t)=>r[e].depth-r[t].depth||e-t);for(let e of c){let n=r[e];for(let r=n.gy;r<n.gy+n.h;r++)for(let a=n.gx;a<n.gx+n.w;a++)i[r*t+a]=n.depth,o[r*t+a]=e}r.forEach((e,n)=>{if(e.kind===`note`)for(let r=e.gy;r<e.gy+e.h;r++)for(let i=e.gx;i<e.gx+e.w;i++)a[r*t+i]=1,s[r*t+i]=n});let l=new Uint8Array(t*n),u=e.keep??Ft,d=(e,r,i,a)=>{for(let o=Math.max(0,r);o<Math.min(n,a);o++)for(let n=Math.max(0,e);n<Math.min(t,i);n++)l[o*t+n]=1};for(let e of r)e.kind===`note`?d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u):(d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+u),d(e.gx-u,e.gy+e.h-u,e.gx+e.w+u,e.gy+e.h+u),d(e.gx-u,e.gy-u,e.gx+u,e.gy+e.h+u),d(e.gx+e.w-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u));return{W:t,H:n,elev:i,blocked:a,owner:o,noteAt:s,close:l}}function Lt(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var Rt={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function zt(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...Rt,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&Vt(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=Bt(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=Ut(Ht(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),R=.001**(1/I);for(let e=0;e<I;e++,L*=R){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function Bt(e,t){let n=Array(e).fill(0);for(let[e,r,i]of t)n[e]+=i,n[r]-=i;let r=[...Array(e).keys()].sort((e,t)=>n[t]-n[e]||e-t),i=Array(e);return r.forEach((e,t)=>{i[e]=t}),i}function Vt(e,t,n,r){let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0}function Ht(e,t){let n=2166136261;for(let r of[...e.flat(),...t.flat()])n^=r|0,n=Math.imul(n,16777619);return n>>>0}function Ut(e){return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Wt={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},Gt={fine:Wt,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};Wt.pad;var Kt=1.4,qt=8,Jt=12,Yt=Wt.note,Xt=0,Zt=0,Qt=0,$t=0,en=0,tn=0,nn=0,rn=0,an=0,on=2,sn=0,cn=0;function ln(e){({note:Yt,gap:Xt,gapFolders:Zt,channel:Qt,channelFolders:$t,head:en,margin:tn,minFolder:nn,slant:rn,pad:an,keep:on}=e),sn=Yt[0]+Xt,cn=3*sn}function un(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=Gt[n]??Wt;ln(s);let c=e=>e.kind===`dir`,l=new Map,u=new Map,d=[e.root];for(let e=0;e<d.length;e++)for(let t of d[e].children||[])l.set(t,d[e]),c(t)?d.push(t):u.set(t.ref,t);let f=e=>{let t=[];for(let n=e;n;n=l.get(n))t.push(n);return t.reverse()},p=new Map(d.map(e=>[e,new Map])),m=new Map;for(let e of d){m.set(e,m.size);for(let t of e.children||[])c(t)||m.set(t,m.size)}let h=new Map(u);if(e.code)for(let t of d)t!==e.root&&!h.has(t.ref)&&h.set(t.ref,t);for(let[t,n,r]of e.edges){if(r<2)continue;let e=h.get(t),i=h.get(n);if(!e||!i||e===i)continue;let a=f(e),o=f(i),s=0;for(;a[s+1]&&a[s+1]===o[s+1];)s++;if(!a[s+1]||!o[s+1])continue;let c=p.get(a[s]),l=o[s+1],u=a[s+1],d=m.get(l)+`|`+m.get(u),g=c.get(d)||{p:l,q:u,weight:0,count:0};g.weight+=r,g.count++,c.set(d,g)}let g=new Map,_=new Map,v={},y=new Map,b=e=>e===`up`?`right`:`up`,x=(t,n)=>{let r=t.children||[];for(let e of r)c(e)?x(e,b(n)):g.set(e,{w:Yt[0],h:Yt[1]});let i=r.length?S(t,r,n):{w:0,h:0};g.set(t,t===e.root?i:r.length?{w:Math.max(nn,i.w+2*an),h:i.h+an+en+an}:{w:nn,h:en+2*an})};function S(e,t,n){if(r&&t.some(c))return C(e,t,n);let i=new Map(t.map(e=>[e,e])),a=e=>{for(;i.get(e)!==e;)e=i.get(e);return e};for(let t of p.get(e).values()){let e=a(t.p),n=a(t.q);e!==n&&i.set(n,e)}let o=new Map,s=new Set([...p.get(e).values()].flatMap(e=>[e.p,e.q]));for(let e of t){let t=s.has(e)?a(e):null;o.set(t,[...o.get(t)||[],e])}if(o.size<2){let r=w(e,t,n);return y.set(e,r.out),{w:r.w,h:r.h}}let l=[...o].map(([t,r],i)=>({list:r,loose:t===null,k:i,...w(e,r,n)}));l.sort((e,t)=>e.loose-t.loose||t.w*t.h-e.w*e.h||e.k-t.k);let u=t.some(c)?Zt:Xt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*Kt)),...l.map(e=>e.w)),m=0,h=0,_=0,v=0,b=[];for(let e of l){m&&m+e.w>f&&(m=0,h+=_+u,_=0);for(let t of e.list){let e=g.get(t);e.x+=m,e.y+=h}for(let t of e.out)b.push({...t,pts:t.pts&&t.pts.map(([e,t])=>[e+m,t+h])});v=Math.max(v,m+e.w),_=Math.max(_,e.h),m+=e.w+u}return y.set(e,b),{w:v,h:h+_}}function C(t,n,r){let s=new Map(n.map((e,t)=>[e,t])),l=[...p.get(t).values()].filter(e=>s.has(e.p)&&s.has(e.q)),u=t===e.root?``:t.ref,d=a?.get(u),f=(e,t)=>d?.wider.get([n[e].ref,n[t].ref].sort().join(`|`))??0,m=(e,t)=>(c(n[e])||c(n[t])?Zt:Xt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/Rt.shape:Rt.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=zt(h,l.map(e=>[s.get(e.p),s.get(e.q),e.count]),m,r,{shape:b,...i,pair:d?.pair,start:x});_.set(u,C.pair),v[u]=C.pair.map(e=>e.map(e=>n[e].ref)),n.forEach((e,t)=>Object.assign(g.get(e),{x:C.x[t],y:C.y[t]}));let w=e=>r===`right`?C.x[e]+h[e][0]/2:-(C.y[e]+h[e][1]/2),T=new Map;for(let e of l)T.set(e.p,[...T.get(e.p)||[],e.q]);let E=(e,t)=>{let n=new Set,r=(T.get(e)||[]).filter(e=>e!==t);for(;r.length;){let e=r.pop();if(e===t)return!0;n.has(e)||(n.add(e),r.push(...T.get(e)||[]))}return!1};return y.set(t,l.map(e=>({p:e.p,q:e.q,count:e.count,back:w(s.get(e.p))>w(s.get(e.q)),implied:!c(e.p)&&!c(e.q)&&E(e.p,e.q),pts:null}))),{w:C.w,h:C.h}}function w(e,t,n){let r=t.length,i=new Map(t.map((e,t)=>[e,t])),a=n===`up`,o=t.some(c)?Zt:Xt,s=t.map(e=>a?g.get(e).h:g.get(e).w),l=t.map(e=>a?g.get(e).w:g.get(e).h),u=[...p.get(e).values()].filter(e=>i.has(e.p)&&i.has(e.q)).map(e=>({...e,p:i.get(e.p),q:i.get(e.q)})),d=fn(r,u.map(e=>[e.p,e.q,e.weight]));for(let e of u)e.back=d[e.p]>d[e.q],e.u=e.back?e.q:e.p,e.v=e.back?e.p:e.q;let f=u.filter(e=>!e.back),m=Array(r).fill(0),h=t.map(()=>[]),_=t.map(()=>[]);for(let e of u)h[e.v].push(e.u),_[e.u].push(e.v);let v=t.map(()=>[]);for(let e of f)v[e.p].push(e.q);for(let e of[...Array(r).keys()].sort((e,t)=>d[e]-d[t]))for(let t of h[e])m[e]=Math.max(m[e],m[t]+1);for(let e=0;e<r;e++)!h[e].length&&_[e].length&&(m[e]=Math.min(..._[e].map(e=>m[e]))-1);let y=(e,t,n)=>{let r=new Set,i=v[e].filter(e=>e!==n);for(;i.length;){let e=i.pop();if(e===t)return!0;r.has(e)||(r.add(e),i.push(...v[e]))}return!1};for(let e of f)e.implied=!c(t[e.p])&&!c(t[e.q])&&y(e.p,e.q,e.q);let b=u.filter(e=>!e.implied).sort((e,t)=>t.weight-e.weight||e.p-t.p||e.q-t.q),x=t.reduce((e,t,n)=>e+(l[n]+o)*(s[n]+Qt),0),S=Math.max(Math.ceil(Math.sqrt(a?x*Kt:x/Kt)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,R=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}R.set(e,t)}let z=e=>e>=r,B=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{B[e]=t}));let ee=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+B[t],0)/t[e].length:B[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||B[e]-B[t]),C[e].forEach((e,t)=>{B[e]=t})},V=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([B[e],B[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},H=()=>{let e=(e,t,n)=>{let r=0;for(let i of n[e])for(let e of n[t])r+=B[i]>B[e]?1:B[i]<B[e]?-1:0;return r};for(let t=!0,n=0;t&&n<qt;n++){t=!1;for(let n of C)for(let r=0;r+1<n.length;r++){let i=n[r],a=n[r+1];e(i,a,M)+e(i,a,N)>0&&(n[r]=a,n[r+1]=i,B[i]=r+1,B[a]=r,t=!0)}}},U=C.map(e=>[...e]),te=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,W=null,ne=1/0;for(let e of[e=>e,e=>[...e].sort(te),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(U[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&ne>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)ee(e,M);else for(let e=C.length-2;e>=0;e--)ee(e,N);H();let r=V();r<t&&(t=r,n=0),r<ne&&(ne=r,W=C.map(e=>[...e]))}}W&&C.forEach((e,t)=>{e.splice(0,e.length,...W[t]),e.forEach((e,t)=>{B[e]=t})});let G=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?on:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=G(e[r-1],n)),K[n]=t,t+=j[n]})}let re=e=>e.length?K[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(re));for(let e of C){let t=(ie-re(e))/2;for(let n of e)K[n]+=t}let ae=e=>K[e]+j[e]/2;for(let e=0;e<Jt;e++)for(let t of e%2?[...C].reverse():C){if(!t.length)continue;let e=t.map(e=>{let t=[...M[e],...N[e]];return(t.length?t.reduce((e,t)=>e+ae(t),0)/t.length:ae(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+G(t[i-1],r)):e[i]});for(let n=t.length-1;n>=0;n--)r[n]=n<t.length-1?Math.min(e[n],r[n+1]-j[t[n]]-G(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),se=Array(j.length).fill(-1),ce=Array(j.length).fill(-1);for(let e of[!0,!1])for(let t=1;t<C.length;t++){let n=C[t].filter(e=>se[e]>=0).map(e=>[B[se[e]],B[e]]);for(let r of C[t]){if(se[r]>=0||!M[r].length)continue;let t=[...M[r]].sort((e,t)=>B[e]-B[t]),i=(t.length-1)/2,a=t.map((e,t)=>[e,Math.abs(t-i)]).filter(([t])=>ce[t]<0&&(!e||z(t)&&z(r))&&Math.abs(K[t]+oe(t)-K[r]-oe(r))<=(e?cn:sn)).sort((e,t)=>e[1]-t[1]||B[e[0]]-B[t[0]]);for(let[e]of a)if(!n.some(([t,n])=>t<B[e]!=n<B[r])){se[r]=e,ce[e]=r,n.push([B[e],B[r]]);break}}}let q=Array(j.length).fill(-1),le=0;for(let e=0;e<j.length;e++)if(se[e]<0){for(let t=e;t>=0;t=ce[t])q[t]=le;le++}let ue=Array.from({length:le},()=>[]);q.forEach((e,t)=>ue[e].push(t));let de=(e,t)=>j[e]-oe(e)+G(e,t)+oe(t),fe=Array(j.length).fill(-1),pe=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(fe[t]=e[n-1],pe[e[n-1]]=t)});let me=Array(le).fill(0),J=!1;for(let e=0;e<=le&&!J;e++){J=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=me[q[e[t-1]]]+de(e[t-1],e[t]);me[q[e[t]]]<n&&(me[q[e[t]]]=n,J=!1)}}if(J){let e=ue.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-me[t])),n=[...Array(le).keys()].sort((t,n)=>e[n]-e[t]||t-n);for(let r=0;r<24;r++){let i=!1;for(let a of r%2?[...n].reverse():n){let n=-1/0,r=1/0;for(let e of ue[a])fe[e]>=0&&(n=Math.max(n,me[q[fe[e]]]+de(fe[e],e))),pe[e]>=0&&(r=Math.min(r,me[q[pe[e]]]-de(e,pe[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==me[a]&&(me[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=me[q[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{K[t]=n?Math.max(Math.round(K[t]),K[e[n-1]]+j[e[n-1]]+G(e[n-1],t)):Math.round(K[t])});let Y=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=Y;let X=Math.max(...K.map((e,t)=>e+j[t])),he=e=>K[e]+Math.floor((j[e]-1)/2)+.5,ge=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>he(e)-he(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>ge.set(r+`|`+e,n+Math.min(j[e]-1,Math.floor(i*j[e]/t.length))));continue}let i=t.map(e=>Math.max(n,Math.min(r,he(e))));for(let e=1;e<i.length;e++)i[e]=Math.max(i[e],i[e-1]+1);for(let e=i.length-1;e>=0;e--)i[e]=Math.min(i[e],e===i.length-1?r:i[e+1]-1);t.forEach((t,n)=>ge.set(t+`|`+e,i[n]))}let _e=(e,t)=>{let n=ge.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},Z=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!_e(e,t)).map(t=>ge.get(e+`|`+t)).sort((e,t)=>e-t);Z[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):he(e)}let ve=(e,t)=>_e(e,t)?ge.get(e+`|`+t):Z[e],ye=(e,t)=>{let n=ve(e,t),r=ge.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},be=new Set,xe=C.map(()=>0);for(let[e,t]of I){if(_e(e,t))continue;let[n,r]=ye(e,t),i=ge.get(e+`|`+t)>Z[e];r-n>rn||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=ye(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(be.add(e+`|`+t),xe[w[e]]=Math.max(xe[w[e]],r-n))}let Se=new Map;for(let[e,t]of I){if(_e(e,t)||be.has(e+`|`+t))continue;let n=ge.get(e+`|`+t),r=Se.get(e)||{u:e,lo:Z[e],hi:Z[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),Se.set(e,r)}let Q=C.map(()=>0);C.forEach((e,t)=>{let n=[...Se.values()].filter(e=>w[e.u]===t&&e.hi>e.lo).sort((e,t)=>e.lo-t.lo||e.hi-t.hi||e.u-t.u),r=n.map(e=>N[e.u].filter(t=>!_e(e.u,t)&&!be.has(e.u+`|`+t)).map(t=>ge.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(Z[n[t].u]>n[e].lo&&Z[n[t].u]<n[e].hi)+r[e].filter(e=>e>n[t].lo&&e<n[t].hi).length,o=[];for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){if(!i(e,t))continue;let n=a(t,e)-a(e,t);n>0?o.push([e,t,n]):n<0&&o.push([t,e,-n])}let s=fn(n.length,o),c=[];for(let e of[...n.keys()].sort((e,t)=>s[e]-s[t]))n[e].track=Math.max(0,...c.filter(t=>i(e,t)).map(e=>n[e].track+1)),c.push(e);Q[t]=Math.max(0,...n.map(e=>e.track+1))});let Ce=C.map(e=>Math.max(0,...e.filter(e=>!z(e)).map(e=>s[e]))),we=[],Te=[],Ee=[],De=0;C.forEach((e,n)=>{we[n]=De,De+=Ce[n];let r=Math.max(t.some(c)?$t:Qt,Q[n]+2*on,xe[n]+2);Te[n]=De+Math.max(on,Math.floor((r-Q[n])/2));let i=De;Ee[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(De+=r)});let Oe=De,ke=e=>we[w[e]]+Math.floor((Ce[w[e]]-s[e])/2),Ae=(e,t)=>a?[t,Oe-e]:[e,t];t.forEach((e,t)=>Object.assign(g.get(e),a?{x:K[t],y:Oe-ke(t)-s[t]}:{x:ke(t),y:K[t]}));let je=[];for(let e of u){let n=R.get(e),r=null;if(n){r=[Ae(ke(e.u)+s[e.u],ve(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=ge.get(t+`|`+i);if(be.has(t+`|`+i)){let e=Math.abs(a-Z[t]),n=Ee[w[t]](e);r.push(Ae(n,Z[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(Se.get(t)?.track||0)+.5;r.push(Ae(o,ve(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),ge.get(n[n.length-2]+`|`+e.v))),r=r.filter((e,t)=>!t||e[0]!==r[t-1][0]||e[1]!==r[t-1][1]),e.back&&r.reverse()}je.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:X,h:Oe,out:je}:{w:Oe,h:X,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[tn,tn]]]);for(let t of d){let[n,r]=D.get(t),i=t===e.root?-1:E.get(t),a=f(t).length;for(let e of t.children||[]){let t=g.get(e);E.set(e,T.length),T.push({id:e.id,ref:e.ref,kind:c(e)?`folder`:`note`,parent:i,depth:a,gx:n+t.x,gy:r+t.y,w:t.w,h:t.h}),c(e)&&D.set(e,[n+t.x+an,r+t.y+en+an])}}let O=[],k=new Set;for(let e of d){let[t,n]=D.get(e);for(let r of y.get(e)||[]){let e=E.get(r.q),i=E.get(r.p);r.back&&k.add(e+`|`+i),O.push({a:e,b:i,count:r.count,back:r.back,implied:r.implied,pts:r.pts&&r.pts.map(([e,r])=>[e+t,r+n])})}}let A=dn(T,e.edges,new Map([...u].map(([e,t])=>[e,E.get(t)]))),j=(e,t)=>{for(;T[e].parent!==t;)e=T[e].parent;return e};for(let e of A)e.placed=e.s>=2&&!k.has(j(e.a,e.level)+`|`+j(e.b,e.level));let M=g.get(e.root);return{W:M.w+2*tn,H:M.h+2*tn,flow:t,cell:s.cell,keep:s.keep,margin:tn,items:T,links:A,trunks:O,pairs:_,orders:v}}function dn(e,t,n){let r=t=>{let n=[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n},i=[];for(let[e,a,o]of t){let t=n.get(e),s=n.get(a);if(t===void 0||s===void 0||t===s)continue;let c=new Set(r(s));i.push({a:t,b:s,s:o,level:r(t).find(e=>c.has(e))??-1,placed:!1})}return i}function fn(e,t){let n=Array.from({length:e},()=>new Map),r=Array.from({length:e},()=>new Map);for(let[e,i,a]of t)e!==i&&(n[e].set(i,(n[e].get(i)||0)+a),r[i].set(e,(r[i].get(e)||0)+a));let i=e=>{let t=0;for(let n of e.values())t+=n;return t},a=new Set([...Array(e).keys()]),o=[],s=[],c=(e,t)=>{a.delete(e),t.push(e);for(let t of n[e].keys())r[t].delete(e);for(let t of r[e].keys())n[t].delete(e)};for(;a.size;){let e=!0;for(;e;){e=!1;for(let t of[...a])r[t].size?n[t].size||(c(t,s),e=!0):(c(t,o),e=!0)}if(!a.size)break;let t=-1,l=-1/0;for(let e of a){let a=i(n[e])-i(r[e]);a>l&&(l=a,t=e)}c(t,o)}let l=Array(e);return[...o,...s.reverse()].forEach((e,t)=>{l[e]=t}),l}var pn={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},mn=[1,1,0,-1,-1,-1,0,1],hn=[0,1,1,1,0,-1,-1,-1],gn=3,_n=8;function vn(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...pn,...n},{W:d,H:f,elev:p,blocked:m,owner:h}=t,g=t.close||new Uint8Array(d*f),_=d*f,v=e.items,y=new Uint16Array(_),b=new Uint16Array(_),x=new Float32Array(_*9),S=new Int32Array(_*9),C=new Uint32Array(_*9),w=new Uint32Array(v.length),T=_*9,E=0,D=new Float32Array(4096),O=new Float32Array(4096),k=new Int32Array(4096),A=0,j=(e,t,n)=>{if(A===D.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};D=e(D,Float32Array),O=e(O,Float32Array),k=e(k,Int32Array)}let r=A++;for(;r>0;){let t=r-1>>1;if(D[t]<=e)break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},M=()=>{N=O[0],P=k[0];let e=D[--A],t=O[A],n=k[A],r=0;for(;;){let t=2*r+1;if(t>=A||(t+1<A&&D[t+1]<D[t]&&t++,D[t]>=e))break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},N=0,P=0,F=(e,t)=>{y[e]+=t;let n=e%d,r=e/d|0;for(let e=Math.max(0,r-1);e<=Math.min(f-1,r+1);e++)for(let i=Math.max(0,n-1);i<=Math.min(d-1,n+1);i++)(i!==n||e!==r)&&(b[e*d+i]+=t)},I=e=>{let t=[],n=(e,n,r,i)=>{e>=0&&n>=0&&e<d&&n<f&&!m[n*d+e]&&t.push([n*d+e,r,i])};for(let t=e.gx;t<e.gx+e.w;t++)n(t,e.gy-1,t+.5,e.gy),n(t,e.gy+e.h,t+.5,e.gy+e.h);for(let t=e.gy;t<e.gy+e.h;t++)n(e.gx-1,t,e.gx,t+.5),n(e.gx+e.w,t,e.gx+e.w,t+.5);return t};function L(e,t,n,f,_,D,O=null){E++,A=0;for(let t of Lt(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of Lt(v,O.folder))w[e]=E}else for(let e of Lt(v,t))w[e]=E;let k=v[e],L=O?null:v[t],R=O?O.ends:new Map(I(L).map(e=>[e[0],e])),z,B,ee,V;if(O?.toward!==void 0)z=B=O.toward%d,ee=V=O.toward/d|0;else if(O){z=ee=1/0,B=V=-1/0;for(let e of R.keys()){let t=e%d,n=e/d|0;z=Math.min(z,t),B=Math.max(B,t),ee=Math.min(ee,n),V=Math.max(V,n)}}else z=L.gx-1,B=L.gx+L.w,ee=L.gy-1,V=L.gy+L.h;let H=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(ee-t,t-V,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},U=new Map;for(let e of I(k)){let t=e[0],n=t*9+_n,r=Math.fround(1+s*Math.min(y[t],gn));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+H(t%d,t/d|0),r,n),U.set(t,e))}let te=!!O?.strict,W=-1;for(;A;){M();let e=P,t=N;if(e>=T){W=e-T;break}if(t!==x[e])continue;let u=e/9|0,v=e%9,k=R.get(u);if(k){if(!k[3]){W=e;break}j(Math.fround(t+k[3]),Math.fround(t+k[3]),T+e)}let A=u%d,F=u/d|0;for(let T=0;T<8;T++){let k=A+mn[T],M=F+hn[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||te&&h[N]!==O.folder)continue;if(mn[T]&&hn[T]){let e=F*d+k,t=M*d+A;if(m[e]||m[t]||p[e]!==p[u]||p[t]!==p[u]||p[N]!==p[u])continue}let P=(mn[T]&&hn[T]?1.414:1)*(1+s*Math.min(y[N],gn)+c*Math.min(b[N],gn))+r*Math.abs(p[N]-p[u]);if(v!==_n&&v!==T){let e=Math.min((T-v+8)%8,(v-T+8)%8);P+=e===1?i:a*(e>=3?2:1)}h[N]>=0&&w[h[N]]!==E&&(P+=o),g[N]&&(P+=l);let I=N*9+T,L=Math.fround(t+P);C[I]===E&&x[I]<=L||(C[I]=E,x[I]=L,S[I]=e,j(L+H(k,M),L,I))}}if(W<0)return null;let ne=[];for(let e=W;e!==-1;e=S[e])ne.push(e/9|0);ne.reverse();for(let e of ne)F(e,1);let G=U.get(ne[0]),K=R.get(ne[ne.length-1]),re=[[G[1],G[2]]];for(let e of ne)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(ne),pts:re}}function R(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function z(e,t){return v[e],v[t.folder],B(e,{...t,strict:!0})||B(e,t)}function B(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function ee(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:R,routeTo:z,occupy:ee,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var yn=[0,1,-1,2,-2,3,-3];function bn(e,t){let n=new Map;e.forEach((e,r)=>{e.edges=new Set;for(let i=1;i<e.cells.length;i++){let a=e.cells[i-1],o=e.cells[i],s=a<o?a*t+o:o*t+a;e.edges.add(s),n.has(s)||n.set(s,[]),n.get(s).push(r)}}),e.forEach((t,r)=>{let i=new Set;for(let a of t.edges)for(let t of n.get(a))t<r&&i.add(e[t].lane);t.lane=yn.find(e=>!i.has(e))??0,delete t.edges})}var xn=(e,t,n,r)=>{let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0};function Sn(e,t){let n=new Map;e.forEach((e,t)=>{for(let r of e.cells)n.has(r)||n.set(r,new Set),n.get(r).add(t)});let r=0,i=0;e.forEach((e,a)=>{for(let o of e.cells){r++;let e=!1,s=o%t;for(let r=-1;r<=1&&!e;r++)for(let i=-1;i<=1&&!e;i++){if(s+i<0||s+i>=t)continue;let c=n.get(o+r*t+i);if(c){for(let t of c)if(t!==a){e=!0;break}}}e||i++}});let a=e.map((e,t)=>{let n=[t*.618%1*.02-.01,t*.414%1*.02-.01],r=e.pts;return r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>1e-6).map(e=>[e[0]+n[0],e[1]+n[1]])}),o=0;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(r.a!==i.a&&r.a!==i.b&&r.b!==i.a&&r.b!==i.b)for(let e=1;e<a[t].length;e++)for(let r=1;r<a[n].length;r++)xn(a[t][e-1],a[t][e],a[n][r-1],a[n][r])&&o++}return{routes:e.length,crossings:o,length:r,beside:r?1-i/r:0}}function Cn(e,t,n,r,i=t.length<=100?2:+(t.length<=300)){let a=t.map(({a:t,b:n})=>{let r=e.route(t,n);return r&&{a:t,b:n,...r}});for(let t=0;t<i;t++)a.forEach((t,n)=>{if(!t)return;e.release(t);let r=e.route(t.a,t.b);r?Object.assign(t,r):e.hold(t)});let o=a.filter(Boolean);bn(o,n*r);let s={...Sn(o,n),lost:a.length-o.length};for(let t of o)e.release(t);return{routes:a.map(e=>e&&{pts:e.pts,lane:e.lane}),measures:s}}var wn=[1,1,0,-1,-1,-1,0,1],Tn=[0,1,1,1,0,-1,-1,-1],En=8,Dn={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function On(e,t=It(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Dn,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=Rn(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=Ln(t)[c],d=Ln(e)[l],p=s?Math.max(e.gy,t.gy):Math.max(e.gx,t.gx),m=s?Math.min(e.gy+e.h,t.gy+t.h):Math.min(e.gx+e.w,t.gx+t.w),h=e=>Math.floor(e.mid-.5+1e-9),g=e=>e>=p&&e<m,b=r||i?[[i?i.t:g(r.t)?r.t:h(u),r?r.t:g(i.t)?i.t:h(d),0]]:m-p>=1?zn(p,m).map(e=>[e,e,Math.abs(e+.5-(p+m)/2)]):[[h(u),h(d),0]],S=null;for(let[r,i,a]of b){if(kn(t,c,r,x)||kn(e,l,i,x))continue;let o=w(s?[c===3?t.gx+t.w:t.gx-1,r]:[r,c===1?t.gy+t.h:t.gy-1],s?[l===2?e.gx-1:e.gx+e.w,i]:[i,l===0?e.gy-1:e.gy+e.h],s);if(!o.every(([e,t])=>C(e,t,n)))continue;let u=o.slice(_,o.length-_),d=u.length?Math.min(...u.map(([e,t])=>v[t*f+e])):_;d<y||(!S||d>S.least||d===S.least&&a<S.off)&&(S={least:d,off:a,tb:r,ta:i,way:o})}return S?[u.wall(S.tb),...S.way.map(([e,t])=>[e+.5,t+.5]),d.wall(S.ta)]:null}let E=new Float32Array(g+1),D=new Int32Array(g+1),O=new Uint8Array(g+1),k=new Uint32Array(g+1),A=0,j=[],M=(e,t)=>{j.push([e,t]);let n=j.length-1;for(;n>0;){let t=n-1>>1;if(j[t][0]<=e)break;[j[t],j[n]]=[j[n],j[t]],n=t}},N=()=>{let e=j[0],t=j.pop();if(j.length){j[0]=t;let e=0;for(;;){let t=2*e+1;if(t>=j.length||(t+1<j.length&&j[t+1][0]<j[t][0]&&t++,j[t][0]>=j[e][0]))break;[j[t],j[e]]=[j[e],j[t]],e=t}}return e},P=(e,t)=>{if(e===En||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?r:i*(n>=3?2:1)};function F(e,t,n,r,i){A++,j.length=0;let l=g,u=new Map,d=(e,t,n)=>!e||e.side===t&&e.t===n;if(Ln(e).forEach((t,i)=>t.cells.forEach(([a,o])=>{let s=t.dir===6||t.dir===2?a:o;C(a,o,n)&&d(r,i,s)&&!kn(e,i,s,x)&&u.set(o*f+a,[(t.dir+4)%8,c*Math.abs(s+.5-t.mid),t.wall(s)])})),!r)for(let t of An(e,x))C(...t.out,n)&&u.set(t.out[1]*f+t.out[0],[(t.dir+4)%8,c*Math.min(e.w,e.h)/2,t.pt]);if(!u.size)return null;let p=e.gx-1,m=e.gx+e.w,h=e.gy-1,y=e.gy+e.h,S=(e,t)=>{let n=Math.max(p-e,e-m,0),r=Math.max(h-t,t-y,0);return Math.max(n,r)+.414*Math.min(n,r)},w=new Map,T=(e,t,n,r)=>{k[e]===A&&E[e]<=t||(k[e]=A,E[e]=t,D[e]=-1,O[e]=n,w.set(e,r),M(t+S(e%f,e/f|0),e))};if(Ln(t).forEach((e,r)=>e.cells.forEach(([a,o])=>{let s=e.dir===6||e.dir===2?a:o;C(a,o,n)&&d(i,r,s)&&!kn(t,r,s,x)&&T(o*f+a,c*Math.abs(s+.5-e.mid),e.dir,e.wall(s))})),!i)for(let e of An(t,x))C(...e.out,n)&&T(e.out[1]*f+e.out[0],c*Math.min(t.w,t.h)/2,e.dir,e.pt);for(;j.length;){let[e,t]=N();if(t===l)break;let r=E[t];if(e-S(t%f,t/f|0)>r+1e-4)continue;let i=u.get(t);if(i){let e=r+i[1]+P(O[t],i[0]);(k[l]!==A||e<E[l])&&(k[l]=A,E[l]=e,D[l]=t,M(e,l))}let c=t%f,d=t/f|0;for(let e=0;e<8;e++){let i=c+wn[e],l=d+Tn[e];if(!C(i,l,n)||wn[e]&&Tn[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(wn[e]&&Tn[e]?Math.SQRT2*a:1)*(b[u]?1-s:1)+o*(_-v[u])+P(O[t],e);k[u]===A&&E[u]<=p||(k[u]=A,E[u]=p,D[u]=t,O[u]=e,M(p+S(i,l),u))}}if(k[l]!==A)return null;let F=[];for(let e=D[l];e!==-1;e=D[e])F.push(e);return F.reverse(),[w.get(F[0]),...F.map(e=>[e%f+.5,Math.floor(e/f)+.5]),u.get(F.at(-1))[2]]}let I=d.map((e,t)=>t).sort((e,t)=>d[t].count-d[e].count||e-t),L=d.map(e=>({a:e.a,b:e.b,count:e.count,back:e.back,implied:e.implied})),R=e=>Nn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),z=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=z(e);t&&(L[e].pts=t,R(t))}let B=l/(e.cell??7),ee=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!jn(a,i))continue;let o=Mn(a,i),s=`${r}|${o}`;ee.set(s,[...ee.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let V=new Map;for(let[e,t]of ee){let[n,r]=e.split(`|`).map(Number),i=u[n];Ln(i)[r],r<2?i.gx:i.gy,t.sort((e,t)=>e.t-t.t);for(let e=0;e<t.length;){let n=e+1;for(;n<t.length&&t[n].t-t[n-1].t<=B;)n++;let a=t.slice(e,n);if(e=n,a.length<2||a.every(e=>e.t===a[0].t))continue;let o=new Map;for(let e of a)o.set(e.t,(o.get(e.t)||0)+e.count);let s=(a[0].t+a.at(-1).t)/2,c=[...o].filter(([e])=>!kn(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&V.set(e.k,{...V.get(e.k),[e.end]:{side:r,t:c}})}}if(V.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!V.has(t)&&R(e.pts)});for(let e of I){let t=V.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!jn(u[e],t))return;let n=Mn(u[e],t);return{side:n,t:Math.floor(n<2?t[0]:t[1])}},i=z(e,t.a??r(n.a,n.pts.at(-1)),t.b??r(n.b,n.pts[0]));i&&(L[e].pts=i),R(L[e].pts)}}return L}function kn(e,t,n,r){if(e.kind!==`folder`)return!1;let i=t<2?e.gx:e.gy,a=i+(t<2?e.w:e.h);return n+.5-i<r||a-(n+.5)<r}function An(e,t){return e.kind===`folder`?[[e.gx,e.gy,1,1,5],[e.gx+e.w,e.gy,-1,1,7],[e.gx+e.w,e.gy+e.h,-1,-1,1],[e.gx,e.gy+e.h,1,-1,3]].map(([e,n,r,i,a])=>({out:[Math.floor(e-r*.5),Math.floor(n-i*.5)],in:[Math.floor(e+r*.5),Math.floor(n+i*.5)],dir:a,pt:[e+r*t/2,n+i*t/2]})):[]}function jn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return(r(t,e.gx)||r(t,e.gx+e.w))&&n>=e.gy-1e-6&&n<=e.gy+e.h+1e-6||(r(n,e.gy)||r(n,e.gy+e.h))&&t>=e.gx-1e-6&&t<=e.gx+e.w+1e-6}function Mn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return r(n,e.gy)?0:r(n,e.gy+e.h)?1:r(t,e.gx)?2:3}function Nn(e,t){for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++)t(Math.floor(r+(a-r)*e/s),Math.floor(i+(o-i)*e/s))}}var Pn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function Fn(e,t,n=It(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...Pn,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=Rn(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&Nn(e.pts,(e,t)=>{e>=0&&t>=0&&e<h&&t<g&&(C[t*h+e]=1)});let w=(e,t)=>e>=0&&t>=0&&e<h&&t<g,T=(e,t)=>{for(;p[e].parent!==t;)e=p[e].parent;return e},E=(e,[t,n])=>{let r=(e,t)=>Math.abs(e-t)<1e-6;if(!jn(e,[t,n])){let i=An(e,S).find(e=>r(e.pt[0],t)&&r(e.pt[1],n));if(i)return[...i.in,i.dir]}return r(t,e.gx)?[e.gx,Math.floor(n),4]:r(t,e.gx+e.w)?[e.gx+e.w-1,Math.floor(n),0]:r(n,e.gy)?[Math.floor(t),e.gy,6]:[Math.floor(t),e.gy+e.h-1,2]},D=(e,t)=>(wn[e]&&Tn[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===En||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,R=0,z=0,B=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},ee=()=>{P[0],R=F[0],z=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function V(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of An(e,S)){let[n,r]=t.out;if(!a(n,r))continue;let i=r*h+n,o=i*9+t.dir,l=Math.fround(c*Math.min(e.w,e.h)/2+s*(b-x[i]));j[o]===N&&k[o]<=l||(j[o]=N,k[o]=l,A[o]=-1,p.set(i,t.pt),B(l+f(n,r),l,o))}for(Ln(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||kn(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),B(d+f(r,i),d,u))}));L;){ee();let e=z,n=R;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,B(t,t,M))}for(let t=0;t<8;t++){let r=o+wn[t],c=s+Tn[t];if(!a(r,c)||wn[t]&&Tn[t]&&(!a(r,s)||!a(o,c)))continue;let l=c*h+r,d=l*9+t,p=Math.fround(n+D(t,l)+(C[l]?u:0)+O(i,t));j[d]===N&&k[d]<=p||(j[d]=N,k[d]=p,A[d]=e,B(p+f(r,c),p,d))}}if(j[M]!==N)return null;let m=[];for(let e=A[M];e!==-1;e=A[e])m.push(e/9|0);return m.reverse(),{cells:m,pts:[p.get(m[0]),...m.map(e=>[e%h+.5,Math.floor(e/h)+.5]),t.get(m.at(-1)).pt]}}let H=[];t.forEach((e,t)=>{if(!e.pts)return;let n=p[e.a].parent,r=m.filter(t=>t.s>=2&&t.level===n&&T(t.a,n)===e.a&&T(t.b,n)===e.b);p[e.a].kind===`folder`&&H.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&H.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let U=[],te=e=>p[e].kind===`note`,W=new Map;for(let e=0;e<H.length;e++){let{folder:t,at:n,notes:r,trunk:i}=H[e],[a,c,u]=E(p[t],n);if(!w(a,c)||_[c*h+a])continue;let m=c*h+a,g={dir:u,rest:0,pt:n};W.has(m)||W.set(m,{ends:new Map([[m,g]]),endsAny:new Map([[m,g]]),owners:new Map([[m,-1]]),exits:new Map});let{ends:v,endsAny:y,owners:S,exits:C}=W.get(m),D=new Map;for(let e of r){let n=T(e,t);D.set(n,[...D.get(n)||[],e])}for(let[e,n]of[...D].sort((e,t)=>te(e[0])-te(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=te(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:V(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=U.length,_=u.cells.at(-1);U.push({item:e,folder:t,trunk:i,count:n.length,pts:u.pts,cells:u.cells,leaf:r,via:S.get(_)??-1});let w=new Float32Array(u.cells.length);w[w.length-1]=y.get(_).rest;for(let e=u.cells.length-2;e>=0;e--){let t=u.cells[e],n=u.cells[e+1],r=t%h!==n%h&&Math.floor(t/h)!==Math.floor(n/h);w[e]=w[e+1]+(1-l)*((r?Math.SQRT2*o:1)+s*(b-x[n]))}for(let[e,t]of u.cells.entries()){if(y.has(t))continue;let n=u.cells[e+1],i={dir:n===void 0?y.get(_).dir:In(n%h-t%h,Math.floor(n/h)-Math.floor(t/h)),rest:w[e],pt:[t%h+.5,Math.floor(t/h)+.5]};y.set(t,i),S.set(t,g),r||v.set(t,i)}r||H.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return bn(U,y),U.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}var In=(e,t)=>wn.findIndex((n,r)=>n===Math.sign(e)&&Tn[r]===Math.sign(t));function Ln(e){return[{dir:6,cells:zn(e.gx,e.gx+e.w).map(t=>[t,e.gy-1]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy]},{dir:2,cells:zn(e.gx,e.gx+e.w).map(t=>[t,e.gy+e.h]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy+e.h]},{dir:4,cells:zn(e.gy,e.gy+e.h).map(t=>[e.gx-1,t]),mid:e.gy+e.h/2,wall:t=>[e.gx,t+.5]},{dir:0,cells:zn(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function Rn({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+wn[u],f=c+Tn[u];if(d<0||f<0||d>=e||f>=t)continue;let p=f*e+d;if(n[p]||r[p]!==r[i]){o[i]=1,s[l++]=i;break}}}for(;c<l;){let a=s[c++],u=a%e,d=a/e|0;if(!(o[a]+1>=i))for(let i=0;i<8;i++){let c=u+wn[i],f=d+Tn[i];if(c<0||f<0||c>=e||f>=t)continue;let p=f*e+c;o[p]>o[a]+1&&!n[p]&&r[p]===r[a]&&(o[p]=o[a]+1,s[l++]=p)}}return o}var zn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function Bn(e,t){let n=10/(e.cell??7),r=e.items.filter(e=>e.kind===`folder`),i=(e,t)=>Math.abs(e-t)<1e-6,a=(e,t)=>{for(let a of r){let r=i(e[0],a.gx)||i(e[0],a.gx+a.w),o=i(e[1],a.gy)||i(e[1],a.gy+a.h);if(!(r&&e[1]>=a.gy-1e-6&&e[1]<=a.gy+a.h+1e-6)&&!(o&&e[0]>=a.gx-1e-6&&e[0]<=a.gx+a.w+1e-6))continue;let s=e[0]-a.gx<a.w/2?1:-1,c=e[1]-a.gy<a.h/2?1:-1,l=s>0?a.gx:a.gx+a.w,u=c>0?a.gy:a.gy+a.h;if(Math.abs(e[0]-l)+Math.abs(e[1]-u)>=n-1e-6)return null;let d=[l+s*n/2,u+c*n/2],f=t[0]>a.gx&&t[0]<a.gx+a.w&&t[1]>a.gy&&t[1]<a.gy+a.h?[s,c]:[-s,-c],p=t[0]-d[0],m=t[1]-d[1];if(Math.abs(Math.abs(p)-Math.abs(m))<1e-6&&p*f[0]>0)return[d];let h=[p/f[0],m/f[1]].filter(e=>e>1e-6).sort((e,t)=>e-t);return h.length?[d,[d[0]+f[0]*h[0],d[1]+f[1]*h[0]]]:null}return null};for(let e of t){if(!e.pts||e.pts.length<2)continue;let t=a(e.pts[0],e.pts[1]);t&&(e.pts=[...t,...e.pts.slice(1)]);let n=a(e.pts.at(-1),e.pts.at(-2));n&&(e.pts=[...e.pts.slice(0,-1),...n.reverse()])}return t}function Vn(e,t=!1){let n=e=>e.kind===`dir`?{kind:`dir`,id:e.id,ref:e.ref,children:e.children.map(n)}:{kind:e.kind,id:e.id,ref:e.ref,weight:e.weight,rank:e.rank||0};if(t){let t=[],r=e=>{e.kind===`dir`?e.children.forEach(r):t.push(n(e))};return r(e.root),{root:{kind:`dir`,id:e.root.id,ref:e.root.ref,children:t},edges:e.edges,code:!1}}return{root:n(e.root),edges:e.edges,code:!!e.code}}function Hn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:qn(t),plan:!!t.blocks,from:t.from??null},r=un(e,n);if(t.blocks){let t=Un(r,On(r,It(r)));[...t.values()].some(e=>e.wider.size)&&(r=un(e,{...n,planned:t}))}r.feeders=Wn(r);let i=It(r),a=On(r,i),o=Fn(r,a,i);return Bn(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function Un(e,t){let{items:n}=e,r=e.cell>7?2:3,i=new Map;for(let[a,o]of e.pairs??[]){let e=a===``?-1:n.findIndex(e=>e.kind===`folder`&&e.ref===a),s=n.map((e,t)=>t).filter(t=>n[t].parent===e),c=t.filter(t=>t.pts&&n[t.a].parent===e),l=new Map;for(let e of s)for(let t of s){if(e>=t)continue;let i=n[e],a=n[t],[o,s]=i.gx<=a.gx?[i,a]:[a,i],[u,d]=i.gy<=a.gy?[i,a]:[a,i],f=s.gx-(o.gx+o.w),p=d.gy-(u.gy+u.h),m=null,h=!1;if(f>0&&f<=16&&Math.min(i.gy+i.h,a.gy+a.h)-Math.max(i.gy,a.gy)>=4?(m=[o.gx+o.w,Math.max(i.gy,a.gy),s.gx,Math.min(i.gy+i.h,a.gy+a.h)],h=!0):p>0&&p<=16&&Math.min(i.gx+i.w,a.gx+a.w)-Math.max(i.gx,a.gx)>=4&&(m=[Math.max(i.gx,a.gx),u.gy+u.h,Math.min(i.gx+i.w,a.gx+a.w),d.gy]),!m)continue;let g=new Map;for(let e of c)for(let t=1;t<e.pts.length;t++){let[n,r]=e.pts[t-1],[i,a]=e.pts[t],o=Math.max(1,Math.ceil(Math.max(Math.abs(i-n),Math.abs(a-r))));for(let e=0;e<=o;e++){let t=Math.floor(n+(i-n)*e/o),s=Math.floor(r+(a-r)*e/o);if(t<m[0]||t>=m[2]||s<m[1]||s>=m[3])continue;let c=h?t:s;g.has(c)||g.set(c,new Set),g.get(c).add(h?s:t)}}let _=[...g.values()].filter(e=>e.size>=4).length;_>1&&l.set([i.ref,a.ref].sort().join(`|`),r*(_-1))}i.set(a,{pair:o,wider:l})}return i}function Wn(e,t=e.trunks){let{items:n,links:r,W:i}=e;if(!t.some(e=>e.pts&&(n[e.a].kind===`folder`||n[e.b].kind===`folder`)))return[];let a=It(e),o=vn(e,a,{crowd:1,haste:1.5});for(let e of t)e.pts&&o.occupy(e.pts);let s=(e,t)=>{for(;n[e].parent!==t;)e=n[e].parent;return e},c=(e,[t,r])=>{let i=n[e],a=(e,t)=>Math.abs(e-t)<1e-6;return a(t,i.gx)?[i.gx,Math.floor(r)]:a(t,i.gx+i.w)?[i.gx+i.w-1,Math.floor(r)]:a(r,i.gy)?[Math.floor(t),i.gy]:[Math.floor(t),i.gy+i.h-1]},l=[];t.forEach((e,t)=>{if(!e.pts)return;let i=n[e.a].parent,a=r.filter(t=>t.s>=2&&t.level===i&&s(t.a,i)===e.a&&s(t.b,i)===e.b);n[e.a].kind===`folder`&&l.push({folder:e.a,at:e.pts[e.pts.length-1],notes:a.map(e=>e.a),trunk:t}),n[e.b].kind===`folder`&&l.push({folder:e.b,at:e.pts[0],notes:a.map(e=>e.b),trunk:t})});let u=[];for(let e=0;e<l.length;e++){let{folder:t,at:r,notes:d,trunk:f}=l[e],[p,m]=c(t,r);if(p<0||m<0||p>=i||a.blocked[m*i+p])continue;let h=new Map;for(let e of d){let n=s(e,t);h.set(n,[...h.get(n)||[],e])}let g=m*i+p,_=e=>n[e].kind===`note`,v=new Map([[g,[g,r[0],r[1]]]]),y=new Map(v),b=new Map([[g,-1]]);for(let[e,n]of[...h].sort((e,t)=>_(e[0])-_(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=_(e),s=o.routeTo(e,{ends:r?y:v,folder:t,toward:g});if(!s)continue;let c=u.length;u.push({item:e,folder:t,trunk:f,count:n.length,pts:s.pts,cells:s.cells,leaf:r,via:b.get(s.cells[s.cells.length-1])??-1});let d=new Float32Array(s.cells.length);d[d.length-1]=y.get(s.cells[s.cells.length-1])?.[3]??0;for(let e=s.cells.length-2;e>=0;e--){let t=s.cells[e],n=s.cells[e+1];d[e]=d[e+1]+(t%i!==n%i&&Math.floor(t/i)!==Math.floor(n/i)?Math.SQRT2:1)+(a.close[n]?pn.hug:0)}for(let[e,t]of s.cells.entries()){if(y.has(t))continue;let n=[t,t%i+.5,Math.floor(t/i)+.5,d[e]];y.set(t,n),b.set(t,c),r||v.set(t,n)}r||l.push({folder:e,at:s.pts[0],notes:n,trunk:f})}}return bn(u,a.W*a.H),u.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}function Gn(e){let t=It(e),n=vn(e,t);return e=>Cn(n,e,t.W,t.H)}function Kn(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),(4294967296*(2097151&n)+(t>>>0)).toString(36)}var qn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function Jn(e,t={}){return Kn(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,qn(t),!!t.blocks,e]))}var Yn,Xn=1,Zn=new Map;function Qn(e){if(Yn===void 0)try{Yn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),Yn.onmessage=({data:e})=>{let t=Zn.get(e.id);Zn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},Yn.onerror=()=>{for(let e of Zn.values())e.reject(Error(`the layout worker stopped`));Zn.clear(),Yn=null}}catch{Yn=null}if(!Yn)return Promise.reject(Error(`no worker`));let t=Xn++;return new Promise((n,r)=>{Zn.set(t,{resolve:n,reject:r}),Yn.postMessage({id:t,...e})})}var $n=new Map,er=new Map,tr=``;async function nr(e,t){let n=Vn(e),r=Jn(n,t),i=$n.get(r);return i||(i=await Qn({layout:{model:n,o:t}}).catch(()=>Hn(n,t)),$n.size>=6&&$n.delete($n.keys().next().value),$n.set(r,i)),{key:r,layout:i}}async function rr(e,t,n){if(!n.length)return[];let r=()=>{let r=er.get(e);return r||(er.clear(),er.set(e,r=Gn(t))),r(n)},i=tr!==e;return tr=e,(await Qn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Qn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var ir=d(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9" class="svelte-m50bdg"></path><path d="M8 12v1.2" class="svelte-m50bdg"></path>`,1),ar=d(`<path d="M8 2.5l5.8 10.5H2.2z" class="svelte-m50bdg"></path>`),or=d(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),sr=u(`<b class="num svelte-m50bdg"> </b>`),cr=u(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),lr=u(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),ur=u(`<a><!><span class="t svelte-m50bdg"> </span><!><!><!></a>`);function dr(e,n){D(n,!0);let i=I(n,`kind`,3,``),a=I(n,`done`,3,!1),o=I(n,`behind`,3,`var(--ground-0)`),c=I(n,`mark`,3,``),u=I(n,`far`,3,0),d=I(n,`num`,3,0),p=I(n,`iso`,3,``),h=I(n,`linked`,3,!1),g=I(n,`dim`,3,!1),_=I(n,`moment`,3,``),v=I(n,`given`,3,!1),y=I(n,`held`,3,``),x=I(n,`changed`,3,!1),w=I(n,`pointed`,3,``),T=I(n,`order`,3,0),E=I(n,`here`,3,!1);var O=ur();let k;var A=S(O),N=e=>{var n=or(),o=S(n),s=e=>{var n=ir();j(),t(e,n)},c=e=>{var n=ar();b(()=>H(n,`fill`,a()?`currentColor`:`none`)),t(e,n)};r(o,e=>{i()===`question`?e(s):e(c,-1)}),U(n),t(e,n)};r(A,e=>{i()&&e(N)});var F=m(A),L=C(F,!0),R=m(F),z=e=>{var n=sr(),r=C(n,!0);b(()=>f(r,d())),t(e,n)};r(R,e=>{d()&&e(z)});var B=m(R),ee=e=>{var n=cr(),r=C(n,!0);b(()=>f(r,T())),t(e,n)};r(B,e=>{T()&&e(ee)});var V=m(B),te=e=>{var n=lr();t(e,n)};r(V,e=>{x()&&e(te)}),U(O),b(e=>{k=M(O,1,`n ${_()?`mo-${_()}`:``} ${p()?`p-${p()}`:``} ${c()??``} ${i()??``}`,`svelte-m50bdg`,k,{done:a(),linked:h(),dim:g()&&!d()&&!p()&&!h()&&!v(),far:u()>1,pick:d()>0,given:v(),held:y()===`on`,aside:y()===`aside`,changed:x(),pointed:!!w(),here:E()}),H(O,`aria-current`,E()?`page`:void 0),H(O,`href`,n.href),H(O,`aria-label`,d()?`${n.title}: linked, number ${d()}`:`${i()===`question`?`Question: `:i()===`problem`?`Problem${a()?`, solved`:``}: `:``}${n.title}${v()?`: in Iso's context`:y()===`on`?`: read by Iso, in hand`:y()===`aside`?`: read by Iso, set aside`:``}${x()?`, changed by Iso`:``}${w()?`, Iso points to it: ${w()}`:``}`),H(O,`title`,w()||(v()?`In Iso's context: shift+click takes it back`:y()===`on`?`Read by Iso, in hand: shift+click sets it aside`:y()===`aside`?`Read by Iso, set aside: shift+click puts it in hand again`:void 0)),H(O,`data-note`,n.item.ref),P(O,`--x:${n.item.gx??``};--y:${n.item.gy??``};--w:${n.item.w??``};--h:${n.item.h??``};--lit:${e??``}%;--behind:${o()??``}`),f(L,n.title)},[()=>Math.max(34,100-(u()-1)*20)]),s(`click`,O,function(...e){n.onpick?.apply(this,e)}),l(`pointerenter`,O,e=>{e.pointerType===`mouse`&&n.onpoint(!0)}),l(`pointerleave`,O,e=>{e.pointerType===`mouse`&&n.onpoint(!1)}),l(`focus`,O,()=>n.onpoint(!0)),l(`blur`,O,()=>n.onpoint(!1)),t(e,O),ne()}i([`click`]);var fr=u(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),pr=u(`<span class="frame-title held svelte-ywp27z"> </span>`),mr=u(`<div><!> <!></div>`),hr=u(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function gr(e,n){D(n,!0);let i=I(n,`titled`,3,!0),a=I(n,`held`,19,()=>({req:0,bld:0})),o=I(n,`dim`,3,!1),c=I(n,`given`,3,!1),l=I(n,`here`,3,!1),u=I(n,`moment`,3,``),d=W(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),p=W(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),h=W(()=>a().req?`req`:a().bld?`bld`:``),g=W(()=>[a().req?`${a().req} required here`:``,a().bld?`${a().bld} ${a().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),_=W(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var v=L(),y=x(v),w=e=>{var a=mr();let o;var l=S(a),v=e=>{var r=fr(),i=C(r,!0);b(()=>{H(r,`title`,c()?`In Iso's context: shift+click takes it back`:void 0),f(i,n.name)}),s(`click`,r,function(...e){n.onpick?.apply(this,e)}),t(e,r)};r(l,e=>{i()&&e(v)});var y=m(l,2),x=e=>{var n=pr(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(y,e=>{q(g)&&e(x)}),U(a),b(()=>{o=M(a,1,`folder frame ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,o,{given:c()}),H(a,`data-folder`,n.item.ref),P(a,`${q(_)??``};--inside:${q(d)??``};--behind:${q(p)??``};--ground-here:${q(d)??``}`)}),t(e,a)},T=e=>{var r=hr();let i;var a=S(r),d=S(a),p=C(d,!0),v=m(d),y=C(v,!0);U(a),U(r),b(()=>{i=M(r,1,`folder frame closed ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,i,{dim:o(),given:c(),here:l()}),H(r,`aria-current`,l()?`page`:void 0),H(r,`data-folder`,n.item.ref),P(r,q(_)),H(r,`title`,c()?`In Iso's context: shift+click takes it back`:void 0),f(p,n.name),f(y,q(g)||`${n.count} ${n.count===1?`note`:`notes`}`)}),s(`click`,r,function(...e){n.onpick?.apply(this,e)}),t(e,r)};r(y,e=>{n.open?e(w):e(T,-1)}),t(e,v),ne()}i([`click`]);var _r=d(`<path pathLength="1"></path>`),vr=d(`<path></path>`),yr=d(`<path class="sent svelte-k96fgh"></path>`),br=d(`<!><!><!>`,1),xr=d(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),Sr=d(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Cr(e,i){D(i,!0);let a=I(i,`sent`,19,()=>[]),o=I(i,`grown`,19,()=>[]),s=I(i,`beat`,3,``),c=I(i,`retracting`,19,()=>[]),l=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/i.k}px`;var u=Sr(),d=S(u),f=S(d),p=e=>{var r=L(),i=x(r);n(i,17,c,e=>e.key,(e,n)=>{var r=_r();let i,a;b(e=>{i=M(r,0,`along retract ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),H(r,`d`,q(n).d),a=P(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},h=e=>{var r=L(),a=x(r);n(a,17,()=>i.rest,e=>e.key,(e,n)=>{var r=_r();let i,a;b(e=>{i=M(r,0,`along draw ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),H(r,`d`,q(n).d),a=P(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},g=e=>{var r=br(),o=x(r);n(o,17,()=>i.rest,e=>e.key,(e,n)=>{var r=vr();let i;b(()=>{i=M(r,0,w(q(n).strong?`base`:`base weak`),`svelte-k96fgh`,i,{trunk:q(n).trunk}),H(r,`d`,q(n).d)}),t(e,r)});var s=m(o);n(s,17,a,e=>e.key,(e,n)=>{var r=yr();b(()=>H(r,`d`,q(n).d)),t(e,r)});var c=m(s);n(c,17,()=>i.hot,e=>e.key,(e,n)=>{var r=vr();let i;b(()=>{i=M(r,0,`lit ${q(n).kind??``}`,`svelte-k96fgh`,i,{still:q(n).still}),H(r,`d`,q(n).d)}),t(e,r)}),t(e,r)};r(f,e=>{s()===`retract`?e(p):s()===`draw`?e(h,1):s()===``&&e(g,2)});var _=m(f);n(_,17,o,e=>e.key,(e,n)=>{var r=xr();let a;b(()=>{H(r,`d`,q(n).d),a=P(r,``,a,{"stroke-width":`${3/i.k}px`})}),t(e,r)}),U(d),U(u),b(()=>{H(u,`data-requires`,i.counts.requires),H(u,`data-builds`,i.counts.builds),H(u,`data-uses`,i.counts.uses),H(d,`transform`,`scale(${i.k??``})`)}),t(e,u),ne()}var wr=u(`<p class="said svelte-14y1y1z"> </p>`),Tr=u(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Er=u(`<span> </span>`),Dr=u(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),Or=d(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><rect x="2.5" y="3" width="11" height="10"></rect><path d="M2.5 11l3.5-3.5 3 3 1.5-1.5 3 3"></path></svg>`),kr=u(`<img alt="" loading="lazy" draggable="false" class="svelte-14y1y1z"/>`),Ar=u(`<a><!></a>`),jr=u(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),Mr=u(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),Nr=u(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),Pr=u(`<svg class="loader svelte-14y1y1z" aria-hidden="true"><path d="M0 1H1000" class="svelte-14y1y1z"></path></svg> <p class="doing svelte-14y1y1z" role="status"><i class="dia svelte-14y1y1z" aria-hidden="true"></i><!></p>`,1),Fr=u(`<div><!> <!></div>`),Ir=d(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),Lr=d(`<path d="M3.5 1.5h9l4.5 4.5v16.5h-13.5z M12.5 1.5v4.5h4.5" class="svelte-14y1y1z"></path><path class="ln svelte-14y1y1z" d="M6.5 11h7.5M6.5 14.5h7.5M6.5 18h5"></path>`,1),Rr=u(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),zr=u(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),Br=u(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),Vr=u(`<p class="given svelte-14y1y1z" role="status"> </p>`),Hr=u(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>Iso read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>Iso changed it</span><span class="svelte-14y1y1z"><i class="k p svelte-14y1y1z"></i>Iso points to it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),Ur=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),Wr=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),Gr=u(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),Kr=u(`<div aria-hidden="true"> </div>`),qr=u(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!> <!></div> <!> <!> <!> <!> <!> <!>`,1),Jr=u(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function Yr(i,c){D(c,!0);let u=I(c,`pick`,3,``),d=G(null),g=G(null),_=``,v=G(``),w=G({x:0,y:0,k:1}),T=G(1),O;a(()=>{let e=q(w).k;clearTimeout(O),Math.abs(Math.log(e/q(T)))>.35?k(T,e,!0):e!==q(T)&&(O=setTimeout(()=>k(T,e,!0),150))});let A=e=>{k(w,e),k(T,e.k,!0)},N=G({w:0,h:0}),F=G(``),R=G([]),z=W(()=>q(R).at(-1)??``),B=G(void 0),ee=[`fine`,`coarse`,`coarser`],V=G(e(ee.find(e=>e===ae(`isorite.atlas.grain`))??`fine`)),te=G(ae(`isorite.atlas.leaves`)===`on`),K=!1,re=window.innerWidth>=window.innerHeight?`right`:`up`;function ae(e){try{return localStorage.getItem(e)}catch{return null}}function oe(){k(V,ee[(ee.indexOf(q(V))+1)%ee.length],!0),K=!1;try{localStorage.setItem(`isorite.atlas.grain`,q(V))}catch{}ce()}function se(e){k(te,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function ce(){try{let e=await Y.api.map(),t={...e,model:Mt(e.model,t=>{let n=e.notes[t];return n?.kind===`question`?!Q.on.questions||!!n.done:n?.kind===`problem`&&!Q.on.problems})},n=`${re}|${q(V)}`,r=q(g)&&_===n?q(g).layout.orders??null:null,i=await nr(t.model,{gridFlow:re,grain:q(V),blocks:!0,from:r});_=n;let a=!!q(g)&&q(g).key!==i.key,o=q(g)&&q(J)?{refs:new Set(q(J).items.map(e=>e.ref)),edges:new Set(q(d).model.edges.map(([e,t])=>`${e}>${t}`))}:null,s=!q(g)||q(g).key!==i.key&&!K,c=++Te,l=matchMedia(`(prefers-reduced-motion: reduce)`).matches,u=!!o&&a&&!l;if(u){if(k(we,q(Ne)),k(Ce,`retract`),await Se(ve),c!==Te)return;k(we,[]),k(Ce,`move`)}if(k(d,t),k(g,i),k(v,``),o&&a&&ke(o),s&&q(N).w&&A(_e()),u){if(await Se(ye),c!==Te)return;k(Ce,`draw`),await Se(xe),c===Te&&k(Ce,``)}}catch(e){k(v,e.message,!0)}}let pe=``;a(()=>{let e=`${Q.on.questions}|${Q.on.problems}`;pe&&pe!==e&&ce(),pe=e}),a(()=>{ce();let e,t=Y.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{ce()},400))});return()=>{t(),clearTimeout(e)}});let J=W(()=>q(g)?vt(q(g).layout):null),X=W(()=>q(J)?gt(q(J)):null),he=W(()=>q(J)?yt(q(J),q(T)):``),_e=()=>{let e=(q(J)?.margin??0)/2,t={gx:e,gy:e,w:(q(J)?.W??1)-2*e,h:(q(J)?.H??1)-2*e},n=q(Bt)?.draft?q(Bt):null;if(n&&q(J)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/q(J).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/q(J).cell);t.gx=Math.min(t.gx,n.gx-2),t.gy=Math.min(t.gy,n.gy-2),t.w=e-t.gx,t.h=r-t.gy}return At(t,q(N).w,q(N).h,1,q(J)?.cell)},ve=220,ye=520,xe=340,Se=e=>new Promise(t=>setTimeout(t,e)),Ce=G(``),we=G([]),Te=0,De=G(!1),Oe=G([]);async function ke(e){if(k(De,!0),setTimeout(()=>k(De,!1),700),await y(),!q(J)||!q(X)||!q(d))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of q(J).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(q(B)?.querySelector(n.kind===`folder`?`[data-folder="${CSS.escape(n.ref)}"]`:`[data-note="${CSS.escape(n.ref)}"]`))?.animate([{opacity:0},{opacity:0,offset:t?0:.45},{opacity:1}],{duration:t?200:1e3,easing:`ease-out`});let n=q(d).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));k(Oe,n.flatMap(([e,t])=>{let n=q(X).at.get(e),r=q(X).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:Ae(q(J).items[bt(q(X),q(he),n)],q(J).items[bt(q(X),q(he),r)])}]})),q(Oe).length&&setTimeout(()=>k(Oe,[]),5600)}function Ae(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return Ot(kt(i?[n<0?e.gx:e.gx+e.w,e.gy+e.h/2]:[e.gx+e.w/2,r<0?e.gy:e.gy+e.h],i?[n<0?t.gx+t.w:t.gx,t.gy+t.h/2]:[t.gx+t.w/2,r<0?t.gy+t.h:t.gy],i),0,q(J).cell)}a(()=>{if(!q(B))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!q(N).w,i=q(N);k(N,{w:t,h:n}),r&&q(J)?A(_e()):!r&&t&&n&&k(w,{...q(w),x:q(w).x+(t-i.w)/2,y:q(w).y+(n-i.h)/2})});return e.observe(q(B)),()=>e.disconnect()});let je=W(()=>q(J)?q(J).items.flatMap((e,t)=>e.kind===`folder`&&q(he)[t]!==`-`?[{item:e,i:t,open:q(he)[t]===`o`}]:[]):[]),Me=W(()=>q(J)?q(J).items.flatMap((e,t)=>e.kind===`note`&&q(he)[t]===`s`?[{item:e,i:t}]:[]):[]),Ne=W(()=>q(J)?Tt(xt(q(J),q(he),q(X).strong,q(te))).map(e=>({key:e.key,pts:e.pts,d:Ot(e.pts,0,q(J).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Pe(e)})).map((e,t,n)=>({...e,label:e.label&&!n.some((n,r)=>r!==t&&n.label&&n.count===e.count&&Math.hypot(n.mid[0]-e.mid[0],n.mid[1]-e.mid[1])<10&&(n.length>e.length||n.length===e.length&&r<t))})):[]);function Pe(e){let t=e.pts[0],n=t,r=0;for(let i=1,a=0;i<e.pts.length;i++){let o=e.pts[i-1],s=e.pts[i],c=e.pts[i+1];if(c&&Math.abs((s[0]-o[0])*(c[1]-s[1])-(s[1]-o[1])*(c[0]-s[0]))<1e-6&&(s[0]-o[0])*(c[0]-s[0])+(s[1]-o[1])*(c[1]-s[1])>0)continue;let l=e.pts[a],u=Math.hypot(s[0]-l[0],s[1]-l[1]);u>r&&(r=u,t=l,n=s),a=i}return{label:e.trunk&&e.count>1&&r>=3,mid:[(t[0]+n[0])/2,(t[1]+n[1])/2],side:Math.abs(t[0]-n[0])<1e-6?`right`:`above`,length:r}}let Fe=W(()=>u()?``:q(z)||q(F)),Ie=W(()=>q(Fe)&&q(d)&&q(X)?.at.has(q(Fe))?fe(q(d).model,q(Fe)):null),Le=W(()=>{let e=new Map;if(!q(Ie))return e;for(let t of q(Ie).also)e.set(t,{mark:`also`,far:0});for(let t of q(Ie).uses)e.set(t,{mark:`use`,far:0});for(let t of q(Ie).builds)e.set(t,{mark:`bld`,far:0});for(let t of q(Ie).requires)e.set(t,{mark:`req`,far:q(Ie).depth[t]??1});for(let t of q(R))e.set(t,{mark:`req`,far:1});return e.set(q(Fe),{mark:`at`,far:0}),e}),Re=W(()=>{if(!q(Ie))return[];let e=q(R).slice(1).map((e,t)=>({from:q(R)[t],to:e,kind:`requires`})),t=q(R).at(-2);return[...e,...q(Ie).links.filter(e=>e.kind===`requires`?e.from===q(Fe):e.kind!==`builds`||e.from!==t)]}),ze=W(()=>{let e=new Map;if(!q(Ie)||!q(X))return e;let t=new Set(q(X).up[q(X).at.get(q(Fe))]),n=(n,r)=>{for(let i of n)for(let n of q(X).up[q(X).at.get(i)??-1]??[]){if(t.has(n))break;let i=e.get(n)??{req:0,bld:0};i[r]++,e.set(n,i)}};return n(q(Ie).requires,`req`),n(q(Ie).builds,`bld`),e}),Be=(e,t)=>{let n=q(ze).get(e),r=q(J).items[e].parent;return n&&(!t||r<0||!q(ze).has(r))?n:{req:0,bld:0}},Ve=G([]),He=G({requires:0,builds:0,uses:0});function Ue(e,t){if(!e.length||!q(J)||!q(X)||!q(g)){t([],[]);return}let n=e.flatMap(e=>{let t=q(X).at.get(e.from),n=q(X).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Et(q(J),q(X),q(he),n),a=e=>t(Tt(e,!0).map(e=>({key:e.key,kind:e.kind,d:Ot(e.pts,0,q(J).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return rr(q(g).key,q(J),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{o||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{o=!0}}a(()=>Ue(q(Re),(e,t)=>{k(Ve,e),k(He,{requires:t.filter(e=>e.kind===`requires`).length,builds:t.filter(e=>e.kind===`builds`).length,uses:t.filter(e=>e.kind===`uses`).length})}));let We=W(()=>Ee.route.id===`/n/[...id]`?Ee.params.id??``:``);function Ge(e,t=!1){if(!q(J)||!q(X)||!e)return-1;let n=t?q(J).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):q(X).at.get(e)??-1;return n<0?-1:bt(q(X),q(he),n)}let Ke=W(()=>Ge(q(We))),qe=W(()=>ge.elsewhere),Je=W(()=>q(qe)?Ge(q(qe).id,q(qe).folder):-1),Ye=W(()=>{if(!q(qe)||q(qe).folder||!q(We)||q(qe).id===q(We)||!q(d))return[];let e=q(d).model.edges.find(([e,t])=>e===q(We)&&t===q(qe).id||e===q(qe).id&&t===q(We));return e?[{from:e[0],to:e[1],kind:e[2]>=de.requires?`requires`:`uses`}]:[]}),Xe=G([]);a(()=>Ue(q(Ye),e=>{k(Xe,e.map(e=>({...e,key:`there:${e.key}`})))}));let Ze=``;a(()=>{let e=q(We);o(()=>{if(e&&e!==Ze&&q(z)&&q(z)===Ze&&q(X)?.at.has(e)){let t=[];if(q(Ie)&&q(Ie).depth[e])for(let n=e;n&&n!==q(z);n=q(Ie).via[n])t.unshift(n);k(R,q(R).includes(e)?q(R).slice(0,q(R).indexOf(e)+1):t.length?[...q(R),...t]:[e])}Ze=e})});function Qe(e){if(!q(J)||e<0||!q(N).w)return null;let t=q(J).items[e],n=q(J).cell*q(w).k,r=q(w).x+t.gx*n,i=q(w).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<q(N).w&&o>0&&i<q(N).h)return null;let s=q(N).w/2,c=q(N).h/2,l=(r+a)/2-s,u=(i+o)/2-c,d=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(u),1e-6));return{x:s+l*d,y:c+u*d,angle:Math.atan2(u,l)}}let $e=W(()=>u()?null:Qe(q(Ke))),it=W(()=>u()||q(Je)===q(Ke)?null:Qe(q(Je)));function at(e){if(!q(J))return;let t=q(J).items[e],n=q(J).cell*q(w).k;K=!0,_n({k:q(w).k,x:q(N).w/2-(t.gx+t.w/2)*n,y:q(N).h/2-(t.gy+t.h/2)*n})}let ot=W(()=>u()?null:Y.iso),ut=W(()=>q(ot)?.state===`reading`||q(ot)?.state===`writing`),dt=W(()=>{let e=new Map;for(let t of q(ot)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),ft=W(()=>Q.on.context||!!u()),_t=W(()=>new Set(Z.parts.filter(e=>e.kind===`note`).map(e=>e.id))),St=W(()=>new Set(Z.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Ct=W(()=>new Map(($.report?.rows??[]).filter(e=>e.kind===`read`).map(e=>[e.key.slice(2),e]))),wt=W(()=>$.turns.at(-1)),Dt=W(()=>new Set($.turns.filter(e=>!e.items.some(e=>e.kind===`undone`)).flatMap(e=>e.items.flatMap(e=>e.kind===`change`&&e.why!==`delete`?[e.why===`move`?e.to:e.note]:[])))),Nt=W(()=>new Map((q(wt)?.items??[]).flatMap(e=>e.kind===`point`?[[e.note,e.why]]:[]))),Ft=W(()=>{let e=new Map;for(let t of q(wt)?.items??[])t.kind===`look`&&t.step.opened&&!t.step.failed&&!e.has(t.step.opened)&&e.set(t.step.opened,e.size+1);return e}),It=W(()=>q(ut)?q(ot).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),Lt=W(()=>(q(ot)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),Rt=G([]);a(()=>Ue(q(Lt),e=>{k(Rt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let zt=G(null);a(()=>{let e=q(ot)?.note??``;if(k(zt,null),!e.startsWith(`@draft/`))return;let t=!1;return Y.api.readNote(e).then(e=>{t||k(zt,e)},()=>void 0),()=>{t=!0}});let Bt=W(()=>{if(!q(ot)||!q(J)||!q(X))return null;if(!q(ot).note.startsWith(`@draft/`)){let e=q(X).at.get(q(ot).note);if(e===void 0)return null;let t=q(J).items[bt(q(X),q(he),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:mn(q(ot).note)}}let e=Math.round(126/q(J).cell),t=Math.round(77/q(J).cell),n=q(zt)?rt(q(zt).text)||`a new note`:``,r=st(q(ot).note),i=r?{gx:Math.round(r.gx*7/q(J).cell),gy:Math.round(r.gy*7/q(J).cell)}:null;if(i&&!q(J).items.some(n=>n.kind===`note`&&i.gx<n.gx+n.w+1&&n.gx<i.gx+e+1&&i.gy<n.gy+n.h+1&&n.gy<i.gy+t+1))return{...i,w:e,h:t,draft:!0,title:n};let a=q(J).items.filter(e=>e.parent<0),o=Math.max(...a.map(e=>e.gx+e.w)),s=Math.max(...a.map(e=>e.gy+e.h)),c=Math.round(84/q(J).cell);return re===`right`?{gx:o+c,gy:Math.round((q(J).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((q(J).W-e)/2),gy:s+c,w:e,h:t,draft:!0,title:n}}),Vt=W(()=>q(zt)?et(q(zt).text).filter(e=>q(d)?.notes[e]):[]),Ht=W(()=>!q(Bt)?.draft||!q(J)||!q(X)?[]:q(Vt).flatMap(e=>{let t=q(X).at.get(e);return t===void 0?[]:[{key:e,d:Ae(q(Bt),q(J).items[bt(q(X),q(he),t)])}]})),Ut=e=>{if(!q(ft))return``;if(e===q(It))return`used`;let t=q(dt).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};a(()=>{let e=q(ot);e&&e.request===Y.watching&&e.state!==`reading`&&e.state!==`writing`&&(Y.watching=``,e.state===`done`&&ue(le(`/draft/[id]`,{id:e.note.slice(7)})))});let Wt=``;a(()=>{q(Bt)?.draft&&q(ot)&&Wt!==q(ot).request&&q(N).w&&(Wt=q(ot).request,K||k(w,_e()))});let Gt=G(null),Kt=G(``);a(()=>{if(k(Gt,null),k(Kt,``),!u())return;let e=!1;return Y.api.readNote(u()).then(t=>{e||k(Gt,t)},()=>{e||k(Kt,`that note for Iso is not here any more`)}),()=>{e=!0}});let qt=W(()=>q(Gt)?et(q(Gt).text).filter(e=>q(d)?.notes[e]&&!e.startsWith(`@`)):[]),Jt=Promise.resolve();function Yt(e){Jt=Jt.then(async()=>{if(!q(Gt)||e.startsWith(`@`))return;let t=t=>et(t).includes(e)?nt(t,e):tt(t,e,mn(e)),n=t(q(Gt).text);if(n===null)k(Kt,`linked in what you wrote: take it out there`);else{k(Kt,``);try{k(Gt,await Y.api.saveNote(u(),{base:q(Gt).version,text:n}))}catch{try{let e=await Y.api.readNote(u()),n=t(e.text);k(Gt,n===null?e:await Y.api.saveNote(u(),{base:e.version,text:n}))}catch(e){k(Kt,`not linked: ${e.message}`)}}}})}let Xt=G(null),Zt=null,Qt=!1,$t,en;function tn(){clearTimeout($t),clearTimeout(en),$t=en=void 0,Zt=null,Qt||k(Xt,null)}function nn(e,t){let n=null;for(let r of q(J).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function rn(e,t){if(tn(),q(on)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&k(on,null),u()||Qt||!q(J)||!q(X)||!(e.target instanceof Element)||e.target.closest(`button, .dock`))return;let n=e.target.closest(`[data-note]`)?.dataset.note??``;if(n.startsWith(`@`))return;if(n){let r=e.pointerType!==`mouse`;en=setTimeout(()=>{en=void 0,vn=!0,r?k(on,{ref:n,x:t.x,y:t.y}):ln(n)},650);return}let r=q(J).cell*q(w).k,i=Math.round((t.x-q(w).x)/r),a=Math.round((t.y-q(w).y)/r),o={dir:nn(i,a),gx:i,gy:a,w:0,h:0,folder:!1};$t=setTimeout(()=>{k(Xt,o)},180),en=setTimeout(()=>{en=void 0,vn=!0,Zt=t,k(Xt,o),q(B)?.setPointerCapture(e.pointerId)},650)}function an(e){Zt&&q(Xt)&&!q(Xt).folder&&Math.hypot(e.x-Zt.x,e.y-Zt.y)>=24&&k(Xt,{...q(Xt),folder:!0})}let on=G(null),sn=G(``),cn;function ln(e,t=`note`){let n=Z.add({kind:t,id:e,title:t===`note`?mn(e):hn(e)});k(sn,n?`${t===`note`?mn(e):hn(e)} is in Iso's context`:`${t===`note`?mn(e):hn(e)} is in Iso's context already`,!0),clearTimeout(cn),cn=setTimeout(()=>k(sn,``),2200)}function un(e,t=`note`){let n=t===`note`&&!Z.has(`note`,e)?q(Ct).get(e):void 0;if(n){$.toggle(n),k(sn,`${mn(e)} is ${n.on?`set aside`:`in Iso's hand again`}`),clearTimeout(cn),cn=setTimeout(()=>k(sn,``),2200);return}if(!Z.has(t,e)){ln(e,t);return}let r=t===`note`?mn(e):hn(e);Z.remove({kind:t,id:e,title:r}),k(sn,`${r} is out of Iso's context`),clearTimeout(cn),cn=setTimeout(()=>k(sn,``),2200)}function dn(){Zt&&q(Xt)&&(Zt=null,fn(q(Xt)))}async function fn(e){Qt=!0;let t=Y.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=ct(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=ct(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await Y.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await Y.refresh(),Q.fresh=i,await Q.open(i)}catch(e){k(Kt,e.message,!0)}finally{Qt=!1,k(Xt,null)}}async function pn(e,t){try{await lt(e,t)}catch(e){k(Kt,e.message,!0)}}let mn=e=>q(d)?.notes[e]?.title??e.split(`/`).at(-1)??e,hn=e=>e.split(`/`).at(-1)||Y.session?.name||`the base`,gn=0;function _n(e){if(cancelAnimationFrame(gn),Pn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){k(w,e);return}let t=q(w),n=performance.now(),r=i=>{let a=Math.min(1,(i-n)/320),o=1-(1-a)**3,s=t.k*(e.k/t.k)**o,c=q(N).w/2,l=q(N).h/2,u=(c-t.x)/t.k*(1-o)+(c-e.x)/e.k*o,d=(l-t.y)/t.k*(1-o)+(l-e.y)/e.k*o;k(w,a===1?e:{k:s,x:c-u*s,y:l-d*s}),a<1&&(gn=requestAnimationFrame(r))};gn=requestAnimationFrame(r)}let vn=!1,yn=new Map,bn=null;function xn(){let e=[...yn.values()];if(!e.length){bn=null;return}let t=e.reduce((e,t)=>e+t.x,0)/e.length,n=e.reduce((e,t)=>e+t.y,0)/e.length;bn={view:q(w),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let Sn=e=>{let t=q(B).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},Cn=null,wn=G(e({x:0,y:0}));function Tn(e){if(u()||!(e.target instanceof Element))return null;let t=e.target.closest(`[data-note]`)?.dataset.note;if(t)return t.startsWith(`@`)?null:{kind:`note`,id:t,title:mn(t)};let n=(e.target.closest(`.frame-title`)?.closest(`[data-folder]`)??e.target.closest(`button[data-folder]`))?.dataset.folder;return n&&!n.startsWith(`@`)?{kind:`folder`,id:n,title:hn(n)}:null}function En(e){if(!Cn||e.pointerType!==`mouse`)return;k(wn,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;Z.carrying={part:Cn,over:t}}function Dn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(gn),Pn(),yn.size||(vn=!1,Cn=Tn(e)),yn.set(e.pointerId,Sn(e)),xn(),yn.size===1?rn(e,Sn(e)):tn())}function On(e){if(!yn.has(e.pointerId)||!bn)return;if(yn.set(e.pointerId,Sn(e)),Zt){an(Sn(e));return}let t=[...yn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!vn&&t.length===1&&Math.hypot(n-bn.x,r-bn.y)<5)return;if(vn||(vn=!0,tn(),q(B).setPointerCapture(e.pointerId)),t.length===1&&Cn){En(e);return}K=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=bn.span&&i?jt(bn.view,i/bn.span,bn.x,bn.y):bn.view;k(w,{k:a.k,x:a.x+n-bn.x,y:a.y+r-bn.y})}function kn(e){if(yn.delete(e.pointerId)){if(Z.carrying){let{part:e,over:t}=Z.carrying;Z.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&ln(e.id,e.kind)}Cn=null,Zt?dn():en!==void 0&&tn(),xn()}}let An=null,jn=0;function Mn(e){e.preventDefault(),cancelAnimationFrame(gn),K=!0;let t=Sn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(ht,(An?.k??q(w).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?k(w,jt(q(w),i/q(w).k,t.x,t.y)):(An={k:i,x:t.x,y:t.y},jn||=requestAnimationFrame(Nn))}function Nn(){if(jn=0,!An)return;let e=An.k/q(w).k;Math.abs(Math.log(e))<.004?(k(w,jt(q(w),e,An.x,An.y)),An=null):(k(w,jt(q(w),e**.3,An.x,An.y)),jn=requestAnimationFrame(Nn))}function Pn(){cancelAnimationFrame(jn),jn=0,An=null}a(()=>{if(!q(B))return;let e=q(B);return e.addEventListener(`wheel`,Mn,{passive:!1}),()=>e.removeEventListener(`wheel`,Mn)});function Fn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),vn))return;if(u()){Yt(t);return}if(e.shiftKey){t.startsWith(`@`)||un(t);return}if(q(z)===t){Q.open(t);return}let n=[];if(q(Ie)&&q(Fe)===q(z)&&q(Ie).depth[t])for(let e=t;e&&e!==q(z);e=q(Ie).via[e])n.unshift(e);k(R,q(R).includes(t)?q(R).slice(0,q(R).indexOf(t)+1):n.length?[...q(R),...n]:[t])}function In(e,t){if(vn||!q(J))return;let n=q(J).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||un(n,`folder`);return}K=!0;let r=At(q(J).items[e],q(N).w,q(N).h,1.5,q(J).cell),i=Math.abs(r.k-q(w).k)<.01*r.k&&Math.hypot(r.x-q(w).x,r.y-q(w).y)<4,a=q(J).items[e].parent;_n(i?a<0?_e():At(q(J).items[a],q(N).w,q(N).h,1.5,q(J).cell):r)}function Ln(e){if(vn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(q(z)?k(R,[]):q(ot)&&!q(ut)?Y.iso=null:t&&q(J)?In(q(J).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):_n(_e()))}function Rn(e){if(e.key===`Escape`){k(R,[]),k(F,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){oe();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){se(!q(te));return}if(e.target!==q(B))return;let t={x:q(N).w/2,y:q(N).h/2};if(e.key===`+`||e.key===`=`)k(w,jt(q(w),1.25,t.x,t.y));else if(e.key===`-`)k(w,jt(q(w),.8,t.x,t.y));else if(e.key===`0`)_n(_e());else if(e.key===`ArrowLeft`)k(w,{...q(w),x:q(w).x+80});else if(e.key===`ArrowRight`)k(w,{...q(w),x:q(w).x-80});else if(e.key===`ArrowUp`)k(w,{...q(w),y:q(w).y+80});else if(e.key===`ArrowDown`)k(w,{...q(w),y:q(w).y-80});else return;e.preventDefault(),K=!0}let zn=W(()=>{if(!q(J)||!q(N).w||q(w).k<=_e().k*1.05)return-1;let e=q(J).cell*q(w).k,t=(q(N).w/2-q(w).x)/e,n=(q(N).h/2-q(w).y)/e,r=-1;return q(J).items.forEach((i,a)=>{i.kind!==`folder`||q(he)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*q(N).w||i.h*e>=.6*q(N).h)&&(r<0||q(J).items[r].depth<i.depth)&&(r=a)}),r});function Bn(){if(!q(J))return;K=!0;let e=q(zn)<0?-1:q(J).items[q(zn)].parent;_n(e<0?_e():At(q(J).items[e],q(N).w,q(N).h,1.5,q(J).cell))}let Vn=W(()=>12*q(T)>=mt),Hn=W(()=>q(J)&&q(d)?Pt(q(Me).map(e=>e.item),q(d).notes,{web:Q.on.web,code:Q.on.code,pictures:Q.on.pictures}):[]);function Un(e,t){let n=be(Y.api,t);typeof n==`string`?e.src=n:n.then(t=>{t&&(e.src=t)})}let Wn=e=>e>=0&&q(J).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;a(()=>(Y.atlas={chosen:q(z)?mn(q(z)):``,chosenId:q(z),steps:q(R).length-1,pick:!!u(),here:q(zn)<0?``:hn(q(J).items[q(zn)].ref),out:Bn,fit:()=>{K=!1,_n(_e())}},()=>{Y.atlas=null}));var Gn=Jr();let Kn;var qn=S(Gn),Jn=m(qn,2),Yn=e=>{var n=wr(),r=C(n);b(()=>f(r,`The map could not be drawn: ${q(v)??``}`)),t(e,n)},Xn=e=>{var i=qr(),a=x(i),o=e=>{var n=Tr();t(e,n)};r(a,e=>{q(J).items.length||e(o)});var c=m(a,2);let l;var g=S(c);n(g,21,()=>q(je),e=>e.item.id,(e,t)=>{{let n=W(()=>hn(q(t).item.ref)),r=W(()=>q(t).item.parent<0||(q(t).item.gy-q(J).items[q(t).item.parent].gy)*q(J).cell*q(T)>=18),i=W(()=>Be(q(t).i,q(t).open)),a=W(()=>!!q(Ie)&&!q(t).open&&!q(ze).has(q(t).i)),o=W(()=>q(ft)&&q(St).has(q(t).item.ref)),s=W(()=>!q(t).open&&q(Ke)===q(t).i),c=W(()=>q(Je)===q(t).i?q(qe).who:``);gr(e,{get item(){return q(t).item},get name(){return q(n)},get count(){return q(X).noteCount[q(t).i]},get open(){return q(t).open},get titled(){return q(r)},get held(){return q(i)},get dim(){return q(a)},get given(){return q(o)},get here(){return q(s)},get moment(){return q(c)},onpick:e=>In(q(t).i,e)})}}),U(g);var _=m(g,2);{let e=W(()=>[...q(ft)?q(Rt):[],...q(Ve),...q(Xe)]);Cr(_,{get k(){return q(T)},get rest(){return q(Ne)},get hot(){return q(e)},get counts(){return q(He)},get sent(){return q(Ht)},get grown(){return q(Oe)},get beat(){return q(Ce)},get retracting(){return q(we)}})}var v=m(_,2),y=e=>{var i=L(),a=x(i);n(a,17,()=>q(Ne),e=>e.key,(e,n)=>{var i=L(),a=x(i),o=e=>{var r=Er(),i=C(r,!0);b(()=>{M(r,1,`count ${q(n).side??``}`,`svelte-14y1y1z`),P(r,`--x:${q(n).mid[0]??``};--y:${q(n).mid[1]??``}`),f(i,q(n).count)}),t(e,r)};r(a,e=>{q(n).label&&e(o)}),t(e,i)}),t(e,i)};r(v,e=>{q(Vn)&&!q(Ce)&&e(y)});var E=m(v,2),D=S(E);n(D,17,()=>q(Me),e=>e.item.id,(e,t)=>{let n=W(()=>q(Le).get(q(t).item.ref)),r=W(()=>q(n)?.mark??``);{let i=W(()=>mn(q(t).item.ref)),a=W(()=>q(d).notes[q(t).item.ref]?.kind??``),o=W(()=>!!q(d).notes[q(t).item.ref]?.done),s=W(()=>Wn(q(t).item.parent)),c=W(()=>q(n)?.far??0),l=W(()=>q(qt).indexOf(q(t).item.ref)+1),u=W(()=>Ut(q(t).item.ref)),f=W(()=>q(Vt).includes(q(t).item.ref)),p=W(()=>q(ft)&&q(_t).has(q(t).item.ref)),m=W(()=>q(ft)&&!q(_t).has(q(t).item.ref)?q(Ct).get(q(t).item.ref)?.on?`on`:q(Ct).has(q(t).item.ref)?`aside`:``:``),h=W(()=>q(ft)&&q(Dt).has(q(t).item.ref)),g=W(()=>q(ft)?q(Nt).get(q(t).item.ref)??``:``),_=W(()=>q(ft)?q(Ft).get(q(t).item.ref)??0:0),v=W(()=>q(Je)===q(t).i?q(qe).who:``),y=W(()=>q(Ke)===q(t).i),b=W(()=>!!q(Ie)&&!q(r)),x=W(()=>me(q(t).item.ref));dr(e,{get item(){return q(t).item},get title(){return q(i)},get kind(){return q(a)},get done(){return q(o)},get behind(){return q(s)},get mark(){return q(r)},get far(){return q(c)},get num(){return q(l)},get iso(){return q(u)},get linked(){return q(f)},get given(){return q(p)},get held(){return q(m)},get changed(){return q(h)},get pointed(){return q(g)},get order(){return q(_)},get moment(){return q(v)},get here(){return q(y)},get dim(){return q(b)},get href(){return q(x)},onpick:e=>Fn(e,q(t).item.ref),onpoint:e=>{k(F,e?q(t).item.ref:q(F)===q(t).item.ref?``:q(F),!0),ge.onAtlas=q(F)}})}});var O=m(D,2);n(O,17,()=>q(Hn),e=>e.key,(e,n)=>{var i=L(),a=x(i),o=e=>{var r=Dr();b(()=>{H(r,`href`,q(n).href),H(r,`title`,`${q(n).text} · ${q(n).href}`),H(r,`aria-label`,q(n).text),H(r,`data-sat`,q(n).key),P(r,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)}),s(`click`,r,e=>{vn&&e.preventDefault(),e.stopPropagation()}),t(e,r)},c=e=>{var i=Ar();let a;var o=S(i),c=e=>{var n=Or();t(e,n)},l=e=>{var r=kr();ie(r,(e,t)=>Un?.(e,t),()=>q(n).picture),h(r),t(e,r)};r(o,e=>{q(n).broken?e(c):e(l,-1)}),U(i),b(e=>{a=M(i,1,`sat picture svelte-14y1y1z`,null,a,{broken:q(n).broken}),H(i,`href`,e),H(i,`title`,`${q(n).text} · ${q(n).picture.from===`code`?`code:`:``}${q(n).picture.path}${q(n).broken?q(n).picture.from===`code`?` · not in the repository`:` · not in the notes`:``}`),H(i,`aria-label`,`${q(n).text}${q(n).broken?`, missing`:``}`),H(i,`data-sat`,q(n).key),P(i,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)},[()=>me(q(n).note)]),s(`click`,i,e=>{vn&&e.preventDefault(),e.stopPropagation()}),t(e,i)},l=e=>{var r=jr();let i;b(e=>{i=M(r,1,`sat code svelte-14y1y1z`,null,i,{broken:q(n).broken}),H(r,`title`,e),H(r,`aria-label`,`${q(n).text}${q(n).broken?`, not in the repository`:``}`),H(r,`data-sat`,q(n).key),P(r,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)},[()=>`${q(n).text} · ${q(n).href.slice(5)}${q(n).broken?` · not in the repository`:``}`]),t(e,r)};r(a,e=>{q(n).kind===`web`?e(o):q(n).kind===`picture`?e(c,1):e(l,-1)}),t(e,i)}),U(E);var A=m(E,2),I=e=>{var n=Fr();let i;var a=S(n),o=e=>{var n=Mr(),r=S(n),i=C(r,!0);U(n),b(e=>{H(n,`href`,e),H(n,`aria-label`,`${q(Bt).title??``}: your note for Iso`),f(i,q(Bt).title)},[()=>le(`/draft/[id]`,{id:q(ot).note.slice(7)})]),t(e,n)};r(a,e=>{q(Bt).draft&&e(o)});var s=m(a,2),c=e=>{var n=Pr(),i=m(x(n),2),a=m(S(i)),o=e=>{var n=p(`Iso is writing`);t(e,n)},s=e=>{var n=Nr(),r=m(x(n)),i=C(r,!0);b(e=>f(i,e),[()=>mn(q(It))]),t(e,n)},c=e=>{var n=p(`Iso is thinking`);t(e,n)};r(a,e=>{q(ot).state===`writing`?e(o):q(It)?e(s,1):e(c,-1)}),U(i),t(e,n)};r(s,e=>{q(ut)&&e(c)}),U(n),b(()=>{i=M(n,1,`asker svelte-14y1y1z`,null,i,{draft:q(Bt).draft}),P(n,`--x:${q(Bt).gx??``};--y:${q(Bt).gy??``};--w:${q(Bt).w??``};--h:${q(Bt).h??``}`)}),t(e,n)};r(A,e=>{q(Bt)&&e(I)});var R=m(A,2),z=e=>{var n=Rr();let i;var a=S(n),o=S(a),s=e=>{var n=Ir();t(e,n)},c=e=>{var n=Lr();j(),t(e,n)};r(o,e=>{q(Xt).folder?e(s):e(c,-1)}),U(a);var l=m(a,2),u=C(l);U(n),b(()=>{i=M(n,1,`grasp svelte-14y1y1z`,null,i,{folder:q(Xt).folder}),P(n,`--x:${q(Xt).gx??``};--y:${q(Xt).gy??``}`),f(u,`${q(Xt).folder?`a new folder`:`a new note`}${q(Xt).dir?` in ${q(Xt).dir}`:``}`)}),t(e,n)};r(R,e=>{q(Xt)&&e(z)}),U(c);var B=m(c,2);n(B,17,()=>[{p:q($e),i:q(Ke),who:`here`},{p:q(it),i:q(Je),who:q(qe)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,n)=>{var i=L(),a=x(i),o=e=>{var r=zr();b((e,t)=>{M(r,1,`pip ${q(n).who??``}`,`svelte-14y1y1z`),P(r,`left:${q(n).p.x??``}px;top:${q(n).p.y??``}px;--a:${q(n).p.angle??``}rad`),H(r,`data-pip`,q(n).who===`here`?`here`:`there`),H(r,`aria-label`,`Bring ${e??``} into view`),H(r,`title`,`${t??``}${q(n).who===`here`?`: open in the Note pane`:``}`)},[()=>mn(q(J).items[q(n).i].ref),()=>mn(q(J).items[q(n).i].ref)]),s(`click`,r,e=>{e.stopPropagation(),at(q(n).i)}),t(e,r)};r(a,e=>{q(n).p&&e(o)}),t(e,i)});var ee=m(B,2),V=e=>{{let t=W(()=>q(Gt)?rt(q(Gt).text):``),n=W(()=>q(qt).map(e=>({id:e,title:mn(e),tokens:q(d).notes[e]?.tokens??0}))),r=W(()=>le(`/draft/[id]`,{id:u().slice(7)}));pt(e,{get title(){return q(t)},get picked(){return q(n)},budget:8e3,get notice(){return q(Kt)},get href(){return q(r)}})}},te=e=>{var n=Br(),r=C(n,!0);b(()=>f(r,q(Kt))),t(e,n)};r(ee,e=>{u()?e(V):q(Kt)&&e(te,1)});var ne=m(ee,2),G=e=>{var n=Vr(),r=C(n);b(()=>f(r,`◆ ${q(sn)??``}`)),t(e,n)};r(ne,e=>{q(sn)&&e(G)});var K=m(ne,2),re=e=>{var n=Hr();t(e,n)};r(K,e=>{Q.on.context&&!u()&&!q(sn)&&Q.settings===`atlas`&&e(re)});var ae=m(K,2),oe=e=>{let n=W(()=>q(on));var i=Gr(),a=S(i),o=e=>{var r=Ur();s(`click`,r,e=>{e.stopPropagation(),un(q(n).ref),k(on,null)}),t(e,r)},c=W(()=>Z.has(`note`,q(n).ref)),l=e=>{var r=Wr();s(`click`,r,e=>{e.stopPropagation(),ln(q(n).ref),k(on,null)}),t(e,r)};r(a,e=>{q(c)?e(o):e(l,-1)});var u=m(a,2),d=m(u,2),f=m(d,2);U(i),b((e,t)=>{H(i,`aria-label`,e),P(i,`left:${t??``}px;top:${q(n).y+14}px`)},[()=>mn(q(n).ref),()=>Math.min(q(n).x,q(N).w-170)]),s(`click`,u,e=>{e.stopPropagation(),k(on,null),Q.open(q(n).ref,!0)}),s(`click`,d,e=>{e.stopPropagation(),k(on,null),pn(`question`,q(n).ref)}),s(`click`,f,e=>{e.stopPropagation(),k(on,null),pn(`problem`,q(n).ref)}),t(e,i)};r(ae,e=>{q(on)&&e(oe)});var se=m(ae,2),ce=e=>{var n=Kr();let r;var i=C(n);b(()=>{r=M(n,1,`carried svelte-14y1y1z`,null,r,{over:Z.carrying.over}),P(n,`left:${q(wn).x??``}px;top:${q(wn).y??``}px`),f(i,`${Z.carrying.part.kind===`folder`?`▭`:`▣`} ${Z.carrying.part.title??``}`)}),t(e,n)};r(se,e=>{Z.carrying&&e(ce)}),b(()=>{l=M(c,1,`atlas-world svelte-14y1y1z`,null,l,{labels:q(Vn),shifting:q(De)}),H(c,`data-open`,q(he)),P(c,`transform: translate(${q(w).x??``}px, ${q(w).y??``}px) scale(${q(w).k/q(T)}); --u: ${(q(J)?.cell??7)*q(T)}px; --k: ${q(T)??``}`),P(g,`transform: scale(${q(T)??``}); --u: ${q(J).cell??``}px; --px: ${1/q(T)}px; --ik: ${1/q(T)}`),P(E,`transform: scale(${q(T)??``}); --u: ${q(J).cell??``}px; --px: ${1/q(T)}px; --ik: ${1/q(T)}`)}),t(e,i)};r(Jn,e=>{q(v)?e(Yn):q(J)&&q(d)&&e(Xn,1)}),U(Gn),E(Gn,e=>k(B,e),()=>q(B)),b(()=>{Kn=M(Gn,1,`atlas svelte-14y1y1z`,null,Kn,{lit:!!q(Ie)}),P(qn,`transform: translate(${(q(w).x%24+24)%24}px, ${(q(w).y%24+24)%24}px)`)}),s(`pointerdown`,Gn,Dn),s(`pointermove`,Gn,On),s(`pointerup`,Gn,kn),l(`pointercancel`,Gn,kn),s(`click`,Gn,Ln),s(`keydown`,Gn,Rn),l(`dragstart`,Gn,e=>e.preventDefault()),s(`contextmenu`,Gn,e=>{(q(Xt)||$t!==void 0||en!==void 0||q(on))&&e.preventDefault()}),t(i,Gn),ne()}i([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var Xr=u(`<div class="side svelte-nwxyyl"><button class="icon svelte-nwxyyl" type="button" aria-label="this session's timeline" title="this session's timeline"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg></button> <!></div>`),Zr=u(`<div class="map svelte-nwxyyl"><!> <!></div>`);function Qr(n,i){D(i,!0);let o=W(()=>Ee.url.searchParams.get(`pick`)??new URLSearchParams(Ee.url.hash.split(`?`)[1]??``).get(`pick`)??``),c=G(e((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),l=G([]),u=G(null),d=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),f=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function p(){try{k(l,(await Y.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}a(()=>{if(!q(c))return;p();let e,t=Y.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{p()},300))});return()=>{t(),clearTimeout(e)}});function h(e){ue(`${me(e.note)}?at=${encodeURIComponent(xe(e))}`)}a(()=>{let e=q(u);ge.set(`timeline`,e?{id:e.note,folder:!1,who:f(e)?`iso`:`you`}:null)});function g(){k(c,!q(c)),k(u,null);try{localStorage.setItem(`isorite.timeline`,q(c)?`1`:`0`)}catch{}}var _=Zr(),v=S(_);{let e=W(()=>q(o)?`@draft/${q(o)}`:``);Yr(v,{get pick(){return q(e)}})}var y=m(v,2),x=e=>{var n=Xr(),i=S(n),a=m(i,2),o=e=>{Se(e,{get moments(){return q(l)},at:null,get pointed(){return q(u)},leftward:!0,name:`This session's timeline`,label:e=>d(e.note),point:e=>k(u,e),pick:e=>h(e)})};r(a,e=>{q(c)&&e(o)}),U(n),b(()=>H(i,`aria-pressed`,q(c))),s(`click`,i,g),t(e,n)};r(y,e=>{q(o)||e(x)}),U(_),t(n,_),ne()}i([`click`]);var $r=new class{#e=G(null);get value(){return q(this.#e)}set value(e){k(this.#e,e)}started=!1;start(){!this.started&&Y.api&&(this.started=!0,this.refresh(),Y.on(e=>{(e.type===`iso-done`||e.type===`record`)&&this.refresh()}))}async refresh(){try{this.value=await Y.api.spend()}catch{}}},ei=new class{#e=G(null);get view(){return q(this.#e)}set view(e){k(this.#e,e)}#t=G(``);get problem(){return q(this.#t)}set problem(e){k(this.#t,e,!0)}started=!1;get connected(){return!!this.view?.connected}get running(){return!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`}get api(){return Y.api?.terminal??null}start(){!this.started&&Y.api&&(this.started=!0,this.api?(this.api.view().then(e=>this.show(e),()=>Q.setTerminal(!1)),Y.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Q.setTerminal(!1))}show(e){let t=this.connected;this.view=e,Q.setTerminal(e.connected);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash)$/.test(t.action)?!Q.on.run:/^(edit|write|patch)$/.test(t.action)&&!Q.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Q.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Q.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;try{let t=Z.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});return await this.api.prompt(e.trim(),t),!0}catch(e){return this.problem=e.message,!1}}async stop(){try{await this.api?.stop()}catch(e){this.problem=e.message}}async reply(e,t){try{await this.api?.reply(e,t)}catch(e){this.problem=e.message}}},ti=u(`<span class="d svelte-po8nwq"> </span>`),ni=u(`<button type="button" class="x svelte-po8nwq" aria-label="The turns it sums up" title="The turns it sums up"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path></path></svg></button>`),ri=u(`<button type="button" class="x svelte-po8nwq" title="Take it out"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),ii=u(`<li><button type="button" class="r svelte-po8nwq" role="switch"><span aria-hidden="true"> </span> <span class="t svelte-po8nwq"> </span> <!> <span class="num svelte-po8nwq"> </span> <i class="bar svelte-po8nwq"></i></button> <!></li>`),ai=u(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),oi=u(`<h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Sent with your next message to the terminal's agent: notes and folders by name, passages as they are"></ul>`,1),si=u(`<span class="acts svelte-po8nwq"><button class="icon svelte-po8nwq" type="button" aria-label="Sum up the earlier turns" title="Sum up the earlier turns, all but the last, into a briefing sent instead of them"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3 3.5h10M3 6.5h10M5 10l3 3 3-3"></path></svg></button> <button class="icon svelte-po8nwq" type="button" aria-label="A new conversation from here" title="A new conversation that starts from a briefing of this one"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M4 2.5v6a3 3 0 0 0 3 3h5"></path><path d="M9.5 9l2.5 2.5L9.5 14"></path></svg></button></span>`),ci=u(`<!> <!>`,1),li=u(`<h2 class="label svelte-po8nwq"><span> </span> <!></h2> <ul class="rows svelte-po8nwq"></ul>`,1),ui=u(`<p class="total svelte-po8nwq"><span> </span><span class="faint"> </span></p> <!>`,1),di=u(`<p class="bad svelte-po8nwq" role="alert"> </p>`),fi=u(`<div class="context svelte-po8nwq" role="region" aria-label="What Iso is sent"><!> <!></div>`);function pi(i,a){D(a,!0);let o=(e,n=F,i)=>{let a=V(()=>B(i?.(),!1)),o=W(()=>q(d)?Math.min(1,n().tokens/q(d).limit):0);var l=ii();let p;var v=S(l),y=S(v);let x;var w=C(y,!0),T=m(y,2),E=C(T,!0),D=m(T,2),O=e=>{var r=ti(),i=C(r,!0);b(()=>f(i,n().detail)),t(e,r)};r(D,e=>{n().detail&&e(O)});var A=m(D,2),j=C(A,!0),N=m(A,2);let I;U(v);var L=m(v,2),R=e=>{var r=ni(),i=S(r),a=C(i);U(r),b((e,t)=>{H(r,`aria-expanded`,e),H(a,`d`,t)},[()=>q(h).includes(n().key),()=>q(h).includes(n().key)?`M4 10l4-4 4 4`:`M4 6l4 4 4-4`]),s(`click`,r,()=>k(h,q(h).includes(n().key)?q(h).filter(e=>e!==n().key):[...q(h),n().key],!0)),t(e,r)},z=e=>{var r=ri();b(()=>H(r,`aria-label`,`Take ${n().title??``} out of Iso's context`)),s(`click`,r,()=>$.takeOut(n())),t(e,r)};r(L,e=>{n().kind===`briefing`?e(R):n().given&&e(z,1)}),U(l),b((e,t,r,i)=>{p=M(l,1,`row svelte-po8nwq`,null,p,{off:!n().on,under:q(a)}),H(l,`data-key`,n().key),H(v,`aria-checked`,n().on),H(v,`aria-label`,`Send: ${n().title??``}`),H(v,`title`,e),v.disabled=t,x=M(y,1,`mk svelte-po8nwq`,null,x,{iso:n().by===`iso`,q:n().kind===`question`}),f(w,u[n().kind]),f(E,n().kind===`passage`?`“${n().given?.kind===`passage`?n().given.text:n().title}”`:n().title),f(j,r),I=P(N,``,I,{"--w":i})},[()=>_(n()),()=>g(n()),()=>c(n().tokens),()=>`${(q(o)*100).toFixed(2)??``}%`]),s(`click`,v,()=>void $.toggle(n())),t(e,l)},c=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),l=[`notes`,`conversation`,`fixed`],u={note:`◆`,folder:`▭`,passage:`“`,understanding:`◇`,read:`◇`,question:`?`,turn:`›`,briefing:`≡`,instructions:``,agents:``,message:``},d=W(()=>$.report),p=W(()=>Q.mode===`build`),h=G(e([])),g=e=>e.kind===`instructions`||e.kind===`message`,_=e=>e.kind===`read`?e.aged?`Read by Iso, and set aside: not used for 3 turns. Iso is told it can read it again. Click to send it again.`:e.on?`Read by Iso, and kept in hand so it is not read again. Click to set it aside.`:`Read by Iso, and set aside. Click to send it again.`:e.kind===`turn`?e.on?`An earlier turn, sent whole. Click to leave it out.`:e.under?`Summed up in the briefing above. Click to send it whole as well.`:`Left out. Click to send it again.`:e.kind===`briefing`?e.on?`Earlier turns, summed up: sent instead of them. Click to send the turns instead.`:`Not sent: the turns it sums up are sent instead. Click to send it again.`:e.kind===`agents`?`AGENTS.md: your instructions for this base, sent with every turn. Click to leave it out.`:e.kind===`question`?`An open question about a note you gave. Click to leave it out.`:g(e)?e.kind===`instructions`?`What Iso is told, and its tools`:`What you are writing`:e.on?`You gave it. Click to leave it out for now; ✕ takes it out.`:`Left out for now. Click to send it again.`;var v=fi(),y=S(v),w=e=>{var r=oi(),i=m(x(r),2);n(i,21,()=>Z.sent,e=>Z.keyOf(e),(e,n)=>{var r=ai(),i=S(r),a=m(S(i)),o=C(a,!0);U(i);var c=m(i,2);U(r),b(()=>{f(o,q(n).kind===`passage`?`“${q(n).text}”`:q(n).title),H(c,`aria-label`,`Take ${q(n).title??``} out of Iso's context`)}),s(`click`,c,()=>Z.remove(q(n))),t(e,r)}),U(i),t(e,r)},T=e=>{var i=ui(),a=x(i),u=S(a),p=C(u,!0),g=m(u),_=C(g);U(a);var v=m(a,2);n(v,16,()=>l,e=>e,(e,i)=>{let a=W(()=>q(d).rows.filter(e=>e.group===i&&!e.under));var c=L(),l=x(c),u=e=>{var c=li(),l=x(c),u=S(l),p=C(u,!0),g=m(u,2),_=e=>{var n=si(),r=S(n),i=m(r,2);U(n),b(e=>{r.disabled=e,i.disabled=$.summing||!!$.running||!$.turns.length},[()=>$.summing||!!$.running||q(d).rows.filter(e=>e.kind===`turn`&&e.on).length<2]),s(`click`,r,()=>void $.compact()),s(`click`,i,()=>void $.branch()),t(e,n)};r(g,e=>{i===`conversation`&&e(_)}),U(l);var v=m(l,2);n(v,21,()=>q(a),e=>e.key,(e,i)=>{var a=ci(),s=x(a);o(s,()=>q(i));var c=m(s,2),l=e=>{var r=L(),a=x(r);n(a,17,()=>q(d).rows.filter(e=>e.under===q(i).key),e=>e.key,(e,t)=>{o(e,()=>q(t),()=>!0)}),t(e,r)},u=W(()=>q(i).kind===`briefing`&&q(h).includes(q(i).key));r(c,e=>{q(u)&&e(l)}),t(e,a)}),U(v),b(()=>{f(p,i),H(v,`aria-label`,i===`notes`?`The notes Iso has`:i===`conversation`?`The conversation`:`Always sent`)}),t(e,c)};r(l,e=>{(q(a).length||i===`notes`)&&e(u)}),t(e,c)}),b((e,t)=>{H(a,`title`,q(d).counted?`As the provider counted the last turn`:`Estimated: counted after the first turn`),f(p,e),f(_,`of ${t??``}${q(d).counted?``:` ~`}`)},[()=>c(q(d).tokens),()=>c(q(d).limit)]),t(e,i)};r(y,e=>{q(p)?e(w):q(d)?.rows&&e(T,1)});var E=m(y,2),O=e=>{var n=di(),r=C(n,!0);b(()=>f(r,$.problem)),t(e,n)};r(E,e=>{$.problem&&e(O)}),U(v),t(i,v),ne()}i([`click`]);var mi=u(`<div class="permit svelte-17377q0" role="group" aria-label="The terminal's agent asks before it does this"><p>OpenCode wants to <code class="svelte-17377q0"> </code>.</p> <p class="acts svelte-17377q0"><button type="button" class="svelte-17377q0">Allow once</button><button type="button" class="svelte-17377q0">Always allow this</button><button type="button" class="no svelte-17377q0">Don't allow</button></p></div>`),hi=u(`<div class="said prose svelte-17377q0"></div>`),gi=u(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),_i=u(`<button type="button" class="note-link svelte-17377q0"> </button>`),vi=u(`<code class="q svelte-17377q0"> </code>`),yi=u(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),bi=u(`<span> </span>`),xi=u(`<pre class="diff svelte-17377q0"></pre>`),Si=u(`<pre class="out svelte-17377q0"> </pre>`),Ci=u(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),wi=u(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),Ti=u(`<div class="tool svelte-17377q0"><!> <!></div>`),Ei=u(`<p class="doing svelte-17377q0" role="status"><i class="spin svelte-17377q0" aria-hidden="true"></i>OpenCode is at work</p>`),Di=u(`<p class="faint end svelte-17377q0">stopped</p>`),Oi=u(`<p class="bad svelte-17377q0" role="alert">The turn failed; the terminal says why.</p>`),ki=u(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p><span class="from svelte-17377q0"> </span></div> <!> <!></article>`),Ai=u(`<p class="title faint svelte-17377q0"> </p>`),ji=u(`<p class="faint">The terminal's session shows here: what is asked there or here, what OpenCode does, and what it asks before doing.</p>`),Mi=u(`<div class="chat svelte-17377q0" role="log" aria-label="The terminal's session" aria-live="polite"><!> <!> <!> <!></div>`);function Ni(e,i){D(i,!0);let o=(e,n=F)=>{var r=mi(),i=S(r),a=m(S(i)),o=C(a,!0);j(),U(i);var c=m(i,2),l=S(c),u=m(l),d=m(u);U(c),U(r),b(e=>f(o,e),[()=>O(n())]),s(`click`,l,()=>void ei.reply(n().id,`once`)),s(`click`,u,()=>void ei.reply(n().id,`always`)),s(`click`,d,()=>void ei.reply(n().id,`reject`)),t(e,r)},c=(e,i=F)=>{var a=L(),c=x(a),l=e=>{var n=hi();g(n,()=>_e(i().text),!0),U(n),ie(n,(e,t)=>ye?.(e,t),()=>({given:i().text,copy:!0})),t(e,n)},u=e=>{var a=Ti(),c=S(a),l=e=>{var a=Ci(),o=S(a),c=S(o),l=C(c,!0),u=m(c),d=e=>{var n=gi(),r=S(n),a=C(r),o=m(r);U(n),b(e=>{H(n,`href`,e),H(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>pe(i().base,`#/n/${i().note}`)]),t(e,n)},h=e=>{var n=_i(),r=C(n,!0);b(e=>f(r,e),[()=>p(i().note)]),s(`click`,n,e=>{e.preventDefault(),v(i().name,i().note)}),t(e,n)},g=e=>{var n=vi(),r=C(n,!0);b(()=>f(r,i().title)),t(e,n)};r(u,e=>{i().note&&i().base?e(d):i().note?e(h,1):e(g,-1)});var _=m(u),y=e=>{var n=yi(),r=S(n),a=C(r),o=m(r,2),s=C(o);U(n),b((e,t)=>{f(a,`+${e??``}`),f(s,`−${t??``}`)},[()=>i().diff.filter(e=>e.startsWith(`+`)).length,()=>i().diff.filter(e=>e.startsWith(`-`)).length]),t(e,n)};r(_,e=>{i().diff&&e(y)}),U(o);var x=m(o,2),T=e=>{var r=xi();n(r,21,()=>i().diff,oe,(e,n)=>{var r=bi();let i;var a=C(r,!0);b((e,t)=>{i=M(r,1,`svelte-17377q0`,null,i,{add:e,del:t}),f(a,q(n))},[()=>q(n).startsWith(`+`),()=>q(n).startsWith(`-`)]),t(e,r)}),U(r),t(e,r)},E=e=>{var n=Si(),r=C(n,!0);b(()=>f(r,i().output)),t(e,n)};r(x,e=>{i().diff?e(T):e(E,-1)}),U(a),b(e=>f(l,e),[()=>w(i().name)]),t(e,a)},u=e=>{var n=wi(),a=S(n),o=C(a,!0),c=m(a),l=e=>{var n=gi(),r=S(n),a=C(r),o=m(r);U(n),b(e=>{H(n,`href`,e),H(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>pe(i().base,`#/n/${i().note}`)]),t(e,n)},u=e=>{var n=_i(),r=C(n,!0);b(e=>f(r,e),[()=>p(i().note)]),s(`click`,n,()=>v(i().name,i().note)),t(e,n)},d=e=>{var n=vi(),r=C(n,!0);b(()=>f(r,i().title)),t(e,n)};r(c,e=>{i().note&&i().base?e(l):i().note?e(u,1):e(d,-1)}),U(n),b(e=>f(o,e),[()=>w(i().name)]),t(e,n)};r(c,e=>{i().output||i().diff?e(l):e(u,-1)});var d=m(c,2);n(d,17,()=>A(i().id),e=>e.id,(e,t)=>{o(e,()=>q(t))}),U(a),b(()=>H(a,`data-status`,i().status)),t(e,a)};r(c,e=>{i().kind===`text`?e(l):e(u,-1)}),t(e,a)},l=(e,i=F)=>{var a=ki(),o=S(a),s=S(o),l=C(s,!0),u=m(s),d=C(u,!0);U(o);var p=m(o,2);n(p,17,()=>i().items,oe,(e,t)=>{c(e,()=>q(t))});var h=m(p,2),g=e=>{var n=Ei();t(e,n)},_=e=>{var n=Di();t(e,n)},v=e=>{var n=Oi();t(e,n)};r(h,e=>{i().state===`running`?e(g):i().state===`stopped`?e(_,1):i().state===`failed`&&e(v,2)}),U(a),b(()=>{H(a,`data-state`,i().state),f(l,i().asked),f(d,i().from===`here`?`from here`:`in the terminal`)}),t(e,a)},u=G(void 0),d=W(()=>ei.view),p=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,h={shell:`ran`,bash:`ran`,read:`read`,write:`wrote`,edit:`edited`,glob:`found`,grep:`searched`,webfetch:`fetched`,websearch:`searched the web`,search_notes:`searched`,find_similar:`by meaning`,outline_note:`outlined`,read_note:`read`,brief_base:`looked over`,edit_note:`changed`,write_note:`wrote`},_=new Set([`edit_note`,`write_note`]);function v(e,t){_.has(e)&&Q.flip(`provenance`,!0),Q.open(t,!0)}let w=e=>h[e]??e.replaceAll(`_`,` `),T={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},O=e=>`${T[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),A=e=>q(d)?.asking.filter(t=>t.tool===e)??[],N=W(()=>q(d)?.asking.filter(e=>!e.tool||!q(d).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);a(()=>{q(d),y().then(()=>{q(u)&&(q(u).scrollTop=q(u).scrollHeight)})});var P=Mi(),I=S(P),R=e=>{var n=Ai(),r=C(n,!0);b(()=>f(r,q(d).title)),t(e,n)};r(I,e=>{q(d)?.title&&e(R)});var z=m(I,2);n(z,17,()=>q(d)?.turns??[],e=>e.id,(e,t)=>{l(e,()=>q(t))});var B=m(z,2);n(B,17,()=>q(N),e=>e.id,(e,t)=>{o(e,()=>q(t))});var ee=m(B,2),V=e=>{var n=ji();t(e,n)};r(ee,e=>{q(d)?.turns.length||e(V)}),U(P),E(P,e=>k(u,e),()=>q(u)),t(e,P),ne()}i([`click`]);var Pi=e=>{var n=Li();t(e,n)},Fi=u(`<span><span class="k svelte-d2jxoz" aria-hidden="true"> </span><span class="t svelte-d2jxoz"> </span></span>`),Ii=u(`<span class="gave svelte-d2jxoz"></span>`),Li=d(`<svg class="qm svelte-d2jxoz" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path></svg>`),Ri=u(`<div class="said prose svelte-d2jxoz"></div>`),zi=u(`<a class="note-link away svelte-d2jxoz" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-d2jxoz"> </span> </a>`),Bi=u(`<span class="q svelte-d2jxoz"><span class="in svelte-d2jxoz"> </span> </span>`),Vi=u(`<button type="button" class="note-link svelte-d2jxoz"> </button>`),Hi=u(`<span class="n svelte-d2jxoz"> </span>`),Ui=u(`<span class="q svelte-d2jxoz"> </span><!>`,1),Wi=u(`<p><span class="v svelte-d2jxoz"> </span> <!></p>`),Gi=u(`<span class="q"> </span>`),Ki=u(`<span class="n"><span class="add svelte-d2jxoz"> </span> <span class="del svelte-d2jxoz"> </span></span>`),qi=u(`<p class="change svelte-d2jxoz"><span class="v svelte-d2jxoz"> </span> <!> <!></p>`),Ji=u(`<p class="faint"> </p>`),Yi=u(`<p class="acts svelte-d2jxoz"><button type="button" class="svelte-d2jxoz">Allow once</button><button type="button" class="svelte-d2jxoz">Always allow this</button><button type="button" class="no svelte-d2jxoz">Don't allow</button></p>`),Xi=u(`<div class="permit svelte-d2jxoz" role="group" aria-label="Iso asks before it does this"><p> </p> <!></div>`),Zi=u(`<p class="faint undone svelte-d2jxoz"> </p>`),Qi=u(`<span class="why svelte-d2jxoz"> </span>`),$i=u(`<p class="point svelte-d2jxoz"><span class="dia svelte-d2jxoz" aria-hidden="true">◆</span><span class="v svelte-d2jxoz">look at</span><button type="button" class="note-link svelte-d2jxoz"> </button><!></p>`),ea=u(`<span class="qt svelte-d2jxoz"> </span> <button class="icon plus svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M8 3v10M3 8h10"></path></svg></button>`,1),ta=u(`<p class="qb svelte-d2jxoz"> </p>`),na=u(`<div class="asks svelte-d2jxoz"><p class="svelte-d2jxoz"><!><!></p> <!></div>`),ra=u(`<span title="Your instructions for this base, in Iso's settings">AGENTS.md</span>`),ia=d(`<svg class="in svelte-d2jxoz" viewBox="0 0 16 16" width="14" height="14" role="img" aria-label="Inserted" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg>`),aa=u(`<button class="icon svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="15" height="15" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M13 3v6H4"></path><path d="M7 6L4 9l3 3"></path></svg></button>`),oa=u(`<div class="offer svelte-d2jxoz"><div class="prose yours svelte-d2jxoz"></div> <p class="for svelte-d2jxoz"><!> <!></p></div>`),sa=u(`<span class="tmode svelte-d2jxoz" title="Iso could edit the notes"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path></svg><span class="hidden-label">write</span></span>`),ca=u(`<!> <p class="doing svelte-d2jxoz" role="status"><i class="spin svelte-d2jxoz" aria-hidden="true"></i> </p>`,1),la=u(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Undo this turn's changes" title="Put back every note this turn changed"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3"></path><path d="M3 1.8v3.4h3.4"></path></svg></button></p>`),ua=u(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Send it again" title="Send it again, with what was given"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M12.8 9.5A5 5 0 1 1 11.4 4.3"></path><path d="M13 1.8v3.4H9.6"></path></svg></button></p>`),da=u(`<p class="bad svelte-d2jxoz" role="alert"> </p> <!>`,1),fa=u(`<p class="faint end svelte-d2jxoz">stopped</p>`),pa=u(`<article class="turn svelte-d2jxoz"><div class="you svelte-d2jxoz"><p class="asked svelte-d2jxoz"> </p><!><!></div> <!> <!> <!></article>`),ma=u(`<div class="chat svelte-d2jxoz" role="log" aria-label="The conversation with Iso" aria-live="polite"></div>`),ha=u(`<button class="corner stop svelte-d2jxoz" type="button" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),ga=u(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),_a=u(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),va=u(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message Iso</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function ya(e,i){D(i,!0);let o=(e,i=F)=>{var a=L(),o=x(a),s=e=>{var r=Ii();n(r,21,()=>i().given,oe,(e,n)=>{var r=Fi();let i;var a=S(r),o=C(a,!0),s=m(a),c=C(s,!0);U(r),b(e=>{i=M(r,1,`chip svelte-d2jxoz`,null,i,{u:q(n).kind===`understanding`}),f(o,u[q(n).kind]),f(c,e)},[()=>q(n).kind===`passage`?q(n).text:q(n).kind===`folder`?q(n).id||`the base`:d(q(n).id)]),t(e,r)}),U(r),t(e,r)};r(o,e=>{i().given.length&&e(s)}),t(e,a)},c=(e,n=F,i=F)=>{var a=L(),o=x(a),c=e=>{var n=Ri();g(n,()=>_e(i().text),!0),U(n),ie(n,(e,t)=>ye?.(e,t),()=>({given:i().text,copy:!0})),t(e,n)},l=e=>{var n=Wi();let a;var o=S(n),c=C(o,!0),l=m(o,2),u=e=>{var n=zi(),r=S(n),a=C(r),o=m(r);U(n),b(e=>{H(n,`href`,e),H(n,`title`,`In ${i().step.away.base??``}, in a tab of its own`),f(a,`${i().step.away.base??``}:`),f(o,` ${i().step.away.note??``}${i().step.away.section?` · ${i().step.away.section}`:``}`)},[()=>pe(i().step.away.base,`#/n/${i().step.away.note}`)]),t(e,n)},h=e=>{var n=Bi(),r=S(n),a=C(r),o=m(r);U(n),b(()=>{f(a,`${i().step.away.base??``}:`),f(o,` ${(i().step.query?`“${i().step.query}”`:i().step.said)??``}`)}),t(e,n)},g=e=>{var n=Vi(),r=C(n);b(e=>{H(n,`data-to`,i().step.opened),f(r,`${e??``}${i().step.section?` · ${i().step.section}`:``}`)},[()=>d(i().step.opened)]),s(`click`,n,()=>z(i().step.opened)),t(e,n)},_=e=>{var n=Ui(),a=x(n),o=C(a,!0),s=m(a),c=e=>{var n=Hi(),r=C(n);b(()=>f(r,`${i().step.notes.length??``} found`)),t(e,n)};r(s,e=>{i().step.notes.length&&e(c)}),b(()=>f(o,i().step.query?`“${i().step.query}”`:i().step.said)),t(e,n)};r(l,e=>{i().step.away?.note?e(u):i().step.away?e(h,1):i().step.opened?e(g,2):e(_,-1)}),U(n),b(()=>{a=M(n,1,`look svelte-d2jxoz`,null,a,{failed:i().step.failed}),f(c,p[i().step.how])}),t(e,n)},u=e=>{var n=qi(),a=S(n),o=C(a,!0),c=m(a,2),l=e=>{var n=Gi(),r=C(n,!0);b(()=>f(r,i().title)),t(e,n)},u=e=>{var n=Vi(),r=C(n,!0);b(e=>{H(n,`data-to`,i().why===`move`?i().to:i().note),f(r,e)},[()=>i().why===`move`?`${i().title} → ${i().to}`:i().note.startsWith(`@`)?i().title:d(i().note)]),s(`click`,n,()=>B(i().why===`move`?i().to:i().note)),t(e,n)};r(c,e=>{i().why===`delete`?e(l):e(u,-1)});var p=m(c,2),h=e=>{var n=Ki(),r=S(n),a=C(r),o=m(r,2),s=C(o);U(n),b(()=>{f(a,`+${i().added??``}`),f(s,`−${i().removed??``}`)}),t(e,n)};r(p,e=>{(i().added||i().removed)&&e(h)}),U(n),b(e=>f(o,e),[()=>i().note.startsWith(`@understanding/`)?`wrote`:i().why===`create`?`made`:i().why===`delete`?`deleted`:i().why===`move`?`moved`:`changed`]),t(e,n)},h=e=>{var n=Xi(),a=S(n),o=C(a),c=m(a,2),l=e=>{var n=Ji(),r=C(n,!0);b(()=>f(r,i().answer===`reject`?`Not allowed.`:i().answer===`always`?`Allowed, and from now on in this conversation.`:`Allowed once.`)),t(e,n)},u=e=>{var n=Yi(),r=S(n),a=m(r),o=m(a);U(n),s(`click`,r,()=>void $.answer(i().id,`once`)),s(`click`,a,()=>void $.answer(i().id,`always`)),s(`click`,o,()=>void $.answer(i().id,`reject`)),t(e,n)};r(c,e=>{i().answer?e(l):e(u,-1)}),U(n),b(()=>f(o,`Iso wants to ${i().what??``}.`)),t(e,n)},_=e=>{var n=Zi(),r=C(n);b((e,t)=>f(r,`${e??``}${t??``}`),[()=>i().notes.length?`Undone: ${i().notes.map(d).join(`, `)} put back.`:`Nothing was put back.`,()=>i().left.length?` Left as they are, changed since: ${i().left.map(d).join(`, `)}.`:``]),t(e,n)},v=e=>{var n=$i(),a=m(S(n),2),o=C(a,!0),c=m(a),l=e=>{var n=Qi(),r=C(n,!0);b(()=>f(r,i().why)),t(e,n)};r(c,e=>{i().why&&e(l)}),U(n),b(e=>{H(a,`data-to`,i().note),f(o,e)},[()=>d(i().note)]),s(`click`,a,()=>z(i().note)),t(e,n)},y=e=>{var a=na(),o=S(a),c=S(o);Pi(c);var l=m(c),u=e=>{var n=Vi(),r=C(n,!0);b(()=>{H(n,`data-to`,i().made),f(r,i().title)}),s(`click`,n,()=>z(i().made)),t(e,n)},p=e=>{var r=ea(),a=x(r),o=C(a,!0),c=m(a,2);b(e=>{f(o,i().title),H(c,`aria-label`,`Keep “${i().title??``}” as an open question`),H(c,`title`,`Keep as an open question about ${e??``}`)},[()=>i().about.map(d).join(`, `)]),s(`click`,c,()=>void $.take(n().id,i().id)),t(e,r)};r(l,e=>{i().made?e(u):e(p,-1)}),U(o);var h=m(o,2),g=e=>{var n=ta(),r=C(n,!0);b(()=>f(r,i().text)),t(e,n)};r(h,e=>{i().text&&e(g)}),U(a),b(()=>H(a,`data-question`,i().id)),t(e,a)},w=e=>{var a=oa(),o=S(a);g(o,()=>_e(i().text),!0),U(o),ie(o,(e,t)=>ye?.(e,t),()=>i().text);var c=m(o,2),l=S(c),u=e=>{var n=ra();t(e,n)},p=e=>{var n=Vi(),r=C(n,!0);b(e=>{H(n,`data-to`,i().note),f(r,e)},[()=>d(i().note)]),s(`click`,n,()=>z(i().note)),t(e,n)};r(l,e=>{i().note===`AGENTS.md`?e(u):e(p,-1)});var h=m(l,2),_=e=>{var n=ia();t(e,n)},v=e=>{var r=aa();b((e,t)=>{H(r,`aria-label`,`Insert into ${e??``} as yours`),H(r,`title`,`Insert at the end of ${t??``}, as yours`)},[()=>d(i().note),()=>d(i().note)]),s(`click`,r,()=>void $.take(n().id,i().id)),t(e,r)};r(h,e=>{i().taken?e(_):e(v,-1)}),U(c),U(a),b(()=>H(a,`data-offer`,i().id)),t(e,a)};r(o,e=>{i().kind===`text`?e(c):i().kind===`look`?e(l,1):i().kind===`change`?e(u,2):i().kind===`permission`?e(h,3):i().kind===`undone`?e(_,4):i().kind===`point`?e(v,5):i().kind===`question`?e(y,6):i().kind===`offer`&&e(w,7)}),t(e,a)},u={note:`▣`,folder:`▭`,passage:`“`,understanding:`◇`},d=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,p={keyword:`searched`,meaning:`by meaning`,link:`followed`,read:`read`};function h(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?he(t.getAttribute(`href`)??``):null;ge.set(`iso`,n?{...n,who:`you`}:null)}let _=G(``),v=G(void 0),w=W(()=>Q.mode===`build`),A=W(()=>$.running),j=W(()=>q(w)?ei.running:!!q(A)),N=W(()=>{if(!q(A))return``;if($.retrying)return`Iso's provider did not answer: asking again (${$.retrying.retry} of ${$.retrying.of})`;if($.streaming)return`Iso is writing`;let e=q(A).items.findLast(e=>e.kind===`look`);return e?.step.opened?`Iso is reading ${d(e.step.opened)}`:`Iso is thinking`});ee(()=>{$.start(),ei.start(),$r.start()}),a(()=>{Z.sent,Q.mode,ve.tier,$.measure()}),a(()=>{$.turns,$.streaming,y().then(()=>{q(v)&&(q(v).scrollTop=q(v).scrollHeight)})});async function P(){let e=q(_);await(q(w)?ei.send(e):$.send(e))&&k(_,``)}let I=()=>q(w)?ei.stop():$.stop();function R(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),P()):e.key===`Escape`&&q(j)&&(e.preventDefault(),I())}function z(e){Q.open(e,!0)}function B(e){e.startsWith(`@understanding/`)?V(e.slice(15)):(Q.flip(`provenance`,!0),Q.showUnderstanding(!1),Q.open(e,!0))}function V(e){Q.showUnderstanding(!0),Q.open(e,!0)}let te=e=>e.items.some(e=>e.kind===`change`)&&!e.items.some(e=>e.kind===`undone`);var K=va();let re;var ae=S(K),se=e=>{pi(e,{})},ce=e=>{Ni(e,{})},le=e=>{var i=ma();n(i,21,()=>$.turns,e=>e.id,(e,i)=>{var a=pa(),l=S(a),u=S(l),d=C(u,!0),p=m(u);o(p,()=>q(i));var h=m(p),_=e=>{var n=sa();t(e,n)};r(h,e=>{q(i).mode===`write`&&e(_)}),U(l);var v=m(l,2);n(v,17,()=>q(i).items,oe,(e,t)=>{c(e,()=>q(i),()=>q(t))});var y=m(v,2),w=e=>{var n=ca(),i=x(n),a=e=>{var n=Ri();g(n,()=>_e($.streaming),!0),U(n),ie(n,(e,t)=>ye?.(e,t),()=>$.streaming),t(e,n)};r(i,e=>{$.streaming&&e(a)});var o=m(i,2),s=m(S(o),1,!0);U(o),b(()=>f(s,q(N))),t(e,n)},T=e=>{var n=la(),r=C(n);s(`click`,r,()=>void $.undo(q(i).id)),t(e,n)},E=W(()=>te(q(i)));r(y,e=>{q(i).state===`running`?e(w):q(E)&&e(T,1)});var D=m(y,2),O=e=>{var n=da(),a=x(n),o=C(a),c=m(a,2),l=e=>{var n=ua(),r=C(n);s(`click`,r,()=>void $.again(q(i))),t(e,n)},u=W(()=>q(i)===$.turns.at(-1));r(c,e=>{q(u)&&e(l)}),b(()=>f(o,`Iso could not answer: ${q(i).message??``}`)),t(e,n)},k=e=>{var n=fa();t(e,n)};r(D,e=>{q(i).state===`failed`?e(O):q(i).state===`stopped`&&e(k,1)}),U(a),b(()=>{H(a,`data-state`,q(i).state),f(d,q(i).asked)}),t(e,a)}),U(i),E(i,e=>k(v,e),()=>q(v)),s(`pointerover`,i,h),l(`pointerleave`,i,()=>ge.set(`iso`,null)),t(e,i)};r(ae,e=>{$.view===`context`?e(se):q(w)?e(ce,1):e(le,-1)});var ue=m(ae,2),de=S(ue),fe=m(S(de),2);T(fe);var me=m(fe,2),J=e=>{var n=ha();b(()=>H(n,`aria-label`,q(w)?`Stop the terminal's agent`:`Stop Iso`)),s(`click`,n,()=>void I()),t(e,n)},X=e=>{var n=ga();s(`click`,n,()=>void P()),t(e,n)},be=W(()=>q(_).trim());r(me,e=>{q(j)?e(J):q(be)&&e(X,1)}),U(de);var xe=m(de,2),Se=e=>{var n=_a(),r=C(n,!0);b(()=>f(r,q(w)?ei.problem:$.problem)),t(e,n)};r(xe,e=>{(q(w)?ei.problem:$.problem)&&e(Se)}),U(ue),U(K),b(()=>{re=M(K,1,`iso svelte-d2jxoz`,null,re,{drop:Z.carrying?.over}),H(fe,`placeholder`,q(w)?`Ask in the terminal's session`:`Ask Iso`)}),s(`keydown`,fe,R),O(fe,()=>q(_),e=>k(_,e)),t(e,K),ne()}i([`click`,`pointerover`,`keydown`]);var ba=u(`<li><i class="tick svelte-1wk2ip3" aria-hidden="true"> </i> <a data-sveltekit-reload="" class="svelte-1wk2ip3"> </a> <button class="lend svelte-1wk2ip3" type="button" aria-label="Lent to every session"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"><rect x="2.5" y="5.5" width="7" height="8"></rect><path d="M6.5 5.5V2.5h7v8h-4"></path></svg></button></li>`),xa=u(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),Sa=u(`<div class="frame bases svelte-1wk2ip3" role="dialog" aria-label="Knowledge bases" tabindex="-1"><span class="frame-title">bases</span> <ul class="svelte-1wk2ip3"></ul> <!></div>`),Ca=u(`<button class="base svelte-1wk2ip3" type="button" aria-haspopup="true" title="The knowledge bases: switch to another"> </button> <span class="slash svelte-1wk2ip3" aria-hidden="true">/</span> <!>`,1);function wa(i,a){D(a,!0);let o=Y.api?.bases??null,u=G(!1),d=G([]),p=G(``),h=G(!1),g=G(``),_=G(void 0),v=G(void 0),y=G(e({top:0,left:0}));async function w(){if(o)try{await(async e=>{k(d,e.bases),k(p,e.here,!0),k(h,e.local,!0)})(await o.list()),k(g,``)}catch(e){k(g,e.message,!0)}}async function T(){if(k(u,!q(u)),q(u)&&q(v)){let e=q(v).getBoundingClientRect();k(y,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}q(u)&&(await w(),q(_)?.querySelector(`a`)?.focus())}async function O(e){try{k(d,await o.lend(e.name,!e.lend)),k(g,``)}catch(e){k(g,e.message,!0)}}function A(e){q(u)&&e.target instanceof Node&&!q(_)?.contains(e.target)&&!q(v)?.contains(e.target)&&k(u,!1)}function j(e){q(u)&&e.key===`Escape`&&(k(u,!1),q(v)?.focus())}var N=L();l(`pointerdown`,c,A),l(`keydown`,c,j);var F=x(N),I=e=>{var i=Ca(),a=x(i),o=C(a,!0);E(a,e=>k(v,e),()=>q(v));var c=m(a,4),l=e=>{var i=Sa();let a;var o=m(S(i),2);n(o,21,()=>q(d),e=>e.name,(e,n)=>{let r=W(()=>q(n).name===(q(p)||Y.session.name));var i=ba();let a;var o=S(i),c=C(o,!0),l=m(o,2),u=C(l,!0),d=m(l,2);U(i),b(e=>{a=M(i,1,`svelte-1wk2ip3`,null,a,{here:q(r)}),f(c,q(r)?`✓`:``),H(l,`href`,e),H(l,`title`,q(n).path),H(l,`aria-current`,q(r)?`page`:void 0),f(u,q(n).name),H(d,`aria-pressed`,q(n).lend),d.disabled=!q(h),H(d,`title`,q(h)?q(n).lend?`Lent to every session's agent and Iso: press to keep it to itself`:`Lend it to every session's agent and Iso, as the agent's memory is`:`Lent or not is changed only from this machine`)},[()=>pe(q(n).name)]),s(`click`,d,()=>O(q(n))),t(e,i)}),U(o);var c=m(o,2),l=e=>{var n=xa(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(c,e=>{q(g)&&e(l)}),U(i),E(i,e=>k(_,e),()=>q(_)),b(()=>a=P(i,``,a,{top:`${q(y).top??``}px`,left:`${q(y).left??``}px`})),t(e,i)};r(c,e=>{q(u)&&e(l)}),b(()=>{H(a,`aria-expanded`,q(u)),f(o,Y.session.name)}),s(`click`,a,T),t(e,i)};r(F,e=>{o&&Y.session&&e(I)}),t(i,N),ne()}i([`click`]);var Ta=d(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),Ea=d(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),Da=d(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path>`,1),Oa=d(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),ka=d(`<circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path>`,1),Aa=d(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),ja=d(`<rect x="2.5" y="3" width="11" height="10"></rect><path d="M2.5 11l3.5-3.5 3 3 1.5-1.5 3 3"></path><circle cx="10.5" cy="6" r="1" fill="currentColor" stroke="none"></circle>`,1),Ma=d(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path><path d="M8 5.5l2.5 2.5L8 10.5 5.5 8z" fill="currentColor" stroke="none"></path>`,1),Na=d(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),Pa=d(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),Fa=d(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),Ia=u(`<button type="button" class="sw svelte-ubc5lw"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><!></svg></button>`),La=u(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect></svg></button>`),Ra=u(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),za=u(`<header class="phead svelte-ubc5lw"><!> <span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function Ba(e,i){D(i,!0);let o=I(i,`first`,3,!1),u={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`Iso's context: what it is sent, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,pictures:`Pictures (Alt+I)`,notes:`Iso may edit the notes (Alt+N)`,files:`Iso may edit the project's files (Alt+F)`,run:`Iso may run commands (Alt+R)`},d={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,pictures:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},p=W(()=>we[i.pane].filter(e=>e!==`files`&&e!==`run`||Q.terminal)),h=W(()=>Q.settings===i.pane),g=G(void 0);a(()=>{q(h)&&q(g)?.focus()});function _(e){q(h)&&e.target instanceof Element&&(q(g)?.contains(e.target)||e.target.closest(`[data-settings="${i.pane}"]`)||(Q.settings=null))}var v=za();l(`pointerdown`,c,_),l(`keydown`,c,e=>{q(h)&&e.key===`Escape`&&(Q.settings=null)});var y=x(v),w=S(y),T=e=>{wa(e,{})};r(w,e=>{o()&&e(T)});var O=m(w,2),A=C(O,!0),M=m(O,2);n(M,20,()=>q(p),e=>e,(e,n)=>{var i=Ia();let a;var o=S(i),c=S(o),l=e=>{var n=Ta();j(2),t(e,n)},f=e=>{var n=Ea();j(3),t(e,n)},p=e=>{var n=Da();j(),t(e,n)},m=e=>{var n=Oa();t(e,n)},h=e=>{var n=ka();j(),t(e,n)},g=e=>{var n=Aa();t(e,n)},_=e=>{var n=ja();j(2),t(e,n)},v=e=>{var n=Ma();j(),t(e,n)},y=e=>{var n=Na();t(e,n)},x=e=>{var n=Pa();j(),t(e,n)},C=e=>{var n=Fa();t(e,n)};r(c,e=>{n===`provenance`?e(l):n===`timeline`?e(f,1):n===`questions`?e(p,2):n===`problems`?e(m,3):n===`web`?e(h,4):n===`code`?e(g,5):n===`pictures`?e(_,6):n===`context`?e(v,7):n===`notes`?e(y,8):n===`files`?e(x,9):e(C,-1)}),U(o),U(i),b(e=>{H(i,`data-switch`,n),H(i,`aria-pressed`,Q.on[n]),H(i,`aria-label`,e),H(i,`title`,u[n]),a=P(i,``,a,{"--c":`var(--${d[n]??``})`})},[()=>u[n].replace(/ \(Alt\+.\)$/,``)]),s(`click`,i,()=>Q.flip(n)),t(e,i)}),U(M);var N=m(M,4);se(N,()=>i.tools??F);var L=m(N,2),R=e=>{var n=La();b(()=>{H(n,`data-settings`,i.pane),H(n,`aria-label`,`${i.name??``} settings`),H(n,`aria-expanded`,q(h)),H(n,`title`,`${i.name??``} settings`)}),s(`click`,n,()=>Q.settings=q(h)?null:i.pane),t(e,n)};r(L,e=>{i.settings&&e(R)}),U(y);var z=m(y,2),B=e=>{var n=Ra(),r=S(n),a=C(r,!0),o=m(r,2),s=S(o);se(s,()=>i.settings),U(o),U(n),E(n,e=>k(g,e),()=>q(g)),b(e=>{H(n,`aria-label`,`${i.name??``} settings`),f(a,e)},[()=>i.name.toLowerCase()]),t(e,n)};r(z,e=>{i.settings&&q(h)&&e(B)}),b(()=>{f(A,i.name),H(M,`aria-label`,`${i.name??``}'s switches`)}),t(e,v),ne()}i([`click`]);var Va=u(`<button type="button" class="gauge svelte-1cyuk5c"><i></i> <i></i></button>`);function Ha(e,n){D(n,!0);let r=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),i=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,a={day:`today`,week:`this week`,month:`this month`,total:`in all`},o=W(()=>$.report),c=W(()=>Q.mode===`build`),l=W(()=>ei.view),u=W(()=>!q(c)&&q(o)?Math.min(1,q(o).tokens/q(o).limit):0),d=W(()=>!q(c)&&!!q(o)&&q(o).tokens>=Math.min(1e5,q(o).limit/2)),f=W(()=>!q(c)&&!!q(o)&&q(o).tokens>q(o).limit),p=W(()=>$r.value),h=W(()=>q(p)&&q(p).cap?Math.min(1,q(p).usd/q(p).cap):0),g=W(()=>q(h)>.8),_=W(()=>q(c)?`${q(l)?.model||`OpenCode`}${q(l)?`, ${r(q(l).tokens.input+q(l).tokens.output)} tokens`:``}${q(l)?.cost?`, ${i(q(l).cost)}`:``}`:q(o)?`Context: ${r(q(o).tokens)} of ${r(q(o).limit)} tokens${q(f)?`: more than the model takes; switch parts off in the Context view`:q(d)?`: long enough to drift; summing up the earlier turns may help`:``}`:`Context: not measured yet`),v=W(()=>q(p)?q(p).source===`key`?`Spend: ${i(q(p).usd)} of the key's ${i(q(p).cap)} limit, ${a[q(p).per]}`:q(p).source===`setting`?`Spend: ${i(q(p).usd)} of ${i(q(p).cap)} this month (the cap set in settings)`:q(p).cap?`Spend: ${i(q(p).usd)} this month; the most in any month is ${i(q(p).cap)}`:`Spend: ${i(q(p).usd)} this month; no cap is set`:`Spend: not known yet`);var y=Va(),x=S(y);let C,w;var T=m(x,2);let E,O;U(y),b(()=>{H(y,`aria-label`,`${q(_)??``}. ${q(v)??``}`),H(y,`title`,`${q(_)??``}
|
|
26
|
-
${q(v)??``}`),C=M(x,1,`bar ctx svelte-1cyuk5c`,null,C,{long:q(d),full:q(f)}),w=P(x,``,w,{"--fill":q(u)}),E=M(T,1,`bar usd svelte-1cyuk5c`,null,E,{over:q(g)}),O=P(T,``,O,{"--fill":q(h)})}),s(`click`,y,()=>$.view=$.view===`context`?`chat`:`context`),t(e,y),ne()}i([`click`]);var Ua=u(`<button type="button" role="radio" class="svelte-xdo8"> </button>`),Wa=u(`<span class="tiers wide svelte-xdo8" role="radiogroup" aria-label="How able a model"></span> <button type="button" class="tiers narrow svelte-xdo8"> </button>`,1);function Ga(e,r){D(r,!0);let i=[`low`,`mid`,`max`],o={low:`quick`,mid:`Iso's default`,max:`the most able`},c=G(null);a(()=>{Y.api&&!q(c)&&Y.api.settings().then(e=>k(c,e.tiers),()=>void 0)});let l=e=>q(c)?.[e]??``,u=e=>`${e}: ${o[e]}${l(e)?`, ${l(e)}`:``}`,d=()=>ve.setTier(i[(i.indexOf(ve.tier)+1)%i.length]);var p=Wa(),h=x(p);n(h,20,()=>i,e=>e,(e,n)=>{var r=Ua(),i=C(r,!0);b(e=>{H(r,`aria-checked`,ve.tier===n),H(r,`title`,e),f(i,n)},[()=>u(n)]),s(`click`,r,()=>ve.setTier(n)),t(e,r)}),U(h);var g=m(h,2),_=C(g,!0);b(e=>{H(g,`aria-label`,`How able a model: ${ve.tier??``}`),H(g,`title`,`${e??``}: click for the next`),f(_,ve.tier[0])},[()=>u(ve.tier)]),s(`click`,g,d),t(e,p),ne()}i([`click`]);var Ka=u(`<div class="row svelte-fl4w36"><input class="field name svelte-fl4w36" placeholder="name" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" autocomplete="off" spellcheck="false"/> <button class="icon svelte-fl4w36" type="button" title="remove"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button></div>`),qa=u(`<!> <button class="icon svelte-fl4w36" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button>`,1),Ja=u(`<button class="icon svelte-fl4w36" type="button" aria-label="keep" title="keep it, in use at once (config.toml is written again, without its comments: the first time, the file as it was is kept beside it as config.toml.bak). A running isorite term takes new models when it is next started"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M3 8.5l3.2 3L13 4.5" stroke="currentColor" stroke-width="1.4" fill="none" class="svelte-fl4w36"></path></svg></button>`),Ya=u(`<div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The gateway's address" placeholder="https://… /v1" title="its address, as an OpenAI-compatible client is given it (…/v1)" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" aria-label="Its name" placeholder="name" title="what to call it" autocomplete="off" spellcheck="false"/></div>`),Xa=u(`<input class="field svelte-fl4w36" type="password" aria-label="A key for this address" title="the key goes with the address: the one held now is forgotten when this is kept, unless another is given" autocomplete="off" spellcheck="false"/>`),Za=u(`<button class="btn svelte-fl4w36" type="button">forget it</button>`),Qa=u(`<button class="btn svelte-fl4w36" type="button">sign in for a key</button>`),$a=u(`<p role="status"> </p>`),eo=u(`<form class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" type="password" aria-label="Provider key" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary svelte-fl4w36" type="submit">hold it</button> <!> <!></form> <!>`,1),to=u(`<details class="svelte-fl4w36"><summary class="label svelte-fl4w36">what else it asks for</summary> <div class="more svelte-fl4w36"><div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The header the key goes in" placeholder="the key's header" title="the header the key goes in (key_header), as api-key; left empty, Authorization" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" aria-label="What goes before the key" autocomplete="off" spellcheck="false"/></div> <h3 class="label svelte-fl4w36">headers</h3> <!> <h3 class="label svelte-fl4w36">query</h3> <!> <h3 class="label svelte-fl4w36">client certificate</h3> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The .pfx file" placeholder="~/… .pfx" title="a .pfx (or .p12) on this machine: the certificate and its key" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" type="password" aria-label="The .pfx's password" title="the .pfx's password: held, not shown" autocomplete="off"/></div> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The certificate" placeholder="or a certificate" title="instead of a .pfx: the certificate (cert, a .pem)" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" aria-label="The certificate's key" placeholder="and its key" title="and its private key (cert_key, a .pem)" autocomplete="off" spellcheck="false"/></div> <input class="field svelte-fl4w36" aria-label="The authority" placeholder="an authority" title="the authority the gateway's own certificate is signed by (ca, a .pem), added to those trusted: for a gateway whose certificate the company signs" autocomplete="off" spellcheck="false"/> <div class="row svelte-fl4w36"><label class="soft check svelte-fl4w36" title="some gateways refuse stream_options: then the gauge can't count what Iso costs"><input type="checkbox" class="svelte-fl4w36"/> reports usage</label> <input class="field name svelte-fl4w36" type="number" min="1" step="1" aria-label="max_tokens" placeholder="max_tokens" title="the most a reply may be, for models that think at length"/></div></div></details>`),no=u(`<label class="label svelte-fl4w36"> </label> <input class="field svelte-fl4w36" list="setup-models" autocomplete="off" spellcheck="false"/>`,1),ro=u(`<option class="svelte-fl4w36"></option>`),io=u(`<li><span class="mark svelte-fl4w36"> </span><span class="svelte-fl4w36"> </span><span class="faint said svelte-fl4w36"> </span></li>`),ao=u(`<ul class="checks svelte-fl4w36" aria-label="The check"></ul>`),oo=u(`<pre class="report svelte-fl4w36" aria-label="The report"> </pre>`),so=u(`<fieldset class="svelte-fl4w36"><div class="kinds svelte-fl4w36" role="radiogroup" aria-label="The provider"><label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> OpenRouter</label> <label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> a gateway of your own</label></div> <!></fieldset> <!> <fieldset class="svelte-fl4w36"><!> <div class="tiers svelte-fl4w36"><!> <datalist id="setup-models" class="svelte-fl4w36"></datalist></div></fieldset> <!> <!>`,1),co=u(`<p class="bad svelte-fl4w36" role="alert"> </p>`),lo=u(`<div class="head svelte-fl4w36"><h2 class="label svelte-fl4w36">the provider</h2> <span class="grow svelte-fl4w36"></span> <button class="icon svelte-fl4w36" type="button" aria-label="check"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M1.5 8.5h3l1.8-4.5 3 8 1.9-3.5h3.3" stroke="currentColor" stroke-width="1.3" fill="none" class="svelte-fl4w36"></path></svg></button> <!> <button class="icon svelte-fl4w36" type="button" aria-label="copy the report" title="copy isorite doctor's report, its secrets hidden, to paste to someone helping (it checks the provider too)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><rect x="3.5" y="2.5" width="9" height="11.5" rx="1" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></rect><path d="M6 2.5V1.5h4v1M5.8 6.5h4.4M5.8 9h4.4M5.8 11.5h2.6" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></path></svg></button></div> <p class="soft svelte-fl4w36"> </p> <!> <!>`,1);function uo(e,i){D(i,!0);let o=[],c=(e,r=F,i=F)=>{var a=qa(),o=x(a);n(o,17,r,oe,(e,n,a)=>{var o=Ka(),c=S(o);A(c);var l=m(c,2);A(l);var u=m(l,2);U(o),b(e=>{H(c,`aria-label`,`${i()??``} name`),H(l,`type`,e),H(l,`aria-label`,`${i()??``} value`),H(l,`placeholder`,q(n).held?`held`:`value, or $NAME`),H(l,`title`,q(n).held?`held, not shown: type another to replace it`:`a value, or $NAME for an environment variable`),H(u,`aria-label`,`remove ${(q(n).name||i())??``}`)},[()=>X(q(n))?`password`:`text`]),O(c,()=>q(n).name,e=>q(n).name=e),O(l,()=>q(n).value,e=>q(n).value=e),s(`click`,u,()=>r().splice(a,1)),t(e,o)});var c=m(o,2);b(()=>{H(c,`aria-label`,`add a ${i()??``}`),H(c,`title`,`add a ${i()??``}`)}),s(`click`,c,()=>J(r())),t(e,a)},u=[`low`,`mid`,`max`],d={ok:`✓`,warn:`!`,fail:`✗`,skip:`–`},p=G(null),h=G(null),g=G(``),_=G(``),v=G(``),y=G(null),T=G(null),E=G(``),N=G(``),P=G(``),I=e=>e.trim().replace(/\/+$/,``),L=e=>{k(p,e),k(h,structuredClone(e.setup),!0),k(g,``),k(_,``)};a(()=>{i.api.view().then(L,e=>k(P,e.message,!0))});let B=e=>e.kind===`gateway`?I(e.url):Me.url,ee=W(()=>!!(q(h)&&q(p)&&B(q(h))!==B(q(p).setup))),V=W(()=>!!(q(h)&&q(p)&&(JSON.stringify(q(h))!==JSON.stringify(q(p).setup)||q(g)||q(_)))),te=W(()=>q(p)?.local??!1),ie=W(()=>!q(h)?.keyHeader.trim()||q(h).keyHeader.trim().toLowerCase()===`authorization`),ae=W(()=>{let e=q(h)?.keyPrefix?.trim()||(q(ie)?`Bearer`:``);return`${q(h)?.keyHeader.trim()||`Authorization`}: ${e?e+` `:``}<the key>`});function se(){let e=re(q(h));return q(ee)&&q(g).trim()&&(e.key=q(g).trim()),q(_)&&(e.passphrase=q(_)),e}async function ce(e,t){k(P,``),k(E,e,!0);try{return await t()}catch(e){k(P,e.message,!0);return}finally{k(E,``)}}let le=()=>ce(`check`,async()=>{k(y,await i.api.check(q(te)&&q(V)?se():null))}),ue=()=>ce(`keep`,async()=>{L(await i.api.keep(se())),k(y,null),k(T,null),i.onsettings(await Y.api.settings())});async function de(){if(!q(T)){k(T,[]);try{k(T,await i.api.models(q(te)&&q(V)?se():null))}catch{}}}let fe=()=>ce(`report`,async()=>{k(N,await i.api.report(),!0);try{await navigator.clipboard.writeText(q(N)),k(N,``)}catch{}});async function pe(e){k(P,``),Y.signIn=null;try{i.onsettings(await Y.api.setKey(e)),k(v,``),L(await i.api.view())}catch(e){k(P,e.message,!0)}}async function me(){k(P,``),Y.signIn=null;try{await Y.startSignIn()}catch(e){k(P,e.message,!0)}}let J=e=>e.push({name:``,value:``}),X=e=>e.held||/key|token|secret|pass|auth|cookie/i.test(e.name)&&!/^\$[A-Za-z_]\w*$/.test(e.value);var he=lo(),ge=x(he),_e=m(S(ge),4),Z=m(_e,2),ve=e=>{var n=Ja();b(()=>{n.disabled=!q(V)||q(E)!==``,H(n,`aria-busy`,q(E)===`keep`)}),s(`click`,n,ue),t(e,n)};r(Z,e=>{q(te)&&e(ve)});var ye=m(Z,2);U(ge);var be=m(ge,2),xe=C(be),Se=m(be,2),Q=e=>{var a=so(),p=x(a),E=S(p),D=S(E),P=S(D);A(P),P.value=P.__value=`openrouter`,j(),U(D);var F=m(D,2),I=S(F);A(I),I.value=I.__value=`gateway`,j(),U(F),U(E);var L=m(E,2),B=e=>{var n=Ya(),r=S(n);A(r);var i=m(r,2);A(i),U(n),O(r,()=>q(h).url,e=>q(h).url=e),O(i,()=>q(h).name,e=>q(h).name=e),t(e,n)};r(L,e=>{q(h).kind===`gateway`&&e(B)}),U(p);var V=m(p,2),W=e=>{var n=Xa();A(n),b(()=>{n.disabled=!q(te),H(n,`placeholder`,q(h).kind===`gateway`?`a key for this address`:`a key from OpenRouter`)}),O(n,()=>q(g),e=>k(g,e)),t(e,n)},ne=e=>{var n=eo(),a=x(n),o=S(a);A(o);var c=m(o,2),u=m(c,2),d=e=>{var n=Za();s(`click`,n,()=>pe(null)),t(e,n)};r(u,e=>{i.settings.key&&e(d)});var p=m(u,2),h=e=>{var n=Qa();b(()=>H(n,`title`,`you sign in at ${i.settings.provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),s(`click`,n,me),t(e,n)};r(p,e=>{i.settings.connect&&e(h)}),U(a);var g=m(a,2),_=e=>{var n=$a(),r=C(n,!0);b(()=>{M(n,1,w(Y.signIn.ok?`soft`:`bad`),`svelte-fl4w36`),f(r,Y.signIn.message)}),t(e,n)};r(g,e=>{Y.signIn&&e(_)}),b(e=>{H(o,`placeholder`,i.settings.key?`held: paste another to replace it`:`paste a key`),c.disabled=e},[()=>!q(v).trim()]),l(`submit`,a,e=>{e.preventDefault(),q(v).trim()&&pe(q(v))}),O(o,()=>q(v),e=>k(v,e)),t(e,n)};r(V,e=>{q(ee)?e(W):e(ne,-1)});var G=m(V,2),re=S(G),se=e=>{var n=to(),r=m(S(n),2),i=S(r),a=S(i);A(a);var o=m(a,2);A(o),U(i);var l=m(i,4);c(l,()=>q(h).headers,()=>`header`);var u=m(l,4);c(u,()=>q(h).query,()=>`query value`);var d=m(u,4),f=S(d);A(f);var p=m(f,2);A(p),U(d);var g=m(d,2),v=S(g);A(v);var y=m(v,2);A(y),U(g);var x=m(g,2);A(x);var C=m(x,2),w=S(C),T=S(w);A(T),j(),U(w);var E=m(w,2);A(E),U(C),U(r),U(n),b(()=>{H(o,`placeholder`,q(ie)?`Bearer`:`no prefix`),H(o,`title`,`what goes before the key (key_prefix), as Bearer; left empty, ${q(ie)?`Bearer, as the header is Authorization`:`nothing`}. Sent: ${q(ae)??``}`),H(p,`placeholder`,q(h).passphraseHeld?`password held`:`its password`),z(E,q(h).maxTokens??``)}),O(a,()=>q(h).keyHeader,e=>q(h).keyHeader=e),O(o,()=>q(h).keyPrefix,e=>q(h).keyPrefix=e),O(f,()=>q(h).pfx,e=>q(h).pfx=e),O(p,()=>q(_),e=>k(_,e)),O(v,()=>q(h).cert,e=>q(h).cert=e),O(y,()=>q(h).certKey,e=>q(h).certKey=e),O(x,()=>q(h).ca,e=>q(h).ca=e),R(T,()=>q(h).streamUsage,e=>q(h).streamUsage=e),s(`input`,E,e=>{let t=Number(e.currentTarget.value);q(h).maxTokens=t>0?Math.floor(t):null}),t(e,n)};r(re,e=>{q(h).kind===`gateway`&&e(se)});var ce=m(re,2),le=S(ce);n(le,16,()=>u,e=>e,(e,n)=>{var r=no(),i=x(r),a=C(i,!0),o=m(i,2);A(o),b(()=>{H(i,`for`,`tier-${n??``}`),f(a,n),H(o,`id`,`tier-${n??``}`),H(o,`title`,`the ${n??``} tier's model: one the provider lists, or its name typed`)}),l(`focus`,o,de),O(o,()=>q(h).tiers[n],e=>q(h).tiers[n]=e),t(e,r)});var ue=m(le,2);n(ue,20,()=>q(T)??[],e=>e,(e,n)=>{var r=ro(),i={};b(()=>{i!==(i=n)&&(r.value=(r.__value=i)??``)}),t(e,r)}),U(ue),U(ce),U(G);var fe=m(G,2),J=e=>{var r=ao();n(r,21,()=>q(y),oe,(e,n)=>{var r=io(),i=S(r),a=C(i,!0),o=m(i),s=C(o,!0),c=m(o),l=C(c,!0);U(r),b(()=>{M(r,1,w(q(n).outcome),`svelte-fl4w36`),f(a,d[q(n).outcome]),f(s,q(n).step),f(l,q(n).said)}),t(e,r)}),U(r),t(e,r)};r(fe,e=>{q(y)&&e(J)});var X=m(fe,2),he=e=>{var n=oo(),r=C(n,!0);b(()=>f(r,q(N))),t(e,n)};r(X,e=>{q(N)&&e(he)}),b(()=>{p.disabled=!q(te),H(p,`title`,q(te)?void 0:`changed only from this machine (localhost): the key goes where this says`),G.disabled=!q(te),H(G,`title`,q(te)?void 0:`changed only from this machine (localhost)`)}),K(o,[],P,()=>q(h).kind,e=>q(h).kind=e),K(o,[],I,()=>q(h).kind,e=>q(h).kind=e),t(e,a)};r(Se,e=>{q(h)&&q(p)&&e(Q)});var Ce=m(Se,2),we=e=>{var n=co(),r=C(n,!0);b(()=>f(r,q(P))),t(e,n)};r(Ce,e=>{q(P)&&e(we)}),b(()=>{H(_e,`title`,q(te)&&q(V)?`check this setup before keeping it: its models, a few words from each, a tool call (a few hundred tokens)`:`check the setup kept: its models, a few words from each, a tool call (a few hundred tokens)`),_e.disabled=q(E)!==``,H(_e,`aria-busy`,q(E)===`check`),ye.disabled=q(E)!==``,H(ye,`aria-busy`,q(E)===`report`),f(xe,`Asked through ${i.settings.provider??``}. ${i.settings.key?`A key is held on this device.`:`No key is held yet.`}`)}),s(`click`,_e,le),s(`click`,ye,fe),t(e,he),ne()}i([`click`,`input`]);var fo=u(`<button class="btn" type="button">forget it</button>`),po=u(`<button class="btn" type="button">sign in for a key</button>`),mo=u(`<p role="status"> </p>`),ho=u(`<dt> </dt><dd class="faint svelte-1c4xnzk"> </dd>`,1),go=u(`<h2 class="label svelte-1c4xnzk">the provider</h2> <p class="soft"> </p> <form class="row svelte-1c4xnzk"><label class="hidden-label" for="key">Provider key</label> <input id="key" class="field grow" type="password" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!> <!></form> <!> <dl class="tiers svelte-1c4xnzk"></dl>`,1),_o=u(`<button class="btn" type="button">no cap</button>`),vo=u(`<form class="row svelte-1c4xnzk"><label class="hidden-label" for="cap">Monthly spend cap in dollars</label> <input id="cap" class="field grow" type="number" min="0.01" step="any" autocomplete="off"/> <button class="btn" type="submit">set it</button> <!></form>`),yo=u(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base: sent with every turn, to Iso and to the terminal's agent. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),bo=u(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),xo=u(`<section class="svelte-1c4xnzk"><!> <!> <!> <!></section>`);function So(e,i){D(i,!0);let o=G(null),c=Y.api?.setup??null,u=G(``),d=G(``),p=G(``),h=G(null),g=``;a(()=>{Y.api.agents().then(e=>{k(h,e.text??``,!0),g=q(h)},()=>void 0)});async function _(){if(q(h)!==null&&q(h)!==g){k(d,``);try{await Y.api.saveAgents(q(h)),g=q(h),$.measure()}catch(e){k(d,e.message,!0)}}}a(()=>{Y.api.settings().then(e=>k(o,e),e=>k(d,e.message,!0))}),a(()=>()=>{Y.signIn=null});async function v(e){k(d,``),Y.signIn=null;try{k(o,await Y.api.setKey(e)),k(u,``)}catch(e){k(d,e.message,!0)}}async function y(e){k(d,``);try{k(o,await Y.api.setSpendCap(e)),k(p,``),$r.refresh()}catch(e){k(d,e.message,!0)}}async function E(){k(d,``),Y.signIn=null;try{await Y.startSignIn()}catch(e){k(d,e.message,!0)}}var j=xo(),N=S(j),P=e=>{uo(e,{get api(){return c},get settings(){return q(o)},onsettings:e=>{k(o,e),$r.refresh()}})},F=e=>{var i=go(),a=m(x(i),2),c=C(a),d=m(a,2),p=m(S(d),2);A(p);var h=m(p,2),g=m(h,2),_=e=>{var n=fo();s(`click`,n,()=>v(null)),t(e,n)};r(g,e=>{q(o).key&&e(_)});var y=m(g,2),T=e=>{var n=po();b(()=>H(n,`title`,`you sign in at ${q(o).provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),s(`click`,n,E),t(e,n)};r(y,e=>{q(o).connect&&e(T)}),U(d);var D=m(d,2),j=e=>{var n=mo(),r=C(n,!0);b(()=>{M(n,1,w(Y.signIn.ok?`soft`:`bad`),`svelte-1c4xnzk`),f(r,Y.signIn.message)}),t(e,n)};r(D,e=>{Y.signIn&&e(j)});var N=m(D,2);n(N,20,()=>[`low`,`mid`,`max`],e=>e,(e,n)=>{var r=ho(),i=x(r),a=C(i,!0),s=m(i),c=C(s,!0);b(()=>{f(a,n),f(c,q(o).tiers[n])}),t(e,r)}),U(N),b(e=>{f(c,`Asked through ${q(o).provider??``}. ${q(o).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),H(p,`placeholder`,q(o).key?`paste another key to replace it`:`paste a key`),h.disabled=e},[()=>!q(u).trim()]),l(`submit`,d,e=>{e.preventDefault(),q(u).trim()&&v(q(u))}),O(p,()=>q(u),e=>k(u,e)),t(e,i)};r(N,e=>{q(o)&&c?e(P):q(o)&&e(F,1)});var I=m(N,2),L=e=>{var n=vo(),i=m(S(n),2);A(i);var a=m(i,2),c=m(a,2),u=e=>{var n=_o();s(`click`,n,()=>y(null)),t(e,n)};r(c,e=>{q(o).spendCap&&e(u)}),U(n),b(e=>{H(i,`placeholder`,q(o).spendCap?`$${q(o).spendCap} a month; another amount replaces it`:`a monthly cap in dollars`),H(i,`title`,`the lower bar in Iso's header fills toward this, over a calendar month; a key with a limit of its own at ${q(o).provider??``} is measured by that instead`),a.disabled=e},[()=>!(Number(q(p))>0)]),l(`submit`,n,e=>{e.preventDefault();let t=Number(q(p));t>0&&y(t)}),O(i,()=>q(p),e=>k(p,e)),t(e,n)};r(I,e=>{q(o)&&e(L)});var R=m(I,2),z=e=>{var n=yo(),r=m(x(n),4);T(r),l(`blur`,r,()=>void _()),O(r,()=>q(h),e=>k(h,e)),t(e,n)};r(R,e=>{q(h)!==null&&e(z)});var B=m(R,2),ee=e=>{var n=bo(),r=C(n,!0);b(()=>f(r,q(d))),t(e,n)};r(B,e=>{q(d)&&e(ee)}),U(j),t(e,j),ne()}i([`click`]);var Co=u(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button></div></section>`),wo=u(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the base</h2> <p><span class="name svelte-1h9x2hz"> </span> <span class="faint"> </span></p> <!></section>`),To=u(`<button type="button" role="radio"> </button>`),Eo=u(`<button type="button">fullscreen</button>`),Do=d(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),Oo=d(`<path d="M8 2.5v11M8 8h6.5"></path>`),ko=u(`<button class="icon svelte-1h9x2hz" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.5" y="2.5" width="13" height="11"></rect><!></svg></button>`),Ao=d(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),jo=d(`<rect x="2" y="2.5" width="5" height="4"></rect><rect x="9" y="9.5" width="5" height="4"></rect><path d="M4.5 6.5v5H9"></path>`,1),Mo=d(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),No=u(`<button type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><!></svg></button>`),Po=u(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),Fo=u(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),Io=u(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the code</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Code"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function Lo(e,i){D(i,!0);let a={note:`Note`,atlas:`Atlas`,iso:`Iso`},o={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},c=G(!1),l=G(!1);ee(()=>{k(c,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{k(l,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),G(!1);function u(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var d=Io(),p=x(d),h=e=>{let n=W(()=>Y.open);var r=Co(),i=m(S(r),2),a=S(i),o=m(a,2);U(i),U(r),s(`click`,a,()=>{Q.settings=null,lt(`question`,q(n))}),s(`click`,o,()=>{Q.settings=null,lt(`problem`,q(n))}),t(e,r)},g=W(()=>Y.open&&!Y.open.startsWith(`@`));r(p,e=>{q(g)&&e(h)});var _=m(p,2),v=e=>{var n=wo(),i=m(S(n),2),a=S(i),o=C(a,!0),s=m(a,2),c=C(s);U(i);var l=m(i,2);r(l,e=>{}),U(n),b(()=>{f(o,Y.session.name),f(c,`· ${Y.listing.notes.length??``} ${Y.listing.notes.length===1?`note`:`notes`}`)}),t(e,n)};r(_,e=>{Y.session&&e(v)});var y=m(_,2),w=m(S(y),2);n(w,21,()=>ke,([e,t])=>e,(e,n)=>{var r=W(()=>N(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=To();let c;var l=C(o,!0);b(()=>{c=M(o,1,`btn svelte-1h9x2hz`,null,c,{on:Oe.chosen===i()}),H(o,`aria-checked`,Oe.chosen===i()),f(l,a())}),s(`click`,o,()=>Oe.choose(i())),t(e,o)}),U(w),U(y);var T=m(y,2),E=m(S(T),2);n(E,21,()=>je,([e,t])=>e,(e,n)=>{var r=W(()=>N(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=To();let c;var l=C(o,!0);b(()=>{c=M(o,1,`btn svelte-1h9x2hz`,null,c,{on:Ae.chosen===i()}),H(o,`aria-checked`,Ae.chosen===i()),H(o,`title`,i()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),f(l,a())}),s(`click`,o,()=>Ae.choose(i())),t(e,o)}),U(E),U(T);var O=m(T,2),A=e=>{var i=Fo(),d=m(S(i),2),f=S(d),p=e=>{var n=Eo();let r;b(()=>{r=M(n,1,`btn svelte-1h9x2hz`,null,r,{on:q(l)}),H(n,`aria-pressed`,q(l))}),s(`click`,n,u),t(e,n)};r(f,e=>{q(c)&&e(p)});var h=m(f,2),g=e=>{var i=Po(),c=x(i);n(c,20,()=>Te,e=>e,(e,n)=>{var i=ko(),a=S(i),c=m(S(a)),l=e=>{var n=Do();t(e,n)},u=e=>{var n=Oo();t(e,n)};r(c,e=>{n===`cols`?e(l):n===`stack`&&e(u,1)}),U(a),U(i),b(()=>{H(i,`aria-pressed`,Q.layout===n),H(i,`aria-label`,o[n]),H(i,`title`,`${o[n]??``} (Alt+L)`)}),s(`click`,i,()=>Q.setLayout(n)),t(e,i)}),U(c);var l=m(c,2);n(l,20,()=>Ce,e=>e,(e,n)=>{var i=No();let o;var c=S(i),l=S(c),u=e=>{var n=Ao();t(e,n)},d=e=>{var n=jo();j(2),t(e,n)},f=e=>{var n=Mo();t(e,n)};r(l,e=>{n===`note`?e(u):n===`atlas`?e(d,1):e(f,-1)}),U(c),U(i),b(e=>{o=M(i,1,`icon svelte-1h9x2hz`,null,o,{off:!Q.show[n]}),H(i,`aria-pressed`,Q.show[n]),H(i,`aria-label`,`Show ${a[n]??``}`),H(i,`title`,`Show or hide ${a[n]??``} (Alt+${e??``} brings it back)${n===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>Ce.indexOf(n)+1]),s(`click`,i,()=>Q.toggle(n)),t(e,i)}),U(l),t(e,i)};r(h,e=>{Q.narrow||e(g)}),U(d),U(i),t(e,i)};r(O,e=>{(q(c)||!Q.narrow)&&e(A)});var P=m(O,2),F=C(P);b(e=>H(F,`href`,e),[()=>le(`/parts`)]),s(`click`,F,()=>Q.settings=null),t(e,d),ne()}i([`click`]);var Ro=e=>{Lo(e,{})},zo=e=>{So(e,{})},Bo=e=>{var n=Ho(),i=m(S(n),2),a=e=>{var n=Vo(),r=C(n);b(()=>f(r,`${Y.listing.notes.length??``} ${Y.listing.notes.length===1?`note`:`notes`}`)),t(e,n)};r(i,e=>{Y.atlas&&e(a)}),U(n),t(e,n)},Vo=u(`<p class="soft svelte-12qhfyh"> </p>`),Ho=u(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),Uo=u(`<p class="stopped svelte-12qhfyh"> </p>`),Wo=u(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),Go=u(`<button class="icon svelte-12qhfyh" type="button" data-tour="understanding" aria-label="Understanding note" title="Understanding note"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="svelte-12qhfyh"><path d="M8 14.5V7.5M8 7.5L4.6 4.4M8 7.5l3.4-3.1M8 7.5V2.5M4.6 4.4L2.8 4.6M4.6 4.4L4.5 2.4M11.4 4.4l1.8.2M11.4 4.4l.1-2M8 11L5.8 9.6M8 11l2.2-1.4" class="svelte-12qhfyh"></path></svg></button>`),Ko=u(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),qo=u(`<!> <!> <button class="icon svelte-12qhfyh" type="button" aria-label="All notes" title="All notes, and search"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 3h4M4.5 3v9.5h3M4.5 7.5h3" class="svelte-12qhfyh"></path><rect x="8" y="5.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect><rect x="8" y="10.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect></svg></button>`,1),Jo=u(`<div class="tree svelte-12qhfyh"><!></div>`),Yo=u(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),Xo=u(`<span class="says svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">stop</button>`,1),Zo=u(`<span title="click open ground to let its path go"> </span>`),Qo=u(`<span class="says svelte-12qhfyh">click a note to link it, again to take it away</span>`),$o=u(`<span class="says svelte-12qhfyh"> </span>`),es=u(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),ts=u(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),ns=u(`<!> <!> <!>`,1),rs=u(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),is=u(`<span> </span>`),as=u(`<!> <!> <!> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What Iso is sent, part by part"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M3 3.5h10M3 6.5h10M3 9.5h6M3 12.5h6" class="svelte-12qhfyh"></path></svg> <!></button> <button class="icon svelte-12qhfyh" type="button" aria-label="A new conversation" title="A new conversation: nothing earlier is sent"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M8 3.5v9M3.5 8h9" class="svelte-12qhfyh"></path></svg></button>`,1),os=u(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),ss=u(`<section><!> <!></section>`),cs=u(`<span class="badge svelte-12qhfyh"> </span>`),ls=u(`<button type="button" class="svelte-12qhfyh"> <!></button>`),us=u(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function ds(e,i){D(i,!0),Y.signIn!==null&&(Q.settings=`iso`);let o=W(()=>Q.standing);a(()=>{Ee.route.id===`/n/[...id]`&&Ee.params.id&&Q.setLast(Ee.params.id)}),a(()=>{Ee.url.href,Q.tree=!1}),ee(()=>{let e=matchMedia(`(max-width: 760px)`);Q.narrow=e.matches;let t=()=>{Q.narrow=e.matches,Q.narrow&&requestAnimationFrame(()=>Q.scroll?.(Q.focus))};return e.addEventListener(`change`,t),Q.scroll=e=>{if(!Q.narrow||!q(u))return;let t=q(u).querySelector(`[data-pane="${e}"]`);t&&q(u).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Q.scroll=null}});let u=G(void 0),d=W(()=>{if(Q.layout===`stack`&&q(o).length===3){let[e,t]=q(o);return{template:`"a b" minmax(0, 1fr) "a c" minmax(0, 1fr) / minmax(0, ${Q.widths[e]}fr) minmax(0, ${Q.widths[t]}fr)`,areas:Object.fromEntries(q(o).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${q(o).map(e=>`minmax(0, ${Q.widths[e]}fr)`).join(` `)}`,areas:{}}});function p(e,t){let n=e.currentTarget,r=q(o)[q(o).indexOf(t)-1];if(!r||!q(u))return;n.setPointerCapture(e.pointerId);let i=q(o).reduce((e,t)=>e+(Q.layout===`stack`&&t===q(o)[2]?0:Q.widths[t]),0),a=q(u).getBoundingClientRect().width/i,s=e.clientX,c=e=>{let n=(e.clientX-s)/a,i=Q.widths[r]+n,o=Q.widths[t]-n;i<.4||o<.4||(Q.setWidth(r,i),Q.setWidth(t,o),s=e.clientX)},l=()=>{n.removeEventListener(`pointermove`,c),n.removeEventListener(`pointerup`,l)};n.addEventListener(`pointermove`,c),n.addEventListener(`pointerup`,l)}function h(e,t){let n=q(o)[q(o).indexOf(t)-1];if(!n||e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let r=e.key===`ArrowLeft`?-.1:.1;Q.widths[n]+r>=.4&&Q.widths[t]-r>=.4&&(Q.setWidth(n,Q.widths[n]+r),Q.setWidth(t,Q.widths[t]-r)),e.preventDefault()}function g(){Q.narrow&&q(u)&&(clearTimeout(y),y=setTimeout(()=>{let e=Ce[Math.round(q(u).scrollLeft/q(u).clientWidth)];e&&e!==Q.focus&&(Q.focus=e,e===`iso`&&(Q.unseen=0))},60))}let y;function w(e){if(e.key===`Escape`&&Q.tree){Q.tree=!1;return}if(!e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented)return;let t=e.target?.closest?.(`.cm-editor, input, textarea`)!=null,n=e.key;if(n===`1`||n===`2`||n===`3`)Q.to(Ce[n-1]);else if(n.toLowerCase()===`l`&&!Q.narrow)Q.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)Q.step(n===`ArrowRight`?1:-1);else if(O[n.toLowerCase()])Q.flip(O[n.toLowerCase()]);else return;e.preventDefault()}let T={note:`Note`,atlas:`Atlas`,iso:`Iso`},O={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,i:`pictures`,c:`context`,n:`notes`,f:`files`,r:`run`},A=W(()=>Ee.route.id===`/n/[...id]`||Ee.route.id===`/draft/[id]`),j=W(()=>Y.atlas&&!Y.atlas.pick&&Y.iso?.start?.place.form!==`turn`?Y.iso:null),N=W(()=>q(j)?.state===`reading`||q(j)?.state===`writing`),F=W(()=>q(j)?Y.listing.notes.find(e=>e.id===q(j).note)?.title??`your note`:``),I=()=>{q(j)&&Y.api.stop(q(j).request)},R=W(()=>X(q(j)?.agent)),z=W(()=>{let e=q(j)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?Y.listing.notes.find(t=>t.id===e)?.title??e:``});var B=us();ce(`12qhfyh`,e=>{v(()=>{te.title=q(A)&&Y.here?`${Y.here} · isorite`:`isorite`})}),l(`keydown`,c,w);var V=S(B);let K;var re=S(V),ie=e=>{var n=Uo(),r=C(n);b(()=>f(r,`isorite could not open the base: ${Y.error??``}`)),t(e,n)},ae=e=>{var a=L(),c=x(a);n(c,16,()=>Ce,e=>e,(e,n)=>{var a=ss();let c,u;var g=S(a),v=e=>{var r=Wo();b(()=>H(r,`aria-label`,`Resize ${T[n]??``}`)),s(`pointerdown`,r,e=>p(e,n)),s(`keydown`,r,e=>h(e,n)),t(e,r)};r(g,e=>{!Q.narrow&&q(o)[0]!==n&&(Q.layout!==`stack`||q(o)[2]!==n)&&e(v)});var y=m(g,2),w=e=>{var n=Yo(),a=x(n);{let e=e=>{var n=qo(),i=x(n),a=e=>{var n=Go();b(()=>H(n,`aria-pressed`,Q.understanding)),s(`click`,n,()=>Q.showUnderstanding()),t(e,n)},o=W(()=>Ee.route.id===`/n/[...id]`&&!(Ee.params.id??``).startsWith(`@`));r(i,e=>{q(o)&&e(a)});var c=m(i,2),l=e=>{var n=Ko();let r;var i=m(S(n)),a=C(i,!0);U(n),b(e=>{r=M(n,1,`saved svelte-12qhfyh`,null,r,{bad:Y.saving.bad,busy:e}),H(n,`title`,Y.saving.text),f(a,Y.saving.text)},[()=>!Y.saving.text.startsWith(`saved`)]),t(e,n)};r(c,e=>{q(A)&&Y.saving&&e(l)});var u=m(c,2);b(()=>H(u,`aria-pressed`,Ee.route.id===`/notes`||Q.tree)),s(`click`,u,()=>{Ee.route.id!==`/notes`&&(Q.tree=!Q.tree)}),t(e,n)},n=W(()=>Q.narrow||q(o)[0]===`note`);Ba(a,{pane:`note`,get first(){return q(n)},name:`Note`,get settings(){return Ro},tools:e,$$slots:{tools:!0}})}var c=m(a,2),l=S(c);se(l,()=>i.children),U(c);var u=m(c,2),d=e=>{var n=Jo(),r=S(n);De(r,{}),U(n),t(e,n)};r(u,e=>{Q.tree&&Ee.route.id!==`/notes`&&e(d)}),t(e,n)},E=e=>{var n=rs(),i=x(n);{let e=e=>{var n=ns(),i=x(n),a=e=>{var n=L(),i=x(n),a=e=>{var n=Xo(),r=x(n),i=C(r,!0),a=m(r,2);b(e=>f(i,e),[()=>q(j).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${q(F)}`]),s(`click`,a,I),t(e,n)},o=e=>{var n=Zo();let r;var i=C(n,!0);b(()=>{r=M(n,1,`says svelte-12qhfyh`,null,r,{bad:q(j).state===`failed`}),f(i,q(j).state===`done`?`Iso is done in ${q(F)}`:q(j).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${q(j).message}`)}),t(e,n)};r(i,e=>{q(N)?e(a):e(o,-1)}),t(e,n)},o=e=>{var n=Qo();t(e,n)},c=e=>{var n=$o(),r=C(n);b(()=>f(r,`${Y.atlas.steps??``} ${Y.atlas.steps===1?`step`:`steps`} back`)),t(e,n)};r(i,e=>{q(j)&&!q(j).agent&&(!Y.open||q(j).note!==Y.open)&&(q(N)||!Y.atlas?.chosen)?e(a):Y.atlas?.pick?e(o,1):Y.atlas?.chosen&&Y.atlas.steps&&e(c,2)});var l=m(i,2),u=e=>{var n=es(),r=x(n),i=C(r,!0),a=m(r);b(()=>f(i,Y.atlas.here)),s(`click`,a,function(...e){Y.atlas.out?.apply(this,e)}),t(e,n)};r(l,e=>{Y.atlas?.here&&e(u)});var d=m(l,2),p=e=>{var n=ts();s(`click`,n,function(...e){Y.atlas.fit?.apply(this,e)}),t(e,n)};r(d,e=>{Y.atlas&&e(p)}),t(e,n)},n=W(()=>Q.narrow||q(o)[0]===`atlas`);Ba(i,{pane:`atlas`,get first(){return q(n)},name:`Atlas`,get settings(){return Bo},tools:e,$$slots:{tools:!0}})}var a=m(i,2);Qr(S(a),{}),U(a),t(e,n)},D=e=>{var n=os(),i=x(n);{let e=e=>{var n=as(),i=x(n),a=e=>{var n=$o(),r=C(n,!0);b(()=>{H(n,`title`,q(N)?``:`click open ground on the Atlas to let its path go`),f(r,q(N)?`${q(R)} is ${q(z)?`reading ${q(z)}`:`at work`} in the terminal`:`${q(R)}'s turn is done`)}),t(e,n)};r(i,e=>{q(j)?.agent&&e(a)});var o=m(i,2),c=e=>{Ga(e,{})};r(o,e=>{Q.mode!==`build`&&e(c)});var l=m(o,2);Ha(l,{});var u=m(l,2),d=m(S(u),2),p=e=>{var n=L(),r=x(n);_(r,()=>Z.fresh,e=>{var n=is();let r;var i=C(n,!0);b(()=>{r=M(n,1,`n svelte-12qhfyh`,null,r,{pulse:$.view===`chat`&&Z.fresh!==``}),f(i,Z.sent.length)}),t(e,n)}),t(e,n)};r(d,e=>{Z.sent.length&&e(p)}),U(u);var h=m(u,2);b(()=>{H(u,`aria-pressed`,$.view===`context`),h.disabled=Q.mode===`build`||!!$.running||!$.turns.length}),s(`click`,u,()=>$.view=$.view===`context`?`chat`:`context`),s(`click`,h,()=>{$.fresh(),$.view=`chat`}),t(e,n)},n=W(()=>Q.narrow||q(o)[0]===`iso`);Ba(i,{pane:`iso`,get first(){return q(n)},name:`Iso`,get settings(){return zo},tools:e,$$slots:{tools:!0}})}var a=m(i,2);ya(S(a),{}),U(a),t(e,n)};r(y,e=>{n===`note`?e(w):n===`atlas`?e(E,1):e(D,-1)}),U(a),b(e=>{c=M(a,1,`pane svelte-12qhfyh`,null,c,{focus:Q.focus===n,first:q(o)[0]===n,top:Q.layout===`stack`&&q(o)[1]===n&&q(o).length===3}),H(a,`data-pane`,n),H(a,`aria-label`,T[n]),H(a,`hidden`,e),u=P(a,``,u,{"grid-area":q(d).areas[n]})},[()=>!q(o).includes(n)]),l(`pointerdown`,a,()=>{Q.narrow||(Q.focus=n)},!0),t(e,a)}),t(e,a)};r(re,e=>{Y.error?e(ie):e(ae,-1)}),U(V),E(V,e=>k(u,e),()=>q(u));var oe=m(V,2);n(oe,20,()=>Ce,e=>e,(e,n)=>{var i=ls(),a=S(i),o=m(a),c=e=>{var n=cs(),r=C(n,!0);b(()=>f(r,Q.unseen)),t(e,n)};r(o,e=>{n===`iso`&&Q.unseen&&e(c)}),U(i),b(()=>{H(i,`aria-current`,Q.focus===n),H(i,`aria-label`,T[n]),f(a,`${T[n]??``} `)}),s(`click`,i,()=>Q.to(n)),t(e,i)}),U(oe),U(B),b(()=>{H(V,`data-layout`,Q.layout),K=P(V,``,K,{"grid-template":q(d).template})}),l(`scroll`,V,g),t(e,B),ne()}i([`pointerdown`,`keydown`,`click`]);export{ds as component,Ye as universal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ct as e,n as t,s as n,st as r}from"../chunks/Iqr2CudW.js";import{o as i,t as a}from"../chunks/c7PFFMl4.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/CBkjDkEN.js";import{i as c}from"../chunks/DlKQFacy.js";import"../chunks/BqrMZ9MX.js";function l(l,u){e(u,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a(e?o(e):i(`/notes`),{replaceState:!0})}),n(),r()}export{l as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ct as e,n as t,s as n,st as r}from"../chunks/Iqr2CudW.js";import{o as i,t as a}from"../chunks/c7PFFMl4.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/CBkjDkEN.js";import{i as c}from"../chunks/DlKQFacy.js";import{t as l}from"../chunks/DQjIi5Jv.js";import"../chunks/BqrMZ9MX.js";function u(u,d){e(d,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``,t=new URLSearchParams(l.url.search);t.delete(`base`);let n=t.size?`?${t}`:``;a((e?o(e):i(`/notes`))+n,{replaceState:!0}).then(()=>c.to(`atlas`))}),n(),r()}export{u as component};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,F as r,G as i,I as a,M as o,O as s,Q as c,S as l,T as u,W as d,X as f,Y as p,Z as m,at as h,ct as g,d as _,et as v,f as y,ft as b,g as x,j as S,m as C,n as w,nt as T,p as E,pt as D,rt as O,s as k,st as A,tt as j,v as M,z as N}from"../chunks/Iqr2CudW.js";import{o as P,t as F}from"../chunks/c7PFFMl4.js";import"../chunks/xihTtKlq.js";import{r as I,t as L}from"../chunks/CBkjDkEN.js";import{i as ee,t as R}from"../chunks/BimZp6R0.js";import{a as z,o as B,t as te}from"../chunks/B0A4Snxv.js";import{i as V}from"../chunks/DlKQFacy.js";import{t as H}from"../chunks/DQjIi5Jv.js";import"../chunks/BqrMZ9MX.js";var U=o(`<p class="faint col svelte-nq8rms">opening…</p>`),W=o(`<div class="col svelte-nq8rms"><p class="soft">This note for Iso is not here any more. It was kept as a note, or discarded.</p><p><a>all notes</a></p></div>`),ne=o(`<div class="prompt svelte-nq8rms"><p> </p> <button class="link svelte-nq8rms" type="button"> </button></div>`),G=o(`<div class="prose said svelte-nq8rms"></div>`),re=o(`<span class="faint"> </span>`),ie=o(`<!> <div class="foot svelte-nq8rms"><i class="dia svelte-nq8rms" aria-hidden="true"></i> <span class="soft"> <!></span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ stop ]</button></div>`,1),ae=o(`<textarea class="revision svelte-nq8rms" aria-label="Iso's text, to edit"></textarea>`),oe=o(`<!> <div aria-live="polite"><!></div>`,1),K=o(`<p class="bad svelte-nq8rms" role="alert"> </p>`),se=o(`<span class="chip lattice svelte-nq8rms"> </span>`),ce=o(`<span class="faint">no notes yet: type [[ in what you write, or</span>`),le=o(`<button type="button" role="radio" class="svelte-nq8rms"> </button>`),ue=o(`<div class="row svelte-nq8rms"><span class="label">linked</span> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><button class="btn primary tall" type="button"><i class="dia inverse svelte-nq8rms" aria-hidden="true"></i>send to Iso</button> <span class="tiers svelte-nq8rms" role="radiogroup" aria-label="Tier"></span> <span class="grow"></span> <button class="link faint svelte-nq8rms" type="button">[ discard ]</button></div>`,1),de=o(`<option></option>`),fe=o(`<button class="btn edit" type="button">done</button>`),pe=o(`<button class="btn edit" type="button">edit</button>`),me=o(`<div class="row svelte-nq8rms"><button class="btn primary tall" type="button">keep as a note</button> <label class="in soft svelte-nq8rms"><span>in</span><input class="field svelte-nq8rms" placeholder="the top of the base" list="folders" autocomplete="off" aria-label="Folder"/><span class="faint">/</span></label> <datalist id="folders"></datalist> <span class="grow"></span> <!> <button class="btn danger tall" type="button">discard</button></div> <div class="row svelte-nq8rms"><span class="label"> </span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ back to what I wrote ]</button></div>`,1),he=o(`<div class="col svelte-nq8rms"><div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · not in your base yet</span></div> <label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-nq8rms" rows="1" placeholder="a title for the note" autocomplete="off"></textarea> <!> <!> <!></div> <div class="deck svelte-nq8rms"><!></div>`,1),ge=o(`<article class="draft svelte-nq8rms"><!></article>`);function q(r,o){g(o,!0);let u=new z(o.id),S=new B(u),T=j(``),k=j(!1),H=j(``),q=j(!1),J=O(()=>S.proposals.at(-1)),Y=O(()=>N(J)?.text??``),X=O(()=>N(J)&&S.editing?.id===N(J).id?S.editing:null),Z=O(()=>!N(J)&&!S.asking),_e=O(()=>{let e=[...u.body.matchAll(/\]\(\/([^)\s#]+)\.md/g)].map(e=>decodeURIComponent(e[1]));return[...new Set(e)].flatMap(e=>{let t=L.listing.notes.find(t=>t.id===e);return t?[t]:[]})}),Q=O(()=>S.asking?.steps.at(-1)?.said??``);w(()=>{L.open=o.id,u.open().then(()=>S.open());let e=()=>{u.save()};return addEventListener(`pagehide`,e),()=>{removeEventListener(`pagehide`,e),S.close(),u.close(),L.here=L.open=``,L.saving=null}}),i(()=>{L.here=u.loaded===`ready`?u.fields.title||`a new note`:``,L.saving=u.loaded===`ready`&&N(Z)?{text:u.saving===`saved`?`saved, outside your base`:u.saving===`failed`?`not saved: ${u.message}`:`saving`,bad:u.saving===`failed`}:null});async function ve(){if(N(J)){v(H,``),v(q,!0);try{await u.save(),N(X)&&await S.done(N(J));let e=await L.api.keepDraft(o.id,N(J).id,N(T));await L.refresh(),await F(I(e.id))}catch(e){v(H,e.message,!0)}finally{v(q,!1)}}}async function ye(){await u.save();let e=o.id.slice(7);await F(`${P(`/draft/[id]`,{id:e})}?pick=${encodeURIComponent(e)}`),V.to(`atlas`)}async function be(){let e=await S.send();e&&(L.watching=e,V.to(`atlas`))}async function xe(){v(q,!0);try{await L.api.discardDraft(o.id),await F(P(`/notes`))}catch(e){v(H,e.message,!0),v(q,!1)}}var $=ge(),Se=p($),Ce=t=>{var n=U();e(t,n)},we=t=>{var n=W(),r=c(p(n)),i=m(r);D(n),d(e=>E(i,`href`,e),[()=>P(`/notes`)]),e(t,n)},Te=r=>{var i=he(),o=f(i),g=c(p(o),4);h(g);var w=c(g,2),A=e=>{te(e,{get note(){return u},source:!1})},j=t=>{var r=oe(),i=f(r),o=t=>{var n=ne(),r=p(n);let i;var o=m(r,!0),l=c(r,2),f=m(l,!0);D(n),d(e=>{i=x(r,1,`serif soft svelte-nq8rms`,null,i,{fold:!N(k)}),s(o,e),s(f,N(k)?`[ fold ]`:`[ show all ]`)},[()=>u.body.trim()]),a(`click`,l,()=>v(k,!N(k))),e(t,n)},g=O(()=>u.body.trim());n(i,e=>{N(g)&&e(o)});var y=c(i,2);let b;var C=p(y),w=t=>{var r=ie(),i=f(r),o=t=>{var n=G();l(n,()=>ee(S.asking.text),!0),D(n),M(n,(e,t)=>R?.(e,t),()=>S.asking.text),e(t,n)};n(i,e=>{S.asking.text&&e(o)});var u=c(i,2),h=c(p(u),2),g=p(h,!0),_=c(g),v=t=>{var n=re(),r=m(n);d(()=>s(r,`· ${N(Q)??``}`)),e(t,n)};n(_,e=>{N(Q)&&e(v)}),D(h);var y=c(h,4);D(u),d(()=>s(g,S.asking.text?`Iso is writing`:`Iso is thinking`)),a(`click`,y,()=>S.halt()),e(t,r)},T=t=>{var n=ae();h(n),d(e=>E(n,`rows`,e),[()=>Math.max(6,N(X).text.split(`
|
|
2
|
-
`).length+1)]),_(n,()=>N(X).text,e=>N(X).text=e),e(t,n)},A=t=>{var n=G();l(n,()=>ee(N(Y)),!0),D(n),M(n,(e,t)=>R?.(e,t),()=>({given:N(Y),copy:!0})),e(t,n)};n(C,e=>{S.asking?e(w):N(X)?e(T,1):e(A,-1)}),D(y),d(e=>b=x(y,1,`between svelte-nq8rms`,null,b,{working:e}),[()=>!!S.asking]),e(t,r)};n(w,e=>{N(Z)?e(A):e(j,-1)});var P=c(w,2),F=t=>{var n=K(),r=m(n,!0);d(()=>s(r,S.failed.message)),e(t,n)};n(P,e=>{S.failed&&e(F)});var I=c(P,2),z=t=>{var n=K(),r=m(n,!0);d(()=>s(r,N(H))),e(t,n)};n(I,e=>{N(H)&&e(z)}),D(o);var B=c(o,2),V=p(B),U=n=>{var r=ue(),i=f(r),o=c(p(i),2);t(o,17,()=>N(_e),e=>e.id,(t,n)=>{var r=se(),i=m(r,!0);d(()=>s(i,N(n).title)),e(t,r)},t=>{var n=ce();e(t,n)});var l=c(o,2);D(i);var h=c(i,2),g=p(h),_=c(g,2);t(_,20,()=>[`low`,`mid`,`max`],e=>e,(t,n)=>{var r=le(),i=m(r,!0);d(()=>{E(r,`aria-checked`,S.tier===n),s(i,n)}),a(`click`,r,()=>S.setTier(n)),e(t,r)}),D(_);var v=c(_,4);D(h),d(e=>{g.disabled=e,v.disabled=N(q)},[()=>!u.body.trim()]),a(`click`,l,ye),a(`click`,g,be),a(`click`,v,xe),e(n,r)},W=r=>{var i=me(),o=f(i),l=p(o),u=c(l,2),h=c(p(u));y(h),b(),D(u);var g=c(u,2);t(g,20,()=>L.listing.dirs,e=>e,(t,n)=>{var r=de(),i={};d(()=>{i!==(i=n)&&(r.value=(r.__value=i)??``)}),e(t,r)}),D(g);var x=c(g,4),C=t=>{var n=fe();a(`click`,n,()=>S.done(N(J))),e(t,n)},w=t=>{var n=pe();a(`click`,n,()=>S.edit(N(J))),e(t,n)};n(x,e=>{N(X)?e(C):e(w,-1)});var E=c(x,2);D(o);var O=c(o,2),k=p(O),A=m(k),j=c(k,4);D(O),d(e=>{l.disabled=N(q),E.disabled=N(q),s(A,`${e??``}${N(J).notice?` · ${N(J).notice}`:``}`),j.disabled=N(q)},[()=>N(J).cost?`${N(J).cost.tier} · $${N(J).cost.usd.toFixed(3)}`:``]),a(`click`,l,ve),_(h,()=>N(T),e=>v(T,e)),a(`click`,E,xe),a(`click`,j,()=>S.discard(N(J))),e(r,i)};n(V,e=>{N(Z)?e(U):N(J)&&e(W,1)}),D(B),d(()=>{C(g,u.fields.title),g.readOnly=!N(Z)}),a(`input`,g,e=>u.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),a(`keydown`,g,e=>{e.key===`Enter`&&e.preventDefault()}),e(r,i)};n(Se,e=>{u.loaded===`loading`?e(Ce):u.loaded===`ready`?e(Te,-1):e(we,1)}),D($),e(r,$),A()}r([`input`,`keydown`,`click`]);function J(t,n){g(n,!1),k();var r=S(),i=f(r);u(i,()=>H.params.id,e=>{{let t=T(()=>`@draft/${H.params.id??``}`);q(e,{get id(){return N(t)}})}}),e(t,r),A()}export{J as component};
|