@devframes/plugin-a11y--assets 1.3.3 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{browser-agent-rpc-C3vmCt-R.js → browser-agent-rpc-DvaA0A5e.js} +1 -1
- package/dist/assets/index-BnKcKk_0.js +4 -0
- package/dist/assets/index-ql8Rx57O.css +1 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/index-DrogLqPP.css +0 -1
- package/dist/assets/index-lvmdO-A8.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./index-
|
|
1
|
+
import{n as e,r as t,t as n}from"./index-BnKcKk_0.js";var r=`devframe:client-id`,i;function a(e=globalThis.window){try{let n=e?.sessionStorage;if(n){let e=n.getItem(r);return e||(e=t(),n.setItem(r,e)),e}}catch{}return i??=t(),i}function o(){let e=typeof document>`u`?void 0:document;return{url:e?.location?.href??``,title:e?.title??``,visible:!e||e.visibilityState===`visible`,focused:e?.hasFocus()??!0}}function s(t){t.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let r=n().find(t=>t.id===e);if(!r)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await r.invoke(t)}});let r=!1,i=!1,s=0,c=()=>{r||i||(r=!0,queueMicrotask(async()=>{if(r=!1,i)return;let e=n().map(({invoke:e,...t})=>t);(e.length!==0||s!==0)&&(s=e.length,await t.callOptional(`devframe:agent:sync-client-tools`,a(),e,o()).catch(()=>{}))}))},l=e(c),u=t.events.on(`connection:status`,e=>{e===`connected`&&c()}),d=typeof window>`u`?void 0:window;return d?.addEventListener(`focus`,c),d?.addEventListener(`blur`,c),d?.document.addEventListener(`visibilitychange`,c),c(),()=>{i=!0,l(),u(),d?.removeEventListener(`focus`,c),d?.removeEventListener(`blur`,c),d?.document.removeEventListener(`visibilitychange`,c)}}export{s as setupBrowserAgentRpcBridge};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return t(this.context.count)},getNextContextId(){return t(this.context.count++)}};function t(t){let n=String(t),r=n.length-1;return e.context.id+(r?String.fromCharCode(96+r):``)+n}function n(t){e.context=t}var r=(e,t)=>e===t,i=Symbol(`solid-track`),a={equals:r},o=null,s=ce,c=1,l=2,u={owned:null,cleanups:null,context:null,owner:null},d=null,f=null,p=null,m=null,h=null,g=0;function _(e,t){let n=p,r=d,i=e.length===0,a=t===void 0?r:t,o=i?u:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(v(o));d=o,p=null;try{return N(s,!0)}finally{p=n,d=r}}function v(e){return()=>w(()=>P(e))}function y(e,t){t=t?Object.assign({},a,t):a;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[ne.bind(n),e=>(typeof e==`function`&&(e=f&&f.running&&f.sources.has(n)?e(n.tValue):e(n.value)),re(n,e))]}function b(e,t,n){ie(oe(e,t,!1,c))}function x(e,t,n){s=le;let r=oe(e,t,!1,c),i=te&&ee(te);i&&(r.suspense=i),n&&n.render||(r.user=!0),h?h.push(r):ie(r)}function S(e,t,n){n=n?Object.assign({},a,n):a;let r=oe(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,ie(r),ne.bind(r)}function C(e){return N(e,!1)}function w(e){if(p===null)return e();let t=p;p=null;try{return e()}finally{p=t}}function T(e,t,n){let r=Array.isArray(e),i,a=n&&n.defer;return n=>{let o;if(r){o=Array(e.length);for(let t=0;t<e.length;t++)o[t]=e[t]()}else o=e();if(a)return a=!1,n;let s=w(()=>t(o,i,n));return i=o,s}}function E(e){x(()=>w(e))}function D(e){return d===null||(d.cleanups===null?d.cleanups=[e]:d.cleanups.push(e)),e}var[O,k]=y(!1);function ee(e){let t;return d&&d.context&&(t=d.context[e.id])!==void 0?t:e.defaultValue}function A(e){let t=S(e),n=S(()=>_e(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var te;function j(e){e.observerSlots=e.observers.map((t,n)=>{let r=t.sources;if(!r)return-1;for(let i=r.length-1;i>=0;i--)if(r[i]===e&&t.sourceSlots&&t.sourceSlots[i]===n)return i;return r.lastIndexOf(e)})}function ne(){let e=f&&f.running;if(this.sources&&(e?this.tState:this.state)){if((e?this.tState:this.state)===c)ie(this);else{let e=m;m=null,N(()=>ue(this),!1),m=e}}if(p){let e=this.observers;if(!e||e[e.length-1]!==p){let t=e?e.length:0;if(p.sources)p.sources.push(this),p.sourceSlots.push(t);else{let e=[this],n=[t];p.sources=e,p.sourceSlots=n}if(e)this.observerSlots&&this.observerSlots.length===e.length||j(this),e.push(p),this.observerSlots.push(p.sources.length-1);else{let e=[p],t=[p.sources.length-1];this.observers=e,this.observerSlots=t}}}return e&&f.sources.has(this)?this.tValue:this.value}function re(e,t,n){let r=f&&f.running&&f.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(f){let r=f.running;(r||!n&&f.sources.has(e))&&(f.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&N(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=f&&f.running;r&&f.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?m.push(n):h.push(n),n.observers&&de(n)),r?n.tState=c:n.state=c)}if(m.length>1e6)throw m=[],Error()},!1)}return t}function ie(e){if(!e.fn)return;P(e,!0);let t=g;ae(e,f&&f.running&&f.sources.has(e)?e.tValue:e.value,t),f&&!f.running&&f.sources.has(e)&&queueMicrotask(()=>{N(()=>{f&&(f.running=!0),p=d=e,ae(e,e.tValue,t),p=d=null},!1)})}function ae(e,t,n){let r,i=d,a=p;p=d=e;try{r=e.fn(t)}catch(t){return e.pure&&(f&&f.running?(e.tState=c,e.tOwned&&e.tOwned.forEach(e=>P(e)),e.tOwned=void 0):(e.state=c,e.owned&&e.owned.forEach(e=>P(e)),e.owned=null)),e.updatedAt=n+1,ge(t)}finally{p=a,d=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?re(e,r,!0):f&&f.running&&e.pure?(f.sources.has(e)||(e.value=r),f.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function oe(e,t,n,r=c,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:d,context:d?d.context:null,pure:n};return f&&f.running&&(a.state=0,a.tState=r),d===null||d!==u&&(f&&f.running&&d.pure?d.tOwned?d.tOwned.push(a):d.tOwned=[a]:d.owned?d.owned.push(a):d.owned=[a]),a}function M(e){let t=f&&f.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===l)return ue(e);if(e.suspense&&w(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<g);){if(t&&f.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(f.disposed.has(t))return}if((t?e.tState:e.state)===c)ie(e);else if((t?e.tState:e.state)===l){let t=m;m=null,N(()=>ue(e,n[0]),!1),m=t}}}function N(e,t){if(m)return e();let n=!1;t||(m=[]),h?n=!0:h=[],g++;try{let t=e();return se(n),t}catch(e){n||(h=null),m=null,ge(e)}}function se(e){if(m&&=(ce(m),null),e)return;let t;if(f){if(!f.promises.size&&!f.queue.size){let e=f.sources,n=f.disposed;h.push.apply(h,f.effects),t=f.resolve;for(let e of h)`tState`in e&&(e.state=e.tState),delete e.tState;f=null,N(()=>{for(let e of n)P(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)P(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}k(!1)},!1)}else if(f.running){f.running=!1,f.effects.push.apply(f.effects,h),h=null,k(!0);return}}let n=h;h=null,n.length&&N(()=>s(n),!1),t&&t()}function ce(e){for(let t=0;t<e.length;t++)M(e[t])}function le(t){let r,i=0;for(r=0;r<t.length;r++){let e=t[r];e.user?t[i++]=e:M(e)}if(e.context){if(e.count){e.effects||=[],e.effects.push(...t.slice(0,i));return}n()}for(e.effects&&(e.done||!e.count)&&(t=[...e.effects,...t],i+=e.effects.length,delete e.effects),r=0;r<i;r++)M(t[r])}function ue(e,t){let n=f&&f.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===c?i!==t&&(!i.updatedAt||i.updatedAt<g)&&M(i):e===l&&ue(i,t)}}}function de(e){let t=f&&f.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=l:r.state=l,r.pure?m.push(r):h.push(r),r.observers&&de(r))}}function fe(e){f&&f.sources.has(e)&&(f.sources.delete(e),delete e.tValue)}function P(e,t){let n;if(e.sources)for(;e.sources.length;){let n=e.sources.pop(),r=e.sourceSlots.pop(),i=n.observers;if(i&&i.length){n.observerSlots&&n.observerSlots.length===i.length||j(n);let e=i.pop(),t=n.observerSlots.pop();r<i.length&&(e.sourceSlots[t]=r,i[r]=e,n.observerSlots[r]=t)}t||i&&i.length||!f||fe(n)}if(e.tOwned){for(n=e.tOwned.length-1;n>=0;n--)P(e.tOwned[n]);delete e.tOwned}if(f&&f.running&&e.pure)pe(e,!0);else if(e.owned){for(n=e.owned.length-1;n>=0;n--)P(e.owned[n]);e.owned=null}if(t||fe(e),e.cleanups){for(n=e.cleanups.length-1;n>=0;n--)e.cleanups[n]();e.cleanups=null}f&&f.running?e.tState=0:e.state=0}function pe(e,t){if(t||(e.tState=0,f.disposed.add(e),fe(e)),e.owned)for(let t=0;t<e.owned.length;t++)pe(e.owned[t])}function me(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function he(e,t,n){try{for(let n of t)n(e)}catch(e){ge(e,n&&n.owner||null)}}function ge(e,t=d){let n=o&&t&&t.context&&t.context[o],r=me(e);if(!n)throw r;h?h.push({fn(){he(r,n,t)},state:c}):he(r,n,t)}function _e(e){if(typeof e==`function`&&!e.length)return _e(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=_e(e[n]);if(Array.isArray(r)){if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e])}else t.push(r)}return t}return e}var ve=Symbol(`fallback`);function ye(e){for(let t=0;t<e.length;t++)e[t]()}function be(e,t,n={}){let r=[],a=[],o=[],s=0,c=t.length>1?[]:null;return D(()=>ye(o)),()=>{let l=e()||[],u=l.length,d,f;return l[i],w(()=>{let e,t,i,m,h,g,v,y,b;if(u===0)s!==0&&(ye(o),o=[],r=[],a=[],s=0,c&&=[]),n.fallback&&(r=[ve],a[0]=_(e=>(o[0]=e,n.fallback())),s=1);else if(s===0){for(a=Array(u),f=0;f<u;f++)r[f]=l[f],a[f]=_(p);s=u}else{for(i=Array(u),m=Array(u),c&&(h=Array(u)),g=0,v=Math.min(s,u);g<v&&r[g]===l[g];g++);for(v=s-1,y=u-1;v>=g&&y>=g&&r[v]===l[y];v--,y--)i[y]=a[v],m[y]=o[v],c&&(h[y]=c[v]);for(e=new Map,t=Array(y+1),f=y;f>=g;f--)b=l[f],d=e.get(b),t[f]=d===void 0?-1:d,e.set(b,f);for(d=g;d<=v;d++)b=r[d],f=e.get(b),f!==void 0&&f!==-1?(i[f]=a[d],m[f]=o[d],c&&(h[f]=c[d]),f=t[f],e.set(b,f)):o[d]();for(f=g;f<u;f++)f in i?(a[f]=i[f],o[f]=m[f],c&&(c[f]=h[f],c[f](f))):a[f]=_(p);a=a.slice(0,s=u),r=l.slice(0)}return a});function p(e){if(o[f]=e,c){let[e,n]=y(f);return c[f]=n,t(l[f],e)}return t(l[f])}}}function F(e,t){return w(()=>e(t||{}))}var xe=e=>`Stale read from <${e}>.`;function Se(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return S(be(()=>e.each,e.children,t||void 0))}function I(e){let t=e.keyed,n=S(()=>e.when,void 0,void 0),r=t?n:S(n,void 0,{equals:(e,t)=>!e==!t});return S(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?w(()=>a(t?i:()=>{if(!w(r))throw xe(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function Ce(e){let t=A(()=>e.children),n=S(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=S(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:S(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return S(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?w(()=>o(a.keyed?i():()=>{if(w(n)()?.[0]!==r)throw xe(`Match`);return i()})):o},void 0,void 0)}function we(e){return e}var Te=e=>S(()=>e());function Ee(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;)if(t[o]===n[s])o++,s++;else{for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)l&&l.has(t[o])||t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null){if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&(d=l.get(t[c]))!=null&&d===r+u;)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++}else t[o++].remove()}}}var De=`_$DX_DELEGATE`;function Oe(e,t,n,r={}){let i;return _(r=>{i=r,t===document?e():B(t,e(),!n&&t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function L(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>w(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function ke(e,t=window.document){let n=t[De]||(t[De]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Fe))}}function R(e,t,n){Ne(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function z(e,t){Ne(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function Ae(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];r&&r!==`undefined`&&!t[r]&&(Pe(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];i&&i!==`undefined`&&n[i]!==o&&o&&(Pe(e,i,!0),n[i]=o)}return n}function je(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Me(e,t,n){return w(()=>e(t,n))}function B(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Ie(e,t,r,n);b(r=>Ie(e,t(),r,n),r)}function Ne(t){return!!e.context&&!e.done&&(!t||t.isConnected)}function Pe(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Fe(t){if(e.registry&&e.events&&e.events.find(([e,n])=>n===t))return;let n=t.target,r=`$$${t.type}`,i=t.target,a=t.currentTarget,o=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),s=()=>{let e=n[r];if(e&&!n.disabled){let i=n[`${r}Data`];if(i===void 0?e.call(n,t):e.call(n,i,t),t.cancelBubble)return}return n.host&&typeof n.host!=`string`&&!n.host._$host&&n.contains(t.target)&&o(n.host),!0},c=()=>{for(;s()&&(n=n._$host||n.parentNode||n.host););};Object.defineProperty(t,"currentTarget",{configurable:!0,get(){return n||document}}),e.registry&&!e.done&&(e.done=_$HY.done=!0);try{if(t.composedPath){let e=t.composedPath();o(e[0]);for(let t=0;t<e.length-2&&(n=e[t],s());t++){if(n._$host){n=n._$host,c();break}if(n.parentNode===a)break}}else c();o(i)}finally{t=n=null}}function Ie(e,t,n,r,i){let a=Ne(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=ze(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=ze(e,n,r)}else if(o===`function`)return b(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Ie(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(Le(o,t,n,i))return b(()=>n=Ie(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=ze(e,n,r),s)return n}else c?n.length===0?Re(e,o,r):Ee(e,n,o):(n&&ze(e),Re(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=ze(e,n,r,t);ze(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function Le(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(o!=null&&o!==!0&&o!==!1){if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Le(e,o,s)||i;else if(c===`function`){if(r){for(;typeof o==`function`;)o=o();i=Le(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0}else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}}return i}function Re(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function ze(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var V={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,cacheInvalidate:`devframe:rpc:cache:invalidate`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},Be=`__connection.json`,Ve=`__DEVFRAME_CONNECTION__`,He=`x-birpc-session`,Ue=`__rpc-dump/index.json`,We=`devframe:services`,Ge=`devframe_otp`,Ke=`devframe_auth_token`;V.postMessage.remoteAssetsError;function qe(e){return typeof e==`string`?`'${e}'`:new Ze().serialize(e)}var Je=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Ye=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[Je.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Xe(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;i<n;i++){let n=e.charCodeAt(i),a=t.charCodeAt(i);if(n===a)continue;let o=n<128&&Ye[n]?Ye[n]:n+128,s=a<128&&Ye[a]?Ye[a]:a+128;if(o!==s)return o<s?-1:1;r===0&&(r=n>a?-1:1)}return e.length===t.length?r:e.length<t.length?-1:1}var Ze=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?Xe(e,t):n===`number`&&r===`number`?e-t:Xe(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(`toJSON`in e&&typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}let i=Object.keys(e).sort(Xe),a=`${r}{`;for(let t=0;t<i.length;t++){let n=i[t];a+=`${n}:${this.serialize(e[n])}`,t<i.length-1&&(a+=`,`)}return a+`}`}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),Qe=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],$e=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],et=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,tt=[],nt=class{_data=new rt;_hash=new rt([...Qe]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)tt[n]=e[t+n]|0;else{let e=tt[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=tt[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;tt[n]=t+tt[n-7]+i+tt[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+$e[n]+tt[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=rt.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new rt(t,i)}},rt=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(et.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function it(e){return new nt().finalize(e).toBase64()}function at(e){return it(qe(e))}function ot(e){return at(e)}var st=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>ot(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}};function H(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var ct={blue:H(34,39),cyan:H(36,39),gray:H(90,39),green:H(32,39),red:H(31,39),yellow:H(33,39),bold:H(1,22),dim:H(2,22),reset:H(0,0),underline:H(4,24)};function lt(e,...t){return typeof e==`function`?e(...t):e}var ut=Error.captureStackTrace,dt=class e extends Error{name;code;docs;fix;sources;data;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,this.data=t.data,ut?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,data:this.data,stack:this.stack}}};function ft(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function pt(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||ft(r,i),s=(e={},n={})=>{let r=new dt({code:i,why:lt(a.why,e),fix:lt(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:lt(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function mt(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
|
|
2
|
+
`)}}var ht=mt(ct);function gt(e,{method:t=`warn`}={}){console[t](ht(e))}function _t(e){return pt({...e,reporters:[gt,...e.reporters??[]]})}var U=_t({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function vt(e){if(e.agent&&e.jsonSerializable===!1)throw U.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function yt(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function bt(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function xt(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await yt(i,n[r]);if(a.issues)throw U.DF0043({name:e,index:r,issues:bt(a.issues)})}return r}async function St(e,t,n){if(!t)return n;let r=await yt(t,n);if(r.issues)throw U.DF0044({name:e,issues:bt(r.issues)});return n}async function Ct(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function wt(e,t){let n=e.handler;if(!n){let r=await Ct(e,t);if(!r.handler)throw U.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await xt(e.name,r,t),o=await a(...n);return await St(e.name,i,o)}}var Tt=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return wt(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw U.DF0021({name:e.name});vt(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw U.DF0022({name:e.name});vt(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await wt(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw U.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function Et(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw Ot(t,`undefined`,r,e);return n}return i!==null&&Dt(i,r,e,t),n})}function Dt(e,t,n,r){if(typeof e==`bigint`)throw Ot(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Ot(r,`Map`,t,n);if(e instanceof Set)throw Ot(r,`Set`,t,n);if(e instanceof Date)throw Ot(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Ot(r,e.constructor?.name??`class instance`,t,n)}function Ot(e,t,n,r){let i=kt(n,r);return U.DF0020({name:e||`<anonymous>`,type:t,path:i})}function kt(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function At(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var jt=/^[\w+.-]{2,}:\/\//;function Mt(e){return e.endsWith(`/`)?e:`${e}/`}function Nt(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Pt(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?Mt(n)+e.replace(/^\.?\//,``):e);return n}function Ft(e,t){if(!t||t===`/`||jt.test(e))return e;let n=Nt(t);return e.startsWith(n)?e:Pt(n,e)}function It(e,t){let n=e.match(jt);return t+(n?e.slice(n[0].length):e)}var Lt=`__DEVFRAME_CONNECTION_META__`,Rt=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function zt(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Bt(){return zt(Ve)}function Vt(){return zt(Lt)}function Ht(e){if(e)return e;try{let e=localStorage.getItem(Rt);if(e)return e}catch{}return zt(Rt)}function Ut(e){globalThis[Ve]=e,globalThis[Lt]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Wt(e.authToken)}function Wt(e){try{localStorage.setItem(Rt,e)}catch{}globalThis[Rt]=e;let t=Bt();t&&(globalThis[Ve]={...t,authToken:e})}function Gt(e){let t=Ft(Be,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Kt(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function qt(){let e=Bt();if(e)return Kt(e,Ht()??e.authToken??e.connectionMeta.authToken);let t=Vt();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Gt(`./`),authToken:Ht(t.authToken)}}async function Jt(e={}){if(e.connection){let t=Kt(e.connection,Ht(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Ut(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Gt(t[0]??`./`),authToken:Ht(e.authToken??e.connectionMeta.authToken)};return Ut(n),n}let n=qt();if(n){let t=Kt(n,Ht(e.authToken??n.authToken??n.connectionMeta.authToken));return Ut(t),t}let r=[];for(let n of t){let t=Ft(Be,n),i=Gt(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:Ht(e.authToken??r.authToken)};return Ut(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var W=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Yt(e=Ge){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Xt(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Zt(e=Ge){let t=Yt(e);return t&&Xt(e),t}async function Qt(e,t={}){let n=Zt(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function $t(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(We,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}var en=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function G(e=21){let t=``,n=e;for(;n--;)t+=en[Math.random()*64|0];return t}var tn=Symbol.for(`immer-nothing`),nn=Symbol.for(`immer-draftable`),K=Symbol.for(`immer-state`);function q(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var J=Object,rn=J.getPrototypeOf,an=`constructor`,on=`prototype`,sn=`configurable`,cn=`enumerable`,ln=`writable`,un=`value`,Y=e=>!!e&&!!e[K];function X(e){return e?pn(e)||yn(e)||!!e[nn]||!!e[an]?.[nn]||bn(e)||xn(e):!1}var dn=J[on][an].toString(),fn=new WeakMap;function pn(e){if(!e||!Sn(e))return!1;let t=rn(e);if(t===null||t===J[on])return!0;let n=J.hasOwnProperty.call(t,an)&&t[an];if(n===Object)return!0;if(!Cn(n))return!1;let r=fn.get(n);return r===void 0&&(r=Function.toString.call(n),fn.set(n,r)),r===dn}function mn(e,t,n=!0){hn(e)===0?(n?Reflect.ownKeys(e):J.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function hn(e){let t=e[K];return t?t.type_:yn(e)?1:bn(e)?2:xn(e)?3:0}var gn=(e,t,n=hn(e))=>n===2?e.has(t):J[on].hasOwnProperty.call(e,t),Z=(e,t,n=hn(e))=>n===2?e.get(t):e[t],_n=(e,t,n,r=hn(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function vn(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var yn=Array.isArray,bn=e=>e instanceof Map,xn=e=>e instanceof Set,Sn=e=>typeof e==`object`,Cn=e=>typeof e==`function`,wn=e=>typeof e==`boolean`;function Tn(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var En=e=>Sn(e)?e?.[K]:null,Q=e=>e.copy_||e.base_,Dn=e=>e.modified_?e.copy_:e.base_;function On(e,t){if(bn(e))return new Map(e);if(xn(e))return new Set(e);if(yn(e))return Array[on].slice.call(e);let n=pn(e);if(t===!0||t===`class_only`&&!n){let t=J.getOwnPropertyDescriptors(e);delete t[K];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[ln]===!1&&(a[ln]=!0,a[sn]=!0),(a.get||a.set)&&(t[i]={[sn]:!0,[ln]:!0,[cn]:a[cn],[un]:e[i]})}return J.create(rn(e),t)}{let t=rn(e);if(t!==null&&n)return{...e};let r=J.create(t);return J.assign(r,e)}}function kn(e,t=!1){return Mn(e)||Y(e)||!X(e)||(hn(e)>1&&J.defineProperties(e,{set:jn,add:jn,clear:jn,delete:jn}),J.freeze(e),t&&mn(e,(e,t)=>{kn(t,!0)},!1)),e}function An(){q(2)}var jn={[un]:An};function Mn(e){return e===null||!Sn(e)||J.isFrozen(e)}var Nn=`MapSet`,Pn=`Patches`,Fn=`ArrayMethods`,In={};function Ln(e){let t=In[e];return t||q(0,e),t}var Rn=e=>!!In[e];function zn(e,t){In[e]||(In[e]=t)}var Bn,Vn=()=>Bn,Hn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Rn(Nn)?Ln(Nn):void 0,arrayMethodsPlugin_:Rn(Fn)?Ln(Fn):void 0});function Un(e,t){t&&(e.patchPlugin_=Ln(Pn),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Wn(e){Gn(e),e.drafts_.forEach(qn),e.drafts_=null}function Gn(e){e===Bn&&(Bn=e.parent_)}var Kn=e=>Bn=Hn(Bn,e);function qn(e){let t=e[K];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Jn(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[K].modified_&&(Wn(t),q(4)),X(e)&&(e=Yn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[K].base_,e,t)}else e=Yn(t,n);return Xn(t,e,!0),Wn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===tn?void 0:e}function Yn(e,t){if(Mn(t))return t;let n=t[K];if(!n)return ir(t,e.handledSet_,e);if(!Qn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);nr(n,e)}return n.copy_}function Xn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&kn(t,n)}function Zn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Qn=(e,t)=>e.scope_===t,$n=[];function er(e,t,n,r){let i=Q(e),a=e.type_;if(r!==void 0&&Z(i,r,a)===t){_n(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;mn(i,(e,n)=>{if(Y(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??$n;for(let e of o)_n(i,e,n,a)}function tr(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Qn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Dn(i);er(e,i.draft_??i,a,n),nr(i,r)})}function nr(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Zn(e)}}function rr(e,t,n){let{scope_:r}=e;if(Y(n)){let i=n[K];Qn(i,r)&&i.callbacks_.push(function(){pr(e),er(e,n,Dn(i),t)})}else X(n)&&e.callbacks_.push(function(){let i=Q(e);e.type_===3?i.has(n)&&ir(n,r.handledSet_,r):Z(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&ir(Z(e.copy_,t,e.type_),r.handledSet_,r)})}function ir(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Y(e)||t.has(e)||!X(e)||Mn(e)||(t.add(e),mn(e,(r,i)=>{if(Y(i)){let t=i[K];Qn(t,n)&&(_n(e,r,Dn(t),e.type_),Zn(t))}else X(i)&&ir(i,t,n)})),e}function ar(e,t){let n=yn(e),r={type_:+!!n,scope_:t?t.scope_:Vn(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=or;n&&(i=[r],a=sr);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var or={get(e,t){if(t===K)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Q(e);if(!gn(i,t,e.type_))return ur(e,i,t);let a=i[t];if(e.finalized_||!X(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Tn(t))return a;if(a===cr(e.base_,t)||lr(e,t,a)){pr(e);let n=e.type_===1?+t:t,r=hr(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Q(e)},ownKeys(e){return Reflect.ownKeys(Q(e))},set(e,t,n){let r=dr(Q(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=cr(Q(e),t),i=r?.[K];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(vn(n,r)&&(n!==void 0||gn(e.base_,t,e.type_)))return!0;pr(e),fr(e)}return e.copy_[t]===n&&(n!==void 0||gn(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),rr(e,t,n)),!0},deleteProperty(e,t){return pr(e),cr(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),fr(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Q(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[ln]:!0,[sn]:e.type_!==1||t!==`length`,[cn]:r[cn],[un]:n[t]}},defineProperty(){q(11)},getPrototypeOf(e){return rn(e.base_)},setPrototypeOf(){q(12)}},sr={};for(let e in or){let t=or[e];sr[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}sr.deleteProperty=function(e,t){return sr.set.call(this,e,t,void 0)},sr.set=function(e,t,n){return or.set.call(this,e[0],t,n,e[0])};function cr(e,t){let n=e[K];return(n?Q(n):e)[t]}function lr(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!X(n)||n[K]?!1:e.baseRefs_.has(n)}function ur(e,t,n){let r=dr(t,n);return r?un in r?r[un]:r.get?.call(e.draft_):void 0}function dr(e,t){if(!(t in e))return;let n=rn(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=rn(n)}}function fr(e){e.modified_||(e.modified_=!0,e.parent_&&fr(e.parent_))}function pr(e){e.copy_||=(e.assigned_=new Map,On(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var mr=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Cn(e)&&!Cn(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Cn(t)||q(6),n!==void 0&&!Cn(n)&&q(7);let r;if(X(e)){let i=Kn(this),a=hr(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Wn(i):Gn(i)}return Un(i,n),Jn(r,i)}if(!e||!Sn(e)){if(r=t(e),r===void 0&&(r=e),r===tn&&(r=void 0),this.autoFreeze_&&kn(r,!0),n){let t=[],i=[];Ln(Pn).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}q(1,e)},this.produceWithPatches=(e,t)=>{if(Cn(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},wn(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze);let t=e?.useStrictShallowCopy;(wn(t)||t===`class_only`)&&this.setUseStrictShallowCopy(t),wn(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){X(e)||q(8),Y(e)&&(e=gr(e));let t=Kn(this),n=hr(t,e,void 0);return n[K].isManual_=!0,Gn(t),n}finishDraft(e,t){let n=e&&e[K];n&&n.isManual_||q(9);let{scope_:r}=n;return Un(r,t),Jn(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Ln(Pn).applyPatches_;return Y(e)?r(e,t):this.produce(e,e=>r(e,t))}};function hr(e,t,n,r){let[i,a]=bn(t)?Ln(Nn).proxyMap_(t,n):xn(t)?Ln(Nn).proxySet_(t,n):ar(t,n);return(n?.scope_??Vn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?tr(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function gr(e){return Y(e)||q(10,e),_r(e)}function _r(e){if(!X(e)||Mn(e))return e;let t=e[K],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=On(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=On(e,!0);let i=n;return xn(n)&&(n=new Set),mn(i,(e,t)=>{_n(n,e,_r(t))},r),t&&(t.finalized_=!1),n}function vr(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=En(Z(e,n.key_)),i=Z(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||gn(e,o))||n.parent_.type_===1&&n.parent_.allIndicesReassigned_)return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Z(n,r),!Sn(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[K];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;mn(e.assigned_,(e,l)=>{let u=Z(o,e,c),f=Z(s,e,c),p=l?gn(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===tn?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=hn(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),t!==0&&t!==1||n!==`__proto__`&&n!==an||q(19),Cn(o)&&n===on&&q(19),o=Z(o,n),o!==null&&Sn(o)||q(18,i.join(`/`))}let s=hn(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:q(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:q(17,a)}}),e}function u(e){if(!X(e))return e;if(yn(e))return e.map(u);if(bn(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(xn(e))return new Set(Array.from(e).map(u));let t=Object.create(rn(e));for(let n in e)t[n]=u(e[n]);return gn(e,nn)&&(t[nn]=e[nn]),t}function d(e){return Y(e)?u(e):e}zn(Pn,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var yr=new mr,br=yr.produce,xr=yr.produceWithPatches.bind(yr),Sr=yr.applyPatches.bind(yr),Cr=1e3;function wr(e,t){if(e.add(t),e.size>Cr){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Tr(e){let{enablePatches:t=!1}=e;t&&vr();let n=At(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=G())=>{i.has(t)||(vr(),r=Sr(r,e),wr(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=G())=>{if(!i.has(a)){if(wr(i,a),t){let[t,i]=xr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=br(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}function Er(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:V.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:V.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n,r){let i=[];return i.push(n.on(`updated`,(n,i,o)=>{a||o===r||(i?e.callEvent(`devframe:rpc:server-state:patch`,t,i,o):e.callEvent(`devframe:rpc:server-state:set`,t,n,o))})),()=>{for(let e of i)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=Tr({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);let r=!1,a=u.on(`updated`,()=>{r=!0}),l=G();return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&t.get(c)===u&&!r&&u.mutate(()=>o(c,e),l)}).catch(e=>{console.error(`Error getting server state`,e)}).finally(a),n.set(c,s(c,u,l)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise((t,n)=>{if(e.isTrusted)d().then(t,n);else{t(u);let n=!1;e.events.on(V.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Dr=typeof self==`object`?self:globalThis,Or=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),kr=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function Ar(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=Or.has(e)?Dr[e]:void 0;return n(new(r??Dr.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&kr.has(a))return n(new Dr[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function jr(e){return Ar(new Map,e)(0)}var Mr=``,{toString:Nr}={},{keys:Pr}=Object;function Fr(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Nr.call(e).slice(8,-1);switch(n){case`Array`:return[1,Mr];case`Object`:return[2,Mr];case`Date`:return[3,Mr];case`RegExp`:return[4,Mr];case`Map`:return[5,Mr];case`Set`:return[6,Mr];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Ir([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Lr(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=Fr(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Pr(r))(e||!Ir(Fr(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Ir(Fr(n))||Ir(Fr(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Ir(Fr(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Rr(e,t={}){let n=[];return Lr(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:zr,stringify:Br}=JSON,Vr={json:!0,lossy:!0};function Hr(e){return jr(zr(e))}function Ur(e){return Br(Rr(e,Vr))}function Wr(e){return jr(e)}function Gr(e){return Ur(e)}function Kr(e){return Hr(e)}var qr=new Map;function Jr(e=qr){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?Et(n,r??``):`s:${Gr(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Kr(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Yr(){}function Xr(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Zr(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function Qr(e){let{onConnected:t=Yr,onError:n=Yr,onDisconnected:r=Yr,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${Ke}=${encodeURIComponent(e.authToken)}`);let s=Jr(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){e===`session`?(f(n),t()):u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=Xr(r);if(!e)break;r=e.rest;let{event:t,data:n}=Zr(e.frame);n.length>0&&_(t,n.join(`
|
|
3
|
+
`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l)n(Error(`Devframe SSE channel is closed; message dropped`));else try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[He]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function $r(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var ei=Math.random.bind(Math),ti=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function ni(e=21){let t=``,n=e;for(;n--;)t+=ti[ei()*64|0];return t}var ri=6e4,ii=e=>e,ai=ii,{clearTimeout:oi,setTimeout:si}=globalThis;function ci(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=ii,deserialize:s=ai,resolver:c,bind:l=`rpc`,timeout:u=ri,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=$r(),_=ni();s.i=_;let v;async function y(n=s){return u>=0&&(v=si(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{oi(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(oi(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function li(e,t){let{channel:n,rpcOptions:r={}}=t;return ci(e,{...n,timeout:-1,...r,proxify:!1})}function ui(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(V.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new W(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new W(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(V.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new W(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(V.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(V.client.connectionError,e),m(new W(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new W(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=li(a.functions,{channel:v,rpcOptions:o});a.register({name:V.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new W(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(V.client.connectionError,e),m(e),i.emit(V.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new W(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(V.client.connectionError,e)}return i.emit(V.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(V.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(V.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t)i.emit(V.client.error,t,String(e[0]));else return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(V.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function di(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function fi(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=di(n.sse,r??`./`,location);return ui({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Qr({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function pi(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:mi(r)?pi(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function mi(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function hi(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function gi(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function _i(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function vi(e){if(e.error)throw pi(e.error);return e.output}function yi(e){return e.some(e=>e!=null)}function bi(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function xi(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Wr(e):e}function a(e,t){return i(bi(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return _i(r)?vi(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(hi(r)){if(yi(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(gi(r)){let e=ot(n),i=r.records[e];if(i)return vi(await s(i,r.serialization));if(r.fallback)return vi(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!yi(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function Si(e){let t=xi(await e.fetchJsonFromBases(Ue),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var Ci=256,wi=class extends Error{name=`StreamClosedError`};function Ti(e={}){let t=e.id??G(),n=Math.max(0,e.replayWindow??0),r=At(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new wi(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Di(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function Ei(e={}){let t=e.id??G(),n=Math.max(1,e.highWaterMark??Ci),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1})}else if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Di(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var Oi=``;function ki(e,t){return`${e}${Oi}${t}`}function Ai(e){let t=new Map,n=new Map;e.client.register({name:V.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(ki(e,n))?._push(r,i)}}),e.client.register({name:V.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=ki(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:V.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=ki(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(V.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(Oi);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=ki(n,r),o=t.get(a);if(o)return o;let s=Ei({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(V.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=ki(t,r),a=n.get(i);if(a)return a;let o=Ti({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function ji(){}var Mi=new Map;function Ni(e){let t=e.url;e.authToken&&(t=`${t}?${Ke}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ji,onError:i=ji,onDisconnected:a=ji,definitions:o=Mi}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=Jr(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN)n.send(e);else if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r)}else i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Pi(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return It(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Fi(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Pi(n.websocket,r??`./`,location);return ui({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Ni({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function Ii(e){return e.includes(`:`)}function Li(e,t){return Ii(t)?t:`${e}:${t}`}function Ri(e){return{async get(t){return(await e()).value()?.[t]},async set(t,n){(await e()).mutate(e=>{if(e===void 0)return{[t]:n};e[t]=n})},async delete(t){(await e()).mutate(e=>{e!==void 0&&delete e[t]})},async all(){return(await e()).value()??{}},async onChange(t){return(await e()).on(`updated`,e=>t(e??{}))}}}function zi(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=(async()=>(await e.ensureTrusted(),e.sharedState.get(r)))().catch(e=>{throw i=void 0,e}),i}return Ri(a)}function Bi(e,t){return{global:zi(e,t,`global`),project:zi(e,t,`project`)}}function Vi(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Ii(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Li(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Li(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Li(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Li(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Li(t,n),r,i),upload:(n,r)=>e.streaming.upload(Li(t,n),r)}},settings:Bi(e,t),scope:e.scope}}var Hi=128;function Ui(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Hi)}function Wi(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Gi=Object.freeze({type:`object`,additionalProperties:!0});function Ki(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Gi}return Gi}function qi(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=Ki(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Ji(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Yi(e,t){return Ji(e,t)??[e]}function Xi(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Zi(e,t={}){let n=t.modelContext??Xi();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Ui(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Wi(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:qi(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Qi(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Qi(e,t,n){try{let r=Yi(n,e.args?.length);return{content:[{type:`text`,text:$i(await(await wt(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:ea(e)}]}}}function $i(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function ea(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}var ta=`modulepreload`,na=function(e,t){return new URL(e,t).href},ra={},ia=function(e){return e.pathname.endsWith(`.css`)},aa=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},oa=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=na(t,n);let r=s(t),i=ia(r);return aa(ra,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:ta,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{let i=a=>{t.removeEventListener(`load`,i),t.removeEventListener(`error`,i),a.type===`error`?n(Error(`Unable to preload CSS for ${r}`)):e(a)};t.addEventListener(`load`,i),t.addEventListener(`error`,i)})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function sa(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function ca(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=At(),a=Array.isArray(t)?t:[t],o=await Jt(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new st({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new Tt(f),m=e.webmcp===!1?void 0:Zi(p),h,g=!1,_=0,v;function y(){_++,v=void 0,d.clear(),r===!0&&d.updateOptions({functions:[]})}r&&(p.register({name:V.broadcast.cacheInvalidate,type:`event`,handler:y}),i.on(V.client.connectionStatus,y),i.on(V.client.isTrustedUpdated,y));async function b(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Ft(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let x=e.callTimeout??0,S=x>0?x:1/0,C,w={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){let a=performance.now()+S;if(await n.onRequest?.call(this,e,t,i),r===!0&&e.i&&C.isTrusted&&!e.m.startsWith(`anonymous:`)&&e.m!==`devframe:rpc:cacheable-functions`){function t(){if(performance.now()>=a)throw new W(`timeout`,`[devframe] RPC call "${e.m}" timed out after ${x}ms`)}for(;!v&&(t(),!(g||C.status!==`connected`));){let e=_;v=C.callOptional(`devframe:rpc:cacheable-functions`).then(t=>{e===_&&d.updateOptions({functions:t??[]})}).catch(t=>{throw e===_&&(v=void 0),t}),await v}await v,t()}let o=_;if(r&&e.i&&!g&&C.isTrusted&&d.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);o===_&&!g&&d.apply(e,n)}else await t(e)}}},T=sa(e.transport??`auto`,s);C=T===`static`?await Si({fetchJsonFromBases:b}):T===`sse`?fi({...w,sseOptions:e.sseOptions}):Fi({...w,wsOptions:e.wsOptions});let E;try{E=new BroadcastChannel(`devframe-auth`)}catch{}let D,O=!1;function k(e){return((...t)=>O||!D?e(...t):D.then(()=>e(...t)))}function ee(){g=!0,y();try{h?.(),m?.()}finally{try{E?.close()}finally{C.close?.()}}}let A={events:i,get isTrusted(){return C.isTrusted},get status(){return C.status},get connectionError(){return C.connectionError},get transport(){return C.transport??T},get connection(){return o},connectionMeta:s,ensureTrusted:C.ensureTrusted,requestTrust:C.requestTrust,requestTrustWithToken:async e=>(Wt(e),o={...o,authToken:e},C.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await C.requestTrustWithCode(e);if(!t)return!1;Wt(t),o={...o,authToken:t};try{E?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>C.requestAuthCode(e),call:k(C.call),callEvent:k(C.callEvent),callOptional:k(C.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:ee};A.sharedState=Er(A),A.streaming=Ai(A),A.services=$t(A);let te=new Map;A.scope=(e=>{if(!e)return A;let t=te.get(e);return t||(t=Vi(A,e),te.set(e,t)),t}),f.rpc=A;function j(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ne(){if(e.simpleAuth!==!1&&j()&&typeof globalThis.prompt==`function`)for(await A.requestAuthCode().catch(()=>{});!A.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await A.requestTrustWithCode(t))return}}async function re(){let t=await C.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Qt(A,{param:n}):!1;t||r||A.isTrusted||await ne()}return D=re().then(()=>{O=!0},()=>{O=!0}),s.mcp&&oa(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-DvaA0A5e.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(A))}).catch(()=>{}),E&&(E.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&A.requestTrustWithToken(e.data.authToken)}),A}var la=ca;function ua(){if(window.parent===window)return()=>{};let e=document.documentElement,t=e.style.getPropertyValue(`--devframe-primary`),n=e.style.getPropertyPriority(`--devframe-primary`),r=!1,i=!1;return Jt().then(({connectionMeta:t})=>{let n=t.configs?.ui?.branding?.primaryColor;!r&&n&&CSS.supports(`color`,n)&&(e.style.setProperty(`--devframe-primary`,n),i=!0)}).catch(()=>{}),()=>{r=!0,i&&(t?e.style.setProperty(`--devframe-primary`,t,n):e.style.removeProperty(`--devframe-primary`))}}var da=`devframes:plugin:a11y`,fa=`devframe:docks:active`,pa={critical:`#ff5c7a`,serious:`#ff9b52`,moderate:`#f2d14e`,minor:`#6fb1fc`};function ma(){return{critical:0,serious:0,moderate:0,minor:0}}var ha=L(`<code class="font-mono text-[11.5px] color-muted bg-secondary border border-base rounded-lg px-3 py-2.5 whitespace-pre-wrap break-all text-left max-w-full">`),ga=L(`<div class="flex flex-col items-center justify-center gap-3 h-full p-8 text-center color-muted"><span aria-hidden></span><p class="text-[15px] font-semibold color-base"></p><p class="text-xs leading-relaxed max-w-[38ch]">`);function _a(e){return(()=>{var t=ga(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return B(r,()=>e.title),B(i,()=>e.body),B(t,F(I,{get when(){return e.code},get children(){var t=ha();return B(t,()=>e.code),t}}),null),b(()=>z(n,`${e.icon} ${e.clean?`text-success`:`color-faint`}`)),t})()}function va(...e){return e.filter(Boolean).join(` `)}function ya({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return va(r[e],i,n)}function ba(e){return va(`flex items-center gap-2 shrink-0 h-nav px-3 border-b border-base bg-base z-nav`,e)}function xa(e){return va(`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`,e)}function Sa(e){let t=[`You are an accessibility engineer. Fix the following WCAG issues found by axe-core.`,`For each violation, change the markup and/or styles so the rule passes while preserving the design and behavior, and briefly explain each fix.`,``];for(let[n,r]of Ca(e)){let e=r[0]?.url;t.push(`## Route: ${n}${e?` (${e})`:``}`);for(let{violation:e}of r)t.push(...wa(e));t.push(``)}return t.join(`
|
|
4
|
+
`).trimEnd()}function Ca(e){let t=new Map;for(let n of e){let e=t.get(n.route)??[];e.push(n),t.set(n.route,e)}return t}function wa(e){let t=[``,`### ${e.ruleId}: ${e.help}`,`- Impact: ${e.impact}${e.bestPractice?` (best practice)`:``}`];e.tags?.length&&t.push(`- WCAG: ${e.tags.join(`, `)}`),t.push(`- Docs: ${e.helpUrl}`),t.push(`- What it checks: ${e.description}`),t.push(`- Affected element${e.nodes.length===1?``:`s`} (${e.nodes.length}):`);for(let n of e.nodes)t.push(...Ta(n));return t}function Ta(e){let t=[` - selector: \`${e.target.join(` `)}\``," ```html",` ${e.html}`," ```"];return e.failureSummary&&t.push(` fix hint: ${e.failureSummary.replace(/\s*\n\s*/g,` `)}`),t}var Ea=L(`<div class="fixed inset-0 z-modal-content flex items-center justify-center p-6 bg-black/55 backdrop-blur-sm"><div class="flex flex-col gap-3 w-[min(680px,100%)] max-h-full p-4 bg-secondary border border-base rounded-xl shadow-2xl"role=dialog aria-modal=true aria-labelledby=fix-prompts-title><div class="flex items-start gap-2.5"><div><h2 id=fix-prompts-title class="m-0 text-[15px] font-semibold color-base">Fix prompts</h2><p class="mt-0.5 text-xs color-muted"> <!> selected. Copy the prompt into your AI assistant.</p></div><button type=button class="ml-auto inline-flex p-1.5 rounded color-muted cursor-pointer transition hover:bg-active hover:color-base outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"aria-label=Close><span aria-hidden class="i-ph-x shrink-0"></span></button></div><textarea class="flex-1 min-h-60 resize-none w-full p-3 bg-base border border-base rounded-lg font-mono text-[11.5px] leading-relaxed color-base ws-break-spaces overflow-auto outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"readonly aria-label="Generated fix prompt"></textarea><div class="flex items-center gap-2.5"><span class="min-w-0 truncate text-[11px] color-faint"></span><span class=flex-1></span><button type=button><span aria-hidden>`),Da=L(`<code class=font-mono>`);function Oa(e){let t=S(()=>Sa(e.items)),n=()=>e.items.length,[r,i]=y(!1),a;function o(){navigator.clipboard?.writeText(t()).then(()=>{i(!0),setTimeout(i,1500,!1)})}function s(t){t.key===`Escape`&&e.onClose()}return E(()=>{addEventListener(`keydown`,s),a?.focus()}),D(()=>removeEventListener(`keydown`,s)),(()=>{var i=Ea(),s=i.firstChild,c=s.firstChild,l=c.firstChild,u=l.firstChild.nextSibling,d=u.firstChild,f=d.nextSibling;f.nextSibling;var p=l.nextSibling,m=c.nextSibling,h=m.nextSibling.firstChild,g=h.nextSibling.nextSibling,_=g.firstChild;i.$$click=()=>e.onClose(),s.$$click=e=>e.stopPropagation(),B(u,n,d),B(u,()=>n()===1?`violation`:`violations`,f),p.$$click=()=>e.onClose();var v=a;return typeof v==`function`?Me(v,p):a=p,B(m,t),B(h,F(Se,{get each(){return e.items},children:(e,t)=>[F(I,{get when(){return t()>0},children:`, `}),(()=>{var t=Da();return B(t,()=>e.violation.ruleId),t})()]})),g.$$click=o,B(g,()=>r()?`Copied`:`Copy prompt`,null),b(e=>{var t=ya({variant:`primary`,size:`sm`}),n=`shrink-0 ${r()?`i-ph-check`:`i-ph-copy`}`;return t!==e.e&&z(g,e.e=t),n!==e.t&&z(_,e.t=n),e},{e:void 0,t:void 0}),i})()}ke([`click`]);var ka=L(`<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),Aa=L(`<header><span><span aria-hidden class="i-ph-person-simple-circle-duotone text-base color-active"></span><span>A11y Inspector</span></span><span class=flex-1></span><span class="inline-flex items-center gap-1.5 text-xs color-muted select-none"><span></span></span><button type=button title="Generate AI fix prompts for the selected violations"><span aria-hidden class="i-ph-sparkle-duotone shrink-0"></span>Generate fix prompts</button><button type=button><span aria-hidden class="i-ph-arrows-clockwise shrink-0"></span>Rescan`);function ja(e){let t=()=>e.pageScriptReady?e.scanning?`Scanning…`:`Connected`:`No page connected`,n=()=>e.pageScriptReady?e.scanning?`bg-primary-500 animate-pulse`:`bg-success`:`bg-neutral-400`;return(()=>{var r=Aa(),i=r.firstChild,a=i.nextSibling.nextSibling,o=a.firstChild,s=a.nextSibling;s.firstChild.nextSibling;var c=s.nextSibling,l=c.firstChild;return B(a,t,null),s.$$click=()=>e.onGenerate(),B(s,F(I,{get when(){return e.selectedCount>0},get children(){var t=ka();return B(t,()=>e.selectedCount),t}}),null),c.$$click=()=>e.onRescan(),b(t=>{var a=ba(),u=xa(),d=`size-2 rounded-full shrink-0 ${n()}`,f=ya({variant:e.selectedCount===0?`secondary`:`primary`,size:`sm`}),p=e.selectedCount===0,m=ya({variant:`secondary`,size:`sm`}),h=!e.pageScriptReady||e.scanning,g=!!e.scanning;return a!==t.e&&z(r,t.e=a),u!==t.t&&z(i,t.t=u),d!==t.a&&z(o,t.a=d),f!==t.o&&z(s,t.o=f),p!==t.i&&(s.disabled=t.i=p),m!==t.n&&z(c,t.n=m),h!==t.s&&(c.disabled=t.s=h),g!==t.h&&l.classList.toggle(`animate-spin`,t.h=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})()}ke([`click`]);var Ma=L(`<span class="shrink-0 px-1.5 py-px border border-base rounded">axe `),Na=L(`<div class="flex items-center gap-2 px-4 py-1.5 font-mono text-[11.5px] color-faint border-b border-base bg-base"><span class="flex-1 truncate color-muted">`),Pa=L(`<span class="shrink-0 px-1.5 py-px border border-base rounded">`),Fa=L(`<span class="shrink-0 px-1.5 py-px border border-amber-500/60 rounded text-amber-500 capitalize"title="devframe backend connection">`);function Ia(e){let t=()=>{let t=e.status?.();return t===`disconnected`||t===`unauthorized`||t===`error`?t:null};return F(I,{get when(){return e.url},get children(){var n=Na(),r=n.firstChild;return B(r,()=>e.url),B(n,F(I,{get when(){return t()},get fallback(){return F(I,{get when(){return e.backend()},children:e=>(()=>{var t=Pa();return B(t,e),t})()})},children:e=>(()=>{var t=Fa();return B(t,e),t})()}),null),B(n,F(I,{get when(){return e.engine},get children(){var t=Ma();return t.firstChild,B(t,()=>e.engine,null),t}}),null),b(()=>R(r,`title`,e.url)),n}})}var La={critical:`Critical`,serious:`Serious`,moderate:`Moderate`,minor:`Minor`},Ra=L(`<div class="grid grid-cols-4 gap-1.5">`),za=L(`<button type=button class="flex items-baseline gap-1.5 px-3 py-2 text-left bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="text-lg font-bold tabular-nums leading-none"></span><span class="text-xs font-semibold tracking-wide uppercase">`),Ba=[`critical`,`serious`,`moderate`,`minor`];function Va(e){return(()=>{var t=Ra();return B(t,F(Se,{each:Ba,children:t=>{let n=()=>e.counts[t],r=()=>e.active===t;return(()=>{var i=za(),a=i.firstChild,o=a.nextSibling;return i.addEventListener(`blur`,()=>e.onHover?.(null)),i.addEventListener(`focus`,()=>e.onHover?.(t)),i.addEventListener(`mouseleave`,()=>e.onHover?.(null)),i.addEventListener(`mouseenter`,()=>e.onHover?.(t)),i.$$click=()=>e.onToggle(t),B(a,n),B(o,()=>La[t]),b(e=>{var a={"bg-[color-mix(in_srgb,var(--impact)_16%,transparent)]! border-[color:var(--impact)]!":r(),"color-[var(--impact)]":n()>0,"color-muted":n()===0},o=pa[t],s=r(),c=`${n()} ${La[t]} issues: filter and highlight`;return e.e=Ae(i,a,e.e),o!==e.t&&je(i,`--impact`,e.t=o),s!==e.a&&R(i,`aria-pressed`,e.a=s),c!==e.o&&R(i,`aria-label`,e.o=c),e},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}})),t})()}ke([`click`]);var Ha=L(`<label class="inline-flex items-center gap-2 cursor-pointer select-none"><span class="relative w-8 h-[18px] rounded-full bg-secondary border border-base transition has-[:checked]:bg-primary-500/40 has-[:checked]:border-primary-500 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-primary-500/40"><input type=checkbox class="peer absolute inset-0 m-0 opacity-0 cursor-pointer"><span class="absolute top-0.5 left-0.5 size-3 rounded-full bg-neutral-400 pointer-events-none transition peer-checked:translate-x-3.5 peer-checked:bg-primary-500"></span></span><span class="text-xs color-muted">`);function Ua(e){return(()=>{var t=Ha(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return r.addEventListener(`change`,t=>e.onChange(t.currentTarget.checked)),B(i,()=>e.label),b(()=>r.checked=e.checked),t})()}var Wa=L(`<button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Clear the whole selection"><span aria-hidden class="i-ph-x shrink-0"></span>Clear selection<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),Ga=L(`<div class="flex flex-col gap-2 pt-3 pb-2.5 sticky top-0 z-nav bg-base"><div class="flex items-center gap-2 flex-wrap"><span class="text-[11.5px] color-muted tabular-nums"> · <!> · </span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Select all visible violations"><span aria-hidden class="i-ph-check-square-duotone shrink-0"></span>Select all</button><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Invert the selection across the visible violations"><span aria-hidden class="i-ph-selection-inverse-duotone shrink-0"></span>Invert</button><span class=flex-1></span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:text-error hover:border-error/50 disabled:op-40 disabled:cursor-default"title="Clear all tracked routes"><span aria-hidden class="i-ph-trash-duotone shrink-0"></span>Clear`);function Ka(e){let t=(e,t)=>`${e} ${e===1?t:`${t}s`}`;return(()=>{var n=Ga(),r=n.firstChild,i=r.firstChild,a=i.firstChild,o=a.nextSibling;o.nextSibling;var s=i.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling;return B(n,F(Va,{get counts(){return e.counts},get active(){return e.filter},get onToggle(){return e.onToggleFilter},get onHover(){return e.onHoverImpact}}),r),B(i,()=>t(e.totalNodes,`issue`),a),B(i,()=>t(e.totalRules,`rule`),o),B(i,()=>t(e.routeCount,`route`),null),s.$$click=()=>e.onSelectAll(),c.$$click=()=>e.onInvertSelection(),B(r,F(I,{get when(){return e.selectedCount>0},get children(){var t=Wa(),n=t.firstChild.nextSibling.nextSibling;return t.$$click=()=>e.onClearSelection(),B(n,()=>e.selectedCount),t}}),l),B(r,F(Ua,{label:`Best-practice`,get checked(){return e.showBestPractice},get onChange(){return e.onToggleBestPractice}}),u),B(r,F(Ua,{label:`Auto-scan`,get checked(){return e.autoScan},get onChange(){return e.onToggleAutoScan}}),u),u.$$click=()=>e.onClearAll(),b(t=>{var n=e.allSelected,r=e.routeCount===0;return n!==t.e&&(s.disabled=t.e=n),r!==t.t&&(u.disabled=t.t=r),t},{e:void 0,t:void 0}),n})()}ke([`click`]);function qa(e,t){return`rule-${encodeURIComponent(e)}-${t}`}var Ja=L(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-muted border border-base rounded-full px-1.5"title="axe best-practice rule (not a WCAG success criterion)">best practice`),Ya=L(`<ul class="list-none m-0 flex flex-col gap-1 pl-3.5 pr-2.5 pb-2">`),Xa=L(`<a class="self-start block ml-3.5 mb-2 text-[11px] color-faint no-underline hover:color-active hover:underline"target=_blank rel="noreferrer noopener">Learn how to fix <!> ↗`),Za=L(`<li class="relative bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] overflow-hidden transition hover:shadow-md"><div class="flex items-stretch"><input type=checkbox class="shrink-0 self-center size-[15px] ml-3 accent-[var(--impact)] cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><button type=button class="flex flex-col gap-0.5 flex-1 min-w-0 text-left cursor-pointer outline-none py-[7px] pl-2.5 pr-3"><span class="flex items-center gap-1.5"><span class="text-[9px] font-bold tracking-wide uppercase color-[var(--impact)]"></span><code class="font-mono text-xs color-base"></code><span class="ml-auto inline-flex items-center gap-1.5 text-[11px] color-faint tabular-nums"> <span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform"></span></span></span><span class="text-xs color-muted leading-snug truncate">`),Qa=L(`<span class="inline-block mt-1.5 font-mono text-[10.5px] text-primary-500 bg-primary-500/12 rounded px-1.5 py-px">`),$a=L(`<span class="block mt-1.5 text-[11px] leading-snug color-muted whitespace-pre-wrap">`),eo=L(`<li><button type=button class="block w-full bg-[#8881] text-left border border-base rounded px-2.5 py-1.5 cursor-pointer transition hover:bg-hover outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="flex items-start gap-1.5"><code class="block font-mono text-[11px] color-base whitespace-pre-wrap break-words">`),to=L(`<span class="shrink-0 inline-flex items-center justify-center min-w-[17px] h-[17px] px-1 rounded-full bg-primary-500 text-white text-[10.5px] font-bold tabular-nums">`);function no(e){let t=()=>e.violation,n=()=>`nodes-${qa(e.route,t().ruleId)}`,r=()=>t().nodes[0];return(()=>{var i=Za(),a=i.firstChild.firstChild,o=a.nextSibling,s=o.firstChild,c=s.firstChild,l=c.nextSibling,u=l.nextSibling,d=u.firstChild,f=d.nextSibling,p=s.nextSibling;return i.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),a.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),a.addEventListener(`change`,()=>e.onToggleSelect()),o.addEventListener(`blur`,()=>e.channel.clearPreview()),o.addEventListener(`focus`,()=>r()&&e.channel.preview(r())),o.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),o.$$click=()=>e.onToggle(),B(c,()=>La[t().impact]),B(s,F(I,{get when(){return t().bestPractice},get children(){return Ja()}}),l),B(l,()=>t().ruleId),B(u,()=>t().nodes.length,d),B(u,()=>t().nodes.length===1?`element`:`elements`,f),B(p,()=>t().help),B(i,F(I,{get when(){return e.expanded},get children(){return[(()=>{var r=Ya();return B(r,F(Se,{get each(){return t().nodes},children:t=>(()=>{var n=eo(),r=n.firstChild,i=r.firstChild,a=i.firstChild;return r.addEventListener(`blur`,()=>e.channel.clearPreview()),r.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),r.addEventListener(`focus`,()=>e.channel.preview(t)),r.addEventListener(`mouseenter`,()=>e.channel.preview(t)),B(i,F(I,{get when(){return e.numberOf(t.id)},children:e=>(()=>{var t=to();return B(t,e),t})()}),a),B(a,()=>t.html),B(r,F(I,{get when(){return t.target.length},get children(){var e=Qa();return B(e,()=>t.target.join(` `)),e}}),null),B(r,F(I,{get when(){return t.failureSummary},get children(){var e=$a();return B(e,()=>t.failureSummary),e}}),null),n})()})),b(()=>R(r,`id`,n())),r})(),(()=>{var e=Xa(),n=e.firstChild.nextSibling;return n.nextSibling,B(e,()=>t().ruleId,n),b(()=>R(e,`href`,t().helpUrl)),e})()]}}),null),b(r=>{var s=qa(e.route,t().ruleId),c={"bg-[color-mix(in_srgb,var(--impact)_8%,transparent)]! border-[color:var(--impact)]/60":e.selected},l=pa[t().impact],u=`Select ${t().ruleId} to highlight and add to fix prompts`,d=e.expanded,p=n(),m=!!e.expanded;return s!==r.e&&R(i,`id`,r.e=s),r.t=Ae(i,c,r.t),l!==r.a&&je(i,`--impact`,r.a=l),u!==r.o&&R(a,`aria-label`,r.o=u),d!==r.i&&R(o,`aria-expanded`,r.i=d),p!==r.n&&R(o,`aria-controls`,r.n=p),m!==r.s&&f.classList.toggle(`rotate-90`,r.s=m),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),b(()=>a.checked=e.selected),i})()}ke([`click`]);var ro=L(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-active border border-primary-500/45 rounded-full px-1.5 shrink-0">active`),io=L(`<ul class="list-none m-0 mt-1 flex flex-col gap-1">`),ao=L(`<section class="flex flex-col"><div class="flex items-center gap-1 py-0.5"><button type=button class="flex items-center gap-2 flex-1 min-w-0 text-left cursor-pointer py-1 px-0.5 rounded outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform shrink-0"></span><code></code><span class="ml-auto text-[11px] color-faint tabular-nums shrink-0"> </span></button><button type=button class="shrink-0 inline-flex p-1 rounded color-faint cursor-pointer transition hover:text-error hover:bg-secondary outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"title="Clear this route's history"><span aria-hidden class="i-ph-trash-duotone shrink-0">`);function oo(e){return(()=>{var t=ao(),n=t.firstChild.firstChild,r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=n.nextSibling;return n.$$click=()=>e.onToggleGroup(),B(i,()=>e.report.route),B(n,F(I,{get when(){return e.active},get children(){return ro()}}),a),B(a,()=>e.violations.length,o),B(a,()=>e.violations.length===1?`rule`:`rules`,null),s.$$click=()=>e.onClearRoute(),B(t,F(I,{get when(){return!e.collapsed},get children(){var t=io();return B(t,F(Se,{get each(){return e.violations},children:t=>F(no,{get route(){return e.report.route},violation:t,get expanded(){return e.expandedRules.has(`${e.report.route}::${t.ruleId}`)},get selected(){return e.selection.isSelected(e.report.route,t.ruleId)},onToggle:()=>e.onToggleRule(t.ruleId),onToggleSelect:()=>e.selection.toggle(e.report.route,t.ruleId),get channel(){return e.channel},get numberOf(){return e.selection.numberOf}})})),t}}),null),b(a=>{var o=`group-${encodeURIComponent(e.report.route)}`,s=!e.collapsed,c=!e.collapsed,l=`font-mono text-[12.5px] truncate ${e.active?`color-active`:`color-base`}`;return o!==a.e&&R(t,`id`,a.e=o),s!==a.t&&R(n,`aria-expanded`,a.t=s),c!==a.a&&r.classList.toggle(`rotate-90`,a.a=c),l!==a.o&&z(i,a.o=l),a},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}ke([`click`]);var so=L(`<div class="flex flex-col gap-2.5">`);function co(e){return(()=>{var t=so();return B(t,F(Se,{get each(){return e.groups},children:t=>F(oo,{get report(){return t.report},get active(){return t.active},get violations(){return t.violations},get collapsed(){return e.collapsedRoutes.has(t.report.route)},onToggleGroup:()=>e.onToggleGroup(t.report.route),onClearRoute:()=>e.onClearRoute(t.report.route),get expandedRules(){return e.expandedRules},onToggleRule:n=>e.onToggleRule(t.report.route,n),get channel(){return e.channel},get selection(){return e.selection}})})),t})()}var lo=Symbol.for(`devframe:browser-agent-registry`),{tools:uo,listeners:fo}=globalThis[lo]??={tools:new Map,listeners:new Set};function po(){for(let e of fo)e()}function mo(e){let t=Symbol(e.id);return uo.set(t,e),po(),()=>{uo.delete(t)&&po()}}function ho(){return[...uo.values()]}function go(e){return fo.add(e),()=>fo.delete(e)}var _o=_t({docsBase:`https://devfra.me/errors`,codes:{DF0077:{why:e=>`In-page channel function "${e.name}" is not registered on this endpoint.`,fix:"Declare the function in this endpoint's `functions` option."},DF0080:{why:e=>`In-page channel function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it channel-only."}}}),vo=V.postMessage.inPageChannel;function yo(e){return!!e&&typeof e==`object`&&`__dfIpc`in e}function bo(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.channel===vo&&typeof t.name==`string`&&typeof t.panelId==`string`&&(t.kind===`hello`||t.kind===`grant`)}function xo(e,t){if(e?.length)return e;let n=t?.location?.origin;return n&&n!==`null`?[n]:[`*`]}function So(e){let t=[];try{let n=e;for(;n.parent&&n.parent!==n;)t.push(n.parent),n=n.parent}catch{}for(let n of[e,...t])try{let r=n.opener;r&&r!==e&&!t.includes(r)&&t.push(r)}catch{}return t}var Co={intervalMs:5e3,timeoutMs:12e3};function wo(e){return e===!1?void 0:{...Co,...e}}var $=class extends Error{code;name=`InPageChannelError`;constructor(e,t,n){super(t,n),this.code=e}},To=new Set;function Eo(e){To.has(e)||(To.add(e),console.warn(`[devframe] ${e}`))}function Do(e,t,n){for(let r=0;r<e.length;r++){let i=ko(e[r],`${t}[${r}]`,n);if(i)return i}}function Oo(e,t,n){let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)return`${t} is an instance of ${e.constructor?.name??`an exotic class`}`;for(let[r,i]of Object.entries(e)){let e=ko(i,`${t}.${r}`,n);if(e)return e}}function ko(e,t,n){if(e!==null&&typeof e!=`boolean`&&typeof e!=`string`)return typeof e==`number`?Number.isFinite(e)?void 0:`${t} is ${e}`:typeof e==`object`?n.has(e)?`${t} is circular`:(n.add(e),Array.isArray(e)?Do(e,t,n):Oo(e,t,n)):`${t} is ${e===void 0?"`undefined`":`a ${typeof e}`}`}function Ao(e,t,n){let r=ko(e,t,new Set);if(r)throw new $(`not-serializable`,`in-page function "${n}" is declared jsonSerializable, but ${r}`)}function jo(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Mo(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await i[`~standard`].validate(n[r]);if(a.issues)throw new $(`invalid-args`,`in-page function "${e}" rejected argument ${r}: ${jo(a.issues)}`)}}function No(e,t){return e.serialize?t.map(e.serialize):t}function Po(e,t){return e.deserialize&&t!==void 0?e.deserialize(t):t}function Fo(e,t){return`devframe:in-page:${e===`event`?`event`:`function`}:${t}`}var Io=Fo(`function`,``);function Lo(e){let t=new Map,n=new Map;return{definitions:t,register(e){if(`agent`in e&&e.agent){if(e.jsonSerializable===!1)throw _o.DF0080({name:e.name});e.jsonSerializable=!0}t.set(Fo(e.type,e.name),e)},registerInternal(e,n){t.set(e,{name:e,handler:n})},on(e,t){let r=Fo(`event`,e),i=n.get(r);return i||(i=new Set,n.set(r,i)),i.add(t),()=>{i.delete(t),i.size===0&&n.delete(r)}},resolve(r){let i=t.get(r),a=n.get(r);if(i||a?.size)return async(...t)=>{let a=e.deserialize?t.map(e.deserialize):t;i?.jsonSerializable&&Ao(a,`its arguments`,i.name),i?.args?.length&&await Mo(i.name,i.args,a);let o=await i?.handler?.(...a);for(let e of[...n.get(r)??[]])e(...a);if(i?.type!==`event`)return i?.jsonSerializable&&o!==void 0&&Ao(o,`its return value`,i.name),e.serialize&&o!==void 0?e.serialize(o):o}}}}function Ro(e,t){for(let n of t){let t=n(e);if(t)return t}if(e.startsWith(Io))return()=>{throw _o.DF0077({name:e.slice(Io.length)})}}function zo(e,t){let n=[];for(let r of t.definitions.values()){if(r.type===`event`||!(`agent`in r)||!r.agent)continue;let i=r.agent;n.push(mo({id:`${e}:${r.name}`,title:i.title??r.name,description:i.description,safety:Wi(r.type,i),tags:i.tags,inputSchema:qi(r.args),invoke:e=>{let n=Yi(e,r.args?.length);return t.resolve(Fo(r.type,r.name))(...n)}}))}return()=>n.forEach(e=>e())}function Bo(e){return e instanceof DOMException&&e.name===`DataCloneError`?new $(`not-cloneable`,`a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`,{cause:e}):e}function Vo(e,t){let n,r=!1,i={rpc:ci({},{post:t=>{try{e.postMessage(t)}catch(e){throw Bo(e)}},on:e=>{n=e},off:()=>{n=void 0},timeout:-1,proxify:!1,resolver:(e,n)=>n??t.resolveLocal(e)}),lastActivity:Date.now(),postControl(t){try{e.postMessage({__dfIpc:t})}catch{}},dispose(t){if(r)return;r=!0,t?.bye&&i.postControl(`bye`);let n=new $(`closed`,`in-page channel call dropped: ${t?.reason??`the in-page channel port was closed`}`);i.rpc.$rejectPendingCalls(({reject:e})=>e(n)),i.rpc.$close(),e.removeEventListener(`message`,a),e.removeEventListener(`close`,o);try{e.close()}catch{}}};function a(e){i.lastActivity=Date.now();let r=e.data;yo(r)?r.__dfIpc===`bye`?t.onPeerClosed():t.onControl(r.__dfIpc):n?.(r)}function o(){t.onPeerClosed()}return e.addEventListener(`message`,a),e.addEventListener(`close`,o),e.start?.(),i}function Ho(e,t,n){return t<=0?e:new Promise((r,i)=>{let a=setTimeout(()=>i(new $(`timeout`,n())),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}var Uo={subscribe:`devframe:in-page:page-state:subscribe`,set:`devframe:in-page:page-state:set`,patch:`devframe:in-page:page-state:patch`};function Wo(e){let t=new Map,n=new Set,r=new Map,i=new Set;function a(e){n.add(e);let t=r.get(e);if(t){r.delete(e);for(let e of t)e()}}function o(e,n){let r=t.get(e);if(r&&n!==void 0){let e=G();i.add(e),r.mutate(()=>n,e)}a(e)}function s(t){e.call(Uo.subscribe,[t]).then(e=>o(t,e)).catch(e=>{console.warn(`[devframe] in-page shared state "${t}": subscribe failed`,e)})}return{handlers:{[V.inPageChannel.panelStateUpdated]:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>n,r),a(e)},[V.inPageChannel.panelStatePatch]:(e,n,r)=>{t.get(e)?.patch(n,r),a(e)}},resubscribe(){for(let e of t.keys())s(e)},get:(a,o)=>{let c=t.get(a);if(c)return Promise.resolve(c);let l=Tr({initialValue:o?.initialValue,enablePatches:!0});return t.set(a,l),l.on(`updated`,(t,n,r)=>{i.delete(r)||e.isConnected()&&(n?e.callEvent(Uo.patch,[a,n,r]):e.callEvent(Uo.set,[a,t,r]))}),e.isConnected()&&s(a),o?.initialValue===void 0?new Promise(e=>{if(n.has(a)){e(l);return}let t=r.get(a)??[];t.push(()=>e(l)),r.set(a,t)}):Promise.resolve(l)}}}var Go=300,Ko=3e3,qo=64;function Jo(e){let{name:t}=e,n=e.callTimeoutMs??15e3,r=e.eventBufferLimit??qo,i=e.window===!1?void 0:e.window??(typeof window>`u`?void 0:window),a=xo(e.allowedOrigins,i),o=wo(e.heartbeat),s={serialize:e.serialize,deserialize:e.deserialize},c=G(),l=e.targets??(i?So(i):[]),u=!!i&&l.length>0,d=At(),f=Lo(s);for(let[t,n]of Object.entries(e.functions))f.register({...n,name:t});for(let[t,n]of Object.entries(e.events??{}))f.register({...n,name:t,type:`event`});let p=zo(t,f),m=`connecting`,h,g,_,v,y=!1,b=[],x=[],S=[];function C(e){m!==e&&(m=e,d.emit(`status:updated`,e))}let w=Wo({isConnected:()=>m===`connected`,callEvent:(e,t)=>D(e,No(s,t)),call:(e,t)=>O(e,No(s,t))}),T=Lo(s);for(let[e,t]of Object.entries(w.handlers))T.registerInternal(e,t);function E(e,t){h?.rpc.$callRaw({method:e,args:t,event:!0,optional:!0}).catch(()=>{})}function D(e,n){m!==`closed`&&(m===`connected`&&h?E(e,n):(x.length>=r&&(x.shift(),y||(y=!0,console.warn(`[devframe] in-page channel "${t}": event buffer overflowed while connecting, so the oldest events are being dropped (limit ${r})`))),x.push({method:e,args:n})))}function O(e,r){return m===`closed`?Promise.reject(new $(`closed`,`in-page channel "${t}": call "${e}" rejected because the channel is closed`)):Ho(new Promise((t,n)=>{let i=()=>{h.rpc.$call(e,...r).then(e=>t(Po(s,e)),n)};m===`connected`&&h?i():b.push({run:i,reject:n})}),n,()=>`in-page channel "${t}": call "${e}" timed out after ${n}ms (status: ${m}${m===`connecting`?`; is the page script loaded?`:``})`)}function k(e,t){h?.dispose({bye:!0,reason:`the panel adopted a newer port`}),h=Vo(e,{resolveLocal:e=>Ro(e,[T.resolve,f.resolve]),onControl:e=>{e===`ping`&&h?.postControl(`pong`)},onPeerClosed:()=>A(`the page script went away`)}),g=t,ee(),C(`connected`),o&&(v=setInterval(()=>{h&&(Date.now()-h.lastActivity>o.timeoutMs?A(`the page script went silent (heartbeat timeout)`):h.postControl(`ping`))},o.intervalMs));for(let e of b.splice(0))e.run();for(let{method:e,args:t}of x.splice(0))E(e,t);w.resubscribe();for(let e of S.splice(0))e.resolve()}function ee(){_&&=(clearTimeout(_),void 0),v&&=(clearInterval(v),void 0)}function A(e){m!==`closed`&&(h?.dispose({reason:e}),h=void 0,g=void 0,ee(),C(`connecting`),u?te():Eo(`in-page channel "${t}": transport lost (${e}) and the panel has no handshake targets, so it stays disconnected`))}function te(){if(_||!u||m!==`connecting`)return;let n=e.helloIntervalMs??Go,r=()=>{let i={channel:vo,v:2,kind:`hello`,name:t,panelId:c,instanceId:e.instanceId};for(let e of l)for(let t of a)try{e.postMessage(i,t)}catch{}n=Math.min(n*1.5,Ko),_=setTimeout(r,n)};r()}let j=n=>{if(m===`closed`)return;let r=n.data;if(!bo(r)||r.kind!==`grant`||r.name!==t||r.panelId!==c)return;if(r.v!==2){Eo(`in-page channel "${t}": ignoring a grant with protocol version ${r.v} (this side speaks 2); align the devframe versions of the page script and the panel`);return}if(!a.includes(`*`)&&!a.includes(n.origin)){Eo(`in-page channel "${t}": ignoring a grant from disallowed origin "${n.origin}"`);return}if(e.instanceId&&r.instanceId!==e.instanceId)return;let i=n.ports?.[0];i&&k(i,{instanceId:r.instanceId})};return i?.addEventListener(`message`,j),e.transport?k(e.transport):u?te():Eo(`in-page channel "${t}": the panel has no handshake targets (not embedded, no opener) and no transport, so calls will buffer until a transport appears or the channel is closed`),{name:t,get status(){return m},get pageScript(){return g},events:{on:d.on,once:d.once},whenConnected:e=>m===`connected`?Promise.resolve():m===`closed`?Promise.reject(new $(`closed`,`in-page channel "${t}" is closed`)):new Promise((n,r)=>{let i={resolve:n,reject:r};S.push(i),e!==void 0&&e>0&&setTimeout(()=>{let n=S.indexOf(i);n>=0&&(S.splice(n,1),r(new $(`timeout`,`in-page channel "${t}": no page script answered within ${e}ms; it may not be loaded in this context (render a fallback state)`)))},e)}),call:(e,...t)=>O(Fo(`function`,e),No(s,t)),emit:(e,...t)=>D(Fo(`event`,e),No(s,t)),on:(e,t)=>f.on(e,t),sharedState:w,close:()=>{if(m===`closed`)return;C(`closed`),p(),ee(),i?.removeEventListener(`message`,j),h?.dispose({bye:!0,reason:`the panel closed the channel`}),h=void 0,g=void 0;let e=new $(`closed`,`in-page channel "${t}" was closed`);for(let t of b.splice(0))t.reject(e);x.length=0;for(let t of S.splice(0))t.reject(e)}}}function Yo(){let[e,t]=y(null),[n,r]=y(!1),[i,a]=y(!1),o=Jo({name:da,functions:{},events:{}});return o.events.on(`status:updated`,e=>r(e===`connected`)),o.sharedState.get(`state`).then(e=>{let n=e=>{a(!1),t({...e})};n(e.value()),e.on(`updated`,e=>n(e))}),D(()=>o.close()),{state:e,pageScriptReady:n,scanning:()=>e()?.scanning||i(),activeRoute:()=>e()?.activeRoute??null,preview:e=>o.emit(`highlight`,e.id,e.target),clearPreview:()=>o.emit(`clear-highlight`),setPins:e=>o.emit(`set-pins`,e),rescan:()=>{a(!0),o.emit(`rescan`)},sendConfig:e=>o.emit(`set-config`,e),setAutoScan:e=>o.emit(`set-autoscan`,e),clearRoute:e=>o.emit(`clear-route`,e),clearAll:()=>o.emit(`clear-all`)}}function Xo(){let[e,t]=y(null),[n,r]=y(null),[i,a]=y(null),[o,s]=y(null);return la().then(async e=>{t(e.connectionMeta.backend),r(e.status),e.events.on(`connection:status`,e=>r(e));try{await e.ensureTrusted(2e3)}catch{}let n=e.callOptional,i=await n(`devframes:plugin:a11y:get-config`);i&&a(i);try{let t=await e.sharedState.get(fa,{initialValue:{activation:null}}),n=e=>{e?.activation&&s({...e.activation})};n(t.value()),t.on(`updated`,n)}catch{}}).catch(()=>{r(`error`)}),{backend:e,status:n,config:i,activation:o}}var Zo=L(`<div class="flex flex-col h-full min-h-0 bg-base color-base font-sans"><p class=sr-only aria-live=polite></p><div id=a11y-scroll class="a11y-scroll flex-1 min-h-0 overflow-y-auto px-4 pb-5">`),Qo=`<script type="module" src="…/inject.js"><\/script>`,$o=`devframes:plugin:a11y:autoscan`,es=(e,t)=>`${e}::${t}`;function ts(e,t){return{nodeId:t.id,target:t.target,impact:e.impact,ruleId:e.ruleId}}function ns(){let e=Yo(),t=Xo(),[n,r]=y(null),[i,a]=y(!0),[o,s]=y(new Set),[c,l]=y(new Set),[u,d]=y(new Set),[f,p]=y(!1),[m,h]=y(null),g=(()=>{try{return sessionStorage.getItem($o)}catch{return null}})(),[_,v]=y(g==null||g===`1`),b=()=>e.state()?.routes??[],w=()=>e.activeRoute(),E=S(()=>b().find(e=>e.route===w())??null),D=()=>e.state()?.engine,O=e=>i()||!e.bestPractice,k=e=>n()===null||e.impact===n(),ee=S(()=>{let e=ma();for(let t of b())for(let n of t.violations)O(n)&&(e[n.impact]+=n.nodes.length);return e}),A=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).reduce((e,t)=>e+t.nodes.length,0),0)),te=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).length,0)),j=S(()=>{let e=b().map(e=>({report:e,active:e.route===w(),violations:e.violations.filter(e=>O(e)&&k(e))})).filter(e=>e.violations.length>0);return e.sort((e,t)=>Number(t.active)-Number(e.active)),e}),ne=S(()=>j().reduce((e,t)=>e+t.violations.length,0)),re=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).length,0)),ie=S(()=>{let e=new Set;for(let t of b())o().has(t.route)||e.add(t.route);return e}),ae=S(()=>{let e=u(),t=[];for(let n of b())for(let r of n.violations)if(e.has(es(n.route,r.ruleId)))for(let e of r.nodes)t.push(ts(r,e));return t}),oe=e=>{let t=[];for(let n of b())for(let r of n.violations)if(O(r)&&r.impact===e)for(let e of r.nodes)t.push(ts(r,e));return t},M=S(()=>{let e=u(),t=[];for(let n of b())for(let r of n.violations)e.has(es(n.route,r.ruleId))&&t.push({route:n.route,url:n.url,violation:r});return t}),N=S(()=>j().flatMap(e=>e.violations.map(t=>es(e.report.route,t.ruleId)))),se=S(()=>{let e=N();return e.length>0&&e.every(e=>u().has(e))});function ce(){let e=N();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.add(t);return n})}function le(){let e=N();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.has(t)?n.delete(t):n.add(t);return n})}function ue(){d(new Set)}let de={isSelected:(e,t)=>u().has(es(e,t)),toggle:(e,t)=>{let n=es(e,t);d(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},numberOf:e=>{let t=ae().findIndex(t=>t.nodeId===e);return t===-1?null:t+1}},fe=!1;x(()=>{let n=t.config();n&&(e.sendConfig(n.pageScript),!fe&&g==null&&(fe=!0,v(n.pageScript.autoScan)))}),x(T(_,t=>{e.setAutoScan(t);try{sessionStorage.setItem($o,t?`1`:`0`)}catch{}})),x(()=>{let e=w();e&&s(t=>t.has(e)?t:new Set(t).add(e))}),x(()=>{let t=m();e.setPins(t?oe(t):ae())});let P=new Set;x(()=>{let e=t.config(),n=E();e?.defaultHighlight&&n&&!P.has(n.route)&&(P.add(n.route),d(e=>{let t=new Set(e);for(let e of n.violations)t.add(es(n.route,e.ruleId));return t}))}),x(T(t.activation,e=>{if(!e)return;let n=t.config();if(n&&e.dockId!==n.dockId)return;let r=e.params??{},i=typeof r.route==`string`?r.route:void 0,a=typeof r.ruleId==`string`?r.ruleId:void 0;r.tab===`dashboard`||!i?document.querySelector(`#a11y-scroll`)?.scrollTo({top:0,behavior:`smooth`}):(C(()=>{s(e=>new Set(e).add(i)),a&&(l(e=>new Set(e).add(`${i}::${a}`)),d(e=>new Set(e).add(es(i,a))))}),a&&setTimeout(()=>document.getElementById(qa(i,a))?.scrollIntoView({block:`center`,behavior:`smooth`}),60))},{defer:!0}));function pe(e){r(t=>t===e?null:e)}function me(e){s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function he(e,t){let n=`${e}::${t}`;l(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})}let ge=()=>e.state()?`${A()} accessibility ${A()===1?`issue`:`issues`} found across ${b().length} ${b().length===1?`route`:`routes`}`:e.scanning()?`Scanning the page`:``;return(()=>{var r=Zo(),o=r.firstChild,s=o.nextSibling;return B(r,F(ja,{get pageScriptReady(){return e.pageScriptReady()},get scanning(){return e.scanning()},get selectedCount(){return M().length},onGenerate:()=>p(!0),get onRescan(){return e.rescan}}),o),B(r,F(Ia,{get url(){return E()?.url},get engine(){return D()},get backend(){return t.backend},get status(){return t.status}}),o),B(o,ge),B(s,F(Ce,{get children(){return[F(we,{get when(){return Te(()=>!e.state())()&&!e.pageScriptReady()},get children(){return F(_a,{icon:`i-ph-plugs-duotone text-4xl`,title:`No page connected`,body:`Load the inspector page script in the app you want to check, then this panel will list its accessibility issues live.`,code:Qo})}}),F(we,{get when(){return!e.state()},get children(){return F(_a,{icon:`i-ph-plugs-duotone text-4xl`,title:`Scanning the page…`,body:`Running axe-core against the connected document.`})}}),F(we,{get when(){return re()===0},get children(){return F(_a,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`No violations`,body:`axe-core found nothing to flag across the tracked routes. Re-run after changes to keep it that way.`})}}),F(we,{get when(){return re()>0},get children(){return[F(Ka,{get counts(){return ee()},get filter(){return n()},onToggleFilter:pe,onHoverImpact:h,get totalNodes(){return A()},get totalRules(){return te()},get routeCount(){return b().length},get selectedCount(){return M().length},get allSelected(){return se()},onSelectAll:ce,onInvertSelection:le,onClearSelection:ue,get autoScan(){return _()},onToggleAutoScan:v,get showBestPractice(){return i()},onToggleBestPractice:a,get onClearAll(){return e.clearAll}}),F(I,{get when(){return ne()>0},get fallback(){return F(_a,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`Nothing matches the filter`,get body(){return[Te(re),` `,Te(()=>re()===1?`rule`:`rules`),` at other severities. Clear the filter to see them.`]}})},get children(){return F(co,{get groups(){return j()},get collapsedRoutes(){return ie()},onToggleGroup:me,get onClearRoute(){return e.clearRoute},get expandedRules(){return c()},onToggleRule:he,channel:e,selection:de})}})]}})]}})),B(r,F(I,{get when(){return Te(()=>!!f())()&&M().length>0},get children(){return F(Oa,{get items(){return M()},onClose:()=>p(!1)})}}),null),r})()}var rs=window.matchMedia(`(prefers-color-scheme: dark)`);function is(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}is(rs.matches),rs.addEventListener(`change`,e=>is(e.matches));var as=document.getElementById(`app`);if(!as)throw Error(`#app mount node missing from index.html`);Oe(()=>F(ns,{}),as),ua();export{go as n,G as r,ho as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-backdrop-blur:initial;--un-backdrop-brightness:initial;--un-backdrop-contrast:initial;--un-backdrop-grayscale:initial;--un-backdrop-hue-rotate:initial;--un-backdrop-invert:initial;--un-backdrop-opacity:initial;--un-backdrop-saturate:initial;--un-backdrop-sepia:initial;--un-bg-opacity:100%;--un-blur:initial;--un-border-opacity:100%;--un-brightness:initial;--un-contrast:initial;--un-drop-shadow:initial;--un-grayscale:initial;--un-hue-rotate:initial;--un-inset-ring-color:initial;--un-inset-ring-shadow:0 0 #0000;--un-inset-shadow:0 0 #0000;--un-inset-shadow-color:initial;--un-invert:initial;--un-leading:initial;--un-numeric-figure:initial;--un-numeric-fraction:initial;--un-numeric-spacing:initial;--un-ordinal:initial;--un-outline-style:solid;--un-ring-color:initial;--un-ring-inset:initial;--un-ring-offset-color:initial;--un-ring-offset-shadow:0 0 #0000;--un-ring-offset-width:0px;--un-ring-opacity:100%;--un-ring-shadow:0 0 #0000;--un-saturate:initial;--un-sepia:initial;--un-shadow:0 0 #0000;--un-shadow-color:initial;--un-slashed-zero:initial;--un-text-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}@property --un-blur{syntax:"*";inherits:false}@property --un-brightness{syntax:"*";inherits:false}@property --un-contrast{syntax:"*";inherits:false}@property --un-drop-shadow{syntax:"*";inherits:false}@property --un-grayscale{syntax:"*";inherits:false}@property --un-hue-rotate{syntax:"*";inherits:false}@property --un-invert{syntax:"*";inherits:false}@property --un-saturate{syntax:"*";inherits:false}@property --un-sepia{syntax:"*";inherits:false}@property --un-numeric-figure{syntax:"*";inherits:false}@property --un-numeric-fraction{syntax:"*";inherits:false}@property --un-numeric-spacing{syntax:"*";inherits:false}@property --un-ordinal{syntax:"*";inherits:false}@property --un-slashed-zero{syntax:"*";inherits:false}:root,:host{--colors-amber-300:oklch(87.9% .169 91.605);--colors-amber-400:oklch(82.8% .189 84.429);--colors-amber-500:oklch(76.9% .188 70.08);--colors-amber-600:oklch(66.6% .179 58.318);--colors-amber-700:oklch(55.5% .163 48.998);--colors-black:#000;--colors-blue-300:oklch(80.9% .105 251.813);--colors-blue-400:oklch(70.7% .165 254.624);--colors-blue-600:oklch(54.6% .245 262.881);--colors-blue-700:oklch(48.8% .243 264.376);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-error-DEFAULT:#f63d68;--colors-green-300:oklch(87.1% .15 154.449);--colors-green-400:oklch(79.2% .209 151.711);--colors-green-600:oklch(62.7% .194 149.214);--colors-green-700:oklch(52.7% .154 150.069);--colors-neutral-200:oklch(92.2% 0 0);--colors-neutral-400:oklch(70.8% 0 0);--colors-neutral-500:oklch(55.6% 0 0);--colors-neutral-600:oklch(43.9% 0 0);--colors-neutral-800:oklch(26.9% 0 0);--colors-orange-300:oklch(83.7% .128 66.29);--colors-orange-400:oklch(75% .183 55.934);--colors-orange-600:oklch(64.6% .222 41.116);--colors-orange-700:oklch(55.3% .195 38.402);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--colors-primary-500:#578861;--colors-primary-600:#40704b;--colors-red-300:oklch(80.8% .114 19.571);--colors-red-400:oklch(70.4% .191 22.216);--colors-red-600:oklch(57.7% .245 27.325);--colors-red-700:oklch(50.5% .213 27.518);--colors-rose-300:oklch(81% .117 11.638);--colors-rose-400:oklch(71.2% .194 13.428);--colors-rose-600:oklch(58.6% .253 17.585);--colors-rose-700:oklch(51.4% .222 16.935);--colors-sky-300:oklch(82.8% .111 230.318);--colors-sky-400:oklch(74.6% .16 232.661);--colors-sky-600:oklch(58.8% .158 241.966);--colors-sky-700:oklch(50% .134 242.749);--colors-success-DEFAULT:#12b76a;--colors-teal-300:oklch(85.5% .138 181.071);--colors-teal-400:oklch(77.7% .152 181.912);--colors-teal-600:oklch(60% .118 184.704);--colors-teal-700:oklch(51.1% .096 186.391);--colors-violet-300:oklch(81.1% .111 293.571);--colors-violet-400:oklch(70.2% .183 293.541);--colors-violet-600:oklch(54.1% .281 293.009);--colors-violet-700:oklch(49.1% .27 292.581);--colors-warning-DEFAULT:#f79009;--colors-white:#fff;--container-sm:24rem;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono);--default-transition-duration:.15s;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--fontWeight-bold:700;--fontWeight-medium:500;--fontWeight-semibold:600;--leading-none:1;--leading-relaxed:1.625;--leading-snug:1.375;--radius-DEFAULT:.25rem;--radius-lg:.5rem;--radius-md:.375rem;--radius-xl:.75rem;--spacing:.25rem;--text-4xl-fontSize:2.25rem;--text-4xl-lineHeight:2.5rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--tracking-wide:.025em}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}*,:before,:after{border-color:#8882}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-caret-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m181.66 133.66l-80 80a8 8 0 0 1-11.32-11.32L164.69 128L90.34 53.66a8 8 0 0 1 11.32-11.32l80 80a8 8 0 0 1 0 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-square-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M224 48v160a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 160V48H48v160z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-copy{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-lock-key-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M208 88H48a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h160a8 8 0 0 0 8-8V96a8 8 0 0 0-8-8m-80 72a20 20 0 1 1 20-20a20 20 0 0 1-20 20' opacity='.2'/%3E%3Cpath d='M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-80-96a28 28 0 0 0-8 54.83V184a8 8 0 0 0 16 0v-17.17a28 28 0 0 0-8-54.83m0 40a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-person-simple-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88M112 80a16 16 0 1 1 16 16a16 16 0 0 1-16-16m72 32a8 8 0 0 1-8 8h-40v13.58l30.66 46a8 8 0 0 1-13.32 8.88l-25.34-38l-25.34 38a8 8 0 1 1-13.32-8.88l30.66-46V120H80a8 8 0 0 1 0-16h96a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-connected-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m185 127l-58 58a24 24 0 0 1-33.94 0L71 162.91A24 24 0 0 1 71 129l58-58a24 24 0 0 1 33.94 0L185 93.09a24 24 0 0 1 0 33.91' opacity='.2'/%3E%3Cpath d='M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32.06 32.06 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32m-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.63ZM88.57 35a8 8 0 0 1 14.86-6l8 20a8 8 0 0 1-14.86 6Zm-64 58A8 8 0 0 1 35 88.57l20 8a8 8 0 0 1-6 14.86l-20-8A8 8 0 0 1 24.57 93m206.86 70a8 8 0 0 1-10.4 4.46l-20-8a8 8 0 1 1 5.97-14.89l20 8a8 8 0 0 1 4.43 10.43m-64 58.06a8 8 0 0 1-14.86 5.94l-8-20a8 8 0 0 1 14.86-6Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m76 124l56 56l-29 29a24 24 0 0 1-33.94 0L47 186.91A24 24 0 0 1 47 153Zm133-54.91L186.91 47A24 24 0 0 0 153 47l-29 29l56 56l29-29a24 24 0 0 0 0-33.91' opacity='.2'/%3E%3Cpath d='M149.66 138.34a8 8 0 0 0-11.32 0L120 156.69L99.31 136l18.35-18.34a8 8 0 0 0-11.32-11.32L88 124.69l-18.34-18.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-28.41 28.4a8 8 0 0 0 11.32 11.32l28.4-28.41l5.37 5.38a32 32 0 0 0 45.26 0L132 191.31l6.34 6.35a8 8 0 0 0 11.32-11.32L131.31 168l18.35-18.34a8 8 0 0 0 0-11.32m-52.29 65a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L76 135.31L120.69 180Zm140.29-185a8 8 0 0 0-11.32 0l-28.4 28.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L124 64.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l80 80a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l28.41-28.4a8 8 0 0 0 0-11.32m-34.35 79L180 120.69L135.31 76l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-selection-inverse-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-2.34 5.66L42.34 42.34A8 8 0 0 1 48 40h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M152 216a8 8 0 0 1-8 8h-32a8 8 0 0 1 0-16h32a8 8 0 0 1 8 8M40 152a8 8 0 0 0 8-8v-32a8 8 0 0 0-16 0v32a8 8 0 0 0 8 8m32 56H48v-24a8 8 0 0 0-16 0v24a16 16 0 0 0 16 16h24a8 8 0 0 0 0-16M224 48v160a16 16 0 0 1-16 16h-24a8 8 0 0 1 0-16h12.69L48 59.31V72a8 8 0 0 1-16 0V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 0H59.31L208 196.69Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-sparkle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m194.82 151.43l-55.09 20.3l-20.3 55.09a7.92 7.92 0 0 1-14.86 0l-20.3-55.09l-55.09-20.3a7.92 7.92 0 0 1 0-14.86l55.09-20.3l20.3-55.09a7.92 7.92 0 0 1 14.86 0l20.3 55.09l55.09 20.3a7.92 7.92 0 0 1 0 14.86' opacity='.2'/%3E%3Cpath d='M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-trash-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M200 56v152a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V56Z' opacity='.2'/%3E%3Cpath d='M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16M96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0m48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-warning-octagon-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 91.55v72.9a8 8 0 0 1-2.34 5.66l-51.55 51.55a8 8 0 0 1-5.66 2.34h-72.9a8 8 0 0 1-5.66-2.34l-51.55-51.55a8 8 0 0 1-2.34-5.66v-72.9a8 8 0 0 1 2.34-5.66l51.55-51.55A8 8 0 0 1 91.55 32h72.9a8 8 0 0 1 5.66 2.34l51.55 51.55a8 8 0 0 1 2.34 5.66' opacity='.2'/%3E%3Cpath d='M120 136V80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0m112-44.45v72.9a15.86 15.86 0 0 1-4.69 11.31l-51.55 51.55a15.86 15.86 0 0 1-11.31 4.69h-72.9a15.86 15.86 0 0 1-11.31-4.69l-51.55-51.55A15.86 15.86 0 0 1 24 164.45v-72.9a15.86 15.86 0 0 1 4.69-11.31l51.55-51.55A15.86 15.86 0 0 1 91.55 24h72.9a15.86 15.86 0 0 1 11.31 4.69l51.55 51.55A15.86 15.86 0 0 1 232 91.55m-16 0L164.45 40h-72.9L40 91.55v72.9L91.55 216h72.9L216 164.45ZM128 160a12 12 0 1 0 12 12a12 12 0 0 0-12-12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-width:1px;border-color:#0000;outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.border-base\!{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)!important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent)}.bg-active{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}.bg-secondary{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.dark .bg-secondary{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-active:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.hover\:bg-hover:hover{background-color:color-mix(in oklab, #99999915 var(--un-bg-opacity), transparent)}.dark .hover\:bg-secondary:hover{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-secondary:hover{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #99999915 var(--un-bg-opacity), transparent);opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.h-nav{height:calc(var(--spacing) * 10)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.z-modal-backdrop{z-index:60}.z-modal-content{z-index:70}.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-4xl{font-size:var(--text-4xl-fontSize);line-height:var(--un-leading,var(--text-4xl-lineHeight))}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading,var(--text-lg-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[15px\]{font-size:15px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-amber-500{color:color-mix(in srgb, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in srgb, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.color-\[var\(--impact\)\]{color:var(--impact)}.leading-none{--un-leading:var(--leading-none);line-height:var(--leading-none)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--un-leading:var(--leading-snug);line-height:var(--leading-snug)}.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold)}.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.m-0{margin:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.me{margin-inline-end:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.ms{margin-inline-start:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-\[7px\]{padding-block:7px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-px{padding-block:1px}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pr{padding-right:calc(var(--spacing) * 4)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.list-none{list-style-type:none}.accent-\[var\(--impact\)\]{accent-color:var(--impact)}.\!b{border-width:1px!important}.b,.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[color\:var\(--impact\)\]\!{border-color:var(--impact)!important}.border-\[color\:var\(--impact\)\]\/60{border-color:color-mix(in oklab, var(--impact) 60%, transparent)}.border-2{border-width:2px}.border-amber-500\/60{border-color:color-mix(in srgb, var(--colors-amber-500) 60%, transparent)}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in srgb, var(--colors-primary-500) 45%, transparent)}.border-transparent{border-color:#0000}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in srgb, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 50%, transparent)}.border-l-\[color\:var\(--impact\)\]{border-left-color:var(--impact)}.border-l-3{border-left-width:3px}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-\[\#8881\]{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.bg-\[color-mix\(in_srgb\,var\(--impact\)_16\%\,transparent\)\]\!{background-color:color-mix(in srgb,var(--impact) 16%,transparent)!important}.bg-\[color-mix\(in_srgb\,var\(--impact\)_8\%\,transparent\)\]\!{background-color:color-mix(in srgb,var(--impact) 8%,transparent)!important}.bg-black\/40{background-color:color-mix(in srgb, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in srgb, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500,.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in srgb, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in srgb, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.op100\!{opacity:1!important}.op75{opacity:.75}.opacity-0{opacity:0}.hover\:op100:hover{opacity:1}.disabled\:op-40:disabled{opacity:.4}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.grid{display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.size-\[15px\]{width:15px;height:15px}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-4,.h4{height:calc(var(--spacing) * 4)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h1{height:calc(var(--spacing) * 1)}.h2{height:calc(var(--spacing) * 2)}.h3{height:calc(var(--spacing) * 3)}.h5{height:calc(var(--spacing) * 5)}.h6{height:calc(var(--spacing) * 6)}.max-h-full{max-height:100%}.max-w-\[38ch\]{max-width:38ch}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-60{min-height:calc(var(--spacing) * 60)}.min-w-\[17px\]{min-width:17px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.w-\[min\(680px\,100\%\)\]{width:min(680px,100%)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.w-max{width:max-content}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.disabled\:cursor-default:disabled{cursor:default}.cursor-pointer{cursor:pointer}.pointer-events-none,.disabled\:pointer-events-none:disabled{pointer-events:none}.resize-none{resize:none}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.ws-break-spaces{white-space:break-spaces}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.has-\[\:focus-visible\]\:ring-2:has(:focus-visible){--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow,.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-2xl{--un-shadow:0 25px 50px -12px var(--un-shadow-color,#00000040);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-lg{--un-shadow:0 10px 15px -3px var(--un-shadow-color,#0000001a),0 4px 6px -4px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.hover\:shadow-md:hover{--un-shadow:0 4px 6px -1px var(--un-shadow-color,#0000001a),0 2px 4px -2px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.peer:checked~.peer-checked\:translate-x-3\.5{--un-translate-x:calc(var(--spacing) * 3.5);translate:var(--un-translate-x) var(--un-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-center{align-self:center}.inset-0{inset:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.justify-center{justify-content:center}.place-items-center{place-items:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.h-svh{height:100svh}.backdrop-blur-sm{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,)}.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.table{display:table}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal,) var(--un-slashed-zero,) var(--un-numeric-figure,) var(--un-numeric-spacing,) var(--un-numeric-fraction,)}@supports (color:color-mix(in lab, red, red)){.text-amber-500{color:color-mix(in oklab, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in oklab, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.border-amber-500\/60{border-color:color-mix(in oklab, var(--colors-amber-500) 60%, transparent)}.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in oklab, var(--colors-primary-500) 45%, transparent)}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in oklab, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 50%, transparent)}.bg-black\/40{background-color:color-mix(in oklab, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in oklab, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in oklab, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in oklab, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark .dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.dark .dark{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}html.light .light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.light .light{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}}html,body{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html,body{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}.dark html,.dark body{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){.dark html,.dark body{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.vue-afloat{--vue-afloat-background:#fff;--vue-afloat-color:oklch(26.9% 0 0);--vue-afloat-border-color:#99999921;--vue-afloat-border-radius:.375rem;--vue-afloat-box-shadow:0 4px 16px #0000001f;--vue-afloat-padding:4px 8px}.dark .vue-afloat{--vue-afloat-background:#111101;--vue-afloat-color:oklch(92.2% 0 0)}.vue-afloat-dropdown{--vue-afloat-padding:4px}.vue-afloat-menu{--vue-afloat-background:#ffffffbf;--vue-afloat-backdrop-blur:8px}.dark .vue-afloat-menu{--vue-afloat-background:#111101;--vue-afloat-color:oklch(92.2% 0 0)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent);transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent)}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%}body{-webkit-font-smoothing:antialiased}.a11y-scroll::-webkit-scrollbar{width:10px}.a11y-scroll::-webkit-scrollbar-thumb{background:#80808047 padding-box padding-box;border:3px solid #0000;border-radius:8px}.a11y-scroll::-webkit-scrollbar-thumb:hover{background:#80808073 padding-box padding-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root,:host,.devframes-accent-scope{--devframe-primary-DEFAULT:var(--devframe-primary);--devframe-primary-600:color-mix(in oklab, var(--devframe-primary), white 9%);--devframe-primary-500:color-mix(in oklab, var(--devframe-primary), white 18%);--devframe-primary-400:color-mix(in oklab, var(--devframe-primary), white 34%);--devframe-primary-300:color-mix(in oklab, var(--devframe-primary), white 54%);--colors-primary-DEFAULT:var(--devframe-primary-DEFAULT,#3a6a45);--colors-primary-600:var(--devframe-primary-600,#40704b);--colors-primary-500:var(--devframe-primary-500,#578861);--colors-primary-400:var(--devframe-primary-400,#75a67e);--colors-primary-300:var(--devframe-primary-300,#93c69d)}
|
package/dist/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
6
6
|
<base href="./" />
|
|
7
7
|
<title>A11y Inspector</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-BnKcKk_0.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index-ql8Rx57O.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devframes/plugin-a11y--assets",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.5",
|
|
5
5
|
"description": "Prebuilt browser assets (SPA) for @devframes/plugin-a11y, served on demand through devframe's remote-assets back-proxy.",
|
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-bg-opacity:100%;--un-border-opacity:100%;--un-leading:initial;--un-ring-opacity:100%;--un-text-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}@property --un-blur{syntax:"*";inherits:false}@property --un-brightness{syntax:"*";inherits:false}@property --un-contrast{syntax:"*";inherits:false}@property --un-drop-shadow{syntax:"*";inherits:false}@property --un-grayscale{syntax:"*";inherits:false}@property --un-hue-rotate{syntax:"*";inherits:false}@property --un-invert{syntax:"*";inherits:false}@property --un-saturate{syntax:"*";inherits:false}@property --un-sepia{syntax:"*";inherits:false}@property --un-numeric-figure{syntax:"*";inherits:false}@property --un-numeric-fraction{syntax:"*";inherits:false}@property --un-numeric-spacing{syntax:"*";inherits:false}@property --un-ordinal{syntax:"*";inherits:false}@property --un-slashed-zero{syntax:"*";inherits:false}:root,:host{--colors-neutral-200:oklch(92.2% 0 0);--colors-neutral-800:oklch(26.9% 0 0);--colors-white:#fff;--spacing:.25rem;--radius-DEFAULT:.25rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--radius-lg:.5rem;--radius-md:.375rem;--fontWeight-semibold:600;--fontWeight-medium:500;--container-sm:24rem;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-xl:.75rem;--colors-black:#000;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--leading-relaxed:1.625;--fontWeight-bold:700;--colors-error-DEFAULT:#f63d68;--colors-neutral-400:oklch(70.8% 0 0);--colors-warning-DEFAULT:#f79009;--colors-success-DEFAULT:#12b76a;--colors-primary-500:#578861;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-4xl-fontSize:2.25rem;--text-4xl-lineHeight:2.5rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--leading-none:1;--colors-blue-400:oklch(70.7% .165 254.624);--colors-amber-400:oklch(82.8% .189 84.429);--colors-green-400:oklch(79.2% .209 151.711);--colors-red-400:oklch(70.4% .191 22.216);--colors-sky-400:oklch(74.6% .16 232.661);--colors-violet-400:oklch(70.2% .183 293.541);--colors-rose-400:oklch(71.2% .194 13.428);--colors-teal-400:oklch(77.7% .152 181.912);--colors-orange-400:oklch(75% .183 55.934);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-blue-700:oklch(48.8% .243 264.376);--colors-blue-600:oklch(54.6% .245 262.881);--colors-amber-700:oklch(55.5% .163 48.998);--colors-amber-600:oklch(66.6% .179 58.318);--colors-green-700:oklch(52.7% .154 150.069);--colors-green-600:oklch(62.7% .194 149.214);--colors-red-700:oklch(50.5% .213 27.518);--colors-red-600:oklch(57.7% .245 27.325);--colors-sky-700:oklch(50% .134 242.749);--colors-sky-600:oklch(58.8% .158 241.966);--colors-violet-700:oklch(49.1% .27 292.581);--colors-violet-600:oklch(54.1% .281 293.009);--colors-rose-700:oklch(51.4% .222 16.935);--colors-rose-600:oklch(58.6% .253 17.585);--colors-teal-700:oklch(51.1% .096 186.391);--colors-teal-600:oklch(60% .118 184.704);--colors-orange-700:oklch(55.3% .195 38.402);--colors-orange-600:oklch(64.6% .222 41.116);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-primary-600:#40704b;--colors-neutral-600:oklch(43.9% 0 0);--colors-neutral-500:oklch(55.6% 0 0);--colors-blue-300:oklch(80.9% .105 251.813);--colors-amber-300:oklch(87.9% .169 91.605);--colors-green-300:oklch(87.1% .15 154.449);--colors-red-300:oklch(80.8% .114 19.571);--colors-sky-300:oklch(82.8% .111 230.318);--colors-violet-300:oklch(81.1% .111 293.571);--colors-rose-300:oklch(81% .117 11.638);--colors-teal-300:oklch(85.5% .138 181.071);--colors-orange-300:oklch(83.7% .128 66.29);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--tracking-wide:.025em;--leading-snug:1.375;--colors-amber-500:oklch(76.9% .188 70.08);--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}*,:before,:after{border-color:#8882}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-caret-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m181.66 133.66l-80 80a8 8 0 0 1-11.32-11.32L164.69 128L90.34 53.66a8 8 0 0 1 11.32-11.32l80 80a8 8 0 0 1 0 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-square-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M224 48v160a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 160V48H48v160z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-copy{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-lock-key-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M208 88H48a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h160a8 8 0 0 0 8-8V96a8 8 0 0 0-8-8m-80 72a20 20 0 1 1 20-20a20 20 0 0 1-20 20' opacity='.2'/%3E%3Cpath d='M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-80-96a28 28 0 0 0-8 54.83V184a8 8 0 0 0 16 0v-17.17a28 28 0 0 0-8-54.83m0 40a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-person-simple-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88M112 80a16 16 0 1 1 16 16a16 16 0 0 1-16-16m72 32a8 8 0 0 1-8 8h-40v13.58l30.66 46a8 8 0 0 1-13.32 8.88l-25.34-38l-25.34 38a8 8 0 1 1-13.32-8.88l30.66-46V120H80a8 8 0 0 1 0-16h96a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-connected-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m185 127l-58 58a24 24 0 0 1-33.94 0L71 162.91A24 24 0 0 1 71 129l58-58a24 24 0 0 1 33.94 0L185 93.09a24 24 0 0 1 0 33.91' opacity='.2'/%3E%3Cpath d='M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32.06 32.06 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32m-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.63ZM88.57 35a8 8 0 0 1 14.86-6l8 20a8 8 0 0 1-14.86 6Zm-64 58A8 8 0 0 1 35 88.57l20 8a8 8 0 0 1-6 14.86l-20-8A8 8 0 0 1 24.57 93m206.86 70a8 8 0 0 1-10.4 4.46l-20-8a8 8 0 1 1 5.97-14.89l20 8a8 8 0 0 1 4.43 10.43m-64 58.06a8 8 0 0 1-14.86 5.94l-8-20a8 8 0 0 1 14.86-6Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m76 124l56 56l-29 29a24 24 0 0 1-33.94 0L47 186.91A24 24 0 0 1 47 153Zm133-54.91L186.91 47A24 24 0 0 0 153 47l-29 29l56 56l29-29a24 24 0 0 0 0-33.91' opacity='.2'/%3E%3Cpath d='M149.66 138.34a8 8 0 0 0-11.32 0L120 156.69L99.31 136l18.35-18.34a8 8 0 0 0-11.32-11.32L88 124.69l-18.34-18.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-28.41 28.4a8 8 0 0 0 11.32 11.32l28.4-28.41l5.37 5.38a32 32 0 0 0 45.26 0L132 191.31l6.34 6.35a8 8 0 0 0 11.32-11.32L131.31 168l18.35-18.34a8 8 0 0 0 0-11.32m-52.29 65a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L76 135.31L120.69 180Zm140.29-185a8 8 0 0 0-11.32 0l-28.4 28.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L124 64.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l80 80a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l28.41-28.4a8 8 0 0 0 0-11.32m-34.35 79L180 120.69L135.31 76l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-selection-inverse-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-2.34 5.66L42.34 42.34A8 8 0 0 1 48 40h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M152 216a8 8 0 0 1-8 8h-32a8 8 0 0 1 0-16h32a8 8 0 0 1 8 8M40 152a8 8 0 0 0 8-8v-32a8 8 0 0 0-16 0v32a8 8 0 0 0 8 8m32 56H48v-24a8 8 0 0 0-16 0v24a16 16 0 0 0 16 16h24a8 8 0 0 0 0-16M224 48v160a16 16 0 0 1-16 16h-24a8 8 0 0 1 0-16h12.69L48 59.31V72a8 8 0 0 1-16 0V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 0H59.31L208 196.69Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-sparkle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m194.82 151.43l-55.09 20.3l-20.3 55.09a7.92 7.92 0 0 1-14.86 0l-20.3-55.09l-55.09-20.3a7.92 7.92 0 0 1 0-14.86l55.09-20.3l20.3-55.09a7.92 7.92 0 0 1 14.86 0l20.3 55.09l55.09 20.3a7.92 7.92 0 0 1 0 14.86' opacity='.2'/%3E%3Cpath d='M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-trash-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M200 56v152a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V56Z' opacity='.2'/%3E%3Cpath d='M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16M96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0m48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-warning-octagon-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 91.55v72.9a8 8 0 0 1-2.34 5.66l-51.55 51.55a8 8 0 0 1-5.66 2.34h-72.9a8 8 0 0 1-5.66-2.34l-51.55-51.55a8 8 0 0 1-2.34-5.66v-72.9a8 8 0 0 1 2.34-5.66l51.55-51.55A8 8 0 0 1 91.55 32h72.9a8 8 0 0 1 5.66 2.34l51.55 51.55a8 8 0 0 1 2.34 5.66' opacity='.2'/%3E%3Cpath d='M120 136V80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0m112-44.45v72.9a15.86 15.86 0 0 1-4.69 11.31l-51.55 51.55a15.86 15.86 0 0 1-11.31 4.69h-72.9a15.86 15.86 0 0 1-11.31-4.69l-51.55-51.55A15.86 15.86 0 0 1 24 164.45v-72.9a15.86 15.86 0 0 1 4.69-11.31l51.55-51.55A15.86 15.86 0 0 1 91.55 24h72.9a15.86 15.86 0 0 1 11.31 4.69l51.55 51.55A15.86 15.86 0 0 1 232 91.55m-16 0L164.45 40h-72.9L40 91.55v72.9L91.55 216h72.9L216 164.45ZM128 160a12 12 0 1 0 12 12a12 12 0 0 0-12-12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-width:1px;border-color:#0000;outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.border-base\!{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)!important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent)}.bg-active{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}.bg-secondary{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.dark .bg-secondary{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-active:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.hover\:bg-hover:hover{background-color:color-mix(in oklab, #99999915 var(--un-bg-opacity), transparent)}.dark .hover\:bg-secondary:hover{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-secondary:hover{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #99999915 var(--un-bg-opacity), transparent);opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.h-nav{height:calc(var(--spacing) * 10)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.z-modal-backdrop{z-index:60}.z-modal-content{z-index:70}.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-4xl{font-size:var(--text-4xl-fontSize);line-height:var(--un-leading,var(--text-4xl-lineHeight))}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading,var(--text-lg-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[15px\]{font-size:15px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-amber-500{color:color-mix(in srgb, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in srgb, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.color-\[var\(--impact\)\]{color:var(--impact)}.leading-none{--un-leading:var(--leading-none);line-height:var(--leading-none)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--un-leading:var(--leading-snug);line-height:var(--leading-snug)}.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold)}.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.m-0{margin:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.me{margin-inline-end:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.ms{margin-inline-start:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-\[7px\]{padding-block:7px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-px{padding-block:1px}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pr{padding-right:calc(var(--spacing) * 4)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.list-none{list-style-type:none}.accent-\[var\(--impact\)\]{accent-color:var(--impact)}.\!b{border-width:1px!important}.b,.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[color\:var\(--impact\)\]\!{border-color:var(--impact)!important}.border-\[color\:var\(--impact\)\]\/60{border-color:color-mix(in oklab, var(--impact) 60%, transparent)}.border-2{border-width:2px}.border-amber-500\/60{border-color:color-mix(in srgb, var(--colors-amber-500) 60%, transparent)}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in srgb, var(--colors-primary-500) 45%, transparent)}.border-transparent{border-color:#0000}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in srgb, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 50%, transparent)}.border-l-\[color\:var\(--impact\)\]{border-left-color:var(--impact)}.border-l-3{border-left-width:3px}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-\[\#8881\]{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.bg-\[color-mix\(in_srgb\,var\(--impact\)_16\%\,transparent\)\]\!{background-color:color-mix(in srgb,var(--impact) 16%,transparent)!important}.bg-\[color-mix\(in_srgb\,var\(--impact\)_8\%\,transparent\)\]\!{background-color:color-mix(in srgb,var(--impact) 8%,transparent)!important}.bg-black\/40{background-color:color-mix(in srgb, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in srgb, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500,.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in srgb, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in srgb, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.op100\!{opacity:1!important}.op75{opacity:.75}.opacity-0{opacity:0}.hover\:op100:hover{opacity:1}.disabled\:op-40:disabled{opacity:.4}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.grid{display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.size-\[15px\]{width:15px;height:15px}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-4,.h4{height:calc(var(--spacing) * 4)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h1{height:calc(var(--spacing) * 1)}.h2{height:calc(var(--spacing) * 2)}.h3{height:calc(var(--spacing) * 3)}.h5{height:calc(var(--spacing) * 5)}.h6{height:calc(var(--spacing) * 6)}.max-h-full{max-height:100%}.max-w-\[38ch\]{max-width:38ch}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-60{min-height:calc(var(--spacing) * 60)}.min-w-\[17px\]{min-width:17px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.w-\[min\(680px\,100\%\)\]{width:min(680px,100%)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.w-max{width:max-content}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.disabled\:cursor-default:disabled{cursor:default}.cursor-pointer{cursor:pointer}.pointer-events-none,.disabled\:pointer-events-none:disabled{pointer-events:none}.resize-none{resize:none}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.ws-break-spaces{white-space:break-spaces}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.has-\[\:focus-visible\]\:ring-2:has(:focus-visible){--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow,.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-2xl{--un-shadow:0 25px 50px -12px var(--un-shadow-color,#00000040);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-lg{--un-shadow:0 10px 15px -3px var(--un-shadow-color,#0000001a),0 4px 6px -4px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.hover\:shadow-md:hover{--un-shadow:0 4px 6px -1px var(--un-shadow-color,#0000001a),0 2px 4px -2px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.peer:checked~.peer-checked\:translate-x-3\.5{--un-translate-x:calc(var(--spacing) * 3.5);translate:var(--un-translate-x) var(--un-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-center{align-self:center}.inset-0{inset:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.justify-center{justify-content:center}.place-items-center{place-items:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.h-svh{height:100svh}.backdrop-blur-sm{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,)}.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.table{display:table}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal,) var(--un-slashed-zero,) var(--un-numeric-figure,) var(--un-numeric-spacing,) var(--un-numeric-fraction,)}@supports (color:color-mix(in lab, red, red)){.text-amber-500{color:color-mix(in oklab, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in oklab, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.border-amber-500\/60{border-color:color-mix(in oklab, var(--colors-amber-500) 60%, transparent)}.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in oklab, var(--colors-primary-500) 45%, transparent)}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in oklab, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 50%, transparent)}.bg-black\/40{background-color:color-mix(in oklab, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in oklab, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in oklab, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in oklab, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark .dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.dark .dark{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}html.light .light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.light .light{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}}html,body{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html,body{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}.dark html,.dark body{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){.dark html,.dark body{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.vue-afloat{--vue-afloat-background:#fff;--vue-afloat-color:oklch(26.9% 0 0);--vue-afloat-border-color:#99999921;--vue-afloat-border-radius:.375rem;--vue-afloat-box-shadow:0 4px 16px #0000001f;--vue-afloat-padding:4px 8px}.dark .vue-afloat{--vue-afloat-background:#111101;--vue-afloat-color:oklch(92.2% 0 0)}.vue-afloat-dropdown{--vue-afloat-padding:4px}.vue-afloat-menu{--vue-afloat-background:#ffffffbf;--vue-afloat-backdrop-blur:8px}.dark .vue-afloat-menu{--vue-afloat-background:#111101;--vue-afloat-color:oklch(92.2% 0 0)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent);transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent)}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%}body{-webkit-font-smoothing:antialiased}.a11y-scroll::-webkit-scrollbar{width:10px}.a11y-scroll::-webkit-scrollbar-thumb{background:#80808047 padding-box padding-box;border:3px solid #0000;border-radius:8px}.a11y-scroll::-webkit-scrollbar-thumb:hover{background:#80808073 padding-box padding-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root,:host,.devframes-accent-scope{--devframe-primary-DEFAULT:var(--devframe-primary);--devframe-primary-600:color-mix(in oklab, var(--devframe-primary), white 9%);--devframe-primary-500:color-mix(in oklab, var(--devframe-primary), white 18%);--devframe-primary-400:color-mix(in oklab, var(--devframe-primary), white 34%);--devframe-primary-300:color-mix(in oklab, var(--devframe-primary), white 54%);--colors-primary-DEFAULT:var(--devframe-primary-DEFAULT,#3a6a45);--colors-primary-600:var(--devframe-primary-600,#40704b);--colors-primary-500:var(--devframe-primary-500,#578861);--colors-primary-400:var(--devframe-primary-400,#75a67e);--colors-primary-300:var(--devframe-primary-300,#93c69d)}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return t(this.context.count)},getNextContextId(){return t(this.context.count++)}};function t(t){let n=String(t),r=n.length-1;return e.context.id+(r?String.fromCharCode(96+r):``)+n}function n(t){e.context=t}var r=(e,t)=>e===t,i=Symbol(`solid-track`),a={equals:r},o=null,s=se,c=1,l=2,u={owned:null,cleanups:null,context:null,owner:null},d=null,f=null,p=null,m=null,h=null,g=0;function _(e,t){let n=p,r=d,i=e.length===0,a=t===void 0?r:t,o=i?u:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(v(o));d=o,p=null;try{return N(s,!0)}finally{p=n,d=r}}function v(e){return()=>w(()=>P(e))}function y(e,t){t=t?Object.assign({},a,t):a;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[j.bind(n),e=>(typeof e==`function`&&(e=f&&f.running&&f.sources.has(n)?e(n.tValue):e(n.value)),ne(n,e))]}function b(e,t,n){M(ie(e,t,!1,c))}function x(e,t,n){s=ce;let r=ie(e,t,!1,c),i=te&&ee(te);i&&(r.suspense=i),n&&n.render||(r.user=!0),h?h.push(r):M(r)}function S(e,t,n){n=n?Object.assign({},a,n):a;let r=ie(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,M(r),j.bind(r)}function C(e){return N(e,!1)}function w(e){if(p===null)return e();let t=p;p=null;try{return e()}finally{p=t}}function T(e,t,n){let r=Array.isArray(e),i,a=n&&n.defer;return n=>{let o;if(r){o=Array(e.length);for(let t=0;t<e.length;t++)o[t]=e[t]()}else o=e();if(a)return a=!1,n;let s=w(()=>t(o,i,n));return i=o,s}}function E(e){x(()=>w(e))}function D(e){return d===null||(d.cleanups===null?d.cleanups=[e]:d.cleanups.push(e)),e}var[O,k]=y(!1);function ee(e){let t;return d&&d.context&&(t=d.context[e.id])!==void 0?t:e.defaultValue}function A(e){let t=S(e),n=S(()=>he(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var te;function j(){let e=f&&f.running;if(this.sources&&(e?this.tState:this.state)){if((e?this.tState:this.state)===c)M(this);else{let e=m;m=null,N(()=>le(this),!1),m=e}}if(p){let e=this.observers;if(!e||e[e.length-1]!==p){let t=e?e.length:0;p.sources?(p.sources.push(this),p.sourceSlots.push(t)):(p.sources=[this],p.sourceSlots=[t]),e?(e.push(p),this.observerSlots.push(p.sources.length-1)):(this.observers=[p],this.observerSlots=[p.sources.length-1])}}return e&&f.sources.has(this)?this.tValue:this.value}function ne(e,t,n){let r=f&&f.running&&f.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(f){let r=f.running;(r||!n&&f.sources.has(e))&&(f.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&N(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=f&&f.running;r&&f.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?m.push(n):h.push(n),n.observers&&ue(n)),r?n.tState=c:n.state=c)}if(m.length>1e6)throw m=[],Error()},!1)}return t}function M(e){if(!e.fn)return;P(e);let t=g;re(e,f&&f.running&&f.sources.has(e)?e.tValue:e.value,t),f&&!f.running&&f.sources.has(e)&&queueMicrotask(()=>{N(()=>{f&&(f.running=!0),p=d=e,re(e,e.tValue,t),p=d=null},!1)})}function re(e,t,n){let r,i=d,a=p;p=d=e;try{r=e.fn(t)}catch(t){return e.pure&&(f&&f.running?(e.tState=c,e.tOwned&&e.tOwned.forEach(P),e.tOwned=void 0):(e.state=c,e.owned&&e.owned.forEach(P),e.owned=null)),e.updatedAt=n+1,me(t)}finally{p=a,d=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?ne(e,r,!0):f&&f.running&&e.pure?(f.sources.has(e)||(e.value=r),f.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function ie(e,t,n,r=c,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:d,context:d?d.context:null,pure:n};return f&&f.running&&(a.state=0,a.tState=r),d===null||d!==u&&(f&&f.running&&d.pure?d.tOwned?d.tOwned.push(a):d.tOwned=[a]:d.owned?d.owned.push(a):d.owned=[a]),a}function ae(e){let t=f&&f.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===l)return le(e);if(e.suspense&&w(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<g);){if(t&&f.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(f.disposed.has(t))return}if((t?e.tState:e.state)===c)M(e);else if((t?e.tState:e.state)===l){let t=m;m=null,N(()=>le(e,n[0]),!1),m=t}}}function N(e,t){if(m)return e();let n=!1;t||(m=[]),h?n=!0:h=[],g++;try{let t=e();return oe(n),t}catch(e){n||(h=null),m=null,me(e)}}function oe(e){if(m&&=(se(m),null),e)return;let t;if(f){if(!f.promises.size&&!f.queue.size){let e=f.sources,n=f.disposed;h.push.apply(h,f.effects),t=f.resolve;for(let e of h)`tState`in e&&(e.state=e.tState),delete e.tState;f=null,N(()=>{for(let e of n)P(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)P(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}k(!1)},!1)}else if(f.running){f.running=!1,f.effects.push.apply(f.effects,h),h=null,k(!0);return}}let n=h;h=null,n.length&&N(()=>s(n),!1),t&&t()}function se(e){for(let t=0;t<e.length;t++)ae(e[t])}function ce(t){let r,i=0;for(r=0;r<t.length;r++){let e=t[r];e.user?t[i++]=e:ae(e)}if(e.context){if(e.count){e.effects||=[],e.effects.push(...t.slice(0,i));return}n()}for(e.effects&&(e.done||!e.count)&&(t=[...e.effects,...t],i+=e.effects.length,delete e.effects),r=0;r<i;r++)ae(t[r])}function le(e,t){let n=f&&f.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===c?i!==t&&(!i.updatedAt||i.updatedAt<g)&&ae(i):e===l&&le(i,t)}}}function ue(e){let t=f&&f.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=l:r.state=l,r.pure?m.push(r):h.push(r),r.observers&&ue(r))}}function P(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)P(e.tOwned[t]);delete e.tOwned}if(f&&f.running&&e.pure)de(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)P(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}f&&f.running?e.tState=0:e.state=0}function de(e,t){if(t||(e.tState=0,f.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)de(e.owned[t])}function fe(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function pe(e,t,n){try{for(let n of t)n(e)}catch(e){me(e,n&&n.owner||null)}}function me(e,t=d){let n=o&&t&&t.context&&t.context[o],r=fe(e);if(!n)throw r;h?h.push({fn(){pe(r,n,t)},state:c}):pe(r,n,t)}function he(e){if(typeof e==`function`&&!e.length)return he(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=he(e[n]);if(Array.isArray(r)){if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e])}else t.push(r)}return t}return e}var ge=Symbol(`fallback`);function _e(e){for(let t=0;t<e.length;t++)e[t]()}function ve(e,t,n={}){let r=[],a=[],o=[],s=0,c=t.length>1?[]:null;return D(()=>_e(o)),()=>{let l=e()||[],u=l.length,d,f;return l[i],w(()=>{let e,t,i,m,h,g,v,y,b;if(u===0)s!==0&&(_e(o),o=[],r=[],a=[],s=0,c&&=[]),n.fallback&&(r=[ge],a[0]=_(e=>(o[0]=e,n.fallback())),s=1);else if(s===0){for(a=Array(u),f=0;f<u;f++)r[f]=l[f],a[f]=_(p);s=u}else{for(i=Array(u),m=Array(u),c&&(h=Array(u)),g=0,v=Math.min(s,u);g<v&&r[g]===l[g];g++);for(v=s-1,y=u-1;v>=g&&y>=g&&r[v]===l[y];v--,y--)i[y]=a[v],m[y]=o[v],c&&(h[y]=c[v]);for(e=new Map,t=Array(y+1),f=y;f>=g;f--)b=l[f],d=e.get(b),t[f]=d===void 0?-1:d,e.set(b,f);for(d=g;d<=v;d++)b=r[d],f=e.get(b),f!==void 0&&f!==-1?(i[f]=a[d],m[f]=o[d],c&&(h[f]=c[d]),f=t[f],e.set(b,f)):o[d]();for(f=g;f<u;f++)f in i?(a[f]=i[f],o[f]=m[f],c&&(c[f]=h[f],c[f](f))):a[f]=_(p);a=a.slice(0,s=u),r=l.slice(0)}return a});function p(e){if(o[f]=e,c){let[e,n]=y(f);return c[f]=n,t(l[f],e)}return t(l[f])}}}function F(e,t){return w(()=>e(t||{}))}var ye=e=>`Stale read from <${e}>.`;function be(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return S(ve(()=>e.each,e.children,t||void 0))}function I(e){let t=e.keyed,n=S(()=>e.when,void 0,void 0),r=t?n:S(n,void 0,{equals:(e,t)=>!e==!t});return S(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?w(()=>a(t?i:()=>{if(!w(r))throw ye(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function xe(e){let t=A(()=>e.children),n=S(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=S(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:S(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return S(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?w(()=>o(a.keyed?i():()=>{if(w(n)()?.[0]!==r)throw ye(`Match`);return i()})):o},void 0,void 0)}function Se(e){return e}var Ce=e=>S(()=>e());function we(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;)if(t[o]===n[s])o++,s++;else{for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)l&&l.has(t[o])||t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null){if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&(d=l.get(t[c]))!=null&&d===r+u;)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++}else t[o++].remove()}}}var Te=`_$DX_DELEGATE`;function Ee(e,t,n,r={}){let i;return _(r=>{i=r,t===document?e():B(t,e(),!n&&t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function L(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>w(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function De(e,t=window.document){let n=t[Te]||(t[Te]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Ne))}}function R(e,t,n){je(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function z(e,t){je(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function Oe(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];r&&r!==`undefined`&&!t[r]&&(Me(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];i&&i!==`undefined`&&n[i]!==o&&o&&(Me(e,i,!0),n[i]=o)}return n}function ke(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Ae(e,t,n){return w(()=>e(t,n))}function B(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Pe(e,t,r,n);b(r=>Pe(e,t(),r,n),r)}function je(t){return!!e.context&&!e.done&&(!t||t.isConnected)}function Me(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Ne(t){if(e.registry&&e.events&&e.events.find(([e,n])=>n===t))return;let n=t.target,r=`$$${t.type}`,i=t.target,a=t.currentTarget,o=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),s=()=>{let e=n[r];if(e&&!n.disabled){let i=n[`${r}Data`];if(i===void 0?e.call(n,t):e.call(n,i,t),t.cancelBubble)return}return n.host&&typeof n.host!=`string`&&!n.host._$host&&n.contains(t.target)&&o(n.host),!0},c=()=>{for(;s()&&(n=n._$host||n.parentNode||n.host););};Object.defineProperty(t,"currentTarget",{configurable:!0,get(){return n||document}}),e.registry&&!e.done&&(e.done=_$HY.done=!0);try{if(t.composedPath){let e=t.composedPath();o(e[0]);for(let t=0;t<e.length-2&&(n=e[t],s());t++){if(n._$host){n=n._$host,c();break}if(n.parentNode===a)break}}else c();o(i)}finally{t=n=null}}function Pe(e,t,n,r,i){let a=je(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=Le(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=Le(e,n,r)}else if(o===`function`)return b(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Pe(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(Fe(o,t,n,i))return b(()=>n=Pe(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=Le(e,n,r),s)return n}else c?n.length===0?Ie(e,o,r):we(e,n,o):(n&&Le(e),Ie(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=Le(e,n,r,t);Le(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function Fe(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(o!=null&&o!==!0&&o!==!1){if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Fe(e,o,s)||i;else if(c===`function`){if(r){for(;typeof o==`function`;)o=o();i=Fe(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0}else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}}return i}function Ie(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function Le(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var V={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,cacheInvalidate:`devframe:rpc:cache:invalidate`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},Re=`__connection.json`,ze=`__DEVFRAME_CONNECTION__`,Be=`x-birpc-session`,Ve=`__rpc-dump/index.json`,He=`devframe:services`,Ue=`devframe_otp`,We=`devframe_auth_token`;V.postMessage.remoteAssetsError;function Ge(e){return typeof e==`string`?`'${e}'`:new Ye().serialize(e)}var Ke=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,qe=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[Ke.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Je(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;i<n;i++){let n=e.charCodeAt(i),a=t.charCodeAt(i);if(n===a)continue;let o=n<128&&qe[n]?qe[n]:n+128,s=a<128&&qe[a]?qe[a]:a+128;if(o!==s)return o<s?-1:1;r===0&&(r=n>a?-1:1)}return e.length===t.length?r:e.length<t.length?-1:1}var Ye=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?Je(e,t):n===`number`&&r===`number`?e-t:Je(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(`toJSON`in e&&typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}let i=Object.keys(e).sort(Je),a=`${r}{`;for(let t=0;t<i.length;t++){let n=i[t];a+=`${n}:${this.serialize(e[n])}`,t<i.length-1&&(a+=`,`)}return a+`}`}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),Xe=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Ze=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Qe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,$e=[],et=class{_data=new tt;_hash=new tt([...Xe]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)$e[n]=e[t+n]|0;else{let e=$e[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=$e[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;$e[n]=t+$e[n-7]+i+$e[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+Ze[n]+$e[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=tt.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new tt(t,i)}},tt=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(Qe.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function nt(e){return new et().finalize(e).toBase64()}function rt(e){return nt(Ge(e))}function it(e){return rt(e)}var at=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>it(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}};function H(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var ot={blue:H(34,39),cyan:H(36,39),gray:H(90,39),green:H(32,39),red:H(31,39),yellow:H(33,39),bold:H(1,22),dim:H(2,22),reset:H(0,0),underline:H(4,24)};function st(e,...t){return typeof e==`function`?e(...t):e}var ct=Error.captureStackTrace,lt=class e extends Error{name;code;docs;fix;sources;data;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,this.data=t.data,ct?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,data:this.data,stack:this.stack}}};function ut(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function dt(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||ut(r,i),s=(e={},n={})=>{let r=new lt({code:i,why:st(a.why,e),fix:st(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:st(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function ft(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
|
|
2
|
-
`)}}var pt=ft(ot);function mt(e,{method:t=`warn`}={}){console[t](pt(e))}function ht(e){return dt({...e,reporters:[mt,...e.reporters??[]]})}var U=ht({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function gt(e){if(e.agent&&e.jsonSerializable===!1)throw U.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function _t(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function vt(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function yt(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await _t(i,n[r]);if(a.issues)throw U.DF0043({name:e,index:r,issues:vt(a.issues)})}return r}async function bt(e,t,n){if(!t)return n;let r=await _t(t,n);if(r.issues)throw U.DF0044({name:e,issues:vt(r.issues)});return n}async function xt(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function St(e,t){let n=e.handler;if(!n){let r=await xt(e,t);if(!r.handler)throw U.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await yt(e.name,r,t),o=await a(...n);return await bt(e.name,i,o)}}var Ct=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return St(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw U.DF0021({name:e.name});gt(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw U.DF0022({name:e.name});gt(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await St(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw U.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function wt(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw Et(t,`undefined`,r,e);return n}return i!==null&&Tt(i,r,e,t),n})}function Tt(e,t,n,r){if(typeof e==`bigint`)throw Et(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Et(r,`Map`,t,n);if(e instanceof Set)throw Et(r,`Set`,t,n);if(e instanceof Date)throw Et(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Et(r,e.constructor?.name??`class instance`,t,n)}function Et(e,t,n,r){let i=Dt(n,r);return U.DF0020({name:e||`<anonymous>`,type:t,path:i})}function Dt(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function Ot(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var kt=/^[\w+.-]{2,}:\/\//;function At(e){return e.endsWith(`/`)?e:`${e}/`}function jt(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Mt(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?At(n)+e.replace(/^\.?\//,``):e);return n}function Nt(e,t){if(!t||t===`/`||kt.test(e))return e;let n=jt(t);return e.startsWith(n)?e:Mt(n,e)}function Pt(e,t){let n=e.match(kt);return t+(n?e.slice(n[0].length):e)}var Ft=`__DEVFRAME_CONNECTION_META__`,It=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Lt(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Rt(){return Lt(ze)}function zt(){return Lt(Ft)}function Bt(e){if(e)return e;try{let e=localStorage.getItem(It);if(e)return e}catch{}return Lt(It)}function Vt(e){globalThis[ze]=e,globalThis[Ft]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Ht(e.authToken)}function Ht(e){try{localStorage.setItem(It,e)}catch{}globalThis[It]=e;let t=Rt();t&&(globalThis[ze]={...t,authToken:e})}function Ut(e){let t=Nt(Re,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Wt(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Gt(){let e=Rt();if(e)return Wt(e,Bt()??e.authToken??e.connectionMeta.authToken);let t=zt();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Ut(`./`),authToken:Bt(t.authToken)}}async function Kt(e={}){if(e.connection){let t=Wt(e.connection,Bt(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Vt(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Ut(t[0]??`./`),authToken:Bt(e.authToken??e.connectionMeta.authToken)};return Vt(n),n}let n=Gt();if(n){let t=Wt(n,Bt(e.authToken??n.authToken??n.connectionMeta.authToken));return Vt(t),t}let r=[];for(let n of t){let t=Nt(Re,n),i=Ut(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:Bt(e.authToken??r.authToken)};return Vt(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var W=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function qt(e=Ue){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Jt(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Yt(e=Ue){let t=qt(e);return t&&Jt(e),t}async function Xt(e,t={}){let n=Yt(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Zt(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(He,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}var Qt=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function G(e=21){let t=``,n=e;for(;n--;)t+=Qt[Math.random()*64|0];return t}var $t=Symbol.for(`immer-nothing`),en=Symbol.for(`immer-draftable`),K=Symbol.for(`immer-state`);function q(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var J=Object,tn=J.getPrototypeOf,nn=`constructor`,rn=`prototype`,an=`configurable`,on=`enumerable`,sn=`writable`,cn=`value`,Y=e=>!!e&&!!e[K];function X(e){return e?dn(e)||_n(e)||!!e[en]||!!e[nn]?.[en]||vn(e)||yn(e):!1}var ln=J[rn][nn].toString(),un=new WeakMap;function dn(e){if(!e||!bn(e))return!1;let t=tn(e);if(t===null||t===J[rn])return!0;let n=J.hasOwnProperty.call(t,nn)&&t[nn];if(n===Object)return!0;if(!xn(n))return!1;let r=un.get(n);return r===void 0&&(r=Function.toString.call(n),un.set(n,r)),r===ln}function fn(e,t,n=!0){pn(e)===0?(n?Reflect.ownKeys(e):J.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function pn(e){let t=e[K];return t?t.type_:_n(e)?1:vn(e)?2:yn(e)?3:0}var mn=(e,t,n=pn(e))=>n===2?e.has(t):J[rn].hasOwnProperty.call(e,t),Z=(e,t,n=pn(e))=>n===2?e.get(t):e[t],hn=(e,t,n,r=pn(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function gn(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var _n=Array.isArray,vn=e=>e instanceof Map,yn=e=>e instanceof Set,bn=e=>typeof e==`object`,xn=e=>typeof e==`function`,Sn=e=>typeof e==`boolean`;function Cn(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var wn=e=>bn(e)?e?.[K]:null,Q=e=>e.copy_||e.base_,Tn=e=>e.modified_?e.copy_:e.base_;function En(e,t){if(vn(e))return new Map(e);if(yn(e))return new Set(e);if(_n(e))return Array[rn].slice.call(e);let n=dn(e);if(t===!0||t===`class_only`&&!n){let t=J.getOwnPropertyDescriptors(e);delete t[K];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[sn]===!1&&(a[sn]=!0,a[an]=!0),(a.get||a.set)&&(t[i]={[an]:!0,[sn]:!0,[on]:a[on],[cn]:e[i]})}return J.create(tn(e),t)}{let t=tn(e);if(t!==null&&n)return{...e};let r=J.create(t);return J.assign(r,e)}}function Dn(e,t=!1){return An(e)||Y(e)||!X(e)||(pn(e)>1&&J.defineProperties(e,{set:kn,add:kn,clear:kn,delete:kn}),J.freeze(e),t&&fn(e,(e,t)=>{Dn(t,!0)},!1)),e}function On(){q(2)}var kn={[cn]:On};function An(e){return e===null||!bn(e)||J.isFrozen(e)}var jn=`MapSet`,Mn=`Patches`,Nn=`ArrayMethods`,Pn={};function Fn(e){let t=Pn[e];return t||q(0,e),t}var In=e=>!!Pn[e];function Ln(e,t){Pn[e]||(Pn[e]=t)}var Rn,zn=()=>Rn,Bn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:In(jn)?Fn(jn):void 0,arrayMethodsPlugin_:In(Nn)?Fn(Nn):void 0});function Vn(e,t){t&&(e.patchPlugin_=Fn(Mn),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Hn(e){Un(e),e.drafts_.forEach(Gn),e.drafts_=null}function Un(e){e===Rn&&(Rn=e.parent_)}var Wn=e=>Rn=Bn(Rn,e);function Gn(e){let t=e[K];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Kn(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[K].modified_&&(Hn(t),q(4)),X(e)&&(e=qn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[K].base_,e,t)}else e=qn(t,n);return Jn(t,e,!0),Hn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===$t?void 0:e}function qn(e,t){if(An(t))return t;let n=t[K];if(!n)return nr(t,e.handledSet_,e);if(!Xn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);er(n,e)}return n.copy_}function Jn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Dn(t,n)}function Yn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Xn=(e,t)=>e.scope_===t,Zn=[];function Qn(e,t,n,r){let i=Q(e),a=e.type_;if(r!==void 0&&Z(i,r,a)===t){hn(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;fn(i,(e,n)=>{if(Y(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Zn;for(let e of o)hn(i,e,n,a)}function $n(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Xn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Tn(i);Qn(e,i.draft_??i,a,n),er(i,r)})}function er(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Yn(e)}}function tr(e,t,n){let{scope_:r}=e;if(Y(n)){let i=n[K];Xn(i,r)&&i.callbacks_.push(function(){dr(e),Qn(e,n,Tn(i),t)})}else X(n)&&e.callbacks_.push(function(){let i=Q(e);e.type_===3?i.has(n)&&nr(n,r.handledSet_,r):Z(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&nr(Z(e.copy_,t,e.type_),r.handledSet_,r)})}function nr(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Y(e)||t.has(e)||!X(e)||An(e)||(t.add(e),fn(e,(r,i)=>{if(Y(i)){let t=i[K];Xn(t,n)&&(hn(e,r,Tn(t),e.type_),Yn(t))}else X(i)&&nr(i,t,n)})),e}function rr(e,t){let n=_n(e),r={type_:+!!n,scope_:t?t.scope_:zn(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=ir;n&&(i=[r],a=ar);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var ir={get(e,t){if(t===K)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Q(e);if(!mn(i,t,e.type_))return cr(e,i,t);let a=i[t];if(e.finalized_||!X(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Cn(t))return a;if(a===or(e.base_,t)||sr(e,t,a)){dr(e);let n=e.type_===1?+t:t,r=pr(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Q(e)},ownKeys(e){return Reflect.ownKeys(Q(e))},set(e,t,n){let r=lr(Q(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=or(Q(e),t),i=r?.[K];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(gn(n,r)&&(n!==void 0||mn(e.base_,t,e.type_)))return!0;dr(e),ur(e)}return e.copy_[t]===n&&(n!==void 0||mn(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),tr(e,t,n)),!0},deleteProperty(e,t){return dr(e),or(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),ur(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Q(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[sn]:!0,[an]:e.type_!==1||t!==`length`,[on]:r[on],[cn]:n[t]}},defineProperty(){q(11)},getPrototypeOf(e){return tn(e.base_)},setPrototypeOf(){q(12)}},ar={};for(let e in ir){let t=ir[e];ar[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}ar.deleteProperty=function(e,t){return ar.set.call(this,e,t,void 0)},ar.set=function(e,t,n){return ir.set.call(this,e[0],t,n,e[0])};function or(e,t){let n=e[K];return(n?Q(n):e)[t]}function sr(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!X(n)||n[K]?!1:e.baseRefs_.has(n)}function cr(e,t,n){let r=lr(t,n);return r?cn in r?r[cn]:r.get?.call(e.draft_):void 0}function lr(e,t){if(!(t in e))return;let n=tn(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=tn(n)}}function ur(e){e.modified_||(e.modified_=!0,e.parent_&&ur(e.parent_))}function dr(e){e.copy_||=(e.assigned_=new Map,En(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var fr=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(xn(e)&&!xn(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}xn(t)||q(6),n!==void 0&&!xn(n)&&q(7);let r;if(X(e)){let i=Wn(this),a=pr(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Hn(i):Un(i)}return Vn(i,n),Kn(r,i)}if(!e||!bn(e)){if(r=t(e),r===void 0&&(r=e),r===$t&&(r=void 0),this.autoFreeze_&&Dn(r,!0),n){let t=[],i=[];Fn(Mn).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}q(1,e)},this.produceWithPatches=(e,t)=>{if(xn(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Sn(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Sn(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Sn(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){X(e)||q(8),Y(e)&&(e=mr(e));let t=Wn(this),n=pr(t,e,void 0);return n[K].isManual_=!0,Un(t),n}finishDraft(e,t){let n=e&&e[K];n&&n.isManual_||q(9);let{scope_:r}=n;return Vn(r,t),Kn(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Fn(Mn).applyPatches_;return Y(e)?r(e,t):this.produce(e,e=>r(e,t))}};function pr(e,t,n,r){let[i,a]=vn(t)?Fn(jn).proxyMap_(t,n):yn(t)?Fn(jn).proxySet_(t,n):rr(t,n);return(n?.scope_??zn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?$n(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function mr(e){return Y(e)||q(10,e),hr(e)}function hr(e){if(!X(e)||An(e))return e;let t=e[K],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=En(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=En(e,!0);let i=n;return yn(n)&&(n=new Set),fn(i,(e,t)=>{hn(n,e,hr(t))},r),t&&(t.finalized_=!1),n}function gr(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=wn(Z(e,n.key_)),i=Z(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||mn(e,o))||n.parent_.type_===1&&n.parent_.allIndicesReassigned_)return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Z(n,r),!bn(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[K];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;fn(e.assigned_,(e,l)=>{let u=Z(o,e,c),f=Z(s,e,c),p=l?mn(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===$t?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=pn(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),t!==0&&t!==1||n!==`__proto__`&&n!==nn||q(19),xn(o)&&n===rn&&q(19),o=Z(o,n),o!==null&&bn(o)||q(18,i.join(`/`))}let s=pn(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:q(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:q(17,a)}}),e}function u(e){if(!X(e))return e;if(_n(e))return e.map(u);if(vn(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(yn(e))return new Set(Array.from(e).map(u));let t=Object.create(tn(e));for(let n in e)t[n]=u(e[n]);return mn(e,en)&&(t[en]=e[en]),t}function d(e){return Y(e)?u(e):e}Ln(Mn,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var _r=new fr,vr=_r.produce,yr=_r.produceWithPatches.bind(_r),br=_r.applyPatches.bind(_r),xr=1e3;function Sr(e,t){if(e.add(t),e.size>xr){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Cr(e){let{enablePatches:t=!1}=e;t&&gr();let n=Ot(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=G())=>{i.has(t)||(gr(),r=br(r,e),Sr(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=G())=>{if(!i.has(a)){if(Sr(i,a),t){let[t,i]=yr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=vr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}function wr(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:V.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:V.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n,r){let i=[];return i.push(n.on(`updated`,(n,i,o)=>{a||o===r||(i?e.callEvent(`devframe:rpc:server-state:patch`,t,i,o):e.callEvent(`devframe:rpc:server-state:set`,t,n,o))})),()=>{for(let e of i)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=Cr({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);let r=!1,a=u.on(`updated`,()=>{r=!0}),l=G();return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&t.get(c)===u&&!r&&u.mutate(()=>o(c,e),l)}).catch(e=>{console.error(`Error getting server state`,e)}).finally(a),n.set(c,s(c,u,l)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise((t,n)=>{if(e.isTrusted)d().then(t,n);else{t(u);let n=!1;e.events.on(V.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Tr=typeof self==`object`?self:globalThis,Er=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),Dr=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function Or(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=Er.has(e)?Tr[e]:void 0;return n(new(r??Tr.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&Dr.has(a))return n(new Tr[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function kr(e){return Or(new Map,e)(0)}var Ar=``,{toString:jr}={},{keys:Mr}=Object;function Nr(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=jr.call(e).slice(8,-1);switch(n){case`Array`:return[1,Ar];case`Object`:return[2,Ar];case`Date`:return[3,Ar];case`RegExp`:return[4,Ar];case`Map`:return[5,Ar];case`Set`:return[6,Ar];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Pr([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Fr(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=Nr(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Mr(r))(e||!Pr(Nr(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Pr(Nr(n))||Pr(Nr(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Pr(Nr(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Ir(e,t={}){let n=[];return Fr(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Lr,stringify:Rr}=JSON,zr={json:!0,lossy:!0};function Br(e){return kr(Lr(e))}function Vr(e){return Rr(Ir(e,zr))}function Hr(e){return kr(e)}function Ur(e){return Vr(e)}function Wr(e){return Br(e)}var Gr=new Map;function Kr(e=Gr){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?wt(n,r??``):`s:${Ur(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Wr(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function qr(){}function Jr(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Yr(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function Xr(e){let{onConnected:t=qr,onError:n=qr,onDisconnected:r=qr,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${We}=${encodeURIComponent(e.authToken)}`);let s=Kr(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){e===`session`?(f(n),t()):u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=Jr(r);if(!e)break;r=e.rest;let{event:t,data:n}=Yr(e.frame);n.length>0&&_(t,n.join(`
|
|
3
|
-
`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l)n(Error(`Devframe SSE channel is closed; message dropped`));else try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[Be]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function Zr(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Qr=Math.random.bind(Math),$r=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function ei(e=21){let t=``,n=e;for(;n--;)t+=$r[Qr()*64|0];return t}var ti=6e4,ni=e=>e,ri=ni,{clearTimeout:ii,setTimeout:ai}=globalThis;function oi(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=ni,deserialize:s=ri,resolver:c,bind:l=`rpc`,timeout:u=ti,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=Zr(),_=ei();s.i=_;let v;async function y(n=s){return u>=0&&(v=ai(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{ii(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(ii(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function si(e,t){let{channel:n,rpcOptions:r={}}=t;return oi(e,{...n,timeout:-1,...r,proxify:!1})}function ci(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(V.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new W(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new W(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(V.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new W(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(V.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(V.client.connectionError,e),m(new W(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new W(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=si(a.functions,{channel:v,rpcOptions:o});a.register({name:V.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new W(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(V.client.connectionError,e),m(e),i.emit(V.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new W(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(V.client.connectionError,e)}return i.emit(V.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(V.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(V.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t)i.emit(V.client.error,t,String(e[0]));else return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(V.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function li(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function ui(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=li(n.sse,r??`./`,location);return ci({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Xr({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function di(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:fi(r)?di(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function fi(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function pi(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function mi(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function hi(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function gi(e){if(e.error)throw di(e.error);return e.output}function _i(e){return e.some(e=>e!=null)}function vi(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function yi(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Hr(e):e}function a(e,t){return i(vi(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return hi(r)?gi(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(pi(r)){if(_i(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(mi(r)){let e=it(n),i=r.records[e];if(i)return gi(await s(i,r.serialization));if(r.fallback)return gi(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!_i(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function bi(e){let t=yi(await e.fetchJsonFromBases(Ve),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var xi=256,Si=class extends Error{name=`StreamClosedError`};function Ci(e={}){let t=e.id??G(),n=Math.max(0,e.replayWindow??0),r=Ot(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Si(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Ti(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function wi(e={}){let t=e.id??G(),n=Math.max(1,e.highWaterMark??xi),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1})}else if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Ti(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var Ei=``;function Di(e,t){return`${e}${Ei}${t}`}function Oi(e){let t=new Map,n=new Map;e.client.register({name:V.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Di(e,n))?._push(r,i)}}),e.client.register({name:V.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Di(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:V.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Di(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(V.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(Ei);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Di(n,r),o=t.get(a);if(o)return o;let s=wi({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(V.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Di(t,r),a=n.get(i);if(a)return a;let o=Ci({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function ki(){}var Ai=new Map;function ji(e){let t=e.url;e.authToken&&(t=`${t}?${We}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ki,onError:i=ki,onDisconnected:a=ki,definitions:o=Ai}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=Kr(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN)n.send(e);else if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r)}else i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Mi(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Pt(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Ni(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Mi(n.websocket,r??`./`,location);return ci({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>ji({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function Pi(e){return e.includes(`:`)}function Fi(e,t){return Pi(t)?t:`${e}:${t}`}function Ii(e){return{async get(t){return(await e()).value()?.[t]},async set(t,n){(await e()).mutate(e=>{if(e===void 0)return{[t]:n};e[t]=n})},async delete(t){(await e()).mutate(e=>{e!==void 0&&delete e[t]})},async all(){return(await e()).value()??{}},async onChange(t){return(await e()).on(`updated`,e=>t(e??{}))}}}function Li(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=(async()=>(await e.ensureTrusted(),e.sharedState.get(r)))().catch(e=>{throw i=void 0,e}),i}return Ii(a)}function Ri(e,t){return{global:Li(e,t,`global`),project:Li(e,t,`project`)}}function zi(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Pi(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Fi(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Fi(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Fi(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Fi(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Fi(t,n),r,i),upload:(n,r)=>e.streaming.upload(Fi(t,n),r)}},settings:Ri(e,t),scope:e.scope}}var Bi=128;function Vi(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Bi)}function Hi(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Ui=Object.freeze({type:`object`,additionalProperties:!0});function Wi(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Ui}return Ui}function Gi(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=Wi(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Ki(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function qi(e,t){return Ki(e,t)??[e]}function Ji(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Yi(e,t={}){let n=t.modelContext??Ji();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Vi(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Hi(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Gi(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Xi(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Xi(e,t,n){try{let r=qi(n,e.args?.length);return{content:[{type:`text`,text:Zi(await(await St(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Qi(e)}]}}}function Zi(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Qi(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}var $i=`modulepreload`,ea=function(e,t){return new URL(e,t).href},ta={},na=function(e){return e.pathname.endsWith(`.css`)},ra=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},ia=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=ea(t,n);let r=s(t),i=na(r);return ra(ta,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:$i,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{let i=a=>{t.removeEventListener(`load`,i),t.removeEventListener(`error`,i),a.type===`error`?n(Error(`Unable to preload CSS for ${r}`)):e(a)};t.addEventListener(`load`,i),t.addEventListener(`error`,i)})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function aa(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function oa(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Ot(),a=Array.isArray(t)?t:[t],o=await Kt(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new at({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new Ct(f),m=e.webmcp===!1?void 0:Yi(p),h,g=!1,_=0,v;function y(){_++,v=void 0,d.clear(),r===!0&&d.updateOptions({functions:[]})}r&&(p.register({name:V.broadcast.cacheInvalidate,type:`event`,handler:y}),i.on(V.client.connectionStatus,y),i.on(V.client.isTrustedUpdated,y));async function b(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Nt(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let x=e.callTimeout??0,S=x>0?x:1/0,C,w={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){let a=performance.now()+S;if(await n.onRequest?.call(this,e,t,i),r===!0&&e.i&&C.isTrusted&&!e.m.startsWith(`anonymous:`)&&e.m!==`devframe:rpc:cacheable-functions`){function t(){if(performance.now()>=a)throw new W(`timeout`,`[devframe] RPC call "${e.m}" timed out after ${x}ms`)}for(;!v&&(t(),!(g||C.status!==`connected`));){let e=_;v=C.callOptional(`devframe:rpc:cacheable-functions`).then(t=>{e===_&&d.updateOptions({functions:t??[]})}).catch(t=>{throw e===_&&(v=void 0),t}),await v}await v,t()}let o=_;if(r&&e.i&&!g&&C.isTrusted&&d.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);o===_&&!g&&d.apply(e,n)}else await t(e)}}},T=aa(e.transport??`auto`,s);C=T===`static`?await bi({fetchJsonFromBases:b}):T===`sse`?ui({...w,sseOptions:e.sseOptions}):Ni({...w,wsOptions:e.wsOptions});let E;try{E=new BroadcastChannel(`devframe-auth`)}catch{}let D,O=!1;function k(e){return((...t)=>O||!D?e(...t):D.then(()=>e(...t)))}function ee(){g=!0,y();try{h?.(),m?.()}finally{try{E?.close()}finally{C.close?.()}}}let A={events:i,get isTrusted(){return C.isTrusted},get status(){return C.status},get connectionError(){return C.connectionError},get transport(){return C.transport??T},get connection(){return o},connectionMeta:s,ensureTrusted:C.ensureTrusted,requestTrust:C.requestTrust,requestTrustWithToken:async e=>(Ht(e),o={...o,authToken:e},C.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await C.requestTrustWithCode(e);if(!t)return!1;Ht(t),o={...o,authToken:t};try{E?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>C.requestAuthCode(e),call:k(C.call),callEvent:k(C.callEvent),callOptional:k(C.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:ee};A.sharedState=wr(A),A.streaming=Oi(A),A.services=Zt(A);let te=new Map;A.scope=(e=>{if(!e)return A;let t=te.get(e);return t||(t=zi(A,e),te.set(e,t)),t}),f.rpc=A;function j(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ne(){if(e.simpleAuth!==!1&&j()&&typeof globalThis.prompt==`function`)for(await A.requestAuthCode().catch(()=>{});!A.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await A.requestTrustWithCode(t))return}}async function M(){let t=await C.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Xt(A,{param:n}):!1;t||r||A.isTrusted||await ne()}return D=M().then(()=>{O=!0},()=>{O=!0}),s.mcp&&ia(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-C3vmCt-R.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(A))}).catch(()=>{}),E&&(E.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&A.requestTrustWithToken(e.data.authToken)}),A}var sa=oa;function ca(){if(window.parent===window)return()=>{};let e=document.documentElement,t=e.style.getPropertyValue(`--devframe-primary`),n=e.style.getPropertyPriority(`--devframe-primary`),r=!1,i=!1;return Kt().then(({connectionMeta:t})=>{let n=t.configs?.ui?.branding?.primaryColor;!r&&n&&CSS.supports(`color`,n)&&(e.style.setProperty(`--devframe-primary`,n),i=!0)}).catch(()=>{}),()=>{r=!0,i&&(t?e.style.setProperty(`--devframe-primary`,t,n):e.style.removeProperty(`--devframe-primary`))}}var la=`devframes:plugin:a11y`,ua=`devframe:docks:active`,da={critical:`#ff5c7a`,serious:`#ff9b52`,moderate:`#f2d14e`,minor:`#6fb1fc`};function fa(){return{critical:0,serious:0,moderate:0,minor:0}}var pa=L(`<code class="font-mono text-[11.5px] color-muted bg-secondary border border-base rounded-lg px-3 py-2.5 whitespace-pre-wrap break-all text-left max-w-full">`),ma=L(`<div class="flex flex-col items-center justify-center gap-3 h-full p-8 text-center color-muted"><span aria-hidden></span><p class="text-[15px] font-semibold color-base"></p><p class="text-xs leading-relaxed max-w-[38ch]">`);function ha(e){return(()=>{var t=ma(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return B(r,()=>e.title),B(i,()=>e.body),B(t,F(I,{get when(){return e.code},get children(){var t=pa();return B(t,()=>e.code),t}}),null),b(()=>z(n,`${e.icon} ${e.clean?`text-success`:`color-faint`}`)),t})()}function ga(...e){return e.filter(Boolean).join(` `)}function _a({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return ga(r[e],i,n)}function va(e){return ga(`flex items-center gap-2 shrink-0 h-nav px-3 border-b border-base bg-base z-nav`,e)}function ya(e){return ga(`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`,e)}function ba(e){let t=[`You are an accessibility engineer. Fix the following WCAG issues found by axe-core.`,`For each violation, change the markup and/or styles so the rule passes while preserving the design and behavior, and briefly explain each fix.`,``];for(let[n,r]of xa(e)){let e=r[0]?.url;t.push(`## Route: ${n}${e?` (${e})`:``}`);for(let{violation:e}of r)t.push(...Sa(e));t.push(``)}return t.join(`
|
|
4
|
-
`).trimEnd()}function xa(e){let t=new Map;for(let n of e){let e=t.get(n.route)??[];e.push(n),t.set(n.route,e)}return t}function Sa(e){let t=[``,`### ${e.ruleId}: ${e.help}`,`- Impact: ${e.impact}${e.bestPractice?` (best practice)`:``}`];e.tags?.length&&t.push(`- WCAG: ${e.tags.join(`, `)}`),t.push(`- Docs: ${e.helpUrl}`),t.push(`- What it checks: ${e.description}`),t.push(`- Affected element${e.nodes.length===1?``:`s`} (${e.nodes.length}):`);for(let n of e.nodes)t.push(...Ca(n));return t}function Ca(e){let t=[` - selector: \`${e.target.join(` `)}\``," ```html",` ${e.html}`," ```"];return e.failureSummary&&t.push(` fix hint: ${e.failureSummary.replace(/\s*\n\s*/g,` `)}`),t}var wa=L(`<div class="fixed inset-0 z-modal-content flex items-center justify-center p-6 bg-black/55 backdrop-blur-sm"><div class="flex flex-col gap-3 w-[min(680px,100%)] max-h-full p-4 bg-secondary border border-base rounded-xl shadow-2xl"role=dialog aria-modal=true aria-labelledby=fix-prompts-title><div class="flex items-start gap-2.5"><div><h2 id=fix-prompts-title class="m-0 text-[15px] font-semibold color-base">Fix prompts</h2><p class="mt-0.5 text-xs color-muted"> <!> selected. Copy the prompt into your AI assistant.</p></div><button type=button class="ml-auto inline-flex p-1.5 rounded color-muted cursor-pointer transition hover:bg-active hover:color-base outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"aria-label=Close><span aria-hidden class="i-ph-x shrink-0"></span></button></div><textarea class="flex-1 min-h-60 resize-none w-full p-3 bg-base border border-base rounded-lg font-mono text-[11.5px] leading-relaxed color-base ws-break-spaces overflow-auto outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"readonly aria-label="Generated fix prompt"></textarea><div class="flex items-center gap-2.5"><span class="min-w-0 truncate text-[11px] color-faint"></span><span class=flex-1></span><button type=button><span aria-hidden>`),Ta=L(`<code class=font-mono>`);function Ea(e){let t=S(()=>ba(e.items)),n=()=>e.items.length,[r,i]=y(!1),a;function o(){navigator.clipboard?.writeText(t()).then(()=>{i(!0),setTimeout(i,1500,!1)})}function s(t){t.key===`Escape`&&e.onClose()}return E(()=>{addEventListener(`keydown`,s),a?.focus()}),D(()=>removeEventListener(`keydown`,s)),(()=>{var i=wa(),s=i.firstChild,c=s.firstChild,l=c.firstChild,u=l.firstChild.nextSibling,d=u.firstChild,f=d.nextSibling;f.nextSibling;var p=l.nextSibling,m=c.nextSibling,h=m.nextSibling.firstChild,g=h.nextSibling.nextSibling,_=g.firstChild;i.$$click=()=>e.onClose(),s.$$click=e=>e.stopPropagation(),B(u,n,d),B(u,()=>n()===1?`violation`:`violations`,f),p.$$click=()=>e.onClose();var v=a;return typeof v==`function`?Ae(v,p):a=p,B(m,t),B(h,F(be,{get each(){return e.items},children:(e,t)=>[F(I,{get when(){return t()>0},children:`, `}),(()=>{var t=Ta();return B(t,()=>e.violation.ruleId),t})()]})),g.$$click=o,B(g,()=>r()?`Copied`:`Copy prompt`,null),b(e=>{var t=_a({variant:`primary`,size:`sm`}),n=`shrink-0 ${r()?`i-ph-check`:`i-ph-copy`}`;return t!==e.e&&z(g,e.e=t),n!==e.t&&z(_,e.t=n),e},{e:void 0,t:void 0}),i})()}De([`click`]);var Da=L(`<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),Oa=L(`<header><span><span aria-hidden class="i-ph-person-simple-circle-duotone text-base color-active"></span><span>A11y Inspector</span></span><span class=flex-1></span><span class="inline-flex items-center gap-1.5 text-xs color-muted select-none"><span></span></span><button type=button title="Generate AI fix prompts for the selected violations"><span aria-hidden class="i-ph-sparkle-duotone shrink-0"></span>Generate fix prompts</button><button type=button><span aria-hidden class="i-ph-arrows-clockwise shrink-0"></span>Rescan`);function ka(e){let t=()=>e.pageScriptReady?e.scanning?`Scanning…`:`Connected`:`No page connected`,n=()=>e.pageScriptReady?e.scanning?`bg-primary-500 animate-pulse`:`bg-success`:`bg-neutral-400`;return(()=>{var r=Oa(),i=r.firstChild,a=i.nextSibling.nextSibling,o=a.firstChild,s=a.nextSibling;s.firstChild.nextSibling;var c=s.nextSibling,l=c.firstChild;return B(a,t,null),s.$$click=()=>e.onGenerate(),B(s,F(I,{get when(){return e.selectedCount>0},get children(){var t=Da();return B(t,()=>e.selectedCount),t}}),null),c.$$click=()=>e.onRescan(),b(t=>{var a=va(),u=ya(),d=`size-2 rounded-full shrink-0 ${n()}`,f=_a({variant:e.selectedCount===0?`secondary`:`primary`,size:`sm`}),p=e.selectedCount===0,m=_a({variant:`secondary`,size:`sm`}),h=!e.pageScriptReady||e.scanning,g=!!e.scanning;return a!==t.e&&z(r,t.e=a),u!==t.t&&z(i,t.t=u),d!==t.a&&z(o,t.a=d),f!==t.o&&z(s,t.o=f),p!==t.i&&(s.disabled=t.i=p),m!==t.n&&z(c,t.n=m),h!==t.s&&(c.disabled=t.s=h),g!==t.h&&l.classList.toggle(`animate-spin`,t.h=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})()}De([`click`]);var Aa=L(`<span class="shrink-0 px-1.5 py-px border border-base rounded">axe `),ja=L(`<div class="flex items-center gap-2 px-4 py-1.5 font-mono text-[11.5px] color-faint border-b border-base bg-base"><span class="flex-1 truncate color-muted">`),Ma=L(`<span class="shrink-0 px-1.5 py-px border border-base rounded">`),Na=L(`<span class="shrink-0 px-1.5 py-px border border-amber-500/60 rounded text-amber-500 capitalize"title="devframe backend connection">`);function Pa(e){let t=()=>{let t=e.status?.();return t===`disconnected`||t===`unauthorized`||t===`error`?t:null};return F(I,{get when(){return e.url},get children(){var n=ja(),r=n.firstChild;return B(r,()=>e.url),B(n,F(I,{get when(){return t()},get fallback(){return F(I,{get when(){return e.backend()},children:e=>(()=>{var t=Ma();return B(t,e),t})()})},children:e=>(()=>{var t=Na();return B(t,e),t})()}),null),B(n,F(I,{get when(){return e.engine},get children(){var t=Aa();return t.firstChild,B(t,()=>e.engine,null),t}}),null),b(()=>R(r,`title`,e.url)),n}})}var Fa={critical:`Critical`,serious:`Serious`,moderate:`Moderate`,minor:`Minor`},Ia=L(`<div class="grid grid-cols-4 gap-1.5">`),La=L(`<button type=button class="flex items-baseline gap-1.5 px-3 py-2 text-left bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="text-lg font-bold tabular-nums leading-none"></span><span class="text-xs font-semibold tracking-wide uppercase">`),Ra=[`critical`,`serious`,`moderate`,`minor`];function za(e){return(()=>{var t=Ia();return B(t,F(be,{each:Ra,children:t=>{let n=()=>e.counts[t],r=()=>e.active===t;return(()=>{var i=La(),a=i.firstChild,o=a.nextSibling;return i.addEventListener(`blur`,()=>e.onHover?.(null)),i.addEventListener(`focus`,()=>e.onHover?.(t)),i.addEventListener(`mouseleave`,()=>e.onHover?.(null)),i.addEventListener(`mouseenter`,()=>e.onHover?.(t)),i.$$click=()=>e.onToggle(t),B(a,n),B(o,()=>Fa[t]),b(e=>{var a={"bg-[color-mix(in_srgb,var(--impact)_16%,transparent)]! border-[color:var(--impact)]!":r(),"color-[var(--impact)]":n()>0,"color-muted":n()===0},o=da[t],s=r(),c=`${n()} ${Fa[t]} issues: filter and highlight`;return e.e=Oe(i,a,e.e),o!==e.t&&ke(i,`--impact`,e.t=o),s!==e.a&&R(i,`aria-pressed`,e.a=s),c!==e.o&&R(i,`aria-label`,e.o=c),e},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}})),t})()}De([`click`]);var Ba=L(`<label class="inline-flex items-center gap-2 cursor-pointer select-none"><span class="relative w-8 h-[18px] rounded-full bg-secondary border border-base transition has-[:checked]:bg-primary-500/40 has-[:checked]:border-primary-500 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-primary-500/40"><input type=checkbox class="peer absolute inset-0 m-0 opacity-0 cursor-pointer"><span class="absolute top-0.5 left-0.5 size-3 rounded-full bg-neutral-400 pointer-events-none transition peer-checked:translate-x-3.5 peer-checked:bg-primary-500"></span></span><span class="text-xs color-muted">`);function Va(e){return(()=>{var t=Ba(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return r.addEventListener(`change`,t=>e.onChange(t.currentTarget.checked)),B(i,()=>e.label),b(()=>r.checked=e.checked),t})()}var Ha=L(`<button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Clear the whole selection"><span aria-hidden class="i-ph-x shrink-0"></span>Clear selection<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),Ua=L(`<div class="flex flex-col gap-2 pt-3 pb-2.5 sticky top-0 z-nav bg-base"><div class="flex items-center gap-2 flex-wrap"><span class="text-[11.5px] color-muted tabular-nums"> · <!> · </span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Select all visible violations"><span aria-hidden class="i-ph-check-square-duotone shrink-0"></span>Select all</button><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Invert the selection across the visible violations"><span aria-hidden class="i-ph-selection-inverse-duotone shrink-0"></span>Invert</button><span class=flex-1></span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:text-error hover:border-error/50 disabled:op-40 disabled:cursor-default"title="Clear all tracked routes"><span aria-hidden class="i-ph-trash-duotone shrink-0"></span>Clear`);function Wa(e){let t=(e,t)=>`${e} ${e===1?t:`${t}s`}`;return(()=>{var n=Ua(),r=n.firstChild,i=r.firstChild,a=i.firstChild,o=a.nextSibling;o.nextSibling;var s=i.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling;return B(n,F(za,{get counts(){return e.counts},get active(){return e.filter},get onToggle(){return e.onToggleFilter},get onHover(){return e.onHoverImpact}}),r),B(i,()=>t(e.totalNodes,`issue`),a),B(i,()=>t(e.totalRules,`rule`),o),B(i,()=>t(e.routeCount,`route`),null),s.$$click=()=>e.onSelectAll(),c.$$click=()=>e.onInvertSelection(),B(r,F(I,{get when(){return e.selectedCount>0},get children(){var t=Ha(),n=t.firstChild.nextSibling.nextSibling;return t.$$click=()=>e.onClearSelection(),B(n,()=>e.selectedCount),t}}),l),B(r,F(Va,{label:`Best-practice`,get checked(){return e.showBestPractice},get onChange(){return e.onToggleBestPractice}}),u),B(r,F(Va,{label:`Auto-scan`,get checked(){return e.autoScan},get onChange(){return e.onToggleAutoScan}}),u),u.$$click=()=>e.onClearAll(),b(t=>{var n=e.allSelected,r=e.routeCount===0;return n!==t.e&&(s.disabled=t.e=n),r!==t.t&&(u.disabled=t.t=r),t},{e:void 0,t:void 0}),n})()}De([`click`]);function Ga(e,t){return`rule-${encodeURIComponent(e)}-${t}`}var Ka=L(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-muted border border-base rounded-full px-1.5"title="axe best-practice rule (not a WCAG success criterion)">best practice`),qa=L(`<ul class="list-none m-0 flex flex-col gap-1 pl-3.5 pr-2.5 pb-2">`),Ja=L(`<a class="self-start block ml-3.5 mb-2 text-[11px] color-faint no-underline hover:color-active hover:underline"target=_blank rel="noreferrer noopener">Learn how to fix <!> ↗`),Ya=L(`<li class="relative bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] overflow-hidden transition hover:shadow-md"><div class="flex items-stretch"><input type=checkbox class="shrink-0 self-center size-[15px] ml-3 accent-[var(--impact)] cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><button type=button class="flex flex-col gap-0.5 flex-1 min-w-0 text-left cursor-pointer outline-none py-[7px] pl-2.5 pr-3"><span class="flex items-center gap-1.5"><span class="text-[9px] font-bold tracking-wide uppercase color-[var(--impact)]"></span><code class="font-mono text-xs color-base"></code><span class="ml-auto inline-flex items-center gap-1.5 text-[11px] color-faint tabular-nums"> <span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform"></span></span></span><span class="text-xs color-muted leading-snug truncate">`),Xa=L(`<span class="inline-block mt-1.5 font-mono text-[10.5px] text-primary-500 bg-primary-500/12 rounded px-1.5 py-px">`),Za=L(`<span class="block mt-1.5 text-[11px] leading-snug color-muted whitespace-pre-wrap">`),Qa=L(`<li><button type=button class="block w-full bg-[#8881] text-left border border-base rounded px-2.5 py-1.5 cursor-pointer transition hover:bg-hover outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="flex items-start gap-1.5"><code class="block font-mono text-[11px] color-base whitespace-pre-wrap break-words">`),$a=L(`<span class="shrink-0 inline-flex items-center justify-center min-w-[17px] h-[17px] px-1 rounded-full bg-primary-500 text-white text-[10.5px] font-bold tabular-nums">`);function eo(e){let t=()=>e.violation,n=()=>`nodes-${Ga(e.route,t().ruleId)}`,r=()=>t().nodes[0];return(()=>{var i=Ya(),a=i.firstChild.firstChild,o=a.nextSibling,s=o.firstChild,c=s.firstChild,l=c.nextSibling,u=l.nextSibling,d=u.firstChild,f=d.nextSibling,p=s.nextSibling;return i.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),a.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),a.addEventListener(`change`,()=>e.onToggleSelect()),o.addEventListener(`blur`,()=>e.channel.clearPreview()),o.addEventListener(`focus`,()=>r()&&e.channel.preview(r())),o.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),o.$$click=()=>e.onToggle(),B(c,()=>Fa[t().impact]),B(s,F(I,{get when(){return t().bestPractice},get children(){return Ka()}}),l),B(l,()=>t().ruleId),B(u,()=>t().nodes.length,d),B(u,()=>t().nodes.length===1?`element`:`elements`,f),B(p,()=>t().help),B(i,F(I,{get when(){return e.expanded},get children(){return[(()=>{var r=qa();return B(r,F(be,{get each(){return t().nodes},children:t=>(()=>{var n=Qa(),r=n.firstChild,i=r.firstChild,a=i.firstChild;return r.addEventListener(`blur`,()=>e.channel.clearPreview()),r.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),r.addEventListener(`focus`,()=>e.channel.preview(t)),r.addEventListener(`mouseenter`,()=>e.channel.preview(t)),B(i,F(I,{get when(){return e.numberOf(t.id)},children:e=>(()=>{var t=$a();return B(t,e),t})()}),a),B(a,()=>t.html),B(r,F(I,{get when(){return t.target.length},get children(){var e=Xa();return B(e,()=>t.target.join(` `)),e}}),null),B(r,F(I,{get when(){return t.failureSummary},get children(){var e=Za();return B(e,()=>t.failureSummary),e}}),null),n})()})),b(()=>R(r,`id`,n())),r})(),(()=>{var e=Ja(),n=e.firstChild.nextSibling;return n.nextSibling,B(e,()=>t().ruleId,n),b(()=>R(e,`href`,t().helpUrl)),e})()]}}),null),b(r=>{var s=Ga(e.route,t().ruleId),c={"bg-[color-mix(in_srgb,var(--impact)_8%,transparent)]! border-[color:var(--impact)]/60":e.selected},l=da[t().impact],u=`Select ${t().ruleId} to highlight and add to fix prompts`,d=e.expanded,p=n(),m=!!e.expanded;return s!==r.e&&R(i,`id`,r.e=s),r.t=Oe(i,c,r.t),l!==r.a&&ke(i,`--impact`,r.a=l),u!==r.o&&R(a,`aria-label`,r.o=u),d!==r.i&&R(o,`aria-expanded`,r.i=d),p!==r.n&&R(o,`aria-controls`,r.n=p),m!==r.s&&f.classList.toggle(`rotate-90`,r.s=m),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),b(()=>a.checked=e.selected),i})()}De([`click`]);var to=L(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-active border border-primary-500/45 rounded-full px-1.5 shrink-0">active`),no=L(`<ul class="list-none m-0 mt-1 flex flex-col gap-1">`),ro=L(`<section class="flex flex-col"><div class="flex items-center gap-1 py-0.5"><button type=button class="flex items-center gap-2 flex-1 min-w-0 text-left cursor-pointer py-1 px-0.5 rounded outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform shrink-0"></span><code></code><span class="ml-auto text-[11px] color-faint tabular-nums shrink-0"> </span></button><button type=button class="shrink-0 inline-flex p-1 rounded color-faint cursor-pointer transition hover:text-error hover:bg-secondary outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"title="Clear this route's history"><span aria-hidden class="i-ph-trash-duotone shrink-0">`);function io(e){return(()=>{var t=ro(),n=t.firstChild.firstChild,r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=n.nextSibling;return n.$$click=()=>e.onToggleGroup(),B(i,()=>e.report.route),B(n,F(I,{get when(){return e.active},get children(){return to()}}),a),B(a,()=>e.violations.length,o),B(a,()=>e.violations.length===1?`rule`:`rules`,null),s.$$click=()=>e.onClearRoute(),B(t,F(I,{get when(){return!e.collapsed},get children(){var t=no();return B(t,F(be,{get each(){return e.violations},children:t=>F(eo,{get route(){return e.report.route},violation:t,get expanded(){return e.expandedRules.has(`${e.report.route}::${t.ruleId}`)},get selected(){return e.selection.isSelected(e.report.route,t.ruleId)},onToggle:()=>e.onToggleRule(t.ruleId),onToggleSelect:()=>e.selection.toggle(e.report.route,t.ruleId),get channel(){return e.channel},get numberOf(){return e.selection.numberOf}})})),t}}),null),b(a=>{var o=`group-${encodeURIComponent(e.report.route)}`,s=!e.collapsed,c=!e.collapsed,l=`font-mono text-[12.5px] truncate ${e.active?`color-active`:`color-base`}`;return o!==a.e&&R(t,`id`,a.e=o),s!==a.t&&R(n,`aria-expanded`,a.t=s),c!==a.a&&r.classList.toggle(`rotate-90`,a.a=c),l!==a.o&&z(i,a.o=l),a},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}De([`click`]);var ao=L(`<div class="flex flex-col gap-2.5">`);function oo(e){return(()=>{var t=ao();return B(t,F(be,{get each(){return e.groups},children:t=>F(io,{get report(){return t.report},get active(){return t.active},get violations(){return t.violations},get collapsed(){return e.collapsedRoutes.has(t.report.route)},onToggleGroup:()=>e.onToggleGroup(t.report.route),onClearRoute:()=>e.onClearRoute(t.report.route),get expandedRules(){return e.expandedRules},onToggleRule:n=>e.onToggleRule(t.report.route,n),get channel(){return e.channel},get selection(){return e.selection}})})),t})()}var so=Symbol.for(`devframe:browser-agent-registry`),{tools:co,listeners:lo}=globalThis[so]??={tools:new Map,listeners:new Set};function uo(){for(let e of lo)e()}function fo(e){let t=Symbol(e.id);return co.set(t,e),uo(),()=>{co.delete(t)&&uo()}}function po(){return[...co.values()]}function mo(e){return lo.add(e),()=>lo.delete(e)}var ho=ht({docsBase:`https://devfra.me/errors`,codes:{DF0077:{why:e=>`In-page channel function "${e.name}" is not registered on this endpoint.`,fix:"Declare the function in this endpoint's `functions` option."},DF0080:{why:e=>`In-page channel function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it channel-only."}}}),go=V.postMessage.inPageChannel;function _o(e){return!!e&&typeof e==`object`&&`__dfIpc`in e}function vo(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.channel===go&&typeof t.name==`string`&&typeof t.panelId==`string`&&(t.kind===`hello`||t.kind===`grant`)}function yo(e,t){if(e?.length)return e;let n=t?.location?.origin;return n&&n!==`null`?[n]:[`*`]}function bo(e){let t=[];try{let n=e;for(;n.parent&&n.parent!==n;)t.push(n.parent),n=n.parent}catch{}for(let n of[e,...t])try{let r=n.opener;r&&r!==e&&!t.includes(r)&&t.push(r)}catch{}return t}var xo={intervalMs:5e3,timeoutMs:12e3};function So(e){return e===!1?void 0:{...xo,...e}}var $=class extends Error{code;name=`InPageChannelError`;constructor(e,t,n){super(t,n),this.code=e}},Co=new Set;function wo(e){Co.has(e)||(Co.add(e),console.warn(`[devframe] ${e}`))}function To(e,t,n){for(let r=0;r<e.length;r++){let i=Do(e[r],`${t}[${r}]`,n);if(i)return i}}function Eo(e,t,n){let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)return`${t} is an instance of ${e.constructor?.name??`an exotic class`}`;for(let[r,i]of Object.entries(e)){let e=Do(i,`${t}.${r}`,n);if(e)return e}}function Do(e,t,n){if(e!==null&&typeof e!=`boolean`&&typeof e!=`string`)return typeof e==`number`?Number.isFinite(e)?void 0:`${t} is ${e}`:typeof e==`object`?n.has(e)?`${t} is circular`:(n.add(e),Array.isArray(e)?To(e,t,n):Eo(e,t,n)):`${t} is ${e===void 0?"`undefined`":`a ${typeof e}`}`}function Oo(e,t,n){let r=Do(e,t,new Set);if(r)throw new $(`not-serializable`,`in-page function "${n}" is declared jsonSerializable, but ${r}`)}function ko(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Ao(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await i[`~standard`].validate(n[r]);if(a.issues)throw new $(`invalid-args`,`in-page function "${e}" rejected argument ${r}: ${ko(a.issues)}`)}}function jo(e,t){return e.serialize?t.map(e.serialize):t}function Mo(e,t){return e.deserialize&&t!==void 0?e.deserialize(t):t}function No(e,t){return`devframe:in-page:${e===`event`?`event`:`function`}:${t}`}var Po=No(`function`,``);function Fo(e){let t=new Map,n=new Map;return{definitions:t,register(e){if(`agent`in e&&e.agent){if(e.jsonSerializable===!1)throw ho.DF0080({name:e.name});e.jsonSerializable=!0}t.set(No(e.type,e.name),e)},registerInternal(e,n){t.set(e,{name:e,handler:n})},on(e,t){let r=No(`event`,e),i=n.get(r);return i||(i=new Set,n.set(r,i)),i.add(t),()=>{i.delete(t),i.size===0&&n.delete(r)}},resolve(r){let i=t.get(r),a=n.get(r);if(i||a?.size)return async(...t)=>{let a=e.deserialize?t.map(e.deserialize):t;i?.jsonSerializable&&Oo(a,`its arguments`,i.name),i?.args?.length&&await Ao(i.name,i.args,a);let o=await i?.handler?.(...a);for(let e of[...n.get(r)??[]])e(...a);if(i?.type!==`event`)return i?.jsonSerializable&&o!==void 0&&Oo(o,`its return value`,i.name),e.serialize&&o!==void 0?e.serialize(o):o}}}}function Io(e,t){for(let n of t){let t=n(e);if(t)return t}if(e.startsWith(Po))return()=>{throw ho.DF0077({name:e.slice(Po.length)})}}function Lo(e,t){let n=[];for(let r of t.definitions.values()){if(r.type===`event`||!(`agent`in r)||!r.agent)continue;let i=r.agent;n.push(fo({id:`${e}:${r.name}`,title:i.title??r.name,description:i.description,safety:Hi(r.type,i),tags:i.tags,inputSchema:Gi(r.args),invoke:e=>{let n=qi(e,r.args?.length);return t.resolve(No(r.type,r.name))(...n)}}))}return()=>n.forEach(e=>e())}function Ro(e){return e instanceof DOMException&&e.name===`DataCloneError`?new $(`not-cloneable`,`a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`,{cause:e}):e}function zo(e,t){let n,r=!1,i={rpc:oi({},{post:t=>{try{e.postMessage(t)}catch(e){throw Ro(e)}},on:e=>{n=e},off:()=>{n=void 0},timeout:-1,proxify:!1,resolver:(e,n)=>n??t.resolveLocal(e)}),lastActivity:Date.now(),postControl(t){try{e.postMessage({__dfIpc:t})}catch{}},dispose(t){if(r)return;r=!0,t?.bye&&i.postControl(`bye`);let n=new $(`closed`,`in-page channel call dropped: ${t?.reason??`the in-page channel port was closed`}`);i.rpc.$rejectPendingCalls(({reject:e})=>e(n)),i.rpc.$close(),e.removeEventListener(`message`,a),e.removeEventListener(`close`,o);try{e.close()}catch{}}};function a(e){i.lastActivity=Date.now();let r=e.data;_o(r)?r.__dfIpc===`bye`?t.onPeerClosed():t.onControl(r.__dfIpc):n?.(r)}function o(){t.onPeerClosed()}return e.addEventListener(`message`,a),e.addEventListener(`close`,o),e.start?.(),i}function Bo(e,t,n){return t<=0?e:new Promise((r,i)=>{let a=setTimeout(()=>i(new $(`timeout`,n())),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}var Vo={subscribe:`devframe:in-page:page-state:subscribe`,set:`devframe:in-page:page-state:set`,patch:`devframe:in-page:page-state:patch`};function Ho(e){let t=new Map,n=new Set,r=new Map,i=new Set;function a(e){n.add(e);let t=r.get(e);if(t){r.delete(e);for(let e of t)e()}}function o(e,n){let r=t.get(e);if(r&&n!==void 0){let e=G();i.add(e),r.mutate(()=>n,e)}a(e)}function s(t){e.call(Vo.subscribe,[t]).then(e=>o(t,e)).catch(e=>{console.warn(`[devframe] in-page shared state "${t}": subscribe failed`,e)})}return{handlers:{[V.inPageChannel.panelStateUpdated]:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>n,r),a(e)},[V.inPageChannel.panelStatePatch]:(e,n,r)=>{t.get(e)?.patch(n,r),a(e)}},resubscribe(){for(let e of t.keys())s(e)},get:(a,o)=>{let c=t.get(a);if(c)return Promise.resolve(c);let l=Cr({initialValue:o?.initialValue,enablePatches:!0});return t.set(a,l),l.on(`updated`,(t,n,r)=>{i.delete(r)||e.isConnected()&&(n?e.callEvent(Vo.patch,[a,n,r]):e.callEvent(Vo.set,[a,t,r]))}),e.isConnected()&&s(a),o?.initialValue===void 0?new Promise(e=>{if(n.has(a)){e(l);return}let t=r.get(a)??[];t.push(()=>e(l)),r.set(a,t)}):Promise.resolve(l)}}}var Uo=300,Wo=3e3,Go=64;function Ko(e){let{name:t}=e,n=e.callTimeoutMs??15e3,r=e.eventBufferLimit??Go,i=e.window===!1?void 0:e.window??(typeof window>`u`?void 0:window),a=yo(e.allowedOrigins,i),o=So(e.heartbeat),s={serialize:e.serialize,deserialize:e.deserialize},c=G(),l=e.targets??(i?bo(i):[]),u=!!i&&l.length>0,d=Ot(),f=Fo(s);for(let[t,n]of Object.entries(e.functions))f.register({...n,name:t});for(let[t,n]of Object.entries(e.events??{}))f.register({...n,name:t,type:`event`});let p=Lo(t,f),m=`connecting`,h,g,_,v,y=!1,b=[],x=[],S=[];function C(e){m!==e&&(m=e,d.emit(`status:updated`,e))}let w=Ho({isConnected:()=>m===`connected`,callEvent:(e,t)=>D(e,jo(s,t)),call:(e,t)=>O(e,jo(s,t))}),T=Fo(s);for(let[e,t]of Object.entries(w.handlers))T.registerInternal(e,t);function E(e,t){h?.rpc.$callRaw({method:e,args:t,event:!0,optional:!0}).catch(()=>{})}function D(e,n){m!==`closed`&&(m===`connected`&&h?E(e,n):(x.length>=r&&(x.shift(),y||(y=!0,console.warn(`[devframe] in-page channel "${t}": event buffer overflowed while connecting, so the oldest events are being dropped (limit ${r})`))),x.push({method:e,args:n})))}function O(e,r){return m===`closed`?Promise.reject(new $(`closed`,`in-page channel "${t}": call "${e}" rejected because the channel is closed`)):Bo(new Promise((t,n)=>{let i=()=>{h.rpc.$call(e,...r).then(e=>t(Mo(s,e)),n)};m===`connected`&&h?i():b.push({run:i,reject:n})}),n,()=>`in-page channel "${t}": call "${e}" timed out after ${n}ms (status: ${m}${m===`connecting`?`; is the page script loaded?`:``})`)}function k(e,t){h?.dispose({bye:!0,reason:`the panel adopted a newer port`}),h=zo(e,{resolveLocal:e=>Io(e,[T.resolve,f.resolve]),onControl:e=>{e===`ping`&&h?.postControl(`pong`)},onPeerClosed:()=>A(`the page script went away`)}),g=t,ee(),C(`connected`),o&&(v=setInterval(()=>{h&&(Date.now()-h.lastActivity>o.timeoutMs?A(`the page script went silent (heartbeat timeout)`):h.postControl(`ping`))},o.intervalMs));for(let e of b.splice(0))e.run();for(let{method:e,args:t}of x.splice(0))E(e,t);w.resubscribe();for(let e of S.splice(0))e.resolve()}function ee(){_&&=(clearTimeout(_),void 0),v&&=(clearInterval(v),void 0)}function A(e){m!==`closed`&&(h?.dispose({reason:e}),h=void 0,g=void 0,ee(),C(`connecting`),u?te():wo(`in-page channel "${t}": transport lost (${e}) and the panel has no handshake targets, so it stays disconnected`))}function te(){if(_||!u||m!==`connecting`)return;let n=e.helloIntervalMs??Uo,r=()=>{let i={channel:go,v:2,kind:`hello`,name:t,panelId:c,instanceId:e.instanceId};for(let e of l)for(let t of a)try{e.postMessage(i,t)}catch{}n=Math.min(n*1.5,Wo),_=setTimeout(r,n)};r()}let j=n=>{if(m===`closed`)return;let r=n.data;if(!vo(r)||r.kind!==`grant`||r.name!==t||r.panelId!==c)return;if(r.v!==2){wo(`in-page channel "${t}": ignoring a grant with protocol version ${r.v} (this side speaks 2); align the devframe versions of the page script and the panel`);return}if(!a.includes(`*`)&&!a.includes(n.origin)){wo(`in-page channel "${t}": ignoring a grant from disallowed origin "${n.origin}"`);return}if(e.instanceId&&r.instanceId!==e.instanceId)return;let i=n.ports?.[0];i&&k(i,{instanceId:r.instanceId})};return i?.addEventListener(`message`,j),e.transport?k(e.transport):u?te():wo(`in-page channel "${t}": the panel has no handshake targets (not embedded, no opener) and no transport, so calls will buffer until a transport appears or the channel is closed`),{name:t,get status(){return m},get pageScript(){return g},events:{on:d.on,once:d.once},whenConnected:e=>m===`connected`?Promise.resolve():m===`closed`?Promise.reject(new $(`closed`,`in-page channel "${t}" is closed`)):new Promise((n,r)=>{let i={resolve:n,reject:r};S.push(i),e!==void 0&&e>0&&setTimeout(()=>{let n=S.indexOf(i);n>=0&&(S.splice(n,1),r(new $(`timeout`,`in-page channel "${t}": no page script answered within ${e}ms; it may not be loaded in this context (render a fallback state)`)))},e)}),call:(e,...t)=>O(No(`function`,e),jo(s,t)),emit:(e,...t)=>D(No(`event`,e),jo(s,t)),on:(e,t)=>f.on(e,t),sharedState:w,close:()=>{if(m===`closed`)return;C(`closed`),p(),ee(),i?.removeEventListener(`message`,j),h?.dispose({bye:!0,reason:`the panel closed the channel`}),h=void 0,g=void 0;let e=new $(`closed`,`in-page channel "${t}" was closed`);for(let t of b.splice(0))t.reject(e);x.length=0;for(let t of S.splice(0))t.reject(e)}}}function qo(){let[e,t]=y(null),[n,r]=y(!1),[i,a]=y(!1),o=Ko({name:la,functions:{},events:{}});return o.events.on(`status:updated`,e=>r(e===`connected`)),o.sharedState.get(`state`).then(e=>{let n=e=>{a(!1),t({...e})};n(e.value()),e.on(`updated`,e=>n(e))}),D(()=>o.close()),{state:e,pageScriptReady:n,scanning:()=>e()?.scanning||i(),activeRoute:()=>e()?.activeRoute??null,preview:e=>o.emit(`highlight`,e.id,e.target),clearPreview:()=>o.emit(`clear-highlight`),setPins:e=>o.emit(`set-pins`,e),rescan:()=>{a(!0),o.emit(`rescan`)},sendConfig:e=>o.emit(`set-config`,e),setAutoScan:e=>o.emit(`set-autoscan`,e),clearRoute:e=>o.emit(`clear-route`,e),clearAll:()=>o.emit(`clear-all`)}}function Jo(){let[e,t]=y(null),[n,r]=y(null),[i,a]=y(null),[o,s]=y(null);return sa().then(async e=>{t(e.connectionMeta.backend),r(e.status),e.events.on(`connection:status`,e=>r(e));try{await e.ensureTrusted(2e3)}catch{}let n=e.callOptional,i=await n(`devframes:plugin:a11y:get-config`);i&&a(i);try{let t=await e.sharedState.get(ua,{initialValue:{activation:null}}),n=e=>{e?.activation&&s({...e.activation})};n(t.value()),t.on(`updated`,n)}catch{}}).catch(()=>{r(`error`)}),{backend:e,status:n,config:i,activation:o}}var Yo=L(`<div class="flex flex-col h-full min-h-0 bg-base color-base font-sans"><p class=sr-only aria-live=polite></p><div id=a11y-scroll class="a11y-scroll flex-1 min-h-0 overflow-y-auto px-4 pb-5">`),Xo=`<script type="module" src="…/inject.js"><\/script>`,Zo=`devframes:plugin:a11y:autoscan`,Qo=(e,t)=>`${e}::${t}`;function $o(e,t){return{nodeId:t.id,target:t.target,impact:e.impact,ruleId:e.ruleId}}function es(){let e=qo(),t=Jo(),[n,r]=y(null),[i,a]=y(!0),[o,s]=y(new Set),[c,l]=y(new Set),[u,d]=y(new Set),[f,p]=y(!1),[m,h]=y(null),g=(()=>{try{return sessionStorage.getItem(Zo)}catch{return null}})(),[_,v]=y(g==null||g===`1`),b=()=>e.state()?.routes??[],w=()=>e.activeRoute(),E=S(()=>b().find(e=>e.route===w())??null),D=()=>e.state()?.engine,O=e=>i()||!e.bestPractice,k=e=>n()===null||e.impact===n(),ee=S(()=>{let e=fa();for(let t of b())for(let n of t.violations)O(n)&&(e[n.impact]+=n.nodes.length);return e}),A=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).reduce((e,t)=>e+t.nodes.length,0),0)),te=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).length,0)),j=S(()=>{let e=b().map(e=>({report:e,active:e.route===w(),violations:e.violations.filter(e=>O(e)&&k(e))})).filter(e=>e.violations.length>0);return e.sort((e,t)=>Number(t.active)-Number(e.active)),e}),ne=S(()=>j().reduce((e,t)=>e+t.violations.length,0)),M=S(()=>b().reduce((e,t)=>e+t.violations.filter(O).length,0)),re=S(()=>{let e=new Set;for(let t of b())o().has(t.route)||e.add(t.route);return e}),ie=S(()=>{let e=u(),t=[];for(let n of b())for(let r of n.violations)if(e.has(Qo(n.route,r.ruleId)))for(let e of r.nodes)t.push($o(r,e));return t}),ae=e=>{let t=[];for(let n of b())for(let r of n.violations)if(O(r)&&r.impact===e)for(let e of r.nodes)t.push($o(r,e));return t},N=S(()=>{let e=u(),t=[];for(let n of b())for(let r of n.violations)e.has(Qo(n.route,r.ruleId))&&t.push({route:n.route,url:n.url,violation:r});return t}),oe=S(()=>j().flatMap(e=>e.violations.map(t=>Qo(e.report.route,t.ruleId)))),se=S(()=>{let e=oe();return e.length>0&&e.every(e=>u().has(e))});function ce(){let e=oe();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.add(t);return n})}function le(){let e=oe();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.has(t)?n.delete(t):n.add(t);return n})}function ue(){d(new Set)}let P={isSelected:(e,t)=>u().has(Qo(e,t)),toggle:(e,t)=>{let n=Qo(e,t);d(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},numberOf:e=>{let t=ie().findIndex(t=>t.nodeId===e);return t===-1?null:t+1}},de=!1;x(()=>{let n=t.config();n&&(e.sendConfig(n.pageScript),!de&&g==null&&(de=!0,v(n.pageScript.autoScan)))}),x(T(_,t=>{e.setAutoScan(t);try{sessionStorage.setItem(Zo,t?`1`:`0`)}catch{}})),x(()=>{let e=w();e&&s(t=>t.has(e)?t:new Set(t).add(e))}),x(()=>{let t=m();e.setPins(t?ae(t):ie())});let fe=new Set;x(()=>{let e=t.config(),n=E();e?.defaultHighlight&&n&&!fe.has(n.route)&&(fe.add(n.route),d(e=>{let t=new Set(e);for(let e of n.violations)t.add(Qo(n.route,e.ruleId));return t}))}),x(T(t.activation,e=>{if(!e)return;let n=t.config();if(n&&e.dockId!==n.dockId)return;let r=e.params??{},i=typeof r.route==`string`?r.route:void 0,a=typeof r.ruleId==`string`?r.ruleId:void 0;r.tab===`dashboard`||!i?document.querySelector(`#a11y-scroll`)?.scrollTo({top:0,behavior:`smooth`}):(C(()=>{s(e=>new Set(e).add(i)),a&&(l(e=>new Set(e).add(`${i}::${a}`)),d(e=>new Set(e).add(Qo(i,a))))}),a&&setTimeout(()=>document.getElementById(Ga(i,a))?.scrollIntoView({block:`center`,behavior:`smooth`}),60))},{defer:!0}));function pe(e){r(t=>t===e?null:e)}function me(e){s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function he(e,t){let n=`${e}::${t}`;l(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})}let ge=()=>e.state()?`${A()} accessibility ${A()===1?`issue`:`issues`} found across ${b().length} ${b().length===1?`route`:`routes`}`:e.scanning()?`Scanning the page`:``;return(()=>{var r=Yo(),o=r.firstChild,s=o.nextSibling;return B(r,F(ka,{get pageScriptReady(){return e.pageScriptReady()},get scanning(){return e.scanning()},get selectedCount(){return N().length},onGenerate:()=>p(!0),get onRescan(){return e.rescan}}),o),B(r,F(Pa,{get url(){return E()?.url},get engine(){return D()},get backend(){return t.backend},get status(){return t.status}}),o),B(o,ge),B(s,F(xe,{get children(){return[F(Se,{get when(){return Ce(()=>!e.state())()&&!e.pageScriptReady()},get children(){return F(ha,{icon:`i-ph-plugs-duotone text-4xl`,title:`No page connected`,body:`Load the inspector page script in the app you want to check, then this panel will list its accessibility issues live.`,code:Xo})}}),F(Se,{get when(){return!e.state()},get children(){return F(ha,{icon:`i-ph-plugs-duotone text-4xl`,title:`Scanning the page…`,body:`Running axe-core against the connected document.`})}}),F(Se,{get when(){return M()===0},get children(){return F(ha,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`No violations`,body:`axe-core found nothing to flag across the tracked routes. Re-run after changes to keep it that way.`})}}),F(Se,{get when(){return M()>0},get children(){return[F(Wa,{get counts(){return ee()},get filter(){return n()},onToggleFilter:pe,onHoverImpact:h,get totalNodes(){return A()},get totalRules(){return te()},get routeCount(){return b().length},get selectedCount(){return N().length},get allSelected(){return se()},onSelectAll:ce,onInvertSelection:le,onClearSelection:ue,get autoScan(){return _()},onToggleAutoScan:v,get showBestPractice(){return i()},onToggleBestPractice:a,get onClearAll(){return e.clearAll}}),F(I,{get when(){return ne()>0},get fallback(){return F(ha,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`Nothing matches the filter`,get body(){return[Ce(M),` `,Ce(()=>M()===1?`rule`:`rules`),` at other severities. Clear the filter to see them.`]}})},get children(){return F(oo,{get groups(){return j()},get collapsedRoutes(){return re()},onToggleGroup:me,get onClearRoute(){return e.clearRoute},get expandedRules(){return c()},onToggleRule:he,channel:e,selection:P})}})]}})]}})),B(r,F(I,{get when(){return Ce(()=>!!f())()&&N().length>0},get children(){return F(Ea,{get items(){return N()},onClose:()=>p(!1)})}}),null),r})()}var ts=window.matchMedia(`(prefers-color-scheme: dark)`);function ns(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}ns(ts.matches),ts.addEventListener(`change`,e=>ns(e.matches));var rs=document.getElementById(`app`);if(!rs)throw Error(`#app mount node missing from index.html`);Ee(()=>F(es,{}),rs),ca();export{mo as n,G as r,po as t};
|