isorite 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/main.js +305 -14
  2. package/docs/setup.md +5 -4
  3. package/docs/terminal.md +1 -1
  4. package/guide/your-own-base/starting-a-base.md +4 -4
  5. package/package.json +1 -1
  6. package/web/_app/immutable/assets/{0.BEjn1Bfl.css → 0.BPP604gH.css} +1 -1
  7. package/web/_app/immutable/chunks/{D9JwUycj.js → BGW1TKtR.js} +1 -1
  8. package/web/_app/immutable/chunks/{BCyLp7pS.js → BPrp4s2r.js} +1 -1
  9. package/web/_app/immutable/chunks/{C8nK3Jvr.js → CIYFNih-.js} +1 -1
  10. package/web/_app/immutable/chunks/{O98JkczU.js → CPSlCQsu.js} +2 -2
  11. package/web/_app/immutable/chunks/{Bt-fHApV.js → DBLoWLMb.js} +1 -1
  12. package/web/_app/immutable/chunks/{BOxykeIc.js → DFKYo3Wx.js} +1 -1
  13. package/web/_app/immutable/chunks/{Cd_SqIWq.js → DxVFSMVD.js} +3 -3
  14. package/web/_app/immutable/chunks/{3fCuxe18.js → DymLl-qY.js} +1 -1
  15. package/web/_app/immutable/chunks/{s_hW4oA1.js → Dzi94aDH.js} +1 -1
  16. package/web/_app/immutable/chunks/{B6uHgLdT.js → NyWzYSz1.js} +1 -1
  17. package/web/_app/immutable/chunks/X3aTZRe_.js +1 -0
  18. package/web/_app/immutable/entry/{app.DM_AWBgH.js → app.BzA5QYtw.js} +2 -2
  19. package/web/_app/immutable/entry/start.BOh0Gj31.js +1 -0
  20. package/web/_app/immutable/nodes/{0.xSbkmYPn.js → 0.BmaxMLzC.js} +2 -2
  21. package/web/_app/immutable/nodes/{1.BD2wJdoH.js → 1.IQDu8pD1.js} +1 -1
  22. package/web/_app/immutable/nodes/2.D2Oi-ADx.js +1 -0
  23. package/web/_app/immutable/nodes/{3.e_5kWaf_.js → 3.CF1W85jb.js} +1 -1
  24. package/web/_app/immutable/nodes/{4.BEMEU6Jz.js → 4.BMYBn904.js} +1 -1
  25. package/web/_app/immutable/nodes/5.1vm6WZdM.js +1 -0
  26. package/web/_app/version.json +1 -1
  27. package/web/index.html +13 -13
  28. package/web/_app/immutable/chunks/WLe0MT1c.js +0 -1
  29. package/web/_app/immutable/entry/start.BLhIKDcR.js +0 -1
  30. package/web/_app/immutable/nodes/2.shPqwtS_.js +0 -1
  31. package/web/_app/immutable/nodes/5.DxaO-e4O.js +0 -1
@@ -1,2 +1,2 @@
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,c as T,d as E,dt as D,et as O,ft as k,g as A,h as j,ht as M,i as N,it as P,j as F,l as I,m as L,n as R,nt as z,ot as B,p as V,pt as H,q as ee,st as te,tt as U,u as W,ut as G,v as ne,w as K,x as re,y as ie,z as q}from"../chunks/e2LGvGEb.js";import{s as ae,t as oe}from"../chunks/WLe0MT1c.js";import"../chunks/xihTtKlq.js";import{C as se,a as J,d as ce,i as Y,n as le,p as ue,r as de,s as fe,t as pe,u as X}from"../chunks/O98JkczU.js";import{D as Z,E as me,S as he,b as ge,d as _e,f as ve,g as Q,h as ye,i as be,m as xe,t as Se}from"../chunks/Cd_SqIWq.js";import{t as Ce}from"../chunks/s_hW4oA1.js";import{a as we,i as Te,n as Ee,r as De,t as Oe}from"../chunks/CAlIuau0.js";import{t as ke}from"../chunks/BOxykeIc.js";var Ae=M({load:()=>je});async function je(){return await J.load(),{}}function Me(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 Ne(e,t){let n=J.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=Me(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await J.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await J.refresh(),Y.fresh=a,await Y.open(a,!0),a}var Pe=()=>Q.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});function Fe(e){let t=e.items.flatMap((t,n)=>t.kind===`text`||t.kind===`question`||t.kind===`offer`?[t]:t.kind===`look`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.step.tool,title:t.step.query??t.step.opened??t.step.said,status:t.step.failed?`failed`:`done`,output:``,...t.step.opened&&!t.step.away?{note:t.step.opened}:{}}]:t.kind===`change`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.why===`create`?`write_note`:`edit_note`,title:t.to??t.note,status:`done`,output:``,...t.why===`delete`?{}:{note:t.to??t.note}}]:t.kind===`point`?[{kind:`text`,text:`Look at [${J.listing.notes.find(e=>e.id===t.note)?.title??t.note}](/${t.note}.md)${t.why?`: ${t.why}`:`.`}`}]:[]);return{id:e.id,asked:e.asked,from:`here`,items:t,state:e.state,given:e.given,at:e.at}}var $=new class{#e=U(null);get view(){return q(this.#e)}set view(e){O(this.#e,e)}#t=U(null);get old(){return q(this.#t)}set old(e){O(this.#t,e)}#n=U(`session`);get shown(){return q(this.#n)}set shown(e){O(this.#n,e,!0)}#r=U([]);get past(){return q(this.#r)}set past(e){O(this.#r,e)}#i=U(``);get problem(){return q(this.#i)}set problem(e){O(this.#i,e,!0)}started=!1;get session(){return this.old??this.view}get connected(){return!!this.view?.connected}get running(){return!this.old&&(!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`)}get api(){return J.api?.terminal??null}start(){!this.started&&J.api&&(this.started=!0,J.api.agentNotes().then(({may:e})=>{Y.on.notes=e},()=>void 0),Y.notesFlipped=e=>{J.api.setAgentNotes(e).catch(t=>{Y.on.notes=!e,this.problem=t.message})},this.api?(this.api.view().then(e=>this.show(e),()=>Y.setAttached(!1)),J.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Y.setAttached(!1))}show(e){let t=this.connected;this.view=e,Y.setAttached(e.connected||!!e.reading);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash|execute)$/.test(t.action)?!Y.on.run:/^(edit|write|patch)$/.test(t.action)&&!Y.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Y.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Y.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;this.old=null;try{return await this.api.prompt(e.trim(),Pe()),!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}}async take(e){try{await this.api?.take(e)}catch(e){this.problem=e.message}}get acp(){return!!this.view&&(this.view.connected||!!this.view.reading)}async give(){if(this.acp&&this.api)try{await this.api.give(Pe())}catch(e){this.problem=e.message}}async follow(e,t){this.problem=``,this.old=null;try{await this.api?.follow(e,t)}catch(e){this.problem=e.message}}async fresh(e){this.problem=``,this.old=null;try{await this.api?.fresh(e)}catch(e){this.problem=e.message}}async drawer(){if(this.shown===`past`)this.shown=`session`;else{this.shown=`past`,this.acp&&this.api?.list().catch(()=>void 0);try{this.past=await J.api.conversations()}catch{this.past=[]}}}async read(e){this.problem=``;try{let t=await J.api.conversation(e);t&&(this.old={connected:!1,reading:!0,agent:`Iso`,agentId:`iso`,session:t.id,title:t.turns[0]?.asked??``,busy:!1,turns:t.turns.map(Fe),asking:[],cost:0,tokens:{input:0,output:0},model:``}),this.shown=`session`}catch(e){this.problem=e.message}}},Ie=4.5,Le=.04;function Re(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 ze=new WeakMap;function Be(e){let t=ze.get(e);return t||ze.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function Ve(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 He(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 Ue(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 We=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function Ge(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=>We(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||!We(e,m[t-1]))}var Ke=[`uses`,`builds`,`requires`,`iso`];function qe(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=Ke.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:Ke[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 Je(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=He(t,n,s),u=He(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}`)??Ge(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 Ye(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 Xe(e,t=0,n=7){let r=Ye(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 Ze(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 Qe(e,t,n,r=3,i=7){let a=Math.max(Le,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 $e(e,t,n,r){let i=Math.max(Le,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 et(e,t){if(!t.length)return e;let n=new Map,r=new Map,i=e=>{for(let t of e.children)t.kind===`dir`?i(t):n.set(t.ref,t)};i(e.root);for(let e of t){let t=e.about.find(e=>n.has(e));t&&r.set(t,[...r.get(t)??[],e])}let a=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[a(e)]:[e,...(r.get(e.ref)??[]).map(t=>({kind:`concept`,id:`c:`+t.ref,ref:t.ref,weight:1,rank:e.rank+1,of:`question`}))])}),o=[...e.edges];for(let e of r.values())for(let t of e)for(let e of t.about)n.has(e)&&o.push([t.ref,e,se.uses]);return{root:a(e.root),edges:o}}function tt(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 rt(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 it=2;function at(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??it,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 ot(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 st={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function ct(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...st,...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&&ut(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=lt(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=ft(dt(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 lt(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 ut(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 dt(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 ft(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 pt={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},mt={fine:pt,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}};pt.pad;var ht=1.4,gt=8,_t=12,vt=pt.note,yt=0,bt=0,xt=0,St=0,Ct=0,wt=0,Tt=0,Et=0,Dt=0,Ot=2,kt=0,At=0;function jt(e){({note:vt,gap:yt,gapFolders:bt,channel:xt,channelFolders:St,head:Ct,margin:wt,minFolder:Tt,slant:Et,pad:Dt,keep:Ot}=e),kt=vt[0]+yt,At=3*kt}function Mt(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=mt[n]??pt;jt(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:vt[0],h:vt[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(Tt,i.w+2*Dt),h:i.h+Dt+Ct+Dt}:{w:Tt,h:Ct+2*Dt})};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)?bt:yt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*ht)),...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])?bt:yt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/st.shape:st.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=ct(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)?bt:yt,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=Pt(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]+xt),0),S=Math.max(Math.ceil(Math.sqrt(a?x*ht:x/ht)),...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 V=(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})},H=()=>{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},ee=()=>{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<gt;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)}}},te=C.map(e=>[...e]),U=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,W=null,G=1/0;for(let e of[e=>e,e=>[...e].sort(U),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(te[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&G>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);ee();let r=H();r<t&&(t=r,n=0),r<G&&(G=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 ne=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?Ot:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ne(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 q=e=>K[e]+j[e]/2;for(let e=0;e<_t;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+q(t),0)/t.length:q(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ne(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]]-ne(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let ae=e=>Math.floor((j[e]-1)/2),oe=Array(j.length).fill(-1),se=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=>oe[e]>=0).map(e=>[B[oe[e]],B[e]]);for(let r of C[t]){if(oe[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])=>se[t]<0&&(!e||z(t)&&z(r))&&Math.abs(K[t]+ae(t)-K[r]-ae(r))<=(e?At:kt)).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])){oe[r]=e,se[e]=r,n.push([B[e],B[r]]);break}}}let J=Array(j.length).fill(-1),ce=0;for(let e=0;e<j.length;e++)if(oe[e]<0){for(let t=e;t>=0;t=se[t])J[t]=ce;ce++}let Y=Array.from({length:ce},()=>[]);J.forEach((e,t)=>Y[e].push(t));let le=(e,t)=>j[e]-ae(e)+ne(e,t)+ae(t),ue=Array(j.length).fill(-1),de=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(ue[t]=e[n-1],de[e[n-1]]=t)});let fe=Array(ce).fill(0),pe=!1;for(let e=0;e<=ce&&!pe;e++){pe=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=fe[J[e[t-1]]]+le(e[t-1],e[t]);fe[J[e[t]]]<n&&(fe[J[e[t]]]=n,pe=!1)}}if(pe){let e=Y.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+ae(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-fe[t])),n=[...Array(ce).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 Y[a])ue[e]>=0&&(n=Math.max(n,fe[J[ue[e]]]+le(ue[e],e))),de[e]>=0&&(r=Math.min(r,fe[J[de[e]]]-le(e,de[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==fe[a]&&(fe[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=fe[J[e]]-ae(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]]+ne(e[n-1],t)):Math.round(K[t])});let X=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=X;let Z=Math.max(...K.map((e,t)=>e+j[t])),me=e=>K[e]+Math.floor((j[e]-1)/2)+.5,he=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>me(e)-me(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>he.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,me(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)=>he.set(t+`|`+e,i[n]))}let ge=(e,t)=>{let n=he.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},_e=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ge(e,t)).map(t=>he.get(e+`|`+t)).sort((e,t)=>e-t);_e[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):me(e)}let ve=(e,t)=>ge(e,t)?he.get(e+`|`+t):_e[e],Q=(e,t)=>{let n=ve(e,t),r=he.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},ye=new Set,be=C.map(()=>0);for(let[e,t]of I){if(ge(e,t))continue;let[n,r]=Q(e,t),i=he.get(e+`|`+t)>_e[e];r-n>Et||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=Q(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(ye.add(e+`|`+t),be[w[e]]=Math.max(be[w[e]],r-n))}let xe=new Map;for(let[e,t]of I){if(ge(e,t)||ye.has(e+`|`+t))continue;let n=he.get(e+`|`+t),r=xe.get(e)||{u:e,lo:_e[e],hi:_e[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),xe.set(e,r)}let Se=C.map(()=>0);C.forEach((e,t)=>{let n=[...xe.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=>!ge(e.u,t)&&!ye.has(e.u+`|`+t)).map(t=>he.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(_e[n[t].u]>n[e].lo&&_e[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=Pt(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);Se[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)?St:xt,Se[n]+2*Ot,be[n]+2);Te[n]=De+Math.max(Ot,Math.floor((r-Se[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=he.get(t+`|`+i);if(ye.has(t+`|`+i)){let e=Math.abs(a-_e[t]),n=Ee[w[t]](e);r.push(Ae(n,_e[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(xe.get(t)?.track||0)+.5;r.push(Ae(o,ve(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),he.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:Z,h:Oe,out:je}:{w:Oe,h:Z,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[wt,wt]]]);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+Dt,r+t.y+Ct+Dt])}}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=Nt(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*wt,H:M.h+2*wt,flow:t,cell:s.cell,keep:s.keep,margin:wt,items:T,links:A,trunks:O,pairs:_,orders:v}}function Nt(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 Pt(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 Ft={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},It=[1,1,0,-1,-1,-1,0,1],Lt=[0,1,1,1,0,-1,-1,-1],Rt=3,zt=8;function Bt(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...Ft,...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 ot(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of ot(v,O.folder))w[e]=E}else for(let e of ot(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,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-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),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let ee=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},te=new Map;for(let e of I(k)){let t=e[0],n=t*9+zt,r=Math.fround(1+s*Math.min(y[t],Rt));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+ee(t%d,t/d|0),r,n),te.set(t,e))}let U=!!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+It[T],M=F+Lt[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||U&&h[N]!==O.folder)continue;if(It[T]&&Lt[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=(It[T]&&Lt[T]?1.414:1)*(1+s*Math.min(y[N],Rt)+c*Math.min(b[N],Rt))+r*Math.abs(p[N]-p[u]);if(v!==zt&&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+ee(k,M),L,I))}}if(W<0)return null;let G=[];for(let e=W;e!==-1;e=S[e])G.push(e/9|0);G.reverse();for(let e of G)F(e,1);let ne=te.get(G[0]),K=R.get(G[G.length-1]),re=[[ne[1],ne[2]]];for(let e of G)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(G),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 V(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:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var Vt=[0,1,-1,2,-2,3,-3];function Ht(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=Vt.find(e=>!i.has(e))??0,delete t.edges})}var Ut=(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 Wt(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++)Ut(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 Gt(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);Ht(o,n*r);let s={...Wt(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 Kt=[1,1,0,-1,-1,-1,0,1],qt=[0,1,1,1,0,-1,-1,-1],Jt=8,Yt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function Xt(e,t=at(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Yt,...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=sn(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=on(t)[c],d=on(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?cn(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(Zt(t,c,r,x)||Zt(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===Jt||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(on(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)&&!Zt(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 Qt(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(on(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)&&!Zt(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 Qt(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+Kt[e],l=d+qt[e];if(!C(i,l,n)||Kt[e]&&qt[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Kt[e]&&qt[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=>tn(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),V=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`||!$t(a,i))continue;let o=en(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];on(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])=>!Zt(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&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!$t(u[e],t))return;let n=en(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 Zt(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 Qt(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 $t(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 en(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 tn(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 nn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function rn(e,t,n=at(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...nn,...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=sn(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&tn(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(!$t(e,[t,n])){let i=Qt(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)=>(Kt[e]&&qt[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Jt||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},V=()=>{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 H(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 Qt(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(on(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||Zt(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;){V();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+Kt[t],c=s+qt[t];if(!a(r,c)||Kt[t]&&qt[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 ee=[];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`&&ee.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&ee.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let te=[],U=e=>p[e].kind===`note`,W=new Map;for(let e=0;e<ee.length;e++){let{folder:t,at:n,notes:r,trunk:i}=ee[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)=>U(e[0])-U(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=U(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]}:H(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=te.length,_=u.cells.at(-1);te.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:an(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||ee.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return Ht(te,y),te.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 an=(e,t)=>Kt.findIndex((n,r)=>n===Math.sign(e)&&qt[r]===Math.sign(t));function on(e){return[{dir:6,cells:cn(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:cn(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:cn(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:cn(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 sn({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+Kt[u],f=c+qt[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+Kt[i],f=d+qt[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 cn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function ln(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 un(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 dn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:gn(t),plan:!!t.blocks,from:t.from??null},r=Mt(e,n);if(t.blocks){let t=fn(r,Xt(r,at(r)));[...t.values()].some(e=>e.wider.size)&&(r=Mt(e,{...n,planned:t}))}r.feeders=pn(r);let i=at(r),a=Xt(r,i),o=rn(r,a,i);return ln(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function fn(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 pn(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=at(e),o=Bt(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]?Ft.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 Ht(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 mn(e){let t=at(e),n=Bt(e,t);return e=>Gt(n,e,t.W,t.H)}function hn(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 gn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function _n(e,t={}){return hn(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,gn(t),!!t.blocks,e]))}var vn,yn=1,bn=new Map;function xn(e){if(vn===void 0)try{vn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),vn.onmessage=({data:e})=>{let t=bn.get(e.id);bn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},vn.onerror=()=>{for(let e of bn.values())e.reject(Error(`the layout worker stopped`));bn.clear(),vn=null}}catch{vn=null}if(!vn)return Promise.reject(Error(`no worker`));let t=yn++;return new Promise((n,r)=>{bn.set(t,{resolve:n,reject:r}),vn.postMessage({id:t,...e})})}var Sn=new Map,Cn=new Map,wn=``;async function Tn(e,t){let n=un(e),r=_n(n,t),i=Sn.get(r);return i||(i=await xn({layout:{model:n,o:t}}).catch(()=>dn(n,t)),Sn.size>=6&&Sn.delete(Sn.keys().next().value),Sn.set(r,i)),{key:r,layout:i}}async function En(e,t,n){if(!n.length)return[];let r=()=>{let r=Cn.get(e);return r||(Cn.clear(),Cn.set(e,r=mn(t))),r(n)},i=wn!==e;return wn=e,(await xn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>xn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var Dn=d(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),On=d(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),kn=d(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),An=u(` <wbr/> `,1),jn=u(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),Mn=u(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),Nn=u(`<a data-lustre=""><!><span class="inner svelte-m50bdg"><!><span class="t svelte-m50bdg"><!></span></span><!><!></a>`);function Pn(e,n){te(n,!0);let i=N(n,`kind`,3,``),a=N(n,`file`,3,``),o=N(n,`prospect`,3,!1),c=N(n,`done`,3,!1),u=N(n,`behind`,3,`var(--ground-0)`),d=N(n,`mark`,3,``),h=N(n,`far`,3,0),g=N(n,`iso`,3,``),_=N(n,`dim`,3,!1),v=N(n,`moment`,3,``),y=N(n,`given`,3,!1),w=N(n,`held`,3,``),T=N(n,`changed`,3,!1),O=N(n,`order`,3,0),k=N(n,`here`,3,!1);var M=Nn();let P;var F=S(M),I=e=>{var n=kn(),a=S(n),o=e=>{var n=Dn();b(()=>E(n,`fill`,c()?`currentColor`:`none`)),t(e,n)},s=e=>{var n=On();b(()=>E(n,`fill`,c()?`currentColor`:`none`)),t(e,n)};r(a,e=>{i()===`question`?e(o):e(s,-1)}),D(n),t(e,n)};r(F,e=>{i()&&e(I)});var L=m(F),R=S(L),V=e=>{ve(e,{get kind(){return a()},size:11})};r(R,e=>{a()&&e(V)});var H=m(R),ee=S(H),U=e=>{var r=An(),i=x(r,!0),a=m(i,2,!0);b((e,t)=>{f(i,e),f(a,t)},[()=>n.title.slice(0,n.title.lastIndexOf(`.`)),()=>n.title.slice(n.title.lastIndexOf(`.`))]),t(e,r)},W=z(()=>a()&&/^[^\s]+\.\w+$/.test(n.title)),G=e=>{var r=p();b(()=>f(r,n.title)),t(e,r)};r(ee,e=>{q(W)?e(U):e(G,-1)}),D(H),D(L);var ne=m(L),K=e=>{var n=jn(),r=C(n,!0);b(()=>f(r,O())),t(e,n)};r(ne,e=>{O()&&e(K)});var re=m(ne),ie=e=>{var n=Mn();t(e,n)};r(re,e=>{T()&&e(ie)}),D(M),b(e=>{P=A(M,1,`n ${v()?`mo-${v()}`:``} ${g()?`p-${g()}`:``} ${d()??``} ${i()??``}`,`svelte-m50bdg`,P,{done:c(),dim:_()&&!g()&&!y(),far:h()>1,given:y(),held:w()===`on`,changed:T(),here:k(),file:!!a(),prospect:o()}),E(M,`aria-current`,k()?`page`:void 0),E(M,`href`,n.href),E(M,`aria-label`,`${o()?`Asked back, not kept: `:i()===`question`?`Question: `:i()===`problem`?`Problem${c()?`, solved`:``}: `:``}${n.title}${y()?`: in Iso's context`:w()===`on`?`: read by the agent`:``}${T()?`, changed by the agent`:``}`),E(M,`title`,y()?`In Iso's context: shift+click takes it back`:void 0),E(M,`data-note`,n.item.ref),j(M,`--x:${n.item.gx??``};--y:${n.item.gy??``};--w:${n.item.w??``};--h:${n.item.h??``};--lit:${e??``}%;--behind:${u()??``}`)},[()=>Math.max(34,100-(h()-1)*20)]),s(`click`,M,function(...e){n.onpick?.apply(this,e)}),l(`pointerenter`,M,e=>{e.pointerType===`mouse`&&n.onpoint(!0)}),l(`pointerleave`,M,e=>{e.pointerType===`mouse`&&n.onpoint(!1)}),l(`focus`,M,()=>n.onpoint(!0)),l(`blur`,M,()=>n.onpoint(!1)),t(e,M),B()}i([`click`]);var Fn=u(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),In=u(`<span class="frame-title held svelte-ywp27z"> </span>`),Ln=u(`<div><!> <!></div>`),Rn=u(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function zn(e,n){te(n,!0);let i=N(n,`titled`,3,!0),a=N(n,`held`,19,()=>({req:0,bld:0})),o=N(n,`dim`,3,!1),c=N(n,`given`,3,!1),l=N(n,`here`,3,!1),u=N(n,`moment`,3,``),d=z(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),p=z(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),h=z(()=>a().req?`req`:a().bld?`bld`:``),g=z(()=>[a().req?`${a().req} required here`:``,a().bld?`${a().bld} ${a().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),_=z(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var v=F(),y=x(v),w=e=>{var a=Ln();let o;var l=S(a),v=e=>{var r=Fn(),i=C(r,!0);b(()=>{E(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=In(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(y,e=>{q(g)&&e(x)}),D(a),b(()=>{o=A(a,1,`folder frame ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,o,{given:c()}),E(a,`data-folder`,n.item.ref),j(a,`${q(_)??``};--inside:${q(d)??``};--behind:${q(p)??``};--ground-here:${q(d)??``}`)}),t(e,a)},T=e=>{var r=Rn();let i;var a=S(r),d=S(a),p=C(d,!0),v=m(d),y=C(v,!0);D(a),D(r),b(()=>{i=A(r,1,`folder frame closed ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,i,{dim:o(),given:c(),here:l()}),E(r,`aria-current`,l()?`page`:void 0),E(r,`data-folder`,n.item.ref),j(r,q(_)),E(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),B()}i([`click`]);var Bn=d(`<path pathLength="1"></path>`),Vn=d(`<path></path>`),Hn=d(`<path class="along touch svelte-k96fgh" pathLength="1"></path>`),Un=d(`<!><!>`,1),Wn=d(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),Gn=d(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Kn(e,i){te(i,!0);let a=N(i,`pointed`,3,!1),o=N(i,`grown`,19,()=>[]),s=N(i,`beat`,3,``),c=N(i,`retracting`,19,()=>[]),l=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/i.k}px`;var u=Gn(),d=S(u),f=S(d),p=e=>{var r=F(),i=x(r);n(i,17,c,e=>e.key,(e,n)=>{var r=Bn();let i,a;b(e=>{i=A(r,0,`along retract ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},h=e=>{var r=F(),a=x(r);n(a,17,()=>i.rest,e=>e.key,(e,n)=>{var r=Bn();let i,a;b(e=>{i=A(r,0,`along draw ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},g=e=>{var o=Un(),s=x(o);n(s,17,()=>i.rest,e=>e.key,(e,n)=>{var r=Vn();let i;b(()=>{i=A(r,0,w(q(n).strong?`base`:`base weak`),`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d)}),t(e,r)});var c=m(s);n(c,17,()=>i.hot,e=>e.key,(e,n)=>{var o=F(),s=x(o),c=e=>{var r=Hn();let a;b(()=>{E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":`${2/i.k}px`})}),t(e,r)},l=e=>{var r=Vn();let i;b(()=>{i=A(r,0,`lit ${q(n).kind??``}`,`svelte-k96fgh`,i,{still:q(n).still}),E(r,`d`,q(n).d)}),t(e,r)};r(s,e=>{a()&&q(n).kind!==`iso`?e(c):e(l,-1)}),t(e,o)}),t(e,o)};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=Wn();let a;b(()=>{E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":`${3/i.k}px`})}),t(e,r)}),D(d),D(u),b(()=>{E(u,`data-requires`,i.counts.requires),E(u,`data-builds`,i.counts.builds),E(u,`data-uses`,i.counts.uses),E(d,`transform`,`scale(${i.k??``})`)}),t(e,u),B()}var qn=u(`<p class="said svelte-14y1y1z"> </p>`),Jn=u(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Yn=u(`<span> </span>`),Xn=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>`),Zn=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>`),Qn=u(`<img alt="" loading="lazy" draggable="false" class="svelte-14y1y1z"/>`),$n=u(`<a><!></a>`),er=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>`),tr=d(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),nr=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>`),ir=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>`),ar=u(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),or=u(`<p class="given svelte-14y1y1z" role="status"> </p>`),sr=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>the agent read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>the agent changed it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),cr=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),lr=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),ur=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>`),dr=u(`<div aria-hidden="true"> </div>`),fr=u(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!></div> <!> <!> <!> <!> <!> <!>`,1),pr=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 mr(i,c){te(c,!0);let u=U(null),d=U(null),p=``,g=U(``),_=U({x:0,y:0,k:1}),v=U(1),w;a(()=>{let e=q(_).k;clearTimeout(w),Math.abs(Math.log(e/q(v)))>.35?O(v,e,!0):e!==q(v)&&(w=setTimeout(()=>O(v,e,!0),150))});let k=U(!1),M;a(()=>(q(_).x,q(_).y,q(_).k,O(k,!0),clearTimeout(M),M=setTimeout(()=>O(k,!1),200),()=>clearTimeout(M)));let N=e=>{O(_,e),O(v,e.k,!0)},P=U({w:0,h:0}),I=U(``),L=U([]),R=z(()=>q(L).at(-1)??``),V=U(void 0),H=[`fine`,`coarse`,`coarser`],ee=U(e(H.find(e=>e===ie(`isorite.atlas.grain`))??`fine`)),W=U(ie(`isorite.atlas.leaves`)===`on`),K=!1,re=window.innerWidth>=window.innerHeight?`right`:`up`;function ie(e){try{return localStorage.getItem(e)}catch{return null}}function ae(){O(ee,H[(H.indexOf(q(ee))+1)%H.length],!0),K=!1;try{localStorage.setItem(`isorite.atlas.grain`,q(ee))}catch{}le()}function oe(e){O(W,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}let ce=z(()=>{if(!Y.on.questions)return[];let e=[];for(let t of $.session?.turns??[])for(let n of t.items)n.kind===`question`&&!n.made&&e.push({ref:`?${n.id}`,title:n.title,about:n.about});return e});async function le(){try{let e=await J.api.map(),t=o(()=>q(ce)),n={...e.notes};for(let e of t)n[e.ref]={title:e.title,tokens:0,kind:`question`};let r={...e,model:et(e.model,t),notes:n},i={...r,model:tt(r.model,e=>{if(r.files?.[e])return!Y.on.pictures;let t=r.notes[e];return t?.kind===`question`?!Y.on.questions||!!t.done:t?.kind===`problem`&&!Y.on.problems})},a=`${re}|${q(ee)}`,s=q(d)&&p===a?q(d).layout.orders??null:null,c=await Tn(i.model,{gridFlow:re,grain:q(ee),blocks:!0,from:s});p=a;let l=!!q(d)&&q(d).key!==c.key,f=q(d)&&q(X)?{refs:new Set(q(X).items.map(e=>e.ref)),edges:new Set(q(u).model.edges.map(([e,t])=>`${e}>${t}`))}:null,m=!q(d)||q(d).key!==c.key&&!K,h=++Te,_=matchMedia(`(prefers-reduced-motion: reduce)`).matches,v=!!f&&l&&!_;if(v){if(O(we,q(Pe)),O(Se,`retract`),await xe(_e),h!==Te)return;O(we,[]),O(Se,`move`)}if(O(u,i),O(d,c),O(g,``),f&&l&&Oe(f),m&&q(P).w&&N(he()),v){if(await xe(ve),h!==Te)return;O(Se,`draw`),await xe(be),h===Te&&O(Se,``)}}catch(e){O(g,e.message,!0)}}let de=``;a(()=>{let e=q(ce).map(e=>e.ref).join(` `);if(e!==de){let t=de===``&&e===``;de=e,t||le()}});let pe=``;a(()=>{let e=`${Y.on.questions}|${Y.on.problems}|${Y.on.pictures}`;pe&&pe!==e&&le(),pe=e}),a(()=>{le();let e,t=J.on(t=>{t.type===`note-changed`&&(clearTimeout(e),e=setTimeout(()=>{le()},400))});return()=>{t(),clearTimeout(e)}});let X=z(()=>q(d)?Be(q(d).layout):null),Z=z(()=>q(X)?Re(q(X)):null),me=z(()=>q(X)?Ve(q(X),q(v)):``),he=()=>{let e=(q(X)?.margin??0)/2;return Qe({gx:e,gy:e,w:(q(X)?.W??1)-2*e,h:(q(X)?.H??1)-2*e},q(P).w,q(P).h,1,q(X)?.cell)},_e=220,ve=520,be=340,xe=e=>new Promise(t=>setTimeout(t,e)),Se=U(``),we=U([]),Te=0,Ee=U(!1),De=U([]);async function Oe(e){if(O(Ee,!0),setTimeout(()=>O(Ee,!1),700),await y(),!q(X)||!q(Z)||!q(u))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of q(X).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(q(V)?.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(u).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));O(De,n.flatMap(([e,t])=>{let n=q(Z).at.get(e),r=q(Z).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:ke(q(X).items[He(q(Z),q(me),n)],q(X).items[He(q(Z),q(me),r)])}]})),q(De).length&&setTimeout(()=>O(De,[]),5600)}function ke(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 Xe(Ze(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(X).cell)}a(()=>{if(!q(V))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!q(P).w,i=q(P);O(P,{w:t,h:n}),r&&q(X)?N(he()):!r&&t&&n&&O(_,{...q(_),x:q(_).x+(t-i.w)/2,y:q(_).y+(n-i.h)/2})});return e.observe(q(V)),()=>e.disconnect()});let Ae=z(()=>q(X)?q(X).items.flatMap((e,t)=>e.kind===`folder`&&q(me)[t]!==`-`?[{item:e,i:t,open:q(me)[t]===`o`}]:[]):[]),je=z(()=>q(X)?q(X).items.flatMap((e,t)=>e.kind===`note`&&q(me)[t]===`s`?[{item:e,i:t}]:[]):[]),Pe=z(()=>q(X)?qe(Ue(q(X),q(me),q(Z).strong,q(W))).map(e=>({key:e.key,pts:e.pts,d:Xe(e.pts,0,q(X).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Fe(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 Fe(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 ze=z(()=>q(R)||q(I)),We=z(()=>q(ze)&&q(u)&&q(Z)?.at.has(q(ze))?ue(q(u).model,q(ze)):null),Ge=z(()=>{let e=new Map;if(!q(We))return e;for(let t of q(We).also)e.set(t,{mark:`also`,far:0});for(let t of q(We).uses)e.set(t,{mark:`use`,far:0});for(let t of q(We).builds)e.set(t,{mark:`bld`,far:0});for(let t of q(We).requires)e.set(t,{mark:`req`,far:q(We).depth[t]??1});for(let t of q(L))e.set(t,{mark:`req`,far:1});return e.set(q(ze),{mark:`at`,far:0}),e}),Ke=z(()=>{if(!q(We))return[];let e=q(L).slice(1).map((e,t)=>({from:q(L)[t],to:e,kind:`requires`})),t=q(L).at(-2);return[...e,...q(We).links.filter(e=>e.kind===`requires`?e.from===q(ze):e.kind!==`builds`||e.from!==t)]}),Ye=z(()=>{let e=new Map;if(!q(We)||!q(Z))return e;let t=new Set(q(Z).up[q(Z).at.get(q(ze))]),n=(n,r)=>{for(let i of n)for(let n of q(Z).up[q(Z).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(We).requires,`req`),n(q(We).builds,`bld`),e}),nt=(e,t)=>{let n=q(Ye).get(e),r=q(X).items[e].parent;return n&&(!t||r<0||!q(Ye).has(r))?n:{req:0,bld:0}},it=U([]),at=U({requires:0,builds:0,uses:0});function ot(e,t){if(!e.length||!q(X)||!q(Z)||!q(d)){t([],[]);return}let n=e.flatMap(e=>{let t=q(Z).at.get(e.from),n=q(Z).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Je(q(X),q(Z),q(me),n),a=e=>t(qe(e,!0).map(e=>({key:e.key,kind:e.kind,d:Xe(e.pts,0,q(X).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return En(q(d).key,q(X),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(()=>ot(q(Ke),(e,t)=>{O(it,e),O(at,{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 st=z(()=>Ce.route.id===`/n/[...id]`?Ce.params.id??``:``);function ct(e,t=!1){if(!q(X)||!q(Z)||!e)return-1;let n=t?q(X).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):q(Z).at.get(e)??-1;return n<0?-1:He(q(Z),q(me),n)}let lt=z(()=>ct(q(st))),ut=z(()=>ye.elsewhere),dt=z(()=>q(ut)?ct(q(ut).id,q(ut).folder):-1),ft=z(()=>{if(!q(ut)||q(ut).folder||!q(st)||q(ut).id===q(st)||!q(u))return[];let e=q(u).model.edges.find(([e,t])=>e===q(st)&&t===q(ut).id||e===q(ut).id&&t===q(st));return e?[{from:e[0],to:e[1],kind:e[2]>=se.requires?`requires`:`uses`}]:[]}),pt=U([]);a(()=>ot(q(ft),e=>{O(pt,e.map(e=>({...e,key:`there:${e.key}`})))}));let mt=``;a(()=>{let e=q(st);o(()=>{if(e&&e!==mt&&q(R)&&q(R)===mt&&q(Z)?.at.has(e)){let t=[];if(q(We)&&q(We).depth[e])for(let n=e;n&&n!==q(R);n=q(We).via[n])t.unshift(n);O(L,q(L).includes(e)?q(L).slice(0,q(L).indexOf(e)+1):t.length?[...q(L),...t]:[e])}mt=e})});function ht(e){if(!q(X)||e<0||!q(P).w)return null;let t=q(X).items[e],n=q(X).cell*q(_).k,r=q(_).x+t.gx*n,i=q(_).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<q(P).w&&o>0&&i<q(P).h)return null;let s=q(P).w/2,c=q(P).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 gt=z(()=>ht(q(lt))),_t=z(()=>q(dt)===q(lt)?null:ht(q(dt)));function vt(e){if(!q(X))return;let t=q(X).items[e],n=q(X).cell*q(_).k;K=!0,tn({k:q(_).k,x:q(P).w/2-(t.gx+t.w/2)*n,y:q(P).h/2-(t.gy+t.h/2)*n})}let yt=z(()=>J.iso),bt=z(()=>q(yt)?.state===`reading`||q(yt)?.state===`writing`),xt=z(()=>{let e=new Map;for(let t of q(yt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),St=z(()=>Y.on.context),Ct=z(()=>new Set(Q.parts.filter(e=>e.kind===`note`).map(e=>e.id))),wt=z(()=>new Set(Q.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Tt=/(^|[_:./-])(edit_note|write_note|edit|write|patch)$/,Et=z(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&!Tt.test(e.name)?[e.note]:[])))),Dt=z(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&Tt.test(e.name)?[e.note]:[])))),Ot=z(()=>{let e=new Map;for(let t of $.session?.turns.at(-1)?.items??[])t.kind===`tool`&&t.note&&!t.base&&t.status!==`failed`&&!Tt.test(t.name)&&!e.has(t.note)&&e.set(t.note,e.size+1);return e}),kt=z(()=>q(bt)?q(yt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),At=z(()=>(q(yt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),jt=U([]);a(()=>ot(q(At),e=>{O(jt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let Mt=e=>{if(!q(St))return``;if(e===q(kt))return`used`;let t=q(xt).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``},Nt=U(null),Pt=null,Ft=!1,It,Lt;function Rt(){clearTimeout(It),clearTimeout(Lt),It=Lt=void 0,Pt=null,Ft||O(Nt,null)}function zt(e,t){let n=null;for(let r of q(X).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 Bt(e,t){if(Rt(),q(Ht)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&O(Ht,null),Ft||!q(X)||!q(Z)||!(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`;Lt=setTimeout(()=>{Lt=void 0,nn=!0,r?O(Ht,{ref:n,x:t.x,y:t.y}):Kt(n)},650);return}let r=q(X).cell*q(_).k,i=Math.round((t.x-q(_).x)/r),a=Math.round((t.y-q(_).y)/r),o={dir:zt(i,a),gx:i,gy:a,w:0,h:0,folder:!1};It=setTimeout(()=>{O(Nt,o)},180),Lt=setTimeout(()=>{Lt=void 0,nn=!0,Pt=t,O(Nt,o),q(V)?.setPointerCapture(e.pointerId)},650)}function Vt(e){Pt&&q(Nt)&&!q(Nt).folder&&Math.hypot(e.x-Pt.x,e.y-Pt.y)>=24&&O(Nt,{...q(Nt),folder:!0})}let Ht=U(null),Ut=U(``),Wt=U(``),Gt;function Kt(e,t=`note`){let n=Q.add({kind:t,id:e,title:t===`note`?Qt(e):$t(e)});O(Wt,n?`${t===`note`?Qt(e):$t(e)} is in Iso's context`:`${t===`note`?Qt(e):$t(e)} is in Iso's context already`,!0),clearTimeout(Gt),Gt=setTimeout(()=>O(Wt,``),2200)}function qt(e,t=`note`){if(!Q.has(t,e)){Kt(e,t);return}let n=t===`note`?Qt(e):$t(e);Q.remove({kind:t,id:e,title:n}),O(Wt,`${n} is out of Iso's context`),clearTimeout(Gt),Gt=setTimeout(()=>O(Wt,``),2200)}function Jt(){Pt&&q(Nt)&&(Pt=null,Yt(q(Nt)))}async function Yt(e){Ft=!0;let t=J.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Me(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Me(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 J.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await J.refresh(),Y.fresh=i,await Y.open(i)}catch(e){O(Ut,e.message,!0)}finally{Ft=!1,O(Nt,null)}}async function Xt(e,t){try{await Ne(e,t)}catch(e){O(Ut,e.message,!0)}}let Zt=e=>e.endsWith(`/`)?e.slice(0,-1):e,Qt=e=>q(u)?.notes[e]?.title??q(u)?.files?.[e]?.title??e.split(`/`).at(-1)??e,$t=e=>e.split(`/`).at(-1)||J.session?.name||`the base`,en=0;function tn(e){if(cancelAnimationFrame(en),yn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){O(_,e);return}let t=q(_),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(P).w/2,l=q(P).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;O(_,a===1?e:{k:s,x:c-u*s,y:l-d*s}),a<1&&(en=requestAnimationFrame(r))};en=requestAnimationFrame(r)}let nn=!1,rn=new Map,an=null;function on(){let e=[...rn.values()];if(!e.length){an=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;an={view:q(_),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(V).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},cn=null,ln=U(e({x:0,y:0}));function un(e){if(!(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:Qt(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:$t(n)}:null}function dn(e){if(!cn||e.pointerType!==`mouse`)return;O(ln,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;Q.carrying={part:cn,over:t}}function fn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(en),yn(),rn.size||(nn=!1,cn=un(e)),rn.set(e.pointerId,sn(e)),on(),rn.size===1?Bt(e,sn(e)):Rt())}function pn(e){if(!rn.has(e.pointerId)||!an)return;if(rn.set(e.pointerId,sn(e)),Pt){Vt(sn(e));return}let t=[...rn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!nn&&t.length===1&&Math.hypot(n-an.x,r-an.y)<5)return;if(nn||(nn=!0,Rt(),q(V).setPointerCapture(e.pointerId)),t.length===1&&cn){dn(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=an.span&&i?$e(an.view,i/an.span,an.x,an.y):an.view;O(_,{k:a.k,x:a.x+n-an.x,y:a.y+r-an.y})}function mn(e){if(rn.delete(e.pointerId)){if(Q.carrying){let{part:e,over:t}=Q.carrying;Q.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&Kt(e.id,e.kind)}cn=null,Pt?Jt():Lt!==void 0&&Rt(),on()}}let hn=null,gn=0;function _n(e){e.preventDefault(),cancelAnimationFrame(en),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(Le,(hn?.k??q(_).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?O(_,$e(q(_),i/q(_).k,t.x,t.y)):(hn={k:i,x:t.x,y:t.y},gn||=requestAnimationFrame(vn))}function vn(){if(gn=0,!hn)return;let e=hn.k/q(_).k;Math.abs(Math.log(e))<.004?(O(_,$e(q(_),e,hn.x,hn.y)),hn=null):(O(_,$e(q(_),e**.3,hn.x,hn.y)),gn=requestAnimationFrame(vn))}function yn(){cancelAnimationFrame(gn),gn=0,hn=null}a(()=>{if(!q(V))return;let e=q(V);return e.addEventListener(`wheel`,_n,{passive:!1}),()=>e.removeEventListener(`wheel`,_n)});function bn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),nn))return;if(t.startsWith(`?`)){Y.to(`iso`);return}if(e.shiftKey){t.startsWith(`@`)||qt(t);return}if(q(R)===t){Y.open(Zt(t));return}let n=[];if(q(We)&&q(ze)===q(R)&&q(We).depth[t])for(let e=t;e&&e!==q(R);e=q(We).via[e])n.unshift(e);O(L,q(L).includes(t)?q(L).slice(0,q(L).indexOf(t)+1):n.length?[...q(L),...n]:[t])}function xn(e,t){if(nn||!q(X))return;let n=q(X).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||qt(n,`folder`);return}K=!0;let r=Qe(q(X).items[e],q(P).w,q(P).h,1.5,q(X).cell),i=Math.abs(r.k-q(_).k)<.01*r.k&&Math.hypot(r.x-q(_).x,r.y-q(_).y)<4,a=q(X).items[e].parent;tn(i?a<0?he():Qe(q(X).items[a],q(P).w,q(P).h,1.5,q(X).cell):r)}function Sn(e){if(nn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(q(R)?O(L,[]):q(yt)&&!q(bt)?J.iso=null:t&&q(X)?xn(q(X).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):tn(he()))}function Cn(e){if(e.key===`Escape`){O(L,[]),O(I,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ae();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){oe(!q(W));return}if(e.target!==q(V))return;let t={x:q(P).w/2,y:q(P).h/2};if(e.key===`+`||e.key===`=`)O(_,$e(q(_),1.25,t.x,t.y));else if(e.key===`-`)O(_,$e(q(_),.8,t.x,t.y));else if(e.key===`0`)tn(he());else if(e.key===`ArrowLeft`)O(_,{...q(_),x:q(_).x+80});else if(e.key===`ArrowRight`)O(_,{...q(_),x:q(_).x-80});else if(e.key===`ArrowUp`)O(_,{...q(_),y:q(_).y+80});else if(e.key===`ArrowDown`)O(_,{...q(_),y:q(_).y-80});else return;e.preventDefault(),K=!0}let wn=z(()=>{if(!q(X)||!q(P).w||q(_).k<=he().k*1.05)return-1;let e=q(X).cell*q(_).k,t=(q(P).w/2-q(_).x)/e,n=(q(P).h/2-q(_).y)/e,r=-1;return q(X).items.forEach((i,a)=>{i.kind!==`folder`||q(me)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*q(P).w||i.h*e>=.6*q(P).h)&&(r<0||q(X).items[r].depth<i.depth)&&(r=a)}),r});function Dn(){if(!q(X))return;K=!0;let e=q(wn)<0?-1:q(X).items[q(wn)].parent;tn(e<0?he():Qe(q(X).items[e],q(P).w,q(P).h,1.5,q(X).cell))}let On=z(()=>12*q(v)>=Ie),kn=z(()=>q(X)&&q(u)?rt(q(je).map(e=>e.item),q(u).notes,{web:Y.on.web,code:Y.on.code}):[]);function An(e,t){let n=ge(J.api,t);typeof n==`string`?e.src=n:n.then(t=>{t&&(e.src=t)})}let jn=e=>e>=0&&q(X).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;a(()=>(J.atlas={chosen:q(R)?Qt(q(R)):``,chosenId:q(R),steps:q(L).length-1,here:q(wn)<0?``:$t(q(X).items[q(wn)].ref),out:Dn,fit:()=>{K=!1,tn(he())}},()=>{J.atlas=null}));var Mn=pr();let Nn;var Fn=S(Mn),In=m(Fn,2),Ln=e=>{var n=qn(),r=C(n);b(()=>f(r,`The map could not be drawn: ${q(g)??``}`)),t(e,n)},Rn=e=>{var i=fr(),a=x(i),o=e=>{var n=Jn();t(e,n)};r(a,e=>{q(X).items.length||e(o)});var c=m(a,2);let l;var d=S(c);n(d,21,()=>q(Ae),e=>e.item.id,(e,t)=>{{let n=z(()=>$t(q(t).item.ref)),r=z(()=>q(t).item.parent<0||(q(t).item.gy-q(X).items[q(t).item.parent].gy)*q(X).cell*q(v)>=18),i=z(()=>nt(q(t).i,q(t).open)),a=z(()=>!!q(We)&&!q(t).open&&!q(Ye).has(q(t).i)),o=z(()=>q(St)&&q(wt).has(q(t).item.ref)),s=z(()=>!q(t).open&&q(lt)===q(t).i),c=z(()=>q(dt)===q(t).i?q(ut).who:``);zn(e,{get item(){return q(t).item},get name(){return q(n)},get count(){return q(Z).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=>xn(q(t).i,e)})}}),D(d);var p=m(d,2);{let e=z(()=>!q(R)&&!!q(I)),t=z(()=>[...q(St)?q(jt):[],...q(it),...q(pt)]);Kn(p,{get k(){return q(v)},get rest(){return q(Pe)},get pointed(){return q(e)},get hot(){return q(t)},get counts(){return q(at)},get grown(){return q(De)},get beat(){return q(Se)},get retracting(){return q(we)}})}var g=m(p,2),y=e=>{var i=F(),a=x(i);n(a,17,()=>q(Pe),e=>e.key,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=Yn(),i=C(r,!0);b(()=>{A(r,1,`count ${q(n).side??``}`,`svelte-14y1y1z`),j(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(g,e=>{q(On)&&!q(Se)&&e(y)});var w=m(g,2),T=S(w);n(T,17,()=>q(je),e=>e.item.id,(e,t)=>{let n=z(()=>q(Ge).get(q(t).item.ref)),r=z(()=>q(n)?.mark??``);{let i=z(()=>Qt(q(t).item.ref)),a=z(()=>q(u).notes[q(t).item.ref]?.kind??``),o=z(()=>!!q(u).notes[q(t).item.ref]?.done),s=z(()=>jn(q(t).item.parent)),c=z(()=>q(n)?.far??0),l=z(()=>Mt(q(t).item.ref)),d=z(()=>q(u).files?.[q(t).item.ref]?.kind??``),f=z(()=>q(t).item.ref.startsWith(`?`)),p=z(()=>q(St)&&q(Ct).has(q(t).item.ref)),m=z(()=>q(St)&&!q(Ct).has(q(t).item.ref)&&q(Et).has(q(t).item.ref)?`on`:``),h=z(()=>q(St)&&q(Dt).has(q(t).item.ref)),g=z(()=>q(St)?q(Ot).get(q(t).item.ref)??0:0),_=z(()=>q(dt)===q(t).i?q(ut).who:``),v=z(()=>q(lt)===q(t).i),y=z(()=>!!q(We)&&!q(r)),b=z(()=>fe(Zt(q(t).item.ref)));Pn(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 iso(){return q(l)},get file(){return q(d)},get prospect(){return q(f)},get given(){return q(p)},get held(){return q(m)},get changed(){return q(h)},get order(){return q(g)},get moment(){return q(_)},get here(){return q(v)},get dim(){return q(y)},get href(){return q(b)},onpick:e=>bn(e,q(t).item.ref),onpoint:e=>{O(I,e?q(t).item.ref:q(I)===q(t).item.ref?``:q(I),!0),ye.onAtlas=q(I)}})}});var M=m(T,2);n(M,17,()=>q(kn),e=>e.key,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=Xn();b(()=>{E(r,`href`,q(n).href),E(r,`title`,`${q(n).text} · ${q(n).href}`),E(r,`aria-label`,q(n).text),E(r,`data-sat`,q(n).key),j(r,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)}),s(`click`,r,e=>{nn&&e.preventDefault(),e.stopPropagation()}),t(e,r)},c=e=>{var i=$n();let a;var o=S(i),c=e=>{var n=Zn();t(e,n)},l=e=>{var r=Qn();ne(r,(e,t)=>An?.(e,t),()=>q(n).picture),h(r),t(e,r)};r(o,e=>{q(n).broken?e(c):e(l,-1)}),D(i),b(e=>{a=A(i,1,`sat picture svelte-14y1y1z`,null,a,{broken:q(n).broken}),E(i,`href`,e),E(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`:``}`),E(i,`aria-label`,`${q(n).text}${q(n).broken?`, missing`:``}`),E(i,`data-sat`,q(n).key),j(i,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)},[()=>fe(q(n).note)]),s(`click`,i,e=>{nn&&e.preventDefault(),e.stopPropagation()}),t(e,i)},l=e=>{var r=er();let i;b(e=>{i=A(r,1,`sat code svelte-14y1y1z`,null,i,{broken:q(n).broken}),E(r,`title`,e),E(r,`aria-label`,`${q(n).text}${q(n).broken?`, not in the repository`:``}`),E(r,`data-sat`,q(n).key),j(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)}),D(w);var N=m(w,2),L=e=>{var n=rr();let i;var a=S(n),o=S(a),s=e=>{var n=tr();t(e,n)},c=e=>{var n=nr();G(),t(e,n)};r(o,e=>{q(Nt).folder?e(s):e(c,-1)}),D(a);var l=m(a,2),u=C(l);D(n),b(()=>{i=A(n,1,`grasp svelte-14y1y1z`,null,i,{folder:q(Nt).folder}),j(n,`--x:${q(Nt).gx??``};--y:${q(Nt).gy??``}`),f(u,`${q(Nt).folder?`a new folder`:`a new note`}${q(Nt).dir?` in ${q(Nt).dir}`:``}`)}),t(e,n)};r(N,e=>{q(Nt)&&e(L)}),D(c);var B=m(c,2);n(B,17,()=>[{p:q(gt),i:q(lt),who:`here`},{p:q(_t),i:q(dt),who:q(ut)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=ir();b((e,t)=>{A(r,1,`pip ${q(n).who??``}`,`svelte-14y1y1z`),j(r,`left:${q(n).p.x??``}px;top:${q(n).p.y??``}px;--a:${q(n).p.angle??``}rad`),E(r,`data-pip`,q(n).who===`here`?`here`:`there`),E(r,`aria-label`,`Bring ${e??``} into view`),E(r,`title`,`${t??``}${q(n).who===`here`?`: open in the Note pane`:``}`)},[()=>Qt(q(X).items[q(n).i].ref),()=>Qt(q(X).items[q(n).i].ref)]),s(`click`,r,e=>{e.stopPropagation(),vt(q(n).i)}),t(e,r)};r(a,e=>{q(n).p&&e(o)}),t(e,i)});var V=m(B,2),H=e=>{var n=ar(),r=C(n,!0);b(()=>f(r,q(Ut))),t(e,n)};r(V,e=>{q(Ut)&&e(H)});var ee=m(V,2),te=e=>{var n=or(),r=C(n);b(()=>f(r,`◆ ${q(Wt)??``}`)),t(e,n)};r(ee,e=>{q(Wt)&&e(te)});var U=m(ee,2),W=e=>{var n=sr();t(e,n)};r(U,e=>{Y.on.context&&!q(Wt)&&Y.settings===`atlas`&&e(W)});var K=m(U,2),re=e=>{let n=z(()=>q(Ht));var i=ur(),a=S(i),o=e=>{var r=cr();s(`click`,r,e=>{e.stopPropagation(),qt(q(n).ref),O(Ht,null)}),t(e,r)},c=z(()=>Q.has(`note`,q(n).ref)),l=e=>{var r=lr();s(`click`,r,e=>{e.stopPropagation(),Kt(q(n).ref),O(Ht,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);D(i),b((e,t)=>{E(i,`aria-label`,e),j(i,`left:${t??``}px;top:${q(n).y+14}px`)},[()=>Qt(q(n).ref),()=>Math.min(q(n).x,q(P).w-170)]),s(`click`,u,e=>{e.stopPropagation(),O(Ht,null),Y.open(q(n).ref,!0)}),s(`click`,d,e=>{e.stopPropagation(),O(Ht,null),Xt(`question`,q(n).ref)}),s(`click`,f,e=>{e.stopPropagation(),O(Ht,null),Xt(`problem`,q(n).ref)}),t(e,i)};r(K,e=>{q(Ht)&&e(re)});var ie=m(K,2),ae=e=>{var n=dr();let r;var i=C(n);b(()=>{r=A(n,1,`carried svelte-14y1y1z`,null,r,{over:Q.carrying.over}),j(n,`left:${q(ln).x??``}px;top:${q(ln).y??``}px`),f(i,`${Q.carrying.part.kind===`folder`?`▭`:`▣`} ${Q.carrying.part.title??``}`)}),t(e,n)};r(ie,e=>{Q.carrying&&e(ae)}),b((e,t)=>{l=A(c,1,`atlas-world svelte-14y1y1z`,null,l,{labels:q(On),shifting:q(Ee),moving:q(k)}),E(c,`data-open`,q(me)),j(c,`transform: translate(${e??``}px, ${t??``}px) scale(${q(_).k/q(v)}); --u: ${(q(X)?.cell??7)*q(v)}px; --k: ${q(v)??``}`),j(d,`transform: scale(${q(v)??``}); --u: ${q(X).cell??``}px; --px: ${1/q(v)}px; --ik: ${1/q(v)}`),j(w,`transform: scale(${q(v)??``}); --u: ${q(X).cell??``}px; --px: ${1/q(v)}px; --ik: ${1/q(v)}`)},[()=>q(k)?q(_).x:Math.round(q(_).x),()=>q(k)?q(_).y:Math.round(q(_).y)]),t(e,i)};r(In,e=>{q(g)?e(Ln):q(X)&&q(u)&&e(Rn,1)}),D(Mn),T(Mn,e=>O(V,e),()=>q(V)),b(()=>{Nn=A(Mn,1,`atlas svelte-14y1y1z`,null,Nn,{lit:!!q(We)}),j(Fn,`transform: translate(${(q(_).x%24+24)%24}px, ${(q(_).y%24+24)%24}px)`)}),s(`pointerdown`,Mn,fn),s(`pointermove`,Mn,pn),s(`pointerup`,Mn,mn),l(`pointercancel`,Mn,mn),s(`click`,Mn,Sn),s(`keydown`,Mn,Cn),l(`dragstart`,Mn,e=>e.preventDefault()),s(`contextmenu`,Mn,e=>{(q(Nt)||It!==void 0||Lt!==void 0||q(Ht))&&e.preventDefault()}),t(i,Mn),B()}i([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var hr=u(`<div class="map svelte-nwxyyl"><!> <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></div>`);function gr(n,i){te(i,!0);let o=U(e((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),c=U([]),l=U(null),u=e=>J.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),d=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{O(c,(await J.api.timeline()).filter(e=>!e.note.startsWith(`@`)))}catch{}}a(()=>{if(!q(o))return;f();let e,t=J.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function p(e){oe(`${fe(e.note)}?at=${encodeURIComponent(me(e))}`)}a(()=>{let e=q(l);ye.set(`timeline`,e?{id:e.note,folder:!1,who:d(e)?`iso`:`you`}:null)});function h(){O(o,!q(o)),O(l,null);try{localStorage.setItem(`isorite.timeline`,q(o)?`1`:`0`)}catch{}}var g=hr(),_=S(g);mr(_,{});var v=m(_,2),y=S(v),x=m(y,2),C=e=>{_e(e,{get moments(){return q(c)},at:null,get pointed(){return q(l)},leftward:!0,name:`This session's timeline`,label:e=>u(e.note),point:e=>O(l,e),pick:e=>p(e)})};r(x,e=>{q(o)&&e(C)}),D(v),D(g),b(()=>E(y,`aria-pressed`,q(o))),s(`click`,y,h),t(n,g),B()}i([`click`]);var _r=u(`<p class="faint none svelte-19hl4w"> </p>`),vr=u(`<div role="listitem"><button type="button" data-lustre=""><!> <span class="m svelte-19hl4w"> </span> <span class="q svelte-19hl4w"> </span> <span class="m svelte-19hl4w"> </span></button></div>`),yr=u(`<h2 class="label none svelte-19hl4w">earlier, with Iso</h2> <!>`,1),br=u(`<p class="faint none svelte-19hl4w">Started for this pane: <code class="svelte-19hl4w"> </code> · <button type="button" class="more svelte-19hl4w">stop it</button></p>`),xr=u(`<p class="bad none svelte-19hl4w" role="alert"> </p>`),Sr=u(`<div class="drawer svelte-19hl4w" role="list" aria-label="The agents' sessions"><!> <!> <!> <!> <!></div>`);function Cr(e,i){te(i,!0);let o=864e5;function c(e){let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime();return Number.isNaN(t.getTime())?``:t.getTime()>=r?`today · ${t.toTimeString().slice(0,5)}`:t.getTime()>=r-o?`yesterday`:t.getTime()>=r-6*o?t.toLocaleDateString(void 0,{weekday:`short`}):t.toLocaleDateString(void 0,{day:`numeric`,month:`short`,...t.getFullYear()===n.getFullYear()?{}:{year:`numeric`}})}let l=(e,t)=>`${e} ${t}${e===1?``:`s`}`,u=z(()=>$.view?.sessions??[]),d=e=>!$.old&&e.session===$.view?.session&&e.agent===$.view?.agentId,p=e=>e.busy?`at work`:e.live?`live`:e.kept?e.open?`kept`:`kept · to read`:`the agent's own`,h=J.api?.terminal??null,g=U(null);a(()=>{h&&[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname)&&h.chosen().then(e=>O(g,e),()=>void 0)});async function _(){try{O(g,await h?.choose(null)??null)}catch(e){$.problem=e.message}}async function v(e){await $.follow(e.agent,e.session),$.problem||($.shown=`session`)}var y=Sr(),w=S(y),T=e=>{var n=_r(),r=C(n);b(()=>f(r,`No sessions yet${$.acp?``:`: attach an agent, and its sessions are kept here`}.`)),t(e,n)};r(w,e=>{q(u).length||e(T)});var k=m(w,2);n(k,17,()=>q(u),e=>`${e.agent}/${e.session}`,(e,n)=>{var r=vr(),i=S(r);let a;var o=S(i);we(o,{get id(){return q(n).session},size:44,get growing(){return q(n).busy}});var u=m(o,2),h=C(u),g=m(u,2),_=C(g,!0),y=m(g,2),x=C(y,!0);D(i),D(r),b((e,t,r,o,s)=>{a=A(i,1,`spec frame svelte-19hl4w`,null,a,{on:e,live:q(n).live}),E(i,`aria-current`,t),i.disabled=!q(n).open&&!q(n).kept,E(i,`title`,!q(n).open&&!q(n).kept?`${q(n).name} isn't attached to carry it on`:void 0),f(h,`${q(n).name??``} · ${r??``}${o??``}`),f(_,q(n).title||q(n).asked||`A session`),f(x,s)},[()=>d(q(n)),()=>d(q(n))?`true`:void 0,()=>p(q(n)),()=>c(q(n).last)?` · ${c(q(n).last)}`:``,()=>q(n).turns?`${l(q(n).notes,`note`)} · ${l(q(n).turns,`turn`)}`:`not carried here yet`]),s(`click`,i,()=>void v(q(n))),t(e,r)});var j=m(k,2),M=e=>{var r=yr(),i=m(x(r),2);n(i,17,()=>$.past,e=>e.id,(e,n)=>{var r=vr(),i=S(r);let a;var o=S(i);we(o,{get id(){return q(n).id},size:44});var u=m(o,2),d=C(u),p=m(u,2),h=C(p,!0),g=m(p,2),_=C(g);D(i),D(r),b((e,t,r)=>{a=A(i,1,`spec frame svelte-19hl4w`,null,a,{on:$.old?.session===q(n).id}),E(i,`aria-current`,$.old?.session===q(n).id?`true`:void 0),f(d,`Iso · to read${e??``}`),f(h,q(n).asked),f(_,`${t??``} · ${r??``}`)},[()=>c(q(n).last)?` · ${c(q(n).last)}`:``,()=>l(q(n).notes,`note`),()=>l(q(n).turns,`turn`)]),s(`click`,i,()=>void $.read(q(n).id)),t(e,r)}),t(e,r)};r(j,e=>{$.past.length&&e(M)});var N=m(j,2),P=e=>{var n=br(),r=m(S(n)),i=C(r,!0),a=m(r,2);D(n),b(()=>f(i,q(g).choice&&`id`in q(g).choice?q(g).choice.id:q(g).command)),s(`click`,a,()=>void _()),t(e,n)};r(N,e=>{q(g)?.running&&e(P)});var F=m(N,2),I=e=>{var n=xr(),r=C(n,!0);b(()=>f(r,$.problem)),t(e,n)};r(F,e=>{$.problem&&e(I)}),D(y),t(e,y),B()}i([`click`]);var wr=u(`<span class="chosen svelte-6livgy"> </span> <button type="button" class="more svelte-6livgy">start it again</button> · <button type="button" class="more svelte-6livgy">none</button>`,1),Tr=u(`<span class="bad svelte-6livgy" role="alert"> </span>`),Er=u(`<li><b class="svelte-6livgy">Here, in this pane</b>: <!> <button type="button" class="more svelte-6livgy"> </button> <!></li>`),Dr=u(`<button type="button" class="more svelte-6livgy">the project's config</button>`),Or=u(`<p class="faint svelte-6livgy">Reading the ACP registry…</p>`),kr=u(`<option> </option>`),Ar=u(`<label class="hidden-label" for="agent-pick">An agent of the ACP registry</label> <select id="agent-pick" class="field svelte-6livgy"><option>An agent of the ACP registry…</option><!></select>`,1),jr=u(`<form class="pick svelte-6livgy"><!> <label class="hidden-label" for="agent-command">Or the command of an ACP agent</label> <input id="agent-command" class="field svelte-6livgy" placeholder="or its command: hermes acp" autocomplete="off" spellcheck="false"/> <p class="faint svelte-6livgy">It runs on this machine, in the base's repository, with the server's environment: its key and model are set up as for its own terminal.</p> <p class="svelte-6livgy"><button type="submit" class="btn"> </button></p></form>`),Mr=u(`<pre class="svelte-6livgy"> </pre>`),Nr=u(`<p class="faint"> </p> <!>`,1),Pr=u(`<p><button type="button" class="btn"> </button></p>`),Fr=u(`<p class="faint"> </p>`),Ir=u(`<!> <!> <!>`,1),Lr=u(`<p class="bad svelte-6livgy" role="alert"> </p>`),Rr=u(`<section class="attach svelte-6livgy" aria-label="Attach your agent"><h2 class="label svelte-6livgy">your own agent</h2> <p class="soft">Attach the agent you already use, and its conversations show here, with the notes it reads lit on the Atlas.</p> <ul class="svelte-6livgy"><!> <li><b class="svelte-6livgy">From an ACP front end</b> (Toad, Zed): run it with <code class="svelte-6livgy">isorite acp --agent "opencode acp"</code> as its agent (or <code class="svelte-6livgy">omp acp</code>, or any ACP agent's command). Asked there or here.</li> <li><b class="svelte-6livgy">In its own terminal</b>: give it isorite's MCP, <code class="svelte-6livgy"> </code>, or <code class="svelte-6livgy">isorite mcp</code> in the project's config. <!></li></ul> <!> <!> <!></section>`);function zr(i,o){te(o,!0);let c=J.api?.terminal??null,u=U(null),d=U(``),h=U(e([])),g=U(!1),_=new URL(X()?`b/${encodeURIComponent(X())}/mcp`:`mcp`,document.baseURI).href,v=[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname),y=U(null),w=U(null),T=U(!1),k=U(``),A=U(``),j=U(!1);a(()=>{c&&v&&c.chosen().then(e=>O(y,e),()=>void 0)});let M=e=>e?`command`in e?e.command:q(w)?.find(t=>t.id===e.id)?.name??e.id:``;async function N(){if(O(T,!q(T)),q(T)&&!q(w)&&c)try{O(w,(await c.registry()).filter(e=>e.how))}catch(e){O(d,e.message,!0),O(w,[])}}async function P(e){if(O(d,``),c){O(j,!0);try{O(y,await c.choose(e)),e&&O(T,!1)}catch(e){O(d,e.message,!0)}finally{O(j,!1)}}}function R(e){e.preventDefault(),q(A).trim()?P({command:q(A).trim()}):q(k)&&P({id:q(k)})}async function H(){if(O(g,!q(g)),q(g)&&!q(u)&&c)try{O(u,await c.project())}catch(e){O(d,e.message,!0)}}async function ee(){if(O(d,``),c)try{O(h,await c.writeProject(),!0),O(u,q(u)&&{...q(u),files:q(u).files.map(e=>({...e,current:!0}))})}catch(e){O(d,e.message,!0)}}let G=z(()=>q(u)?.files.filter(e=>!e.current)??[]);var ne=F(),K=x(ne),re=e=>{var i=Rr(),a=m(S(i),4),o=S(a),c=e=>{var n=Er(),i=m(S(n),2),a=e=>{var n=wr(),r=x(n),i=C(r,!0),a=m(r),o=m(a),c=m(o,2);b(e=>{f(i,e),f(a,`, ${q(y).running?`started for this base`:`not running`}. `),o.disabled=q(j),c.disabled=q(j)},[()=>M(q(y).choice)]),s(`click`,o,()=>void P(q(y)?.choice??null)),s(`click`,c,()=>void P(null)),t(e,n)},o=e=>{var n=p(`an agent isorite starts for this base, asked only from here.`);t(e,n)};r(i,e=>{q(y)?.choice?e(a):e(o,-1)});var c=m(i,2),l=C(c,!0),u=m(c,2),d=e=>{var n=Tr(),r=C(n);b(e=>f(r,`${q(y).problem??``}${e??``}`),[()=>q(y).said?`: ${q(y).said.trim().split(`
2
- `).at(-1)}`:``]),t(e,n)};r(u,e=>{q(y)?.problem&&e(d)}),D(n),b(()=>{E(c,`aria-expanded`,q(T)),f(l,q(y)?.choice?`another`:`choose one`)}),s(`click`,c,()=>void N()),t(e,n)};r(o,e=>{v&&e(c)});var F=m(o,4),z=m(S(F),2),B=C(z,!0),te=m(z,4),U=e=>{var n=Dr();b(()=>E(n,`aria-expanded`,q(g))),s(`click`,n,()=>void H()),t(e,n)};r(te,e=>{v&&e(U)}),D(F),D(a);var ne=m(a,2),K=e=>{var i=jr(),a=S(i),o=e=>{var n=Or();t(e,n)},c=e=>{var r=Ar(),i=m(x(r),2),a=S(i);a.value=a.__value=``;var o=m(a);n(o,17,()=>q(w),e=>e.id,(e,n)=>{var r=kr(),i=C(r),a={};b(()=>{E(r,`title`,q(n).description),f(i,`${q(n).name??``} ${q(n).version??``}`),a!==(a=q(n).id)&&(r.value=(r.__value=a)??``)}),t(e,r)}),D(i),L(i),s(`change`,i,()=>O(A,``)),V(i,()=>q(k),e=>O(k,e)),t(e,r)};r(a,e=>{q(w)===null?e(o):q(w).length&&e(c,1)});var u=m(a,4);W(u);var d=m(u,4),p=S(d),h=C(p,!0);D(d),D(i),b(e=>{p.disabled=e,f(h,q(j)?`starting…`:`attach it`)},[()=>q(j)||!q(k)&&!q(A).trim()]),l(`submit`,i,R),s(`input`,u,()=>O(k,``)),I(u,()=>q(A),e=>O(A,e)),t(e,i)};r(ne,e=>{q(T)&&e(K)});var re=m(ne,2),ie=e=>{var i=Ir(),a=x(i);n(a,17,()=>q(u).files,e=>e.file,(e,n)=>{var i=Nr(),a=x(i),o=C(a),s=m(a,2),c=e=>{var r=Mr(),i=C(r,!0);b(()=>f(i,q(n).after)),t(e,r)};r(s,e=>{q(n).current||e(c)}),b(()=>f(o,`${q(n).file??``} (${q(n).harness??``})${q(n).current?`: has it`:``}`)),t(e,i)});var o=m(a,2),c=e=>{var n=Pr(),r=S(n),i=C(r);D(n),b(e=>f(i,`write ${e??``}`),[()=>q(G).map(e=>e.file).join(` and `)]),s(`click`,r,()=>void ee()),t(e,n)};r(o,e=>{q(G).length&&e(c)});var l=m(o,2),d=e=>{var n=Fr(),r=C(n);b(e=>f(r,`Written: ${e??``}. Commit them with the project.`),[()=>q(h).join(`, `)]),t(e,n)};r(l,e=>{q(h).length&&e(d)}),t(e,i)};r(re,e=>{q(g)&&q(u)&&e(ie)});var ae=m(re,2),oe=e=>{var n=Lr(),r=C(n,!0);b(()=>f(r,q(d))),t(e,n)};r(ae,e=>{q(d)&&e(oe)}),D(i),b(()=>f(B,_)),t(e,i)};r(K,e=>{c&&e(re)}),t(i,ne),B()}i([`click`,`change`,`input`]);var Br=u(`<i></i>`),Vr=u(`<span> </span>`),Hr=u(`<span> </span><span class="faint"> </span>`,1),Ur=u(`<span class="faint"> </span>`),Wr=u(`<div class="strata svelte-po8nwq" role="img"></div> <p class="total svelte-po8nwq"><!><!></p>`,1),Gr=u(`<p class="faint"> </p>`),Kr=u(`<span class="num svelte-po8nwq"> </span>`),qr=u(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span aria-hidden="true"> </span><span class="t svelte-po8nwq"> </span><span class="d svelte-po8nwq"> </span><!></span></li>`),Jr=u(`<div class="column svelte-po8nwq"><!> <p class="faint"> </p></div> <h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="The notes in the session"></ul>`,1),Yr=u(`<p class="faint">With an agent attached, what it has in hand shows here: isorite's part, the notes it was given and read, and the room left.</p>`),Xr=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>`),Zr=u(`<div class="context svelte-po8nwq" role="region" aria-label="What the agent has in hand"><!> <h2 class="label svelte-po8nwq">in the tray</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Given to the session before its next prompt, asked here or in its front end, unless given already"></ul></div>`);function Qr(e,i){te(i,!0);let o=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),c=U(null),u=U({});a(()=>{$.session&&J.api.map().then(e=>O(u,Object.fromEntries(Object.entries(e.notes).map(([e,t])=>[e,t.tokens]))),()=>void 0)});let d=z(()=>{let e=new Set,t=new Set;for(let n of $.session?.turns??[]){for(let t of n.given??[])t.kind===`note`&&e.add(t.id);for(let e of n.items)e.kind===`tool`&&e.note&&!e.base&&e.status===`done`&&t.add(e.note)}let n=e=>J.listing.notes.find(t=>t.id===e)?.title??e;return[...[...e].map(e=>({id:e,how:`given`})),...[...t].filter(t=>!e.has(t)).map(e=>({id:e,how:`read`}))].map(e=>({...e,title:n(e.id),tokens:q(u)[e.id]??0}))}),p=z(()=>{let e=$.session;if(!e?.size||!e.tokens.input)return[];let t=Math.min(e.ours??0,e.tokens.input),n=Math.min(q(d).reduce((e,t)=>e+t.tokens,0),e.tokens.input-t);return[{k:`instructions`,name:`isorite's`,tokens:t},{k:`notes`,name:`notes`,tokens:n},{k:`conversation`,name:`the rest`,tokens:e.tokens.input-t-n},{k:`room`,name:`room`,tokens:Math.max(0,e.size-e.tokens.input)}].filter(e=>e.tokens>0).map(t=>({...t,w:100*t.tokens/e.size}))}),h=z(()=>q(p).find(e=>e.k===q(c)));var g=Zr(),_=S(g),v=e=>{let i=z(()=>$.session);var a=Jr(),u=x(a),g=S(u),_=e=>{var a=Wr(),u=x(a);n(u,21,()=>q(p),e=>e.k,(e,n)=>{var r=Br();let i;b(e=>{A(r,1,`s ${q(n).k??``}`,`svelte-po8nwq`),E(r,`data-k`,q(n).k),i=j(r,``,i,{width:e})},[()=>`${q(n).w.toFixed(2)??``}%`]),t(e,r)}),D(u);var d=m(u,2),g=S(d),_=e=>{var n=Vr(),r=C(n);b(e=>f(r,`${q(h).name??``} · ${e??``}`),[()=>o(q(h).tokens)]),t(e,n)},v=e=>{var n=Hr(),r=x(n),a=C(r,!0),s=m(r),c=C(s);b((e,t)=>{f(a,e),f(c,`of ${t??``}`)},[()=>o(q(i).tokens.input),()=>o(q(i).size??0)]),t(e,n)};r(g,e=>{q(h)?e(_):e(v,-1)});var y=m(g),w=e=>{var n=Ur(),r=C(n);b(e=>f(r,`· $${e??``}`),[()=>q(i).cost.toFixed(2)]),t(e,n)};r(y,e=>{q(i).cost&&e(w)}),D(d),b(e=>{E(u,`aria-label`,e),E(d,`title`,`As ${q(i).agent??``} counts it`)},[()=>q(p).map(e=>`${e.name} ${o(e.tokens)}`).join(`, `)]),s(`pointerover`,u,e=>O(c,e.target.dataset.k??null,!0)),l(`pointerleave`,u,()=>O(c,null)),t(e,a)},v=e=>{var n=Gr(),r=C(n);b(()=>f(r,`${(q(i).agent||`The agent`)??``} hasn't said how full its context is${q(i).turns.length?``:` yet`}.`)),t(e,n)};r(g,e=>{q(p).length?e(_):e(v,-1)});var y=m(g,2),w=C(y);D(u);var T=m(u,4);n(T,21,()=>q(d),e=>e.id,(e,n)=>{var a=qr(),s=S(a),c=S(s);let l;var u=C(c,!0),d=m(c),p=C(d,!0),h=m(d),g=C(h,!0),_=m(h),v=e=>{var r=Kr(),i=C(r,!0);b(e=>f(i,e),[()=>o(q(n).tokens)]),t(e,r)};r(_,e=>{q(n).tokens&&e(v)}),D(s),D(a),b(()=>{E(s,`title`,q(n).how===`given`?`Given from here`:`Read by ${q(i).agent}`),l=A(c,1,`mk svelte-po8nwq`,null,l,{iso:q(n).how===`read`}),f(u,q(n).how===`given`?`◆`:`◇`),f(p,q(n).title),f(g,q(n).how)}),t(e,a)}),D(T),b(()=>f(w,`What ${(q(i).agent||`the agent`)??``} dropped when it compacted can't be seen from here.`)),t(e,a)},y=e=>{var n=Yr();t(e,n)};r(_,e=>{$.session?e(v):e(y,-1)});var w=m(_,4);n(w,21,()=>Q.sent,e=>Q.keyOf(e),(e,n)=>{var r=Xr(),i=S(r),a=m(S(i)),o=C(a,!0);D(i);var c=m(i,2);D(r),b(()=>{f(o,q(n).kind===`passage`?`“${q(n).text}”`:q(n).title),E(c,`aria-label`,`Take ${q(n).title??``} out of Iso's context`)}),s(`click`,c,()=>Q.remove(q(n))),t(e,r)}),D(w),D(g),t(e,g),B()}i([`pointerover`,`click`]);var $r=u(`<div class="permit svelte-17377q0" role="group" aria-label="The agent asks before it does this"><p> <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>`),ei=u(`<div class="said prose svelte-17377q0"></div>`),ti=u(`<button type="button" class="note-link svelte-17377q0"> </button>`),ni=u(`<span class="qt svelte-17377q0"> </span> <button class="keep svelte-17377q0" type="button" data-lustre="">keep</button>`,1),ri=u(`<p class="qb svelte-17377q0"> </p>`),ii=u(`<div class="asks svelte-17377q0"><p class="svelte-17377q0"><svg class="qm svelte-17377q0" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path></svg><!></p> <!></div>`),ai=u(`<span>AGENTS.md</span>`),oi=u(`<span class="in svelte-17377q0">inserted</span>`),si=u(`<button class="insert svelte-17377q0" type="button">insert</button>`),ci=u(`<div class="offer svelte-17377q0"><div class="prose yours svelte-17377q0"></div> <p class="for svelte-17377q0"><!> <!></p></div>`),li=u(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),ui=u(`<code class="q svelte-17377q0"> </code>`),di=u(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),fi=u(`<span> </span>`),pi=u(`<pre class="diff svelte-17377q0"></pre>`),mi=u(`<pre class="out svelte-17377q0"> </pre>`),hi=u(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),gi=u(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),_i=u(`<div class="tool svelte-17377q0"><!> <!></div>`),vi=u(`<span class="chip svelte-17377q0"><span class="k svelte-17377q0" aria-hidden="true"> </span><span class="t svelte-17377q0"> </span></span>`),yi=u(`<span class="gave svelte-17377q0"></span>`),bi=u(`<button type="button" data-lustre=""><s aria-hidden="true" class="svelte-17377q0"></s><b class="svelte-17377q0"> </b> </button>`),xi=u(`<div class="parts svelte-17377q0" role="group"></div>`),Si=u(`<p class="doing svelte-17377q0" role="status"><!> </p>`),Ci=u(`<p class="faint end svelte-17377q0">stopped</p>`),wi=u(`<p class="bad svelte-17377q0" role="alert"> </p>`),Ti=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>`),Ei=u(`<p class="title faint svelte-17377q0"> </p>`),Di=u(`<p class="faint"> </p>`),Oi=u(`<p class="faint">A conversation with Iso, from before isorite attached your own agent: kept to read.</p>`),ki=u(`<div class="chat svelte-17377q0" role="log" aria-label="The agent's session" aria-live="polite"><!> <!> <!> <!> <!> <!></div>`);function Ai(e,i){te(i,!0);let o=(e,n=k)=>{var r=$r(),i=S(r),a=S(i),o=m(a),c=C(o,!0);G(),D(i);var l=m(i,2),u=S(l),d=m(u),h=m(d);D(l),D(r),b(e=>{f(a,`${(q(p)?.agent||`The agent`)??``} wants to `),f(c,e)},[()=>I(n())]),s(`click`,u,()=>void $.reply(n().id,`once`)),s(`click`,d,()=>void $.reply(n().id,`always`)),s(`click`,h,()=>void $.reply(n().id,`reject`)),t(e,r)},c=(e,i=k)=>{var a=F(),c=x(a),l=e=>{var n=ei();g(n,()=>be(i().text),!0),D(n),ne(n,(e,t)=>Se?.(e,t),()=>({given:i().text,copy:!0})),t(e,n)},u=e=>{var n=ii(),a=S(n),o=m(S(a)),c=e=>{var n=ti(),r=C(n,!0);b(()=>{E(n,`data-to`,i().made),f(r,i().title)}),s(`click`,n,()=>w(`read`,i().made)),t(e,n)},l=e=>{var n=ni(),r=x(n),a=C(r,!0),o=m(r,2);b(e=>{f(a,i().title),E(o,`aria-label`,`Keep “${i().title??``}” as an open question`),E(o,`title`,`Keep as an open question about ${e??``}`)},[()=>i().about.map(h).join(`, `)]),s(`click`,o,()=>void $.take(i().id)),t(e,n)};r(o,e=>{i().made?e(c):e(l,-1)}),D(a);var u=m(a,2),d=e=>{var n=ri(),r=C(n,!0);b(()=>f(r,i().text)),t(e,n)};r(u,e=>{i().text&&e(d)}),D(n),b(()=>{E(n,`data-question`,i().id),E(n,`data-to`,i().made??`?${i().id}`)}),t(e,n)},d=e=>{var n=ci(),a=S(n);g(a,()=>be(i().text),!0),D(a),ne(a,(e,t)=>Se?.(e,t),()=>i().text);var o=m(a,2),c=S(o),l=e=>{var n=ai();t(e,n)},u=e=>{var n=ti(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,()=>w(`read`,i().note)),t(e,n)};r(c,e=>{i().note===`AGENTS.md`?e(l):e(u,-1)});var d=m(c,2),p=e=>{var n=oi();t(e,n)},_=e=>{var n=si();b(e=>E(n,`aria-label`,`Insert into ${e??``} as yours`),[()=>h(i().note)]),s(`click`,n,()=>void $.take(i().id)),t(e,n)};r(d,e=>{i().taken?e(p):e(_,-1)}),D(o),D(n),b(()=>E(n,`data-offer`,i().id)),t(e,n)},p=e=>{var a=_i(),c=S(a),l=e=>{var a=hi(),o=S(a),c=S(o),l=C(c,!0),u=m(c),d=e=>{var n=li(),r=S(n),a=C(r),o=m(r);D(n),b(e=>{E(n,`href`,e),E(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>ce(i().base,`#/n/${i().note}`)]),t(e,n)},p=e=>{var n=ti(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,e=>{e.preventDefault(),w(i().name,i().note)}),t(e,n)},g=e=>{var n=ui(),r=C(n,!0);b(()=>f(r,i().title)),t(e,n)};r(u,e=>{i().note&&i().base?e(d):i().note?e(p,1):e(g,-1)});var _=m(u),v=e=>{var n=di(),r=S(n),a=C(r),o=m(r,2),s=C(o);D(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(v)}),D(o);var y=m(o,2),x=e=>{var r=pi();n(r,21,()=>i().diff,K,(e,n)=>{var r=fi();let i;var a=C(r,!0);b((e,t)=>{i=A(r,1,`svelte-17377q0`,null,i,{add:e,del:t}),f(a,q(n))},[()=>q(n).startsWith(`+`),()=>q(n).startsWith(`-`)]),t(e,r)}),D(r),t(e,r)},T=e=>{var n=mi(),r=C(n,!0);b(()=>f(r,i().output)),t(e,n)};r(y,e=>{i().diff?e(x):e(T,-1)}),D(a),b(e=>f(l,e),[()=>M(i().name)]),t(e,a)},u=e=>{var n=gi(),a=S(n),o=C(a,!0),c=m(a),l=e=>{var n=li(),r=S(n),a=C(r),o=m(r);D(n),b(e=>{E(n,`href`,e),E(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>ce(i().base,`#/n/${i().note}`)]),t(e,n)},u=e=>{var n=ti(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,()=>w(i().name,i().note)),t(e,n)},d=e=>{var n=ui(),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)}),D(n),b(e=>f(o,e),[()=>M(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,()=>L(i().id),e=>e.id,(e,t)=>{o(e,()=>q(t))}),D(a),b(()=>E(a,`data-status`,i().status)),t(e,a)};r(c,e=>{i().kind===`text`?e(l):i().kind===`question`?e(u,1):i().kind===`offer`?e(d,2):e(p,-1)}),t(e,a)},u=(e,i=k)=>{var a=Ti(),o=S(a),l=S(o),u=C(l,!0),d=m(l,2),g=e=>{var r=yi();n(r,21,()=>i().given,K,(e,n)=>{var r=vi(),i=S(r),a=C(i,!0),o=m(i),s=C(o,!0);D(r),b(e=>{E(r,`data-to`,q(n).kind===`note`?q(n).id:void 0),f(a,oe[q(n).kind]),f(s,e)},[()=>q(n).kind===`passage`?q(n).text:q(n).kind===`folder`?q(n).id||`the base`:h(q(n).id)]),t(e,r)}),D(r),t(e,r)};r(d,e=>{i().given?.length&&e(g)});var _=m(d,2),v=C(_,!0);D(o);var y=m(o,2);n(y,17,()=>i().items,K,(e,n)=>{var a=F(),o=x(a),s=e=>{c(e,()=>q(n))},l=z(()=>!N(q(n))&&!ie(i(),q(n)));r(o,e=>{q(l)&&e(s)}),t(e,a)});var w=m(y,2),T=e=>{var r=xi();n(r,20,()=>W(i()),e=>e,(e,n)=>{var r=bi();let i;var a=m(S(r)),o=C(a,!0),c=m(a,1,!0);D(r),b((e,t)=>{i=A(r,1,`part svelte-17377q0`,null,i,{lit:q(ae)===n}),E(r,`data-to`,n),f(o,e),f(c,t)},[()=>h(n),()=>re(n)]),s(`click`,r,()=>void Y.open(n,!0)),t(e,r)}),D(r),b(()=>E(r,`aria-label`,`What ${(q(p)?.agent||`the agent`)??``} drew on`)),t(e,r)},O=z(()=>i().state!==`running`&&W(i()).length);r(w,e=>{q(O)&&e(T)});var j=m(w,2),M=e=>{var n=Si(),i=S(n),a=e=>{we(e,{get id(){return q(p).session},size:28,growing:!0})};r(i,e=>{q(p)?.session&&e(a)});var o=m(i);D(n),b(()=>f(o,`${(q(p)?.agent||`The agent`)??``} is at work`)),t(e,n)},P=e=>{var n=Ci();t(e,n)},I=e=>{var n=wi(),r=C(n);b(()=>f(r,`The turn failed${$.old?``:`; ${q(p)?.agent||`the agent`} says why in its front end`}.`)),t(e,n)};r(j,e=>{i().state===`running`?e(M):i().state===`stopped`?e(P,1):i().state===`failed`&&e(I,2)}),D(a),b(()=>{E(a,`data-state`,i().state),f(u,i().asked),f(v,$.old?``:i().from===`here`?`from here`:`in its front end`)}),t(e,a)},d=U(void 0),p=z(()=>$.session),h=e=>J.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,_={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`},v=new Set([`edit_note`,`write_note`]);function w(e,t){v.has(j(e))&&Y.flip(`provenance`,!0),Y.open(t,!0)}let j=e=>e.replace(/^(mcp_+)?isorite[_:]+/,``),M=e=>_[j(e)]??j(e).replaceAll(`_`,` `),N=e=>e.kind===`tool`&&/^(ask_question|offer_text)$/.test(j(e.name)),P={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},I=e=>`${P[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),L=e=>q(p)?.asking.filter(t=>t.tool===e)??[],R=z(()=>q(p)?.asking.filter(e=>!e.tool||!q(p).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);a(()=>{q(p),y().then(()=>{q(d)&&(q(d).scrollTop=q(d).scrollHeight)})});function V(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?xe(t.getAttribute(`href`)??``):null;ye.set(`iso`,n?{...n,who:`you`}:null)}let H=/\]\(\/([^)\s]+?)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,ee=e=>J.listing.notes.some(t=>t.id===e);function W(e){let t=new Set;for(let n of e.items)if(n.kind===`text`)for(let e of n.text.matchAll(H))t.add(decodeURI(e[1]));for(let n of e.items)n.kind===`tool`&&n.note&&!n.base&&n.status!==`failed`&&t.add(n.note);return[...t].filter(ee)}let re=e=>J.listing.notes.find(t=>t.id===e)?.dir.split(`/`).at(-1)||`notes`,ie=(e,t)=>e.state!==`running`&&t.kind===`tool`&&!!t.note&&!t.base&&!t.diff&&t.status===`done`&&!v.has(j(t.name))&&ee(t.note),ae=z(()=>ye.elsewhere?.from===`iso`&&!ye.elsewhere.folder?ye.elsewhere.id:ye.onAtlas);a(()=>{let e=q(ae);if(q(p),q(d))for(let t of q(d).querySelectorAll(`.said a.vein`))t.classList.toggle(`lit`,!!e&&xe(t.getAttribute(`href`)??``)?.id===e)});let oe={note:`▣`,folder:`▭`,passage:`“`};var se=ki(),le=S(se),ue=e=>{var n=Ei(),r=C(n,!0);b(()=>f(r,q(p).title)),t(e,n)};r(le,e=>{q(p)?.title&&e(ue)});var de=m(le,2);n(de,17,()=>q(p)?.turns??[],e=>e.id,(e,t)=>{u(e,()=>q(t))});var fe=m(de,2);n(fe,17,()=>q(R),e=>e.id,(e,t)=>{o(e,()=>q(t))});var pe=m(fe,2),X=e=>{var n=Di(),r=C(n);b(()=>f(r,`${(q(p)?.agent||`The agent`)??``}'s session shows here: what is asked in its front end or here, what it does, and what it asks before doing. Notes put in the tray go before the next prompt.`)),t(e,n)};r(pe,e=>{q(p)?.turns.length||e(X)});var Z=m(pe,2),me=e=>{var n=Oi();t(e,n)},he=e=>{var n=Di(),r=C(n);b(()=>f(r,`Kept here; ${q(p).agent??``} isn't attached to carry it on.`)),t(e,n)};r(Z,e=>{$.old?e(me):q(p)?.reading&&e(he,1)});var ge=m(Z,2),_e=e=>{zr(e,{})};r(ge,e=>{$.connected||e(_e)}),D(se),T(se,e=>O(d,e),()=>q(d)),s(`pointerover`,se,V),l(`pointerleave`,se,()=>ye.set(`iso`,null)),t(e,se),B()}i([`click`,`pointerover`]);var ji=u(`<div class="chat svelte-d2jxoz"><!></div>`),Mi=u(`<button class="corner stop svelte-d2jxoz" type="button" aria-label="Stop the agent" 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>`),Ni=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>`),Pi=u(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),Fi=u(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message the agent</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function Ii(e,n){te(n,!0);let i=U(``),o=z(()=>$.running),c=z(()=>!!$.old||$.acp);R(()=>{$.start()}),a(()=>{Q.sent,$.view?.session,$.acp&&$.give()});async function l(){await $.send(q(i))&&O(i,``)}function u(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),l()):e.key===`Escape`&&q(o)&&(e.preventDefault(),$.stop())}var d=Fi();let p;var h=S(d),g=e=>{Qr(e,{})},_=e=>{Cr(e,{})},v=e=>{Ai(e,{})},y=e=>{var n=ji();zr(S(n),{}),D(n),t(e,n)};r(h,e=>{$.shown===`context`?e(g):$.shown===`past`?e(_,1):q(c)?e(v,2):e(y,-1)});var x=m(h,2),w=S(x),T=m(S(w),2);P(T);var k=m(T,2),j=e=>{var n=Mi();s(`click`,n,()=>void $.stop()),t(e,n)},M=e=>{var n=Ni();s(`click`,n,()=>void l()),t(e,n)},N=z(()=>q(i).trim());r(k,e=>{q(o)?e(j):q(N)&&e(M,1)}),D(w);var F=m(w,2),L=e=>{var n=Pi(),r=C(n,!0);b(()=>f(r,$.problem||$.view?.problem)),t(e,n)};r(F,e=>{($.problem||$.view?.problem)&&e(L)}),D(x),D(d),b(()=>{p=A(d,1,`iso svelte-d2jxoz`,null,p,{drop:Q.carrying?.over}),E(T,`placeholder`,$.connected?`Ask ${$.view?.agent||`the agent`}`:`Attach an agent to ask it here`)}),s(`keydown`,T,u),I(T,()=>q(i),e=>O(i,e)),t(e,d),B()}i([`keydown`,`click`]);var Li=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>`),Ri=u(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),zi=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>`),Bi=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 Vi(i,a){te(a,!0);let o=J.api?.bases??null,u=U(!1),d=U([]),p=U(``),h=U(!1),g=U(``),_=U(void 0),v=U(void 0),y=U(e({top:0,left:0}));async function w(){if(o)try{await(async e=>{O(d,e.bases),O(p,e.here,!0),O(h,e.local,!0)})(await o.list()),O(g,``)}catch(e){O(g,e.message,!0)}}async function k(){if(O(u,!q(u)),q(u)&&q(v)){let e=q(v).getBoundingClientRect();O(y,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}q(u)&&(await w(),q(_)?.querySelector(`a`)?.focus())}async function M(e){try{O(d,await o.lend(e.name,!e.lend)),O(g,``)}catch(e){O(g,e.message,!0)}}function N(e){q(u)&&e.target instanceof Node&&!q(_)?.contains(e.target)&&!q(v)?.contains(e.target)&&O(u,!1)}function P(e){q(u)&&e.key===`Escape`&&(O(u,!1),q(v)?.focus())}var I=F();l(`pointerdown`,c,N),l(`keydown`,c,P);var L=x(I),R=e=>{var i=Bi(),a=x(i),o=C(a,!0);T(a,e=>O(v,e),()=>q(v));var c=m(a,4),l=e=>{var i=zi();let a;var o=m(S(i),2);n(o,21,()=>q(d),e=>e.name,(e,n)=>{let r=z(()=>q(n).name===(q(p)||J.session.name));var i=Li();let a;var o=S(i),c=C(o,!0),l=m(o,2),u=C(l,!0),d=m(l,2);D(i),b(e=>{a=A(i,1,`svelte-1wk2ip3`,null,a,{here:q(r)}),f(c,q(r)?`✓`:``),E(l,`href`,e),E(l,`title`,q(n).path),E(l,`aria-current`,q(r)?`page`:void 0),f(u,q(n).name),E(d,`aria-pressed`,q(n).lend),d.disabled=!q(h),E(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`)},[()=>ce(q(n).name)]),s(`click`,d,()=>M(q(n))),t(e,i)}),D(o);var c=m(o,2),l=e=>{var n=Ri(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(c,e=>{q(g)&&e(l)}),D(i),T(i,e=>O(_,e),()=>q(_)),b(()=>a=j(i,``,a,{top:`${q(y).top??``}px`,left:`${q(y).left??``}px`})),t(e,i)};r(c,e=>{q(u)&&e(l)}),b(()=>{E(a,`aria-expanded`,q(u)),f(o,J.session.name)}),s(`click`,a,k),t(e,i)};r(L,e=>{o&&J.session&&e(R)}),t(i,I),B()}i([`click`]);var Hi=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),Ui=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),Wi=d(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),Gi=d(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),Ki=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),qi=d(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),Ji=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),Yi=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),Xi=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>`),Zi=d(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),Qi=d(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),$i=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>`),ea=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)"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)"></rect></svg></button>`),ta=u(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),na=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 ra(e,i){te(i,!0);let o=N(i,`first`,3,!1),u={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`The agent's context: what it was given, 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:`Files beside the notes: pictures, artifacts, data (Alt+I)`,notes:`Agents may edit the notes (Alt+N)`,files:`The agent may edit the project's files (Alt+F)`,run:`The agent 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=z(()=>de[i.pane].filter(e=>e!==`files`&&e!==`run`||Y.attached)),h=z(()=>Y.settings===i.pane),g=U(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}"]`)||(Y.settings=null))}var v=na();l(`pointerdown`,c,_),l(`keydown`,c,e=>{q(h)&&e.key===`Escape`&&(Y.settings=null)});var y=x(v),w=S(y),A=e=>{Vi(e,{})};r(w,e=>{o()&&e(A)});var M=m(w,2),P=C(M,!0),F=m(M,2);n(F,20,()=>q(p),e=>e,(e,n)=>{var i=$i();let a;var o=S(i),c=S(o),l=e=>{var n=Hi();G(2),t(e,n)},f=e=>{var n=Ui();G(3),t(e,n)},p=e=>{var n=Wi();t(e,n)},m=e=>{var n=Gi();t(e,n)},h=e=>{var n=Ki();G(),t(e,n)},g=e=>{var n=qi();t(e,n)},_=e=>{var n=Ji();G(2),t(e,n)},v=e=>{var n=Yi();G(),t(e,n)},y=e=>{var n=Xi();t(e,n)},x=e=>{var n=Zi();G(),t(e,n)},C=e=>{var n=Qi();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)}),D(o),D(i),b(e=>{E(i,`data-switch`,n),E(i,`aria-pressed`,Y.on[n]),E(i,`aria-label`,e),E(i,`title`,u[n]),a=j(i,``,a,{"--c":`var(--${d[n]??``})`})},[()=>u[n].replace(/ \(Alt\+.\)$/,``)]),s(`click`,i,()=>Y.flip(n)),t(e,i)}),D(F);var I=m(F,4);re(I,()=>i.tools??k);var L=m(I,2),R=e=>{var n=ea();b(()=>{E(n,`data-settings`,i.pane),E(n,`aria-label`,`${i.name??``} settings`),E(n,`aria-expanded`,q(h)),E(n,`title`,`${i.name??``} settings`)}),s(`click`,n,()=>Y.settings=q(h)?null:i.pane),t(e,n)};r(L,e=>{i.settings&&e(R)}),D(y);var V=m(y,2),H=e=>{var n=ta(),r=S(n),a=C(r,!0),o=m(r,2),s=S(o);re(s,()=>i.settings),D(o),D(n),T(n,e=>O(g,e),()=>q(g)),b(e=>{E(n,`aria-label`,`${i.name??``} settings`),f(a,e)},[()=>i.name.toLowerCase()]),t(e,n)};r(V,e=>{i.settings&&q(h)&&e(H)}),b(()=>{f(P,i.name),E(F,`aria-label`,`${i.name??``}'s switches`)}),t(e,v),B()}i([`click`]);var ia=u(`<button type="button" class="gauge svelte-1cyuk5c"><i></i></button>`);function aa(e,n){te(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=z(()=>$.session),o=z(()=>q(a)?.size?{tokens:q(a).tokens.input,limit:q(a).size}:null),c=z(()=>q(o)?Math.min(1,q(o).tokens/q(o).limit):0),l=z(()=>!!q(o)&&q(o).tokens>=Math.min(1e5,q(o).limit/2)),u=z(()=>!!q(o)&&q(o).tokens>q(o).limit),d=z(()=>q(a)?q(a).size?`${q(a).agent}: ${r(q(a).tokens.input)} of ${r(q(a).size)} tokens${q(a).cost?`, ${i(q(a).cost)}`:``}${q(l)?`: long enough to drift`:``}`:`${q(a).agent||`The agent`} hasn't said how full its context is`:`Context: no agent attached`);var f=ia(),p=S(f);let m,h;D(f),b(()=>{E(f,`aria-label`,q(d)),E(f,`title`,q(d)),m=A(p,1,`bar ctx svelte-1cyuk5c`,null,m,{long:q(l),full:q(u)}),h=j(p,``,h,{"--fill":q(c)})}),s(`click`,f,()=>$.shown=$.shown===`context`?`session`:`context`),t(e,f),B()}i([`click`]);var oa=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, read by the agents you attach. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),sa=u(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),ca=u(`<section class="svelte-1c4xnzk"><!> <!></section>`);function la(e,n){te(n,!0);let i=U(``),o=U(null),s=``;a(()=>{J.api.agents().then(e=>{O(o,e.text??``,!0),s=q(o)},()=>void 0)});async function c(){if(q(o)!==null&&q(o)!==s){O(i,``);try{await J.api.saveAgents(q(o)),s=q(o)}catch(e){O(i,e.message,!0)}}}var u=ca(),d=S(u),p=e=>{var n=oa(),r=m(x(n),4);P(r),l(`blur`,r,()=>void c()),I(r,()=>q(o),e=>O(o,e)),t(e,n)};r(d,e=>{q(o)!==null&&e(p)});var h=m(d,2),g=e=>{var n=sa(),r=C(n,!0);b(()=>f(r,q(i))),t(e,n)};r(h,e=>{q(i)&&e(g)}),D(u),t(e,u),B()}var ua=u(`<button class="btn quiet danger-text svelte-1h9x2hz" type="button">Delete it</button>`),da=u(`<div class="ask svelte-1h9x2hz" role="alertdialog" aria-label="delete this note"><span>Delete this note? <!> Its history stays.</span> <div class="row svelte-1h9x2hz"><button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">keep it</button></div></div>`),fa=u(`<p class="problem svelte-1h9x2hz" role="alert"> </p>`),pa=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>`),ma=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>`),ha=u(`<button type="button" role="radio"> </button>`),ga=u(`<button type="button">fullscreen</button>`),_a=d(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),va=d(`<path d="M8 2.5v11M8 8h6.5"></path>`),ya=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>`),ba=d(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),xa=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),Sa=d(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Ca=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>`),wa=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),Ta=u(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),Ea=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 Da(e,i){te(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=U(!1),l=U(!1);R(()=>{O(c,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{O(l,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),U(!1);let u=U(null),d=U(``);async function h(e){O(d,``);try{let t=await J.api.map();O(u,[...new Set(t.model.edges.filter(([t,n])=>n===e&&t!==e&&!t.startsWith(`@`)).map(([e])=>t.notes[e]?.title||e))],!0)}catch(e){O(d,e.message,!0)}}async function g(e){try{await J.api.deleteNote(e,(await J.api.readNote(e)).version),O(u,null),Y.settings=null,await J.refresh(),await oe(ae(`/notes`),{replaceState:!0})}catch(e){O(d,e.message,!0),O(u,null)}}function _(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var v=Ea(),y=x(v),w=e=>{let n=z(()=>J.open);var i=pa(),a=m(S(i),2),o=S(a),c=m(o,2),l=m(c,2),_=e=>{var r=ua();s(`click`,r,()=>void h(q(n))),t(e,r)},v=z(()=>q(u)===null&&J.listing.notes.some(e=>e.id===q(n)));r(l,e=>{q(v)&&e(_)}),D(a);var y=m(a,2),x=e=>{var i=da(),a=S(i),o=m(S(a)),c=e=>{var n=p();b(e=>f(n,`${q(u).length===1?`One note links`:`${q(u).length} notes link`} to it (${e??``}); ${q(u).length===1?`its link is`:`their links are`} left broken.`),[()=>q(u).join(`, `)]),t(e,n)},l=e=>{var n=p(`No note links to it.`);t(e,n)};r(o,e=>{q(u).length?e(c):e(l,-1)}),G(),D(a);var d=m(a,2),h=S(d),_=m(h,2);D(d),D(i),s(`click`,h,()=>void g(q(n))),s(`click`,_,()=>{O(u,null)}),t(e,i)};r(y,e=>{q(u)!==null&&e(x)});var w=m(y,2),T=e=>{var n=fa(),r=C(n,!0);b(()=>f(r,q(d))),t(e,n)};r(w,e=>{q(d)&&e(T)}),D(i),s(`click`,o,()=>{Y.settings=null,Ne(`question`,q(n))}),s(`click`,c,()=>{Y.settings=null,Ne(`problem`,q(n))}),t(e,i)},T=z(()=>J.open&&!J.open.startsWith(`@`));r(y,e=>{q(T)&&e(w)});var k=m(y,2),j=e=>{var n=ma(),i=m(S(n),2),a=S(i),o=C(a,!0),s=m(a,2),c=C(s);D(i);var l=m(i,2);r(l,e=>{}),D(n),b(()=>{f(o,J.session.name),f(c,`· ${J.listing.notes.length??``} ${J.listing.notes.length===1?`note`:`notes`}`)}),t(e,n)};r(k,e=>{J.session&&e(j)});var M=m(k,2),N=m(S(M),2);n(N,21,()=>Ee,([e,t])=>e,(e,n)=>{var r=z(()=>H(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=ha();let c;var l=C(o,!0);b(()=>{c=A(o,1,`btn svelte-1h9x2hz`,null,c,{on:Te.chosen===i()}),E(o,`aria-checked`,Te.chosen===i()),f(l,a())}),s(`click`,o,()=>Te.choose(i())),t(e,o)}),D(N),D(M);var P=m(M,2),F=m(S(P),2);n(F,21,()=>Oe,([e,t])=>e,(e,n)=>{var r=z(()=>H(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=ha();let c;var l=C(o,!0);b(()=>{c=A(o,1,`btn svelte-1h9x2hz`,null,c,{on:De.chosen===i()}),E(o,`aria-checked`,De.chosen===i()),E(o,`title`,i()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),f(l,a())}),s(`click`,o,()=>De.choose(i())),t(e,o)}),D(F),D(P);var I=m(P,2),L=e=>{var i=Ta(),u=m(S(i),2),d=S(u),f=e=>{var n=ga();let r;b(()=>{r=A(n,1,`btn svelte-1h9x2hz`,null,r,{on:q(l)}),E(n,`aria-pressed`,q(l))}),s(`click`,n,_),t(e,n)};r(d,e=>{q(c)&&e(f)});var p=m(d,2),h=e=>{var i=wa(),c=x(i);n(c,20,()=>pe,e=>e,(e,n)=>{var i=ya(),a=S(i),c=m(S(a)),l=e=>{var n=_a();t(e,n)},u=e=>{var n=va();t(e,n)};r(c,e=>{n===`cols`?e(l):n===`stack`&&e(u,1)}),D(a),D(i),b(()=>{E(i,`aria-pressed`,Y.layout===n),E(i,`aria-label`,o[n]),E(i,`title`,`${o[n]??``} (Alt+L)`)}),s(`click`,i,()=>Y.setLayout(n)),t(e,i)}),D(c);var l=m(c,2);n(l,20,()=>le,e=>e,(e,n)=>{var i=Ca();let o;var c=S(i),l=S(c),u=e=>{var n=ba();t(e,n)},d=e=>{var n=xa();G(2),t(e,n)},f=e=>{var n=Sa();t(e,n)};r(l,e=>{n===`note`?e(u):n===`atlas`?e(d,1):e(f,-1)}),D(c),D(i),b(e=>{o=A(i,1,`icon svelte-1h9x2hz`,null,o,{off:!Y.show[n]}),E(i,`aria-pressed`,Y.show[n]),E(i,`aria-label`,`Show ${a[n]??``}`),E(i,`title`,`Show or hide ${a[n]??``} (Alt+${e??``} brings it back)${n===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>le.indexOf(n)+1]),s(`click`,i,()=>Y.toggle(n)),t(e,i)}),D(l),t(e,i)};r(p,e=>{Y.narrow||e(h)}),D(u),D(i),t(e,i)};r(I,e=>{(q(c)||!Y.narrow)&&e(L)});var V=m(I,2),ee=C(V);b(e=>E(ee,`href`,e),[()=>ae(`/parts`)]),s(`click`,ee,()=>Y.settings=null),t(e,v),B()}i([`click`]);var Oa=e=>{Da(e,{})},ka=e=>{la(e,{})},Aa=e=>{var n=Ma(),i=m(S(n),2),a=e=>{var n=ja(),r=C(n);b(()=>f(r,`${J.listing.notes.length??``} ${J.listing.notes.length===1?`note`:`notes`}`)),t(e,n)};r(i,e=>{J.atlas&&e(a)}),D(n),t(e,n)},ja=u(`<p class="soft svelte-12qhfyh"> </p>`),Ma=u(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),Na=u(`<p class="stopped svelte-12qhfyh"> </p>`),Pa=u(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),Fa=u(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),Ia=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),La=u(`<div class="tree svelte-12qhfyh"><!></div>`),Ra=u(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),za=u(`<span class="says svelte-12qhfyh"> </span>`),Ba=u(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),Va=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>`),Ha=u(`<!> <!> <!>`,1),Ua=u(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),Wa=d(`<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 4.5h11v8h-11zM2.5 7.5h11M6.5 10h3" class="svelte-12qhfyh"></path></svg>`),Ga=u(`<span> </span>`),Ka=u(`<button class="icon svelte-12qhfyh" type="button" aria-label="A new session"><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>`),qa=u(`<!> <!> <button class="icon past svelte-12qhfyh" type="button" aria-label="Sessions" title="The agents' sessions, and Iso's earlier conversations"><!></button> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What the agent has in hand, and what the tray gives it"><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> <!>`,1),Ja=u(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),Ya=u(`<section><!> <!></section>`),Xa=u(`<span class="badge svelte-12qhfyh"> </span>`),Za=u(`<button type="button" class="svelte-12qhfyh"> <!></button>`),Qa=u(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function $a(e,i){te(i,!0);let o=z(()=>Y.standing);a(()=>{Ce.route.id===`/n/[...id]`&&Ce.params.id&&Y.setLast(Ce.params.id)}),a(()=>{Ce.url.href,Y.tree=!1}),R(he),R(()=>{let e=matchMedia(`(max-width: 760px)`);Y.narrow=e.matches;let t=()=>{Y.narrow=e.matches,Y.narrow&&requestAnimationFrame(()=>Y.scroll?.(Y.focus))};return e.addEventListener(`change`,t),Y.scroll=e=>{if(!Y.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),Y.scroll=null}});let u=U(void 0),d=z(()=>{if(Y.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, ${Y.widths[e]}fr) minmax(0, ${Y.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, ${Y.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+(Y.layout===`stack`&&t===q(o)[2]?0:Y.widths[t]),0),a=q(u).getBoundingClientRect().width/i,s=e.clientX,c=e=>{let n=(e.clientX-s)/a,i=Y.widths[r]+n,o=Y.widths[t]-n;i<.4||o<.4||(Y.setWidth(r,i),Y.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;Y.widths[n]+r>=.4&&Y.widths[t]-r>=.4&&(Y.setWidth(n,Y.widths[n]+r),Y.setWidth(t,Y.widths[t]-r)),e.preventDefault()}function g(){Y.narrow&&q(u)&&(clearTimeout(y),y=setTimeout(()=>{let e=le[Math.round(q(u).scrollLeft/q(u).clientWidth)];e&&e!==Y.focus&&(Y.focus=e,e===`iso`&&(Y.unseen=0))},60))}let y;function w(e){if(e.key===`Escape`&&Y.tree){Y.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`)Y.to(le[n-1]);else if(n.toLowerCase()===`l`&&!Y.narrow)Y.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)Y.step(n===`ArrowRight`?1:-1);else if(M[n.toLowerCase()])Y.flip(M[n.toLowerCase()]);else return;e.preventDefault()}let k={note:`Note`,atlas:`Atlas`,iso:`Iso`},M={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,i:`pictures`,c:`context`,n:`notes`,f:`files`,r:`run`},N=z(()=>Ce.route.id===`/n/[...id]`),P=z(()=>J.atlas?J.iso:null),I=z(()=>q(P)?.state===`reading`||q(P)?.state===`writing`),L=z(()=>Z(q(P)?.agent)),V=z(()=>{let e=q(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?J.listing.notes.find(t=>t.id===e)?.title??e:``});var H=Qa();ie(`12qhfyh`,e=>{v(()=>{ee.title=q(N)&&J.here?`${J.here} · isorite`:`isorite`})}),l(`keydown`,c,w);var W=S(H);let G;var ne=S(W),K=e=>{var n=Na(),r=C(n);b(()=>f(r,`isorite could not open the base: ${J.error??``}`)),t(e,n)},ae=e=>{var a=F(),c=x(a);n(c,16,()=>le,e=>e,(e,n)=>{var a=Ya();let c,u;var g=S(a),v=e=>{var r=Pa();b(()=>E(r,`aria-label`,`Resize ${k[n]??``}`)),s(`pointerdown`,r,e=>p(e,n)),s(`keydown`,r,e=>h(e,n)),t(e,r)};r(g,e=>{!Y.narrow&&q(o)[0]!==n&&(Y.layout!==`stack`||q(o)[2]!==n)&&e(v)});var y=m(g,2),w=e=>{var n=Ra(),a=x(n);{let e=e=>{var n=Ia(),i=x(n),a=e=>{var n=Fa();let r;var i=m(S(n)),a=C(i,!0);D(n),b(e=>{r=A(n,1,`saved svelte-12qhfyh`,null,r,{bad:J.saving.bad,busy:e}),E(n,`title`,J.saving.text),f(a,J.saving.text)},[()=>!J.saving.text.startsWith(`saved`)]),t(e,n)};r(i,e=>{q(N)&&J.saving&&e(a)});var o=m(i,2);b(()=>E(o,`aria-pressed`,Ce.route.id===`/notes`||Y.tree)),s(`click`,o,()=>{Ce.route.id!==`/notes`&&(Y.tree=!Y.tree)}),t(e,n)},n=z(()=>Y.narrow||q(o)[0]===`note`);ra(a,{pane:`note`,get first(){return q(n)},name:`Note`,get settings(){return Oa},tools:e,$$slots:{tools:!0}})}var c=m(a,2),l=S(c);re(l,()=>i.children),D(c);var u=m(c,2),d=e=>{var n=La(),r=S(n);ke(r,{}),D(n),t(e,n)};r(u,e=>{Y.tree&&Ce.route.id!==`/notes`&&e(d)}),t(e,n)},T=e=>{var n=Ua(),i=x(n);{let e=e=>{var n=Ha(),i=x(n),a=e=>{var n=za(),r=C(n);b(()=>f(r,`${J.atlas.steps??``} ${J.atlas.steps===1?`step`:`steps`} back`)),t(e,n)};r(i,e=>{J.atlas?.chosen&&J.atlas.steps&&e(a)});var o=m(i,2),c=e=>{var n=Ba(),r=x(n),i=C(r,!0),a=m(r);b(()=>f(i,J.atlas.here)),s(`click`,a,function(...e){J.atlas.out?.apply(this,e)}),t(e,n)};r(o,e=>{J.atlas?.here&&e(c)});var l=m(o,2),u=e=>{var n=Va();s(`click`,n,function(...e){J.atlas.fit?.apply(this,e)}),t(e,n)};r(l,e=>{J.atlas&&e(u)}),t(e,n)},n=z(()=>Y.narrow||q(o)[0]===`atlas`);ra(i,{pane:`atlas`,get first(){return q(n)},name:`Atlas`,get settings(){return Aa},tools:e,$$slots:{tools:!0}})}var a=m(i,2);gr(S(a),{}),D(a),t(e,n)},O=e=>{var n=Ja(),i=x(n);{let e=e=>{let n=z(()=>$.session?.session);var i=qa(),a=x(i),o=e=>{var n=za(),r=C(n,!0);b(()=>{E(n,`title`,q(I)?``:`click open ground on the Atlas to let its path go`),f(r,q(I)?`${q(L)} is ${q(V)?`reading ${q(V)}`:`at work`} in its own terminal`:`${q(L)}'s turn is done`)}),t(e,n)};r(a,e=>{q(P)?.agent&&!$.acp&&e(o)});var c=m(a,2);aa(c,{});var l=m(c,2),u=S(l),d=e=>{we(e,{get id(){return q(n)},size:20})},p=e=>{var n=Wa();t(e,n)};r(u,e=>{q(n)?e(d):e(p,-1)}),D(l);var h=m(l,2),g=m(S(h),2),v=e=>{var n=F(),r=x(n);_(r,()=>Q.fresh,e=>{var n=Ga();let r;var i=C(n,!0);b(()=>{r=A(n,1,`n svelte-12qhfyh`,null,r,{pulse:$.shown===`session`&&Q.fresh!==``}),f(i,Q.sent.length)}),t(e,n)}),t(e,n)};r(g,e=>{Q.sent.length&&e(v)}),D(h);var y=m(h,2),w=e=>{var n=Ka();b(()=>E(n,`title`,`A new session with ${$.view.agent??``}, from here`)),s(`click`,n,()=>{$.fresh($.view?.agentId??``),$.shown=`session`}),t(e,n)};r(y,e=>{$.view?.connected&&e(w)}),b(()=>{E(l,`aria-pressed`,$.shown===`past`),E(h,`aria-pressed`,$.shown===`context`)}),s(`click`,l,()=>void $.drawer()),s(`click`,h,()=>$.shown=$.shown===`context`?`session`:`context`),t(e,i)},n=z(()=>Y.narrow||q(o)[0]===`iso`);ra(i,{pane:`iso`,get first(){return q(n)},name:`Iso`,get settings(){return ka},tools:e,$$slots:{tools:!0}})}var a=m(i,2);Ii(S(a),{}),D(a),t(e,n)};r(y,e=>{n===`note`?e(w):n===`atlas`?e(T,1):e(O,-1)}),D(a),b(e=>{c=A(a,1,`pane svelte-12qhfyh`,null,c,{focus:Y.focus===n,first:q(o)[0]===n,top:Y.layout===`stack`&&q(o)[1]===n&&q(o).length===3}),E(a,`data-pane`,n),E(a,`aria-label`,k[n]),E(a,`hidden`,e),u=j(a,``,u,{"grid-area":q(d).areas[n]})},[()=>!q(o).includes(n)]),l(`pointerdown`,a,()=>{Y.narrow||(Y.focus=n)},!0),t(e,a)}),t(e,a)};r(ne,e=>{J.error?e(K):e(ae,-1)}),D(W),T(W,e=>O(u,e),()=>q(u));var oe=m(W,2);n(oe,20,()=>le,e=>e,(e,n)=>{var i=Za(),a=S(i),o=m(a),c=e=>{var n=Xa(),r=C(n,!0);b(()=>f(r,Y.unseen)),t(e,n)};r(o,e=>{n===`iso`&&Y.unseen&&e(c)}),D(i),b(()=>{E(i,`aria-current`,Y.focus===n),E(i,`aria-label`,k[n]),f(a,`${k[n]??``} `)}),s(`click`,i,()=>Y.to(n)),t(e,i)}),D(oe),D(H),b(()=>{E(W,`data-layout`,Y.layout),G=j(W,``,G,{"grid-template":q(d).template})}),l(`scroll`,W,g),t(e,H),B()}i([`pointerdown`,`keydown`,`click`]);export{$a as component,Ae as universal};
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,c as T,d as E,dt as D,et as O,ft as k,g as A,h as j,ht as M,i as N,it as P,j as F,l as I,m as L,n as R,nt as z,ot as B,p as V,pt as H,q as ee,st as te,tt as U,u as W,ut as G,v as ne,w as K,x as re,y as ie,z as q}from"../chunks/e2LGvGEb.js";import{s as ae,t as oe}from"../chunks/X3aTZRe_.js";import"../chunks/xihTtKlq.js";import{C as se,a as J,d as ce,i as Y,n as le,p as ue,r as de,s as fe,t as pe,u as X}from"../chunks/CPSlCQsu.js";import{D as Z,E as me,S as he,b as ge,d as _e,f as ve,g as Q,h as ye,i as be,m as xe,t as Se}from"../chunks/DxVFSMVD.js";import{t as Ce}from"../chunks/Dzi94aDH.js";import{a as we,i as Te,n as Ee,r as De,t as Oe}from"../chunks/CAlIuau0.js";import{t as ke}from"../chunks/DFKYo3Wx.js";var Ae=M({load:()=>je});async function je(){return await J.load(),{}}function Me(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 Ne(e,t){let n=J.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=Me(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await J.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await J.refresh(),Y.fresh=a,await Y.open(a,!0),a}var Pe=()=>Q.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});function Fe(e){let t=e.items.flatMap((t,n)=>t.kind===`text`||t.kind===`question`||t.kind===`offer`?[t]:t.kind===`look`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.step.tool,title:t.step.query??t.step.opened??t.step.said,status:t.step.failed?`failed`:`done`,output:``,...t.step.opened&&!t.step.away?{note:t.step.opened}:{}}]:t.kind===`change`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.why===`create`?`write_note`:`edit_note`,title:t.to??t.note,status:`done`,output:``,...t.why===`delete`?{}:{note:t.to??t.note}}]:t.kind===`point`?[{kind:`text`,text:`Look at [${J.listing.notes.find(e=>e.id===t.note)?.title??t.note}](/${t.note}.md)${t.why?`: ${t.why}`:`.`}`}]:[]);return{id:e.id,asked:e.asked,from:`here`,items:t,state:e.state,given:e.given,at:e.at}}var $=new class{#e=U(null);get view(){return q(this.#e)}set view(e){O(this.#e,e)}#t=U(null);get old(){return q(this.#t)}set old(e){O(this.#t,e)}#n=U(`session`);get shown(){return q(this.#n)}set shown(e){O(this.#n,e,!0)}#r=U([]);get past(){return q(this.#r)}set past(e){O(this.#r,e)}#i=U(``);get problem(){return q(this.#i)}set problem(e){O(this.#i,e,!0)}started=!1;get session(){return this.old??this.view}get connected(){return!!this.view?.connected}get running(){return!this.old&&(!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`)}get api(){return J.api?.terminal??null}start(){!this.started&&J.api&&(this.started=!0,J.api.agentNotes().then(({may:e})=>{Y.on.notes=e},()=>void 0),Y.notesFlipped=e=>{J.api.setAgentNotes(e).catch(t=>{Y.on.notes=!e,this.problem=t.message})},this.api?(this.api.view().then(e=>this.show(e),()=>Y.setAttached(!1)),J.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Y.setAttached(!1))}show(e){let t=this.connected;this.view=e,Y.setAttached(e.connected||!!e.reading);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash|execute)$/.test(t.action)?!Y.on.run:/^(edit|write|patch)$/.test(t.action)&&!Y.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Y.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Y.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;this.old=null;try{return await this.api.prompt(e.trim(),Pe()),!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}}async take(e){try{await this.api?.take(e)}catch(e){this.problem=e.message}}get acp(){return!!this.view&&(this.view.connected||!!this.view.reading)}async give(){if(this.acp&&this.api)try{await this.api.give(Pe())}catch(e){this.problem=e.message}}async follow(e,t){this.problem=``,this.old=null;try{await this.api?.follow(e,t)}catch(e){this.problem=e.message}}async fresh(e){this.problem=``,this.old=null;try{await this.api?.fresh(e)}catch(e){this.problem=e.message}}async drawer(){if(this.shown===`past`)this.shown=`session`;else{this.shown=`past`,this.acp&&this.api?.list().catch(()=>void 0);try{this.past=await J.api.conversations()}catch{this.past=[]}}}async read(e){this.problem=``;try{let t=await J.api.conversation(e);t&&(this.old={connected:!1,reading:!0,agent:`Iso`,agentId:`iso`,session:t.id,title:t.turns[0]?.asked??``,busy:!1,turns:t.turns.map(Fe),asking:[],cost:0,tokens:{input:0,output:0},model:``}),this.shown=`session`}catch(e){this.problem=e.message}}},Ie=4.5,Le=.04;function Re(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 ze=new WeakMap;function Be(e){let t=ze.get(e);return t||ze.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function Ve(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 He(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 Ue(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 We=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function Ge(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=>We(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||!We(e,m[t-1]))}var Ke=[`uses`,`builds`,`requires`,`iso`];function qe(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=Ke.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:Ke[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 Je(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=He(t,n,s),u=He(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}`)??Ge(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 Ye(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 Xe(e,t=0,n=7){let r=Ye(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 Ze(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 Qe(e,t,n,r=3,i=7){let a=Math.max(Le,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 $e(e,t,n,r){let i=Math.max(Le,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 et(e,t){if(!t.length)return e;let n=new Map,r=new Map,i=e=>{for(let t of e.children)t.kind===`dir`?i(t):n.set(t.ref,t)};i(e.root);for(let e of t){let t=e.about.find(e=>n.has(e));t&&r.set(t,[...r.get(t)??[],e])}let a=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[a(e)]:[e,...(r.get(e.ref)??[]).map(t=>({kind:`concept`,id:`c:`+t.ref,ref:t.ref,weight:1,rank:e.rank+1,of:`question`}))])}),o=[...e.edges];for(let e of r.values())for(let t of e)for(let e of t.about)n.has(e)&&o.push([t.ref,e,se.uses]);return{root:a(e.root),edges:o}}function tt(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 rt(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 it=2;function at(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??it,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 ot(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 st={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function ct(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...st,...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&&ut(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=lt(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=ft(dt(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 lt(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 ut(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 dt(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 ft(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 pt={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},mt={fine:pt,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}};pt.pad;var ht=1.4,gt=8,_t=12,vt=pt.note,yt=0,bt=0,xt=0,St=0,Ct=0,wt=0,Tt=0,Et=0,Dt=0,Ot=2,kt=0,At=0;function jt(e){({note:vt,gap:yt,gapFolders:bt,channel:xt,channelFolders:St,head:Ct,margin:wt,minFolder:Tt,slant:Et,pad:Dt,keep:Ot}=e),kt=vt[0]+yt,At=3*kt}function Mt(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=mt[n]??pt;jt(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:vt[0],h:vt[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(Tt,i.w+2*Dt),h:i.h+Dt+Ct+Dt}:{w:Tt,h:Ct+2*Dt})};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)?bt:yt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*ht)),...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])?bt:yt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/st.shape:st.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=ct(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)?bt:yt,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=Pt(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]+xt),0),S=Math.max(Math.ceil(Math.sqrt(a?x*ht:x/ht)),...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 V=(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})},H=()=>{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},ee=()=>{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<gt;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)}}},te=C.map(e=>[...e]),U=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,W=null,G=1/0;for(let e of[e=>e,e=>[...e].sort(U),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(te[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&G>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);ee();let r=H();r<t&&(t=r,n=0),r<G&&(G=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 ne=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?Ot:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ne(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 q=e=>K[e]+j[e]/2;for(let e=0;e<_t;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+q(t),0)/t.length:q(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ne(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]]-ne(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let ae=e=>Math.floor((j[e]-1)/2),oe=Array(j.length).fill(-1),se=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=>oe[e]>=0).map(e=>[B[oe[e]],B[e]]);for(let r of C[t]){if(oe[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])=>se[t]<0&&(!e||z(t)&&z(r))&&Math.abs(K[t]+ae(t)-K[r]-ae(r))<=(e?At:kt)).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])){oe[r]=e,se[e]=r,n.push([B[e],B[r]]);break}}}let J=Array(j.length).fill(-1),ce=0;for(let e=0;e<j.length;e++)if(oe[e]<0){for(let t=e;t>=0;t=se[t])J[t]=ce;ce++}let Y=Array.from({length:ce},()=>[]);J.forEach((e,t)=>Y[e].push(t));let le=(e,t)=>j[e]-ae(e)+ne(e,t)+ae(t),ue=Array(j.length).fill(-1),de=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(ue[t]=e[n-1],de[e[n-1]]=t)});let fe=Array(ce).fill(0),pe=!1;for(let e=0;e<=ce&&!pe;e++){pe=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=fe[J[e[t-1]]]+le(e[t-1],e[t]);fe[J[e[t]]]<n&&(fe[J[e[t]]]=n,pe=!1)}}if(pe){let e=Y.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+ae(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-fe[t])),n=[...Array(ce).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 Y[a])ue[e]>=0&&(n=Math.max(n,fe[J[ue[e]]]+le(ue[e],e))),de[e]>=0&&(r=Math.min(r,fe[J[de[e]]]-le(e,de[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==fe[a]&&(fe[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=fe[J[e]]-ae(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]]+ne(e[n-1],t)):Math.round(K[t])});let X=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=X;let Z=Math.max(...K.map((e,t)=>e+j[t])),me=e=>K[e]+Math.floor((j[e]-1)/2)+.5,he=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>me(e)-me(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>he.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,me(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)=>he.set(t+`|`+e,i[n]))}let ge=(e,t)=>{let n=he.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},_e=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ge(e,t)).map(t=>he.get(e+`|`+t)).sort((e,t)=>e-t);_e[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):me(e)}let ve=(e,t)=>ge(e,t)?he.get(e+`|`+t):_e[e],Q=(e,t)=>{let n=ve(e,t),r=he.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},ye=new Set,be=C.map(()=>0);for(let[e,t]of I){if(ge(e,t))continue;let[n,r]=Q(e,t),i=he.get(e+`|`+t)>_e[e];r-n>Et||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=Q(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(ye.add(e+`|`+t),be[w[e]]=Math.max(be[w[e]],r-n))}let xe=new Map;for(let[e,t]of I){if(ge(e,t)||ye.has(e+`|`+t))continue;let n=he.get(e+`|`+t),r=xe.get(e)||{u:e,lo:_e[e],hi:_e[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),xe.set(e,r)}let Se=C.map(()=>0);C.forEach((e,t)=>{let n=[...xe.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=>!ge(e.u,t)&&!ye.has(e.u+`|`+t)).map(t=>he.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(_e[n[t].u]>n[e].lo&&_e[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=Pt(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);Se[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)?St:xt,Se[n]+2*Ot,be[n]+2);Te[n]=De+Math.max(Ot,Math.floor((r-Se[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=he.get(t+`|`+i);if(ye.has(t+`|`+i)){let e=Math.abs(a-_e[t]),n=Ee[w[t]](e);r.push(Ae(n,_e[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(xe.get(t)?.track||0)+.5;r.push(Ae(o,ve(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),he.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:Z,h:Oe,out:je}:{w:Oe,h:Z,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[wt,wt]]]);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+Dt,r+t.y+Ct+Dt])}}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=Nt(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*wt,H:M.h+2*wt,flow:t,cell:s.cell,keep:s.keep,margin:wt,items:T,links:A,trunks:O,pairs:_,orders:v}}function Nt(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 Pt(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 Ft={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},It=[1,1,0,-1,-1,-1,0,1],Lt=[0,1,1,1,0,-1,-1,-1],Rt=3,zt=8;function Bt(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...Ft,...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 ot(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of ot(v,O.folder))w[e]=E}else for(let e of ot(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,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-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),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let ee=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},te=new Map;for(let e of I(k)){let t=e[0],n=t*9+zt,r=Math.fround(1+s*Math.min(y[t],Rt));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+ee(t%d,t/d|0),r,n),te.set(t,e))}let U=!!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+It[T],M=F+Lt[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||U&&h[N]!==O.folder)continue;if(It[T]&&Lt[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=(It[T]&&Lt[T]?1.414:1)*(1+s*Math.min(y[N],Rt)+c*Math.min(b[N],Rt))+r*Math.abs(p[N]-p[u]);if(v!==zt&&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+ee(k,M),L,I))}}if(W<0)return null;let G=[];for(let e=W;e!==-1;e=S[e])G.push(e/9|0);G.reverse();for(let e of G)F(e,1);let ne=te.get(G[0]),K=R.get(G[G.length-1]),re=[[ne[1],ne[2]]];for(let e of G)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(G),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 V(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:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var Vt=[0,1,-1,2,-2,3,-3];function Ht(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=Vt.find(e=>!i.has(e))??0,delete t.edges})}var Ut=(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 Wt(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++)Ut(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 Gt(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);Ht(o,n*r);let s={...Wt(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 Kt=[1,1,0,-1,-1,-1,0,1],qt=[0,1,1,1,0,-1,-1,-1],Jt=8,Yt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function Xt(e,t=at(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Yt,...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=sn(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=on(t)[c],d=on(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?cn(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(Zt(t,c,r,x)||Zt(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===Jt||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(on(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)&&!Zt(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 Qt(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(on(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)&&!Zt(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 Qt(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+Kt[e],l=d+qt[e];if(!C(i,l,n)||Kt[e]&&qt[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Kt[e]&&qt[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=>tn(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),V=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`||!$t(a,i))continue;let o=en(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];on(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])=>!Zt(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&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!$t(u[e],t))return;let n=en(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 Zt(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 Qt(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 $t(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 en(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 tn(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 nn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function rn(e,t,n=at(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...nn,...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=sn(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&tn(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(!$t(e,[t,n])){let i=Qt(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)=>(Kt[e]&&qt[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Jt||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},V=()=>{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 H(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 Qt(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(on(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||Zt(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;){V();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+Kt[t],c=s+qt[t];if(!a(r,c)||Kt[t]&&qt[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 ee=[];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`&&ee.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&ee.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let te=[],U=e=>p[e].kind===`note`,W=new Map;for(let e=0;e<ee.length;e++){let{folder:t,at:n,notes:r,trunk:i}=ee[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)=>U(e[0])-U(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=U(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]}:H(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=te.length,_=u.cells.at(-1);te.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:an(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||ee.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return Ht(te,y),te.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 an=(e,t)=>Kt.findIndex((n,r)=>n===Math.sign(e)&&qt[r]===Math.sign(t));function on(e){return[{dir:6,cells:cn(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:cn(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:cn(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:cn(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 sn({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+Kt[u],f=c+qt[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+Kt[i],f=d+qt[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 cn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function ln(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 un(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 dn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:gn(t),plan:!!t.blocks,from:t.from??null},r=Mt(e,n);if(t.blocks){let t=fn(r,Xt(r,at(r)));[...t.values()].some(e=>e.wider.size)&&(r=Mt(e,{...n,planned:t}))}r.feeders=pn(r);let i=at(r),a=Xt(r,i),o=rn(r,a,i);return ln(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function fn(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 pn(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=at(e),o=Bt(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]?Ft.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 Ht(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 mn(e){let t=at(e),n=Bt(e,t);return e=>Gt(n,e,t.W,t.H)}function hn(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 gn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function _n(e,t={}){return hn(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,gn(t),!!t.blocks,e]))}var vn,yn=1,bn=new Map;function xn(e){if(vn===void 0)try{vn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),vn.onmessage=({data:e})=>{let t=bn.get(e.id);bn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},vn.onerror=()=>{for(let e of bn.values())e.reject(Error(`the layout worker stopped`));bn.clear(),vn=null}}catch{vn=null}if(!vn)return Promise.reject(Error(`no worker`));let t=yn++;return new Promise((n,r)=>{bn.set(t,{resolve:n,reject:r}),vn.postMessage({id:t,...e})})}var Sn=new Map,Cn=new Map,wn=``;async function Tn(e,t){let n=un(e),r=_n(n,t),i=Sn.get(r);return i||(i=await xn({layout:{model:n,o:t}}).catch(()=>dn(n,t)),Sn.size>=6&&Sn.delete(Sn.keys().next().value),Sn.set(r,i)),{key:r,layout:i}}async function En(e,t,n){if(!n.length)return[];let r=()=>{let r=Cn.get(e);return r||(Cn.clear(),Cn.set(e,r=mn(t))),r(n)},i=wn!==e;return wn=e,(await xn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>xn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var Dn=d(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),On=d(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),kn=d(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),An=u(` <wbr/> `,1),jn=u(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),Mn=u(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),Nn=u(`<a data-lustre=""><!><span class="inner svelte-m50bdg"><!><span class="t svelte-m50bdg"><!></span></span><!><!></a>`);function Pn(e,n){te(n,!0);let i=N(n,`kind`,3,``),a=N(n,`file`,3,``),o=N(n,`prospect`,3,!1),c=N(n,`done`,3,!1),u=N(n,`behind`,3,`var(--ground-0)`),d=N(n,`mark`,3,``),h=N(n,`far`,3,0),g=N(n,`iso`,3,``),_=N(n,`dim`,3,!1),v=N(n,`moment`,3,``),y=N(n,`given`,3,!1),w=N(n,`held`,3,``),T=N(n,`changed`,3,!1),O=N(n,`order`,3,0),k=N(n,`here`,3,!1);var M=Nn();let P;var F=S(M),I=e=>{var n=kn(),a=S(n),o=e=>{var n=Dn();b(()=>E(n,`fill`,c()?`currentColor`:`none`)),t(e,n)},s=e=>{var n=On();b(()=>E(n,`fill`,c()?`currentColor`:`none`)),t(e,n)};r(a,e=>{i()===`question`?e(o):e(s,-1)}),D(n),t(e,n)};r(F,e=>{i()&&e(I)});var L=m(F),R=S(L),V=e=>{ve(e,{get kind(){return a()},size:11})};r(R,e=>{a()&&e(V)});var H=m(R),ee=S(H),U=e=>{var r=An(),i=x(r,!0),a=m(i,2,!0);b((e,t)=>{f(i,e),f(a,t)},[()=>n.title.slice(0,n.title.lastIndexOf(`.`)),()=>n.title.slice(n.title.lastIndexOf(`.`))]),t(e,r)},W=z(()=>a()&&/^[^\s]+\.\w+$/.test(n.title)),G=e=>{var r=p();b(()=>f(r,n.title)),t(e,r)};r(ee,e=>{q(W)?e(U):e(G,-1)}),D(H),D(L);var ne=m(L),K=e=>{var n=jn(),r=C(n,!0);b(()=>f(r,O())),t(e,n)};r(ne,e=>{O()&&e(K)});var re=m(ne),ie=e=>{var n=Mn();t(e,n)};r(re,e=>{T()&&e(ie)}),D(M),b(e=>{P=A(M,1,`n ${v()?`mo-${v()}`:``} ${g()?`p-${g()}`:``} ${d()??``} ${i()??``}`,`svelte-m50bdg`,P,{done:c(),dim:_()&&!g()&&!y(),far:h()>1,given:y(),held:w()===`on`,changed:T(),here:k(),file:!!a(),prospect:o()}),E(M,`aria-current`,k()?`page`:void 0),E(M,`href`,n.href),E(M,`aria-label`,`${o()?`Asked back, not kept: `:i()===`question`?`Question: `:i()===`problem`?`Problem${c()?`, solved`:``}: `:``}${n.title}${y()?`: in Iso's context`:w()===`on`?`: read by the agent`:``}${T()?`, changed by the agent`:``}`),E(M,`title`,y()?`In Iso's context: shift+click takes it back`:void 0),E(M,`data-note`,n.item.ref),j(M,`--x:${n.item.gx??``};--y:${n.item.gy??``};--w:${n.item.w??``};--h:${n.item.h??``};--lit:${e??``}%;--behind:${u()??``}`)},[()=>Math.max(34,100-(h()-1)*20)]),s(`click`,M,function(...e){n.onpick?.apply(this,e)}),l(`pointerenter`,M,e=>{e.pointerType===`mouse`&&n.onpoint(!0)}),l(`pointerleave`,M,e=>{e.pointerType===`mouse`&&n.onpoint(!1)}),l(`focus`,M,()=>n.onpoint(!0)),l(`blur`,M,()=>n.onpoint(!1)),t(e,M),B()}i([`click`]);var Fn=u(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),In=u(`<span class="frame-title held svelte-ywp27z"> </span>`),Ln=u(`<div><!> <!></div>`),Rn=u(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function zn(e,n){te(n,!0);let i=N(n,`titled`,3,!0),a=N(n,`held`,19,()=>({req:0,bld:0})),o=N(n,`dim`,3,!1),c=N(n,`given`,3,!1),l=N(n,`here`,3,!1),u=N(n,`moment`,3,``),d=z(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),p=z(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),h=z(()=>a().req?`req`:a().bld?`bld`:``),g=z(()=>[a().req?`${a().req} required here`:``,a().bld?`${a().bld} ${a().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),_=z(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var v=F(),y=x(v),w=e=>{var a=Ln();let o;var l=S(a),v=e=>{var r=Fn(),i=C(r,!0);b(()=>{E(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=In(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(y,e=>{q(g)&&e(x)}),D(a),b(()=>{o=A(a,1,`folder frame ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,o,{given:c()}),E(a,`data-folder`,n.item.ref),j(a,`${q(_)??``};--inside:${q(d)??``};--behind:${q(p)??``};--ground-here:${q(d)??``}`)}),t(e,a)},T=e=>{var r=Rn();let i;var a=S(r),d=S(a),p=C(d,!0),v=m(d),y=C(v,!0);D(a),D(r),b(()=>{i=A(r,1,`folder frame closed ${q(h)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,i,{dim:o(),given:c(),here:l()}),E(r,`aria-current`,l()?`page`:void 0),E(r,`data-folder`,n.item.ref),j(r,q(_)),E(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),B()}i([`click`]);var Bn=d(`<path pathLength="1"></path>`),Vn=d(`<path></path>`),Hn=d(`<path class="along touch svelte-k96fgh" pathLength="1"></path>`),Un=d(`<!><!>`,1),Wn=d(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),Gn=d(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Kn(e,i){te(i,!0);let a=N(i,`pointed`,3,!1),o=N(i,`grown`,19,()=>[]),s=N(i,`beat`,3,``),c=N(i,`retracting`,19,()=>[]),l=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/i.k}px`;var u=Gn(),d=S(u),f=S(d),p=e=>{var r=F(),i=x(r);n(i,17,c,e=>e.key,(e,n)=>{var r=Bn();let i,a;b(e=>{i=A(r,0,`along retract ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},h=e=>{var r=F(),a=x(r);n(a,17,()=>i.rest,e=>e.key,(e,n)=>{var r=Bn();let i,a;b(e=>{i=A(r,0,`along draw ${q(n).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":e})},[()=>l(q(n))]),t(e,r)}),t(e,r)},g=e=>{var o=Un(),s=x(o);n(s,17,()=>i.rest,e=>e.key,(e,n)=>{var r=Vn();let i;b(()=>{i=A(r,0,w(q(n).strong?`base`:`base weak`),`svelte-k96fgh`,i,{trunk:q(n).trunk}),E(r,`d`,q(n).d)}),t(e,r)});var c=m(s);n(c,17,()=>i.hot,e=>e.key,(e,n)=>{var o=F(),s=x(o),c=e=>{var r=Hn();let a;b(()=>{E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":`${2/i.k}px`})}),t(e,r)},l=e=>{var r=Vn();let i;b(()=>{i=A(r,0,`lit ${q(n).kind??``}`,`svelte-k96fgh`,i,{still:q(n).still}),E(r,`d`,q(n).d)}),t(e,r)};r(s,e=>{a()&&q(n).kind!==`iso`?e(c):e(l,-1)}),t(e,o)}),t(e,o)};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=Wn();let a;b(()=>{E(r,`d`,q(n).d),a=j(r,``,a,{"stroke-width":`${3/i.k}px`})}),t(e,r)}),D(d),D(u),b(()=>{E(u,`data-requires`,i.counts.requires),E(u,`data-builds`,i.counts.builds),E(u,`data-uses`,i.counts.uses),E(d,`transform`,`scale(${i.k??``})`)}),t(e,u),B()}var qn=u(`<p class="said svelte-14y1y1z"> </p>`),Jn=u(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Yn=u(`<span> </span>`),Xn=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>`),Zn=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>`),Qn=u(`<img alt="" loading="lazy" draggable="false" class="svelte-14y1y1z"/>`),$n=u(`<a><!></a>`),er=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>`),tr=d(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),nr=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>`),ir=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>`),ar=u(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),or=u(`<p class="given svelte-14y1y1z" role="status"> </p>`),sr=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>the agent read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>the agent changed it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),cr=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),lr=u(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),ur=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>`),dr=u(`<div aria-hidden="true"> </div>`),fr=u(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!></div> <!> <!> <!> <!> <!> <!>`,1),pr=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 mr(i,c){te(c,!0);let u=U(null),d=U(null),p=``,g=U(``),_=U({x:0,y:0,k:1}),v=U(1),w;a(()=>{let e=q(_).k;clearTimeout(w),Math.abs(Math.log(e/q(v)))>.35?O(v,e,!0):e!==q(v)&&(w=setTimeout(()=>O(v,e,!0),150))});let k=U(!1),M;a(()=>(q(_).x,q(_).y,q(_).k,O(k,!0),clearTimeout(M),M=setTimeout(()=>O(k,!1),200),()=>clearTimeout(M)));let N=e=>{O(_,e),O(v,e.k,!0)},P=U({w:0,h:0}),I=U(``),L=U([]),R=z(()=>q(L).at(-1)??``),V=U(void 0),H=[`fine`,`coarse`,`coarser`],ee=U(e(H.find(e=>e===ie(`isorite.atlas.grain`))??`fine`)),W=U(ie(`isorite.atlas.leaves`)===`on`),K=!1,re=window.innerWidth>=window.innerHeight?`right`:`up`;function ie(e){try{return localStorage.getItem(e)}catch{return null}}function ae(){O(ee,H[(H.indexOf(q(ee))+1)%H.length],!0),K=!1;try{localStorage.setItem(`isorite.atlas.grain`,q(ee))}catch{}le()}function oe(e){O(W,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}let ce=z(()=>{if(!Y.on.questions)return[];let e=[];for(let t of $.session?.turns??[])for(let n of t.items)n.kind===`question`&&!n.made&&e.push({ref:`?${n.id}`,title:n.title,about:n.about});return e});async function le(){try{let e=await J.api.map(),t=o(()=>q(ce)),n={...e.notes};for(let e of t)n[e.ref]={title:e.title,tokens:0,kind:`question`};let r={...e,model:et(e.model,t),notes:n},i={...r,model:tt(r.model,e=>{if(r.files?.[e])return!Y.on.pictures;let t=r.notes[e];return t?.kind===`question`?!Y.on.questions||!!t.done:t?.kind===`problem`&&!Y.on.problems})},a=`${re}|${q(ee)}`,s=q(d)&&p===a?q(d).layout.orders??null:null,c=await Tn(i.model,{gridFlow:re,grain:q(ee),blocks:!0,from:s});p=a;let l=!!q(d)&&q(d).key!==c.key,f=q(d)&&q(X)?{refs:new Set(q(X).items.map(e=>e.ref)),edges:new Set(q(u).model.edges.map(([e,t])=>`${e}>${t}`))}:null,m=!q(d)||q(d).key!==c.key&&!K,h=++Te,_=matchMedia(`(prefers-reduced-motion: reduce)`).matches,v=!!f&&l&&!_;if(v){if(O(we,q(Pe)),O(Se,`retract`),await xe(_e),h!==Te)return;O(we,[]),O(Se,`move`)}if(O(u,i),O(d,c),O(g,``),f&&l&&Oe(f),m&&q(P).w&&N(he()),v){if(await xe(ve),h!==Te)return;O(Se,`draw`),await xe(be),h===Te&&O(Se,``)}}catch(e){O(g,e.message,!0)}}let de=``;a(()=>{let e=q(ce).map(e=>e.ref).join(` `);if(e!==de){let t=de===``&&e===``;de=e,t||le()}});let pe=``;a(()=>{let e=`${Y.on.questions}|${Y.on.problems}|${Y.on.pictures}`;pe&&pe!==e&&le(),pe=e}),a(()=>{le();let e,t=J.on(t=>{t.type===`note-changed`&&(clearTimeout(e),e=setTimeout(()=>{le()},400))});return()=>{t(),clearTimeout(e)}});let X=z(()=>q(d)?Be(q(d).layout):null),Z=z(()=>q(X)?Re(q(X)):null),me=z(()=>q(X)?Ve(q(X),q(v)):``),he=()=>{let e=(q(X)?.margin??0)/2;return Qe({gx:e,gy:e,w:(q(X)?.W??1)-2*e,h:(q(X)?.H??1)-2*e},q(P).w,q(P).h,1,q(X)?.cell)},_e=220,ve=520,be=340,xe=e=>new Promise(t=>setTimeout(t,e)),Se=U(``),we=U([]),Te=0,Ee=U(!1),De=U([]);async function Oe(e){if(O(Ee,!0),setTimeout(()=>O(Ee,!1),700),await y(),!q(X)||!q(Z)||!q(u))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of q(X).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(q(V)?.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(u).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));O(De,n.flatMap(([e,t])=>{let n=q(Z).at.get(e),r=q(Z).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:ke(q(X).items[He(q(Z),q(me),n)],q(X).items[He(q(Z),q(me),r)])}]})),q(De).length&&setTimeout(()=>O(De,[]),5600)}function ke(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 Xe(Ze(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(X).cell)}a(()=>{if(!q(V))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!q(P).w,i=q(P);O(P,{w:t,h:n}),r&&q(X)?N(he()):!r&&t&&n&&O(_,{...q(_),x:q(_).x+(t-i.w)/2,y:q(_).y+(n-i.h)/2})});return e.observe(q(V)),()=>e.disconnect()});let Ae=z(()=>q(X)?q(X).items.flatMap((e,t)=>e.kind===`folder`&&q(me)[t]!==`-`?[{item:e,i:t,open:q(me)[t]===`o`}]:[]):[]),je=z(()=>q(X)?q(X).items.flatMap((e,t)=>e.kind===`note`&&q(me)[t]===`s`?[{item:e,i:t}]:[]):[]),Pe=z(()=>q(X)?qe(Ue(q(X),q(me),q(Z).strong,q(W))).map(e=>({key:e.key,pts:e.pts,d:Xe(e.pts,0,q(X).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Fe(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 Fe(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 ze=z(()=>q(R)||q(I)),We=z(()=>q(ze)&&q(u)&&q(Z)?.at.has(q(ze))?ue(q(u).model,q(ze)):null),Ge=z(()=>{let e=new Map;if(!q(We))return e;for(let t of q(We).also)e.set(t,{mark:`also`,far:0});for(let t of q(We).uses)e.set(t,{mark:`use`,far:0});for(let t of q(We).builds)e.set(t,{mark:`bld`,far:0});for(let t of q(We).requires)e.set(t,{mark:`req`,far:q(We).depth[t]??1});for(let t of q(L))e.set(t,{mark:`req`,far:1});return e.set(q(ze),{mark:`at`,far:0}),e}),Ke=z(()=>{if(!q(We))return[];let e=q(L).slice(1).map((e,t)=>({from:q(L)[t],to:e,kind:`requires`})),t=q(L).at(-2);return[...e,...q(We).links.filter(e=>e.kind===`requires`?e.from===q(ze):e.kind!==`builds`||e.from!==t)]}),Ye=z(()=>{let e=new Map;if(!q(We)||!q(Z))return e;let t=new Set(q(Z).up[q(Z).at.get(q(ze))]),n=(n,r)=>{for(let i of n)for(let n of q(Z).up[q(Z).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(We).requires,`req`),n(q(We).builds,`bld`),e}),nt=(e,t)=>{let n=q(Ye).get(e),r=q(X).items[e].parent;return n&&(!t||r<0||!q(Ye).has(r))?n:{req:0,bld:0}},it=U([]),at=U({requires:0,builds:0,uses:0});function ot(e,t){if(!e.length||!q(X)||!q(Z)||!q(d)){t([],[]);return}let n=e.flatMap(e=>{let t=q(Z).at.get(e.from),n=q(Z).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Je(q(X),q(Z),q(me),n),a=e=>t(qe(e,!0).map(e=>({key:e.key,kind:e.kind,d:Xe(e.pts,0,q(X).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return En(q(d).key,q(X),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(()=>ot(q(Ke),(e,t)=>{O(it,e),O(at,{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 st=z(()=>Ce.route.id===`/n/[...id]`?Ce.params.id??``:``);function ct(e,t=!1){if(!q(X)||!q(Z)||!e)return-1;let n=t?q(X).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):q(Z).at.get(e)??-1;return n<0?-1:He(q(Z),q(me),n)}let lt=z(()=>ct(q(st))),ut=z(()=>ye.elsewhere),dt=z(()=>q(ut)?ct(q(ut).id,q(ut).folder):-1),ft=z(()=>{if(!q(ut)||q(ut).folder||!q(st)||q(ut).id===q(st)||!q(u))return[];let e=q(u).model.edges.find(([e,t])=>e===q(st)&&t===q(ut).id||e===q(ut).id&&t===q(st));return e?[{from:e[0],to:e[1],kind:e[2]>=se.requires?`requires`:`uses`}]:[]}),pt=U([]);a(()=>ot(q(ft),e=>{O(pt,e.map(e=>({...e,key:`there:${e.key}`})))}));let mt=``;a(()=>{let e=q(st);o(()=>{if(e&&e!==mt&&q(R)&&q(R)===mt&&q(Z)?.at.has(e)){let t=[];if(q(We)&&q(We).depth[e])for(let n=e;n&&n!==q(R);n=q(We).via[n])t.unshift(n);O(L,q(L).includes(e)?q(L).slice(0,q(L).indexOf(e)+1):t.length?[...q(L),...t]:[e])}mt=e})});function ht(e){if(!q(X)||e<0||!q(P).w)return null;let t=q(X).items[e],n=q(X).cell*q(_).k,r=q(_).x+t.gx*n,i=q(_).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<q(P).w&&o>0&&i<q(P).h)return null;let s=q(P).w/2,c=q(P).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 gt=z(()=>ht(q(lt))),_t=z(()=>q(dt)===q(lt)?null:ht(q(dt)));function vt(e){if(!q(X))return;let t=q(X).items[e],n=q(X).cell*q(_).k;K=!0,tn({k:q(_).k,x:q(P).w/2-(t.gx+t.w/2)*n,y:q(P).h/2-(t.gy+t.h/2)*n})}let yt=z(()=>J.iso),bt=z(()=>q(yt)?.state===`reading`||q(yt)?.state===`writing`),xt=z(()=>{let e=new Map;for(let t of q(yt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),St=z(()=>Y.on.context),Ct=z(()=>new Set(Q.parts.filter(e=>e.kind===`note`).map(e=>e.id))),wt=z(()=>new Set(Q.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Tt=/(^|[_:./-])(edit_note|write_note|edit|write|patch)$/,Et=z(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&!Tt.test(e.name)?[e.note]:[])))),Dt=z(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&Tt.test(e.name)?[e.note]:[])))),Ot=z(()=>{let e=new Map;for(let t of $.session?.turns.at(-1)?.items??[])t.kind===`tool`&&t.note&&!t.base&&t.status!==`failed`&&!Tt.test(t.name)&&!e.has(t.note)&&e.set(t.note,e.size+1);return e}),kt=z(()=>q(bt)?q(yt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),At=z(()=>(q(yt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),jt=U([]);a(()=>ot(q(At),e=>{O(jt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let Mt=e=>{if(!q(St))return``;if(e===q(kt))return`used`;let t=q(xt).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``},Nt=U(null),Pt=null,Ft=!1,It,Lt;function Rt(){clearTimeout(It),clearTimeout(Lt),It=Lt=void 0,Pt=null,Ft||O(Nt,null)}function zt(e,t){let n=null;for(let r of q(X).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 Bt(e,t){if(Rt(),q(Ht)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&O(Ht,null),Ft||!q(X)||!q(Z)||!(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`;Lt=setTimeout(()=>{Lt=void 0,nn=!0,r?O(Ht,{ref:n,x:t.x,y:t.y}):Kt(n)},650);return}let r=q(X).cell*q(_).k,i=Math.round((t.x-q(_).x)/r),a=Math.round((t.y-q(_).y)/r),o={dir:zt(i,a),gx:i,gy:a,w:0,h:0,folder:!1};It=setTimeout(()=>{O(Nt,o)},180),Lt=setTimeout(()=>{Lt=void 0,nn=!0,Pt=t,O(Nt,o),q(V)?.setPointerCapture(e.pointerId)},650)}function Vt(e){Pt&&q(Nt)&&!q(Nt).folder&&Math.hypot(e.x-Pt.x,e.y-Pt.y)>=24&&O(Nt,{...q(Nt),folder:!0})}let Ht=U(null),Ut=U(``),Wt=U(``),Gt;function Kt(e,t=`note`){let n=Q.add({kind:t,id:e,title:t===`note`?Qt(e):$t(e)});O(Wt,n?`${t===`note`?Qt(e):$t(e)} is in Iso's context`:`${t===`note`?Qt(e):$t(e)} is in Iso's context already`,!0),clearTimeout(Gt),Gt=setTimeout(()=>O(Wt,``),2200)}function qt(e,t=`note`){if(!Q.has(t,e)){Kt(e,t);return}let n=t===`note`?Qt(e):$t(e);Q.remove({kind:t,id:e,title:n}),O(Wt,`${n} is out of Iso's context`),clearTimeout(Gt),Gt=setTimeout(()=>O(Wt,``),2200)}function Jt(){Pt&&q(Nt)&&(Pt=null,Yt(q(Nt)))}async function Yt(e){Ft=!0;let t=J.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Me(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Me(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 J.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await J.refresh(),Y.fresh=i,await Y.open(i)}catch(e){O(Ut,e.message,!0)}finally{Ft=!1,O(Nt,null)}}async function Xt(e,t){try{await Ne(e,t)}catch(e){O(Ut,e.message,!0)}}let Zt=e=>e.endsWith(`/`)?e.slice(0,-1):e,Qt=e=>q(u)?.notes[e]?.title??q(u)?.files?.[e]?.title??e.split(`/`).at(-1)??e,$t=e=>e.split(`/`).at(-1)||J.session?.name||`the base`,en=0;function tn(e){if(cancelAnimationFrame(en),yn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){O(_,e);return}let t=q(_),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(P).w/2,l=q(P).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;O(_,a===1?e:{k:s,x:c-u*s,y:l-d*s}),a<1&&(en=requestAnimationFrame(r))};en=requestAnimationFrame(r)}let nn=!1,rn=new Map,an=null;function on(){let e=[...rn.values()];if(!e.length){an=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;an={view:q(_),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(V).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},cn=null,ln=U(e({x:0,y:0}));function un(e){if(!(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:Qt(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:$t(n)}:null}function dn(e){if(!cn||e.pointerType!==`mouse`)return;O(ln,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;Q.carrying={part:cn,over:t}}function fn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(en),yn(),rn.size||(nn=!1,cn=un(e)),rn.set(e.pointerId,sn(e)),on(),rn.size===1?Bt(e,sn(e)):Rt())}function pn(e){if(!rn.has(e.pointerId)||!an)return;if(rn.set(e.pointerId,sn(e)),Pt){Vt(sn(e));return}let t=[...rn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!nn&&t.length===1&&Math.hypot(n-an.x,r-an.y)<5)return;if(nn||(nn=!0,Rt(),q(V).setPointerCapture(e.pointerId)),t.length===1&&cn){dn(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=an.span&&i?$e(an.view,i/an.span,an.x,an.y):an.view;O(_,{k:a.k,x:a.x+n-an.x,y:a.y+r-an.y})}function mn(e){if(rn.delete(e.pointerId)){if(Q.carrying){let{part:e,over:t}=Q.carrying;Q.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&Kt(e.id,e.kind)}cn=null,Pt?Jt():Lt!==void 0&&Rt(),on()}}let hn=null,gn=0;function _n(e){e.preventDefault(),cancelAnimationFrame(en),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(Le,(hn?.k??q(_).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?O(_,$e(q(_),i/q(_).k,t.x,t.y)):(hn={k:i,x:t.x,y:t.y},gn||=requestAnimationFrame(vn))}function vn(){if(gn=0,!hn)return;let e=hn.k/q(_).k;Math.abs(Math.log(e))<.004?(O(_,$e(q(_),e,hn.x,hn.y)),hn=null):(O(_,$e(q(_),e**.3,hn.x,hn.y)),gn=requestAnimationFrame(vn))}function yn(){cancelAnimationFrame(gn),gn=0,hn=null}a(()=>{if(!q(V))return;let e=q(V);return e.addEventListener(`wheel`,_n,{passive:!1}),()=>e.removeEventListener(`wheel`,_n)});function bn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),nn))return;if(t.startsWith(`?`)){Y.to(`iso`);return}if(e.shiftKey){t.startsWith(`@`)||qt(t);return}if(q(R)===t){Y.open(Zt(t));return}let n=[];if(q(We)&&q(ze)===q(R)&&q(We).depth[t])for(let e=t;e&&e!==q(R);e=q(We).via[e])n.unshift(e);O(L,q(L).includes(t)?q(L).slice(0,q(L).indexOf(t)+1):n.length?[...q(L),...n]:[t])}function xn(e,t){if(nn||!q(X))return;let n=q(X).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||qt(n,`folder`);return}K=!0;let r=Qe(q(X).items[e],q(P).w,q(P).h,1.5,q(X).cell),i=Math.abs(r.k-q(_).k)<.01*r.k&&Math.hypot(r.x-q(_).x,r.y-q(_).y)<4,a=q(X).items[e].parent;tn(i?a<0?he():Qe(q(X).items[a],q(P).w,q(P).h,1.5,q(X).cell):r)}function Sn(e){if(nn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(q(R)?O(L,[]):q(yt)&&!q(bt)?J.iso=null:t&&q(X)?xn(q(X).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):tn(he()))}function Cn(e){if(e.key===`Escape`){O(L,[]),O(I,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ae();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){oe(!q(W));return}if(e.target!==q(V))return;let t={x:q(P).w/2,y:q(P).h/2};if(e.key===`+`||e.key===`=`)O(_,$e(q(_),1.25,t.x,t.y));else if(e.key===`-`)O(_,$e(q(_),.8,t.x,t.y));else if(e.key===`0`)tn(he());else if(e.key===`ArrowLeft`)O(_,{...q(_),x:q(_).x+80});else if(e.key===`ArrowRight`)O(_,{...q(_),x:q(_).x-80});else if(e.key===`ArrowUp`)O(_,{...q(_),y:q(_).y+80});else if(e.key===`ArrowDown`)O(_,{...q(_),y:q(_).y-80});else return;e.preventDefault(),K=!0}let wn=z(()=>{if(!q(X)||!q(P).w||q(_).k<=he().k*1.05)return-1;let e=q(X).cell*q(_).k,t=(q(P).w/2-q(_).x)/e,n=(q(P).h/2-q(_).y)/e,r=-1;return q(X).items.forEach((i,a)=>{i.kind!==`folder`||q(me)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*q(P).w||i.h*e>=.6*q(P).h)&&(r<0||q(X).items[r].depth<i.depth)&&(r=a)}),r});function Dn(){if(!q(X))return;K=!0;let e=q(wn)<0?-1:q(X).items[q(wn)].parent;tn(e<0?he():Qe(q(X).items[e],q(P).w,q(P).h,1.5,q(X).cell))}let On=z(()=>12*q(v)>=Ie),kn=z(()=>q(X)&&q(u)?rt(q(je).map(e=>e.item),q(u).notes,{web:Y.on.web,code:Y.on.code}):[]);function An(e,t){let n=ge(J.api,t);typeof n==`string`?e.src=n:n.then(t=>{t&&(e.src=t)})}let jn=e=>e>=0&&q(X).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;a(()=>(J.atlas={chosen:q(R)?Qt(q(R)):``,chosenId:q(R),steps:q(L).length-1,here:q(wn)<0?``:$t(q(X).items[q(wn)].ref),out:Dn,fit:()=>{K=!1,tn(he())}},()=>{J.atlas=null}));var Mn=pr();let Nn;var Fn=S(Mn),In=m(Fn,2),Ln=e=>{var n=qn(),r=C(n);b(()=>f(r,`The map could not be drawn: ${q(g)??``}`)),t(e,n)},Rn=e=>{var i=fr(),a=x(i),o=e=>{var n=Jn();t(e,n)};r(a,e=>{q(X).items.length||e(o)});var c=m(a,2);let l;var d=S(c);n(d,21,()=>q(Ae),e=>e.item.id,(e,t)=>{{let n=z(()=>$t(q(t).item.ref)),r=z(()=>q(t).item.parent<0||(q(t).item.gy-q(X).items[q(t).item.parent].gy)*q(X).cell*q(v)>=18),i=z(()=>nt(q(t).i,q(t).open)),a=z(()=>!!q(We)&&!q(t).open&&!q(Ye).has(q(t).i)),o=z(()=>q(St)&&q(wt).has(q(t).item.ref)),s=z(()=>!q(t).open&&q(lt)===q(t).i),c=z(()=>q(dt)===q(t).i?q(ut).who:``);zn(e,{get item(){return q(t).item},get name(){return q(n)},get count(){return q(Z).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=>xn(q(t).i,e)})}}),D(d);var p=m(d,2);{let e=z(()=>!q(R)&&!!q(I)),t=z(()=>[...q(St)?q(jt):[],...q(it),...q(pt)]);Kn(p,{get k(){return q(v)},get rest(){return q(Pe)},get pointed(){return q(e)},get hot(){return q(t)},get counts(){return q(at)},get grown(){return q(De)},get beat(){return q(Se)},get retracting(){return q(we)}})}var g=m(p,2),y=e=>{var i=F(),a=x(i);n(a,17,()=>q(Pe),e=>e.key,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=Yn(),i=C(r,!0);b(()=>{A(r,1,`count ${q(n).side??``}`,`svelte-14y1y1z`),j(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(g,e=>{q(On)&&!q(Se)&&e(y)});var w=m(g,2),T=S(w);n(T,17,()=>q(je),e=>e.item.id,(e,t)=>{let n=z(()=>q(Ge).get(q(t).item.ref)),r=z(()=>q(n)?.mark??``);{let i=z(()=>Qt(q(t).item.ref)),a=z(()=>q(u).notes[q(t).item.ref]?.kind??``),o=z(()=>!!q(u).notes[q(t).item.ref]?.done),s=z(()=>jn(q(t).item.parent)),c=z(()=>q(n)?.far??0),l=z(()=>Mt(q(t).item.ref)),d=z(()=>q(u).files?.[q(t).item.ref]?.kind??``),f=z(()=>q(t).item.ref.startsWith(`?`)),p=z(()=>q(St)&&q(Ct).has(q(t).item.ref)),m=z(()=>q(St)&&!q(Ct).has(q(t).item.ref)&&q(Et).has(q(t).item.ref)?`on`:``),h=z(()=>q(St)&&q(Dt).has(q(t).item.ref)),g=z(()=>q(St)?q(Ot).get(q(t).item.ref)??0:0),_=z(()=>q(dt)===q(t).i?q(ut).who:``),v=z(()=>q(lt)===q(t).i),y=z(()=>!!q(We)&&!q(r)),b=z(()=>fe(Zt(q(t).item.ref)));Pn(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 iso(){return q(l)},get file(){return q(d)},get prospect(){return q(f)},get given(){return q(p)},get held(){return q(m)},get changed(){return q(h)},get order(){return q(g)},get moment(){return q(_)},get here(){return q(v)},get dim(){return q(y)},get href(){return q(b)},onpick:e=>bn(e,q(t).item.ref),onpoint:e=>{O(I,e?q(t).item.ref:q(I)===q(t).item.ref?``:q(I),!0),ye.onAtlas=q(I)}})}});var M=m(T,2);n(M,17,()=>q(kn),e=>e.key,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=Xn();b(()=>{E(r,`href`,q(n).href),E(r,`title`,`${q(n).text} · ${q(n).href}`),E(r,`aria-label`,q(n).text),E(r,`data-sat`,q(n).key),j(r,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)}),s(`click`,r,e=>{nn&&e.preventDefault(),e.stopPropagation()}),t(e,r)},c=e=>{var i=$n();let a;var o=S(i),c=e=>{var n=Zn();t(e,n)},l=e=>{var r=Qn();ne(r,(e,t)=>An?.(e,t),()=>q(n).picture),h(r),t(e,r)};r(o,e=>{q(n).broken?e(c):e(l,-1)}),D(i),b(e=>{a=A(i,1,`sat picture svelte-14y1y1z`,null,a,{broken:q(n).broken}),E(i,`href`,e),E(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`:``}`),E(i,`aria-label`,`${q(n).text}${q(n).broken?`, missing`:``}`),E(i,`data-sat`,q(n).key),j(i,`--x:${q(n).gx??``};--y:${q(n).gy??``}`)},[()=>fe(q(n).note)]),s(`click`,i,e=>{nn&&e.preventDefault(),e.stopPropagation()}),t(e,i)},l=e=>{var r=er();let i;b(e=>{i=A(r,1,`sat code svelte-14y1y1z`,null,i,{broken:q(n).broken}),E(r,`title`,e),E(r,`aria-label`,`${q(n).text}${q(n).broken?`, not in the repository`:``}`),E(r,`data-sat`,q(n).key),j(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)}),D(w);var N=m(w,2),L=e=>{var n=rr();let i;var a=S(n),o=S(a),s=e=>{var n=tr();t(e,n)},c=e=>{var n=nr();G(),t(e,n)};r(o,e=>{q(Nt).folder?e(s):e(c,-1)}),D(a);var l=m(a,2),u=C(l);D(n),b(()=>{i=A(n,1,`grasp svelte-14y1y1z`,null,i,{folder:q(Nt).folder}),j(n,`--x:${q(Nt).gx??``};--y:${q(Nt).gy??``}`),f(u,`${q(Nt).folder?`a new folder`:`a new note`}${q(Nt).dir?` in ${q(Nt).dir}`:``}`)}),t(e,n)};r(N,e=>{q(Nt)&&e(L)}),D(c);var B=m(c,2);n(B,17,()=>[{p:q(gt),i:q(lt),who:`here`},{p:q(_t),i:q(dt),who:q(ut)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,n)=>{var i=F(),a=x(i),o=e=>{var r=ir();b((e,t)=>{A(r,1,`pip ${q(n).who??``}`,`svelte-14y1y1z`),j(r,`left:${q(n).p.x??``}px;top:${q(n).p.y??``}px;--a:${q(n).p.angle??``}rad`),E(r,`data-pip`,q(n).who===`here`?`here`:`there`),E(r,`aria-label`,`Bring ${e??``} into view`),E(r,`title`,`${t??``}${q(n).who===`here`?`: open in the Note pane`:``}`)},[()=>Qt(q(X).items[q(n).i].ref),()=>Qt(q(X).items[q(n).i].ref)]),s(`click`,r,e=>{e.stopPropagation(),vt(q(n).i)}),t(e,r)};r(a,e=>{q(n).p&&e(o)}),t(e,i)});var V=m(B,2),H=e=>{var n=ar(),r=C(n,!0);b(()=>f(r,q(Ut))),t(e,n)};r(V,e=>{q(Ut)&&e(H)});var ee=m(V,2),te=e=>{var n=or(),r=C(n);b(()=>f(r,`◆ ${q(Wt)??``}`)),t(e,n)};r(ee,e=>{q(Wt)&&e(te)});var U=m(ee,2),W=e=>{var n=sr();t(e,n)};r(U,e=>{Y.on.context&&!q(Wt)&&Y.settings===`atlas`&&e(W)});var K=m(U,2),re=e=>{let n=z(()=>q(Ht));var i=ur(),a=S(i),o=e=>{var r=cr();s(`click`,r,e=>{e.stopPropagation(),qt(q(n).ref),O(Ht,null)}),t(e,r)},c=z(()=>Q.has(`note`,q(n).ref)),l=e=>{var r=lr();s(`click`,r,e=>{e.stopPropagation(),Kt(q(n).ref),O(Ht,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);D(i),b((e,t)=>{E(i,`aria-label`,e),j(i,`left:${t??``}px;top:${q(n).y+14}px`)},[()=>Qt(q(n).ref),()=>Math.min(q(n).x,q(P).w-170)]),s(`click`,u,e=>{e.stopPropagation(),O(Ht,null),Y.open(q(n).ref,!0)}),s(`click`,d,e=>{e.stopPropagation(),O(Ht,null),Xt(`question`,q(n).ref)}),s(`click`,f,e=>{e.stopPropagation(),O(Ht,null),Xt(`problem`,q(n).ref)}),t(e,i)};r(K,e=>{q(Ht)&&e(re)});var ie=m(K,2),ae=e=>{var n=dr();let r;var i=C(n);b(()=>{r=A(n,1,`carried svelte-14y1y1z`,null,r,{over:Q.carrying.over}),j(n,`left:${q(ln).x??``}px;top:${q(ln).y??``}px`),f(i,`${Q.carrying.part.kind===`folder`?`▭`:`▣`} ${Q.carrying.part.title??``}`)}),t(e,n)};r(ie,e=>{Q.carrying&&e(ae)}),b((e,t)=>{l=A(c,1,`atlas-world svelte-14y1y1z`,null,l,{labels:q(On),shifting:q(Ee),moving:q(k)}),E(c,`data-open`,q(me)),j(c,`transform: translate(${e??``}px, ${t??``}px) scale(${q(_).k/q(v)}); --u: ${(q(X)?.cell??7)*q(v)}px; --k: ${q(v)??``}`),j(d,`transform: scale(${q(v)??``}); --u: ${q(X).cell??``}px; --px: ${1/q(v)}px; --ik: ${1/q(v)}`),j(w,`transform: scale(${q(v)??``}); --u: ${q(X).cell??``}px; --px: ${1/q(v)}px; --ik: ${1/q(v)}`)},[()=>q(k)?q(_).x:Math.round(q(_).x),()=>q(k)?q(_).y:Math.round(q(_).y)]),t(e,i)};r(In,e=>{q(g)?e(Ln):q(X)&&q(u)&&e(Rn,1)}),D(Mn),T(Mn,e=>O(V,e),()=>q(V)),b(()=>{Nn=A(Mn,1,`atlas svelte-14y1y1z`,null,Nn,{lit:!!q(We)}),j(Fn,`transform: translate(${(q(_).x%24+24)%24}px, ${(q(_).y%24+24)%24}px)`)}),s(`pointerdown`,Mn,fn),s(`pointermove`,Mn,pn),s(`pointerup`,Mn,mn),l(`pointercancel`,Mn,mn),s(`click`,Mn,Sn),s(`keydown`,Mn,Cn),l(`dragstart`,Mn,e=>e.preventDefault()),s(`contextmenu`,Mn,e=>{(q(Nt)||It!==void 0||Lt!==void 0||q(Ht))&&e.preventDefault()}),t(i,Mn),B()}i([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var hr=u(`<div class="map svelte-nwxyyl"><!> <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></div>`);function gr(n,i){te(i,!0);let o=U(e((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),c=U([]),l=U(null),u=e=>J.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),d=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{O(c,(await J.api.timeline()).filter(e=>!e.note.startsWith(`@`)))}catch{}}a(()=>{if(!q(o))return;f();let e,t=J.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function p(e){oe(`${fe(e.note)}?at=${encodeURIComponent(me(e))}`)}a(()=>{let e=q(l);ye.set(`timeline`,e?{id:e.note,folder:!1,who:d(e)?`iso`:`you`}:null)});function h(){O(o,!q(o)),O(l,null);try{localStorage.setItem(`isorite.timeline`,q(o)?`1`:`0`)}catch{}}var g=hr(),_=S(g);mr(_,{});var v=m(_,2),y=S(v),x=m(y,2),C=e=>{_e(e,{get moments(){return q(c)},at:null,get pointed(){return q(l)},leftward:!0,name:`This session's timeline`,label:e=>u(e.note),point:e=>O(l,e),pick:e=>p(e)})};r(x,e=>{q(o)&&e(C)}),D(v),D(g),b(()=>E(y,`aria-pressed`,q(o))),s(`click`,y,h),t(n,g),B()}i([`click`]);var _r=u(`<p class="faint none svelte-19hl4w"> </p>`),vr=u(`<div role="listitem"><button type="button" data-lustre=""><!> <span class="m svelte-19hl4w"> </span> <span class="q svelte-19hl4w"> </span> <span class="m svelte-19hl4w"> </span></button></div>`),yr=u(`<h2 class="label none svelte-19hl4w">earlier, with Iso</h2> <!>`,1),br=u(`<p class="faint none svelte-19hl4w">Started for this pane: <code class="svelte-19hl4w"> </code> · <button type="button" class="more svelte-19hl4w">stop it</button></p>`),xr=u(`<p class="bad none svelte-19hl4w" role="alert"> </p>`),Sr=u(`<div class="drawer svelte-19hl4w" role="list" aria-label="The agents' sessions"><!> <!> <!> <!> <!></div>`);function Cr(e,i){te(i,!0);let o=864e5;function c(e){let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime();return Number.isNaN(t.getTime())?``:t.getTime()>=r?`today · ${t.toTimeString().slice(0,5)}`:t.getTime()>=r-o?`yesterday`:t.getTime()>=r-6*o?t.toLocaleDateString(void 0,{weekday:`short`}):t.toLocaleDateString(void 0,{day:`numeric`,month:`short`,...t.getFullYear()===n.getFullYear()?{}:{year:`numeric`}})}let l=(e,t)=>`${e} ${t}${e===1?``:`s`}`,u=z(()=>$.view?.sessions??[]),d=e=>!$.old&&e.session===$.view?.session&&e.agent===$.view?.agentId,p=e=>e.busy?`at work`:e.live?`live`:e.kept?e.open?`kept`:`kept · to read`:`the agent's own`,h=J.api?.terminal??null,g=U(null);a(()=>{h&&[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname)&&h.chosen().then(e=>O(g,e),()=>void 0)});async function _(){try{O(g,await h?.choose(null)??null)}catch(e){$.problem=e.message}}async function v(e){await $.follow(e.agent,e.session),$.problem||($.shown=`session`)}var y=Sr(),w=S(y),T=e=>{var n=_r(),r=C(n);b(()=>f(r,`No sessions yet${$.acp?``:`: attach an agent, and its sessions are kept here`}.`)),t(e,n)};r(w,e=>{q(u).length||e(T)});var k=m(w,2);n(k,17,()=>q(u),e=>`${e.agent}/${e.session}`,(e,n)=>{var r=vr(),i=S(r);let a;var o=S(i);we(o,{get id(){return q(n).session},size:44,get growing(){return q(n).busy}});var u=m(o,2),h=C(u),g=m(u,2),_=C(g,!0),y=m(g,2),x=C(y,!0);D(i),D(r),b((e,t,r,o,s)=>{a=A(i,1,`spec frame svelte-19hl4w`,null,a,{on:e,live:q(n).live}),E(i,`aria-current`,t),i.disabled=!q(n).open&&!q(n).kept,E(i,`title`,!q(n).open&&!q(n).kept?`${q(n).name} isn't attached to carry it on`:void 0),f(h,`${q(n).name??``} · ${r??``}${o??``}`),f(_,q(n).title||q(n).asked||`A session`),f(x,s)},[()=>d(q(n)),()=>d(q(n))?`true`:void 0,()=>p(q(n)),()=>c(q(n).last)?` · ${c(q(n).last)}`:``,()=>q(n).turns?`${l(q(n).notes,`note`)} · ${l(q(n).turns,`turn`)}`:`not carried here yet`]),s(`click`,i,()=>void v(q(n))),t(e,r)});var j=m(k,2),M=e=>{var r=yr(),i=m(x(r),2);n(i,17,()=>$.past,e=>e.id,(e,n)=>{var r=vr(),i=S(r);let a;var o=S(i);we(o,{get id(){return q(n).id},size:44});var u=m(o,2),d=C(u),p=m(u,2),h=C(p,!0),g=m(p,2),_=C(g);D(i),D(r),b((e,t,r)=>{a=A(i,1,`spec frame svelte-19hl4w`,null,a,{on:$.old?.session===q(n).id}),E(i,`aria-current`,$.old?.session===q(n).id?`true`:void 0),f(d,`Iso · to read${e??``}`),f(h,q(n).asked),f(_,`${t??``} · ${r??``}`)},[()=>c(q(n).last)?` · ${c(q(n).last)}`:``,()=>l(q(n).notes,`note`),()=>l(q(n).turns,`turn`)]),s(`click`,i,()=>void $.read(q(n).id)),t(e,r)}),t(e,r)};r(j,e=>{$.past.length&&e(M)});var N=m(j,2),P=e=>{var n=br(),r=m(S(n)),i=C(r,!0),a=m(r,2);D(n),b(()=>f(i,q(g).choice&&`id`in q(g).choice?q(g).choice.id:q(g).command)),s(`click`,a,()=>void _()),t(e,n)};r(N,e=>{q(g)?.running&&e(P)});var F=m(N,2),I=e=>{var n=xr(),r=C(n,!0);b(()=>f(r,$.problem)),t(e,n)};r(F,e=>{$.problem&&e(I)}),D(y),t(e,y),B()}i([`click`]);var wr=u(`<span class="chosen svelte-6livgy"> </span> <button type="button" class="more svelte-6livgy">start it again</button> · <button type="button" class="more svelte-6livgy">none</button>`,1),Tr=u(`<span class="bad svelte-6livgy" role="alert"> </span>`),Er=u(`<li><span class="faint"> </span> <button type="button" class="more svelte-6livgy">use it</button></li>`),Dr=u(`<ul class="found svelte-6livgy" aria-label="Agents found on this machine"></ul>`),Or=u(`<li><b class="svelte-6livgy">Here, in this pane</b>: <!> <button type="button" class="more svelte-6livgy"> </button> <!> <!></li>`),kr=u(`<button type="button" class="more svelte-6livgy">the project's config</button>`),Ar=u(`<p class="faint svelte-6livgy">Reading the ACP registry…</p>`),jr=u(`<option> </option>`),Mr=u(`<label class="hidden-label" for="agent-pick">An agent of the ACP registry</label> <select id="agent-pick" class="field svelte-6livgy"><option>An agent of the ACP registry…</option><!></select>`,1),Nr=u(`<form class="pick svelte-6livgy"><!> <label class="hidden-label" for="agent-command">Or the command of an ACP agent</label> <input id="agent-command" class="field svelte-6livgy" placeholder="or its command: hermes acp" autocomplete="off" spellcheck="false"/> <p class="faint svelte-6livgy">It runs on this machine, in the base's repository, with the server's environment: its key and model are set up as for its own terminal.</p> <p class="svelte-6livgy"><button type="submit" class="btn"> </button></p></form>`),Pr=u(`<pre class="svelte-6livgy"> </pre>`),Fr=u(`<p class="faint"> </p> <!>`,1),Ir=u(`<p><button type="button" class="btn"> </button></p>`),Lr=u(`<p class="faint"> </p>`),Rr=u(`<!> <!> <!>`,1),zr=u(`<p class="bad svelte-6livgy" role="alert"> </p>`),Br=u(`<section class="attach svelte-6livgy" aria-label="Attach your agent"><h2 class="label svelte-6livgy">your own agent</h2> <p class="soft">Attach the agent you already use, and its conversations show here, with the notes it reads lit on the Atlas.</p> <ul class="svelte-6livgy"><!> <li><b class="svelte-6livgy">From an ACP front end</b> (Toad, Zed): run it with <code class="svelte-6livgy">isorite acp --agent "opencode acp"</code> as its agent (or <code class="svelte-6livgy">omp acp</code>, or any ACP agent's command). Asked there or here.</li> <li><b class="svelte-6livgy">In its own terminal</b>: give it isorite's MCP, <code class="svelte-6livgy"> </code>, or <code class="svelte-6livgy">isorite mcp</code> in the project's config. <!></li></ul> <!> <!> <!></section>`);function Vr(i,o){te(o,!0);let c=J.api?.terminal??null,u=U(null),d=U(``),h=U(e([])),g=U(!1),_=new URL(X()?`b/${encodeURIComponent(X())}/mcp`:`mcp`,document.baseURI).href,v=[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname),y=U(null),w=U(null),T=U(!1),k=U(``),A=U(``),j=U(!1),M=U([]);a(()=>{c&&v&&c.chosen().then(e=>O(y,e),()=>void 0)}),a(()=>{c&&v&&c.detected().then(e=>O(M,e),()=>void 0)});let N=e=>e?`command`in e?e.command:q(w)?.find(t=>t.id===e.id)?.name??e.id:``;async function P(){if(O(T,!q(T)),q(T)&&!q(w)&&c)try{O(w,(await c.registry()).filter(e=>e.how))}catch(e){O(d,e.message,!0),O(w,[])}}async function R(e){if(O(d,``),c){O(j,!0);try{O(y,await c.choose(e)),e&&O(T,!1)}catch(e){O(d,e.message,!0)}finally{O(j,!1)}}}function H(e){e.preventDefault(),q(A).trim()?R({command:q(A).trim()}):q(k)&&R({id:q(k)})}async function ee(){if(O(g,!q(g)),q(g)&&!q(u)&&c)try{O(u,await c.project())}catch(e){O(d,e.message,!0)}}async function G(){if(O(d,``),c)try{O(h,await c.writeProject(),!0),O(u,q(u)&&{...q(u),files:q(u).files.map(e=>({...e,current:!0}))})}catch(e){O(d,e.message,!0)}}let ne=z(()=>q(u)?.files.filter(e=>!e.current)??[]);var K=F(),re=x(K),ie=e=>{var i=Br(),a=m(S(i),4),o=S(a),c=e=>{var i=Or(),a=m(S(i),2),o=e=>{var n=wr(),r=x(n),i=C(r,!0),a=m(r),o=m(a),c=m(o,2);b(e=>{f(i,e),f(a,`, ${q(y).running?`started for this base`:`not running`}. `),o.disabled=q(j),c.disabled=q(j)},[()=>N(q(y).choice)]),s(`click`,o,()=>void R(q(y)?.choice??null)),s(`click`,c,()=>void R(null)),t(e,n)},c=e=>{var n=p(`an agent isorite starts for this base, asked only from here.`);t(e,n)};r(a,e=>{q(y)?.choice?e(o):e(c,-1)});var l=m(a,2),u=C(l,!0),d=m(l,2),h=e=>{var n=Tr(),r=C(n);b(e=>f(r,`${q(y).problem??``}${e??``}`),[()=>q(y).hint?`: ${q(y).hint}`:q(y).said?`: ${q(y).said.trim().split(`
2
+ `).at(-1)}`:``]),t(e,n)};r(d,e=>{q(y)?.problem&&e(h)});var g=m(d,2),_=e=>{var r=Dr();n(r,21,()=>q(M),e=>e.id,(e,n)=>{var r=Er(),i=S(r),a=C(i,!0),o=m(i,2);D(r),b(()=>{f(a,q(n).note),o.disabled=q(j)||!q(n).ready}),s(`click`,o,()=>void R({command:q(n).command})),t(e,r)}),D(r),t(e,r)};r(g,e=>{!q(y)?.choice&&q(M).length&&e(_)}),D(i),b(()=>{E(l,`aria-expanded`,q(T)),f(u,q(y)?.choice?`another`:`choose one`)}),s(`click`,l,()=>void P()),t(e,i)};r(o,e=>{v&&e(c)});var F=m(o,4),z=m(S(F),2),B=C(z,!0),te=m(z,4),U=e=>{var n=kr();b(()=>E(n,`aria-expanded`,q(g))),s(`click`,n,()=>void ee()),t(e,n)};r(te,e=>{v&&e(U)}),D(F),D(a);var K=m(a,2),re=e=>{var i=Nr(),a=S(i),o=e=>{var n=Ar();t(e,n)},c=e=>{var r=Mr(),i=m(x(r),2),a=S(i);a.value=a.__value=``;var o=m(a);n(o,17,()=>q(w),e=>e.id,(e,n)=>{var r=jr(),i=C(r),a={};b(()=>{E(r,`title`,q(n).description),f(i,`${q(n).name??``} ${q(n).version??``}`),a!==(a=q(n).id)&&(r.value=(r.__value=a)??``)}),t(e,r)}),D(i),L(i),s(`change`,i,()=>O(A,``)),V(i,()=>q(k),e=>O(k,e)),t(e,r)};r(a,e=>{q(w)===null?e(o):q(w).length&&e(c,1)});var u=m(a,4);W(u);var d=m(u,4),p=S(d),h=C(p,!0);D(d),D(i),b(e=>{p.disabled=e,f(h,q(j)?`starting…`:`attach it`)},[()=>q(j)||!q(k)&&!q(A).trim()]),l(`submit`,i,H),s(`input`,u,()=>O(k,``)),I(u,()=>q(A),e=>O(A,e)),t(e,i)};r(K,e=>{q(T)&&e(re)});var ie=m(K,2),ae=e=>{var i=Rr(),a=x(i);n(a,17,()=>q(u).files,e=>e.file,(e,n)=>{var i=Fr(),a=x(i),o=C(a),s=m(a,2),c=e=>{var r=Pr(),i=C(r,!0);b(()=>f(i,q(n).after)),t(e,r)};r(s,e=>{q(n).current||e(c)}),b(()=>f(o,`${q(n).file??``} (${q(n).harness??``})${q(n).current?`: has it`:``}`)),t(e,i)});var o=m(a,2),c=e=>{var n=Ir(),r=S(n),i=C(r);D(n),b(e=>f(i,`write ${e??``}`),[()=>q(ne).map(e=>e.file).join(` and `)]),s(`click`,r,()=>void G()),t(e,n)};r(o,e=>{q(ne).length&&e(c)});var l=m(o,2),d=e=>{var n=Lr(),r=C(n);b(e=>f(r,`Written: ${e??``}. Commit them with the project.`),[()=>q(h).join(`, `)]),t(e,n)};r(l,e=>{q(h).length&&e(d)}),t(e,i)};r(ie,e=>{q(g)&&q(u)&&e(ae)});var oe=m(ie,2),se=e=>{var n=zr(),r=C(n,!0);b(()=>f(r,q(d))),t(e,n)};r(oe,e=>{q(d)&&e(se)}),D(i),b(()=>f(B,_)),t(e,i)};r(re,e=>{c&&e(ie)}),t(i,K),B()}i([`click`,`change`,`input`]);var Hr=u(`<i></i>`),Ur=u(`<span> </span>`),Wr=u(`<span> </span><span class="faint"> </span>`,1),Gr=u(`<span class="faint"> </span>`),Kr=u(`<div class="strata svelte-po8nwq" role="img"></div> <p class="total svelte-po8nwq"><!><!></p>`,1),qr=u(`<p class="faint"> </p>`),Jr=u(`<span class="num svelte-po8nwq"> </span>`),Yr=u(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span aria-hidden="true"> </span><span class="t svelte-po8nwq"> </span><span class="d svelte-po8nwq"> </span><!></span></li>`),Xr=u(`<div class="column svelte-po8nwq"><!> <p class="faint"> </p></div> <h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="The notes in the session"></ul>`,1),Zr=u(`<p class="faint">With an agent attached, what it has in hand shows here: isorite's part, the notes it was given and read, and the room left.</p>`),Qr=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>`),$r=u(`<div class="context svelte-po8nwq" role="region" aria-label="What the agent has in hand"><!> <h2 class="label svelte-po8nwq">in the tray</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Given to the session before its next prompt, asked here or in its front end, unless given already"></ul></div>`);function ei(e,i){te(i,!0);let o=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),c=U(null),u=U({});a(()=>{$.session&&J.api.map().then(e=>O(u,Object.fromEntries(Object.entries(e.notes).map(([e,t])=>[e,t.tokens]))),()=>void 0)});let d=z(()=>{let e=new Set,t=new Set;for(let n of $.session?.turns??[]){for(let t of n.given??[])t.kind===`note`&&e.add(t.id);for(let e of n.items)e.kind===`tool`&&e.note&&!e.base&&e.status===`done`&&t.add(e.note)}let n=e=>J.listing.notes.find(t=>t.id===e)?.title??e;return[...[...e].map(e=>({id:e,how:`given`})),...[...t].filter(t=>!e.has(t)).map(e=>({id:e,how:`read`}))].map(e=>({...e,title:n(e.id),tokens:q(u)[e.id]??0}))}),p=z(()=>{let e=$.session;if(!e?.size||!e.tokens.input)return[];let t=Math.min(e.ours??0,e.tokens.input),n=Math.min(q(d).reduce((e,t)=>e+t.tokens,0),e.tokens.input-t);return[{k:`instructions`,name:`isorite's`,tokens:t},{k:`notes`,name:`notes`,tokens:n},{k:`conversation`,name:`the rest`,tokens:e.tokens.input-t-n},{k:`room`,name:`room`,tokens:Math.max(0,e.size-e.tokens.input)}].filter(e=>e.tokens>0).map(t=>({...t,w:100*t.tokens/e.size}))}),h=z(()=>q(p).find(e=>e.k===q(c)));var g=$r(),_=S(g),v=e=>{let i=z(()=>$.session);var a=Xr(),u=x(a),g=S(u),_=e=>{var a=Kr(),u=x(a);n(u,21,()=>q(p),e=>e.k,(e,n)=>{var r=Hr();let i;b(e=>{A(r,1,`s ${q(n).k??``}`,`svelte-po8nwq`),E(r,`data-k`,q(n).k),i=j(r,``,i,{width:e})},[()=>`${q(n).w.toFixed(2)??``}%`]),t(e,r)}),D(u);var d=m(u,2),g=S(d),_=e=>{var n=Ur(),r=C(n);b(e=>f(r,`${q(h).name??``} · ${e??``}`),[()=>o(q(h).tokens)]),t(e,n)},v=e=>{var n=Wr(),r=x(n),a=C(r,!0),s=m(r),c=C(s);b((e,t)=>{f(a,e),f(c,`of ${t??``}`)},[()=>o(q(i).tokens.input),()=>o(q(i).size??0)]),t(e,n)};r(g,e=>{q(h)?e(_):e(v,-1)});var y=m(g),w=e=>{var n=Gr(),r=C(n);b(e=>f(r,`· $${e??``}`),[()=>q(i).cost.toFixed(2)]),t(e,n)};r(y,e=>{q(i).cost&&e(w)}),D(d),b(e=>{E(u,`aria-label`,e),E(d,`title`,`As ${q(i).agent??``} counts it`)},[()=>q(p).map(e=>`${e.name} ${o(e.tokens)}`).join(`, `)]),s(`pointerover`,u,e=>O(c,e.target.dataset.k??null,!0)),l(`pointerleave`,u,()=>O(c,null)),t(e,a)},v=e=>{var n=qr(),r=C(n);b(()=>f(r,`${(q(i).agent||`The agent`)??``} hasn't said how full its context is${q(i).turns.length?``:` yet`}.`)),t(e,n)};r(g,e=>{q(p).length?e(_):e(v,-1)});var y=m(g,2),w=C(y);D(u);var T=m(u,4);n(T,21,()=>q(d),e=>e.id,(e,n)=>{var a=Yr(),s=S(a),c=S(s);let l;var u=C(c,!0),d=m(c),p=C(d,!0),h=m(d),g=C(h,!0),_=m(h),v=e=>{var r=Jr(),i=C(r,!0);b(e=>f(i,e),[()=>o(q(n).tokens)]),t(e,r)};r(_,e=>{q(n).tokens&&e(v)}),D(s),D(a),b(()=>{E(s,`title`,q(n).how===`given`?`Given from here`:`Read by ${q(i).agent}`),l=A(c,1,`mk svelte-po8nwq`,null,l,{iso:q(n).how===`read`}),f(u,q(n).how===`given`?`◆`:`◇`),f(p,q(n).title),f(g,q(n).how)}),t(e,a)}),D(T),b(()=>f(w,`What ${(q(i).agent||`the agent`)??``} dropped when it compacted can't be seen from here.`)),t(e,a)},y=e=>{var n=Zr();t(e,n)};r(_,e=>{$.session?e(v):e(y,-1)});var w=m(_,4);n(w,21,()=>Q.sent,e=>Q.keyOf(e),(e,n)=>{var r=Qr(),i=S(r),a=m(S(i)),o=C(a,!0);D(i);var c=m(i,2);D(r),b(()=>{f(o,q(n).kind===`passage`?`“${q(n).text}”`:q(n).title),E(c,`aria-label`,`Take ${q(n).title??``} out of Iso's context`)}),s(`click`,c,()=>Q.remove(q(n))),t(e,r)}),D(w),D(g),t(e,g),B()}i([`pointerover`,`click`]);var ti=u(`<div class="permit svelte-17377q0" role="group" aria-label="The agent asks before it does this"><p> <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>`),ni=u(`<div class="said prose svelte-17377q0"></div>`),ri=u(`<button type="button" class="note-link svelte-17377q0"> </button>`),ii=u(`<span class="qt svelte-17377q0"> </span> <button class="keep svelte-17377q0" type="button" data-lustre="">keep</button>`,1),ai=u(`<p class="qb svelte-17377q0"> </p>`),oi=u(`<div class="asks svelte-17377q0"><p class="svelte-17377q0"><svg class="qm svelte-17377q0" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path></svg><!></p> <!></div>`),si=u(`<span>AGENTS.md</span>`),ci=u(`<span class="in svelte-17377q0">inserted</span>`),li=u(`<button class="insert svelte-17377q0" type="button">insert</button>`),ui=u(`<div class="offer svelte-17377q0"><div class="prose yours svelte-17377q0"></div> <p class="for svelte-17377q0"><!> <!></p></div>`),di=u(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),fi=u(`<code class="q svelte-17377q0"> </code>`),pi=u(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),mi=u(`<span> </span>`),hi=u(`<pre class="diff svelte-17377q0"></pre>`),gi=u(`<pre class="out svelte-17377q0"> </pre>`),_i=u(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),vi=u(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),yi=u(`<div class="tool svelte-17377q0"><!> <!></div>`),bi=u(`<span class="chip svelte-17377q0"><span class="k svelte-17377q0" aria-hidden="true"> </span><span class="t svelte-17377q0"> </span></span>`),xi=u(`<span class="gave svelte-17377q0"></span>`),Si=u(`<button type="button" data-lustre=""><s aria-hidden="true" class="svelte-17377q0"></s><b class="svelte-17377q0"> </b> </button>`),Ci=u(`<div class="parts svelte-17377q0" role="group"></div>`),wi=u(`<p class="doing svelte-17377q0" role="status"><!> </p>`),Ti=u(`<p class="faint end svelte-17377q0">stopped</p>`),Ei=u(`<p class="bad svelte-17377q0" role="alert"> </p>`),Di=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>`),Oi=u(`<p class="title faint svelte-17377q0"> </p>`),ki=u(`<p class="faint"> </p>`),Ai=u(`<p class="faint">A conversation with Iso, from before isorite attached your own agent: kept to read.</p>`),ji=u(`<div class="chat svelte-17377q0" role="log" aria-label="The agent's session" aria-live="polite"><!> <!> <!> <!> <!> <!></div>`);function Mi(e,i){te(i,!0);let o=(e,n=k)=>{var r=ti(),i=S(r),a=S(i),o=m(a),c=C(o,!0);G(),D(i);var l=m(i,2),u=S(l),d=m(u),h=m(d);D(l),D(r),b(e=>{f(a,`${(q(p)?.agent||`The agent`)??``} wants to `),f(c,e)},[()=>I(n())]),s(`click`,u,()=>void $.reply(n().id,`once`)),s(`click`,d,()=>void $.reply(n().id,`always`)),s(`click`,h,()=>void $.reply(n().id,`reject`)),t(e,r)},c=(e,i=k)=>{var a=F(),c=x(a),l=e=>{var n=ni();g(n,()=>be(i().text),!0),D(n),ne(n,(e,t)=>Se?.(e,t),()=>({given:i().text,copy:!0})),t(e,n)},u=e=>{var n=oi(),a=S(n),o=m(S(a)),c=e=>{var n=ri(),r=C(n,!0);b(()=>{E(n,`data-to`,i().made),f(r,i().title)}),s(`click`,n,()=>w(`read`,i().made)),t(e,n)},l=e=>{var n=ii(),r=x(n),a=C(r,!0),o=m(r,2);b(e=>{f(a,i().title),E(o,`aria-label`,`Keep “${i().title??``}” as an open question`),E(o,`title`,`Keep as an open question about ${e??``}`)},[()=>i().about.map(h).join(`, `)]),s(`click`,o,()=>void $.take(i().id)),t(e,n)};r(o,e=>{i().made?e(c):e(l,-1)}),D(a);var u=m(a,2),d=e=>{var n=ai(),r=C(n,!0);b(()=>f(r,i().text)),t(e,n)};r(u,e=>{i().text&&e(d)}),D(n),b(()=>{E(n,`data-question`,i().id),E(n,`data-to`,i().made??`?${i().id}`)}),t(e,n)},d=e=>{var n=ui(),a=S(n);g(a,()=>be(i().text),!0),D(a),ne(a,(e,t)=>Se?.(e,t),()=>i().text);var o=m(a,2),c=S(o),l=e=>{var n=si();t(e,n)},u=e=>{var n=ri(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,()=>w(`read`,i().note)),t(e,n)};r(c,e=>{i().note===`AGENTS.md`?e(l):e(u,-1)});var d=m(c,2),p=e=>{var n=ci();t(e,n)},_=e=>{var n=li();b(e=>E(n,`aria-label`,`Insert into ${e??``} as yours`),[()=>h(i().note)]),s(`click`,n,()=>void $.take(i().id)),t(e,n)};r(d,e=>{i().taken?e(p):e(_,-1)}),D(o),D(n),b(()=>E(n,`data-offer`,i().id)),t(e,n)},p=e=>{var a=yi(),c=S(a),l=e=>{var a=_i(),o=S(a),c=S(o),l=C(c,!0),u=m(c),d=e=>{var n=di(),r=S(n),a=C(r),o=m(r);D(n),b(e=>{E(n,`href`,e),E(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>ce(i().base,`#/n/${i().note}`)]),t(e,n)},p=e=>{var n=ri(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,e=>{e.preventDefault(),w(i().name,i().note)}),t(e,n)},g=e=>{var n=fi(),r=C(n,!0);b(()=>f(r,i().title)),t(e,n)};r(u,e=>{i().note&&i().base?e(d):i().note?e(p,1):e(g,-1)});var _=m(u),v=e=>{var n=pi(),r=S(n),a=C(r),o=m(r,2),s=C(o);D(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(v)}),D(o);var y=m(o,2),x=e=>{var r=hi();n(r,21,()=>i().diff,K,(e,n)=>{var r=mi();let i;var a=C(r,!0);b((e,t)=>{i=A(r,1,`svelte-17377q0`,null,i,{add:e,del:t}),f(a,q(n))},[()=>q(n).startsWith(`+`),()=>q(n).startsWith(`-`)]),t(e,r)}),D(r),t(e,r)},T=e=>{var n=gi(),r=C(n,!0);b(()=>f(r,i().output)),t(e,n)};r(y,e=>{i().diff?e(x):e(T,-1)}),D(a),b(e=>f(l,e),[()=>M(i().name)]),t(e,a)},u=e=>{var n=vi(),a=S(n),o=C(a,!0),c=m(a),l=e=>{var n=di(),r=S(n),a=C(r),o=m(r);D(n),b(e=>{E(n,`href`,e),E(n,`title`,`In ${i().base??``}, in a tab of its own`),f(a,`${i().base??``}:`),f(o,` ${i().note??``}`)},[()=>ce(i().base,`#/n/${i().note}`)]),t(e,n)},u=e=>{var n=ri(),r=C(n,!0);b(e=>{E(n,`data-to`,i().note),f(r,e)},[()=>h(i().note)]),s(`click`,n,()=>w(i().name,i().note)),t(e,n)},d=e=>{var n=fi(),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)}),D(n),b(e=>f(o,e),[()=>M(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,()=>L(i().id),e=>e.id,(e,t)=>{o(e,()=>q(t))}),D(a),b(()=>E(a,`data-status`,i().status)),t(e,a)};r(c,e=>{i().kind===`text`?e(l):i().kind===`question`?e(u,1):i().kind===`offer`?e(d,2):e(p,-1)}),t(e,a)},u=(e,i=k)=>{var a=Di(),o=S(a),l=S(o),u=C(l,!0),d=m(l,2),g=e=>{var r=xi();n(r,21,()=>i().given,K,(e,n)=>{var r=bi(),i=S(r),a=C(i,!0),o=m(i),s=C(o,!0);D(r),b(e=>{E(r,`data-to`,q(n).kind===`note`?q(n).id:void 0),f(a,oe[q(n).kind]),f(s,e)},[()=>q(n).kind===`passage`?q(n).text:q(n).kind===`folder`?q(n).id||`the base`:h(q(n).id)]),t(e,r)}),D(r),t(e,r)};r(d,e=>{i().given?.length&&e(g)});var _=m(d,2),v=C(_,!0);D(o);var y=m(o,2);n(y,17,()=>i().items,K,(e,n)=>{var a=F(),o=x(a),s=e=>{c(e,()=>q(n))},l=z(()=>!N(q(n))&&!ie(i(),q(n)));r(o,e=>{q(l)&&e(s)}),t(e,a)});var w=m(y,2),T=e=>{var r=Ci();n(r,20,()=>W(i()),e=>e,(e,n)=>{var r=Si();let i;var a=m(S(r)),o=C(a,!0),c=m(a,1,!0);D(r),b((e,t)=>{i=A(r,1,`part svelte-17377q0`,null,i,{lit:q(ae)===n}),E(r,`data-to`,n),f(o,e),f(c,t)},[()=>h(n),()=>re(n)]),s(`click`,r,()=>void Y.open(n,!0)),t(e,r)}),D(r),b(()=>E(r,`aria-label`,`What ${(q(p)?.agent||`the agent`)??``} drew on`)),t(e,r)},O=z(()=>i().state!==`running`&&W(i()).length);r(w,e=>{q(O)&&e(T)});var j=m(w,2),M=e=>{var n=wi(),i=S(n),a=e=>{we(e,{get id(){return q(p).session},size:28,growing:!0})};r(i,e=>{q(p)?.session&&e(a)});var o=m(i);D(n),b(()=>f(o,`${(q(p)?.agent||`The agent`)??``} is at work`)),t(e,n)},P=e=>{var n=Ti();t(e,n)},I=e=>{var n=Ei(),r=C(n);b(()=>f(r,`The turn failed${$.old?``:`; ${q(p)?.agent||`the agent`} says why in its front end`}.`)),t(e,n)};r(j,e=>{i().state===`running`?e(M):i().state===`stopped`?e(P,1):i().state===`failed`&&e(I,2)}),D(a),b(()=>{E(a,`data-state`,i().state),f(u,i().asked),f(v,$.old?``:i().from===`here`?`from here`:`in its front end`)}),t(e,a)},d=U(void 0),p=z(()=>$.session),h=e=>J.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,_={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`},v=new Set([`edit_note`,`write_note`]);function w(e,t){v.has(j(e))&&Y.flip(`provenance`,!0),Y.open(t,!0)}let j=e=>e.replace(/^(mcp_+)?isorite[_:]+/,``),M=e=>_[j(e)]??j(e).replaceAll(`_`,` `),N=e=>e.kind===`tool`&&/^(ask_question|offer_text)$/.test(j(e.name)),P={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},I=e=>`${P[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),L=e=>q(p)?.asking.filter(t=>t.tool===e)??[],R=z(()=>q(p)?.asking.filter(e=>!e.tool||!q(p).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);a(()=>{q(p),y().then(()=>{q(d)&&(q(d).scrollTop=q(d).scrollHeight)})});function V(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?xe(t.getAttribute(`href`)??``):null;ye.set(`iso`,n?{...n,who:`you`}:null)}let H=/\]\(\/([^)\s]+?)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,ee=e=>J.listing.notes.some(t=>t.id===e);function W(e){let t=new Set;for(let n of e.items)if(n.kind===`text`)for(let e of n.text.matchAll(H))t.add(decodeURI(e[1]));for(let n of e.items)n.kind===`tool`&&n.note&&!n.base&&n.status!==`failed`&&t.add(n.note);return[...t].filter(ee)}let re=e=>J.listing.notes.find(t=>t.id===e)?.dir.split(`/`).at(-1)||`notes`,ie=(e,t)=>e.state!==`running`&&t.kind===`tool`&&!!t.note&&!t.base&&!t.diff&&t.status===`done`&&!v.has(j(t.name))&&ee(t.note),ae=z(()=>ye.elsewhere?.from===`iso`&&!ye.elsewhere.folder?ye.elsewhere.id:ye.onAtlas);a(()=>{let e=q(ae);if(q(p),q(d))for(let t of q(d).querySelectorAll(`.said a.vein`))t.classList.toggle(`lit`,!!e&&xe(t.getAttribute(`href`)??``)?.id===e)});let oe={note:`▣`,folder:`▭`,passage:`“`};var se=ji(),le=S(se),ue=e=>{var n=Oi(),r=C(n,!0);b(()=>f(r,q(p).title)),t(e,n)};r(le,e=>{q(p)?.title&&e(ue)});var de=m(le,2);n(de,17,()=>q(p)?.turns??[],e=>e.id,(e,t)=>{u(e,()=>q(t))});var fe=m(de,2);n(fe,17,()=>q(R),e=>e.id,(e,t)=>{o(e,()=>q(t))});var pe=m(fe,2),X=e=>{var n=ki(),r=C(n);b(()=>f(r,`${(q(p)?.agent||`The agent`)??``}'s session shows here: what is asked in its front end or here, what it does, and what it asks before doing. Notes put in the tray go before the next prompt.`)),t(e,n)};r(pe,e=>{q(p)?.turns.length||e(X)});var Z=m(pe,2),me=e=>{var n=Ai();t(e,n)},he=e=>{var n=ki(),r=C(n);b(()=>f(r,`Kept here; ${q(p).agent??``} isn't attached to carry it on.`)),t(e,n)};r(Z,e=>{$.old?e(me):q(p)?.reading&&e(he,1)});var ge=m(Z,2),_e=e=>{Vr(e,{})};r(ge,e=>{$.connected||e(_e)}),D(se),T(se,e=>O(d,e),()=>q(d)),s(`pointerover`,se,V),l(`pointerleave`,se,()=>ye.set(`iso`,null)),t(e,se),B()}i([`click`,`pointerover`]);var Ni=u(`<div class="chat svelte-d2jxoz"><!></div>`),Pi=u(`<button class="corner stop svelte-d2jxoz" type="button" aria-label="Stop the agent" 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>`),Fi=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>`),Ii=u(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),Li=u(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message the agent</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function Ri(e,n){te(n,!0);let i=U(``),o=z(()=>$.running),c=z(()=>!!$.old||$.acp);R(()=>{$.start()}),a(()=>{Q.sent,$.view?.session,$.acp&&$.give()});async function l(){await $.send(q(i))&&O(i,``)}function u(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),l()):e.key===`Escape`&&q(o)&&(e.preventDefault(),$.stop())}var d=Li();let p;var h=S(d),g=e=>{ei(e,{})},_=e=>{Cr(e,{})},v=e=>{Mi(e,{})},y=e=>{var n=Ni();Vr(S(n),{}),D(n),t(e,n)};r(h,e=>{$.shown===`context`?e(g):$.shown===`past`?e(_,1):q(c)?e(v,2):e(y,-1)});var x=m(h,2),w=S(x),T=m(S(w),2);P(T);var k=m(T,2),j=e=>{var n=Pi();s(`click`,n,()=>void $.stop()),t(e,n)},M=e=>{var n=Fi();s(`click`,n,()=>void l()),t(e,n)},N=z(()=>q(i).trim());r(k,e=>{q(o)?e(j):q(N)&&e(M,1)}),D(w);var F=m(w,2),L=e=>{var n=Ii(),r=C(n,!0);b(()=>f(r,$.problem||$.view?.problem)),t(e,n)};r(F,e=>{($.problem||$.view?.problem)&&e(L)}),D(x),D(d),b(()=>{p=A(d,1,`iso svelte-d2jxoz`,null,p,{drop:Q.carrying?.over}),E(T,`placeholder`,$.connected?`Ask ${$.view?.agent||`the agent`}`:`Attach an agent to ask it here`)}),s(`keydown`,T,u),I(T,()=>q(i),e=>O(i,e)),t(e,d),B()}i([`keydown`,`click`]);var zi=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>`),Bi=u(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),Vi=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>`),Hi=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 Ui(i,a){te(a,!0);let o=J.api?.bases??null,u=U(!1),d=U([]),p=U(``),h=U(!1),g=U(``),_=U(void 0),v=U(void 0),y=U(e({top:0,left:0}));async function w(){if(o)try{await(async e=>{O(d,e.bases),O(p,e.here,!0),O(h,e.local,!0)})(await o.list()),O(g,``)}catch(e){O(g,e.message,!0)}}async function k(){if(O(u,!q(u)),q(u)&&q(v)){let e=q(v).getBoundingClientRect();O(y,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}q(u)&&(await w(),q(_)?.querySelector(`a`)?.focus())}async function M(e){try{O(d,await o.lend(e.name,!e.lend)),O(g,``)}catch(e){O(g,e.message,!0)}}function N(e){q(u)&&e.target instanceof Node&&!q(_)?.contains(e.target)&&!q(v)?.contains(e.target)&&O(u,!1)}function P(e){q(u)&&e.key===`Escape`&&(O(u,!1),q(v)?.focus())}var I=F();l(`pointerdown`,c,N),l(`keydown`,c,P);var L=x(I),R=e=>{var i=Hi(),a=x(i),o=C(a,!0);T(a,e=>O(v,e),()=>q(v));var c=m(a,4),l=e=>{var i=Vi();let a;var o=m(S(i),2);n(o,21,()=>q(d),e=>e.name,(e,n)=>{let r=z(()=>q(n).name===(q(p)||J.session.name));var i=zi();let a;var o=S(i),c=C(o,!0),l=m(o,2),u=C(l,!0),d=m(l,2);D(i),b(e=>{a=A(i,1,`svelte-1wk2ip3`,null,a,{here:q(r)}),f(c,q(r)?`✓`:``),E(l,`href`,e),E(l,`title`,q(n).path),E(l,`aria-current`,q(r)?`page`:void 0),f(u,q(n).name),E(d,`aria-pressed`,q(n).lend),d.disabled=!q(h),E(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`)},[()=>ce(q(n).name)]),s(`click`,d,()=>M(q(n))),t(e,i)}),D(o);var c=m(o,2),l=e=>{var n=Bi(),r=C(n,!0);b(()=>f(r,q(g))),t(e,n)};r(c,e=>{q(g)&&e(l)}),D(i),T(i,e=>O(_,e),()=>q(_)),b(()=>a=j(i,``,a,{top:`${q(y).top??``}px`,left:`${q(y).left??``}px`})),t(e,i)};r(c,e=>{q(u)&&e(l)}),b(()=>{E(a,`aria-expanded`,q(u)),f(o,J.session.name)}),s(`click`,a,k),t(e,i)};r(L,e=>{o&&J.session&&e(R)}),t(i,I),B()}i([`click`]);var Wi=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),Gi=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),Ki=d(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),qi=d(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),Ji=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),Yi=d(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),Xi=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),Zi=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),Qi=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>`),$i=d(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),ea=d(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),ta=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>`),na=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)"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)"></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>`),ia=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 aa(e,i){te(i,!0);let o=N(i,`first`,3,!1),u={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`The agent's context: what it was given, 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:`Files beside the notes: pictures, artifacts, data (Alt+I)`,notes:`Agents may edit the notes (Alt+N)`,files:`The agent may edit the project's files (Alt+F)`,run:`The agent 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=z(()=>de[i.pane].filter(e=>e!==`files`&&e!==`run`||Y.attached)),h=z(()=>Y.settings===i.pane),g=U(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}"]`)||(Y.settings=null))}var v=ia();l(`pointerdown`,c,_),l(`keydown`,c,e=>{q(h)&&e.key===`Escape`&&(Y.settings=null)});var y=x(v),w=S(y),A=e=>{Ui(e,{})};r(w,e=>{o()&&e(A)});var M=m(w,2),P=C(M,!0),F=m(M,2);n(F,20,()=>q(p),e=>e,(e,n)=>{var i=ta();let a;var o=S(i),c=S(o),l=e=>{var n=Wi();G(2),t(e,n)},f=e=>{var n=Gi();G(3),t(e,n)},p=e=>{var n=Ki();t(e,n)},m=e=>{var n=qi();t(e,n)},h=e=>{var n=Ji();G(),t(e,n)},g=e=>{var n=Yi();t(e,n)},_=e=>{var n=Xi();G(2),t(e,n)},v=e=>{var n=Zi();G(),t(e,n)},y=e=>{var n=Qi();t(e,n)},x=e=>{var n=$i();G(),t(e,n)},C=e=>{var n=ea();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)}),D(o),D(i),b(e=>{E(i,`data-switch`,n),E(i,`aria-pressed`,Y.on[n]),E(i,`aria-label`,e),E(i,`title`,u[n]),a=j(i,``,a,{"--c":`var(--${d[n]??``})`})},[()=>u[n].replace(/ \(Alt\+.\)$/,``)]),s(`click`,i,()=>Y.flip(n)),t(e,i)}),D(F);var I=m(F,4);re(I,()=>i.tools??k);var L=m(I,2),R=e=>{var n=na();b(()=>{E(n,`data-settings`,i.pane),E(n,`aria-label`,`${i.name??``} settings`),E(n,`aria-expanded`,q(h)),E(n,`title`,`${i.name??``} settings`)}),s(`click`,n,()=>Y.settings=q(h)?null:i.pane),t(e,n)};r(L,e=>{i.settings&&e(R)}),D(y);var V=m(y,2),H=e=>{var n=ra(),r=S(n),a=C(r,!0),o=m(r,2),s=S(o);re(s,()=>i.settings),D(o),D(n),T(n,e=>O(g,e),()=>q(g)),b(e=>{E(n,`aria-label`,`${i.name??``} settings`),f(a,e)},[()=>i.name.toLowerCase()]),t(e,n)};r(V,e=>{i.settings&&q(h)&&e(H)}),b(()=>{f(P,i.name),E(F,`aria-label`,`${i.name??``}'s switches`)}),t(e,v),B()}i([`click`]);var oa=u(`<button type="button" class="gauge svelte-1cyuk5c"><i></i></button>`);function sa(e,n){te(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=z(()=>$.session),o=z(()=>q(a)?.size?{tokens:q(a).tokens.input,limit:q(a).size}:null),c=z(()=>q(o)?Math.min(1,q(o).tokens/q(o).limit):0),l=z(()=>!!q(o)&&q(o).tokens>=Math.min(1e5,q(o).limit/2)),u=z(()=>!!q(o)&&q(o).tokens>q(o).limit),d=z(()=>q(a)?q(a).size?`${q(a).agent}: ${r(q(a).tokens.input)} of ${r(q(a).size)} tokens${q(a).cost?`, ${i(q(a).cost)}`:``}${q(l)?`: long enough to drift`:``}`:`${q(a).agent||`The agent`} hasn't said how full its context is`:`Context: no agent attached`);var f=oa(),p=S(f);let m,h;D(f),b(()=>{E(f,`aria-label`,q(d)),E(f,`title`,q(d)),m=A(p,1,`bar ctx svelte-1cyuk5c`,null,m,{long:q(l),full:q(u)}),h=j(p,``,h,{"--fill":q(c)})}),s(`click`,f,()=>$.shown=$.shown===`context`?`session`:`context`),t(e,f),B()}i([`click`]);var ca=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, read by the agents you attach. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),la=u(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),ua=u(`<section class="svelte-1c4xnzk"><!> <!></section>`);function da(e,n){te(n,!0);let i=U(``),o=U(null),s=``;a(()=>{J.api.agents().then(e=>{O(o,e.text??``,!0),s=q(o)},()=>void 0)});async function c(){if(q(o)!==null&&q(o)!==s){O(i,``);try{await J.api.saveAgents(q(o)),s=q(o)}catch(e){O(i,e.message,!0)}}}var u=ua(),d=S(u),p=e=>{var n=ca(),r=m(x(n),4);P(r),l(`blur`,r,()=>void c()),I(r,()=>q(o),e=>O(o,e)),t(e,n)};r(d,e=>{q(o)!==null&&e(p)});var h=m(d,2),g=e=>{var n=la(),r=C(n,!0);b(()=>f(r,q(i))),t(e,n)};r(h,e=>{q(i)&&e(g)}),D(u),t(e,u),B()}var fa=u(`<button class="btn quiet danger-text svelte-1h9x2hz" type="button">Delete it</button>`),pa=u(`<div class="ask svelte-1h9x2hz" role="alertdialog" aria-label="delete this note"><span>Delete this note? <!> Its history stays.</span> <div class="row svelte-1h9x2hz"><button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">keep it</button></div></div>`),ma=u(`<p class="problem svelte-1h9x2hz" role="alert"> </p>`),ha=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>`),ga=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>`),_a=u(`<button type="button" role="radio"> </button>`),va=u(`<button type="button">fullscreen</button>`),ya=d(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),ba=d(`<path d="M8 2.5v11M8 8h6.5"></path>`),xa=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>`),Sa=d(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),Ca=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),wa=d(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Ta=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>`),Ea=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),Da=u(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),Oa=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 ka(e,i){te(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=U(!1),l=U(!1);R(()=>{O(c,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{O(l,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),U(!1);let u=U(null),d=U(``);async function h(e){O(d,``);try{let t=await J.api.map();O(u,[...new Set(t.model.edges.filter(([t,n])=>n===e&&t!==e&&!t.startsWith(`@`)).map(([e])=>t.notes[e]?.title||e))],!0)}catch(e){O(d,e.message,!0)}}async function g(e){try{await J.api.deleteNote(e,(await J.api.readNote(e)).version),O(u,null),Y.settings=null,await J.refresh(),await oe(ae(`/notes`),{replaceState:!0})}catch(e){O(d,e.message,!0),O(u,null)}}function _(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var v=Oa(),y=x(v),w=e=>{let n=z(()=>J.open);var i=ha(),a=m(S(i),2),o=S(a),c=m(o,2),l=m(c,2),_=e=>{var r=fa();s(`click`,r,()=>void h(q(n))),t(e,r)},v=z(()=>q(u)===null&&J.listing.notes.some(e=>e.id===q(n)));r(l,e=>{q(v)&&e(_)}),D(a);var y=m(a,2),x=e=>{var i=pa(),a=S(i),o=m(S(a)),c=e=>{var n=p();b(e=>f(n,`${q(u).length===1?`One note links`:`${q(u).length} notes link`} to it (${e??``}); ${q(u).length===1?`its link is`:`their links are`} left broken.`),[()=>q(u).join(`, `)]),t(e,n)},l=e=>{var n=p(`No note links to it.`);t(e,n)};r(o,e=>{q(u).length?e(c):e(l,-1)}),G(),D(a);var d=m(a,2),h=S(d),_=m(h,2);D(d),D(i),s(`click`,h,()=>void g(q(n))),s(`click`,_,()=>{O(u,null)}),t(e,i)};r(y,e=>{q(u)!==null&&e(x)});var w=m(y,2),T=e=>{var n=ma(),r=C(n,!0);b(()=>f(r,q(d))),t(e,n)};r(w,e=>{q(d)&&e(T)}),D(i),s(`click`,o,()=>{Y.settings=null,Ne(`question`,q(n))}),s(`click`,c,()=>{Y.settings=null,Ne(`problem`,q(n))}),t(e,i)},T=z(()=>J.open&&!J.open.startsWith(`@`));r(y,e=>{q(T)&&e(w)});var k=m(y,2),j=e=>{var n=ga(),i=m(S(n),2),a=S(i),o=C(a,!0),s=m(a,2),c=C(s);D(i);var l=m(i,2);r(l,e=>{}),D(n),b(()=>{f(o,J.session.name),f(c,`· ${J.listing.notes.length??``} ${J.listing.notes.length===1?`note`:`notes`}`)}),t(e,n)};r(k,e=>{J.session&&e(j)});var M=m(k,2),N=m(S(M),2);n(N,21,()=>Ee,([e,t])=>e,(e,n)=>{var r=z(()=>H(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=_a();let c;var l=C(o,!0);b(()=>{c=A(o,1,`btn svelte-1h9x2hz`,null,c,{on:Te.chosen===i()}),E(o,`aria-checked`,Te.chosen===i()),f(l,a())}),s(`click`,o,()=>Te.choose(i())),t(e,o)}),D(N),D(M);var P=m(M,2),F=m(S(P),2);n(F,21,()=>Oe,([e,t])=>e,(e,n)=>{var r=z(()=>H(q(n),2));let i=()=>q(r)[0],a=()=>q(r)[1];var o=_a();let c;var l=C(o,!0);b(()=>{c=A(o,1,`btn svelte-1h9x2hz`,null,c,{on:De.chosen===i()}),E(o,`aria-checked`,De.chosen===i()),E(o,`title`,i()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),f(l,a())}),s(`click`,o,()=>De.choose(i())),t(e,o)}),D(F),D(P);var I=m(P,2),L=e=>{var i=Da(),u=m(S(i),2),d=S(u),f=e=>{var n=va();let r;b(()=>{r=A(n,1,`btn svelte-1h9x2hz`,null,r,{on:q(l)}),E(n,`aria-pressed`,q(l))}),s(`click`,n,_),t(e,n)};r(d,e=>{q(c)&&e(f)});var p=m(d,2),h=e=>{var i=Ea(),c=x(i);n(c,20,()=>pe,e=>e,(e,n)=>{var i=xa(),a=S(i),c=m(S(a)),l=e=>{var n=ya();t(e,n)},u=e=>{var n=ba();t(e,n)};r(c,e=>{n===`cols`?e(l):n===`stack`&&e(u,1)}),D(a),D(i),b(()=>{E(i,`aria-pressed`,Y.layout===n),E(i,`aria-label`,o[n]),E(i,`title`,`${o[n]??``} (Alt+L)`)}),s(`click`,i,()=>Y.setLayout(n)),t(e,i)}),D(c);var l=m(c,2);n(l,20,()=>le,e=>e,(e,n)=>{var i=Ta();let o;var c=S(i),l=S(c),u=e=>{var n=Sa();t(e,n)},d=e=>{var n=Ca();G(2),t(e,n)},f=e=>{var n=wa();t(e,n)};r(l,e=>{n===`note`?e(u):n===`atlas`?e(d,1):e(f,-1)}),D(c),D(i),b(e=>{o=A(i,1,`icon svelte-1h9x2hz`,null,o,{off:!Y.show[n]}),E(i,`aria-pressed`,Y.show[n]),E(i,`aria-label`,`Show ${a[n]??``}`),E(i,`title`,`Show or hide ${a[n]??``} (Alt+${e??``} brings it back)${n===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>le.indexOf(n)+1]),s(`click`,i,()=>Y.toggle(n)),t(e,i)}),D(l),t(e,i)};r(p,e=>{Y.narrow||e(h)}),D(u),D(i),t(e,i)};r(I,e=>{(q(c)||!Y.narrow)&&e(L)});var V=m(I,2),ee=C(V);b(e=>E(ee,`href`,e),[()=>ae(`/parts`)]),s(`click`,ee,()=>Y.settings=null),t(e,v),B()}i([`click`]);var Aa=e=>{ka(e,{})},ja=e=>{da(e,{})},Ma=e=>{var n=Pa(),i=m(S(n),2),a=e=>{var n=Na(),r=C(n);b(()=>f(r,`${J.listing.notes.length??``} ${J.listing.notes.length===1?`note`:`notes`}`)),t(e,n)};r(i,e=>{J.atlas&&e(a)}),D(n),t(e,n)},Na=u(`<p class="soft svelte-12qhfyh"> </p>`),Pa=u(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),Fa=u(`<p class="stopped svelte-12qhfyh"> </p>`),Ia=u(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),La=u(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),Ra=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),za=u(`<div class="tree svelte-12qhfyh"><!></div>`),Ba=u(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),Va=u(`<span class="says svelte-12qhfyh"> </span>`),Ha=u(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),Ua=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>`),Wa=u(`<!> <!> <!>`,1),Ga=u(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),Ka=d(`<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 4.5h11v8h-11zM2.5 7.5h11M6.5 10h3" class="svelte-12qhfyh"></path></svg>`),qa=u(`<span> </span>`),Ja=u(`<button class="icon svelte-12qhfyh" type="button" aria-label="A new session"><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>`),Ya=u(`<!> <!> <button class="icon past svelte-12qhfyh" type="button" aria-label="Sessions" title="The agents' sessions, and Iso's earlier conversations"><!></button> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What the agent has in hand, and what the tray gives it"><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> <!>`,1),Xa=u(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),Za=u(`<section><!> <!></section>`),Qa=u(`<span class="badge svelte-12qhfyh"> </span>`),$a=u(`<button type="button" class="svelte-12qhfyh"> <!></button>`),eo=u(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function to(e,i){te(i,!0);let o=z(()=>Y.standing);a(()=>{Ce.route.id===`/n/[...id]`&&Ce.params.id&&Y.setLast(Ce.params.id)}),a(()=>{Ce.url.href,Y.tree=!1}),R(he),R(()=>{let e=matchMedia(`(max-width: 760px)`);Y.narrow=e.matches;let t=()=>{Y.narrow=e.matches,Y.narrow&&requestAnimationFrame(()=>Y.scroll?.(Y.focus))};return e.addEventListener(`change`,t),Y.scroll=e=>{if(!Y.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),Y.scroll=null}});let u=U(void 0),d=z(()=>{if(Y.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, ${Y.widths[e]}fr) minmax(0, ${Y.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, ${Y.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+(Y.layout===`stack`&&t===q(o)[2]?0:Y.widths[t]),0),a=q(u).getBoundingClientRect().width/i,s=e.clientX,c=e=>{let n=(e.clientX-s)/a,i=Y.widths[r]+n,o=Y.widths[t]-n;i<.4||o<.4||(Y.setWidth(r,i),Y.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;Y.widths[n]+r>=.4&&Y.widths[t]-r>=.4&&(Y.setWidth(n,Y.widths[n]+r),Y.setWidth(t,Y.widths[t]-r)),e.preventDefault()}function g(){Y.narrow&&q(u)&&(clearTimeout(y),y=setTimeout(()=>{let e=le[Math.round(q(u).scrollLeft/q(u).clientWidth)];e&&e!==Y.focus&&(Y.focus=e,e===`iso`&&(Y.unseen=0))},60))}let y;function w(e){if(e.key===`Escape`&&Y.tree){Y.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`)Y.to(le[n-1]);else if(n.toLowerCase()===`l`&&!Y.narrow)Y.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)Y.step(n===`ArrowRight`?1:-1);else if(M[n.toLowerCase()])Y.flip(M[n.toLowerCase()]);else return;e.preventDefault()}let k={note:`Note`,atlas:`Atlas`,iso:`Iso`},M={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,i:`pictures`,c:`context`,n:`notes`,f:`files`,r:`run`},N=z(()=>Ce.route.id===`/n/[...id]`),P=z(()=>J.atlas?J.iso:null),I=z(()=>q(P)?.state===`reading`||q(P)?.state===`writing`),L=z(()=>Z(q(P)?.agent)),V=z(()=>{let e=q(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?J.listing.notes.find(t=>t.id===e)?.title??e:``});var H=eo();ie(`12qhfyh`,e=>{v(()=>{ee.title=q(N)&&J.here?`${J.here} · isorite`:`isorite`})}),l(`keydown`,c,w);var W=S(H);let G;var ne=S(W),K=e=>{var n=Fa(),r=C(n);b(()=>f(r,`isorite could not open the base: ${J.error??``}`)),t(e,n)},ae=e=>{var a=F(),c=x(a);n(c,16,()=>le,e=>e,(e,n)=>{var a=Za();let c,u;var g=S(a),v=e=>{var r=Ia();b(()=>E(r,`aria-label`,`Resize ${k[n]??``}`)),s(`pointerdown`,r,e=>p(e,n)),s(`keydown`,r,e=>h(e,n)),t(e,r)};r(g,e=>{!Y.narrow&&q(o)[0]!==n&&(Y.layout!==`stack`||q(o)[2]!==n)&&e(v)});var y=m(g,2),w=e=>{var n=Ba(),a=x(n);{let e=e=>{var n=Ra(),i=x(n),a=e=>{var n=La();let r;var i=m(S(n)),a=C(i,!0);D(n),b(e=>{r=A(n,1,`saved svelte-12qhfyh`,null,r,{bad:J.saving.bad,busy:e}),E(n,`title`,J.saving.text),f(a,J.saving.text)},[()=>!J.saving.text.startsWith(`saved`)]),t(e,n)};r(i,e=>{q(N)&&J.saving&&e(a)});var o=m(i,2);b(()=>E(o,`aria-pressed`,Ce.route.id===`/notes`||Y.tree)),s(`click`,o,()=>{Ce.route.id!==`/notes`&&(Y.tree=!Y.tree)}),t(e,n)},n=z(()=>Y.narrow||q(o)[0]===`note`);aa(a,{pane:`note`,get first(){return q(n)},name:`Note`,get settings(){return Aa},tools:e,$$slots:{tools:!0}})}var c=m(a,2),l=S(c);re(l,()=>i.children),D(c);var u=m(c,2),d=e=>{var n=za(),r=S(n);ke(r,{}),D(n),t(e,n)};r(u,e=>{Y.tree&&Ce.route.id!==`/notes`&&e(d)}),t(e,n)},T=e=>{var n=Ga(),i=x(n);{let e=e=>{var n=Wa(),i=x(n),a=e=>{var n=Va(),r=C(n);b(()=>f(r,`${J.atlas.steps??``} ${J.atlas.steps===1?`step`:`steps`} back`)),t(e,n)};r(i,e=>{J.atlas?.chosen&&J.atlas.steps&&e(a)});var o=m(i,2),c=e=>{var n=Ha(),r=x(n),i=C(r,!0),a=m(r);b(()=>f(i,J.atlas.here)),s(`click`,a,function(...e){J.atlas.out?.apply(this,e)}),t(e,n)};r(o,e=>{J.atlas?.here&&e(c)});var l=m(o,2),u=e=>{var n=Ua();s(`click`,n,function(...e){J.atlas.fit?.apply(this,e)}),t(e,n)};r(l,e=>{J.atlas&&e(u)}),t(e,n)},n=z(()=>Y.narrow||q(o)[0]===`atlas`);aa(i,{pane:`atlas`,get first(){return q(n)},name:`Atlas`,get settings(){return Ma},tools:e,$$slots:{tools:!0}})}var a=m(i,2);gr(S(a),{}),D(a),t(e,n)},O=e=>{var n=Xa(),i=x(n);{let e=e=>{let n=z(()=>$.session?.session);var i=Ya(),a=x(i),o=e=>{var n=Va(),r=C(n,!0);b(()=>{E(n,`title`,q(I)?``:`click open ground on the Atlas to let its path go`),f(r,q(I)?`${q(L)} is ${q(V)?`reading ${q(V)}`:`at work`} in its own terminal`:`${q(L)}'s turn is done`)}),t(e,n)};r(a,e=>{q(P)?.agent&&!$.acp&&e(o)});var c=m(a,2);sa(c,{});var l=m(c,2),u=S(l),d=e=>{we(e,{get id(){return q(n)},size:20})},p=e=>{var n=Ka();t(e,n)};r(u,e=>{q(n)?e(d):e(p,-1)}),D(l);var h=m(l,2),g=m(S(h),2),v=e=>{var n=F(),r=x(n);_(r,()=>Q.fresh,e=>{var n=qa();let r;var i=C(n,!0);b(()=>{r=A(n,1,`n svelte-12qhfyh`,null,r,{pulse:$.shown===`session`&&Q.fresh!==``}),f(i,Q.sent.length)}),t(e,n)}),t(e,n)};r(g,e=>{Q.sent.length&&e(v)}),D(h);var y=m(h,2),w=e=>{var n=Ja();b(()=>E(n,`title`,`A new session with ${$.view.agent??``}, from here`)),s(`click`,n,()=>{$.fresh($.view?.agentId??``),$.shown=`session`}),t(e,n)};r(y,e=>{$.view?.connected&&e(w)}),b(()=>{E(l,`aria-pressed`,$.shown===`past`),E(h,`aria-pressed`,$.shown===`context`)}),s(`click`,l,()=>void $.drawer()),s(`click`,h,()=>$.shown=$.shown===`context`?`session`:`context`),t(e,i)},n=z(()=>Y.narrow||q(o)[0]===`iso`);aa(i,{pane:`iso`,get first(){return q(n)},name:`Iso`,get settings(){return ja},tools:e,$$slots:{tools:!0}})}var a=m(i,2);Ri(S(a),{}),D(a),t(e,n)};r(y,e=>{n===`note`?e(w):n===`atlas`?e(T,1):e(O,-1)}),D(a),b(e=>{c=A(a,1,`pane svelte-12qhfyh`,null,c,{focus:Y.focus===n,first:q(o)[0]===n,top:Y.layout===`stack`&&q(o)[1]===n&&q(o).length===3}),E(a,`data-pane`,n),E(a,`aria-label`,k[n]),E(a,`hidden`,e),u=j(a,``,u,{"grid-area":q(d).areas[n]})},[()=>!q(o).includes(n)]),l(`pointerdown`,a,()=>{Y.narrow||(Y.focus=n)},!0),t(e,a)}),t(e,a)};r(ne,e=>{J.error?e(K):e(ae,-1)}),D(W),T(W,e=>O(u,e),()=>q(u));var oe=m(W,2);n(oe,20,()=>le,e=>e,(e,n)=>{var i=$a(),a=S(i),o=m(a),c=e=>{var n=Qa(),r=C(n,!0);b(()=>f(r,Y.unseen)),t(e,n)};r(o,e=>{n===`iso`&&Y.unseen&&e(c)}),D(i),b(()=>{E(i,`aria-current`,Y.focus===n),E(i,`aria-label`,k[n]),f(a,`${k[n]??``} `)}),s(`click`,i,()=>Y.to(n)),t(e,i)}),D(oe),D(H),b(()=>{E(W,`data-layout`,Y.layout),G=j(W,``,G,{"grid-template":q(d).template})}),l(`scroll`,W,g),t(e,H),B()}i([`pointerdown`,`keydown`,`click`]);export{to as component,Ae as universal};