oxframe-cli 0.21.0

The `oxframe` command: create, preview with hot reload, render and check oxframe projects
1
2
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const br=!1;var wr=Array.isArray,ks=Array.prototype.indexOf,Wt=Array.prototype.includes,pn=Array.from,yr=Object.defineProperty,At=Object.getOwnPropertyDescriptor,Ms=Object.getOwnPropertyDescriptors,Es=Object.prototype,Ss=Array.prototype,xr=Object.getPrototypeOf,tr=Object.isExtensible;const Ts=()=>{};function As(t){for(var e=0;e<t.length;e++)t[e]()}function kr(){var t,e,n=new Promise((r,s)=>{t=r,e=s});return{promise:n,resolve:t,reject:e}}const ye=2,Rt=4,mn=8,Mr=1<<24,De=16,Ve=32,ft=64,An=128,Vn=256,He=512,he=1024,ue=2048,Ie=4096,Me=8192,_e=16384,qt=32768,Gt=1<<25,Ot=65536,on=1<<17,Ps=1<<18,Dt=1<<19,Fs=1<<20,We=1<<25,ln=1<<21,Pt=1<<22,ut=1<<23,jt=Symbol("$state"),Er=Symbol("component"),Cs=Symbol("legacy props"),Rs=Symbol(""),Sr=Symbol("attributes"),Pn=Symbol("class"),Fn=Symbol("style"),Cn=Symbol("text"),Jt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Os=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),zs=1,Is=2,Tr=4,Ns=8,qs=16,Ds=1,Ls=4,Us=8,Bs=16,Hs=1,Vs=2,Ar={},fe=Symbol("uninitialized"),js="http://www.w3.org/1999/xhtml";function Ys(){console.warn("https://svelte.dev/e/derived_inert")}function Xs(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Pr(t){return t===this.v}function Ws(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function Fr(t){return!Ws(t,this.v)}function Cr(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Gs(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Ks(t,e,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Zs(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $s(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Js(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Qs(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ei(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function ti(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ni(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ri(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function si(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}let ii=!1,be=null;function zt(t){be=t}function $e(t,e=!1,n){be={p:be,i:!1,c:null,e:null,s:t,x:null,r:K,l:null}}function Je(t){var e=be,n=e.e;if(n!==null){e.e=null;for(var r of n)Kr(r)}return e.i=!0,be=e.p,jn(t)}function jn(t={}){return yr(t,Er,{value:!0}),t}function Rr(){return!0}let St=[];function ai(){var t=St;St=[],As(t)}function rt(t){if(St.length===0){var e=St;queueMicrotask(()=>{e===St&&ai()})}St.push(t)}const oi=-7169;function oe(t,e){t.f=t.f&oi|e}function Yn(t){(t.f&He)!==0||t.deps===null?oe(t,he):oe(t,Ie)}function Or(t,e,n){(t.f&ue)!==0?e.add(t):(t.f&Ie)!==0&&n.add(t),oe(t,he)}function Qt(t){var e=X,n=K;Ne(null),Ze(null);try{return t()}finally{Ne(e),Ze(n)}}function li(t,e,n,r){const s=Kt;var i=t.filter(d=>!d.settled),a=e.map(s);if(n.length===0&&i.length===0){r(a);return}var u=K,o=ui(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(d=>d.promise)):null;function h(d){if((u.f&_e)===0){o();try{r([...a,...d])}catch(m){Xe(m,u)}un()}}var v=zr();if(n.length===0){c.then(()=>h([])).finally(v);return}function p(){Promise.all(n.map(d=>ci(d))).then(h).catch(d=>Xe(d,u)).finally(v)}c?c.then(()=>{if((u.f&_e)!==0){v();return}o(),p(),un()}):p()}function ui(){var t=K,e=X,n=be,r=J;return function(i=!0){Ze(t),Ne(e),zt(n),i&&(t.f&_e)===0&&(r?.activate(),r?.apply())}}function un(t=!0){Ze(null),Ne(null),zt(null),t&&J?.deactivate()}function zr(){var t=K,e=t.b,n=J,r=!!e?.is_rendered();return e?.update_pending_count(1,n),n.increment(r,t),()=>{e?.update_pending_count(-1,n),n.decrement(r,t)}}function Kt(t){var e=ye|ue;return K!==null&&(K.f|=Dt),{ctx:be,deps:null,effects:null,equals:Pr,f:e,fn:t,reactions:null,rv:0,v:fe,wv:0,parent:K,ac:null}}const Bt=Symbol("obsolete");function ci(t,e,n){let r=K;r===null&&Gs();var s=void 0,i=xt(fe),a=!X,u=new Set;return Mi(()=>{var o=K,c=kr();s=c.promise;try{Promise.resolve(t()).then(c.resolve,d=>{d!==Jt&&c.reject(d)}).finally(un)}catch(d){c.reject(d),un()}var h=J;if(a){if((o.f&qt)!==0)var v=zr();if(r.b?.is_rendered())h.async_deriveds.get(o)?.reject(Bt);else for(const d of u.values())d.reject(Bt);u.add(c),h.async_deriveds.set(o,c)}const p=(d,m=void 0)=>{v?.(),u.delete(c),m!==Bt&&(h.activate(),m?(i.f|=ut,It(i,m)):((i.f&ut)!==0&&(i.f^=ut),It(i,d)),h.deactivate())};c.promise.then(p,d=>p(null,d||"unknown"))}),Gr(()=>{for(const o of u)o.reject(Bt)}),new Promise(o=>{function c(h){function v(){h===s?o(i):c(s)}h.then(v,v)}c(s)})}function ve(t){const e=Kt(t);return ns(e),e}function Ir(t){const e=Kt(t);return e.equals=Fr,e}function fi(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;n<e.length;n+=1)Ae(e[n])}}function Xn(t){var e,n=K,r=t.parent;if(!it&&r!==null&&t.v!==fe&&(r.f&(_e|Me))!==0)return Ys(),t.v;Ze(r);try{fi(t),e=as(t)}finally{Ze(n)}return e}function Nr(t){var e=Xn(t);if(!t.equals(e)&&(t.wv=ss(),(!J?.is_fork||t.deps===null)&&(J!==null?(J.capture(t,e,!0),Rn?.capture(t,e,!0)):t.v=e,t.deps===null))){oe(t,he);return}it||(Le!==null?(Kn()||J?.is_fork)&&Le.set(t,e):Yn(t))}function di(t){if(t.effects!==null)for(const e of t.effects)(e.teardown||e.ac)&&(e.teardown?.(),e.ac!==null&&Qt(()=>{e.ac.abort(Jt),e.ac=null}),e.fn!==null&&(e.teardown=Ts),$t(e,0),$n(e))}function qr(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&e.fn!==null&&Nt(e)}let _n=null,Et=null,J=null,Rn=null,Le=null,On=null,bn=!1,Yt=null,an=null;var nr=0;let hi=1;class dt{id=hi++;#e=!1;linked=!0;#s=null;#t=null;async_deriveds=new Map;current=new Map;previous=new Map;#o=new Set;#r=new Set;#a=0;#n=new Map;#l=null;#i=[];#m=[];#u=new Set;#c=new Set;#d=new Map;#g=new Set;is_fork=!1;#f=!1;constructor(){Et===null?_n=Et=this:(Et.#t=this,this.#s=Et),Et=this}#y(){if(this.is_fork)return!0;for(const r of this.#n.keys()){for(var e=r,n=!1;e.parent!==null;){if(this.#d.has(e)){n=!0;break}e=e.parent}if(!n)return!0}return!1}skip_effect(e){this.#d.has(e)||this.#d.set(e,{d:[],m:[]}),this.#g.delete(e)}unskip_effect(e,n=r=>this.schedule(r)){var r=this.#d.get(e);if(r){this.#d.delete(e);for(var s of r.d)oe(s,ue),n(s);for(s of r.m)oe(s,Ie),n(s)}this.#g.add(e)}#x(){var e=[];for(const i of this.#i)if(!((i.f&_e)!==0||(i.f&(ue|Ie))===0)){for(var n=i,r=!1;n.parent!==null;){n=n.parent;var s=n.f;if((s&(ft|Ve))!==0){if((s&he)===0){r=!0;break}n.f^=he}}r||e.push(n)}return this.#i=[],e}#_(){this.#e=!0;for(const u of this.#u)this.#c.delete(u),oe(u,ue),this.schedule(u);for(const u of this.#c)oe(u,Ie),this.schedule(u);this.apply();for(var e=Yt=[],n=[],r=an=[];this.#i.length>0;){nr++>1e3&&(this.#p(),vi());for(const u of this.#x())try{this.#b(u,e,n)}catch(o){throw Ur(u),this.#y()||this.discard(),o}}if(J=null,r.length>0){var s=dt.ensure();for(const u of r)s.schedule(u)}if(Yt=null,an=null,this.#y()){this.#v(n),this.#v(e);for(const[u,o]of this.#d)Lr(u,o);r.length>0&&J.#_();return}const i=this.#h();if(i){this.#v(n),this.#v(e),i.#k(this);return}this.#u.clear(),this.#c.clear();for(const u of this.#o)u(this);this.#o.clear(),Rn=this,rr(n),rr(e),Rn=null,this.#l?.resolve();var a=J;if(this.#a===0&&(this.#i.length===0||a!==null)&&this.#p(),this.#i.length>0)if(a!==null){for(const u of this.#i)a.#i.push(u);this.#i=[]}else a=this;a!==null&&(Ge.clear(),a.#_())}#b(e,n,r){e.f^=he;for(var s=e.first;s!==null;){var i=s.f,a=(i&(Ve|ft))!==0,u=a&&(i&he)!==0,o=u||(i&Me)!==0||this.#d.has(s);if(!o&&s.fn!==null){a?s.f^=he:(i&Rt)!==0?n.push(s):tn(s)&&((i&De)!==0&&this.#c.add(s),Nt(s));var c=s.first;if(c!==null){s=c;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}}#h(){for(var e=this.#s;e!==null;){if(!e.is_fork){for(const[n,[,r]]of this.current)if(e.current.has(n)&&!r)return e}e=e.#s}return null}#k(e){for(const[r,s]of e.current)!this.previous.has(r)&&e.previous.has(r)&&this.previous.set(r,e.previous.get(r)),this.current.set(r,s);for(const[r,s]of e.async_deriveds){const i=this.async_deriveds.get(r);i&&s.promise.then(i.resolve).catch(i.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#c);const n=r=>{var s=r.reactions;if(s!==null&&!((r.f&ye)!==0&&(r.f&(ue|Ie))===0))for(const u of s){var i=u.f;if((i&ye)!==0)n(u);else{var a=u;i&(Pt|De)&&!this.async_deriveds.has(a)&&(this.#c.delete(a),oe(a,ue),this.schedule(a))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>e.discard()),e.#p(),J=this,this.#_()}#v(e){for(var n=0;n<e.length;n+=1)Or(e[n],this.#u,this.#c)}capture(e,n,r=!1){e.v!==fe&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&ut)===0&&(this.current.set(e,[n,r]),Le?.set(e,n)),this.is_fork||(e.v=n)}activate(){J=this}deactivate(){J=null,Le=null}flush(){try{bn=!0,J=this,this.#_()}finally{nr=0,On=null,Yt=null,an=null,bn=!1,J=null,Le=null,Ge.clear()}}discard(){for(const e of this.#r)e(this);this.#r.clear();for(const e of this.async_deriveds.values())e.reject(Bt);this.#p(),this.#l?.resolve()}register_created_effect(e){this.#m.push(e)}#w(){for(let v=_n;v!==null;v=v.#t){var e=v.id<this.id,n=[];for(const[p,[d,m]]of this.current){if(v.current.has(p)){var r=v.current.get(p)[0];if(e&&d!==r)v.current.set(p,[d,m]);else continue}n.push(p)}if(e)for(const[p,d]of this.async_deriveds){const m=v.async_deriveds.get(p);m&&d.promise.then(m.resolve).catch(m.reject)}var s=[...v.current.keys()].filter(p=>!v.current.get(p)[1]);if(!(!v.#e||s.length===0)){var i=s.filter(p=>!this.current.has(p));if(i.length===0)e&&v.discard();else if(n.length>0){if(e)for(const p of this.#g)v.unskip_effect(p,d=>{(d.f&(De|Pt))!==0?v.schedule(d):v.#v([d])});v.activate();var a=new Set,u=new Map;for(var o of n)Dr(o,i,a,u);u=new Map;var c=[...v.current].filter(([p,d])=>{const m=this.current.get(p);return m?m[0]!==d[0]||m[1]!==d[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of this.#m)(p.f&(_e|Me|on))===0&&Wn(p,c,u)&&((p.f&(Pt|De))!==0?(oe(p,ue),v.schedule(p)):v.#u.add(p));if(v.#i.length>0&&!v.#f){v.apply();for(var h of v.#x())v.#b(h,[],[])}v.deactivate()}}}}increment(e,n){if(this.#a+=1,e){let r=this.#n.get(n)??0;this.#n.set(n,r+1)}}decrement(e,n){if(this.#a-=1,e){let r=this.#n.get(n)??0;r===1?this.#n.delete(n):this.#n.set(n,r-1)}this.#f||(this.#f=!0,rt(()=>{this.#f=!1,this.linked&&this.flush()}))}transfer_effects(e,n){for(const r of e)this.#u.add(r);for(const r of n)this.#c.add(r);e.clear(),n.clear()}oncommit(e){this.#o.add(e)}ondiscard(e){this.#r.add(e)}settled(){return(this.#l??=kr()).promise}static ensure(){if(J===null){const e=J=new dt;bn||rt(()=>{e.#e||e.flush()})}return J}apply(){{Le=null;return}}schedule(e){if(On=e,e.b?.is_pending&&(e.f&(Rt|mn|Mr))!==0&&(e.f&qt)===0){e.b.defer_effect(e);return}this.#i.push(e)}#p(){if(this.linked){var e=this.#s,n=this.#t;e===null?_n=n:e.#t=n,n===null?Et=e:n.#s=e,this.linked=!1}}}function vi(){try{Qs()}catch(t){Xe(t,On)}}let tt=null;function rr(t){var e=t.length;if(e!==0){for(var n=0;n<e;){var r=t[n++];if((r.f&(_e|Me))===0&&tn(r)&&(tt=new Set,Nt(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Qr(r),tt?.size>0)){Ge.clear();for(const s of tt){if((s.f&(_e|Me))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)tt.has(a)&&(tt.delete(a),i.push(a)),a=a.parent;for(let u=i.length-1;u>=0;u--){const o=i[u];(o.f&(_e|Me))===0&&Nt(o)}}tt.clear()}}tt=null}}function Dr(t,e,n,r){if(!n.has(t)&&(n.add(t),t.reactions!==null))for(const s of t.reactions){const i=s.f;(i&ye)!==0?Dr(s,e,n,r):(i&(Pt|De))!==0&&(i&ue)===0&&Wn(s,e,r)&&(oe(s,ue),Gn(s))}}function Wn(t,e,n){const r=n.get(t);if(r!==void 0)return r;if(t.deps!==null)for(const s of t.deps){if(Wt.call(e,s))return!0;if((s.f&ye)!==0&&Wn(s,e,n))return n.set(s,!0),!0}return n.set(t,!1),!1}function Gn(t){J.schedule(t)}function Lr(t,e){if(!((t.f&Ve)!==0&&(t.f&he)!==0)){(t.f&ue)!==0?e.d.push(t):(t.f&Ie)!==0&&e.m.push(t),oe(t,he);for(var n=t.first;n!==null;)Lr(n,e),n=n.next}}function Ur(t){oe(t,he);for(var e=t.first;e!==null;)Ur(e),e=e.next}let cn=new Set;const Ge=new Map;let Br=!1;function xt(t,e){var n={f:0,v:t,reactions:null,equals:Pr,rv:0,wv:0};return n}function I(t,e){const n=xt(t);return ns(n),n}function pi(t,e=!1,n=!0){const r=xt(t);return e||(r.equals=Fr),r}function A(t,e,n=!1){X!==null&&(!Ue||(X.f&on)!==0)&&Rr()&&(X.f&(ye|De|Pt|on))!==0&&(Ke===null||!Ke.has(t))&&ri();let r=n?de(e):e;return It(t,r,an)}var gt=null,zn=0;function It(t,e,n=null){if(!t.equals(e)){it?Ge.set(t,e):Ge.has(t)||Ge.set(t,t.v);var r=dt.ensure();if(r.capture(t,e),(t.f&ye)!==0){const s=t;(t.f&ue)!==0&&Xn(s),Le===null&&Yn(s)}t.wv=ss(),gt=null,zn=0,Hr(t,ue,n),gt=null,K!==null&&(K.f&he)!==0&&(K.f&(Ve|ft))===0&&(Oe===null?Ti([t]):Oe.push(t)),!r.is_fork&&cn.size>0&&!Br&&mi()}return e}function mi(){Br=!1;for(const t of cn){(t.f&he)!==0&&oe(t,Ie);let e;try{e=tn(t)}catch{e=!0}e&&Nt(t)}cn.clear()}function Xt(t){A(t,t.v+1)}function Hr(t,e,n){var r=t.reactions;if(r!==null){var s=r.length;if(zn+=s,zn>1e5&&gt===null&&(gt=new Set),gt!==null){if(gt.has(t))return;gt.add(t)}for(var i=0;i<s;i++){var a=r[i],u=a.f,o=(u&ue)===0;if(o&&oe(a,e),(u&on)!==0)cn.add(a);else if((u&ye)!==0){var c=a;Le?.delete(c),Hr(c,Ie,n)}else if(o){var h=a;(u&De)!==0&&tt!==null&&tt.add(h),n!==null?n.push(h):Gn(h)}}}}function de(t){if(typeof t!="object"||t===null||jt in t||Er in t)return t;const e=xr(t);if(e!==Es&&e!==Ss)return t;var n=new Map,r=wr(t),s=I(0),i=yt,a=u=>{if(yt===i)return u();var o=X,c=yt;Ne(null),ir(i);var h=u();return Ne(o),ir(c),h};return r&&n.set("length",I(t.length)),new Proxy(t,{defineProperty(u,o,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&ti();var h=n.get(o);return h===void 0?a(()=>{var v=I(c.value);return n.set(o,v),v}):A(h,c.value,!0),!0},deleteProperty(u,o){var c=n.get(o);if(c===void 0){if(o in u){const h=a(()=>I(fe));n.set(o,h),Xt(s)}}else A(c,fe),Xt(s);return!0},get(u,o,c){if(o===jt)return t;var h=n.get(o),v=o in u;if(h===void 0&&(!v||At(u,o)?.writable)&&(h=a(()=>{var d=de(v?u[o]:fe),m=I(d);return m}),n.set(o,h)),h!==void 0){var p=l(h);return p===fe?void 0:p}return Reflect.get(u,o,c)},getOwnPropertyDescriptor(u,o){this.has?.(u,o);var c=Reflect.getOwnPropertyDescriptor(u,o),h=n.get(o);if(h!==void 0){var v=l(h);if(v===fe)return;if(c&&"value"in c)c.value=v;else return{enumerable:!0,configurable:!0,value:v,writable:!0}}return c},has(u,o){if(o===jt)return!0;var c=n.get(o),h=c!==void 0&&c.v!==fe||Reflect.has(u,o);if(c!==void 0||K!==null&&(!h||At(u,o)?.writable)){c===void 0&&(c=a(()=>{var p=h?de(u[o]):fe,d=I(p);return d}),n.set(o,c));var v=l(c);if(v===fe)return!1}return h},set(u,o,c,h){var v=n.get(o),p=o in u;if(r&&o==="length")for(var d=c;d<v.v;d+=1){var m=n.get(d+"");m!==void 0?A(m,fe):d in u&&(m=a(()=>I(fe)),n.set(d+"",m))}if(v===void 0)(!p||At(u,o)?.writable)&&(v=a(()=>I(void 0)),A(v,de(c)),n.set(o,v));else{p=v.v!==fe;var F=a(()=>de(c));A(v,F)}var f=Reflect.getOwnPropertyDescriptor(u,o);if(f?.set&&f.set.call(h,c),!p){if(r&&typeof o=="string"){var _=n.get("length"),E=Number(o);Number.isInteger(E)&&E>=_.v&&A(_,E+1)}Xt(s)}return!0},ownKeys(u){l(s);var o=Reflect.ownKeys(u).filter(v=>{var p=n.get(v);return p===void 0||p.v!==fe});for(var[c,h]of n)h.v!==fe&&!(c in u)&&o.push(c);return o},setPrototypeOf(){ni()}})}var Zt,Vr,jr,Yr;function gi(){if(Zt===void 0){Zt=window,Vr=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;jr=At(e,"firstChild").get,Yr=At(e,"nextSibling").get,tr(t)&&(t[Pn]=void 0,t[Sr]=null,t[Fn]=void 0,t.__e=void 0),tr(n)&&(n[Cn]=void 0)}}function ct(t=""){return document.createTextNode(t)}function kt(t){return jr.call(t)}function en(t){return Yr.call(t)}function B(t,e){return kt(t)}function Xr(t,e=!1){{var n=kt(t);return n instanceof Comment&&n.data===""?en(n):n}}function U(t,e=!1){return kt(t)}function k(t,e=1,n=!1){let r=t;for(;e--;)r=en(r);return r}function _i(t){t.textContent=""}function Wr(){return!1}function bi(t,e,n){return n?document.createElement(t,{is:n}):document.createElement(t)}function wi(t){var e=K;if(e===null)return X.f|=ut,t;if((e.f&qt)===0&&(e.f&Rt)===0)throw t;Xe(t,e)}function Xe(t,e){if(t===Ar)throw t;if(!(e!==null&&(e.f&_e)!==0)){for(;e!==null;){if((e.f&An)!==0&&(e.f&(_e|Gt))===0){if((e.f&qt)===0)throw t;try{e.b.error(t);return}catch(n){t=n}}e=e.parent}throw t}}function yi(t){K===null&&(X===null&&Js(),$s()),it&&Zs()}function xi(t,e){var n=e.last;n===null?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}function at(t,e){var n=K;n!==null&&(n.f&Me)!==0&&(t|=Me);var r={ctx:be,deps:null,nodes:null,f:t|ue|He,first:null,fn:e,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};J?.register_created_effect(r);var s=r;if((t&Rt)!==0)Yt!==null?Yt.push(r):dt.ensure().schedule(r);else if(e!==null){try{Nt(r)}catch(a){throw Ae(r),a}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Dt)===0&&(s=s.first,(t&De)!==0&&(t&Ot)!==0&&s!==null&&(s.f|=Ot))}if(s!==null&&(s.parent=n,n!==null&&xi(s,n),X!==null&&(X.f&ye)!==0&&(t&ft)===0)){var i=X;(i.effects??=[]).push(s)}return r}function Kn(){return X!==null&&!Ue}function Gr(t){const e=at(mn,null);return oe(e,he),e.teardown=t,e}function bt(t){yi();var e=K.f,n=!X&&(e&Ve)!==0&&be!==null&&!be.i;if(n){var r=be;(r.e??=[]).push(t)}else return Kr(t)}function Kr(t){return at(Rt|Fs,t)}function ki(t){dt.ensure();const e=at(ft|Dt,t);return(n={})=>new Promise(r=>{n.outro?wt(e,()=>{Ae(e),r(void 0)}):(Ae(e),r(void 0))})}function Zr(t){return at(Rt,t)}function Mi(t){return at(Pt|Dt,t)}function $r(t,e=0){return at(mn|e,t)}function Q(t,e=[],n=[],r=[]){li(r,e,n,s=>{at(mn,()=>{t(...s.map(l))})})}function Zn(t,e=0){var n=at(De|e,t);return n}function ze(t){return at(Ve|Dt,t)}function Jr(t){var e=t.teardown;if(e!==null){const n=it,r=X;sr(!0),Ne(null);try{e.call(null)}catch(s){Xe(s,t.parent)}finally{sr(n),Ne(r)}}}function $n(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const s=n.ac;s!==null&&Qt(()=>{s.abort(Jt)});var r=n.next;(n.f&ft)!==0?n.parent=null:Ae(n,e),n=r}}function Ei(t){for(var e=t.first;e!==null;){var n=e.next;(e.f&Ve)===0&&Ae(e),e=n}}function Ae(t,e=!0){var n=!1;(e||(t.f&Ps)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Si(t.nodes.start,t.nodes.end),n=!0),t.f|=Gt,$n(t,e&&!n),$t(t,0);var r=t.nodes&&t.nodes.t;if(r!==null)for(const i of r)i.stop();Jr(t),t.f^=Gt,t.f|=_e;var s=t.parent;s!==null&&s.first!==null&&Qr(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Si(t,e){for(;t!==null;){var n=t===e?null:en(t);t.remove(),t=n}}function Qr(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function wt(t,e,n=!0){var r=[];t.f|=Vn,es(t,r,!0);var s=()=>{n&&Ae(t),e&&e()},i=r.length;if(i>0){var a=()=>--i||s();for(var u of r)u.out(a)}else s()}function es(t,e,n){if((t.f&Me)===0){t.f^=Me;var r=t.nodes&&t.nodes.t;if(r!==null)for(const u of r)(u.is_global||n)&&e.push(u);for(var s=t.first;s!==null;){var i=s.next;if((s.f&ft)===0){var a=(s.f&Ot)!==0||(s.f&Ve)!==0&&(t.f&De)!==0;es(s,e,a?n:!1)}s=i}}}function fn(t){t.f&=~Vn,ts(t,!0)}function ts(t,e){if((t.f&Vn)===0&&(t.f&Me)!==0){t.f^=Me,(t.f&he)===0&&(oe(t,ue),dt.ensure().schedule(t));for(var n=t.first;n!==null;){var r=n.next,s=(n.f&Ot)!==0||(n.f&Ve)!==0;ts(n,s?e:!1),n=r}var i=t.nodes&&t.nodes.t;if(i!==null)for(const a of i)(a.is_global||e)&&a.in()}}function Jn(t,e){if(t.nodes)for(var n=t.nodes.start,r=t.nodes.end;n!==null;){var s=n===r?null:en(n);e.append(n),n=s}}let it=!1;function sr(t){it=t}let X=null,Ue=!1;function Ne(t){X=t}let K=null;function Ze(t){K=t}let Ke=null;function ns(t){X!==null&&((X.f&ln)!==0||(X.f&ye)!==0)&&(Ke??=new Set).add(t)}let Te=null,Ce=0,Oe=null;function Ti(t){Oe=t}let rs=1,_t=0,yt=_t;function ir(t){yt=t}function ss(){return++rs}function tn(t){var e=t.f;if((e&ue)!==0)return!0;if((e&Ie)!==0){for(var n=t.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(tn(i)&&Nr(i),i.wv>t.wv)return!0}(e&He)!==0&&Le===null&&oe(t,he)}return!1}function is(t,e,n=!0){var r=t.reactions;if(r!==null&&!(Ke!==null&&Ke.has(t)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&ye)!==0?is(i,e,!1):e===i&&(n?oe(i,ue):(i.f&he)!==0&&oe(i,Ie),Gn(i))}}function as(t){var e=Te,n=Ce,r=Oe,s=X,i=Ke,a=be,u=Ue,o=yt,c=t.f;Te=null,Ce=0,Oe=null,X=(c&(Ve|ft))===0?t:null,Ke=null,zt(t.ctx),Ue=!1,yt=++_t,t.ac!==null&&(Qt(()=>{t.ac.abort(Jt)}),t.ac=null);try{t.f|=ln;var h=t.fn,v=h();t.f|=qt;var p=ar(t);if(Rr()&&Oe!==null&&!Ue&&p!==null&&(t.f&(ye|Ie|ue))===0)for(var d=0;d<Oe.length;d++)is(Oe[d],t);if(s!==null&&s!==t){if(_t++,s.deps!==null)for(let m=0;m<n;m+=1)s.deps[m].rv=_t;if(e!==null)for(const m of e)m.rv=_t;Oe!==null&&(r===null?r=Oe:r.push(...Oe))}return(t.f&ut)!==0&&(t.f^=ut),v}catch(m){return ar(t),wi(m)}finally{t.f^=ln,Te=e,Ce=n,Oe=r,X=s,Ke=i,zt(a),Ue=u,yt=o}}function ar(t){var e=t.deps,n=J?.is_fork;if(Te!==null){var r;if(n||$t(t,Ce),e!==null&&Ce>0)for(e.length=Ce+Te.length,r=0;r<Te.length;r++)e[Ce+r]=Te[r];else t.deps=e=Te;if(Kn()&&(t.f&He)!==0)for(r=Ce;r<e.length;r++)(e[r].reactions??=[]).push(t)}else!n&&e!==null&&Ce<e.length&&($t(t,Ce),e.length=Ce);return e}function Ai(t,e){let n=e.reactions;if(n!==null){var r=ks.call(n,t);if(r!==-1){var s=n.length-1;s===0?n=e.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(e.f&ye)!==0&&(Te===null||!Wt.call(Te,e))){var i=e;(i.f&He)!==0&&(i.f^=He),i.v!==fe&&Yn(i),i.ac!==null&&Qt(()=>{i.ac.abort(Jt),i.ac=null,oe(i,ue)}),di(i),$t(i,0)}}function $t(t,e){var n=t.deps;if(n!==null)for(var r=e;r<n.length;r++)Ai(t,n[r])}function Nt(t){var e=t.f;if((e&_e)===0){oe(t,he);var n=K;K=t;try{(e&(De|Mr))!==0?Ei(t):$n(t),Jr(t);var r=as(t);t.teardown=typeof r=="function"?r:null,t.wv=rs;var s;br&&ii&&(t.f&ue)!==0&&t.deps}finally{K=n}}}function l(t){var e=t.f,n=(e&ye)!==0;if(X!==null&&!Ue){var r=K!==null&&(K.f&_e)!==0;if(!r&&(Ke===null||!Ke.has(t))){var s=X.deps;if((X.f&ln)!==0)t.rv<_t&&(t.rv=_t,Te===null&&s!==null&&s[Ce]===t?Ce++:Te===null?Te=[t]:Te.push(t));else{X.deps??=[],Wt.call(X.deps,t)||X.deps.push(t);var i=t.reactions;i===null?t.reactions=[X]:Wt.call(i,X)||i.push(X)}}}if(it&&Ge.has(t))return Ge.get(t);if(n){var a=t;if(it){var u=a.v;return((a.f&he)===0&&a.reactions!==null||ls(a))&&(u=Xn(a)),Ge.set(a,u),u}var o=(a.f&He)===0&&!Ue&&X!==null&&(X.f&He)!==0,c=(a.f&qt)===0;tn(a)&&(o&&(a.f|=He),Nr(a)),o&&!c&&(qr(a),os(a))}if(Le?.has(t))return Le.get(t);if((t.f&ut)!==0)throw t.v;return t.v}function os(t){if(t.f|=He,t.deps!==null)for(const n of t.deps){var e=n.reactions;e===null?n.reactions=[t]:Wt.call(e,t)||e.push(t),(n.f&ye)!==0&&(n.f&He)===0&&(qr(n),os(n))}}function ls(t){if(t.v===fe)return!0;if(t.deps===null)return!1;for(const e of t.deps)if(Ge.has(e)||(e.f&ye)!==0&&ls(e))return!0;return!1}function vt(t){var e=Ue;try{return Ue=!0,t()}finally{Ue=e}}const Pi=["touchstart","touchmove"];function Fi(t){return Pi.includes(t)}const Ht=Symbol("events"),us=new Set,In=new Set;function Ci(t,e,n,r={}){function s(i){if(r.capture||Nn.call(e,i),!i.cancelBubble)return Qt(()=>n?.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?(s.__removed=!1,rt(()=>{s.__removed||e.addEventListener(t,s,r)})):e.addEventListener(t,s,r),s}function nn(t,e,n,r,s){var i={capture:r,passive:s},a=Ci(t,e,n,i);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Gr(()=>{a.__removed=!0,e.removeEventListener(t,a,i)})}function H(t,e,n){(e[Ht]??={})[t]=n}function pt(t){for(var e=0;e<t.length;e++)us.add(t[e]);for(var n of In)n(t)}let wn=null,yn=!1;function Nn(t){var e=this,n=e.ownerDocument,r=t.type,s=t.composedPath?.()||[],i=s[0]||t.target;wn=t,yn||(yn=!0,setTimeout(()=>{yn=!1,wn=null}));var a=0,u=wn===t&&t[Ht];if(u){var o=s.indexOf(u);if(o!==-1&&(e===document||e===window)){t[Ht]=e;return}var c=s.indexOf(e);if(c===-1)return;o<=c&&(a=o)}if(i=s[a]||t.target,i!==e){yr(t,"currentTarget",{configurable:!0,get(){return i||n}});var h=X,v=K;Ne(null),Ze(null);try{for(var p,d=[];i!==null&&i!==e;){try{var m=i[Ht]?.[r];m!=null&&(!i.disabled||t.target===i)&&m.call(i,t)}catch(F){p?d.push(F):p=F}if(t.cancelBubble)break;a++,i=a<s.length?s[a]:null}if(p){for(let F of d)queueMicrotask(()=>{throw F});throw p}}finally{t[Ht]=e,delete t.currentTarget,Ne(h),Ze(v)}}}const Ri=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Oi(t){return Ri?.createHTML(t)??t}function cs(t){var e=bi("template");return e.innerHTML=Oi(t.replaceAll("<!>","<!---->")),e.content}function dn(t,e){var n=K;n.nodes===null&&(n.nodes={start:t,end:e,a:null,t:null})}function ee(t,e){var n=(e&Hs)!==0,r=(e&Vs)!==0,s,i=!t.startsWith("<!>");return()=>{s===void 0&&(s=cs(i?t:"<!>"+t),n||(s=kt(s)));var a=r||Vr?document.importNode(s,!0):s.cloneNode(!0);if(n){var u=kt(a),o=a.lastChild;dn(u,o)}else dn(a,a);return a}}function zi(t,e,n="svg"){var r=!t.startsWith("<!>"),s=`<${n}>${r?t:"<!>"+t}</${n}>`,i;return()=>{if(!i){var a=cs(s),u=kt(a);i=kt(u)}var o=i.cloneNode(!0);return dn(o,o),o}}function Ii(t,e){return zi(t,e,"svg")}function or(t=""){{var e=ct(t+"");return dn(e,e),e}}function W(t,e){t!==null&&t.before(e)}function Ni(t){let e=0,n=xt(0),r;return()=>{Kn()&&(l(n),$r(()=>(e===0&&(r=vt(()=>t(()=>Xt(n)))),e+=1,()=>{rt(()=>{e-=1,e===0&&(r?.(),r=void 0,Xt(n))})})))}}var qi=Ot|Dt;function Di(t,e,n,r){new Li(t,e,n,r)}class Li{parent;is_pending=!1;transform_error;#e;#s=null;#t;#o;#r;#a=null;#n=null;#l=null;#i=null;#m=0;#u=0;#c=!1;#d=new Set;#g=new Set;#f=null;#y=Ni(()=>(this.#f=xt(this.#m),()=>{this.#f=null}));constructor(e,n,r,s){this.#e=e,this.#t=n,this.#o=i=>{var a=K;a.b=this,a.f|=An,r(i)},this.parent=K.b,this.transform_error=s??this.parent?.transform_error??(i=>i),this.#r=Zn(()=>{this.#v()},qi)}#x(){try{this.#a=ze(()=>this.#o(this.#e))}catch(e){this.error(e)}}#_(e){const n=this.#t.failed,{reset:r,invoke_onerror:s}=this.#b(e);rt(s),n&&(this.#l=ze(()=>{n(this.#e,()=>e,()=>r)}))}#b(e){var n=!1,r=!1;const s=()=>{if(!this.#h()){if(n){Xs();return}n=!0,r&&si(),this.#l!==null&&wt(this.#l,()=>{this.#l=null}),this.#p(()=>{this.#v()})}};return{reset:s,invoke_onerror:()=>{if(!this.#h())try{r=!0,this.#t.onerror?.(e,s),r=!1}catch(a){Xe(a,this.#r&&this.#r.parent)}}}}#h(){return(this.#r.f&(_e|Gt))!==0}#k(){const e=this.#t.pending;e&&(this.is_pending=!0,this.#n=ze(()=>e(this.#e)),rt(()=>{if(!this.#h()){var n=this.#i=document.createDocumentFragment(),r=ct(),s=!1;if(n.append(r),this.#a=this.#p(()=>{try{return ze(()=>this.#o(r))}catch(i){try{this.error(i),s=!0}catch(a){Xe(a,this.#r.parent)}return null}}),this.#a===null){this.#i=null,s&&this.#w(J);return}this.#u===0&&(this.#e.before(n),this.#i=null,wt(this.#n,()=>{this.#n=null}),this.#w(J))}}))}#v(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#m=0,this.#a=ze(()=>{this.#o(this.#e)}),this.#u>0){var e=this.#i=document.createDocumentFragment();Jn(this.#a,e);const n=this.#t.pending;this.#n=ze(()=>n(this.#e))}else this.#w(J)}catch(n){this.error(n)}}#w(e){this.is_pending=!1,e.transfer_effects(this.#d,this.#g)}defer_effect(e){Or(e,this.#d,this.#g)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#p(e){var n=K,r=X,s=be;Ze(this.#r),Ne(this.#r),zt(this.#r.ctx);try{return dt.ensure(),e()}finally{Ze(n),Ne(r),zt(s)}}#M(e,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#M(e,n);return}this.#u+=e,this.#u===0&&(this.#w(n),this.#n&&wt(this.#n,()=>{this.#n=null}),this.#i&&(this.#e.before(this.#i),this.#i=null))}update_pending_count(e,n){this.#M(e,n),this.#m+=e,!(!this.#f||this.#c)&&(this.#c=!0,rt(()=>{this.#c=!1,this.#f&&It(this.#f,this.#m)}))}get_effect_pending(){return this.#y(),l(this.#f)}error(e){if(e===Ar||!this.#t.onerror&&!this.#t.failed)throw e;J?.is_fork?(this.#a&&J.skip_effect(this.#a),this.#n&&J.skip_effect(this.#n),this.#l&&J.skip_effect(this.#l),J.oncommit(()=>{this.#h()||this.#E(e)})):this.#E(e)}#E(e){this.#a&&(Ae(this.#a),this.#a=null),this.#n&&(Ae(this.#n),this.#n=null),this.#l&&(Ae(this.#l),this.#l=null);let n=this.#t.failed;const r=s=>{if(this.#h())return;const{reset:i,invoke_onerror:a}=this.#b(s);a(),n&&!this.#h()&&(this.#l=this.#p(()=>{try{return ze(()=>{var u=K;u.b=this,u.f|=An,n(this.#e,()=>s,()=>i)})}catch(u){return Xe(u,this.#r.parent),null}}))};rt(()=>{if(!this.#h()){var s;try{s=this.transform_error(e)}catch(i){Xe(i,this.#r&&this.#r.parent);return}s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(r,i=>Xe(i,this.#r&&this.#r.parent)):r(s)}})}}function q(t,e){var n=e==null?"":typeof e=="object"?`${e}`:e;n!==(t[Cn]??=t.nodeValue)&&(t[Cn]=n,t.nodeValue=`${n}`)}function xn(t,e){return Ui(t,e)}const rn=new Map;function Ui(t,{target:e,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:u}){gi();var o=void 0,c=ki(()=>{var h=n??e.appendChild(ct());Di(h,{pending:()=>{}},d=>{$e({});var m=be;i&&(m.c=i),s&&(r.$$events=s),o=t(d,r)||jn(),Je()},u);var v=new Set,p=d=>{for(var m=0;m<d.length;m++){var F=d[m];if(!v.has(F)){v.add(F);var f=Fi(F);for(const y of[e,document]){var _=rn.get(y);_===void 0&&(_=new Map,rn.set(y,_));var E=_.get(F);E===void 0?(y.addEventListener(F,Nn,{passive:f}),_.set(F,1)):_.set(F,E+1)}}}};return p(pn(us)),In.add(p),()=>{for(var d of v)for(const f of[e,document]){var m=rn.get(f),F=m.get(d);--F==0?(f.removeEventListener(d,Nn),m.delete(d),m.size===0&&rn.delete(f)):m.set(d,F)}In.delete(p),h!==n&&h.parentNode?.removeChild(h)}});return Bi.set(o,c),o}let Bi=new WeakMap;class Hi{anchor;#e=new Map;#s=new Map;#t=new Map;#o=new Set;#r=!0;constructor(e,n=!0){this.anchor=e,this.#r=n}#a=e=>{if(this.#e.has(e)){var n=this.#e.get(e),r=this.#s.get(n);if(r)fn(r),this.#o.delete(n);else{var s=this.#t.get(n);s&&(fn(s.effect),this.#s.set(n,s.effect),this.#t.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of this.#e){if(this.#e.delete(i),i===e)break;const u=this.#t.get(a);u&&(Ae(u.effect),this.#t.delete(a))}for(const[i,a]of this.#s){if(i===n||this.#o.has(i))continue;const u=()=>{if(Array.from(this.#e.values()).includes(i)){var c=document.createDocumentFragment();Jn(a,c),c.append(ct()),this.#t.set(i,{effect:a,fragment:c})}else Ae(a);this.#o.delete(i),this.#s.delete(i)};this.#r||!r?(this.#o.add(i),wt(a,u,!1)):u()}}};#n=e=>{this.#e.delete(e);const n=Array.from(this.#e.values());for(const[r,s]of this.#t)n.includes(r)||(Ae(s.effect),this.#t.delete(r))};ensure(e,n){var r=J,s=Wr();if(n&&!this.#s.has(e)&&!this.#t.has(e))if(s){var i=document.createDocumentFragment(),a=ct();i.append(a),this.#t.set(e,{effect:ze(()=>n(a)),fragment:i})}else this.#s.set(e,ze(()=>n(this.anchor)));if(this.#e.set(r,e),s){for(const[u,o]of this.#s)u===e?r.unskip_effect(o):r.skip_effect(o);for(const[u,o]of this.#t)u===e?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(this.#a),r.ondiscard(this.#n)}else this.#a(r)}}function ge(t,e,n=!1){var r=new Hi(t),s=n?Ot:0;function i(a,u){r.ensure(a,u)}Zn(()=>{var a=!1;e((u,o=0)=>{a=!0,i(o,u)}),a||i(-1,null)},s)}function Vi(t,e){return e}function ji(t,e,n){for(var r=[],s=e.length,i,a=e.length,u=0;u<s;u++){let v=e[u];wt(v,()=>{if(i){if(i.pending.delete(v),i.done.add(v),i.pending.size===0){var p=t.outrogroups;qn(t,pn(i.done)),p.delete(i),p.size===0&&(t.outrogroups=null)}}else a-=1},!1)}if(a===0){var o=r.length===0&&n!==null&&t.pending.size===0;if(o){var c=n,h=c.parentNode;_i(h),h.append(c),t.items.clear()}qn(t,e,!o)}else i={pending:new Set(e),done:new Set},(t.outrogroups??=new Set).add(i)}function qn(t,e,n=!0){var r;if(t.pending.size>0){r=new Set;for(const a of t.pending.values())for(const u of a)r.add(t.items.get(u).e)}for(var s=0;s<e.length;s++){var i=e[s];if(r?.has(i)){i.f|=We;const a=document.createDocumentFragment();Jn(i,a)}else Ae(e[s],n)}}var lr;function Be(t,e,n,r,s,i=null){var a=t,u=new Map,o=(e&Tr)!==0;if(o){var c=t;a=c.appendChild(ct())}var h=null,v=Ir(()=>{var E=n();return wr(E)?E:E==null?[]:pn(E)}),p=new Map,d=!0;function m(E){if((_.effect.f&_e)===0){_.pending.delete(E);var y=l(v);_.fallback=h,Yi(_,y,a,e,r),h!==null&&(y.length===0?(h.f&We)===0?fn(h):(h.f^=We,Vt(h,null,a)):wt(h,()=>{h=null}))}}function F(E){_.pending.delete(E)}var f=Zn(()=>{for(var E=l(v),y=E.length,w=new Set,P=J,S=Wr(),D=0;D<y;D+=1){var te=E[D],ne=r(te,D),M=d?null:u.get(ne);M?(M.v&&It(M.v,te),M.i&&It(M.i,D),S&&P.unskip_effect(M.e)):(M=Xi(u,d?a:lr??=ct(),te,ne,D,s,e,n),d||(M.e.f|=We),u.set(ne,M)),w.add(ne)}if(y===0&&i&&!h&&(d?h=ze(()=>i(a)):(h=ze(()=>i(lr??=ct())),h.f|=We)),y>w.size&&Ks(),!d)if(p.set(P,w),S){for(const[O,Z]of u)w.has(O)||P.skip_effect(Z.e);P.oncommit(m),P.ondiscard(F)}else m(P);l(v)}),_={effect:f,items:u,pending:p,outrogroups:null,fallback:h};d=!1}function Ut(t){for(;t!==null&&(t.f&Ve)===0;)t=t.next;return t}function Yi(t,e,n,r,s){var i=(r&Ns)!==0,a=e.length,u=t.items,o=Ut(t.effect.first),c,h=null,v,p=[],d=[],m,F,f,_;if(i)for(_=0;_<a;_+=1)m=e[_],F=s(m,_),f=u.get(F).e,(f.f&We)===0&&(f.nodes?.a?.measure(),(v??=new Set).add(f));for(_=0;_<a;_+=1){if(m=e[_],F=s(m,_),f=u.get(F).e,t.outrogroups!==null)for(const M of t.outrogroups)M.pending.delete(f),M.done.delete(f);if((f.f&Me)!==0&&(fn(f),i&&(f.nodes?.a?.unfix(),(v??=new Set).delete(f))),(f.f&We)!==0)if(f.f^=We,f===o)Vt(f,null,n);else{var E=h?h.next:o;f===t.effect.last&&(t.effect.last=f.prev),f.prev&&(f.prev.next=f.next),f.next&&(f.next.prev=f.prev),lt(t,h,f),lt(t,f,E),Vt(f,E,n),h=f,p=[],d=[],o=Ut(h.next);continue}if(f!==o){if(c!==void 0&&c.has(f)){if(p.length<d.length){var y=d[0],w;h=y.prev;var P=p[0],S=p[p.length-1];for(w=0;w<p.length;w+=1)Vt(p[w],y,n);for(w=0;w<d.length;w+=1)c.delete(d[w]);lt(t,P.prev,S.next),lt(t,h,P),lt(t,S,y),o=y,h=S,_-=1,p=[],d=[]}else c.delete(f),Vt(f,o,n),lt(t,f.prev,f.next),lt(t,f,h===null?t.effect.first:h.next),lt(t,h,f),h=f;continue}for(p=[],d=[];o!==null&&o!==f;)(c??=new Set).add(o),d.push(o),o=Ut(o.next);if(o===null)continue}(f.f&We)===0&&p.push(f),h=f,o=Ut(f.next)}if(t.outrogroups!==null){for(const M of t.outrogroups)M.pending.size===0&&(qn(t,pn(M.done)),t.outrogroups?.delete(M));t.outrogroups.size===0&&(t.outrogroups=null)}if(o!==null||c!==void 0){var D=[];if(c!==void 0)for(f of c)(f.f&Me)===0&&D.push(f);for(;o!==null;)(o.f&Me)===0&&o!==t.fallback&&D.push(o),o=Ut(o.next);var te=D.length;if(te>0){var ne=(r&Tr)!==0&&a===0?n:null;if(i){for(_=0;_<te;_+=1)D[_].nodes?.a?.measure();for(_=0;_<te;_+=1)D[_].nodes?.a?.fix()}ji(t,D,ne)}}i&&rt(()=>{if(v!==void 0)for(f of v)f.nodes?.a?.apply()})}function Xi(t,e,n,r,s,i,a,u){var o=(a&zs)!==0?(a&qs)===0?pi(n,!1,!1):xt(n):null,c=(a&Is)!==0?xt(s):null;return{v:o,i:c,e:ze(()=>(i(e,o??n,c??s,u),()=>{t.delete(r)}))}}function Vt(t,e,n){if(t.nodes)for(var r=t.nodes.start,s=t.nodes.end,i=e&&(e.f&We)===0?e.nodes.start:n;r!==null;){var a=en(r);if(i.before(r),r===s)return;r=a}}function lt(t,e,n){e===null?t.effect.first=n:e.next=n,n===null?t.effect.last=e:n.prev=e}const ur=[...` 	
\r\f \v\uFEFF`];function Wi(t,e,n){var r=t==null?"":""+t;if(e&&(r=r?r+" "+e:e),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var u=a+i;(a===0||ur.includes(r[a-1]))&&(u===r.length||ur.includes(r[u]))?r=(a===0?"":r.substring(0,a))+r.substring(u+1):a=u}}return r===""?null:r}function cr(t,e=!1){var n=e?" !important;":";",r="";for(var s of Object.keys(t)){var i=t[s];i!=null&&i!==""&&(r+=" "+s+": "+i+n)}return r}function Gi(t,e){if(e){var n="",r,s;return Array.isArray(e)?(r=e[0],s=e[1]):r=e,r&&(n+=cr(r)),s&&(n+=cr(s,!0)),n=n.trim(),n===""?null:n}return String(t)}function Ft(t,e,n,r,s,i){var a=t[Pn];if(a!==n||a===void 0){var u=Wi(n,r,i);u==null?t.removeAttribute("class"):t.className=u,t[Pn]=n}else if(i&&s!==i)for(var o in i){var c=!!i[o];(s==null||c!==!!s[o])&&t.classList.toggle(o,c)}return i}function kn(t,e={},n,r){for(var s in n){var i=n[s];e[s]!==i&&(n[s]==null?t.style.removeProperty(s):t.style.setProperty(s,i,r))}}function nt(t,e,n,r){var s=t[Fn];if(s!==e){var i=Gi(e,r);i==null?t.removeAttribute("style"):t.style.cssText=i,t[Fn]=e}else r&&(Array.isArray(r)?(kn(t,n?.[0],r[0]),kn(t,n?.[1],r[1],"important")):kn(t,n,r));return r}const Ki=Symbol("is custom element"),Zi=Symbol("is html"),$i=Os?"progress":"PROGRESS";function fr(t,e){var n=fs(t);n.value===(n.value=e??void 0)||t.value===e&&(e!==0||t.nodeName!==$i)||(t.value=e??"")}function x(t,e,n,r){var s=fs(t);s[e]!==(s[e]=n)&&(e==="loading"&&(t[Rs]=n),n==null?t.removeAttribute(e):typeof n!="string"&&Ji(t).has(e)?t[e]=n:t.setAttribute(e,n))}function fs(t){return t[Sr]??={[Ki]:t.nodeName.includes("-"),[Zi]:t.namespaceURI===js}}var dr=new Map;function Ji(t){var e=t.getAttribute("is")||t.nodeName,n=dr.get(e);if(n)return n;dr.set(e,n=new Set);for(var r,s=t,i=Element.prototype;i!==s;){r=Ms(s);for(var a in r)r[a].set&&a!=="innerHTML"&&a!=="textContent"&&a!=="innerText"&&n.add(a);s=xr(s)}return n}class Qn{#e=new WeakMap;#s;#t;static entries=new WeakMap;constructor(e){this.#t=e}observe(e,n){var r=this.#e.get(e)||new Set;return r.add(n),this.#e.set(e,r),this.#o().observe(e,this.#t),()=>{var s=this.#e.get(e);s.delete(n),s.size===0&&(this.#e.delete(e),this.#s.unobserve(e))}}#o(){return this.#s??(this.#s=new ResizeObserver(e=>{for(var n of e){Qn.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var Qi=new Qn({box:"border-box"});function ea(t,e,n){var r=Qi.observe(t,()=>n(t[e]));Zr(()=>(vt(()=>n(t[e])),r))}function Mn(t,e){return t===e||t?.[jt]===e}function ht(t=jn(),e,n,r){var s=be.r,i=K;return Zr(()=>{var a,u;return $r(()=>{a=u,u=[],vt(()=>{Mn(n(...u),t)||(e(t,...u),a&&Mn(n(...a),t)&&e(null,...a))})}),()=>{let o=i;for(;o!==s&&o.parent!==null&&o.parent.f&Gt;)o=o.parent;const c=()=>{u&&Mn(n(...u),t)&&e(null,...u)},h=o.teardown;o.teardown=()=>{c(),h?.()}}}),t}let sn=!1;function ta(t){var e=sn;try{return sn=!1,[t(),sn]}finally{sn=e}}function st(t,e,n,r){var s=!0,i=(n&Us)!==0,a=(n&Bs)!==0,u=r,o=!0,c=void 0,h=()=>a&&s?(c??=Kt(r),l(c)):(o&&(o=!1,u=a?vt(r):r),u);let v;if(i){var p=jt in t||Cs in t;v=At(t,e)?.set??(p&&e in t?w=>t[e]=w:void 0)}var d,m=!1;i?[d,m]=ta(()=>t[e]):d=t[e],d===void 0&&r!==void 0&&(d=h(),v&&(ei(),v(d)));var F;if(F=()=>{var w=t[e];return w===void 0?h():(o=!0,w)},(n&Ls)===0)return F;if(v){var f=t.$$legacy;return(function(w,P){return arguments.length>0?((!P||f||m)&&v(P?F():w),w):F()})}var _=!1,E=((n&Ds)!==0?Kt:Ir)(()=>(_=!1,F()));i&&l(E);var y=K;return(function(w,P){if(arguments.length>0){const S=P?l(E):i?de(w):w;return A(E,S),_=!0,u!==void 0&&(u=S),w}return it&&_||(y.f&_e)!==0?E.v:l(E)})}function Lt(t){be===null&&Cr(),bt(()=>{const e=vt(t);if(typeof e=="function")return e})}function ds(t){be===null&&Cr(),Lt(()=>()=>vt(t))}const Dn=1,Ct={Webp:1,Jpeg:2,Rgba:3,Surface:4,Pcm:5},hn=16;function hs(t){if(t.byteLength<hn)return null;const e=new DataView(t),n=e.getUint8(8);return n<1||n>5?null:{frame:e.getUint32(0,!0),width:e.getUint16(4,!0),height:e.getUint16(6,!0),format:n,len:e.getUint32(12,!0)}}const na={[Ct.Jpeg]:"image/jpeg",[Ct.Webp]:"image/webp"};async function ra(t){const e=hs(t);if(!e||e.format===Ct.Pcm||e.format===Ct.Surface)return null;const n=new Uint8Array(t,hn,e.len);let r;if(e.format===Ct.Rgba){const s=new ImageData(new Uint8ClampedArray(n),e.width,e.height);r=await createImageBitmap(s)}else r=await createImageBitmap(new Blob([n],{type:na[e.format]}));return{header:e,image:r}}function sa(t,e,n){const r=new URL(t,n);return r.protocol==="http:"&&(r.protocol="ws:"),r.protocol==="https:"&&(r.protocol="wss:"),e&&r.searchParams.set("token",e),r.toString()}const ia=4401,vs="unauthorized";function aa(t,e,n){return Math.min(n,e*2**Math.max(0,t-1))}class oa{kind="ws";ws=null;handlers=null;attempt=0;timer=null;closed=!1;latestFrame=-1;decodeChain=Promise.resolve();url;min;max;WS;constructor(e){const n=typeof location<"u"?location.href:"http://127.0.0.1/";this.url=sa(e.url,e.token,n),this.min=e.minDelayMs??250,this.max=e.maxDelayMs??5e3,this.WS=e.WebSocketImpl??WebSocket}connect(e){this.handlers=e,this.closed=!1,this.open()}open(){const e=this.handlers;if(!e||this.closed)return;e.status(this.attempt===0?{state:"connecting"}:{state:"reconnecting",attempt:this.attempt,delayMs:0});const n=new this.WS(this.url);n.binaryType="arraybuffer",this.ws=n,n.onopen=()=>{this.attempt=0,e.status({state:"open"})},n.onmessage=r=>{if(typeof r.data=="string"){let a;try{a=JSON.parse(r.data)}catch{return}this.decodeChain=this.decodeChain.then(()=>e.event(a));return}const s=r.data,i=hs(s);if(i?.format===Ct.Pcm){const a=Math.min(s.byteLength,hn+i.len),u=s.slice(hn,a);this.decodeChain=this.decodeChain.then(()=>e.audio?.({rate:i.width,pcm:u}));return}this.decodeChain=this.decodeChain.then(async()=>{const a=await ra(s);a&&(this.latestFrame=a.header.frame,e.frame(a))})},n.onclose=r=>{if(this.ws=null,this.closed)return;if(r?.code===ia){this.closed=!0,e.status({state:"closed",reason:vs});return}this.attempt+=1;const s=aa(this.attempt,this.min,this.max);e.status({state:"reconnecting",attempt:this.attempt,delayMs:s}),this.timer=setTimeout(()=>this.open(),s)},n.onerror=()=>n.close()}send(e){this.ws?.readyState===1&&this.ws.send(JSON.stringify(e))}close(){this.closed=!0,this.timer&&clearTimeout(this.timer),this.ws?.close(),this.handlers?.status({state:"closed",reason:"closed by editor"})}get lastFrame(){return this.latestFrame}}class la{kind="mock";h=null;frame=0;playing=null;viewport={w:640,h:360};selected=null;sent=[];fps=30;size=[1920,1080];scenes=[{name:"intro",start:0,frames:60,transition:0,transition_at:0},{name:"outro",start:60,frames:60,transition:0,transition_at:0}];metas={intro:{version:1,markers:{beat:1},eases:{slide:[.65,0,.35,1]},tunables:{speed:1.5}},outro:{version:1,markers:{fade:.5},eases:{},tunables:{}}};get total(){return 120}connect(e){this.h=e,e.status({state:"connecting"}),queueMicrotask(()=>e.status({state:"open"}))}emit(e){this.h?.event(e)}inject(e){this.emit(e)}markers(){return Object.entries(this.metas).flatMap(([e,n])=>Object.entries(n.markers??{}).map(([r,s])=>({scene:e,name:r,time:s})))}timeline(){this.emit({type:"Timeline",frames:this.total,markers:this.markers(),scenes:this.scenes,audio_waveform:Array.from({length:240},(e,n)=>Math.abs(Math.sin(n/7))*.8),slides:[{scene:"intro",frame:30,notes:"Say hello."},{scene:"intro",frame:59,notes:"The square moves."},{scene:"outro",frame:119,notes:""}]})}squareX(e){return 200+e/this.total*1400}async show(){const e=this.frame;this.emit({type:"Frame",index:e});const[n,r]=this.size,s=Math.min(this.viewport.w/n,this.viewport.h/r,1),i=Math.max(1,Math.round(n*s)),a=Math.max(1,Math.round(r*s));let u=null;if(typeof OffscreenCanvas<"u"){const o=new OffscreenCanvas(i,a),c=o.getContext("2d");c.fillStyle="#141414",c.fillRect(0,0,i,a),c.fillStyle="#e13238",c.fillRect((this.squareX(e)-100)*s,440*s,200*s,200*s),c.fillStyle="#fff",c.font=`${Math.round(48*s)}px sans-serif`,c.fillText(`frame ${e}`,40*s,80*s),u=o.transferToImageBitmap()}if(u){const o={header:{frame:e,width:i,height:a,format:3,len:i*a*4},image:u};this.h?.frame(o)}if(this.selected!==null){const o=this.squareX(e);this.emit({type:"Signals",node_id:this.selected,values:[{name:"x",value:(o-960).toFixed(3)},{name:"y",value:"0.000"},{name:"fill",value:"#e13238ff"}],bounds:[o-100,440,o+100,440,o+100,640,o-100,640]})}}send(e){switch(this.sent.push(e),e.type){case"Hello":if(e.protocol_version!==Dn){this.emit({type:"Error",kind:"Incompatible",message:"protocol mismatch",spans:[]});return}this.emit({type:"Ready",protocol_version:Dn,engine_version:"mock",fps:this.fps,size:this.size,scenes:this.scenes});for(const[n,r]of Object.entries(this.metas))this.emit({type:"MetaChanged",scene:n,meta:r});this.timeline(),this.emit({type:"Tree",nodes:[{id:0,parent:null,kind:"Group",name:"view"},{id:1,parent:0,kind:"Rect",name:"square"}]}),this.show();break;case"Seek":this.frame=Math.max(0,Math.min(this.total-1,e.frame)),this.show();break;case"Step":this.stopPlayback(),this.frame=Math.max(0,Math.min(this.total-1,this.frame+e.delta)),this.emit({type:"Playback",playing:!1,frame:this.frame}),this.show();break;case"Play":this.stopPlayback(),this.emit({type:"Playback",playing:!0,frame:this.frame}),this.playing=setInterval(()=>{this.frame=(this.frame+1)%this.total,this.show()},1e3/this.fps);break;case"Pause":this.stopPlayback(),this.emit({type:"Playback",playing:!1,frame:this.frame});break;case"SetViewport":this.viewport={w:e.w*e.dpr,h:e.h*e.dpr},this.show();break;case"SetMarker":{const n=e.scene??Object.keys(this.metas).find(s=>e.name in(this.metas[s]?.markers??{})),r=n?this.metas[n]:void 0;if(!n||!r){this.emit({type:"Error",kind:"Meta",message:`no marker named \`${e.name}\``,spans:[]});return}r.markers={...r.markers,[e.name]:e.time},this.emit({type:"MetaChanged",scene:n,meta:r}),this.timeline(),this.show();break}case"SetEase":case"SetTunable":{const n=this.metas.intro;e.type==="SetEase"?n.eases={...n.eases,[e.name]:e.value}:n.tunables={...n.tunables,[e.name]:e.value},this.emit({type:"MetaChanged",scene:"intro",meta:n}),this.show();break}case"Pick":{const n=this.squareX(this.frame),r=Math.abs(e.x-n)<=100&&Math.abs(e.y-540)<=100;this.selected=r?1:null,this.emit({type:"Selected",node_id:this.selected}),this.show();break}case"Select":this.selected=e.node_id??null,this.emit({type:"Selected",node_id:this.selected}),this.show();break;case"SetTransition":{const n=this.scenes.find(r=>r.name===e.scene);if(!n){this.emit({type:"Error",kind:"Meta",message:`no scene named \`${e.scene}\``,spans:[]});return}n.transition=Math.max(0,Math.round(e.seconds*this.fps)),this.timeline(),this.show();break}}}stopPlayback(){this.playing!==null&&clearInterval(this.playing),this.playing=null}close(){this.stopPlayback(),this.h?.status({state:"closed",reason:"closed"})}}const ua="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(ua);const ca={"app.title":"oxframe","conn.connecting":"Connecting…","conn.open":"Connected","conn.reconnecting":"Reconnecting…","conn.closed":"Disconnected","conn.unauthorized":"Link expired: open the URL printed by `oxframe dev`","status.building":"Building…","status.reloaded":"Reloaded","status.incompatible":"Version mismatch","error.build":"Build failed","error.runtime":"Runtime error","error.meta":"Could not apply the edit","error.incompatible":"Incompatible versions","error.dismiss":"Dismiss","error.previous":"The previous version keeps running.","transport.play":"Play (Space)","transport.pause":"Pause (Space)","transport.prev":"Previous frame (←, Shift+← for 10)","transport.next":"Next frame (→, Shift+→ for 10)","transport.start":"Go to start (Home)","transport.end":"Go to end (End)","timeline.label":"Timeline","timeline.marker":"Marker {name} at {time} s. Drag or use ←/→ to move.","timeline.addMarker":"Add marker at playhead (M)","timeline.transition":"Transition into {name}, {seconds} s. Drag the right edge to change it.","timeline.soundtrack":"Soundtrack {name}","inspector.tree":"Scene","inspector.signals":"Signals","inspector.noSelection":"Click a node in the viewport or the tree.","inspector.tunables":"Tunables","inspector.eases":"Eases","inspector.none":"None yet — use tune!() and ease!() in your scene.","curve.title":"Ease “{name}”","curve.presets":"Presets","curve.close":"Close","viewport.label":"Preview","viewport.axes":"Axes","viewport.fit":"Fit (double-click)","theme.toggle":"Toggle light/dark theme","help.title":"Shortcuts","help.keys":"Space play/pause · ←/→ step · Shift+←/→ 10 frames · Home/End · M marker · wheel zoom · Alt/middle-drag pan"},fa=ca;function R(t,e={}){return fa[t].replace(/\{(\w+)\}/g,(n,r)=>String(e[r]??`{${r}}`))}var da=ee('<span class="chip ok svelte-yic9pk" data-testid="reloaded"> </span>'),ha=ee('<span class="dim svelte-yic9pk"> </span>'),va=ee('<header class="svelte-yic9pk"><strong class="logo svelte-yic9pk"> </strong> <span role="status" aria-live="polite" data-testid="status"><span class="dot svelte-yic9pk" aria-hidden="true"></span> </span> <!> <span class="spacer svelte-yic9pk"></span> <!> <button> </button> <button>1:1</button> <button> </button> <span class="help svelte-yic9pk">?</span></header>');function pa(t,e){$e(e,!0);let n=st(e,"editor",7);const r=ve(()=>{const w=n().connection;if(n().error?.kind==="Incompatible")return{cls:"bad",text:R("status.incompatible")};if(n().building)return{cls:"busy",text:R("status.building")};switch(w.state){case"open":return{cls:"ok",text:R("conn.open")};case"connecting":return{cls:"busy",text:R("conn.connecting")};case"reconnecting":return{cls:"busy",text:R("conn.reconnecting")};default:return{cls:"bad",text:w.reason===vs?R("conn.unauthorized"):R("conn.closed")}}});let s=I(!1);bt(()=>{if(!n().reloadedAt)return;A(s,!0);const w=setTimeout(()=>A(s,!1),1500);return()=>clearTimeout(w)});var i=va(),a=B(i),u=U(a,!0),o=k(a,2),c=k(B(o),1,!0),h=k(o,2);{var v=w=>{var P=da(),S=U(P,!0);Q(D=>q(S,D),[()=>R("status.reloaded")]),W(w,P)};ge(h,w=>{l(s)&&w(v)})}var p=k(h,4);{var d=w=>{var P=ha(),S=U(P);Q(()=>q(S,`engine ${n().engineVersion??""} · ${n().size[0]??""}×${n().size[1]??""} · ${n().fps??""} fps`)),W(w,P)};ge(p,w=>{n().engineVersion&&w(d)})}var m=k(p,2),F=U(m,!0),f=k(m,2),_=k(f,2),E=U(_,!0),y=k(_,2);Q((w,P,S,D,te,ne,M,O)=>{q(u,w),Ft(o,1,`chip ${l(r).cls??""}`,"svelte-yic9pk"),q(c,l(r).text),x(m,"aria-pressed",n().showAxes),x(m,"title",P),q(F,S),x(f,"title",D),x(_,"title",te),x(_,"aria-label",ne),q(E,e.theme==="dark"?"☾":"☀"),x(y,"title",M),x(y,"aria-label",O)},[()=>R("app.title"),()=>R("viewport.axes"),()=>R("viewport.axes"),()=>R("viewport.fit"),()=>R("theme.toggle"),()=>R("theme.toggle"),()=>R("help.keys"),()=>R("help.keys")]),H("click",m,()=>n().showAxes=!n().showAxes),H("click",f,()=>n().resetView()),H("click",_,function(...w){e.onToggleTheme?.apply(this,w)}),W(t,i),Je()}pt(["click"]);function Ln(t,e,n,r,s){const a=Math.min(e.w/t[0],e.h/t[1])*n;return{scale:a,ox:e.w/2-t[0]*a/2+r,oy:e.h/2-t[1]*a/2+s}}function ps(t,e,n){return[(e-t.ox)/t.scale,(n-t.oy)/t.scale]}function Un(t,e,n){return[t.ox+e*t.scale,t.oy+n*t.scale]}function ma(t,e,n,r,s,i,a,u){const o=Ln(t,e,n,r,s),[c,h]=ps(o,a,u),v=Ln(t,e,i,0,0),[p,d]=Un(v,c,h);return{panX:a-p,panY:u-d}}var ga=ee('<div class="viewport svelte-10js0q2" data-testid="viewport"><canvas class="svelte-10js0q2"></canvas> <span class="zoom svelte-10js0q2" aria-live="off"> </span></div>');function _a(t,e){$e(e,!0);let n,r,s=I(de({w:0,h:0}));const i=ve(()=>Ln(e.editor.size,l(s),e.editor.zoom,e.editor.panX,e.editor.panY));Lt(()=>{const f=new ResizeObserver(([_])=>{if(!_)return;const{width:E,height:y}=_.contentRect;A(s,{w:Math.round(E),h:Math.round(y)},!0),e.editor.setViewport(l(s).w,l(s).h)});return f.observe(n),()=>f.disconnect()}),bt(()=>{const f=r?.getContext("2d");if(!f)return;const _=typeof devicePixelRatio=="number"?devicePixelRatio:1,{w:E,h:y}=l(s);(r.width!==Math.round(E*_)||r.height!==Math.round(y*_))&&(r.width=Math.round(E*_),r.height=Math.round(y*_)),f.setTransform(_,0,0,_,0,0),f.clearRect(0,0,E,y);const[w,P]=e.editor.size,S=l(i),D=e.editor.image;f.fillStyle="#000",f.fillRect(S.ox,S.oy,w*S.scale,P*S.scale),D&&(f.imageSmoothingQuality="high",f.drawImage(D,S.ox,S.oy,w*S.scale,P*S.scale));const te=getComputedStyle(n).getPropertyValue("--m-accent")||"#6cb2eb";if(e.editor.showAxes){const[M,O]=Un(S,w/2,P/2);f.strokeStyle="rgba(255,255,255,0.25)",f.lineWidth=1,f.setLineDash([4,4]),f.beginPath(),f.moveTo(S.ox,O+.5),f.lineTo(S.ox+w*S.scale,O+.5),f.moveTo(M+.5,S.oy),f.lineTo(M+.5,S.oy+P*S.scale),f.stroke(),f.setLineDash([])}const ne=e.editor.bounds;if(ne&&e.editor.selected!==null){f.strokeStyle=te,f.lineWidth=2,f.beginPath();for(let M=0;M<4;M++){const[O,Z]=Un(S,ne[2*M],ne[2*M+1]);M===0?f.moveTo(O,Z):f.lineTo(O,Z)}f.closePath(),f.stroke()}});let a=null;function u(f){const _=r.getBoundingClientRect();return[f.clientX-_.left,f.clientY-_.top]}function o(f){r.setPointerCapture(f.pointerId),a={x:f.clientX,y:f.clientY,px:e.editor.panX,py:e.editor.panY,moved:!1}}function c(f){if(!a)return;const _=f.clientX-a.x,E=f.clientY-a.y;Math.abs(_)+Math.abs(E)>3&&(a.moved=!0),a.moved&&(f.altKey||f.buttons===4||f.buttons===2)&&e.editor.setZoom(e.editor.zoom,a.px+_,a.py+E)}function h(f){const _=a;if(a=null,!_||_.moved||f.button!==0)return;const[E,y]=u(f),[w,P]=ps(l(i),E,y),[S,D]=e.editor.size;if(w<0||P<0||w>S||P>D){e.editor.select(null);return}e.editor.pick(w,P)}function v(f){f.preventDefault();const[_,E]=u(f),y=Math.exp(-f.deltaY*.0015),w=Math.max(.1,Math.min(16,e.editor.zoom*y)),P=ma(e.editor.size,l(s),e.editor.zoom,e.editor.panX,e.editor.panY,w,_,E);e.editor.setZoom(w,P.panX,P.panY)}var p=ga(),d=B(p);ht(d,f=>r=f,()=>r);var m=k(d,2),F=U(m);ht(p,f=>n=f,()=>n),Q(f=>{x(d,"data-frame",e.editor.imageFrame),x(d,"aria-label",`frame ${e.editor.imageFrame??""}`),q(F,`${f??""}%`)},[()=>Math.round(e.editor.zoom*100)]),H("pointerdown",d,o),H("pointermove",d,c),H("pointerup",d,h),nn("wheel",d,v),H("dblclick",d,()=>e.editor.resetView()),H("contextmenu",d,f=>f.preventDefault()),W(t,p),Je()}pt(["pointerdown","pointermove","pointerup","dblclick","contextmenu"]);const Tt=48e3,ba=.45,wa=.25,hr=.89;function vn(t){const e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e>=0?t.slice(e+1):t}function vr(t){const e=vn(t);return/^[A-Za-z0-9._-]+\.(wav|mp3|ogg|flac)$/.test(e)?`/audio/${e}`:null}function En(t,e){return String.fromCharCode(t.getUint8(e),t.getUint8(e+1),t.getUint8(e+2),t.getUint8(e+3))}function ya(t){if(t.byteLength<44)return null;const e=new DataView(t);if(En(e,0)!=="RIFF"||En(e,8)!=="WAVE")return null;let n=12,r=0,s=0,i=0,a=0,u=null;for(;n+8<=e.byteLength;){const p=En(e,n),d=e.getUint32(n+4,!0),m=n+8;if(m+d>e.byteLength)break;p==="fmt "&&d>=16?(r=e.getUint16(m,!0),s=e.getUint16(m+2,!0),i=e.getUint32(m+4,!0),a=e.getUint16(m+14,!0)):p==="data"&&(u=t.slice(m,m+d)),n=m+d+d%2}if(r!==1||!u||s<1||i<1||a!==16&&a!==8)return null;const o=a/8,c=Math.floor(u.byteLength/(o*s)),h=new Float32Array(c),v=new DataView(u);for(let p=0;p<c;p++){let d=0;for(let m=0;m<s;m++){const F=(p*s+m)*o;d+=a===16?v.getInt16(F,!0)/32768:(v.getUint8(F)-128)/128}h[p]=d/s}return{rate:i,samples:h}}function xa(t,e){const n=Math.max(1,Math.ceil(Math.max(0,e)*Tt)),r=new Float32Array(n),s=new Uint8Array(n);for(const a of t)a.priority&&pr(a,n,u=>{s[u]=1});for(const a of t)pr(a,n,(u,o)=>{const c=a.music?ba*(s[u]?wa:1):1;r[u]=(r[u]??0)+o*c});let i=0;for(let a=0;a<n;a++)i=Math.max(i,Math.abs(r[a]??0));if(i>hr){const a=hr/i;for(let u=0;u<n;u++)r[u]=(r[u]??0)*a}return r}function pr(t,e,n){const r=Math.round(t.start*Tt),s=t.seconds>0?Math.round(t.seconds*Tt):Math.ceil(t.samples.length*Tt/Math.max(1,t.rate)),i=t.rate/Tt;for(let a=0;a<s;a++){const u=r+a;if(u<0||u>=e)continue;const o=Math.floor(a*i);if(o>=t.samples.length)break;n(u,t.samples[o]??0)}}const mr=new Map;function ka(t){const e=mr.get(t);if(e)return e;const n=(async()=>{try{const r=await fetch(t);return r.ok?ya(await r.arrayBuffer()):null}catch{return null}})();return mr.set(t,n),n}function Ma(t,e){const n=Math.max(1,e),r=new Array(n).fill(0);if(t.length===0)return r;for(let s=0;s<n;s++){const i=Math.floor(s*t.length/n),a=Math.max(i+1,Math.floor((s+1)*t.length/n));let u=0;for(let o=i;o<a&&o<t.length;o++)u=Math.max(u,Math.abs(t[o]??0));r[s]=u}return r}const ms="oxframe-editor-view";function Ea(t){const e=new URLSearchParams(t.replace(/^#/,"")),n=o=>{const c=e.get(o);if(c===null||c==="")return;const h=Number(c);return Number.isFinite(h)?h:void 0},r={},s=n("f");s!==void 0&&(r.frame=Math.max(0,Math.round(s)));const i=n("z");i!==void 0&&i>0&&(r.zoom=i);const a=n("px");a!==void 0&&(r.panX=a);const u=n("py");if(u!==void 0&&(r.panY=u),e.has("s")){const o=n("s");r.selected=o===void 0?null:o}return r}const Sa=new Set(["f","z","px","py","s"]);function Ta(t){return t.replace(/^#/,"").split("&").filter(e=>e!==""&&!Sa.has(e.split("=")[0]))}function Aa(t,e=[]){const n=new URLSearchParams;return n.set("f",String(t.frame)),t.zoom!==1&&n.set("z",t.zoom.toFixed(3)),(t.panX!==0||t.panY!==0)&&(n.set("px",t.panX.toFixed(1)),n.set("py",t.panY.toFixed(1))),t.selected!==null&&n.set("s",String(t.selected)),`#${[...e,n.toString()].join("&")}`}function Pa(){let t={};try{t=JSON.parse(sessionStorage.getItem(ms)??"{}")}catch{t={}}return{...t,...Ea(typeof location>"u"?"":location.hash)}}function Fa(t){try{sessionStorage.setItem(ms,JSON.stringify(t))}catch{}typeof history<"u"&&history.replaceState(history.state,"",`${location.pathname}${location.search}${Aa(t,Ta(location.hash))}`)}class Ca{constructor(e,n={}){if(this.backend=e,this.persistEnabled=n.persist??!0,this.uiVersion=n.uiVersion??"0.1.0",this.persistEnabled){const r=Pa();this.restoredFrame=r.frame??null,this.zoom=r.zoom??1,this.panX=r.panX??0,this.panY=r.panY??0,this.selected=r.selected??null}}backend;#e=I(de({state:"connecting"}));get connection(){return l(this.#e)}set connection(e){A(this.#e,e,!0)}#s=I(!1);get ready(){return l(this.#s)}set ready(e){A(this.#s,e,!0)}#t=I("");get engineVersion(){return l(this.#t)}set engineVersion(e){A(this.#t,e,!0)}#o=I(60);get fps(){return l(this.#o)}set fps(e){A(this.#o,e,!0)}#r=I(de([1920,1080]));get size(){return l(this.#r)}set size(e){A(this.#r,e,!0)}#a=I(0);get frames(){return l(this.#a)}set frames(e){A(this.#a,e,!0)}#n=I(0);get frame(){return l(this.#n)}set frame(e){A(this.#n,e,!0)}#l=I(!1);get playing(){return l(this.#l)}set playing(e){A(this.#l,e,!0)}#i=I(de([]));get scenes(){return l(this.#i)}set scenes(e){A(this.#i,e,!0)}#m=I(de([]));get markers(){return l(this.#m)}set markers(e){A(this.#m,e,!0)}#u=I(null);get waveform(){return l(this.#u)}set waveform(e){A(this.#u,e)}#c=I(de([]));get clips(){return l(this.#c)}set clips(e){A(this.#c,e,!0)}#d=I(de([]));get slides(){return l(this.#d)}set slides(e){A(this.#d,e,!0)}#g=I(de({}));get metas(){return l(this.#g)}set metas(e){A(this.#g,e,!0)}#f=I(de([]));get tree(){return l(this.#f)}set tree(e){A(this.#f,e,!0)}#y=I(null);get selected(){return l(this.#y)}set selected(e){A(this.#y,e,!0)}#x=I(de([]));get signals(){return l(this.#x)}set signals(e){A(this.#x,e,!0)}#_=I(null);get bounds(){return l(this.#_)}set bounds(e){A(this.#_,e,!0)}#b=I(!1);get building(){return l(this.#b)}set building(e){A(this.#b,e,!0)}#h=I(0);get reloadedAt(){return l(this.#h)}set reloadedAt(e){A(this.#h,e,!0)}#k=I(null);get error(){return l(this.#k)}set error(e){A(this.#k,e,!0)}#v=I(null);get image(){return l(this.#v)}set image(e){A(this.#v,e)}#w=I(-1);get imageFrame(){return l(this.#w)}set imageFrame(e){A(this.#w,e,!0)}#p=I(1);get zoom(){return l(this.#p)}set zoom(e){A(this.#p,e,!0)}#M=I(0);get panX(){return l(this.#M)}set panX(e){A(this.#M,e,!0)}#E=I(0);get panY(){return l(this.#E)}set panY(e){A(this.#E,e,!0)}#S=I(!0);get showAxes(){return l(this.#S)}set showAxes(e){A(this.#S,e,!0)}viewport={w:0,h:0};#T=I(null);get selectedMarker(){return l(this.#T)}set selectedMarker(e){A(this.#T,e,!0)}#A=I(null);get editingEase(){return l(this.#A)}set editingEase(e){A(this.#A,e,!0)}restoredFrame=null;persistEnabled;uiVersion;pcm=null;pcmFromEngine=!1;audioGen=0;audioCtx=null;audioNode=null;start(){this.backend.connect({event:e=>this.handle(e),frame:e=>this.onFrame(e),status:e=>this.onStatus(e),audio:e=>this.onPcm(e)})}stop(){this.backend.close()}send(e){this.backend.send(e)}onStatus(e){this.connection=e,e.state==="open"?this.send({type:"Hello",protocol_version:Dn,ui_version:this.uiVersion}):(this.ready=!1,this.playing=!1,this.stopAudio())}onFrame(e){this.image?.close?.(),this.image=e.image,this.imageFrame=e.header.frame}handle(e){switch(e.type){case"Ready":this.ready=!0,this.engineVersion=e.engine_version,this.fps=e.fps,this.size=e.size,this.scenes=e.scenes,this.building=!1,this.error?.kind==="Incompatible"&&(this.error=null),this.resync();break;case"Reloaded":{const n=this.playing;this.playing=!1,this.reloadedAt=Date.now(),this.building=!1,this.error=null,this.stopAudio(),this.pcm=null,this.pcmFromEngine=!1,this.audioGen++,this.waveform=null,this.clips=[],this.restoredFrame??=this.frame,this.resync(),n&&this.play();break}case"Building":this.building=!0;break;case"Error":this.building=!1,this.error={kind:e.kind,message:e.message,spans:e.spans??[]};break;case"Frame":this.playing&&e.index<this.frame&&this.startAudio(e.index),this.frame=e.index,this.savePersist();break;case"Playback":this.playing=e.playing,this.frame=e.frame,e.playing?this.startAudio(e.frame):this.stopAudio();break;case"Timeline":this.frames=e.frames,this.markers=e.markers,this.scenes=e.scenes,this.clips=e.audio_clips??[],this.slides=e.slides??[],e.audio_waveform&&(this.waveform=e.audio_waveform),this.loadHostedAudio();break;case"Tree":this.tree=e.nodes;break;case"Signals":e.node_id===this.selected&&(this.signals=e.values,this.bounds=e.bounds??null);break;case"Selected":this.selected=e.node_id,e.node_id===null&&(this.signals=[],this.bounds=null),this.savePersist();break;case"MetaChanged":this.metas={...this.metas,[e.scene]:e.meta},this.error?.kind==="Meta"&&(this.error=null),this.loadHostedAudio();break}}resync(){this.viewport.w>0&&this.sendViewport();const e=this.restoredFrame??this.frame;this.restoredFrame=null,this.frame=e,this.send({type:"Seek",frame:e}),this.selected!==null&&this.send({type:"Select",node_id:this.selected})}restart(){this.pause(),this.playing=!1,this.restoredFrame=0,this.seek(0),this.savePersist()}get lastFrame(){return Math.max(0,this.frames-1)}seek(e){const n=Math.max(0,Math.min(this.lastFrame,Math.round(e)));this.frame=n,this.send({type:"Seek",frame:n}),this.playing&&this.startAudio(n)}onPcm(e){const n=new Int16Array(e.pcm),r=new Float32Array(n.length);for(let s=0;s<n.length;s++)r[s]=(n[s]??0)/32768;this.pcmFromEngine=!0,this.audioGen++,this.pcm={rate:e.rate,samples:r},this.playing&&this.startAudio(this.frame)}async loadHostedAudio(){if(this.pcmFromEngine||this.frames<=0||typeof fetch!="function")return;const e=this.hostedPlan();if(e.length===0)return;const n=++this.audioGen,r=new Map;for(const u of e){const o=vr(u.file);if(!o||r.has(o))continue;const c=await ka(o);c&&r.set(o,c)}if(n!==this.audioGen||this.pcmFromEngine)return;const s=[];for(const u of e){const o=r.get(vr(u.file)??"");o&&s.push({samples:o.samples,rate:o.rate,start:u.start,seconds:u.seconds,music:u.music,priority:u.priority})}if(s.length===0)return;const i=this.frames/Math.max(1,this.fps),a=xa(s,i);this.pcm={rate:Tt,samples:a},(!this.waveform||this.waveform.length===0)&&(this.waveform=Ma(a,Math.min(this.frames,4096))),this.playing&&this.startAudio(this.frame)}hostedPlan(){const e=[],n=new Set;for(const r of Object.values(this.metas)){const s=r.audio?.file;if(!s)continue;const i=vn(s);n.has(i)||(n.add(i),e.push({file:s,start:r.audio?.offset??0,seconds:0,music:!0,priority:!1}))}for(const r of this.clips)r.text||e.push({file:r.name,start:r.start,seconds:r.seconds,music:!1,priority:r.priority});return e}startAudio(e){this.stopAudio();const n=this.pcm;if(!n||n.samples.length===0||typeof AudioContext>"u")return;this.audioCtx??=new AudioContext;const r=this.audioCtx.createBuffer(1,n.samples.length,n.rate);r.getChannelData(0).set(n.samples);const s=this.audioCtx.createBufferSource();s.buffer=r,s.connect(this.audioCtx.destination);const i=Math.max(0,Math.min(r.duration,e/Math.max(1,this.fps)));s.start(0,i),this.audioNode=s}stopAudio(){const e=this.audioNode;if(this.audioNode=null,!!e)try{e.stop()}catch{}}play(){this.send({type:"Play"})}pause(){this.send({type:"Pause"})}togglePlay(){this.playing?this.pause():this.play()}step(e){this.send({type:"Step",delta:e})}setViewport(e,n){this.viewport={w:e,h:n},this.sendViewport()}sendViewport(){const e=typeof devicePixelRatio=="number"?devicePixelRatio:1;this.send({type:"SetViewport",w:Math.max(1,Math.round(this.viewport.w*this.zoom)),h:Math.max(1,Math.round(this.viewport.h*this.zoom)),dpr:e})}setZoom(e,n=this.panX,r=this.panY){const s=Math.max(.1,Math.min(16,e)),i=Math.abs(s-this.zoom)>1e-6;this.zoom=s,this.panX=n,this.panY=r,i&&this.viewport.w>0&&this.sendViewport(),this.savePersist()}resetView(){this.setZoom(1,0,0)}sceneStart(e){const n=this.scenes.find(r=>r.name===e);return n?n.start/this.fps:0}sceneAt(e){return[...this.scenes].reverse().find(n=>n.start<=e)??this.scenes[0]}markerFrame(e){return Math.round((this.sceneStart(e.scene)+e.time)*this.fps)}moveMarker(e,n,r){const s=Math.max(0,r/this.fps-this.sceneStart(e));this.send({type:"SetMarker",name:n,time:Number(s.toFixed(6)),scene:e})}markerAtPlayhead(){const e=this.sceneAt(this.frame);if(!e)return;if(this.selectedMarker){this.moveMarker(this.selectedMarker.scene,this.selectedMarker.name,this.frame);return}const n=new Set(this.markers.filter(i=>i.scene===e.name).map(i=>i.name));let r=1;for(;n.has(`marker-${r}`);)r+=1;const s=`marker-${r}`;this.moveMarker(e.name,s,this.frame),this.selectedMarker={scene:e.name,name:s}}setEase(e,n){this.send({type:"SetEase",name:e,value:n})}setTunable(e,n){this.send({type:"SetTunable",name:e,value:n})}setTransition(e,n){this.send({type:"SetTransition",scene:e,seconds:Number(Math.max(0,n).toFixed(6))})}pick(e,n){this.send({type:"Pick",x:e,y:n})}select(e){this.selected=e,this.send({type:"Select",node_id:e})}dismissError(){this.error=null}savePersist(){this.persistEnabled&&Fa({frame:this.frame,zoom:this.zoom,panX:this.panX,panY:this.panY,selected:this.selected})}}function gr(t,e){const n=t/Math.max(1,e),r=Math.floor(n/60),s=Math.floor(n%60),i=t%Math.max(1,e);return`${r}:${String(s).padStart(2,"0")}.${String(i).padStart(2,"0")}`}var Ra=ee('<div class="transition svelte-112n2zp"><button class="trim svelte-112n2zp"></button></div>'),Oa=ee('<div class="scene svelte-112n2zp"><span> </span></div> <!>',1),za=ee('<div class="clip music svelte-112n2zp" data-testid="audio-track"><span class="svelte-112n2zp"> </span></div>'),Ia=ee('<div data-testid="audio-clip"><span class="svelte-112n2zp"> </span></div>'),Na=ee('<button><span class="flag svelte-112n2zp"> </span></button>'),qa=ee('<section class="timeline svelte-112n2zp"><div class="transport svelte-112n2zp"><button>⏮</button> <button>◀︎</button> <button class="play svelte-112n2zp" data-testid="play"> </button> <button>▶︎</button> <button>⏭</button> <span class="time svelte-112n2zp" data-testid="time"> </span> <span class="frame svelte-112n2zp" data-testid="frame"> </span> <span class="spacer svelte-112n2zp"></span> <button>+ M</button></div> <div role="slider" tabindex="0" data-testid="track"><div class="scenes svelte-112n2zp"></div> <!> <!> <canvas class="wave svelte-112n2zp" aria-hidden="true"></canvas> <!> <div class="playhead svelte-112n2zp" aria-hidden="true"></div></div></section>');function Da(t,e){$e(e,!0);let n=st(e,"editor",7),r,s,i=I(0);const a=ve(()=>Math.max(1,n().frames)),u=ve(()=>{const b=[],g=new Set;for(const $ of Object.values(n().metas)){const ae=$.audio?.file;if(!ae)continue;const Y=vn(ae);g.has(Y)||(g.add(Y),b.push({name:Y,file:ae,start:$.audio?.offset??0}))}return b}),o=b=>b/Math.max(1,l(a)-1)*l(i),c=b=>{const g=r.getBoundingClientRect(),$=Math.min(1,Math.max(0,(b-g.left)/Math.max(1,g.width)));return Math.round($*(l(a)-1))};let h=!1,v=null;function p(b){v=b,requestAnimationFrame(()=>{v!==null&&n().seek(v),v=null})}function d(b){const g=b.target;g.dataset.marker||g.closest("[data-transition]")||(h=!0,r.setPointerCapture(b.pointerId),n().playing&&n().pause(),p(c(b.clientX)))}function m(b){h&&p(c(b.clientX))}function F(){h=!1}let f=I(null);const _=b=>l(f)&&l(f).m.name===b.name&&l(f).m.scene===b.scene?l(f).frame:n().markerFrame(b);function E(b,g){b.stopPropagation(),b.target.setPointerCapture(b.pointerId),n().selectedMarker={scene:g.scene,name:g.name},A(f,{m:g,frame:n().markerFrame(g)},!0)}function y(b){l(f)&&A(f,{...l(f),frame:c(b.clientX)},!0)}function w(){if(!l(f))return;const{m:b,frame:g}=l(f);A(f,null),g!==n().markerFrame(b)&&n().moveMarker(b.scene,b.name,g)}function P(b,g){const $=b.key==="ArrowLeft"?-1:b.key==="ArrowRight"?1:0;$?(b.preventDefault(),n().moveMarker(g.scene,g.name,n().markerFrame(g)+$*(b.shiftKey?10:1))):b.key==="Enter"&&n().seek(n().markerFrame(g))}let S=I(null);const D=b=>l(S)&&l(S).name===b.name?l(S).frames:b.transition??0;function te(b,g){b.stopPropagation(),b.currentTarget.setPointerCapture(b.pointerId),A(S,{name:g.name,frames:g.transition??0},!0)}function ne(b,g){if(!l(S)||l(S).name!==g.name)return;const $=g.start+(g.transition_at??0);A(S,{name:g.name,frames:Math.max(0,c(b.clientX)-$)},!0)}function M(b){if(!l(S)||l(S).name!==b.name)return;const g=l(S).frames;A(S,null),g!==(b.transition??0)&&n().setTransition(b.name,g/n().fps)}bt(()=>{const b=n().waveform,g=s?.getContext("2d");if(!g)return;const $=devicePixelRatio||1,ae=28;if(s.width=Math.max(1,Math.round(l(i)*$)),s.height=Math.round(ae*$),g.setTransform($,0,0,$,0,0),g.clearRect(0,0,l(i),ae),!b||b.length===0)return;g.fillStyle=getComputedStyle(s).getPropertyValue("--m-wave")||"#4b5563";const Y=b.length;for(let pe=0;pe<l(i);pe++){const xe=b[Math.min(Y-1,Math.floor(pe/l(i)*Y))]??0,Ee=Math.max(xe>.02?2:1,Math.pow(xe,.55)*ae);g.fillRect(pe,(ae-Ee)/2,1,Ee)}});var O=qa(),Z=B(O),Re=B(Z),Pe=k(Re,2),je=k(Pe,2),ot=U(je,!0),Ye=k(je,2),Qe=k(Ye,2),T=k(Qe,2),C=U(T,!0),z=k(T,2),j=U(z),re=k(z,4),V=k(Z,2);let ce;x(V,"aria-valuemin",0);var we=B(V);Be(we,21,()=>n().scenes,b=>b.name,(b,g)=>{var $=Oa(),ae=Xr($);let Y;var pe=B(ae),xe=U(pe,!0),Ee=k(ae,2);{var qe=Fe=>{var Se=Ra();let Mt;var et=U(Se);Q((mt,gn,ys,xs)=>{x(Se,"data-transition",l(g).name),x(Se,"data-testid",`transition-${l(g).name??""}`),x(Se,"title",mt),Mt=nt(Se,"",Mt,{left:gn,width:ys}),x(et,"data-transition",l(g).name),x(et,"aria-label",xs)},[()=>R("timeline.transition",{name:l(g).name,seconds:(D(l(g))/n().fps).toFixed(2)}),()=>`${o(l(g).start+(l(g).transition_at??0))??""}px`,()=>`${Math.max(8,o(l(g).start+(l(g).transition_at??0)+D(l(g)))-o(l(g).start+(l(g).transition_at??0)))}px`,()=>R("timeline.transition",{name:l(g).name,seconds:(D(l(g))/n().fps).toFixed(2)})]),H("pointerdown",et,mt=>te(mt,l(g))),H("pointermove",et,mt=>ne(mt,l(g))),H("pointerup",et,()=>M(l(g))),W(Fe,Se)},ke=ve(()=>D(l(g))>0);ge(Ee,Fe=>{l(ke)&&Fe(qe)})}Q((Fe,Se)=>{x(ae,"title",l(g).name),Y=nt(ae,"",Y,{left:Fe,width:Se}),q(xe,l(g).name)},[()=>`${o(l(g).start)??""}px`,()=>`${Math.max(0,o(l(g).start+l(g).frames-1)-o(l(g).start))}px`]),W(b,$)});var me=k(we,2);Be(me,17,()=>l(u),b=>b.name,(b,g,$,ae)=>{var Y=za();let pe;var xe=B(Y),Ee=U(xe,!0);Q((qe,ke,Fe)=>{x(Y,"title",qe),pe=nt(Y,"",pe,{left:ke,width:Fe}),q(Ee,l(g).name)},[()=>R("timeline.soundtrack",{name:l(g).file}),()=>`${o(l(g).start*n().fps)??""}px`,()=>`${Math.max(2,l(i)-o(l(g).start*n().fps))}px`]),W(b,Y)});var N=k(me,2);Be(N,19,()=>n().clips,(b,g)=>b.name+":"+g,(b,g)=>{var $=Ia();let ae,Y;var pe=B($),xe=U(pe,!0);Q((Ee,qe,ke)=>{ae=Ft($,1,"clip svelte-112n2zp",null,ae,{effect:l(u).length>0,priority:l(g).priority}),x($,"title",l(g).text??l(g).name),Y=nt($,"",Y,{left:Ee,width:qe}),q(xe,ke)},[()=>`${o(l(g).start*n().fps)??""}px`,()=>`${Math.max(2,o((l(g).start+l(g).seconds)*n().fps)-o(l(g).start*n().fps))}px`,()=>l(g).text??vn(l(g).name)]),W(b,$)});var L=k(N,2);let G;ht(L,b=>s=b,()=>s);var le=k(L,2);Be(le,17,()=>n().markers,b=>b.scene+"/"+b.name,(b,g)=>{const $=ve(()=>_(l(g))),ae=ve(()=>n().selectedMarker?.name===l(g).name&&n().selectedMarker?.scene===l(g).scene);var Y=Na();let pe,xe;var Ee=B(Y),qe=U(Ee,!0);Q((ke,Fe,Se)=>{pe=Ft(Y,1,"marker svelte-112n2zp",null,pe,{selected:l(ae)}),x(Y,"data-marker",l(g).name),x(Y,"data-testid",`marker-${l(g).name??""}`),x(Y,"aria-label",ke),x(Y,"title",`${l(g).name??""} · ${Fe??""} s`),xe=nt(Y,"",xe,{left:Se}),q(qe,l(g).name)},[()=>R("timeline.marker",{name:l(g).name,time:(l($)/n().fps).toFixed(2)}),()=>(l($)/n().fps).toFixed(2),()=>`${o(l($))??""}px`]),H("pointerdown",Y,ke=>E(ke,l(g))),H("pointermove",Y,y),H("pointerup",Y,w),H("keydown",Y,ke=>P(ke,l(g))),nn("focus",Y,()=>n().selectedMarker={scene:l(g).scene,name:l(g).name}),W(b,Y)});var se=k(le,2);let ie;ht(V,b=>r=b,()=>r),Q((b,g,$,ae,Y,pe,xe,Ee,qe,ke,Fe,Se,Mt,et,mt,gn)=>{x(O,"aria-label",b),x(Re,"title",g),x(Re,"aria-label",$),x(Pe,"title",ae),x(Pe,"aria-label",Y),x(je,"title",pe),x(je,"aria-label",xe),q(ot,n().playing?"❚❚":"▶"),x(Ye,"title",Ee),x(Ye,"aria-label",qe),x(Qe,"title",ke),x(Qe,"aria-label",Fe),q(C,Se),q(j,`${n().frame??""} / ${n().lastFrame??""}`),x(re,"title",Mt),ce=Ft(V,1,"track svelte-112n2zp",null,ce,{"with-music":l(u).length>0}),x(V,"aria-label",et),x(V,"aria-valuemax",n().lastFrame),x(V,"aria-valuenow",n().frame),x(V,"aria-valuetext",mt),G=nt(L,"",G,{width:`${l(i)??""}px`}),ie=nt(se,"",ie,{left:gn})},[()=>R("timeline.label"),()=>R("transport.start"),()=>R("transport.start"),()=>R("transport.prev"),()=>R("transport.prev"),()=>n().playing?R("transport.pause"):R("transport.play"),()=>n().playing?R("transport.pause"):R("transport.play"),()=>R("transport.next"),()=>R("transport.next"),()=>R("transport.end"),()=>R("transport.end"),()=>gr(n().frame,n().fps),()=>R("timeline.addMarker"),()=>R("timeline.label"),()=>gr(n().frame,n().fps),()=>`${o(n().frame)??""}px`]),H("click",Re,()=>n().seek(0)),H("click",Pe,()=>n().step(-1)),H("click",je,()=>n().togglePlay()),H("click",Ye,()=>n().step(1)),H("click",Qe,()=>n().seek(n().lastFrame)),H("click",re,()=>n().markerAtPlayhead()),H("pointerdown",V,d),H("pointermove",V,m),H("pointerup",V,F),ea(V,"clientWidth",b=>A(i,b)),W(t,O),Je()}pt(["click","pointerdown","pointermove","pointerup","keydown"]);var La=ee('<span class="name"> </span>'),Ua=ee('<li role="treeitem"><button><span class="kind svelte-gu3dqx"> </span> <!> <span class="id svelte-gu3dqx"> </span></button></li>'),Sn=ee('<p class="dim svelte-gu3dqx"> </p>'),Ba=ee('<span class="swatch svelte-gu3dqx"></span>'),Ha=ee('<tr><th scope="row" class="svelte-gu3dqx"> </th><td class="svelte-gu3dqx"><!> </td></tr>'),Va=ee('<table data-testid="signals" class="svelte-gu3dqx"><tbody></tbody></table>'),ja=ee('<label class="tunable svelte-gu3dqx"><span class="svelte-gu3dqx"> </span> <input type="range"/> <input type="number"/></label>'),Ya=ee('<button class="ease svelte-gu3dqx"><svg viewBox="-2 -2 28 28" width="28" height="28" aria-hidden="true" class="svelte-gu3dqx"><path fill="none" stroke="currentColor" stroke-width="2"></path></svg> <span> </span> <code class="svelte-gu3dqx"> </code></button>'),Xa=ee('<aside class="inspector svelte-gu3dqx"><section class="svelte-gu3dqx"><h2 class="svelte-gu3dqx"> </h2> <ul class="tree svelte-gu3dqx" role="tree" data-testid="tree"></ul></section> <section class="svelte-gu3dqx"><h2 class="svelte-gu3dqx"> </h2> <!></section> <section class="svelte-gu3dqx"><h2 class="svelte-gu3dqx"> </h2> <!> <!></section> <section class="svelte-gu3dqx"><h2 class="svelte-gu3dqx"> </h2> <!> <!></section></aside>');function Wa(t,e){$e(e,!0);let n=st(e,"editor",7);const r=ve(()=>{const T=new Map(n().tree.map(z=>[z.id,z])),C=z=>{let j=0,re=z.parent;for(;re!=null&&j<64;)j+=1,re=T.get(re)?.parent??null;return j};return n().tree.map(z=>({n:z,depth:C(z)}))}),s=ve(()=>Object.entries(n().metas).flatMap(([T,C])=>Object.entries(C.tunables??{}).map(([z,j])=>({scene:T,name:z,value:j})))),i=ve(()=>Object.entries(n().metas).flatMap(([T,C])=>Object.entries(C.eases??{}).map(([z,j])=>({scene:T,name:z,value:j}))));function a(T){const C=T===0?10:Math.abs(T)*2,z=T>=0?0:T-C,j=T>=0?Math.max(T*2,1):T+C;return[z,j,(j-z)/200]}const u=new Map;function o(T,C){clearTimeout(u.get(T)),u.set(T,setTimeout(()=>n().setTunable(T,C),60))}const c=new Map;function h(T,C){return c.has(T)||c.set(T,a(C)),c.get(T)}function v(T){const[C=0,z=0,j=1,re=1]=T,V=24;return`M0 ${V} C${C*V} ${V-z*V} ${j*V} ${V-re*V} ${V} 0`}var p=Xa(),d=B(p),m=B(d),F=U(m,!0),f=k(m,2);Be(f,21,()=>l(r),({n:T,depth:C})=>T.id,(T,C)=>{let z=()=>l(C).n,j=()=>l(C).depth;var re=Ua(),V=B(re);let ce,we;var me=B(V),N=U(me,!0),L=k(me,2);{var G=ie=>{var b=La(),g=U(b,!0);Q(()=>q(g,z().name)),W(ie,b)};ge(L,ie=>{z().name&&ie(G)})}var le=k(L,2),se=U(le);Q(()=>{x(re,"aria-selected",n().selected===z().id),ce=Ft(V,1,"node svelte-gu3dqx",null,ce,{sel:n().selected===z().id}),we=nt(V,"",we,{"padding-left":`${8+j()*12}px`}),q(N,z().kind),q(se,`#${z().id??""}`)}),H("click",V,()=>n().select(z().id===n().selected?null:z().id)),W(T,re)});var _=k(d,2),E=B(_),y=U(E,!0),w=k(E,2);{var P=T=>{var C=Sn(),z=U(C,!0);Q(j=>q(z,j),[()=>R("inspector.noSelection")]),W(T,C)},S=T=>{var C=Va(),z=B(C);Be(z,21,()=>n().signals,j=>j.name,(j,re)=>{var V=Ha(),ce=B(V),we=U(ce,!0),me=k(ce),N=B(me);{var L=se=>{var ie=Ba();let b;Q(()=>b=nt(ie,"",b,{background:l(re).value})),W(se,ie)},G=ve(()=>/^#[0-9a-f]{8}$/i.test(l(re).value));ge(N,se=>{l(G)&&se(L)})}var le=k(N);Q(()=>{q(we,l(re).name),q(le,` ${l(re).value??""}`)}),W(j,V)}),W(T,C)};ge(w,T=>{n().selected===null?T(P):T(S,-1)})}var D=k(_,2),te=B(D),ne=U(te,!0),M=k(te,2);{var O=T=>{var C=Sn(),z=U(C,!0);Q(j=>q(z,j),[()=>R("inspector.none")]),W(T,C)};ge(M,T=>{l(s).length===0&&T(O)})}var Z=k(M,2);Be(Z,17,()=>l(s),T=>T.scene+T.name,(T,C)=>{const z=ve(()=>{const[me,N,L]=h(l(C).name,l(C).value);return{min:me,max:N,step:L}});var j=ja(),re=B(j),V=U(re,!0),ce=k(re,2),we=k(ce,2);Q(()=>{q(V,l(C).name),x(ce,"min",l(z).min),x(ce,"max",l(z).max),x(ce,"step",l(z).step),fr(ce,l(C).value),x(ce,"data-testid",`tunable-${l(C).name??""}`),x(we,"step",l(z).step),fr(we,l(C).value),x(we,"aria-label",`${l(C).name??""} value`)}),H("input",ce,me=>o(l(C).name,+me.currentTarget.value)),H("change",we,me=>n().setTunable(l(C).name,+me.currentTarget.value)),W(T,j)});var Re=k(D,2),Pe=B(Re),je=U(Pe,!0),ot=k(Pe,2);{var Ye=T=>{var C=Sn(),z=U(C,!0);Q(j=>q(z,j),[()=>R("inspector.none")]),W(T,C)};ge(ot,T=>{l(i).length===0&&T(Ye)})}var Qe=k(ot,2);Be(Qe,17,()=>l(i),T=>T.scene+T.name,(T,C)=>{var z=Ya(),j=B(z),re=U(j),V=k(j,2),ce=U(V,!0),we=k(V,2),me=U(we,!0);Q((N,L)=>{x(z,"data-testid",`ease-${l(C).name??""}`),x(re,"d",N),q(ce,l(C).name),q(me,L)},[()=>v(l(C).value),()=>l(C).value.map(N=>N.toFixed(2)).join(", ")]),H("click",z,()=>n().editingEase={scene:l(C).scene,name:l(C).name}),W(T,z)}),Q((T,C,z,j)=>{q(F,T),q(y,C),q(ne,z),q(je,j)},[()=>R("inspector.tree"),()=>R("inspector.signals"),()=>R("inspector.tunables"),()=>R("inspector.eases")]),W(t,p),Je()}pt(["click","input","change"]);var Ga=ee('<span class="dim svelte-1qw5yfa"> </span>'),Ka=ee("<li><code> </code> </li>"),Za=ee('<ul class="svelte-1qw5yfa"></ul>'),$a=ee('<div class="overlay svelte-1qw5yfa" role="alert" data-testid="error-overlay"><header class="svelte-1qw5yfa"><strong class="svelte-1qw5yfa"> </strong> <!> <button class="svelte-1qw5yfa"> </button></header> <!> <pre class="svelte-1qw5yfa"> </pre></div>');function Ja(t,e){$e(e,!0);const n=ve(()=>e.editor.error),r=ve(()=>l(n).kind==="Build"?R("error.build"):l(n).kind==="Incompatible"?R("error.incompatible"):l(n).kind==="Meta"?R("error.meta"):R("error.runtime"));var s=$a(),i=B(s),a=B(i),u=U(a,!0),o=k(a,2);{var c=f=>{var _=Ga(),E=U(_,!0);Q(y=>q(E,y),[()=>R("error.previous")]),W(f,_)};ge(o,f=>{l(n).kind==="Build"&&f(c)})}var h=k(o,2),v=U(h,!0),p=k(i,2);{var d=f=>{var _=Za();Be(_,21,()=>l(n).spans,Vi,(E,y)=>{var w=Ka(),P=B(w),S=U(P),D=k(P);Q(()=>{q(S,`${l(y).file??""}:${l(y).line??""}:${l(y).column??""}`),q(D,` ${l(y).message??""}`)}),W(E,w)}),W(f,_)};ge(p,f=>{l(n).spans.length&&f(d)})}var m=k(p,2),F=U(m,!0);Q(f=>{q(u,l(r)),q(v,f),q(F,l(n).message)},[()=>R("error.dismiss")]),H("click",h,()=>e.editor.dismissError()),W(t,s),Je()}pt(["click"]);function Qa(t,e,n,r){const s=3*t,i=3*(n-t)-s,a=1-s-i,u=3*e,o=3*(r-e)-u,c=1-u-o,h=d=>((a*d+i)*d+s)*d,v=d=>((c*d+o)*d+u)*d,p=d=>(3*a*d+2*i)*d+s;return d=>{if(d<=0)return 0;if(d>=1)return 1;let m=d;for(let _=0;_<8;_++){const E=h(m)-d;if(Math.abs(E)<1e-7)return v(m);const y=p(m);if(Math.abs(y)<1e-6)break;m=Math.min(1,Math.max(0,m-E/y))}let F=0,f=1;m=d;for(let _=0;_<40;_++){const E=h(m);if(Math.abs(E-d)<1e-7)break;E<d?F=m:f=m,m=(F+f)/2}return v(m)}}const _r={linear:[0,0,1,1],ease:[.25,.1,.25,1],"in-out-cubic":[.65,0,.35,1],"in-cubic":[.32,0,.67,0],"out-cubic":[.33,1,.68,1],"in-out-sine":[.37,0,.63,1],"in-out-expo":[.87,0,.13,1],"out-back":[.34,1.56,.64,1],"in-out-back":[.68,-.6,.32,1.6]};var eo=Ii('<circle r="8" class="handle svelte-12hhbkq" tabindex="0" role="slider"></circle>'),to=ee("<option> </option>"),no=ee('<div class="backdrop svelte-12hhbkq" role="presentation"></div> <div class="dialog svelte-12hhbkq" role="dialog" aria-modal="true" data-testid="curve-editor"><header class="svelte-12hhbkq"><strong> </strong> <button> </button></header> <svg role="group" class="svelte-12hhbkq"><rect class="unit svelte-12hhbkq"></rect><line class="arm svelte-12hhbkq"></line><line class="arm svelte-12hhbkq"></line><path class="curve svelte-12hhbkq"></path><circle r="4" class="fixed svelte-12hhbkq"></circle><circle r="4" class="fixed svelte-12hhbkq"></circle><!><circle r="5" class="dot svelte-12hhbkq"></circle></svg> <div class="row svelte-12hhbkq"><label> <select><option>—</option><!></select></label> <code class="svelte-12hhbkq"> </code></div></div>',1);function ro(t,e){$e(e,!0);let n=st(e,"editor",7);const r=ve(()=>n().editingEase),s=ve(()=>n().metas[l(r).scene]?.eases?.[l(r).name]??[.65,0,.35,1]);let i=ve(()=>[l(s)[0]??0,l(s)[1]??0,l(s)[2]??1,l(s)[3]??1]);const a=240,u=20,o=N=>u+N*a,c=N=>u+(1.5-N)*(a/2),h=(N,L)=>[Math.min(1,Math.max(0,(N-u)/a)),Math.min(1.5,Math.max(-.5,1.5-(L-u)/(a/2)))];let v,p=null,d;function m(){clearTimeout(d),d=setTimeout(()=>n().setEase(l(r).name,[...l(i)]),80)}function F(N){if(p===null)return;const L=v.getBoundingClientRect(),G=(u*2+a)/L.width,[le,se]=h((N.clientX-L.left)*G,(N.clientY-L.top)*G),ie=[...l(i)];ie[p*2]=Number(le.toFixed(3)),ie[p*2+1]=Number(se.toFixed(3)),A(i,ie),m()}function f(N,L){const G=N.shiftKey?.1:.01,se={ArrowLeft:[-G,0],ArrowRight:[G,0],ArrowUp:[0,G],ArrowDown:[0,-G]}[N.key];if(!se)return;N.preventDefault();const ie=[...l(i)];ie[L*2]=Math.min(1,Math.max(0,ie[L*2]+se[0])),ie[L*2+1]=Math.min(1.5,Math.max(-.5,ie[L*2+1]+se[1])),A(i,ie),m()}const _=ve(()=>`M${o(0)} ${c(0)} C${o(l(i)[0])} ${c(l(i)[1])} ${o(l(i)[2])} ${c(l(i)[3])} ${o(1)} ${c(1)}`);let E=I(0);Lt(()=>{let N=0;const L=performance.now(),G=le=>{const se=(le-L)/1400%1.4;A(E,Qa(...l(i))(Math.min(1,se)),!0),N=requestAnimationFrame(G)};return N=requestAnimationFrame(G),()=>cancelAnimationFrame(N)});var y=no(),w=Xr(y),P=k(w,2),S=B(P),D=B(S),te=U(D,!0),ne=k(D,2),M=U(ne,!0),O=k(S,2);x(O,"viewBox","0 0 280 280");var Z=B(O);x(Z,"width",a),x(Z,"height",a/2);var Re=k(Z),Pe=k(Re),je=k(Pe),ot=k(je),Ye=k(ot),Qe=k(Ye);Be(Qe,16,()=>[0,1],N=>N,(N,L)=>{var G=eo();Q((le,se,ie,b)=>{x(G,"cx",le),x(G,"cy",se),x(G,"aria-label",`control point ${L+1}`),x(G,"aria-valuetext",`${ie??""}, ${b??""}`),x(G,"aria-valuenow",l(i)[L*2+1]),x(G,"data-testid",`handle-${L??""}`)},[()=>o(l(i)[L*2]),()=>c(l(i)[L*2+1]),()=>l(i)[L*2].toFixed(2),()=>l(i)[L*2+1].toFixed(2)]),H("pointerdown",G,le=>{p=L,v.setPointerCapture(le.pointerId)}),H("keydown",G,le=>f(le,L)),W(N,G)});var T=k(Qe);x(T,"cy",a+u*2-6),ht(O,N=>v=N,()=>v);var C=k(O,2),z=B(C),j=B(z),re=k(j),V=B(re);V.value=V.__value="";var ce=k(V);Be(ce,16,()=>Object.keys(_r),N=>N,(N,L)=>{var G=to(),le=U(G,!0),se={};Q(()=>{q(le,L),se!==(se=L)&&(G.value=(G.__value=se)??"")}),W(N,G)});var we=k(z,2),me=U(we);Q((N,L,G,le,se,ie,b,g,$,ae,Y,pe,xe,Ee,qe,ke,Fe,Se,Mt,et)=>{x(P,"aria-label",N),q(te,L),q(M,G),x(Z,"x",le),x(Z,"y",se),x(Re,"x1",ie),x(Re,"y1",b),x(Re,"x2",g),x(Re,"y2",$),x(Pe,"x1",ae),x(Pe,"y1",Y),x(Pe,"x2",pe),x(Pe,"y2",xe),x(je,"d",l(_)),x(ot,"cx",Ee),x(ot,"cy",qe),x(Ye,"cx",ke),x(Ye,"cy",Fe),x(T,"cx",Se),q(j,`${Mt??""} `),q(me,`[${et??""}]`)},[()=>R("curve.title",{name:l(r).name}),()=>R("curve.title",{name:l(r).name}),()=>R("curve.close"),()=>o(0),()=>c(1),()=>o(0),()=>c(0),()=>o(l(i)[0]),()=>c(l(i)[1]),()=>o(1),()=>c(1),()=>o(l(i)[2]),()=>c(l(i)[3]),()=>o(0),()=>c(0),()=>o(1),()=>c(1),()=>o(l(E)),()=>R("curve.presets"),()=>l(i).map(N=>N.toFixed(2)).join(", ")]),H("click",w,()=>n().editingEase=null),H("click",ne,()=>n().editingEase=null),H("pointermove",O,F),H("pointerup",O,()=>p=null),H("change",re,N=>{const L=_r[N.currentTarget.value];L&&(A(i,[...L]),m())}),W(t,y),Je()}pt(["click","pointermove","pointerup","pointerdown","keydown","change"]);var so=ee('<div data-testid="editor" tabindex="-1"><!> <main class="svelte-1ctqrjb"><section class="stage svelte-1ctqrjb"><!> <!></section> <!></main> <!> <!></div>');function io(t,e){$e(e,!0);let n=st(e,"editor",7),r=st(e,"autostart",3,!0),s=st(e,"compact",3,!1),i=st(e,"scopedKeys",3,!1),a;function u(){try{const M=localStorage.getItem("oxframe-theme");if(M==="dark"||M==="light")return M}catch{}return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}let o=I(de(vt(()=>e.theme)??u()));function c(){A(o,l(o)==="dark"?"light":"dark",!0);try{localStorage.setItem("oxframe-theme",l(o))}catch{}document.documentElement.dataset.theme=l(o),window.dispatchEvent(new CustomEvent("oxframe-theme",{detail:l(o)}))}const h=M=>{const O=M.detail;(O==="dark"||O==="light")&&A(o,O,!0)};Lt(()=>{window.addEventListener("oxframe-theme",h),r()&&n().start()}),ds(()=>{typeof window<"u"&&window.removeEventListener("oxframe-theme",h),r()&&n().stop()});function v(M){const O=M.target;if(i()&&!a?.contains(document.activeElement)||O&&(O.closest("input, textarea, select, [contenteditable]")||O.isContentEditable)||O?.dataset.marker&&(M.key==="ArrowLeft"||M.key==="ArrowRight"))return;const Z=M.shiftKey?10:1;switch(M.key){case" ":n().togglePlay();break;case"ArrowLeft":n().step(-Z);break;case"ArrowRight":n().step(Z);break;case"Home":n().seek(0);break;case"End":n().seek(n().lastFrame);break;case"m":case"M":n().markerAtPlayhead();break;case"Escape":n().editingEase?n().editingEase=null:n().error?n().dismissError():n().selectedMarker=null;break;default:return}M.preventDefault()}var p=so();nn("keydown",Zt,v);let d;var m=B(p);{var F=M=>{pa(M,{get editor(){return n()},get theme(){return l(o)},onToggleTheme:c})};ge(m,M=>{s()||M(F)})}var f=k(m,2),_=B(f),E=B(_);_a(E,{get editor(){return n()}});var y=k(E,2);{var w=M=>{Ja(M,{get editor(){return n()}})};ge(y,M=>{n().error&&M(w)})}var P=k(_,2);{var S=M=>{Wa(M,{get editor(){return n()}})};ge(P,M=>{s()||M(S)})}var D=k(f,2);Da(D,{get editor(){return n()}});var te=k(D,2);{var ne=M=>{ro(M,{get editor(){return n()}})};ge(te,M=>{n().editingEase&&M(ne)})}ht(p,M=>a=M,()=>a),Q(M=>{d=Ft(p,1,"oxframe-editor svelte-1ctqrjb",null,d,{compact:s()}),x(p,"data-theme",l(o)),x(_,"aria-label",M)},[()=>R("viewport.label")]),W(t,p),Je()}const gs="oxframe-present";class ao{constructor(e){this.editor=e}editor;#e=I(-1);get index(){return l(this.#e)}set index(e){A(this.#e,e,!0)}target=null;channel=null;get stops(){return this.editor.slides.length>0?this.editor.slides:this.editor.scenes.filter(e=>e.frames>0).map(e=>({scene:e.name,frame:e.start+e.frames-1,notes:""}))}get total(){return this.stops.length}frameOf(e){return e<0?0:this.stops[e]?.frame??this.editor.lastFrame}next(){if(this.target!==null){this.land(this.target);return}if(this.index+1>=this.total)return;this.index+=1;const e=this.frameOf(this.index);if(e<=this.editor.frame){this.land(e);return}this.target=e,this.editor.play(),this.broadcast()}prev(){this.target=null,this.index=Math.max(-1,this.index-1),this.editor.pause(),this.editor.seek(this.frameOf(this.index)),this.broadcast()}first(){this.target=null,this.index=-1,this.editor.pause(),this.editor.seek(0),this.broadcast()}onFrame(e){this.target!==null&&e>=this.target&&this.land(this.target)}land(e){this.target=null,this.editor.pause(),this.editor.seek(e),this.broadcast()}status(){const e=r=>this.stops[r]?.notes??"",n=this.target!==null?this.index:this.index+1;return{index:this.index,total:this.total,notes:e(n),nextNotes:e(n+1),playing:this.target!==null}}connect(){if(typeof BroadcastChannel>"u")return()=>{};const e=new BroadcastChannel(gs);return this.channel=e,e.onmessage=n=>{const r=n.data;r.type==="next"?this.next():r.type==="prev"?this.prev():r.type==="first"?this.first():r.type==="hello"&&this.broadcast()},()=>{e.close(),this.channel=null}}broadcast(){this.channel?.postMessage({type:"status",status:this.status()})}}function _s(t){switch(t){case"ArrowRight":case"ArrowDown":case"PageDown":case" ":case"Enter":return"next";case"ArrowLeft":case"ArrowUp":case"PageUp":case"Backspace":return"prev";case"Home":return"first";default:return null}}var oo=ee('<p class="hint svelte-n614vz">→ next · ← back · F full screen · N notes</p>'),lo=ee('<p class="error svelte-n614vz" role="alert"> </p>'),uo=ee('<div class="present svelte-n614vz" data-testid="present" role="presentation"><canvas class="svelte-n614vz"></canvas> <div class="counter svelte-n614vz" data-testid="present-counter"> </div> <!> <!></div>');function co(t,e){$e(e,!0);let n=st(e,"autostart",3,!0);const r=new ao(vt(()=>e.editor));let s,i,a=I(de({w:0,h:0})),u=I(!0);Lt(()=>{n()&&e.editor.start();const y=r.connect(),w=new ResizeObserver(([S])=>{if(!S)return;const{width:D,height:te}=S.contentRect;A(a,{w:Math.round(D),h:Math.round(te)},!0),e.editor.setViewport(l(a).w,l(a).h)});w.observe(s);const P=setTimeout(()=>A(u,!1),4e3);return()=>{w.disconnect(),y(),clearTimeout(P)}}),ds(()=>{n()&&e.editor.stop()}),bt(()=>{r.onFrame(e.editor.frame)}),bt(()=>{e.editor.slides,r.broadcast()}),bt(()=>{const y=i?.getContext("2d");if(!y)return;const w=typeof devicePixelRatio=="number"?devicePixelRatio:1,{w:P,h:S}=l(a);(i.width!==Math.round(P*w)||i.height!==Math.round(S*w))&&(i.width=Math.round(P*w),i.height=Math.round(S*w)),y.setTransform(w,0,0,w,0,0),y.fillStyle="#000",y.fillRect(0,0,P,S);const[D,te]=e.editor.size,ne=Math.min(P/D,S/te),[M,O]=[D*ne,te*ne],Z=e.editor.image;Z&&(y.imageSmoothingQuality="high",y.drawImage(Z,(P-M)/2,(S-O)/2,M,O))});function o(y){if(y.key==="f"||y.key==="F")c();else if(y.key==="n"||y.key==="N")h();else{const w=_s(y.key);if(!w)return;r[w]()}y.preventDefault()}async function c(){document.fullscreenElement?await document.exitFullscreen():await s.requestFullscreen?.()}function h(){const y=new URL(location.href);y.searchParams.set("present","notes"),window.open(y.toString(),"oxframe-notes","width=720,height=520")}var v=uo();nn("keydown",Zt,o);var p=B(v);ht(p,y=>i=y,()=>i);var d=k(p,2),m=U(d),F=k(d,2);{var f=y=>{var w=oo();W(y,w)};ge(F,y=>{l(u)&&y(f)})}var _=k(F,2);{var E=y=>{var w=lo(),P=U(w,!0);Q(()=>q(P,e.editor.error.message)),W(y,w)};ge(_,y=>{e.editor.error&&y(E)})}ht(v,y=>s=y,()=>s),Q(()=>q(m,`${r.index+1} / ${r.total??""}`)),H("click",v,()=>r.next()),W(t,v),Je()}pt(["click"]);var fo=ee('<div class="notes svelte-18gf6mg" data-testid="present-notes"><header class="svelte-18gf6mg"><span class="slide svelte-18gf6mg" data-testid="present-notes-counter"><!></span> <span class="timer svelte-18gf6mg" data-testid="present-timer"> </span> <button type="button" class="svelte-18gf6mg">Reset timer</button></header> <section><h2 class="svelte-18gf6mg">Now</h2> <p class="text svelte-18gf6mg" data-testid="present-notes-now"> </p></section> <section class="next svelte-18gf6mg"><h2 class="svelte-18gf6mg">Next</h2> <p class="text svelte-18gf6mg"> </p></section> <footer class="svelte-18gf6mg"><button type="button" class="svelte-18gf6mg">← Back</button> <button type="button" class="svelte-18gf6mg">Next →</button></footer></div>');function ho(t,e){$e(e,!0);let n=I(null),r=I(null),s=I(de(Date.now())),i=null;Lt(()=>{if(typeof BroadcastChannel>"u")return;i=new BroadcastChannel(gs),i.onmessage=Z=>{Z.data.type==="status"&&(A(n,Z.data.status,!0),l(r)===null&&l(n).index>=0&&A(r,Date.now(),!0))},a({type:"hello"});const O=setInterval(()=>A(s,Date.now(),!0),500);return()=>{clearInterval(O),i?.close()}});function a(O){i?.postMessage(O)}function u(O){const Z=_s(O.key);Z&&(a({type:Z}),O.preventDefault())}const o=ve(()=>{if(l(r)===null)return"0:00";const O=Math.floor((l(s)-l(r))/1e3);return`${Math.floor(O/60)}:${String(O%60).padStart(2,"0")}`});var c=fo();nn("keydown",Zt,u);var h=B(c),v=B(h),p=B(v);{var d=O=>{var Z=or();Q(()=>q(Z,`Stop ${l(n).index+1} of ${l(n).total??""}`)),W(O,Z)},m=O=>{var Z=or("Waiting for the presentation…");W(O,Z)};ge(p,O=>{l(n)?O(d):O(m,-1)})}var F=k(v,2),f=U(F,!0),_=k(F,2),E=k(h,2),y=k(B(E),2),w=U(y,!0),P=k(E,2),S=k(B(P),2),D=U(S,!0),te=k(P,2),ne=B(te),M=k(ne,2);Q(()=>{q(f,l(o)),q(w,l(n)?.notes||"—"),q(D,l(n)?.nextNotes||"—")}),H("click",_,()=>A(r,Date.now(),!0)),H("click",ne,()=>a({type:"prev"})),H("click",M,()=>a({type:"next"})),W(t,c),Je()}pt(["click"]);const er=new URLSearchParams(location.search),bs=window.__OXFRAME_CONFIG__??{},vo=er.get("backend")??bs.backend??"ws",ws=vo==="mock"?new la:new oa({url:bs.url??"/ws",token:er.get("token")??void 0}),Bn=er.get("present"),Hn=new Ca(ws,{uiVersion:"0.1.6",persist:Bn===null});window.__oxframe={editor:Hn,backend:ws};const Tn=document.getElementById("app");Bn==="notes"?xn(ho,{target:Tn}):Bn!==null?xn(co,{target:Tn,props:{editor:Hn}}):xn(io,{target:Tn,props:{editor:Hn}});