nuxt-devtools-observatory 0.1.32 → 0.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +37 -1
  2. package/client/.env.example +2 -0
  3. package/client/dist/assets/index-BO7neKEi.css +1 -0
  4. package/client/dist/assets/index-fFBuk6M6.js +20 -0
  5. package/client/dist/index.html +2 -2
  6. package/client/src/App.vue +8 -0
  7. package/client/src/components/Flamegraph.vue +4 -4
  8. package/client/src/components/SpanInspector.vue +1 -1
  9. package/client/src/composables/composable-search.ts +3 -0
  10. package/client/src/composables/trace-render-aggregation.ts +11 -2
  11. package/client/src/composables/useVirtualizationConfig.ts +40 -0
  12. package/client/src/composables/useVirtualizationFlags.ts +129 -0
  13. package/client/src/stores/observatory.ts +20 -0
  14. package/client/src/views/ComposableTracker.vue +212 -71
  15. package/client/src/views/FetchDashboard.vue +181 -16
  16. package/client/src/views/PiniaStoreTracker.vue +343 -0
  17. package/client/src/views/ProvideInjectGraph.vue +66 -18
  18. package/client/src/views/RenderHeatmap.vue +329 -75
  19. package/client/src/views/TraceViewer.vue +190 -20
  20. package/client/src/views/TransitionTimeline.vue +112 -19
  21. package/dist/module.d.mts +15 -0
  22. package/dist/module.json +1 -1
  23. package/dist/module.mjs +28 -24
  24. package/dist/runtime/composables/pinia-store-registry.d.ts +44 -0
  25. package/dist/runtime/composables/pinia-store-registry.js +447 -0
  26. package/dist/runtime/composables/provide-inject-registry.js +13 -8
  27. package/dist/runtime/composables/render-registry.js +6 -4
  28. package/dist/runtime/instrumentation/asyncData.d.ts +1 -1
  29. package/dist/runtime/instrumentation/fetch.d.ts +7 -1
  30. package/dist/runtime/instrumentation/fetch.js +22 -1
  31. package/dist/runtime/plugin.js +39 -2
  32. package/dist/runtime/test-bridge.d.ts +18 -0
  33. package/dist/runtime/test-bridge.js +100 -0
  34. package/package.json +14 -3
  35. package/client/dist/assets/index-5Wl1XYRH.js +0 -17
  36. package/client/dist/assets/index-DT_QUiIh.css +0 -1
@@ -0,0 +1,20 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();/**
2
+ * @vue/shared v3.5.30
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function fr(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const Ve={},ys=[],It=()=>{},Eo=()=>!1,xn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),pr=e=>e.startsWith("onUpdate:"),Je=Object.assign,hr=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ll=Object.prototype.hasOwnProperty,Le=(e,t)=>ll.call(e,t),_e=Array.isArray,ks=e=>Js(e)==="[object Map]",wn=e=>Js(e)==="[object Set]",Rr=e=>Js(e)==="[object Date]",$e=e=>typeof e=="function",Ue=e=>typeof e=="string",Ot=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",Io=e=>(Pe(e)||$e(e))&&$e(e.then)&&$e(e.catch),Oo=Object.prototype.toString,Js=e=>Oo.call(e),al=e=>Js(e).slice(8,-1),Ro=e=>Js(e)==="[object Object]",vr=e=>Ue(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rs=fr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sn=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},cl=/-\w/g,_t=Sn(e=>e.replace(cl,t=>t.slice(1).toUpperCase())),ul=/\B([A-Z])/g,ds=Sn(e=>e.replace(ul,"-$1").toLowerCase()),Ao=Sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Dn=Sn(e=>e?`on${Ao(e)}`:""),Et=(e,t)=>!Object.is(e,t),sn=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Fo=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Cn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},dl=e=>{const t=Ue(e)?Number(e):NaN;return isNaN(t)?e:t};let Ar;const Tn=()=>Ar||(Ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Me(e){if(_e(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=Ue(n)?vl(n):Me(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(Ue(e)||Pe(e))return e}const fl=/;(?![^(]*\))/g,pl=/:([^]+)/,hl=/\/\*[^]*?\*\//g;function vl(e){const t={};return e.replace(hl,"").split(fl).forEach(s=>{if(s){const n=s.split(pl);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function re(e){let t="";if(Ue(e))t=e;else if(_e(e))for(let s=0;s<e.length;s++){const n=re(e[s]);n&&(t+=n+" ")}else if(Pe(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const ml="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",_l=fr(ml);function No(e){return!!e||e===""}function gl(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Gs(e[n],t[n]);return s}function Gs(e,t){if(e===t)return!0;let s=Rr(e),n=Rr(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ot(e),n=Ot(t),s||n)return e===t;if(s=_e(e),n=_e(t),s||n)return s&&n?gl(e,t):!1;if(s=Pe(e),n=Pe(t),s||n){if(!s||!n)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const l in e){const a=e.hasOwnProperty(l),c=t.hasOwnProperty(l);if(a&&!c||!a&&c||!Gs(e[l],t[l]))return!1}}return String(e)===String(t)}function bl(e,t){return e.findIndex(s=>Gs(s,t))}const Lo=e=>!!(e&&e.__v_isRef===!0),f=e=>Ue(e)?e:e==null?"":_e(e)||Pe(e)&&(e.toString===Oo||!$e(e.toString))?Lo(e)?f(e.value):JSON.stringify(e,Po,2):String(e),Po=(e,t)=>Lo(t)?Po(e,t.value):ks(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[Vn(n,i)+" =>"]=r,s),{})}:wn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Vn(s))}:Ot(t)?Vn(t):Pe(t)&&!_e(t)&&!Ro(t)?String(t):t,Vn=(e,t="")=>{var s;return Ot(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
+ * @vue/reactivity v3.5.30
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let et;class yl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=et,!t&&et&&(this.index=(et.scopes||(et.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=et;try{return et=this,t()}finally{et=s}}}on(){++this._on===1&&(this.prevScope=et,et=this)}off(){this._on>0&&--this._on===0&&(et=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function kl(){return et}function $l(e,t=!1){et&&et.cleanups.push(e)}let je;const jn=new WeakSet;class Do{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,et&&et.active&&et.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,jn.has(this)&&(jn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||jo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Fr(this),Ho(this);const t=je,s=gt;je=this,gt=!0;try{return this.fn()}finally{zo(this),je=t,gt=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)gr(t);this.deps=this.depsTail=void 0,Fr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?jn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){qn(this)&&this.run()}get dirty(){return qn(this)}}let Vo=0,As,Fs;function jo(e,t=!1){if(e.flags|=8,t){e.next=Fs,Fs=e;return}e.next=As,As=e}function mr(){Vo++}function _r(){if(--Vo>0)return;if(Fs){let t=Fs;for(Fs=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;As;){let t=As;for(As=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Ho(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zo(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),gr(n),xl(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function qn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Vs)||(e.globalVersion=Vs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qn(e))))return;e.flags|=2;const t=e.dep,s=je,n=gt;je=e,gt=!0;try{Ho(e);const r=e.fn(e._value);(t.version===0||Et(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{je=s,gt=n,zo(e),e.flags&=-3}}function gr(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)gr(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function xl(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let gt=!0;const Uo=[];function jt(){Uo.push(gt),gt=!1}function Ht(){const e=Uo.pop();gt=e===void 0?!0:e}function Fr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=je;je=void 0;try{t()}finally{je=s}}}let Vs=0;class wl{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class br{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!je||!gt||je===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==je)s=this.activeLink=new wl(je,this),je.deps?(s.prevDep=je.depsTail,je.depsTail.nextDep=s,je.depsTail=s):je.deps=je.depsTail=s,Wo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=je.depsTail,s.nextDep=void 0,je.depsTail.nextDep=s,je.depsTail=s,je.deps===s&&(je.deps=n)}return s}trigger(t){this.version++,Vs++,this.notify(t)}notify(t){mr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{_r()}}}function Wo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Wo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Xn=new WeakMap,as=Symbol(""),Qn=Symbol(""),js=Symbol("");function tt(e,t,s){if(gt&&je){let n=Xn.get(e);n||Xn.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new br),r.map=n,r.key=s),r.track()}}function Dt(e,t,s,n,r,i){const l=Xn.get(e);if(!l){Vs++;return}const a=c=>{c&&c.trigger()};if(mr(),t==="clear")l.forEach(a);else{const c=_e(e),h=c&&vr(s);if(c&&s==="length"){const d=Number(n);l.forEach((m,y)=>{(y==="length"||y===js||!Ot(y)&&y>=d)&&a(m)})}else switch((s!==void 0||l.has(void 0))&&a(l.get(s)),h&&a(l.get(js)),t){case"add":c?h&&a(l.get("length")):(a(l.get(as)),ks(e)&&a(l.get(Qn)));break;case"delete":c||(a(l.get(as)),ks(e)&&a(l.get(Qn)));break;case"set":ks(e)&&a(l.get(as));break}}_r()}function ps(e){const t=Ne(e);return t===e?t:(tt(t,"iterate",js),ht(e)?t:t.map(bt))}function Mn(e){return tt(e=Ne(e),"iterate",js),e}function Ct(e,t){return zt(e)?Ss(cs(e)?bt(t):t):bt(t)}const Sl={__proto__:null,[Symbol.iterator](){return Hn(this,Symbol.iterator,e=>Ct(this,e))},concat(...e){return ps(this).concat(...e.map(t=>_e(t)?ps(t):t))},entries(){return Hn(this,"entries",e=>(e[1]=Ct(this,e[1]),e))},every(e,t){return Ft(this,"every",e,t,void 0,arguments)},filter(e,t){return Ft(this,"filter",e,t,s=>s.map(n=>Ct(this,n)),arguments)},find(e,t){return Ft(this,"find",e,t,s=>Ct(this,s),arguments)},findIndex(e,t){return Ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ft(this,"findLast",e,t,s=>Ct(this,s),arguments)},findLastIndex(e,t){return Ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return zn(this,"includes",e)},indexOf(...e){return zn(this,"indexOf",e)},join(e){return ps(this).join(e)},lastIndexOf(...e){return zn(this,"lastIndexOf",e)},map(e,t){return Ft(this,"map",e,t,void 0,arguments)},pop(){return Ts(this,"pop")},push(...e){return Ts(this,"push",e)},reduce(e,...t){return Nr(this,"reduce",e,t)},reduceRight(e,...t){return Nr(this,"reduceRight",e,t)},shift(){return Ts(this,"shift")},some(e,t){return Ft(this,"some",e,t,void 0,arguments)},splice(...e){return Ts(this,"splice",e)},toReversed(){return ps(this).toReversed()},toSorted(e){return ps(this).toSorted(e)},toSpliced(...e){return ps(this).toSpliced(...e)},unshift(...e){return Ts(this,"unshift",e)},values(){return Hn(this,"values",e=>Ct(this,e))}};function Hn(e,t,s){const n=Mn(e),r=n[t]();return n!==e&&!ht(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const Cl=Array.prototype;function Ft(e,t,s,n,r,i){const l=Mn(e),a=l!==e&&!ht(e),c=l[t];if(c!==Cl[t]){const m=c.apply(e,i);return a?bt(m):m}let h=s;l!==e&&(a?h=function(m,y){return s.call(this,Ct(e,m),y,e)}:s.length>2&&(h=function(m,y){return s.call(this,m,y,e)}));const d=c.call(l,h,n);return a&&r?r(d):d}function Nr(e,t,s,n){const r=Mn(e),i=r!==e&&!ht(e);let l=s,a=!1;r!==e&&(i?(a=n.length===0,l=function(h,d,m){return a&&(a=!1,h=Ct(e,h)),s.call(this,h,Ct(e,d),m,e)}):s.length>3&&(l=function(h,d,m){return s.call(this,h,d,m,e)}));const c=r[t](l,...n);return a?Ct(e,c):c}function zn(e,t,s){const n=Ne(e);tt(n,"iterate",js);const r=n[t](...s);return(r===-1||r===!1)&&xr(s[0])?(s[0]=Ne(s[0]),n[t](...s)):r}function Ts(e,t,s=[]){jt(),mr();const n=Ne(e)[t].apply(e,s);return _r(),Ht(),n}const Tl=fr("__proto__,__v_isRef,__isVue"),Ko=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ot));function Ml(e){Ot(e)||(e=String(e));const t=Ne(this);return tt(t,"has",e),t.hasOwnProperty(e)}class Jo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Dl:Qo:i?Xo:qo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const l=_e(t);if(!r){let c;if(l&&(c=Sl[s]))return c;if(s==="hasOwnProperty")return Ml}const a=Reflect.get(t,s,st(t)?t:n);if((Ot(s)?Ko.has(s):Tl(s))||(r||tt(t,"get",s),i))return a;if(st(a)){const c=l&&vr(s)?a:a.value;return r&&Pe(c)?Zn(c):c}return Pe(a)?r?Zn(a):kr(a):a}}class Go extends Jo{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const l=_e(t)&&vr(s);if(!this._isShallow){const h=zt(i);if(!ht(n)&&!zt(n)&&(i=Ne(i),n=Ne(n)),!l&&st(i)&&!st(n))return h||(i.value=n),!0}const a=l?Number(s)<t.length:Le(t,s),c=Reflect.set(t,s,n,st(t)?t:r);return t===Ne(r)&&(a?Et(n,i)&&Dt(t,"set",s,n):Dt(t,"add",s,n)),c}deleteProperty(t,s){const n=Le(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&Dt(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!Ot(s)||!Ko.has(s))&&tt(t,"has",s),n}ownKeys(t){return tt(t,"iterate",_e(t)?"length":as),Reflect.ownKeys(t)}}class El extends Jo{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Il=new Go,Ol=new El,Rl=new Go(!0);const Yn=e=>e,Zs=e=>Reflect.getPrototypeOf(e);function Al(e,t,s){return function(...n){const r=this.__v_raw,i=Ne(r),l=ks(i),a=e==="entries"||e===Symbol.iterator&&l,c=e==="keys"&&l,h=r[e](...n),d=s?Yn:t?Ss:bt;return!t&&tt(i,"iterate",c?Qn:as),Je(Object.create(h),{next(){const{value:m,done:y}=h.next();return y?{value:m,done:y}:{value:a?[d(m[0]),d(m[1])]:d(m),done:y}}})}}function en(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Fl(e,t){const s={get(r){const i=this.__v_raw,l=Ne(i),a=Ne(r);e||(Et(r,a)&&tt(l,"get",r),tt(l,"get",a));const{has:c}=Zs(l),h=t?Yn:e?Ss:bt;if(c.call(l,r))return h(i.get(r));if(c.call(l,a))return h(i.get(a));i!==l&&i.get(r)},get size(){const r=this.__v_raw;return!e&&tt(Ne(r),"iterate",as),r.size},has(r){const i=this.__v_raw,l=Ne(i),a=Ne(r);return e||(Et(r,a)&&tt(l,"has",r),tt(l,"has",a)),r===a?i.has(r):i.has(r)||i.has(a)},forEach(r,i){const l=this,a=l.__v_raw,c=Ne(a),h=t?Yn:e?Ss:bt;return!e&&tt(c,"iterate",as),a.forEach((d,m)=>r.call(i,h(d),h(m),l))}};return Je(s,e?{add:en("add"),set:en("set"),delete:en("delete"),clear:en("clear")}:{add(r){const i=Ne(this),l=Zs(i),a=Ne(r),c=!t&&!ht(r)&&!zt(r)?a:r;return l.has.call(i,c)||Et(r,c)&&l.has.call(i,r)||Et(a,c)&&l.has.call(i,a)||(i.add(c),Dt(i,"add",c,c)),this},set(r,i){!t&&!ht(i)&&!zt(i)&&(i=Ne(i));const l=Ne(this),{has:a,get:c}=Zs(l);let h=a.call(l,r);h||(r=Ne(r),h=a.call(l,r));const d=c.call(l,r);return l.set(r,i),h?Et(i,d)&&Dt(l,"set",r,i):Dt(l,"add",r,i),this},delete(r){const i=Ne(this),{has:l,get:a}=Zs(i);let c=l.call(i,r);c||(r=Ne(r),c=l.call(i,r)),a&&a.call(i,r);const h=i.delete(r);return c&&Dt(i,"delete",r,void 0),h},clear(){const r=Ne(this),i=r.size!==0,l=r.clear();return i&&Dt(r,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Al(r,e,t)}),s}function yr(e,t){const s=Fl(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Le(s,r)&&r in n?s:n,r,i)}const Nl={get:yr(!1,!1)},Ll={get:yr(!1,!0)},Pl={get:yr(!0,!1)};const qo=new WeakMap,Xo=new WeakMap,Qo=new WeakMap,Dl=new WeakMap;function Vl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jl(e){return e.__v_skip||!Object.isExtensible(e)?0:Vl(al(e))}function kr(e){return zt(e)?e:$r(e,!1,Il,Nl,qo)}function Hl(e){return $r(e,!1,Rl,Ll,Xo)}function Zn(e){return $r(e,!0,Ol,Pl,Qo)}function $r(e,t,s,n,r){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=jl(e);if(i===0)return e;const l=r.get(e);if(l)return l;const a=new Proxy(e,i===2?n:s);return r.set(e,a),a}function cs(e){return zt(e)?cs(e.__v_raw):!!(e&&e.__v_isReactive)}function zt(e){return!!(e&&e.__v_isReadonly)}function ht(e){return!!(e&&e.__v_isShallow)}function xr(e){return e?!!e.__v_raw:!1}function Ne(e){const t=e&&e.__v_raw;return t?Ne(t):e}function zl(e){return!Le(e,"__v_skip")&&Object.isExtensible(e)&&Fo(e,"__v_skip",!0),e}const bt=e=>Pe(e)?kr(e):e,Ss=e=>Pe(e)?Zn(e):e;function st(e){return e?e.__v_isRef===!0:!1}function se(e){return Zo(e,!1)}function Yo(e){return Zo(e,!0)}function Zo(e,t){return st(e)?e:new Bl(e,t)}class Bl{constructor(t,s){this.dep=new br,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Ne(t),this._value=s?t:bt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||ht(t)||zt(t);t=n?t:Ne(t),Et(t,s)&&(this._rawValue=t,this._value=n?t:bt(t),this.dep.trigger())}}function er(e){e.dep&&e.dep.trigger()}function Ie(e){return st(e)?e.value:e}const Ul={get:(e,t,s)=>t==="__v_raw"?e:Ie(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return st(r)&&!st(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function ei(e){return cs(e)?e:new Proxy(e,Ul)}class Wl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new br(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Vs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&je!==this)return jo(this,!0),!0}get value(){const t=this.dep.track();return Bo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Kl(e,t,s=!1){let n,r;return $e(e)?n=e:(n=e.get,r=e.set),new Wl(n,r,s)}const tn={},un=new WeakMap;let ns;function Jl(e,t=!1,s=ns){if(s){let n=un.get(s);n||un.set(s,n=[]),n.push(e)}}function Gl(e,t,s=Ve){const{immediate:n,deep:r,once:i,scheduler:l,augmentJob:a,call:c}=s,h=w=>r?w:ht(w)||r===!1||r===0?Vt(w,1):Vt(w);let d,m,y,p,k=!1,$=!1;if(st(e)?(m=()=>e.value,k=ht(e)):cs(e)?(m=()=>h(e),k=!0):_e(e)?($=!0,k=e.some(w=>cs(w)||ht(w)),m=()=>e.map(w=>{if(st(w))return w.value;if(cs(w))return h(w);if($e(w))return c?c(w,2):w()})):$e(e)?t?m=c?()=>c(e,2):e:m=()=>{if(y){jt();try{y()}finally{Ht()}}const w=ns;ns=d;try{return c?c(e,3,[p]):e(p)}finally{ns=w}}:m=It,t&&r){const w=m,B=r===!0?1/0:r;m=()=>Vt(w(),B)}const I=kl(),K=()=>{d.stop(),I&&I.active&&hr(I.effects,d)};if(i&&t){const w=t;t=(...B)=>{w(...B),K()}}let j=$?new Array(e.length).fill(tn):tn;const O=w=>{if(!(!(d.flags&1)||!d.dirty&&!w))if(t){const B=d.run();if(r||k||($?B.some((ue,xe)=>Et(ue,j[xe])):Et(B,j))){y&&y();const ue=ns;ns=d;try{const xe=[B,j===tn?void 0:$&&j[0]===tn?[]:j,p];j=B,c?c(t,3,xe):t(...xe)}finally{ns=ue}}}else d.run()};return a&&a(O),d=new Do(m),d.scheduler=l?()=>l(O,!1):O,p=w=>Jl(w,!1,d),y=d.onStop=()=>{const w=un.get(d);if(w){if(c)c(w,4);else for(const B of w)B();un.delete(d)}},t?n?O(!0):j=d.run():l?l(O.bind(null,!0),!0):d.run(),K.pause=d.pause.bind(d),K.resume=d.resume.bind(d),K.stop=K,K}function Vt(e,t=1/0,s){if(t<=0||!Pe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,st(e))Vt(e.value,t,s);else if(_e(e))for(let n=0;n<e.length;n++)Vt(e[n],t,s);else if(wn(e)||ks(e))e.forEach(n=>{Vt(n,t,s)});else if(Ro(e)){for(const n in e)Vt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Vt(e[n],t,s)}return e}/**
10
+ * @vue/runtime-core v3.5.30
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function qs(e,t,s,n){try{return n?e(...n):e()}catch(r){En(r,t,s)}}function yt(e,t,s,n){if($e(e)){const r=qs(e,t,s,n);return r&&Io(r)&&r.catch(i=>{En(i,t,s)}),r}if(_e(e)){const r=[];for(let i=0;i<e.length;i++)r.push(yt(e[i],t,s,n));return r}}function En(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||Ve;if(t){let a=t.parent;const c=t.proxy,h=`https://vuejs.org/error-reference/#runtime-${s}`;for(;a;){const d=a.ec;if(d){for(let m=0;m<d.length;m++)if(d[m](e,c,h)===!1)return}a=a.parent}if(i){jt(),qs(i,null,10,[e,c,h]),Ht();return}}ql(e,s,r,n,l)}function ql(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const rt=[];let xt=-1;const $s=[];let Gt=null,gs=0;const ti=Promise.resolve();let dn=null;function si(e){const t=dn||ti;return e?t.then(this?e.bind(this):e):t}function Xl(e){let t=xt+1,s=rt.length;for(;t<s;){const n=t+s>>>1,r=rt[n],i=Hs(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function wr(e){if(!(e.flags&1)){const t=Hs(e),s=rt[rt.length-1];!s||!(e.flags&2)&&t>=Hs(s)?rt.push(e):rt.splice(Xl(t),0,e),e.flags|=1,ni()}}function ni(){dn||(dn=ti.then(oi))}function Ql(e){_e(e)?$s.push(...e):Gt&&e.id===-1?Gt.splice(gs+1,0,e):e.flags&1||($s.push(e),e.flags|=1),ni()}function Lr(e,t,s=xt+1){for(;s<rt.length;s++){const n=rt[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;rt.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function ri(e){if($s.length){const t=[...new Set($s)].sort((s,n)=>Hs(s)-Hs(n));if($s.length=0,Gt){Gt.push(...t);return}for(Gt=t,gs=0;gs<Gt.length;gs++){const s=Gt[gs];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}Gt=null,gs=0}}const Hs=e=>e.id==null?e.flags&2?-1:1/0:e.id;function oi(e){try{for(xt=0;xt<rt.length;xt++){const t=rt[xt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),qs(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;xt<rt.length;xt++){const t=rt[xt];t&&(t.flags&=-2)}xt=-1,rt.length=0,ri(),dn=null,(rt.length||$s.length)&&oi()}}let pt=null,ii=null;function fn(e){const t=pt;return pt=e,ii=e&&e.type.__scopeId||null,t}function zs(e,t=pt,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&vn(-1);const i=fn(t);let l;try{l=e(...r)}finally{fn(i),n._d&&vn(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function qt(e,t){if(pt===null)return e;const s=Fn(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,l,a,c=Ve]=t[r];i&&($e(i)&&(i={mounted:i,updated:i}),i.deep&&Vt(l),n.push({dir:i,instance:s,value:l,oldValue:void 0,arg:a,modifiers:c}))}return e}function Yt(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let l=0;l<r.length;l++){const a=r[l];i&&(a.oldValue=i[l].value);let c=a.dir[n];c&&(jt(),yt(c,s,8,[e.el,a,e,t]),Ht())}}function Yl(e,t){if(it){let s=it.provides;const n=it.parent&&it.parent.provides;n===s&&(s=it.provides=Object.create(n)),s[e]=t}}function nn(e,t,s=!1){const n=Di();if(n||xs){let r=xs?xs._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&$e(t)?t.call(n&&n.proxy):t}}const Zl=Symbol.for("v-scx"),ea=()=>nn(Zl);function vt(e,t,s){return li(e,t,s)}function li(e,t,s=Ve){const{immediate:n,deep:r,flush:i,once:l}=s,a=Je({},s),c=t&&n||!t&&i!=="post";let h;if(Ws){if(i==="sync"){const p=ea();h=p.__watcherHandles||(p.__watcherHandles=[])}else if(!c){const p=()=>{};return p.stop=It,p.resume=It,p.pause=It,p}}const d=it;a.call=(p,k,$)=>yt(p,d,k,$);let m=!1;i==="post"?a.scheduler=p=>{ct(p,d&&d.suspense)}:i!=="sync"&&(m=!0,a.scheduler=(p,k)=>{k?p():wr(p)}),a.augmentJob=p=>{t&&(p.flags|=4),m&&(p.flags|=2,d&&(p.id=d.uid,p.i=d))};const y=Gl(e,t,a);return Ws&&(h?h.push(y):c&&y()),y}function ta(e,t,s){const n=this.proxy,r=Ue(e)?e.includes(".")?ai(n,e):()=>n[e]:e.bind(n,n);let i;$e(t)?i=t:(i=t.handler,s=t);const l=Xs(this),a=li(r,i.bind(n),s);return l(),a}function ai(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const sa=Symbol("_vte"),ci=e=>e.__isTeleport,wt=Symbol("_leaveCb"),Ms=Symbol("_enterCb");function na(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return _i(()=>{e.isMounted=!0}),Sr(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],ui={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},di=e=>{const t=e.subTree;return t.component?di(t.component):t},ra={name:"BaseTransition",props:ui,setup(e,{slots:t}){const s=Di(),n=na();return()=>{const r=t.default&&hi(t.default(),!0);if(!r||!r.length)return;const i=fi(r),l=Ne(e),{mode:a}=l;if(n.isLeaving)return Bn(i);const c=Pr(i);if(!c)return Bn(i);let h=tr(c,l,n,s,m=>h=m);c.type!==ot&&Bs(c,h);let d=s.subTree&&Pr(s.subTree);if(d&&d.type!==ot&&!os(d,c)&&di(s).type!==ot){let m=tr(d,l,n,s);if(Bs(d,m),a==="out-in"&&c.type!==ot)return n.isLeaving=!0,m.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete m.afterLeave,d=void 0},Bn(i);a==="in-out"&&c.type!==ot?m.delayLeave=(y,p,k)=>{const $=pi(n,d);$[String(d.key)]=d,y[wt]=()=>{p(),y[wt]=void 0,delete h.delayedLeave,d=void 0},h.delayedLeave=()=>{k(),delete h.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return i}}};function fi(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==ot){t=s;break}}return t}const oa=ra;function pi(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function tr(e,t,s,n,r){const{appear:i,mode:l,persisted:a=!1,onBeforeEnter:c,onEnter:h,onAfterEnter:d,onEnterCancelled:m,onBeforeLeave:y,onLeave:p,onAfterLeave:k,onLeaveCancelled:$,onBeforeAppear:I,onAppear:K,onAfterAppear:j,onAppearCancelled:O}=t,w=String(e.key),B=pi(s,e),ue=(de,ge)=>{de&&yt(de,n,9,ge)},xe=(de,ge)=>{const we=ge[1];ue(de,ge),_e(de)?de.every(T=>T.length<=1)&&we():de.length<=1&&we()},ke={mode:l,persisted:a,beforeEnter(de){let ge=c;if(!s.isMounted)if(i)ge=I||c;else return;de[wt]&&de[wt](!0);const we=B[w];we&&os(e,we)&&we.el[wt]&&we.el[wt](),ue(ge,[de])},enter(de){if(B[w]===e)return;let ge=h,we=d,T=m;if(!s.isMounted)if(i)ge=K||h,we=j||d,T=O||m;else return;let F=!1;de[Ms]=D=>{F||(F=!0,D?ue(T,[de]):ue(we,[de]),ke.delayedLeave&&ke.delayedLeave(),de[Ms]=void 0)};const ie=de[Ms].bind(null,!1);ge?xe(ge,[de,ie]):ie()},leave(de,ge){const we=String(e.key);if(de[Ms]&&de[Ms](!0),s.isUnmounting)return ge();ue(y,[de]);let T=!1;de[wt]=ie=>{T||(T=!0,ge(),ie?ue($,[de]):ue(k,[de]),de[wt]=void 0,B[we]===e&&delete B[we])};const F=de[wt].bind(null,!1);B[we]=e,p?xe(p,[de,F]):F()},clone(de){const ge=tr(de,t,s,n,r);return r&&r(ge),ge}};return ke}function Bn(e){if(In(e))return e=Xt(e),e.children=null,e}function Pr(e){if(!In(e))return ci(e.type)&&e.children?fi(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&$e(s.default))return s.default()}}function Bs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Bs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function hi(e,t=!1,s){let n=[],r=0;for(let i=0;i<e.length;i++){let l=e[i];const a=s==null?l.key:String(s)+String(l.key!=null?l.key:i);l.type===ve?(l.patchFlag&128&&r++,n=n.concat(hi(l.children,t,a))):(t||l.type!==ot)&&n.push(a!=null?Xt(l,{key:a}):l)}if(r>1)for(let i=0;i<n.length;i++)n[i].patchFlag=-2;return n}function dt(e,t){return $e(e)?Je({name:e.name},t,{setup:e}):e}function vi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Dr(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const pn=new WeakMap;function Ns(e,t,s,n,r=!1){if(_e(e)){e.forEach(($,I)=>Ns($,t&&(_e(t)?t[I]:t),s,n,r));return}if(Ls(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ns(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Fn(n.component):n.el,l=r?null:i,{i:a,r:c}=e,h=t&&t.r,d=a.refs===Ve?a.refs={}:a.refs,m=a.setupState,y=Ne(m),p=m===Ve?Eo:$=>Dr(d,$)?!1:Le(y,$),k=($,I)=>!(I&&Dr(d,I));if(h!=null&&h!==c){if(Vr(t),Ue(h))d[h]=null,p(h)&&(m[h]=null);else if(st(h)){const $=t;k(h,$.k)&&(h.value=null),$.k&&(d[$.k]=null)}}if($e(c))qs(c,a,12,[l,d]);else{const $=Ue(c),I=st(c);if($||I){const K=()=>{if(e.f){const j=$?p(c)?m[c]:d[c]:k()||!e.k?c.value:d[e.k];if(r)_e(j)&&hr(j,i);else if(_e(j))j.includes(i)||j.push(i);else if($)d[c]=[i],p(c)&&(m[c]=d[c]);else{const O=[i];k(c,e.k)&&(c.value=O),e.k&&(d[e.k]=O)}}else $?(d[c]=l,p(c)&&(m[c]=l)):I&&(k(c,e.k)&&(c.value=l),e.k&&(d[e.k]=l))};if(l){const j=()=>{K(),pn.delete(e)};j.id=-1,pn.set(e,j),ct(j,s)}else Vr(e),K()}}}function Vr(e){const t=pn.get(e);t&&(t.flags|=8,pn.delete(e))}Tn().requestIdleCallback;Tn().cancelIdleCallback;const Ls=e=>!!e.type.__asyncLoader,In=e=>e.type.__isKeepAlive;function ia(e,t){mi(e,"a",t)}function la(e,t){mi(e,"da",t)}function mi(e,t,s=it){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(On(t,n,s),s){let r=s.parent;for(;r&&r.parent;)In(r.parent.vnode)&&aa(n,t,s,r),r=r.parent}}function aa(e,t,s,n){const r=On(t,e,n,!0);gi(()=>{hr(n[t],r)},s)}function On(e,t,s=it,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...l)=>{jt();const a=Xs(s),c=yt(t,s,e,l);return a(),Ht(),c});return n?r.unshift(i):r.push(i),i}}const Ut=e=>(t,s=it)=>{(!Ws||e==="sp")&&On(e,(...n)=>t(...n),s)},ca=Ut("bm"),_i=Ut("m"),ua=Ut("bu"),da=Ut("u"),Sr=Ut("bum"),gi=Ut("um"),fa=Ut("sp"),pa=Ut("rtg"),ha=Ut("rtc");function va(e,t=it){On("ec",e,t)}const ma=Symbol.for("v-ndc");function Oe(e,t,s,n){let r;const i=s,l=_e(e);if(l||Ue(e)){const a=l&&cs(e);let c=!1,h=!1;a&&(c=!ht(e),h=zt(e),e=Mn(e)),r=new Array(e.length);for(let d=0,m=e.length;d<m;d++)r[d]=t(c?h?Ss(bt(e[d])):bt(e[d]):e[d],d,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let a=0;a<e;a++)r[a]=t(a+1,a,void 0,i)}else if(Pe(e))if(e[Symbol.iterator])r=Array.from(e,(a,c)=>t(a,c,void 0,i));else{const a=Object.keys(e);r=new Array(a.length);for(let c=0,h=a.length;c<h;c++){const d=a[c];r[c]=t(e[d],d,c,i)}}else r=[];return r}const sr=e=>e?Vi(e)?Fn(e):sr(e.parent):null,Ps=Je(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>sr(e.parent),$root:e=>sr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>yi(e),$forceUpdate:e=>e.f||(e.f=()=>{wr(e.update)}),$nextTick:e=>e.n||(e.n=si.bind(e.proxy)),$watch:e=>ta.bind(e)}),Un=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Le(e,t),_a={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:l,type:a,appContext:c}=e;if(t[0]!=="$"){const y=l[t];if(y!==void 0)switch(y){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(Un(n,t))return l[t]=1,n[t];if(r!==Ve&&Le(r,t))return l[t]=2,r[t];if(Le(i,t))return l[t]=3,i[t];if(s!==Ve&&Le(s,t))return l[t]=4,s[t];nr&&(l[t]=0)}}const h=Ps[t];let d,m;if(h)return t==="$attrs"&&tt(e.attrs,"get",""),h(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(s!==Ve&&Le(s,t))return l[t]=4,s[t];if(m=c.config.globalProperties,Le(m,t))return m[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return Un(r,t)?(r[t]=s,!0):n!==Ve&&Le(n,t)?(n[t]=s,!0):Le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:l}},a){let c;return!!(s[a]||e!==Ve&&a[0]!=="$"&&Le(e,a)||Un(t,a)||Le(i,a)||Le(n,a)||Le(Ps,a)||Le(r.config.globalProperties,a)||(c=l.__cssModules)&&c[a])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Le(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function jr(e){return _e(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let nr=!0;function ga(e){const t=yi(e),s=e.proxy,n=e.ctx;nr=!1,t.beforeCreate&&Hr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:l,watch:a,provide:c,inject:h,created:d,beforeMount:m,mounted:y,beforeUpdate:p,updated:k,activated:$,deactivated:I,beforeDestroy:K,beforeUnmount:j,destroyed:O,unmounted:w,render:B,renderTracked:ue,renderTriggered:xe,errorCaptured:ke,serverPrefetch:de,expose:ge,inheritAttrs:we,components:T,directives:F,filters:ie}=t;if(h&&ba(h,n,null),l)for(const S in l){const Y=l[S];$e(Y)&&(n[S]=Y.bind(s))}if(r){const S=r.call(s,s);Pe(S)&&(e.data=kr(S))}if(nr=!0,i)for(const S in i){const Y=i[S],me=$e(Y)?Y.bind(s,s):$e(Y.get)?Y.get.bind(s,s):It,he=!$e(Y)&&$e(Y.set)?Y.set.bind(s):It,X=R({get:me,set:he});Object.defineProperty(n,S,{enumerable:!0,configurable:!0,get:()=>X.value,set:Se=>X.value=Se})}if(a)for(const S in a)bi(a[S],n,s,S);if(c){const S=$e(c)?c.call(s):c;Reflect.ownKeys(S).forEach(Y=>{Yl(Y,S[Y])})}d&&Hr(d,e,"c");function A(S,Y){_e(Y)?Y.forEach(me=>S(me.bind(s))):Y&&S(Y.bind(s))}if(A(ca,m),A(_i,y),A(ua,p),A(da,k),A(ia,$),A(la,I),A(va,ke),A(ha,ue),A(pa,xe),A(Sr,j),A(gi,w),A(fa,de),_e(ge))if(ge.length){const S=e.exposed||(e.exposed={});ge.forEach(Y=>{Object.defineProperty(S,Y,{get:()=>s[Y],set:me=>s[Y]=me,enumerable:!0})})}else e.exposed||(e.exposed={});B&&e.render===It&&(e.render=B),we!=null&&(e.inheritAttrs=we),T&&(e.components=T),F&&(e.directives=F),de&&vi(e)}function ba(e,t,s=It){_e(e)&&(e=rr(e));for(const n in e){const r=e[n];let i;Pe(r)?"default"in r?i=nn(r.from||n,r.default,!0):i=nn(r.from||n):i=nn(r),st(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[n]=i}}function Hr(e,t,s){yt(_e(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function bi(e,t,s,n){let r=n.includes(".")?ai(s,n):()=>s[n];if(Ue(e)){const i=t[e];$e(i)&&vt(r,i)}else if($e(e))vt(r,e.bind(s));else if(Pe(e))if(_e(e))e.forEach(i=>bi(i,t,s,n));else{const i=$e(e.handler)?e.handler.bind(s):t[e.handler];$e(i)&&vt(r,i,e)}}function yi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:l}}=e.appContext,a=i.get(t);let c;return a?c=a:!r.length&&!s&&!n?c=t:(c={},r.length&&r.forEach(h=>hn(c,h,l,!0)),hn(c,t,l)),Pe(t)&&i.set(t,c),c}function hn(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&hn(e,i,s,!0),r&&r.forEach(l=>hn(e,l,s,!0));for(const l in t)if(!(n&&l==="expose")){const a=ya[l]||s&&s[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const ya={data:zr,props:Br,emits:Br,methods:Os,computed:Os,beforeCreate:nt,created:nt,beforeMount:nt,mounted:nt,beforeUpdate:nt,updated:nt,beforeDestroy:nt,beforeUnmount:nt,destroyed:nt,unmounted:nt,activated:nt,deactivated:nt,errorCaptured:nt,serverPrefetch:nt,components:Os,directives:Os,watch:$a,provide:zr,inject:ka};function zr(e,t){return t?e?function(){return Je($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function ka(e,t){return Os(rr(e),rr(t))}function rr(e){if(_e(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function nt(e,t){return e?[...new Set([].concat(e,t))]:t}function Os(e,t){return e?Je(Object.create(null),e,t):t}function Br(e,t){return e?_e(e)&&_e(t)?[...new Set([...e,...t])]:Je(Object.create(null),jr(e),jr(t??{})):t}function $a(e,t){if(!e)return t;if(!t)return e;const s=Je(Object.create(null),e);for(const n in t)s[n]=nt(e[n],t[n]);return s}function ki(){return{app:null,config:{isNativeTag:Eo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let xa=0;function wa(e,t){return function(n,r=null){$e(n)||(n=Je({},n)),r!=null&&!Pe(r)&&(r=null);const i=ki(),l=new WeakSet,a=[];let c=!1;const h=i.app={_uid:xa++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:sc,get config(){return i.config},set config(d){},use(d,...m){return l.has(d)||(d&&$e(d.install)?(l.add(d),d.install(h,...m)):$e(d)&&(l.add(d),d(h,...m))),h},mixin(d){return i.mixins.includes(d)||i.mixins.push(d),h},component(d,m){return m?(i.components[d]=m,h):i.components[d]},directive(d,m){return m?(i.directives[d]=m,h):i.directives[d]},mount(d,m,y){if(!c){const p=h._ceVNode||Be(n,r);return p.appContext=i,y===!0?y="svg":y===!1&&(y=void 0),e(p,d,y),c=!0,h._container=d,d.__vue_app__=h,Fn(p.component)}},onUnmount(d){a.push(d)},unmount(){c&&(yt(a,h._instance,16),e(null,h._container),delete h._container.__vue_app__)},provide(d,m){return i.provides[d]=m,h},runWithContext(d){const m=xs;xs=h;try{return d()}finally{xs=m}}};return h}}let xs=null;const Sa=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_t(t)}Modifiers`]||e[`${ds(t)}Modifiers`];function Ca(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=s;const i=t.startsWith("update:"),l=i&&Sa(n,t.slice(7));l&&(l.trim&&(r=s.map(d=>Ue(d)?d.trim():d)),l.number&&(r=s.map(Cn)));let a,c=n[a=Dn(t)]||n[a=Dn(_t(t))];!c&&i&&(c=n[a=Dn(ds(t))]),c&&yt(c,e,6,r);const h=n[a+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,yt(h,e,6,r)}}const Ta=new WeakMap;function $i(e,t,s=!1){const n=s?Ta:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let l={},a=!1;if(!$e(e)){const c=h=>{const d=$i(h,t,!0);d&&(a=!0,Je(l,d))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(Pe(e)&&n.set(e,null),null):(_e(i)?i.forEach(c=>l[c]=null):Je(l,i),Pe(e)&&n.set(e,l),l)}function Rn(e,t){return!e||!xn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Le(e,t[0].toLowerCase()+t.slice(1))||Le(e,ds(t))||Le(e,t))}function Ur(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:l,attrs:a,emit:c,render:h,renderCache:d,props:m,data:y,setupState:p,ctx:k,inheritAttrs:$}=e,I=fn(e);let K,j;try{if(s.shapeFlag&4){const w=r||n,B=w;K=Tt(h.call(B,w,d,m,p,y,k)),j=a}else{const w=t;K=Tt(w.length>1?w(m,{attrs:a,slots:l,emit:c}):w(m,null)),j=t.props?a:Ma(a)}}catch(w){Ds.length=0,En(w,e,1),K=Be(ot)}let O=K;if(j&&$!==!1){const w=Object.keys(j),{shapeFlag:B}=O;w.length&&B&7&&(i&&w.some(pr)&&(j=Ea(j,i)),O=Xt(O,j,!1,!0))}return s.dirs&&(O=Xt(O,null,!1,!0),O.dirs=O.dirs?O.dirs.concat(s.dirs):s.dirs),s.transition&&Bs(O,s.transition),K=O,fn(I),K}const Ma=e=>{let t;for(const s in e)(s==="class"||s==="style"||xn(s))&&((t||(t={}))[s]=e[s]);return t},Ea=(e,t)=>{const s={};for(const n in e)(!pr(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Ia(e,t,s){const{props:n,children:r,component:i}=e,{props:l,children:a,patchFlag:c}=t,h=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?Wr(n,l,h):!!l;if(c&8){const d=t.dynamicProps;for(let m=0;m<d.length;m++){const y=d[m];if(xi(l,n,y)&&!Rn(h,y))return!0}}}else return(r||a)&&(!a||!a.$stable)?!0:n===l?!1:n?l?Wr(n,l,h):!0:!!l;return!1}function Wr(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(xi(t,e,i)&&!Rn(s,i))return!0}return!1}function xi(e,t,s){const n=e[s],r=t[s];return s==="style"&&Pe(n)&&Pe(r)?!Gs(n,r):n!==r}function Oa({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const wi={},Si=()=>Object.create(wi),Ci=e=>Object.getPrototypeOf(e)===wi;function Ra(e,t,s,n=!1){const r={},i=Si();e.propsDefaults=Object.create(null),Ti(e,t,r,i);for(const l in e.propsOptions[0])l in r||(r[l]=void 0);s?e.props=n?r:Hl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Aa(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:l}}=e,a=Ne(r),[c]=e.propsOptions;let h=!1;if((n||l>0)&&!(l&16)){if(l&8){const d=e.vnode.dynamicProps;for(let m=0;m<d.length;m++){let y=d[m];if(Rn(e.emitsOptions,y))continue;const p=t[y];if(c)if(Le(i,y))p!==i[y]&&(i[y]=p,h=!0);else{const k=_t(y);r[k]=or(c,a,k,p,e,!1)}else p!==i[y]&&(i[y]=p,h=!0)}}}else{Ti(e,t,r,i)&&(h=!0);let d;for(const m in a)(!t||!Le(t,m)&&((d=ds(m))===m||!Le(t,d)))&&(c?s&&(s[m]!==void 0||s[d]!==void 0)&&(r[m]=or(c,a,m,void 0,e,!0)):delete r[m]);if(i!==a)for(const m in i)(!t||!Le(t,m))&&(delete i[m],h=!0)}h&&Dt(e.attrs,"set","")}function Ti(e,t,s,n){const[r,i]=e.propsOptions;let l=!1,a;if(t)for(let c in t){if(Rs(c))continue;const h=t[c];let d;r&&Le(r,d=_t(c))?!i||!i.includes(d)?s[d]=h:(a||(a={}))[d]=h:Rn(e.emitsOptions,c)||(!(c in n)||h!==n[c])&&(n[c]=h,l=!0)}if(i){const c=Ne(s),h=a||Ve;for(let d=0;d<i.length;d++){const m=i[d];s[m]=or(r,c,m,h[m],e,!Le(h,m))}}return l}function or(e,t,s,n,r,i){const l=e[s];if(l!=null){const a=Le(l,"default");if(a&&n===void 0){const c=l.default;if(l.type!==Function&&!l.skipFactory&&$e(c)){const{propsDefaults:h}=r;if(s in h)n=h[s];else{const d=Xs(r);n=h[s]=c.call(null,t),d()}}else n=c;r.ce&&r.ce._setProp(s,n)}l[0]&&(i&&!a?n=!1:l[1]&&(n===""||n===ds(s))&&(n=!0))}return n}const Fa=new WeakMap;function Mi(e,t,s=!1){const n=s?Fa:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,l={},a=[];let c=!1;if(!$e(e)){const d=m=>{c=!0;const[y,p]=Mi(m,t,!0);Je(l,y),p&&a.push(...p)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return Pe(e)&&n.set(e,ys),ys;if(_e(i))for(let d=0;d<i.length;d++){const m=_t(i[d]);Kr(m)&&(l[m]=Ve)}else if(i)for(const d in i){const m=_t(d);if(Kr(m)){const y=i[d],p=l[m]=_e(y)||$e(y)?{type:y}:Je({},y),k=p.type;let $=!1,I=!0;if(_e(k))for(let K=0;K<k.length;++K){const j=k[K],O=$e(j)&&j.name;if(O==="Boolean"){$=!0;break}else O==="String"&&(I=!1)}else $=$e(k)&&k.name==="Boolean";p[0]=$,p[1]=I,($||Le(p,"default"))&&a.push(m)}}const h=[l,a];return Pe(e)&&n.set(e,h),h}function Kr(e){return e[0]!=="$"&&!Rs(e)}const Cr=e=>e==="_"||e==="_ctx"||e==="$stable",Tr=e=>_e(e)?e.map(Tt):[Tt(e)],Na=(e,t,s)=>{if(t._n)return t;const n=zs((...r)=>Tr(t(...r)),s);return n._c=!1,n},Ei=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Cr(r))continue;const i=e[r];if($e(i))t[r]=Na(r,i,n);else if(i!=null){const l=Tr(i);t[r]=()=>l}}},Ii=(e,t)=>{const s=Tr(t);e.slots.default=()=>s},Oi=(e,t,s)=>{for(const n in t)(s||!Cr(n))&&(e[n]=t[n])},La=(e,t,s)=>{const n=e.slots=Si();if(e.vnode.shapeFlag&32){const r=t._;r?(Oi(n,t,s),s&&Fo(n,"_",r,!0)):Ei(t,n)}else t&&Ii(e,t)},Pa=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,l=Ve;if(n.shapeFlag&32){const a=t._;a?s&&a===1?i=!1:Oi(r,t,s):(i=!t.$stable,Ei(t,r)),l=t}else t&&(Ii(e,t),l={default:1});if(i)for(const a in r)!Cr(a)&&l[a]==null&&delete r[a]},ct=za;function Da(e){return Va(e)}function Va(e,t){const s=Tn();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:l,createText:a,createComment:c,setText:h,setElementText:d,parentNode:m,nextSibling:y,setScopeId:p=It,insertStaticContent:k}=e,$=(u,g,C,L=null,P=null,N=null,ee=void 0,q=null,Z=!!g.dynamicChildren)=>{if(u===g)return;u&&!os(u,g)&&(L=lt(u),Se(u,P,N,!0),u=null),g.patchFlag===-2&&(Z=!1,g.dynamicChildren=null);const{type:z,ref:pe,shapeFlag:ne}=g;switch(z){case An:I(u,g,C,L);break;case ot:K(u,g,C,L);break;case rn:u==null&&j(g,C,L,ee);break;case ve:T(u,g,C,L,P,N,ee,q,Z);break;default:ne&1?B(u,g,C,L,P,N,ee,q,Z):ne&6?F(u,g,C,L,P,N,ee,q,Z):(ne&64||ne&128)&&z.process(u,g,C,L,P,N,ee,q,Z,J)}pe!=null&&P?Ns(pe,u&&u.ref,N,g||u,!g):pe==null&&u&&u.ref!=null&&Ns(u.ref,null,N,u,!0)},I=(u,g,C,L)=>{if(u==null)n(g.el=a(g.children),C,L);else{const P=g.el=u.el;g.children!==u.children&&h(P,g.children)}},K=(u,g,C,L)=>{u==null?n(g.el=c(g.children||""),C,L):g.el=u.el},j=(u,g,C,L)=>{[u.el,u.anchor]=k(u.children,g,C,L,u.el,u.anchor)},O=({el:u,anchor:g},C,L)=>{let P;for(;u&&u!==g;)P=y(u),n(u,C,L),u=P;n(g,C,L)},w=({el:u,anchor:g})=>{let C;for(;u&&u!==g;)C=y(u),r(u),u=C;r(g)},B=(u,g,C,L,P,N,ee,q,Z)=>{if(g.type==="svg"?ee="svg":g.type==="math"&&(ee="mathml"),u==null)ue(g,C,L,P,N,ee,q,Z);else{const z=u.el&&u.el._isVueCE?u.el:null;try{z&&z._beginPatch(),de(u,g,P,N,ee,q,Z)}finally{z&&z._endPatch()}}},ue=(u,g,C,L,P,N,ee,q)=>{let Z,z;const{props:pe,shapeFlag:ne,transition:ce,dirs:be}=u;if(Z=u.el=l(u.type,N,pe&&pe.is,pe),ne&8?d(Z,u.children):ne&16&&ke(u.children,Z,null,L,P,Wn(u,N),ee,q),be&&Yt(u,null,L,"created"),xe(Z,u,u.scopeId,ee,L),pe){for(const Re in pe)Re!=="value"&&!Rs(Re)&&i(Z,Re,null,pe[Re],N,L);"value"in pe&&i(Z,"value",null,pe.value,N),(z=pe.onVnodeBeforeMount)&&$t(z,L,u)}be&&Yt(u,null,L,"beforeMount");const Te=ja(P,ce);Te&&ce.beforeEnter(Z),n(Z,g,C),((z=pe&&pe.onVnodeMounted)||Te||be)&&ct(()=>{z&&$t(z,L,u),Te&&ce.enter(Z),be&&Yt(u,null,L,"mounted")},P)},xe=(u,g,C,L,P)=>{if(C&&p(u,C),L)for(let N=0;N<L.length;N++)p(u,L[N]);if(P){let N=P.subTree;if(g===N||Ni(N.type)&&(N.ssContent===g||N.ssFallback===g)){const ee=P.vnode;xe(u,ee,ee.scopeId,ee.slotScopeIds,P.parent)}}},ke=(u,g,C,L,P,N,ee,q,Z=0)=>{for(let z=Z;z<u.length;z++){const pe=u[z]=q?Pt(u[z]):Tt(u[z]);$(null,pe,g,C,L,P,N,ee,q)}},de=(u,g,C,L,P,N,ee)=>{const q=g.el=u.el;let{patchFlag:Z,dynamicChildren:z,dirs:pe}=g;Z|=u.patchFlag&16;const ne=u.props||Ve,ce=g.props||Ve;let be;if(C&&Zt(C,!1),(be=ce.onVnodeBeforeUpdate)&&$t(be,C,g,u),pe&&Yt(g,u,C,"beforeUpdate"),C&&Zt(C,!0),(ne.innerHTML&&ce.innerHTML==null||ne.textContent&&ce.textContent==null)&&d(q,""),z?ge(u.dynamicChildren,z,q,C,L,Wn(g,P),N):ee||Y(u,g,q,null,C,L,Wn(g,P),N,!1),Z>0){if(Z&16)we(q,ne,ce,C,P);else if(Z&2&&ne.class!==ce.class&&i(q,"class",null,ce.class,P),Z&4&&i(q,"style",ne.style,ce.style,P),Z&8){const Te=g.dynamicProps;for(let Re=0;Re<Te.length;Re++){const Fe=Te[Re],Ke=ne[Fe],Ge=ce[Fe];(Ge!==Ke||Fe==="value")&&i(q,Fe,Ke,Ge,P,C)}}Z&1&&u.children!==g.children&&d(q,g.children)}else!ee&&z==null&&we(q,ne,ce,C,P);((be=ce.onVnodeUpdated)||pe)&&ct(()=>{be&&$t(be,C,g,u),pe&&Yt(g,u,C,"updated")},L)},ge=(u,g,C,L,P,N,ee)=>{for(let q=0;q<g.length;q++){const Z=u[q],z=g[q],pe=Z.el&&(Z.type===ve||!os(Z,z)||Z.shapeFlag&198)?m(Z.el):C;$(Z,z,pe,null,L,P,N,ee,!0)}},we=(u,g,C,L,P)=>{if(g!==C){if(g!==Ve)for(const N in g)!Rs(N)&&!(N in C)&&i(u,N,g[N],null,P,L);for(const N in C){if(Rs(N))continue;const ee=C[N],q=g[N];ee!==q&&N!=="value"&&i(u,N,q,ee,P,L)}"value"in C&&i(u,"value",g.value,C.value,P)}},T=(u,g,C,L,P,N,ee,q,Z)=>{const z=g.el=u?u.el:a(""),pe=g.anchor=u?u.anchor:a("");let{patchFlag:ne,dynamicChildren:ce,slotScopeIds:be}=g;be&&(q=q?q.concat(be):be),u==null?(n(z,C,L),n(pe,C,L),ke(g.children||[],C,pe,P,N,ee,q,Z)):ne>0&&ne&64&&ce&&u.dynamicChildren&&u.dynamicChildren.length===ce.length?(ge(u.dynamicChildren,ce,C,P,N,ee,q),(g.key!=null||P&&g===P.subTree)&&Ri(u,g,!0)):Y(u,g,C,pe,P,N,ee,q,Z)},F=(u,g,C,L,P,N,ee,q,Z)=>{g.slotScopeIds=q,u==null?g.shapeFlag&512?P.ctx.activate(g,C,L,ee,Z):ie(g,C,L,P,N,ee,Z):D(u,g,Z)},ie=(u,g,C,L,P,N,ee)=>{const q=u.component=Xa(u,L,P);if(In(u)&&(q.ctx.renderer=J),Qa(q,!1,ee),q.asyncDep){if(P&&P.registerDep(q,A,ee),!u.el){const Z=q.subTree=Be(ot);K(null,Z,g,C),u.placeholder=Z.el}}else A(q,u,g,C,P,N,ee)},D=(u,g,C)=>{const L=g.component=u.component;if(Ia(u,g,C))if(L.asyncDep&&!L.asyncResolved){S(L,g,C);return}else L.next=g,L.update();else g.el=u.el,L.vnode=g},A=(u,g,C,L,P,N,ee)=>{const q=()=>{if(u.isMounted){let{next:ne,bu:ce,u:be,parent:Te,vnode:Re}=u;{const qe=Ai(u);if(qe){ne&&(ne.el=Re.el,S(u,ne,ee)),qe.asyncDep.then(()=>{ct(()=>{u.isUnmounted||z()},P)});return}}let Fe=ne,Ke;Zt(u,!1),ne?(ne.el=Re.el,S(u,ne,ee)):ne=Re,ce&&sn(ce),(Ke=ne.props&&ne.props.onVnodeBeforeUpdate)&&$t(Ke,Te,ne,Re),Zt(u,!0);const Ge=Ur(u),Xe=u.subTree;u.subTree=Ge,$(Xe,Ge,m(Xe.el),lt(Xe),u,P,N),ne.el=Ge.el,Fe===null&&Oa(u,Ge.el),be&&ct(be,P),(Ke=ne.props&&ne.props.onVnodeUpdated)&&ct(()=>$t(Ke,Te,ne,Re),P)}else{let ne;const{el:ce,props:be}=g,{bm:Te,m:Re,parent:Fe,root:Ke,type:Ge}=u,Xe=Ls(g);Zt(u,!1),Te&&sn(Te),!Xe&&(ne=be&&be.onVnodeBeforeMount)&&$t(ne,Fe,g),Zt(u,!0);{Ke.ce&&Ke.ce._hasShadowRoot()&&Ke.ce._injectChildStyle(Ge,u.parent?u.parent.type:void 0);const qe=u.subTree=Ur(u);$(null,qe,C,L,u,P,N),g.el=qe.el}if(Re&&ct(Re,P),!Xe&&(ne=be&&be.onVnodeMounted)){const qe=g;ct(()=>$t(ne,Fe,qe),P)}(g.shapeFlag&256||Fe&&Ls(Fe.vnode)&&Fe.vnode.shapeFlag&256)&&u.a&&ct(u.a,P),u.isMounted=!0,g=C=L=null}};u.scope.on();const Z=u.effect=new Do(q);u.scope.off();const z=u.update=Z.run.bind(Z),pe=u.job=Z.runIfDirty.bind(Z);pe.i=u,pe.id=u.uid,Z.scheduler=()=>wr(pe),Zt(u,!0),z()},S=(u,g,C)=>{g.component=u;const L=u.vnode.props;u.vnode=g,u.next=null,Aa(u,g.props,L,C),Pa(u,g.children,C),jt(),Lr(u),Ht()},Y=(u,g,C,L,P,N,ee,q,Z=!1)=>{const z=u&&u.children,pe=u?u.shapeFlag:0,ne=g.children,{patchFlag:ce,shapeFlag:be}=g;if(ce>0){if(ce&128){he(z,ne,C,L,P,N,ee,q,Z);return}else if(ce&256){me(z,ne,C,L,P,N,ee,q,Z);return}}be&8?(pe&16&&He(z,P,N),ne!==z&&d(C,ne)):pe&16?be&16?he(z,ne,C,L,P,N,ee,q,Z):He(z,P,N,!0):(pe&8&&d(C,""),be&16&&ke(ne,C,L,P,N,ee,q,Z))},me=(u,g,C,L,P,N,ee,q,Z)=>{u=u||ys,g=g||ys;const z=u.length,pe=g.length,ne=Math.min(z,pe);let ce;for(ce=0;ce<ne;ce++){const be=g[ce]=Z?Pt(g[ce]):Tt(g[ce]);$(u[ce],be,C,null,P,N,ee,q,Z)}z>pe?He(u,P,N,!0,!1,ne):ke(g,C,L,P,N,ee,q,Z,ne)},he=(u,g,C,L,P,N,ee,q,Z)=>{let z=0;const pe=g.length;let ne=u.length-1,ce=pe-1;for(;z<=ne&&z<=ce;){const be=u[z],Te=g[z]=Z?Pt(g[z]):Tt(g[z]);if(os(be,Te))$(be,Te,C,null,P,N,ee,q,Z);else break;z++}for(;z<=ne&&z<=ce;){const be=u[ne],Te=g[ce]=Z?Pt(g[ce]):Tt(g[ce]);if(os(be,Te))$(be,Te,C,null,P,N,ee,q,Z);else break;ne--,ce--}if(z>ne){if(z<=ce){const be=ce+1,Te=be<pe?g[be].el:L;for(;z<=ce;)$(null,g[z]=Z?Pt(g[z]):Tt(g[z]),C,Te,P,N,ee,q,Z),z++}}else if(z>ce)for(;z<=ne;)Se(u[z],P,N,!0),z++;else{const be=z,Te=z,Re=new Map;for(z=Te;z<=ce;z++){const Qe=g[z]=Z?Pt(g[z]):Tt(g[z]);Qe.key!=null&&Re.set(Qe.key,z)}let Fe,Ke=0;const Ge=ce-Te+1;let Xe=!1,qe=0;const Rt=new Array(Ge);for(z=0;z<Ge;z++)Rt[z]=0;for(z=be;z<=ne;z++){const Qe=u[z];if(Ke>=Ge){Se(Qe,P,N,!0);continue}let Q;if(Qe.key!=null)Q=Re.get(Qe.key);else for(Fe=Te;Fe<=ce;Fe++)if(Rt[Fe-Te]===0&&os(Qe,g[Fe])){Q=Fe;break}Q===void 0?Se(Qe,P,N,!0):(Rt[Q-Te]=z+1,Q>=qe?qe=Q:Xe=!0,$(Qe,g[Q],C,null,P,N,ee,q,Z),Ke++)}const ye=Xe?Ha(Rt):ys;for(Fe=ye.length-1,z=Ge-1;z>=0;z--){const Qe=Te+z,Q=g[Qe],M=g[Qe+1],Ae=Qe+1<pe?M.el||Fi(M):L;Rt[z]===0?$(null,Q,C,Ae,P,N,ee,q,Z):Xe&&(Fe<0||z!==ye[Fe]?X(Q,C,Ae,2):Fe--)}}},X=(u,g,C,L,P=null)=>{const{el:N,type:ee,transition:q,children:Z,shapeFlag:z}=u;if(z&6){X(u.component.subTree,g,C,L);return}if(z&128){u.suspense.move(g,C,L);return}if(z&64){ee.move(u,g,C,J);return}if(ee===ve){n(N,g,C);for(let ne=0;ne<Z.length;ne++)X(Z[ne],g,C,L);n(u.anchor,g,C);return}if(ee===rn){O(u,g,C);return}if(L!==2&&z&1&&q)if(L===0)q.beforeEnter(N),n(N,g,C),ct(()=>q.enter(N),P);else{const{leave:ne,delayLeave:ce,afterLeave:be}=q,Te=()=>{u.ctx.isUnmounted?r(N):n(N,g,C)},Re=()=>{N._isLeaving&&N[wt](!0),ne(N,()=>{Te(),be&&be()})};ce?ce(N,Te,Re):Re()}else n(N,g,C)},Se=(u,g,C,L=!1,P=!1)=>{const{type:N,props:ee,ref:q,children:Z,dynamicChildren:z,shapeFlag:pe,patchFlag:ne,dirs:ce,cacheIndex:be}=u;if(ne===-2&&(P=!1),q!=null&&(jt(),Ns(q,null,C,u,!0),Ht()),be!=null&&(g.renderCache[be]=void 0),pe&256){g.ctx.deactivate(u);return}const Te=pe&1&&ce,Re=!Ls(u);let Fe;if(Re&&(Fe=ee&&ee.onVnodeBeforeUnmount)&&$t(Fe,g,u),pe&6)le(u.component,C,L);else{if(pe&128){u.suspense.unmount(C,L);return}Te&&Yt(u,null,g,"beforeUnmount"),pe&64?u.type.remove(u,g,C,J,L):z&&!z.hasOnce&&(N!==ve||ne>0&&ne&64)?He(z,g,C,!1,!0):(N===ve&&ne&384||!P&&pe&16)&&He(Z,g,C),L&&V(u)}(Re&&(Fe=ee&&ee.onVnodeUnmounted)||Te)&&ct(()=>{Fe&&$t(Fe,g,u),Te&&Yt(u,null,g,"unmounted")},C)},V=u=>{const{type:g,el:C,anchor:L,transition:P}=u;if(g===ve){U(C,L);return}if(g===rn){w(u);return}const N=()=>{r(C),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(u.shapeFlag&1&&P&&!P.persisted){const{leave:ee,delayLeave:q}=P,Z=()=>ee(C,N);q?q(u.el,N,Z):Z()}else N()},U=(u,g)=>{let C;for(;u!==g;)C=y(u),r(u),u=C;r(g)},le=(u,g,C)=>{const{bum:L,scope:P,job:N,subTree:ee,um:q,m:Z,a:z}=u;Jr(Z),Jr(z),L&&sn(L),P.stop(),N&&(N.flags|=8,Se(ee,u,g,C)),q&&ct(q,g),ct(()=>{u.isUnmounted=!0},g)},He=(u,g,C,L=!1,P=!1,N=0)=>{for(let ee=N;ee<u.length;ee++)Se(u[ee],g,C,L,P)},lt=u=>{if(u.shapeFlag&6)return lt(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const g=y(u.anchor||u.el),C=g&&g[sa];return C?y(C):g};let W=!1;const H=(u,g,C)=>{let L;u==null?g._vnode&&(Se(g._vnode,null,null,!0),L=g._vnode.component):$(g._vnode||null,u,g,null,null,null,C),g._vnode=u,W||(W=!0,Lr(L),ri(),W=!1)},J={p:$,um:Se,m:X,r:V,mt:ie,mc:ke,pc:Y,pbc:ge,n:lt,o:e};return{render:H,hydrate:void 0,createApp:wa(H)}}function Wn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Zt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ja(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ri(e,t,s=!1){const n=e.children,r=t.children;if(_e(n)&&_e(r))for(let i=0;i<n.length;i++){const l=n[i];let a=r[i];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=r[i]=Pt(r[i]),a.el=l.el),!s&&a.patchFlag!==-2&&Ri(l,a)),a.type===An&&(a.patchFlag===-1&&(a=r[i]=Pt(a)),a.el=l.el),a.type===ot&&!a.el&&(a.el=l.el)}}function Ha(e){const t=e.slice(),s=[0];let n,r,i,l,a;const c=e.length;for(n=0;n<c;n++){const h=e[n];if(h!==0){if(r=s[s.length-1],e[r]<h){t[n]=r,s.push(n);continue}for(i=0,l=s.length-1;i<l;)a=i+l>>1,e[s[a]]<h?i=a+1:l=a;h<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,l=s[i-1];i-- >0;)s[i]=l,l=t[l];return s}function Ai(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ai(t)}function Jr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Fi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Fi(t.subTree):null}const Ni=e=>e.__isSuspense;function za(e,t){t&&t.pendingBranch?_e(e)?t.effects.push(...e):t.effects.push(e):Ql(e)}const ve=Symbol.for("v-fgt"),An=Symbol.for("v-txt"),ot=Symbol.for("v-cmt"),rn=Symbol.for("v-stc"),Ds=[];let ut=null;function v(e=!1){Ds.push(ut=e?null:[])}function Ba(){Ds.pop(),ut=Ds[Ds.length-1]||null}let Us=1;function vn(e,t=!1){Us+=e,e<0&&ut&&t&&(ut.hasOnce=!0)}function Li(e){return e.dynamicChildren=Us>0?ut||ys:null,Ba(),Us>0&&ut&&ut.push(e),e}function _(e,t,s,n,r,i){return Li(o(e,t,s,n,r,i,!0))}function St(e,t,s,n,r){return Li(Be(e,t,s,n,r,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function os(e,t){return e.type===t.type&&e.key===t.key}const Pi=({key:e})=>e??null,on=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Ue(e)||st(e)||$e(e)?{i:pt,r:e,k:t,f:!!s}:e:null);function o(e,t=null,s=null,n=0,r=null,i=e===ve?0:1,l=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pi(t),ref:t&&on(t),scopeId:ii,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pt};return a?(Mr(c,s),i&128&&e.normalize(c)):s&&(c.shapeFlag|=Ue(s)?8:16),Us>0&&!l&&ut&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&ut.push(c),c}const Be=Ua;function Ua(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===ma)&&(e=ot),mn(e)){const a=Xt(e,t,!0);return s&&Mr(a,s),Us>0&&!i&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag=-2,a}if(tc(e)&&(e=e.__vccOpts),t){t=Wa(t);let{class:a,style:c}=t;a&&!Ue(a)&&(t.class=re(a)),Pe(c)&&(xr(c)&&!_e(c)&&(c=Je({},c)),t.style=Me(c))}const l=Ue(e)?1:Ni(e)?128:ci(e)?64:Pe(e)?4:$e(e)?2:0;return o(e,t,s,n,r,l,i,!0)}function Wa(e){return e?xr(e)||Ci(e)?Je({},e):e:null}function Xt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:l,children:a,transition:c}=e,h=t?Ja(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Pi(h),ref:t&&t.ref?s&&i?_e(i)?i.concat(on(t)):[i,on(t)]:on(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ve?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xt(e.ssContent),ssFallback:e.ssFallback&&Xt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Bs(d,c.clone(d)),d}function We(e=" ",t=0){return Be(An,null,e,t)}function Ka(e,t){const s=Be(rn,null,e);return s.staticCount=t,s}function G(e="",t=!1){return t?(v(),St(ot,null,e)):Be(ot,null,e)}function Tt(e){return e==null||typeof e=="boolean"?Be(ot):_e(e)?Be(ve,null,e.slice()):mn(e)?Pt(e):Be(An,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xt(e)}function Mr(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(_e(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Ci(t)?t._ctx=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else $e(t)?(t={default:t,_ctx:pt},s=32):(t=String(t),n&64?(s=16,t=[We(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ja(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=re([t.class,n.class]));else if(r==="style")t.style=Me([t.style,n.style]);else if(xn(r)){const i=t[r],l=n[r];l&&i!==l&&!(_e(i)&&i.includes(l))&&(t[r]=i?[].concat(i,l):l)}else r!==""&&(t[r]=n[r])}return t}function $t(e,t,s,n=null){yt(e,t,7,[s,n])}const Ga=ki();let qa=0;function Xa(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||Ga,i={uid:qa++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new yl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Mi(n,r),emitsOptions:$i(n,r),emit:null,emitted:null,propsDefaults:Ve,inheritAttrs:n.inheritAttrs,ctx:Ve,data:Ve,props:Ve,attrs:Ve,slots:Ve,refs:Ve,setupState:Ve,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Ca.bind(null,i),e.ce&&e.ce(i),i}let it=null;const Di=()=>it||pt;let _n,ir;{const e=Tn(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(l=>l(i)):r[0](i)}};_n=t("__VUE_INSTANCE_SETTERS__",s=>it=s),ir=t("__VUE_SSR_SETTERS__",s=>Ws=s)}const Xs=e=>{const t=it;return _n(e),e.scope.on(),()=>{e.scope.off(),_n(t)}},Gr=()=>{it&&it.scope.off(),_n(null)};function Vi(e){return e.vnode.shapeFlag&4}let Ws=!1;function Qa(e,t=!1,s=!1){t&&ir(t);const{props:n,children:r}=e.vnode,i=Vi(e);Ra(e,n,i,t),La(e,r,s||t);const l=i?Ya(e,t):void 0;return t&&ir(!1),l}function Ya(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_a);const{setup:n}=s;if(n){jt();const r=e.setupContext=n.length>1?ec(e):null,i=Xs(e),l=qs(n,e,0,[e.props,r]),a=Io(l);if(Ht(),i(),(a||e.sp)&&!Ls(e)&&vi(e),a){if(l.then(Gr,Gr),t)return l.then(c=>{qr(e,c)}).catch(c=>{En(c,e,0)});e.asyncDep=l}else qr(e,l)}else ji(e)}function qr(e,t,s){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=ei(t)),ji(e)}function ji(e,t,s){const n=e.type;e.render||(e.render=n.render||It);{const r=Xs(e);jt();try{ga(e)}finally{Ht(),r()}}}const Za={get(e,t){return tt(e,"get",""),e[t]}};function ec(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Za),slots:e.slots,emit:e.emit,expose:t}}function Fn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ei(zl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ps)return Ps[s](e)},has(t,s){return s in t||s in Ps}})):e.proxy}function tc(e){return $e(e)&&"__vccOpts"in e}const R=(e,t)=>Kl(e,t,Ws);function Ze(e,t,s){try{vn(-1);const n=arguments.length;return n===2?Pe(t)&&!_e(t)?mn(t)?Be(e,null,[t]):Be(e,t):Be(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&mn(s)&&(s=[s]),Be(e,t,s))}finally{vn(1)}}const sc="3.5.30";/**
14
+ * @vue/runtime-dom v3.5.30
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let lr;const Xr=typeof window<"u"&&window.trustedTypes;if(Xr)try{lr=Xr.createPolicy("vue",{createHTML:e=>e})}catch{}const Hi=lr?e=>lr.createHTML(e):e=>e,nc="http://www.w3.org/2000/svg",rc="http://www.w3.org/1998/Math/MathML",Lt=typeof document<"u"?document:null,Qr=Lt&&Lt.createElement("template"),oc={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Lt.createElementNS(nc,e):t==="mathml"?Lt.createElementNS(rc,e):s?Lt.createElement(e,{is:s}):Lt.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Lt.createTextNode(e),createComment:e=>Lt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Lt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const l=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{Qr.innerHTML=Hi(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const a=Qr.content;if(n==="svg"||n==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,s)}return[l?l.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Kt="transition",Es="animation",Ks=Symbol("_vtc"),zi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ic=Je({},ui,zi),lc=e=>(e.displayName="Transition",e.props=ic,e),gn=lc((e,{slots:t})=>Ze(oa,ac(e),t)),es=(e,t=[])=>{_e(e)?e.forEach(s=>s(...t)):e&&e(...t)},Yr=e=>e?_e(e)?e.some(t=>t.length>1):e.length>1:!1;function ac(e){const t={};for(const T in e)T in zi||(t[T]=e[T]);if(e.css===!1)return t;const{name:s="v",type:n,duration:r,enterFromClass:i=`${s}-enter-from`,enterActiveClass:l=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:c=i,appearActiveClass:h=l,appearToClass:d=a,leaveFromClass:m=`${s}-leave-from`,leaveActiveClass:y=`${s}-leave-active`,leaveToClass:p=`${s}-leave-to`}=e,k=cc(r),$=k&&k[0],I=k&&k[1],{onBeforeEnter:K,onEnter:j,onEnterCancelled:O,onLeave:w,onLeaveCancelled:B,onBeforeAppear:ue=K,onAppear:xe=j,onAppearCancelled:ke=O}=t,de=(T,F,ie,D)=>{T._enterCancelled=D,ts(T,F?d:a),ts(T,F?h:l),ie&&ie()},ge=(T,F)=>{T._isLeaving=!1,ts(T,m),ts(T,p),ts(T,y),F&&F()},we=T=>(F,ie)=>{const D=T?xe:j,A=()=>de(F,T,ie);es(D,[F,A]),Zr(()=>{ts(F,T?c:i),Nt(F,T?d:a),Yr(D)||eo(F,n,$,A)})};return Je(t,{onBeforeEnter(T){es(K,[T]),Nt(T,i),Nt(T,l)},onBeforeAppear(T){es(ue,[T]),Nt(T,c),Nt(T,h)},onEnter:we(!1),onAppear:we(!0),onLeave(T,F){T._isLeaving=!0;const ie=()=>ge(T,F);Nt(T,m),T._enterCancelled?(Nt(T,y),no(T)):(no(T),Nt(T,y)),Zr(()=>{T._isLeaving&&(ts(T,m),Nt(T,p),Yr(w)||eo(T,n,I,ie))}),es(w,[T,ie])},onEnterCancelled(T){de(T,!1,void 0,!0),es(O,[T])},onAppearCancelled(T){de(T,!0,void 0,!0),es(ke,[T])},onLeaveCancelled(T){ge(T),es(B,[T])}})}function cc(e){if(e==null)return null;if(Pe(e))return[Kn(e.enter),Kn(e.leave)];{const t=Kn(e);return[t,t]}}function Kn(e){return dl(e)}function Nt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Ks]||(e[Ks]=new Set)).add(t)}function ts(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Ks];s&&(s.delete(t),s.size||(e[Ks]=void 0))}function Zr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let uc=0;function eo(e,t,s,n){const r=e._endId=++uc,i=()=>{r===e._endId&&n()};if(s!=null)return setTimeout(i,s);const{type:l,timeout:a,propCount:c}=dc(e,t);if(!l)return n();const h=l+"end";let d=0;const m=()=>{e.removeEventListener(h,y),i()},y=p=>{p.target===e&&++d>=c&&m()};setTimeout(()=>{d<c&&m()},a+1),e.addEventListener(h,y)}function dc(e,t){const s=window.getComputedStyle(e),n=k=>(s[k]||"").split(", "),r=n(`${Kt}Delay`),i=n(`${Kt}Duration`),l=to(r,i),a=n(`${Es}Delay`),c=n(`${Es}Duration`),h=to(a,c);let d=null,m=0,y=0;t===Kt?l>0&&(d=Kt,m=l,y=i.length):t===Es?h>0&&(d=Es,m=h,y=c.length):(m=Math.max(l,h),d=m>0?l>h?Kt:Es:null,y=d?d===Kt?i.length:c.length:0);const p=d===Kt&&/\b(?:transform|all)(?:,|$)/.test(n(`${Kt}Property`).toString());return{type:d,timeout:m,propCount:y,hasTransform:p}}function to(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>so(s)+so(e[n])))}function so(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function no(e){return(e?e.ownerDocument:document).body.offsetHeight}function fc(e,t,s){const n=e[Ks];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ro=Symbol("_vod"),pc=Symbol("_vsh"),hc=Symbol(""),vc=/(?:^|;)\s*display\s*:/;function mc(e,t,s){const n=e.style,r=Ue(s);let i=!1;if(s&&!r){if(t)if(Ue(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();s[a]==null&&ln(n,a,"")}else for(const l in t)s[l]==null&&ln(n,l,"");for(const l in s)l==="display"&&(i=!0),ln(n,l,s[l])}else if(r){if(t!==s){const l=n[hc];l&&(s+=";"+l),n.cssText=s,i=vc.test(s)}}else t&&e.removeAttribute("style");ro in e&&(e[ro]=i?n.display:"",e[pc]&&(n.display="none"))}const oo=/\s*!important$/;function ln(e,t,s){if(_e(s))s.forEach(n=>ln(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=_c(e,t);oo.test(s)?e.setProperty(ds(n),s.replace(oo,""),"important"):e[n]=s}}const io=["Webkit","Moz","ms"],Jn={};function _c(e,t){const s=Jn[t];if(s)return s;let n=_t(t);if(n!=="filter"&&n in e)return Jn[t]=n;n=Ao(n);for(let r=0;r<io.length;r++){const i=io[r]+n;if(i in e)return Jn[t]=i}return t}const lo="http://www.w3.org/1999/xlink";function ao(e,t,s,n,r,i=_l(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(lo,t.slice(6,t.length)):e.setAttributeNS(lo,t,s):s==null||i&&!No(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Ot(s)?String(s):s)}function co(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Hi(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const a=i==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(a!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let l=!1;if(s===""||s==null){const a=typeof e[t];a==="boolean"?s=No(s):s==null&&a==="string"?(s="",l=!0):a==="number"&&(s=0,l=!0)}try{e[t]=s}catch{}l&&e.removeAttribute(r||t)}function is(e,t,s,n){e.addEventListener(t,s,n)}function gc(e,t,s,n){e.removeEventListener(t,s,n)}const uo=Symbol("_vei");function bc(e,t,s,n,r=null){const i=e[uo]||(e[uo]={}),l=i[t];if(n&&l)l.value=n;else{const[a,c]=yc(t);if(n){const h=i[t]=xc(n,r);is(e,a,h,c)}else l&&(gc(e,a,l,c),i[t]=void 0)}}const fo=/(?:Once|Passive|Capture)$/;function yc(e){let t;if(fo.test(e)){t={};let n;for(;n=e.match(fo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ds(e.slice(2)),t]}let Gn=0;const kc=Promise.resolve(),$c=()=>Gn||(kc.then(()=>Gn=0),Gn=Date.now());function xc(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;yt(wc(n,s.value),t,5,[n])};return s.value=e,s.attached=$c(),s}function wc(e,t){if(_e(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const po=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sc=(e,t,s,n,r,i)=>{const l=r==="svg";t==="class"?fc(e,n,l):t==="style"?mc(e,s,n):xn(t)?pr(t)||bc(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Cc(e,t,n,l))?(co(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ao(e,t,n,l,i,t!=="value")):e._isVueCE&&(Tc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ue(n)))?co(e,_t(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),ao(e,t,n,l))};function Cc(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&po(t)&&$e(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return po(t)&&Ue(s)?!1:t in e}function Tc(e,t){const s=e._def.props;if(!s)return!1;const n=_t(t);return Array.isArray(s)?s.some(r=>_t(r)===n):Object.keys(s).some(r=>_t(r)===n)}const bn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return _e(t)?s=>sn(t,s):t};function Mc(e){e.target.composing=!0}function ho(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ws=Symbol("_assign");function vo(e,t,s){return t&&(e=e.trim()),s&&(e=Cn(e)),e}const us={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[ws]=bn(r);const i=n||r.props&&r.props.type==="number";is(e,t?"change":"input",l=>{l.target.composing||e[ws](vo(e.value,s,i))}),(s||i)&&is(e,"change",()=>{e.value=vo(e.value,s,i)}),t||(is(e,"compositionstart",Mc),is(e,"compositionend",ho),is(e,"change",ho))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},l){if(e[ws]=bn(l),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?Cn(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===c)||(e.value=c))}},Ec={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=wn(t);is(e,"change",()=>{const i=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>s?Cn(yn(l)):yn(l));e[ws](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,si(()=>{e._assigning=!1})}),e[ws]=bn(n)},mounted(e,{value:t}){mo(e,t)},beforeUpdate(e,t,s){e[ws]=bn(s)},updated(e,{value:t}){e._assigning||mo(e,t)}};function mo(e,t){const s=e.multiple,n=_e(t);if(!(s&&!n&&!wn(t))){for(let r=0,i=e.options.length;r<i;r++){const l=e.options[r],a=yn(l);if(s)if(n){const c=typeof a;c==="string"||c==="number"?l.selected=t.some(h=>String(h)===String(a)):l.selected=bl(t,a)>-1}else l.selected=t.has(a);else if(Gs(yn(l),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function yn(e){return"_value"in e?e._value:e.value}const Ic=["ctrl","shift","alt","meta"],Oc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ic.some(s=>e[`${s}Key`]&&!t.includes(s))},Mt=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((r,...i)=>{for(let l=0;l<t.length;l++){const a=Oc[t[l]];if(a&&a(r,t))return}return e(r,...i)}))},Rc=Je({patchProp:Sc},oc);let _o;function Ac(){return _o||(_o=Da(Rc))}const Fc=((...e)=>{const t=Ac().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=Lc(n);if(!r)return;const i=t._component;!$e(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const l=s(r,!1,Nc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),l},t});function Nc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Lc(e){return Ue(e)?document.querySelector(e):e}let rs;const Is=[];function Bi(e){if(Is.push(e),!(typeof window>"u"))return window.__NUXT_DEVTOOLS__&&Is.forEach(t=>t(window.__NUXT_DEVTOOLS__)),Object.defineProperty(window,"__NUXT_DEVTOOLS__",{set(t){t&&Is.forEach(s=>s(t))},get(){return rs.value},configurable:!0}),()=>{Is.splice(Is.indexOf(e),1)}}function Ui(){rs||(rs=Yo(),Bi(t));function e(){rs&&er(rs)}function t(s){rs.value=s,s.host&&s.host.hooks.hook("host:update:reactivity",e)}return rs}const ar=se([]),Wi=se({provides:[],injects:[]}),kn=se([]),$n=se([]),cr=se([]),ur=se([]),dr=se([]),Ki=se(!1),ls=se({}),Pc=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugRpc");let go=!1,Ee=null,bo=!1,an=null,Jt=null;function Bt(...e){Pc&&console.info("[observatory][rpc][iframe]",...e)}function ss(e){return e?e.map(t=>({...t})):[]}function Dc(e){return e?e.map(t=>({...t})):[]}function cn(e){var s;ar.value=ss(e.fetch),Wi.value=e.provideInject?{provides:ss(e.provideInject.provides),injects:ss(e.provideInject.injects)}:{provides:[],injects:[]},kn.value=ss(e.composables),$n.value=ss(e.piniaStores),cr.value=Dc(e.renders),ur.value=ss(e.transitions),dr.value=ss(e.traces),ls.value=e.features||{};const t=(s=ls.value)==null?void 0:s.composableNavigationMode;Jt&&t!==Jt&&(ls.value={...ls.value||{},composableNavigationMode:Jt},Ee==null||Ee.setComposableMode(Jt).then(()=>Ee==null?void 0:Ee.requestSnapshot()).catch(n=>{Bt("setComposableMode reconcile failed",n)})),Jt&&t===Jt&&(Jt=null),Ki.value=!0,bo||(bo=!0,Bt("first snapshot received",{fetch:ar.value.length,composables:kn.value.length,piniaStores:$n.value.length,renders:cr.value.length,transitions:ur.value.length,traces:dr.value.length}))}function Vc(){if(go)return;go=!0,typeof window<"u"&&window.addEventListener("message",s=>{s.data&&s.data.type==="observatory:snapshot"&&cn(s.data.data)});const e=Ui(),t=()=>{if(!(!e.value||Ee)){if(Ee=e.value.devtools.extendClientRpc("observatory",{onSnapshot(s){cn(s)}}),Bt("RPC connected"),an){const s=an;an=null,Ee.setComposableMode(s).catch(n=>{Bt("setComposableMode failed (queued)",n)})}Ee.getSnapshot().then(s=>{s&&cn(s)}).catch(()=>{}),Ee.requestSnapshot().catch(()=>{})}};t(),Bi(()=>{t()})}function jc(){kn.value=[],Ee==null||Ee.clearComposables().then(()=>Ee==null?void 0:Ee.requestSnapshot()).catch(e=>{Bt("clearComposables failed",e)})}function Hc(e){if(Jt=e,ls.value={...ls.value||{},composableNavigationMode:e},!Ee){an=e,Bt("setComposableMode queued",e);return}Ee.setComposableMode(e).then(()=>Ee==null?void 0:Ee.requestSnapshot()).catch(t=>{Bt("setComposableMode failed",t)})}function zc(e,t,s){Ee==null||Ee.editComposableValue(e,t,s).catch(n=>{Bt("editComposableValue failed",n)})}function yo(){$n.value=[],Ee==null||Ee.clearPiniaStores().then(()=>Ee==null?void 0:Ee.requestSnapshot()).catch(e=>{Bt("clearPiniaStores failed",e)})}function Er(e){var s,n;if(!e||e==="unknown")return;const t=(n=(s=Ui().value)==null?void 0:s.devtools)==null?void 0:n.rpc;t!=null&&t.openInEditor&&t.openInEditor(e)}function Qt(){return Vc(),{fetch:ar,provideInject:Wi,composables:kn,piniaStores:$n,renders:cr,transitions:ur,traces:dr,features:ls,connected:Ki,refresh:()=>{Ee==null||Ee.getSnapshot().then(t=>{t&&cn(t)}).catch(()=>{}),Ee==null||Ee.requestSnapshot().catch(()=>{})},clearComposables:jc}}function hs(e,t,s){let n=s.initialDeps??[],r,i=!0;function l(){var a,c,h;let d;s.key&&((a=s.debug)!=null&&a.call(s))&&(d=Date.now());const m=e();if(!(m.length!==n.length||m.some((k,$)=>n[$]!==k)))return r;n=m;let p;if(s.key&&((c=s.debug)!=null&&c.call(s))&&(p=Date.now()),r=t(...m),s.key&&((h=s.debug)!=null&&h.call(s))){const k=Math.round((Date.now()-d)*100)/100,$=Math.round((Date.now()-p)*100)/100,I=$/16,K=(j,O)=>{for(j=String(j);j.length<O;)j=" "+j;return j};console.info(`%c⏱ ${K($,5)} /${K(k,5)} ms`,`
18
+ font-size: .6rem;
19
+ font-weight: bold;
20
+ color: hsl(${Math.max(0,Math.min(120-120*I,120))}deg 100% 31%);`,s==null?void 0:s.key)}return s!=null&&s.onChange&&!(i&&s.skipInitialOnChange)&&s.onChange(r),i=!1,r}return l.updateDeps=a=>{n=a},l}function ko(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const Bc=(e,t)=>Math.abs(e-t)<1.01,Uc=(e,t,s)=>{let n;return function(...r){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,r),s)}},$o=e=>{const{offsetWidth:t,offsetHeight:s}=e;return{width:t,height:s}},Wc=e=>e,Kc=e=>{const t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let r=t;r<=s;r++)n.push(r);return n},Jc=(e,t)=>{const s=e.scrollElement;if(!s)return;const n=e.targetWindow;if(!n)return;const r=l=>{const{width:a,height:c}=l;t({width:Math.round(a),height:Math.round(c)})};if(r($o(s)),!n.ResizeObserver)return()=>{};const i=new n.ResizeObserver(l=>{const a=()=>{const c=l[0];if(c!=null&&c.borderBoxSize){const h=c.borderBoxSize[0];if(h){r({width:h.inlineSize,height:h.blockSize});return}}r($o(s))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()});return i.observe(s,{box:"border-box"}),()=>{i.unobserve(s)}},xo={passive:!0},wo=typeof window>"u"?!0:"onscrollend"in window,Gc=(e,t)=>{const s=e.scrollElement;if(!s)return;const n=e.targetWindow;if(!n)return;let r=0;const i=e.options.useScrollendEvent&&wo?()=>{}:Uc(n,()=>{t(r,!1)},e.options.isScrollingResetDelay),l=d=>()=>{const{horizontal:m,isRtl:y}=e.options;r=m?s.scrollLeft*(y&&-1||1):s.scrollTop,i(),t(r,d)},a=l(!0),c=l(!1);s.addEventListener("scroll",a,xo);const h=e.options.useScrollendEvent&&wo;return h&&s.addEventListener("scrollend",c,xo),()=>{s.removeEventListener("scroll",a),h&&s.removeEventListener("scrollend",c)}},qc=(e,t,s)=>{if(t!=null&&t.borderBoxSize){const n=t.borderBoxSize[0];if(n)return Math.round(n[s.options.horizontal?"inlineSize":"blockSize"])}return e[s.options.horizontal?"offsetWidth":"offsetHeight"]},Xc=(e,{adjustments:t=0,behavior:s},n)=>{var r,i;const l=e+t;(i=(r=n.scrollElement)==null?void 0:r.scrollTo)==null||i.call(r,{[n.options.horizontal?"left":"top"]:l,behavior:s})};class Qc{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var s,n,r;return((r=(n=(s=this.targetWindow)==null?void 0:s.performance)==null?void 0:n.now)==null?void 0:r.call(n))??Date.now()},this.observer=(()=>{let s=null;const n=()=>s||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:s=new this.targetWindow.ResizeObserver(r=>{r.forEach(i=>{const l=()=>{const a=i.target,c=this.indexFromElement(a);if(!a.isConnected){this.observer.unobserve(a);return}this.shouldMeasureDuringScroll(c)&&this.resizeItem(c,this.options.measureElement(a,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),s=null},observe:r=>{var i;return(i=n())==null?void 0:i.observe(r,{box:"border-box"})},unobserve:r=>{var i;return(i=n())==null?void 0:i.unobserve(r)}}})(),this.range=null,this.setOptions=s=>{Object.entries(s).forEach(([n,r])=>{typeof r>"u"&&delete s[n]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Wc,rangeExtractor:Kc,onChange:()=>{},measureElement:qc,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...s}},this.notify=s=>{var n,r;(r=(n=this.options).onChange)==null||r.call(n,this,s)},this.maybeNotify=hs(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),s=>{this.notify(s)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(s=>s()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var s;const n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((s=this.scrollElement)==null?void 0:s.window)??null,this.elementsCache.forEach(r=>{this.observer.observe(r)}),this.unsubs.push(this.options.observeElementRect(this,r=>{this.scrollRect=r,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(r,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()<r?"forward":"backward":null,this.scrollOffset=r,this.isScrolling=i,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(s,n)=>{const r=new Map,i=new Map;for(let l=n-1;l>=0;l--){const a=s[l];if(r.has(a.lane))continue;const c=i.get(a.lane);if(c==null||a.end>c.end?i.set(a.lane,a):a.end<c.end&&r.set(a.lane,!0),r.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((l,a)=>l.end===a.end?l.index-a.index:l.end-a.end)[0]:void 0},this.getMeasurementOptions=hs(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(s,n,r,i,l,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:s,paddingStart:n,scrollMargin:r,getItemKey:i,enabled:l,lanes:a}),{key:!1}),this.getMeasurements=hs(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:s,paddingStart:n,scrollMargin:r,getItemKey:i,enabled:l,lanes:a},c)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>s)for(const y of this.laneAssignments.keys())y>=s&&this.laneAssignments.delete(y);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(y=>{this.itemSizeCache.set(y.key,y.size)}));const h=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===s&&(this.lanesSettling=!1);const d=this.measurementsCache.slice(0,h),m=new Array(a).fill(void 0);for(let y=0;y<h;y++){const p=d[y];p&&(m[p.lane]=y)}for(let y=h;y<s;y++){const p=i(y),k=this.laneAssignments.get(y);let $,I;if(k!==void 0&&this.options.lanes>1){$=k;const w=m[$],B=w!==void 0?d[w]:void 0;I=B?B.end+this.options.gap:n+r}else{const w=this.options.lanes===1?d[y-1]:this.getFurthestMeasurement(d,y);I=w?w.end+this.options.gap:n+r,$=w?w.lane:y%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(y,$)}const K=c.get(p),j=typeof K=="number"?K:this.options.estimateSize(y),O=I+j;d[y]={index:y,start:I,size:j,end:O,key:p,lane:$},m[$]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=hs(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(s,n,r,i)=>this.range=s.length>0&&n>0?Yc({measurements:s,outerSize:n,scrollOffset:r,lanes:i}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=hs(()=>{let s=null,n=null;const r=this.calculateRange();return r&&(s=r.startIndex,n=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,s,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,s,n]},(s,n,r,i,l)=>i===null||l===null?[]:s({startIndex:i,endIndex:l,overscan:n,count:r}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=s=>{const n=this.options.indexAttribute,r=s.getAttribute(n);return r?parseInt(r,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=s=>{var n;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const r=this.scrollState.index??((n=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:n.index);if(r!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),l=Math.max(0,r-i),a=Math.min(this.options.count-1,r+i);return s>=l&&s<=a}return!0},this.measureElement=s=>{if(!s){this.elementsCache.forEach((l,a)=>{l.isConnected||(this.observer.unobserve(l),this.elementsCache.delete(a))});return}const n=this.indexFromElement(s),r=this.options.getItemKey(n),i=this.elementsCache.get(r);i!==s&&(i&&this.observer.unobserve(i),this.observer.observe(s),this.elementsCache.set(r,s)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(s,void 0,this))},this.resizeItem=(s,n)=>{var r;const i=this.measurementsCache[s];if(!i)return;const l=this.itemSizeCache.get(i.key)??i.size,a=n-l;a!==0&&(((r=this.scrollState)==null?void 0:r.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(i,a,this):i.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(i.index),this.itemSizeCache=new Map(this.itemSizeCache.set(i.key,n)),this.notify(!1))},this.getVirtualItems=hs(()=>[this.getVirtualIndexes(),this.getMeasurements()],(s,n)=>{const r=[];for(let i=0,l=s.length;i<l;i++){const a=s[i],c=n[a];r.push(c)}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=s=>{const n=this.getMeasurements();if(n.length!==0)return ko(n[Ji(0,n.length-1,r=>ko(n[r]).start,s)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const s=this.scrollElement.document.documentElement;return this.options.horizontal?s.scrollWidth-this.scrollElement.innerWidth:s.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(s,n,r=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),l=this.getScrollOffset();n==="auto"&&(n=s>=l+i?"end":"start"),n==="center"?s+=(r-i)/2:n==="end"&&(s-=i);const a=this.getMaxScrollOffset();return Math.max(Math.min(a,s),0)},this.getOffsetForIndex=(s,n="auto")=>{s=Math.max(0,Math.min(s,this.options.count-1));const r=this.getSize(),i=this.getScrollOffset(),l=this.measurementsCache[s];if(!l)return;if(n==="auto")if(l.end>=i+r-this.options.scrollPaddingEnd)n="end";else if(l.start<=i+this.options.scrollPaddingStart)n="start";else return[i,n];if(n==="end"&&s===this.options.count-1)return[this.getMaxScrollOffset(),n];const a=n==="end"?l.end+this.options.scrollPaddingEnd:l.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,n,l.size),n]},this.scrollToOffset=(s,{align:n="start",behavior:r="auto"}={})=>{const i=this.getOffsetForAlignment(s,n),l=this.now();this.scrollState={index:null,align:n,behavior:r,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToIndex=(s,{align:n="auto",behavior:r="auto"}={})=>{s=Math.max(0,Math.min(s,this.options.count-1));const i=this.getOffsetForIndex(s,n);if(!i)return;const[l,a]=i,c=this.now();this.scrollState={index:s,align:a,behavior:r,startedAt:c,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollBy=(s,{behavior:n="auto"}={})=>{const r=this.getScrollOffset()+s,i=this.now();this.scrollState={index:null,align:"start",behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var s;const n=this.getMeasurements();let r;if(n.length===0)r=this.options.paddingStart;else if(this.options.lanes===1)r=((s=n[n.length-1])==null?void 0:s.end)??0;else{const i=Array(this.options.lanes).fill(null);let l=n.length-1;for(;l>=0&&i.some(a=>a===null);){const a=n[l];i[a.lane]===null&&(i[a.lane]=a.end),l--}r=Math.max(...i.filter(a=>a!==null))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(s,{adjustments:n,behavior:r})=>{this.options.scrollToFn(s,{behavior:r,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const n=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,r=n?n[0]:this.scrollState.lastTargetOffset,i=1,l=r!==this.scrollState.lastTargetOffset;if(!l&&Bc(r,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.scrollState=null;return}}else this.scrollState.stableFrames=0,l&&(this.scrollState.lastTargetOffset=r,this.scrollState.behavior="auto",this._scrollToOffset(r,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Ji=(e,t,s,n)=>{for(;e<=t;){const r=(e+t)/2|0,i=s(r);if(i<n)e=r+1;else if(i>n)t=r-1;else return r}return e>0?e-1:0};function Yc({measurements:e,outerSize:t,scrollOffset:s,lanes:n}){const r=e.length-1,i=c=>e[c].start;if(e.length<=n)return{startIndex:0,endIndex:r};let l=Ji(0,r,i,s),a=l;if(n===1)for(;a<r&&e[a].end<s+t;)a++;else if(n>1){const c=Array(n).fill(0);for(;a<r&&c.some(d=>d<s+t);){const d=e[a];c[d.lane]=d.end,a++}const h=Array(n).fill(s+t);for(;l>=0&&h.some(d=>d>=s);){const d=e[l];h[d.lane]=d.start,l--}l=Math.max(0,l-l%n),a=Math.min(r,a+(n-1-a%n))}return{startIndex:l,endIndex:a}}function Zc(e){const t=new Qc(Ie(e)),s=Yo(t),n=t._didMount();return vt(()=>Ie(e).getScrollElement(),r=>{r&&t._willUpdate()},{immediate:!0}),vt(()=>Ie(e),r=>{t.setOptions({...r,onChange:(i,l)=>{var a;er(s),(a=r.onChange)==null||a.call(r,i,l)}}),t._willUpdate(),er(s)},{immediate:!0}),$l(n),s}function Cs(e){return Zc(R(()=>({observeElementRect:Jc,observeElementOffset:Gc,scrollToFn:Xc,...Ie(e)})))}const eu=34,Gi=10,tu=2,su=40;function So(e){return Number.isFinite(e)?Math.max(tu,Math.min(su,Math.round(e))):Gi}function Qs(e){const t=se((e==null?void 0:e.rowHeight)??eu),s=se(So((e==null?void 0:e.overscan)??Gi)),n=R(()=>({rowHeight:Math.max(20,t.value),overscan:So(s.value)}));return{rowHeight:t,overscan:s,preset:n}}function Nn(e,t){const s=t&&Number(localStorage.getItem(t))||e,n=se(Math.max(160,Math.min(600,s)));let r=!1,i=0,l=0;function a(d){if(!r)return;const m=i-d.clientX;n.value=Math.max(160,Math.min(600,l+m)),t&&localStorage.setItem(t,String(n.value))}function c(){r&&(r=!1,document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c),document.body.style.cursor="",document.body.style.userSelect="")}function h(d){d.preventDefault(),r=!0,i=d.clientX,l=n.value,document.addEventListener("mousemove",a),document.addEventListener("mouseup",c),document.body.style.cursor="col-resize",document.body.style.userSelect="none"}return Sr(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c),document.body.style.cursor="",document.body.style.userSelect=""}),{paneWidth:n,onHandleMouseDown:h}}const nu={class:"fetch-dashboard tracker-view"},ru={class:"fetch-dashboard__stats tracker-stats-row"},ou={class:"stat-card"},iu={class:"stat-val"},lu={class:"stat-card"},au={class:"stat-val stat-val--ok"},cu={class:"stat-card"},uu={class:"stat-val stat-val--pending"},du={class:"stat-card"},fu={class:"stat-val stat-val--error"},pu={class:"fetch-dashboard__toolbar tracker-toolbar"},hu={class:"fetch-dashboard__split tracker-split"},vu={class:"data-table"},mu={key:0,class:"fetch-dashboard__virtual-spacer-row","aria-hidden":"true"},_u=["onClick"],gu={class:"fetch-dashboard__key mono tracker-mono-secondary"},bu=["title"],yu={class:"muted text-sm"},ku={class:"mono text-sm"},$u={class:"fetch-dashboard__bar-track tracker-progress-bar"},xu={key:1,class:"fetch-dashboard__virtual-spacer-row","aria-hidden":"true"},wu={key:2},Su={colspan:"7",class:"tracker-empty-cell"},Cu={key:3,class:"fetch-dashboard__pagination-row","aria-live":"polite"},Tu={colspan:"7",class:"fetch-dashboard__pagination-cell"},Mu={class:"mono muted text-sm"},Eu={key:0,class:"mono muted text-sm"},Iu={class:"fetch-dashboard__detail-header"},Ou={class:"fetch-dashboard__detail-title mono bold"},Ru={class:"flex gap-2"},Au={class:"fetch-dashboard__meta-grid"},Fu={class:"muted text-sm"},Nu={class:"fetch-dashboard__meta-value mono text-sm"},Lu={class:"fetch-dashboard__payload-box"},Pu={class:"mono text-sm muted"},Du={class:"fetch-dashboard__waterfall"},Vu={class:"fetch-dashboard__waterfall-header"},ju={key:0,class:"fetch-dashboard__waterfall-body"},Hu={class:"fetch-dashboard__waterfall-key mono muted text-sm"},zu={class:"fetch-dashboard__waterfall-track"},Bu={class:"fetch-dashboard__waterfall-time mono muted text-sm"},Uu=dt({__name:"FetchDashboard",setup(e){const{fetch:t,connected:s,features:n}=Qt(),{paneWidth:r,onHandleMouseDown:i}=Nn(280,"observatory:fetch:detailWidth"),l=se("all"),a=se(""),c=se(null),h=se(!0),d=se(null),m=se(1),{preset:y}=Qs({rowHeight:38,overscan:6}),p=R(()=>{const V=[...t.value].sort((le,He)=>le.startTime-He.startTime),U=V.length>0?V[0].startTime:0;return V.map(le=>({...le,startOffset:Math.max(0,le.startTime-U)}))}),k=R(()=>new Map(p.value.map(V=>[V.id,V]))),$=R(()=>c.value?k.value.get(c.value)??null:null),I=R(()=>({ok:p.value.filter(V=>V.status==="ok"||V.status==="cached").length,pending:p.value.filter(V=>V.status==="pending").length,error:p.value.filter(V=>V.status==="error").length})),K=R(()=>p.value.filter(V=>{if(l.value!=="all"&&V.status!==l.value)return!1;const U=a.value.toLowerCase();return!(U&&!V.key.toLowerCase().includes(U)&&!V.url.toLowerCase().includes(U))})),j=R(()=>{var U;const V=(U=n.value)==null?void 0:U.fetchPageSize;return typeof V!="number"||!Number.isFinite(V)?20:Math.max(1,Math.floor(V))}),O=R(()=>K.value.slice(0,m.value*j.value)),w=R(()=>O.value.length<K.value.length),B=R(()=>!0),ue=R(()=>({count:O.value.length,getScrollElement:()=>d.value,estimateSize:()=>y.value.rowHeight,overscan:y.value.overscan})),xe=Cs(ue),ke=R(()=>B.value?xe.value.getVirtualItems():[]),de=R(()=>!B.value||ke.value.length===0?0:ke.value[0].start),ge=R(()=>{if(!B.value||ke.value.length===0)return 0;const V=xe.value.getTotalSize(),U=ke.value[ke.value.length-1];return Math.max(0,V-U.end)}),we=R(()=>B.value?ke.value.map(V=>O.value[V.index]).filter(V=>!!V):O.value);vt([l,a],()=>{m.value=1,d.value&&(d.value.scrollTop=0)}),vt(K,V=>{const U=Math.max(1,Math.ceil(V.length/j.value));m.value>U&&(m.value=U)});function T(){const V=d.value;if(!V||!w.value)return;V.scrollTop+V.clientHeight>=V.scrollHeight-32&&(m.value+=1)}const F=R(()=>{if(!$.value)return[];const V=$.value;return[["url",V.url],["status",V.status],["origin",V.origin],["duration",V.ms!=null?`${V.ms}ms`:"—"],["size",V.size?Se(V.size):"—"],["cached",V.cached?"yes":"no"]]}),ie=R(()=>{if(!$.value)return"";const V=$.value.payload;if(V===void 0)return"(no payload captured yet)";try{return JSON.stringify(V,null,2)}catch{return String(V)}});function D(V){return{ok:"badge-ok",error:"badge-err",pending:"badge-warn",cached:"badge-gray"}[V]??"badge-gray"}function A(V){return{ok:"var(--teal)",error:"var(--red)",pending:"var(--amber)",cached:"var(--border)"}[V]??"var(--border)"}const S=R(()=>{let V=1;for(const U of p.value)U.ms!=null&&U.ms>V&&(V=U.ms);return V});function Y(V){const U=S.value;return V.ms!=null?Math.max(4,Math.round(V.ms/U*100)):4}const me=R(()=>{let V=1;for(const U of p.value){if(U.ms==null)continue;const le=U.startOffset+U.ms;le>V&&(V=le)}return V});function he(V){const U=me.value;return Math.min(98,Math.round(V.startOffset/U*100))}function X(V){if(V.ms==null)return 2;const U=me.value,le=he(V);return Math.min(100-le,Math.max(2,Math.round(V.ms/U*100)))}function Se(V){return V<1024?`${V}B`:`${(V/1024).toFixed(1)}KB`}return(V,U)=>(v(),_("div",nu,[o("div",ru,[o("div",ou,[U[8]||(U[8]=o("div",{class:"stat-label"},"total",-1)),o("div",iu,f(p.value.length),1)]),o("div",lu,[U[9]||(U[9]=o("div",{class:"stat-label"},"success",-1)),o("div",au,f(I.value.ok),1)]),o("div",cu,[U[10]||(U[10]=o("div",{class:"stat-label"},"pending",-1)),o("div",uu,f(I.value.pending),1)]),o("div",du,[U[11]||(U[11]=o("div",{class:"stat-label"},"error",-1)),o("div",fu,f(I.value.error),1)])]),o("div",pu,[o("button",{class:re({active:l.value==="all"}),onClick:U[0]||(U[0]=le=>l.value="all")},"all",2),o("button",{class:re({"danger-active":l.value==="error"}),onClick:U[1]||(U[1]=le=>l.value="error")},"errors",2),o("button",{class:re({active:l.value==="pending"}),onClick:U[2]||(U[2]=le=>l.value="pending")},"pending",2),o("button",{class:re({active:l.value==="cached"}),onClick:U[3]||(U[3]=le=>l.value="cached")},"cached",2),qt(o("input",{"onUpdate:modelValue":U[4]||(U[4]=le=>a.value=le),type:"search",class:"fetch-dashboard__search tracker-toolbar__spacer",placeholder:"search key or url…"},null,512),[[us,a.value]])]),o("div",hu,[o("div",{ref_key:"tableScrollRef",ref:d,class:"fetch-dashboard__table tracker-table-wrap",onScroll:T},[o("table",vu,[U[12]||(U[12]=o("thead",null,[o("tr",null,[o("th",null,"key"),o("th",null,"url"),o("th",null,"status"),o("th",null,"origin"),o("th",null,"size"),o("th",null,"time"),o("th",{class:"fetch-dashboard__bar-column"},"bar")])],-1)),o("tbody",null,[B.value&&de.value>0?(v(),_("tr",mu,[o("td",{colspan:"7",style:Me({height:`${de.value}px`})},null,4)])):G("",!0),(v(!0),_(ve,null,Oe(we.value,le=>{var He;return v(),_("tr",{key:le.id,class:re({selected:((He=$.value)==null?void 0:He.id)===le.id}),onClick:lt=>c.value=le.id},[o("td",null,[o("span",gu,f(le.key),1)]),o("td",null,[o("span",{class:"fetch-dashboard__url mono tracker-mono-secondary tracker-truncate",title:le.url},f(le.url),9,bu)]),o("td",null,[o("span",{class:re(["badge",D(le.status)])},f(le.status),3)]),o("td",null,[o("span",{class:re(["badge",le.origin==="ssr"?"badge-info":"badge-gray"])},f(le.origin),3)]),o("td",yu,f(le.size?Se(le.size):"—"),1),o("td",ku,f(le.ms!=null?`${le.ms}ms`:"—"),1),o("td",null,[o("div",$u,[o("div",{class:"fetch-dashboard__bar-fill tracker-progress-bar__fill",style:Me({width:`${Y(le)}%`,background:A(le.status)})},null,4)])])],10,_u)}),128)),B.value&&ge.value>0?(v(),_("tr",xu,[o("td",{colspan:"7",style:Me({height:`${ge.value}px`})},null,4)])):G("",!0),K.value.length?(v(),_("tr",Cu,[o("td",Tu,[o("span",Mu,"showing "+f(O.value.length)+" of "+f(K.value.length),1),w.value?(v(),_("span",Eu,"scroll to load more")):G("",!0)])])):(v(),_("tr",wu,[o("td",Su,f(Ie(s)?"No fetches recorded yet.":"Waiting for connection to the Nuxt app…"),1)]))])])],544),o("div",{class:"tracker-resize-handle",onMousedown:U[5]||(U[5]=(...le)=>Ie(i)&&Ie(i)(...le))},null,32),$.value?(v(),_("div",{key:0,class:"fetch-dashboard__detail tracker-detail-panel",style:Me({width:Ie(r)+"px"})},[o("div",Iu,[o("span",Ou,f($.value.key),1),o("div",Ru,[o("button",{onClick:U[6]||(U[6]=le=>c.value=null)},"×")])]),o("div",Au,[(v(!0),_(ve,null,Oe(F.value,([le,He])=>(v(),_(ve,{key:le},[o("span",Fu,f(le),1),o("span",Nu,f(He),1)],64))),128))]),U[13]||(U[13]=o("div",{class:"tracker-section-label fetch-dashboard__section-label"},"payload",-1)),o("pre",Lu,f(ie.value),1),U[14]||(U[14]=o("div",{class:"tracker-section-label fetch-dashboard__section-label fetch-dashboard__section-label--source"},"source",-1)),o("div",Pu,f($.value.file)+":"+f($.value.line),1)],4)):(v(),_("div",{key:1,class:"tracker-detail-empty",style:Me({width:Ie(r)+"px"})},"select a call to inspect",4))]),o("div",Du,[o("div",Vu,[U[15]||(U[15]=o("div",{class:"tracker-section-label fetch-dashboard__waterfall-label"},"waterfall",-1)),o("button",{class:re({active:h.value}),onClick:U[7]||(U[7]=le=>h.value=!h.value)},f(h.value?"hide":"show"),3)]),h.value?(v(),_("div",ju,[(v(!0),_(ve,null,Oe(p.value,le=>(v(),_("div",{key:le.id,class:"fetch-dashboard__waterfall-row"},[o("span",Hu,f(le.key),1),o("div",zu,[o("div",{class:"fetch-dashboard__waterfall-bar",style:Me({left:`${he(le)}%`,width:`${Math.max(2,X(le))}%`,background:A(le.status)})},null,4)]),o("span",Bu,f(le.ms!=null?`${le.ms}ms`:"—"),1)]))),128))])):G("",!0)])]))}}),mt=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},Wu=mt(Uu,[["__scopeId","data-v-a1c3b641"]]),Ku={class:"provide-graph tracker-view"},Ju={class:"provide-graph__toolbar tracker-toolbar"},Gu=["onClick"],qu={class:"provide-graph__split tracker-split"},Xu={class:"provide-graph__graph-area"},Qu={key:0,class:"provide-graph__canvas-stage"},Yu=["width","height","viewBox"],Zu=["d"],ed=["onClick"],td={class:"mono provide-graph__node-label"},sd={key:0,class:"badge badge-ok badge-xs"},nd={key:1,class:"badge badge-err badge-xs"},rd={key:1,class:"provide-graph__graph-empty"},od={class:"provide-graph__detail-header"},id={class:"provide-graph__detail-title mono bold"},ld={key:0,class:"detail-section"},ad={class:"tracker-section-label provide-graph__section-label"},cd={class:"detail-list"},ud={class:"row-main"},dd={class:"mono text-sm row-key"},fd=["title"],pd=["onClick"],hd={key:0,class:"row-warning"},vd={key:1,class:"row-consumers"},md={key:0,class:"muted text-sm"},_d={key:2,class:"provide-graph__compact-muted muted text-sm"},gd={key:3,class:"value-box"},bd={class:"tracker-section-label provide-graph__section-label"},yd={class:"detail-list"},kd={class:"mono text-sm row-key"},$d={key:0,class:"badge badge-ok"},xd={key:1,class:"badge badge-err"},wd=["title"],Sd={key:2,class:"provide-graph__empty-detail muted text-sm"},Cd={key:2,class:"tracker-detail-empty"},vs=140,ms=32,Td=72,_s=18,Md=dt({__name:"ProvideInjectGraph",setup(e){const{provideInject:t,connected:s}=Qt(),{paneWidth:n,onHandleMouseDown:r}=Nn(280,"observatory:provide:detailWidth");function i(D){return D.injects.some(A=>!A.ok)?"var(--red)":D.type==="both"?"var(--blue)":D.type==="provider"?"var(--teal)":"var(--text3)"}function l(D,A){return A==="all"?!0:A==="warn"?D.injects.some(S=>!S.ok):A==="shadow"?D.provides.some(S=>S.isShadowing):D.provides.some(S=>S.key===A)||D.injects.some(S=>S.key===A)}function a(D,A){if(!A)return!0;const S=A.toLowerCase();return D.label.toLowerCase().includes(S)||D.componentName.toLowerCase().includes(S)||D.provides.some(Y=>Y.key.toLowerCase().includes(S))||D.injects.some(Y=>Y.key.toLowerCase().includes(S))}function c(D){const A=new Map;for(const S of D){const Y=[{node:S,visited:!1}];for(;Y.length;){const me=Y.pop();if(!me.visited){Y.push({node:me.node,visited:!0});for(let X=me.node.children.length-1;X>=0;X--)Y.push({node:me.node.children[X],visited:!1});continue}if(me.node.children.length===0){A.set(me.node.id,1);continue}let he=0;for(const X of me.node.children)he+=A.get(X.id)??1;A.set(me.node.id,he)}}return A}function h(D){if(typeof D=="string")return D;try{return JSON.stringify(D)}catch{return String(D)}}function d(D){return typeof D=="object"&&D!==null}function m(D){if(D===null)return"null";if(Array.isArray(D))return`Array(${D.length})`;if(typeof D=="object"){const A=Object.keys(D);return A.length?`{ ${A.join(", ")} }`:"{}"}return h(D)}function y(D){if(!d(D))return h(D);try{return JSON.stringify(D,null,2)}catch{return h(D)}}function p(D,A,S){return`${D}:${A}:${S}`}function k(D){return D.split("/").pop()??D}function $(D){Er(D)}function I(D){return String(D.componentUid)}const K=R(()=>{const D=new Map,A=new Map;function S(X){const Se=I(X),V=D.get(Se);if(V)return V;const U={id:Se,label:k(X.componentFile),componentName:X.componentName??k(X.componentFile),componentFile:X.componentFile,type:"consumer",provides:[],injects:[],children:[]};return D.set(Se,U),A.set(Se,X.parentUid!==void 0?String(X.parentUid):null),U}const Y=new Map;for(const X of t.value.injects){const Se=Y.get(X.key)??[];Se.push(X),Y.set(X.key,Se)}const me=new Map;for(const X of t.value.provides)me.set(X.componentUid,X.componentName);for(const X of t.value.injects)me.set(X.componentUid,X.componentName);for(const X of t.value.provides){const Se=S(X),V=Y.get(X.key)??[];Se.provides.push({key:X.key,val:m(X.valueSnapshot),raw:X.valueSnapshot,reactive:X.isReactive,complex:d(X.valueSnapshot),scope:X.scope??"component",isShadowing:X.isShadowing??!1,consumerUids:V.map(U=>U.componentUid),consumerNames:V.map(U=>U.componentName)})}for(const X of t.value.injects)S(X).injects.push({key:X.key,from:X.resolvedFromFile??null,fromName:X.resolvedFromUid!==void 0?me.get(X.resolvedFromUid)??null:null,ok:X.resolved});for(const X of D.values())X.injects.some(Se=>!Se.ok)?X.type="error":X.provides.length&&X.injects.length?X.type="both":X.provides.length?X.type="provider":X.type="consumer";const he=[];for(const[X,Se]of D.entries()){const V=A.get(X),U=V?D.get(V):void 0;U?U.children.push(Se):he.push(Se)}return he}),j=se("all"),O=se(""),w=se(null),B=se(new Set);vt(w,()=>{B.value=new Set});function ue(D){const A=new Set(B.value);A.has(D)?A.delete(D):A.add(D),B.value=A}const xe=R(()=>{const D=new Set,A=[...K.value];for(;A.length;){const S=A.pop();S.provides.forEach(Y=>D.add(Y.key)),S.injects.forEach(Y=>D.add(Y.key)),A.push(...S.children)}return[...D]}),ke=R(()=>{function D(A){const S=[],Y=[A];for(;Y.length;){const he=Y.pop();S.push(he);for(let X=he.children.length-1;X>=0;X--)Y.push(he.children[X])}const me=new Map;for(let he=S.length-1;he>=0;he--){const X=S[he],Se=X.children.map(U=>me.get(U)??null).filter(U=>U!==null);!(l(X,j.value)&&a(X,O.value))&&!Se.length?me.set(X,null):me.set(X,{...X,children:Se})}return me.get(A)??null}return K.value.map(D).filter(Boolean)}),de=R(()=>c(ke.value));function ge(D,A){const S=[...D];for(;S.length;){const Y=S.pop();if(Y.id===A)return Y;S.push(...Y.children)}return null}vt([ke,w],([D,A])=>{if(!A)return;const S=new Set,Y=[...D];for(;Y.length;){const he=Y.pop();S.add(he.id),Y.push(...he.children)}if(!S.has(A.id)){w.value=null;return}const me=ge(D,A.id);me&&me!==A&&(w.value=me)});const we=R(()=>{const D=[],A=_s,S=de.value,Y=he=>S.get(he.id)??1;let me=A;for(const he of ke.value){const X=[{node:he,depth:0,slotLeft:me,parentId:null}];for(;X.length;){const{node:V,depth:U,slotLeft:le,parentId:He}=X.pop(),W=Y(V)*(vs+_s)-_s;D.push({data:V,parentId:He,x:Math.round(le+W/2),y:Math.round(A+U*(ms+Td)+ms/2)});let H=le;const J=[];for(const Ce of V.children){const u=Y(Ce);J.push({node:Ce,depth:U+1,slotLeft:H,parentId:V.id}),H+=u*(vs+_s)}for(let Ce=J.length-1;Ce>=0;Ce--)X.push(J[Ce])}const Se=Y(he);me+=Se*(vs+_s)+_s*2}return D}),T=R(()=>we.value.reduce((D,A)=>Math.max(D,A.x+vs/2+20),520)),F=R(()=>we.value.reduce((D,A)=>Math.max(D,A.y+ms/2+20),200)),ie=R(()=>{const D=new Map(we.value.map(A=>[A.data.id,A]));return we.value.filter(A=>A.parentId!==null).map(A=>{const S=D.get(A.parentId);return{id:`${S.data.id}--${A.data.id}`,x1:S.x,y1:S.y+ms/2,x2:A.x,y2:A.y-ms/2}})});return(D,A)=>(v(),_("div",Ku,[o("div",Ju,[o("button",{class:re({active:j.value==="all"}),onClick:A[0]||(A[0]=S=>j.value="all")},"all keys",2),(v(!0),_(ve,null,Oe(xe.value,S=>(v(),_("button",{key:S,class:re(["provide-graph__key-filter mono",{active:j.value===S}]),onClick:Y=>j.value=S},f(S),11,Gu))),128)),o("button",{class:re(["provide-graph__toolbar-spacer",{"danger-active":j.value==="shadow"}]),onClick:A[1]||(A[1]=S=>j.value=j.value==="shadow"?"all":"shadow")}," shadowed ",2),o("button",{class:re({"danger-active":j.value==="warn"}),onClick:A[2]||(A[2]=S=>j.value=j.value==="warn"?"all":"warn")}," warnings ",2),qt(o("input",{"onUpdate:modelValue":A[3]||(A[3]=S=>O.value=S),type:"search",class:"provide-graph__search",placeholder:"search component or key…"},null,512),[[us,O.value]])]),o("div",qu,[o("div",Xu,[A[7]||(A[7]=Ka('<div class="provide-graph__legend" data-v-fdf915a5><span class="provide-graph__legend-dot provide-graph__legend-dot--provides" data-v-fdf915a5></span><span data-v-fdf915a5>provides</span><span class="provide-graph__legend-dot provide-graph__legend-dot--both" data-v-fdf915a5></span><span data-v-fdf915a5>both</span><span class="provide-graph__legend-dot provide-graph__legend-dot--injects" data-v-fdf915a5></span><span data-v-fdf915a5>injects</span><span class="provide-graph__legend-dot provide-graph__legend-dot--missing" data-v-fdf915a5></span><span data-v-fdf915a5>missing provider</span></div>',1)),we.value.length?(v(),_("div",Qu,[o("div",{class:"provide-graph__canvas-wrap",style:Me({width:`${T.value}px`,height:`${F.value}px`})},[(v(),_("svg",{class:"provide-graph__edges-svg",width:T.value,height:F.value,viewBox:`0 0 ${T.value} ${F.value}`},[(v(!0),_(ve,null,Oe(ie.value,S=>(v(),_("path",{key:S.id,d:`M ${S.x1},${S.y1} C ${S.x1},${(S.y1+S.y2)/2} ${S.x2},${(S.y1+S.y2)/2} ${S.x2},${S.y2}`,class:"provide-graph__edge",fill:"none"},null,8,Zu))),128))],8,Yu)),(v(!0),_(ve,null,Oe(we.value,S=>{var Y;return v(),_("div",{key:S.data.id,class:re(["provide-graph__node",{"provide-graph__node--selected":((Y=w.value)==null?void 0:Y.id)===S.data.id}]),style:Me({left:`${S.x-vs/2}px`,top:`${S.y-ms/2}px`,width:`${vs}px`,"--node-color":i(S.data)}),onClick:me=>w.value=S.data},[o("span",{class:"provide-graph__node-dot",style:Me({background:i(S.data)})},null,4),o("span",td,f(S.data.label),1),S.data.provides.length?(v(),_("span",sd," +"+f(S.data.provides.length),1)):G("",!0),S.data.injects.some(me=>!me.ok)?(v(),_("span",nd,"!")):G("",!0)],14,ed)}),128))],4)])):(v(),_("div",rd,f(Ie(s)?"No components match the current provide/inject filter.":"Waiting for connection to the Nuxt app…"),1))]),w.value?(v(),_("div",{key:0,class:"tracker-resize-handle",onMousedown:A[4]||(A[4]=(...S)=>Ie(r)&&Ie(r)(...S))},null,32)):G("",!0),w.value?(v(),_("div",{key:1,class:"provide-graph__detail tracker-detail-panel",style:Me({width:Ie(n)+"px"})},[o("div",od,[o("span",id,f(w.value.label),1),w.value.componentFile&&w.value.componentFile!=="unknown"?(v(),_("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:A[5]||(A[5]=S=>$(w.value.componentFile))}," open ↗ ")):G("",!0),o("button",{onClick:A[6]||(A[6]=S=>w.value=null)},"×")]),w.value.provides.length?(v(),_("div",ld,[o("div",ad,"provides ("+f(w.value.provides.length)+")",1),o("div",cd,[(v(!0),_(ve,null,Oe(w.value.provides,(S,Y)=>(v(),_("div",{key:p(w.value.id,S.key,Y),class:"provide-row"},[o("div",ud,[o("span",dd,f(S.key),1),o("span",{class:"mono text-sm muted row-value-preview",title:S.val},f(S.val),9,fd),o("span",{class:re(["badge scope-badge",`scope-${S.scope}`])},f(S.scope),3),o("span",{class:re(["badge",S.reactive?"badge-ok":"badge-gray"])},f(S.reactive?"reactive":"static"),3),S.complex?(v(),_("button",{key:0,class:"row-toggle mono",onClick:me=>ue(p(w.value.id,S.key,Y))},f(B.value.has(p(w.value.id,S.key,Y))?"hide":"view"),9,pd)):G("",!0)]),S.isShadowing?(v(),_("div",hd,"shadows a parent provide with the same key")):G("",!0),S.consumerNames.length?(v(),_("div",vd,[A[8]||(A[8]=o("span",{class:"muted text-sm"},"used by:",-1)),(v(!0),_(ve,null,Oe(S.consumerNames,me=>(v(),_("span",{key:me,class:"consumer-chip mono"},f(me),1))),128)),S.consumerNames.length?G("",!0):(v(),_("span",md,"no consumers"))])):(v(),_("div",_d,"no consumers detected")),S.complex&&B.value.has(p(w.value.id,S.key,Y))?(v(),_("pre",gd,f(y(S.raw)),1)):G("",!0)]))),128))])])):G("",!0),w.value.injects.length?(v(),_("div",{key:1,class:"detail-section",style:Me({marginTop:w.value.provides.length?"10px":"0"})},[o("div",bd,"injects ("+f(w.value.injects.length)+")",1),o("div",yd,[(v(!0),_(ve,null,Oe(w.value.injects,S=>(v(),_("div",{key:S.key,class:re(["inject-row",{"inject-miss":!S.ok}])},[o("span",kd,f(S.key),1),S.ok?(v(),_("span",$d,"resolved")):(v(),_("span",xd,"no provider")),o("span",{class:re(["mono text-sm row-from",S.fromName?"":"muted"]),title:S.from??"undefined"},f(S.fromName??S.from??"undefined"),11,wd)],2))),128))])],4)):G("",!0),!w.value.provides.length&&!w.value.injects.length?(v(),_("div",Sd," no provide/inject in this component ")):G("",!0)],4)):(v(),_("div",Cd,f(Ie(s)?"Click a node to inspect.":"Waiting for connection to the Nuxt app…"),1))])]))}}),Ed=mt(Md,[["__scopeId","data-v-fdf915a5"]]),qi={enabled:!1,heatmap:!1,traces:!1,composables:!1,fetch:!1,transitions:!1},Ye=se({...qi});let Co=!1;function To(e){return e==null?null:e==="1"||e==="true"||e==="on"?!0:e==="0"||e==="false"||e==="off"?!1:null}function Id(){return{...qi}}function Od(e){if(typeof window>"u")return e;const t=new URLSearchParams(window.location.search),s=To(t.get("virt")),n={...e};s!=null&&(n.enabled=s);const r=[["heatmap","virtHeatmap"],["traces","virtTraces"],["composables","virtComposables"],["fetch","virtFetch"],["transitions","virtTransitions"]];for(const[i,l]of r){const a=To(t.get(l));a!=null&&(n[i]=a)}return n}function Rd(){if(Co)return;Co=!0;const e=Id(),t=Od(e);Ye.value=t}function Ad(e){const t={...Ye.value,enabled:e};Ye.value=t}function Fd(e,t){const s={...Ye.value,[e]:t};Ye.value=s}function Ys(){Rd();const e=R(()=>({enabled:Ye.value.enabled,heatmap:Ye.value.enabled&&Ye.value.heatmap,traces:Ye.value.enabled&&Ye.value.traces,composables:Ye.value.enabled&&Ye.value.composables,fetch:Ye.value.enabled&&Ye.value.fetch,transitions:Ye.value.enabled&&Ye.value.transitions}));return{flags:Ye,effective:e,setAllEnabled:Ad,setScreenEnabled:Fd}}const Nd=6,Ld=1500;function bs(e,t,s,n,r=0){if(n.nodes>=Ld||(n.nodes++,e==null))return!1;const i=typeof e;if(i==="string"||i==="number"||i==="boolean"||i==="bigint")return String(e).toLowerCase().includes(t);if(i!=="object"||r>=Nd)return!1;const l=e;if(s.has(l))return!1;if(s.add(l),Array.isArray(e))return e.some(a=>bs(a,t,s,n,r+1));if(e instanceof Map){for(const[a,c]of e.entries())if(bs(a,t,s,n,r+1)||bs(c,t,s,n,r+1))return!0;return!1}if(e instanceof Set){for(const a of e.values())if(bs(a,t,s,n,r+1))return!0;return!1}try{const a=Object.entries(e);for(const[c,h]of a)if(c.toLowerCase().includes(t)||bs(h,t,s,n,r+1))return!0}catch{return!1}return!1}function Pd(e,t){const s=t.trim().toLowerCase();if(!s||e.name.toLowerCase().includes(s)||e.componentFile.toLowerCase().includes(s))return!0;const n=new WeakSet,r={nodes:0};for(const[i,l]of Object.entries(e.refs))if(i.toLowerCase().includes(s)||bs(l.value,s,n,r))return!0;return!1}const Dd={class:"composable-tracker tracker-view"},Vd={class:"composable-tracker__stats tracker-stats-row"},jd={class:"stat-card"},Hd={class:"stat-val"},zd={class:"stat-card"},Bd={class:"stat-val stat-val--active"},Ud={class:"stat-card"},Wd={class:"stat-val stat-val--error"},Kd={class:"stat-card"},Jd={class:"stat-val"},Gd={class:"composable-tracker__toolbar tracker-toolbar"},qd=["title"],Xd=["onClick"],Qd={class:"composable-tracker__card-header"},Yd={class:"composable-tracker__identity"},Zd={class:"composable-tracker__name mono"},ef={class:"composable-tracker__file muted mono"},tf={class:"composable-tracker__meta"},sf={key:0,class:"badge badge-warn"},nf={key:1,class:"badge badge-warn"},rf={key:2,class:"badge badge-err"},of={key:3,class:"badge badge-ok"},lf={key:4,class:"badge badge-gray"},af={key:0,class:"composable-tracker__refs-preview"},cf=["title"],uf={class:"composable-tracker__ref-chip-key"},df={class:"composable-tracker__ref-chip-val"},ff={key:0,class:"composable-tracker__ref-chip-shared-dot",title:"global"},pf={key:0,class:"muted text-sm"},hf={key:0,class:"composable-tracker__leak-banner"},vf={key:1,class:"composable-tracker__global-banner"},mf={key:2,class:"composable-tracker__compact-muted muted text-sm"},_f=["title","onClick"],gf={class:"composable-tracker__ref-row-actions"},bf=["title","onClick"],yf={key:1,class:"badge badge-amber text-xs"},kf=["onClick"],$f={class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"},xf={class:"composable-tracker__section-label-meta muted"},wf={class:"composable-tracker__history-list"},Sf={class:"composable-tracker__history-time mono muted"},Cf={class:"composable-tracker__history-key mono"},Tf={class:"composable-tracker__history-val mono"},Mf={key:0,class:"composable-tracker__compact-muted muted text-sm"},Ef={class:"composable-tracker__context-label muted text-sm"},If={class:"composable-tracker__lifecycle-row"},Of={class:"composable-tracker__context-value mono text-sm"},Rf={class:"composable-tracker__lifecycle-row"},Af={class:"composable-tracker__context-value composable-tracker__context-value--muted mono text-sm muted"},Ff={class:"composable-tracker__lifecycle-row"},Nf={class:"composable-tracker__context-value composable-tracker__context-value--row composable-tracker__context-value--muted mono text-sm muted"},Lf=["onClick"],Pf={class:"composable-tracker__lifecycle-row"},Df={class:"composable-tracker__context-value composable-tracker__context-value--muted mono text-sm muted"},Vf={class:"composable-tracker__lifecycle-row"},jf={class:"composable-tracker__context-value mono text-sm"},Hf={class:"composable-tracker__lifecycle-row"},zf={class:"composable-tracker__context-value mono text-sm"},Bf={key:2,class:"composable-tracker__empty muted text-sm"},Uf={key:0,class:"composable-tracker__lookup-panel"},Wf={class:"composable-tracker__lookup-header"},Kf={class:"mono text-sm"},Jf={class:"muted text-sm"},Gf={key:0,class:"composable-tracker__lookup-empty muted text-sm"},qf={class:"mono text-sm"},Xf={class:"muted text-sm"},Qf={class:"composable-tracker__lookup-route muted text-sm"},Yf={class:"composable-tracker__edit-dialog"},Zf={class:"composable-tracker__edit-dialog-header"},ep={class:"mono"},tp={key:0,class:"composable-tracker__edit-error text-sm"},sp={class:"composable-tracker__edit-actions"},np=dt({__name:"ComposableTracker",setup(e){const{composables:t,connected:s,features:n,clearComposables:r}=Qt(),i=R(()=>{var W;return((W=n.value)==null?void 0:W.composableNavigationMode)==="session"?"session":"route"});function l(){const W=i.value==="route"?"session":"route";Hc(W)}function a(){r()}function c(W){if(W===null)return"null";if(W===void 0)return"undefined";if(typeof W=="string")return`"${W}"`;if(typeof W=="object")try{const H=JSON.stringify(W);return H.length>80?H.slice(0,80)+"…":H}catch{return String(W)}return String(W)}function h(W){if(W===null)return"null";if(W===void 0)return"undefined";if(typeof W=="string")return`"${W}"`;if(typeof W=="object")try{return JSON.stringify(W,null,2)}catch{return String(W)}return String(W)}function d(W){return W.split("/").pop()??W}function m(W){Er(W)}const y=se("all"),p=se(""),k=se(null),$=se(null),{effective:I}=Ys(),{preset:K}=Qs({rowHeight:88,overscan:6}),j=R(()=>t.value),O=R(()=>({mounted:j.value.filter(W=>W.status==="mounted").length,leaks:j.value.filter(W=>W.leak).length})),w=R(()=>{const H=[...j.value].reverse().filter(u=>!(y.value==="leak"&&!u.leak||y.value==="mounted"&&u.status!=="mounted"||y.value==="unmounted"&&u.status!=="unmounted"||p.value.trim()&&!Pd(u,p.value))),J=[],Ce=[];for(const u of H)u.isLayoutComposable?J.push(u):Ce.push(u);return[...J,...Ce]}),B=R(()=>I.value.composables&&k.value===null),ue=R(()=>({count:w.value.length,getScrollElement:()=>$.value,estimateSize:()=>K.value.rowHeight,overscan:K.value.overscan})),xe=Cs(ue),ke=R(()=>B.value?xe.value.getVirtualItems():[]),de=R(()=>!B.value||ke.value.length===0?0:ke.value[0].start),ge=R(()=>{if(!B.value||ke.value.length===0)return 0;const W=xe.value.getTotalSize(),H=ke.value[ke.value.length-1];return Math.max(0,W-H.end)}),we=R(()=>B.value?ke.value.map(W=>w.value[W.index]).filter(W=>!!W):w.value),T=R(()=>we.value.map(W=>{const H=Object.entries(W.refs),J=H.map(([C,L])=>{var q;const P=S(L.value),N=P&&Y(W.id,C),ee=!!((q=W.sharedKeys)!=null&&q.includes(C));return{key:C,ref:L,isLong:P,expanded:N,displayValue:P&&!N?c(L.value):h(L.value),typeClass:ie(L.type),shared:ee}}),Ce=W.history??[],u=[],g=Math.max(Ce.length-20,0);for(let C=Ce.length-1;C>=g;C--){const L=Ce[C];u.push({id:`${W.id}-${L.key}-${L.t}-${C}`,timeLabel:`+${(L.t/1e3).toFixed(2)}s`,key:L.key,value:c(L.value)})}return{entry:W,refCount:H.length,previewRefs:J.slice(0,3),detailRefs:J,historyRows:u,historyHiddenCount:Math.max(0,Ce.length-20),lifecycle:F(W)}}));function F(W){return[{label:"onMounted",ok:W.lifecycle.hasOnMounted,status:W.lifecycle.hasOnMounted?"registered":"not used"},{label:"onUnmounted",ok:W.lifecycle.hasOnUnmounted,status:W.lifecycle.hasOnUnmounted?"registered":"missing"},{label:"watchers cleaned",ok:W.lifecycle.watchersCleaned,status:W.lifecycle.watchersCleaned?"all stopped":"NOT stopped"},{label:"intervals cleared",ok:W.lifecycle.intervalsCleaned,status:W.lifecycle.intervalsCleaned?"all cleared":"NOT cleared"}]}function ie(W){return W==="computed"?"badge-info":W==="reactive"?"badge-purple":"badge-gray"}const D=se(new Set);function A(W,H){return`${W}:${H}`}function S(W){if(W==null||typeof W!="object")return!1;try{return JSON.stringify(W).length>60}catch{return!1}}function Y(W,H){return D.value.has(A(W,H))}function me(W,H){const J=A(W,H),Ce=new Set(D.value);Ce.has(J)?Ce.delete(J):Ce.add(J),D.value=Ce}const he=se(null),X=R(()=>{if(!he.value)return[];const W=he.value;return W.identityGroup?j.value.filter(H=>{var J;return H.name===W.composableName&&((J=H.sharedKeyGroups)==null?void 0:J[W.key])===W.identityGroup&&W.key in H.refs}):j.value.filter(H=>W.key in H.refs)}),Se=R(()=>he.value?he.value.identityGroup?`${he.value.key} (shared identity)`:he.value.key:"");function V(W,H){var u,g,C,L;const J=(u=W.sharedKeyGroups)==null?void 0:u[H],Ce={key:H,composableName:W.name,identityGroup:J};if(((g=he.value)==null?void 0:g.key)===Ce.key&&((C=he.value)==null?void 0:C.composableName)===Ce.composableName&&((L=he.value)==null?void 0:L.identityGroup)===Ce.identityGroup){he.value=null;return}he.value=Ce}const U=se(null),le=se("");function He(W,H,J){le.value="",U.value={id:W,key:H,rawValue:JSON.stringify(J,null,2)}}function lt(){if(!U.value)return;let W;try{W=JSON.parse(U.value.rawValue),le.value=""}catch(H){le.value=`Invalid JSON: ${H.message}`;return}zc(U.value.id,U.value.key,W),U.value=null}return(W,H)=>(v(),_("div",Dd,[o("div",Vd,[o("div",jd,[H[11]||(H[11]=o("div",{class:"stat-label"},"total",-1)),o("div",Hd,f(j.value.length),1)]),o("div",zd,[H[12]||(H[12]=o("div",{class:"stat-label"},"mounted",-1)),o("div",Bd,f(O.value.mounted),1)]),o("div",Ud,[H[13]||(H[13]=o("div",{class:"stat-label"},"leaks",-1)),o("div",Wd,f(O.value.leaks),1)]),o("div",Kd,[H[14]||(H[14]=o("div",{class:"stat-label"},"instances",-1)),o("div",Jd,f(j.value.length),1)])]),o("div",Gd,[o("button",{class:re({active:y.value==="all"}),onClick:H[0]||(H[0]=J=>y.value="all")},"all",2),o("button",{class:re({active:y.value==="mounted"}),onClick:H[1]||(H[1]=J=>y.value="mounted")},"mounted",2),o("button",{class:re({"danger-active":y.value==="leak"}),onClick:H[2]||(H[2]=J=>y.value="leak")},"leaks only",2),o("button",{class:re({active:y.value==="unmounted"}),onClick:H[3]||(H[3]=J=>y.value="unmounted")},"unmounted",2),o("button",{class:"composable-tracker__mode-btn",title:`switch to ${i.value==="route"?"session":"route"} mode`,onClick:l}," mode: "+f(i.value),9,qd),H[15]||(H[15]=o("span",{class:"tracker-toolbar__spacer"},null,-1)),qt(o("input",{"onUpdate:modelValue":H[4]||(H[4]=J=>p.value=J),class:"composable-tracker__search",type:"search",placeholder:"search name, file, or ref…"},null,512),[[us,p.value]]),i.value==="session"?(v(),_("button",{key:0,class:"composable-tracker__clear-btn",title:"Clear session history",onClick:a}," clear session ")):G("",!0)]),o("div",{ref_key:"listScrollRef",ref:$,class:"composable-tracker__list"},[B.value&&de.value>0?(v(),_("div",{key:0,class:"composable-tracker__virtual-spacer",style:Me({height:`${de.value}px`}),"aria-hidden":"true"},null,4)):G("",!0),(v(!0),_(ve,null,Oe(T.value,J=>{var Ce;return v(),_("div",{key:J.entry.id,class:re(["composable-tracker__card",{"composable-tracker__card--leak":J.entry.leak,"composable-tracker__card--expanded":k.value===J.entry.id}]),onClick:u=>k.value=k.value===J.entry.id?null:J.entry.id},[o("div",Qd,[o("div",Yd,[o("span",Zd,f(J.entry.name),1),o("span",ef,f(d(J.entry.componentFile)),1)]),o("div",tf,[J.entry.watcherCount>0&&!J.entry.leak?(v(),_("span",sf,f(J.entry.watcherCount)+"w ",1)):G("",!0),J.entry.intervalCount>0&&!J.entry.leak?(v(),_("span",nf,f(J.entry.intervalCount)+"t ",1)):G("",!0),J.entry.leak?(v(),_("span",rf,"leak")):J.entry.status==="mounted"?(v(),_("span",of,"mounted")):(v(),_("span",lf,"unmounted"))])]),J.refCount?(v(),_("div",af,[(v(!0),_(ve,null,Oe(J.previewRefs,u=>(v(),_("span",{key:u.key,class:re(["composable-tracker__ref-chip",{"composable-tracker__ref-chip--reactive":u.ref.type==="reactive","composable-tracker__ref-chip--computed":u.ref.type==="computed","composable-tracker__ref-chip--shared":u.shared}]),title:u.shared?"shared global state":""},[o("span",uf,f(u.key),1),o("span",df,f(c(u.ref.value)),1),u.shared?(v(),_("span",ff)):G("",!0)],10,cf))),128)),J.refCount>3?(v(),_("span",pf,"+"+f(J.refCount-3)+" more",1)):G("",!0)])):G("",!0),k.value===J.entry.id?(v(),_("div",{key:1,class:"composable-tracker__detail",onClick:H[5]||(H[5]=Mt(()=>{},["stop"]))},[J.entry.leak?(v(),_("div",hf,f(J.entry.leakReason),1)):G("",!0),(Ce=J.entry.sharedKeys)!=null&&Ce.length?(v(),_("div",vf,[H[17]||(H[17]=o("span",{class:"composable-tracker__global-dot"},null,-1)),o("span",null,[H[16]||(H[16]=o("strong",null,"global state",-1)),We(" — "+f(J.entry.sharedKeys.join(", "))+" "+f(J.entry.sharedKeys.length===1?"is":"are")+" shared across all instances of "+f(J.entry.name),1)])])):G("",!0),H[25]||(H[25]=o("div",{class:"composable-tracker__section-label tracker-section-label"},"reactive state",-1)),J.refCount?G("",!0):(v(),_("div",mf,"no tracked state returned")),(v(!0),_(ve,null,Oe(J.detailRefs,u=>{var g;return v(),_("div",{key:u.key,class:"composable-tracker__ref-row"},[o("span",{class:"composable-tracker__ref-key composable-tracker__ref-key--clickable mono text-sm",title:(g=J.entry.sharedKeyGroups)!=null&&g[u.key]?`click to see instances sharing this exact '${u.key}' state`:`click to see all instances exposing '${u.key}'`,onClick:Mt(C=>V(J.entry,u.key),["stop"])},f(u.key),9,_f),o("span",{class:re(["composable-tracker__ref-val mono text-sm",{"composable-tracker__ref-val--full":u.isLong&&u.expanded,"composable-tracker__ref-val--collapsed":u.isLong&&!u.expanded}])},f(u.displayValue),3),o("div",gf,[u.isLong?(v(),_("button",{key:0,class:"composable-tracker__expand-btn",title:u.expanded?"Collapse":"Expand",onClick:Mt(C=>me(J.entry.id,u.key),["stop"])},f(u.expanded?"▲":"▼"),9,bf)):G("",!0),o("span",{class:re(["badge text-xs",u.typeClass])},f(u.ref.type),3),u.shared?(v(),_("span",yf,"global")):G("",!0),u.ref.type==="ref"?(v(),_("button",{key:2,class:"composable-tracker__edit-btn",title:"Edit value",onClick:Mt(C=>He(J.entry.id,u.key,u.ref.value),["stop"])}," edit ",8,kf)):G("",!0)])])}),128)),J.historyRows.length?(v(),_(ve,{key:3},[o("div",$f,[H[18]||(H[18]=We(" change history ",-1)),o("span",xf,"("+f(J.entry.history.length)+" events)",1)]),o("div",wf,[(v(!0),_(ve,null,Oe(J.historyRows,u=>(v(),_("div",{key:u.id,class:"composable-tracker__history-row"},[o("span",Sf,f(u.timeLabel),1),o("span",Cf,f(u.key),1),o("span",Tf,f(u.value),1)]))),128)),J.historyHiddenCount>0?(v(),_("div",Mf," … "+f(J.historyHiddenCount)+" earlier events ",1)):G("",!0)])],64)):G("",!0),H[26]||(H[26]=o("div",{class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"}," lifecycle ",-1)),(v(!0),_(ve,null,Oe(J.lifecycle,u=>(v(),_("div",{key:u.label,class:"composable-tracker__lifecycle-row"},[o("span",{class:re(["composable-tracker__lifecycle-dot",u.ok?"composable-tracker__lifecycle-dot--ok":"composable-tracker__lifecycle-dot--error"])},null,2),o("span",Ef,f(u.label),1),o("span",{class:re(["composable-tracker__lifecycle-status text-sm",u.ok?"composable-tracker__lifecycle-status--ok":"composable-tracker__lifecycle-status--error"])},f(u.status),3)]))),128)),H[27]||(H[27]=o("div",{class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"}," context ",-1)),o("div",If,[H[19]||(H[19]=o("span",{class:"composable-tracker__context-label muted text-sm"},"component",-1)),o("span",Of,f(d(J.entry.componentFile)),1)]),o("div",Rf,[H[20]||(H[20]=o("span",{class:"composable-tracker__context-label muted text-sm"},"uid",-1)),o("span",Af,f(J.entry.componentUid),1)]),o("div",Ff,[H[21]||(H[21]=o("span",{class:"composable-tracker__context-label muted text-sm"},"defined in",-1)),o("span",Nf,[We(f(J.entry.file)+":"+f(J.entry.line)+" ",1),o("button",{class:"composable-tracker__jump-btn",title:"Open in editor",onClick:Mt(u=>m(J.entry.file),["stop"])}," open ↗ ",8,Lf)])]),o("div",Pf,[H[22]||(H[22]=o("span",{class:"composable-tracker__context-label muted text-sm"},"route",-1)),o("span",Df,f(J.entry.route),1)]),o("div",Vf,[H[23]||(H[23]=o("span",{class:"composable-tracker__context-label muted text-sm"},"watchers",-1)),o("span",jf,f(J.entry.watcherCount),1)]),o("div",Hf,[H[24]||(H[24]=o("span",{class:"composable-tracker__context-label muted text-sm"},"intervals",-1)),o("span",zf,f(J.entry.intervalCount),1)])])):G("",!0)],10,Xd)}),128)),B.value&&ge.value>0?(v(),_("div",{key:1,class:"composable-tracker__virtual-spacer",style:Me({height:`${ge.value}px`}),"aria-hidden":"true"},null,4)):G("",!0),w.value.length?G("",!0):(v(),_("div",Bf,f(Ie(s)?"No composables recorded yet.":"Waiting for connection to the Nuxt app…"),1))],512),Be(gn,{name:"slide"},{default:zs(()=>[he.value?(v(),_("div",Uf,[o("div",Wf,[o("span",Kf,f(Se.value),1),o("span",Jf,"— "+f(X.value.length)+" instance"+f(X.value.length!==1?"s":""),1),o("button",{class:"composable-tracker__clear-btn composable-tracker__lookup-close",onClick:H[6]||(H[6]=J=>he.value=null)},"✕")]),X.value.length?G("",!0):(v(),_("div",Gf," No instances matched this lookup. ")),(v(!0),_(ve,null,Oe(X.value,J=>(v(),_("div",{key:J.id,class:"composable-tracker__lookup-row"},[o("span",qf,f(J.name),1),o("span",Xf,f(d(J.componentFile)),1),o("span",Qf,f(J.route),1)]))),128))])):G("",!0)]),_:1}),Be(gn,{name:"fade"},{default:zs(()=>[U.value?(v(),_("div",{key:0,class:"composable-tracker__edit-overlay",onClick:H[10]||(H[10]=Mt(J=>U.value=null,["self"]))},[o("div",Yf,[o("div",Zf,[H[28]||(H[28]=We(" edit ",-1)),o("span",ep,f(U.value.key),1),o("button",{class:"composable-tracker__clear-btn composable-tracker__dialog-close",onClick:H[7]||(H[7]=J=>U.value=null)},"✕")]),H[29]||(H[29]=o("p",{class:"composable-tracker__edit-help muted text-sm"},[We(" Value applied immediately to the live ref. Only "),o("span",{class:"mono"},"ref"),We(" values are writable. ")],-1)),qt(o("textarea",{"onUpdate:modelValue":H[8]||(H[8]=J=>U.value.rawValue=J),class:"composable-tracker__edit-textarea",rows:"6",spellcheck:"false"},null,512),[[us,U.value.rawValue]]),le.value?(v(),_("div",tp,f(le.value),1)):G("",!0),o("div",sp,[o("button",{onClick:lt},"apply"),o("button",{class:"composable-tracker__clear-btn",onClick:H[9]||(H[9]=J=>U.value=null)},"cancel")])])])):G("",!0)]),_:1})]))}}),rp=mt(np,[["__scopeId","data-v-66c39308"]]),op={class:"pinia-tracker"},ip={class:"toolbar"},lp={class:"toolbar-actions"},ap={key:0,class:"status connected"},cp={key:1,class:"status"},up={key:0,class:"empty"},dp={key:1,class:"content-grid"},fp={class:"panel stores"},pp=["onClick"],hp={class:"panel timeline"},vp={class:"list"},mp=["onClick"],_p={class:"panel inspector"},gp={key:0,class:"block"},bp={key:1,class:"block"},yp={class:"meta"},kp={class:"diff-list"},$p=dt({__name:"PiniaStoreTracker",setup(e){const{piniaStores:t,connected:s}=Qt(),n=se(null),r=se(null),i=se(""),l=R(()=>[...t.value].sort((p,k)=>p.id.localeCompare(k.id))),a=R(()=>n.value?l.value.find(p=>p.id===n.value)??null:l.value[0]??null),c=R(()=>a.value?[...a.value.timeline].slice().reverse():[]),h=R(()=>r.value?c.value.find(p=>p.id===r.value)??null:c.value[0]??null);function d(p){n.value=p,r.value=null,i.value=""}function m(p){try{return JSON.stringify(p,null,2)}catch{return String(p)}}function y(p){return typeof p.durationMs!="number"?"-":`${p.durationMs.toFixed(2)}ms`}return(p,k)=>(v(),_("section",op,[o("header",ip,[k[1]||(k[1]=o("h2",null,"Pinia State and Mutations",-1)),o("div",lp,[Ie(s)?(v(),_("span",ap,"Connected")):(v(),_("span",cp,"Waiting for app")),o("button",{class:"danger",onClick:k[0]||(k[0]=(...$)=>Ie(yo)&&Ie(yo)(...$))},"Clear timeline")])]),l.value.length===0?(v(),_("div",up,"No Pinia stores detected yet. Trigger store usage in the app.")):(v(),_("div",dp,[o("aside",fp,[k[2]||(k[2]=o("h3",null,"Stores",-1)),(v(!0),_(ve,null,Oe(l.value,$=>{var I;return v(),_("button",{key:$.id,class:re(["store-row",{active:((I=a.value)==null?void 0:I.id)===$.id}]),onClick:K=>d($.id)},[o("span",null,f($.name),1),o("small",null,f($.timeline.length)+" events",1)],10,pp)}),128))]),o("section",hp,[k[3]||(k[3]=o("h3",null,"Timeline",-1)),o("div",vp,[(v(!0),_(ve,null,Oe(c.value,$=>{var I;return v(),_("button",{key:$.id,class:re(["event-row",{active:((I=h.value)==null?void 0:I.id)===$.id}]),onClick:K=>r.value=$.id},[o("strong",null,f($.kind),1),o("span",null,f($.name),1),o("small",null,f(y($)),1)],10,mp)}),128))])]),o("section",_p,[k[9]||(k[9]=o("h3",null,"Inspector",-1)),a.value?(v(),_("div",gp,[k[4]||(k[4]=o("h4",null,"Current state",-1)),o("pre",null,f(m(a.value.state)),1)])):G("",!0),h.value?(v(),_("div",bp,[k[5]||(k[5]=o("h4",null,"Selected event",-1)),o("p",yp,f(h.value.kind)+" · "+f(h.value.name)+" · "+f(h.value.status)+" · "+f(y(h.value)),1),k[6]||(k[6]=o("h5",null,"Diff",-1)),o("ul",kp,[(v(!0),_(ve,null,Oe(h.value.diff,$=>(v(),_("li",{key:$.path},[o("code",null,f($.path),1)]))),128))]),k[7]||(k[7]=o("h5",null,"Before",-1)),o("pre",null,f(m(h.value.beforeState)),1),k[8]||(k[8]=o("h5",null,"After",-1)),o("pre",null,f(m(h.value.afterState)),1)])):G("",!0)])]))]))}}),xp=mt($p,[["__scopeId","data-v-6e665e53"]]);function Xi(e,t){const s=JSON.stringify(t,null,2),n=new Blob([s],{type:"application/json"}),r=URL.createObjectURL(n),i=document.createElement("a");i.href=r,i.download=e,i.click(),URL.revokeObjectURL(r)}function Qi(){return new Promise((e,t)=>{const s=document.createElement("input");s.type="file",s.accept=".json,application/json",s.addEventListener("change",()=>{var i;const n=(i=s.files)==null?void 0:i[0];if(!n){t(new Error("No file selected"));return}const r=new FileReader;r.addEventListener("load",()=>{try{e(JSON.parse(r.result))}catch{t(new Error("Invalid JSON file"))}}),r.addEventListener("error",()=>t(new Error("Failed to read file"))),r.readAsText(n)}),window.addEventListener("focus",()=>{setTimeout(()=>{var n;(n=s.files)!=null&&n.length||t(new Error("cancelled"))},300)},{once:!0}),s.click()})}const wp={class:"render-heatmap tracker-view"},Sp={class:"render-heatmap__controls tracker-toolbar"},Cp={class:"render-heatmap__mode-group"},Tp={class:"render-heatmap__threshold-group"},Mp=["min","max","step"],Ep={class:"mono text-sm"},Ip=["value"],Op={class:"render-heatmap__stats tracker-stats-row"},Rp={class:"stat-card"},Ap={class:"stat-val"},Fp={class:"stat-card"},Np={class:"stat-val"},Lp={class:"stat-card"},Pp={class:"stat-val stat-val--error"},Dp={class:"stat-card"},Vp={class:"stat-val"},jp={class:"render-heatmap__inspector"},Hp={class:"render-heatmap__roots-panel"},zp=["onClick"],Bp={class:"render-heatmap__root-copy"},Up={class:"render-heatmap__root-label mono"},Wp={class:"render-heatmap__root-sub muted mono"},Kp={class:"render-heatmap__root-meta mono"},Jp={key:0,class:"render-heatmap__detail-empty"},Gp={class:"render-heatmap__tree-panel"},qp={class:"render-heatmap__tree-toolbar"},Xp=["value"],Qp={class:"render-heatmap__tree-canvas tree-canvas"},Yp=["onClick"],Zp=["disabled","onClick"],eh={class:"tree-copy"},th=["title"],sh={key:0,class:"tree-badges"},nh=["title"],rh={class:"tree-metrics mono"},oh={key:0,class:"tree-persistent-pill",title:"Layout / persistent component — survives navigation"},ih={key:1,class:"tree-hydration-pill",title:"First mount was SSR hydration — not a user-triggered render"},lh={class:"tree-metric-pill"},ah=["title","onClick"],ch={key:0,class:"render-heatmap__detail-empty"},uh={class:"render-heatmap__detail-header"},dh={class:"render-heatmap__detail-title mono bold"},fh={class:"render-heatmap__detail-pill-row"},ph={class:"render-heatmap__detail-pill mono"},hh={class:"render-heatmap__detail-pill render-heatmap__detail-pill--muted mono muted"},vh={key:0,class:"render-heatmap__detail-pill mono"},mh={key:1,class:"render-heatmap__detail-pill render-heatmap__detail-pill--persistent mono"},_h={key:2,class:"render-heatmap__detail-pill render-heatmap__detail-pill--hydrated mono"},gh={class:"render-heatmap__detail-pill mono"},bh={class:"render-heatmap__meta-grid"},yh={class:"mono text-sm"},kh={class:"mono text-sm"},$h={class:"render-heatmap__file-row mono text-sm muted"},xh={class:"mono text-sm"},wh={class:"mono text-sm"},Sh={class:"mono text-sm"},Ch={class:"render-heatmap__meta-grid"},Th={class:"mono text-sm"},Mh={class:"mono text-sm"},Eh={class:"mono text-sm"},Ih={class:"mono text-sm"},Oh={class:"mono text-sm"},Rh={class:"mono text-sm"},Ah={class:"mono text-sm"},Fh={key:0,class:"muted text-sm"},Nh={class:"tracker-section-label render-heatmap__section-label render-heatmap__section-label--timeline"},Lh={class:"render-heatmap__section-label-meta muted"},Ph={key:1,class:"muted text-sm"},Dh={key:2,class:"render-heatmap__timeline-list"},Vh={class:"render-heatmap__timeline-time mono muted"},jh={class:"render-heatmap__timeline-dur mono"},Hh={key:0,class:"render-heatmap__timeline-trigger mono muted"},zh={class:"render-heatmap__timeline-route mono muted"},Bh={key:0,class:"render-heatmap__compact-muted muted text-sm"},Uh={key:1,class:"render-heatmap__detail-empty"},Wh=dt({__name:"RenderHeatmap",setup(e){function t(x){var ae,oe;const b=[],E=(ae=x.element)==null?void 0:ae.toLowerCase();if(x.element&&x.element!==x.label&&!["div","span","p"].includes(E??"")&&b.push(x.element),x.file!=="unknown"){const fe=((oe=x.file.split("/").pop())==null?void 0:oe.replace(/\.vue$/i,""))??x.file;fe!==x.label&&!b.includes(fe)&&b.push(fe)}return b}const s=dt({name:"TreeNode",props:{node:Object,mode:String,threshold:Number,selected:String,expandedIds:Object},emits:["select","toggle"],setup(x,{emit:b}){function E(fe){return x.mode==="count"?fe.rerenders+fe.mountCount:fe.avgMs}function ae(fe){return E(fe)>=x.threshold}function oe(fe){return{selected:x.selected===fe.id,hot:ae(fe)}}return()=>{var Or;const fe=x.node,ze=((Or=x.expandedIds)==null?void 0:Or.has(fe.id))??!1,At=fe.children.length>0,ol=x.mode==="count"?`${fe.rerenders+fe.mountCount}`:`${fe.avgMs.toFixed(1)}ms`,il=x.mode==="count"?"renders":"avg",Ir=t(fe);return Ze("div",{class:"tree-node"},[Ze("div",{class:["tree-row",oe(fe)],style:{"--tree-depth":String(fe.depth)},onClick:kt=>{kt.stopPropagation(),b("select",fe)}},[Ze("span",{class:"tree-rail","aria-hidden":"true"}),Ze("button",{class:["tree-toggle",{empty:!At}],disabled:!At,onClick:kt=>{kt.stopPropagation(),At&&b("toggle",fe.id)}},At?ze?"⌄":"›":""),Ze("div",{class:"tree-copy"},[Ze("span",{class:"tree-name mono",title:fe.label},fe.label),Ir.length?Ze("div",{class:"tree-badges"},Ir.slice(0,1).map(kt=>Ze("span",{class:"tree-badge mono",title:kt},kt))):null]),Ze("div",{class:"tree-metrics mono"},[fe.isPersistent?Ze("span",{class:"tree-persistent-pill",title:"Layout / persistent component — survives navigation"},"persistent"):null,fe.isHydrationMount?Ze("span",{class:"tree-hydration-pill",title:"First mount was SSR hydration — not a user-triggered render"},"hydrated"):null,Ze("span",{class:"tree-metric-pill"},`${ol} ${il}`),fe.file&&fe.file!=="unknown"?Ze("button",{class:"tree-jump-btn",title:`Open ${fe.file} in editor`,onClick:kt=>{kt.stopPropagation(),Ln(fe.file)}},"↗"):null])]),ze&&At?Ze("div",{class:"tree-children"},fe.children.map(kt=>Ze(s,{node:kt,mode:x.mode,threshold:x.threshold,selected:x.selected,expandedIds:x.expandedIds,onSelect:Pn=>b("select",Pn),onToggle:Pn=>b("toggle",Pn)}))):null])}}}),{renders:n,connected:r}=Qt(),{paneWidth:i,onHandleMouseDown:l}=Nn(280,"observatory:heatmap:detailWidth"),a=se("count"),c=se(""),h=3,d=1600,m=se(Number(h)),y=se(Number(d)),p=R({get:()=>a.value==="count"?m.value:y.value,set:x=>{a.value==="count"?m.value=x:y.value=x}}),k=se(!1),$=se(!1),I=se(!1),K=se(""),j=se(null),O=se(null),w=se(new Set),B=se([]),ue=se(!1),xe=se(null),{effective:ke}=Ys(),{preset:de}=Qs({rowHeight:34,overscan:6});function ge(x){var E;if(x.name&&x.name!=="unknown"&&!/^Component#\d+$/.test(x.name))return x.name;if(x.element)return x.element;const b=(E=x.file.split("/").pop())==null?void 0:E.replace(/\.vue$/i,"");return b&&b!=="unknown"?b:x.name&&x.name!=="unknown"?x.name:`Component#${x.uid}`}function we(x){return`${x.type}: ${x.key}`}function T(x){const b=new Map;for(const oe of x)b.set(String(oe.uid),{id:String(oe.uid),label:ge(oe),file:oe.file,element:oe.element,depth:0,path:[],rerenders:oe.rerenders??0,mountCount:oe.mountCount??1,avgMs:oe.avgMs,triggers:oe.triggers.map(we),timeline:oe.timeline??[],children:[],parentId:oe.parentUid!==void 0?String(oe.parentUid):void 0,isPersistent:!!oe.isPersistent,isHydrationMount:!!oe.isHydrationMount,route:oe.route??"/"});const E=[];for(const oe of x){const fe=b.get(String(oe.uid));if(!fe)continue;const ze=oe.parentUid!==void 0?b.get(String(oe.parentUid)):void 0;ze?(fe.parentLabel=ze.label,ze.children.push(fe)):E.push(fe)}function ae(oe,fe=[],ze=0){oe.depth=ze,oe.path=[...fe,oe.label],oe.children.forEach(At=>ae(At,oe.path,ze+1))}return E.forEach(oe=>ae(oe)),E}function F(x){const b=[];function E(ae){b.push(ae),ae.children.forEach(E)}return x.forEach(E),b}function ie(x){const b=new Map;for(const E of x){const ae=[{node:E,visited:!1}];for(;ae.length;){const oe=ae.pop();if(!oe.visited){ae.push({node:oe.node,visited:!0});for(let ze=oe.node.children.length-1;ze>=0;ze--)ae.push({node:oe.node.children[ze],visited:!1});continue}let fe=1;for(const ze of oe.node.children)fe+=b.get(ze.id)??1;b.set(oe.node.id,fe)}}return b}function D(x){const b=new Map;for(const E of x){const ae=[E];for(;ae.length;){const oe=ae.pop();b.set(oe.id,E.id);for(let fe=oe.children.length-1;fe>=0;fe--)ae.push(oe.children[fe])}}return b}function A(x){if(he(x))return x;for(const b of x.children){const E=A(b);if(E)return E}return null}function S(x){if(!x)return new Set;const b=new Set;function E(ae){ae.children.length>0&&(b.add(ae.id),ae.children.forEach(E))}return E(x),b}function Y(x,b){const E=S(x);if(!x||!b)return E;function ae(oe){const fe=oe.children.some(At=>ae(At)),ze=X(oe,b);return fe&&E.add(oe.id),ze||fe}return ae(x),E}function me(x){return a.value==="count"?x.rerenders+x.mountCount:x.avgMs}function he(x){return me(x)>=p.value}function X(x,b){if(!b)return!0;const E=b.toLowerCase();return x.label.toLowerCase().includes(E)||x.file.toLowerCase().includes(E)||x.path.some(ae=>ae.toLowerCase().includes(E))||x.triggers.some(ae=>ae.toLowerCase().includes(E))}function Se(x,b){return b?X(x,b)||x.children.some(E=>Se(E,b)):!0}function V(x){return he(x)||x.children.some(b=>V(b))}function U(x){return!c.value||x.route===c.value?!0:x.timeline.some(b=>b.route===c.value)}function le(x){return U(x)||x.children.some(b=>le(b))}function He(x,b){const E=Se(x,b),ae=!k.value||V(x),oe=!c.value||le(x);return E&&ae&&oe}function lt(x,b){const E=x.children.map(ze=>lt(ze,b)).filter(ze=>ze!==null),ae=!b||X(x,b)||E.length>0,oe=!k.value||he(x)||E.length>0,fe=!c.value||U(x)||E.length>0;return!ae||!oe||!fe?null:{...x,children:E}}const W=R(()=>$.value?B.value:n.value),H=R(()=>T(W.value)),J=R(()=>new Map(H.value.map(x=>[x.id,x]))),Ce=R(()=>F(H.value)),u=R(()=>new Map(Ce.value.map(x=>[x.id,x]))),g=R(()=>new Set(Ce.value.map(x=>x.id))),C=R(()=>ie(H.value)),L=R(()=>D(H.value));function P(x,b){const E=[];let ae=u.value.get(x);for(;ae&&(E.push(ae.id),!(b&&ae.id===b||!ae.parentId));)ae=u.value.get(ae.parentId);return E.reverse(),b&&E[0]!==b?[]:E}const N=R(()=>{const x=K.value.trim();return H.value.filter(b=>He(b,x))}),ee=R(()=>new Map(N.value.map(x=>[x.id,x]))),q=R(()=>O.value?ee.value.get(O.value)??J.value.get(O.value)??null:N.value[0]??H.value[0]??null),Z=R(()=>{const x=K.value.trim();return q.value?lt(q.value,x):null}),z=R(()=>Z.value?[Z.value]:[]),pe=R(()=>ke.value.heatmap);function ne(x,b){if(!x)return[];const E=[];function ae(oe){E.push(oe),b.has(oe.id)&&oe.children.forEach(ae)}return ae(x),E}const ce=R(()=>ne(Z.value,w.value)),be=R(()=>({count:ce.value.length,getScrollElement:()=>xe.value,estimateSize:()=>de.value.rowHeight,overscan:de.value.overscan})),Te=Cs(be),Re=R(()=>pe.value?Te.value.getVirtualItems():[]),Fe=R(()=>!pe.value||Re.value.length===0?0:Re.value[0].start),Ke=R(()=>{if(!pe.value||Re.value.length===0)return 0;const x=Te.value.getTotalSize(),b=Re.value[Re.value.length-1];return Math.max(0,x-b.end)}),Ge=R(()=>pe.value?Re.value.map(x=>ce.value[x.index]).filter(x=>!!x):ce.value),Xe=R(()=>{const x=a.value==="count"?"renders":"avg";return Ge.value.map(b=>{const E=t(b);return{node:b,primaryBadge:E[0]??null,metricValue:a.value==="count"?`${b.rerenders+b.mountCount}`:`${b.avgMs.toFixed(1)}ms`,metricLabel:x,hot:he(b)}})}),qe=R(()=>N.value.map((x,b)=>({id:x.id,label:`App ${b+1}`,meta:`${C.value.get(x.id)??1} nodes`,root:x}))),Rt=R(()=>{const x=new Set;for(const b of Ce.value){b.route&&x.add(b.route);for(const E of b.timeline)E.route&&x.add(E.route)}return[...x].sort()}),ye=R(()=>j.value?u.value.get(j.value)??null:null),Qe=R(()=>{var ae;const x=((ae=ye.value)==null?void 0:ae.timeline)??[];if(!x.length)return[];const b=[],E=Math.max(x.length-30,0);for(let oe=x.length-1;oe>=E;oe--){const fe=x[oe];b.push({key:`${fe.kind}-${fe.t}-${oe}`,event:fe})}return b}),Q=R(()=>Ce.value.reduce((x,b)=>x+b.rerenders+b.mountCount,0)),M=R(()=>Ce.value.filter(x=>he(x)).length),Ae=R(()=>{const x=Ce.value.filter(b=>b.avgMs>0);return x.length?(x.reduce((b,E)=>b+E.avgMs,0)/x.length).toFixed(1):"0.0"});vt(H,x=>{if(!x.length){O.value=null,j.value=null,w.value=new Set,ue.value=!1;return}const b=new Set(x.map(ae=>ae.id));(!O.value||!b.has(O.value))&&(O.value=x[0].id),j.value&&!g.value.has(j.value)&&(j.value=null);const E=new Set([...w.value].filter(ae=>g.value.has(ae)));if(!ue.value){w.value=S(q.value),ue.value=!0;return}!K.value.trim()&&j.value&&q.value&&P(j.value,q.value.id).forEach(oe=>E.add(oe)),w.value=E},{immediate:!0}),vt(K,x=>{if(!q.value)return;const b=x.trim();if(b){w.value=Y(q.value,b);return}if(j.value){const E=P(j.value,q.value.id);w.value=E.length?new Set(E):S(q.value);return}w.value=S(q.value)}),vt([k,p,a,N],()=>{if(!k.value)return;const x=N.value[0]??null;if(!x){j.value=null;return}const b=A(x);if(!b){j.value=null;return}O.value=x.id,j.value!==b.id&&(j.value=b.id),w.value=new Set(P(b.id,x.id))});function te(x){j.value=x.id;const b=L.value.get(x.id),E=b?J.value.get(b):null;E&&(O.value=E.id,w.value=new Set(P(x.id,E.id)))}function De(x){const b=new Set(w.value);b.has(x)?b.delete(x):b.add(x),w.value=b}function at(x){O.value=x.id,w.value=S(x),ue.value=!0}function Wt(x){const b=x.target;K.value=(b==null?void 0:b.value)??""}function fs(){if($.value){$.value=!1,I.value=!1,B.value=[];return}B.value=JSON.parse(JSON.stringify(n.value)),$.value=!0}function Zi(){Xi(`observatory-renders-${Date.now()}.json`,{type:"observatory-renders",version:"1",exportedAt:Date.now(),count:W.value.length,data:W.value})}async function el(){var E,ae,oe;let x;try{x=await Qi()}catch(fe){fe instanceof Error&&fe.message!=="cancelled"&&alert(`Import failed: ${fe.message}`);return}const b=x;if((b==null?void 0:b.type)!=="observatory-renders"||(b==null?void 0:b.version)!=="1"||!Array.isArray(b==null?void 0:b.data)||b.data.length>0&&(((E=b.data[0])==null?void 0:E.uid)===void 0||!((ae=b.data[0])!=null&&ae.name)||!((oe=b.data[0])!=null&&oe.file))){alert("Invalid observatory renders file.");return}B.value=b.data,$.value=!0,I.value=!0}function tl(x){var b;return((b=x.split("/").pop())==null?void 0:b.replace(/\.vue$/i,""))??x}function Ln(x){Er(x)}function sl(x){return x.path.join(" / ")}function nl(x){return x<1?"<1ms":`${x.toFixed(1)}ms`}function rl(x){return`+${(x/1e3).toFixed(2)}s`}return(x,b)=>(v(),_("div",wp,[o("div",Sp,[o("div",Cp,[o("button",{class:re({active:a.value==="count"}),onClick:b[0]||(b[0]=E=>a.value="count")},"render count",2),o("button",{class:re({active:a.value==="time"}),onClick:b[1]||(b[1]=E=>a.value="time")},"render time",2)]),o("div",Tp,[b[8]||(b[8]=o("span",{class:"muted text-sm"},"threshold",-1)),qt(o("input",{"onUpdate:modelValue":b[2]||(b[2]=E=>p.value=E),type:"range",min:a.value==="count"?2:4,max:a.value==="count"?20:100,step:a.value==="count"?1:4,class:"render-heatmap__threshold-range"},null,8,Mp),[[us,p.value,void 0,{number:!0}]]),o("span",Ep,f(p.value)+f(a.value==="count"?"+ renders":"ms+"),1)]),o("button",{class:re({active:k.value}),onClick:b[3]||(b[3]=E=>k.value=!k.value)},"hot only",2),qt(o("select",{"onUpdate:modelValue":b[4]||(b[4]=E=>c.value=E),class:"route-select mono text-sm",title:"Filter by route"},[b[9]||(b[9]=o("option",{value:""},"all routes",-1)),(v(!0),_(ve,null,Oe(Rt.value,E=>(v(),_("option",{key:E,value:E},f(E),9,Ip))),128))],512),[[Ec,c.value]]),o("button",{class:re([{active:$.value},"render-heatmap__freeze tracker-toolbar__spacer"]),onClick:fs},f($.value&&I.value?"unfreeze (imported)":$.value?"unfreeze":"freeze snapshot"),3),o("button",{class:"render-heatmap__action-btn",title:"Export render data as JSON",onClick:Zi},"↓ export"),o("button",{class:"render-heatmap__action-btn",title:"Import render data from JSON file",onClick:el},"↑ import")]),o("div",Op,[o("div",Rp,[b[10]||(b[10]=o("div",{class:"stat-label"},"components",-1)),o("div",Ap,f(Ce.value.length),1)]),o("div",Fp,[b[11]||(b[11]=o("div",{class:"stat-label"},"total renders",-1)),o("div",Np,f(Q.value),1)]),o("div",Lp,[b[12]||(b[12]=o("div",{class:"stat-label"},"hot",-1)),o("div",Pp,f(M.value),1)]),o("div",Dp,[b[13]||(b[13]=o("div",{class:"stat-label"},"avg time",-1)),o("div",Vp,f(Ae.value)+"ms",1)])]),o("div",jp,[o("aside",Hp,[b[14]||(b[14]=o("div",{class:"render-heatmap__panel-title tracker-section-label"},"apps",-1)),(v(!0),_(ve,null,Oe(qe.value,E=>(v(),_("button",{key:E.id,class:re(["render-heatmap__root-item",{active:O.value===E.id}]),onClick:ae=>at(E.root)},[o("div",Bp,[o("span",Up,f(E.label),1),o("span",Wp,f(E.root.label),1)]),o("span",Kp,f(E.meta),1)],10,zp))),128)),qe.value.length?G("",!0):(v(),_("div",Jp,"no apps match"))]),o("section",Gp,[o("div",qp,[o("input",{value:K.value,class:"render-heatmap__search-input mono",placeholder:"Find components...",onInput:Wt},null,40,Xp)]),o("div",{ref_key:"treeFrameRef",ref:xe,class:"render-heatmap__tree-frame"},[o("div",Qp,[pe.value?(v(),_(ve,{key:0},[Fe.value>0?(v(),_("div",{key:0,class:"render-heatmap__tree-spacer",style:Me({height:`${Fe.value}px`}),"aria-hidden":"true"},null,4)):G("",!0),(v(!0),_(ve,null,Oe(Xe.value,E=>{var ae;return v(),_("div",{key:E.node.id,class:re(["tree-row",{selected:((ae=ye.value)==null?void 0:ae.id)===E.node.id,hot:E.hot}]),style:Me({"--tree-depth":String(E.node.depth)}),onClick:oe=>te(E.node)},[b[15]||(b[15]=o("span",{class:"tree-rail","aria-hidden":"true"},null,-1)),o("button",{class:re(["tree-toggle",{empty:!E.node.children.length}]),disabled:!E.node.children.length,onClick:Mt(oe=>E.node.children.length?De(E.node.id):void 0,["stop"])},f(E.node.children.length?w.value.has(E.node.id)?"⌄":"›":""),11,Zp),o("div",eh,[o("span",{class:"tree-name mono",title:E.node.label},f(E.node.label),9,th),E.primaryBadge?(v(),_("div",sh,[o("span",{class:"tree-badge mono",title:E.primaryBadge},f(E.primaryBadge),9,nh)])):G("",!0)]),o("div",rh,[E.node.isPersistent?(v(),_("span",oh," persistent ")):G("",!0),E.node.isHydrationMount?(v(),_("span",ih," hydrated ")):G("",!0),o("span",lh,f(E.metricValue)+" "+f(E.metricLabel),1),E.node.file&&E.node.file!=="unknown"?(v(),_("button",{key:2,class:"tree-jump-btn",title:`Open ${E.node.file} in editor`,onClick:Mt(oe=>Ln(E.node.file),["stop"])}," ↗ ",8,ah)):G("",!0)])],14,Yp)}),128)),Ke.value>0?(v(),_("div",{key:1,class:"render-heatmap__tree-spacer",style:Me({height:`${Ke.value}px`}),"aria-hidden":"true"},null,4)):G("",!0)],64)):(v(!0),_(ve,{key:1},Oe(z.value,E=>{var ae;return v(),St(Ie(s),{key:E.id,node:E,mode:a.value,threshold:p.value,selected:(ae=ye.value)==null?void 0:ae.id,"expanded-ids":w.value,onSelect:te,onToggle:De},null,8,["node","mode","threshold","selected","expanded-ids"])}),128))]),ce.value.length?G("",!0):(v(),_("div",ch,f(Ie(r)?"No render activity recorded yet.":"Waiting for connection to the Nuxt app…"),1))],512)]),o("div",{class:"tracker-resize-handle",onMousedown:b[5]||(b[5]=(...E)=>Ie(l)&&Ie(l)(...E))},null,32),o("aside",{class:"render-heatmap__detail-panel tracker-detail-panel",style:Me({width:Ie(i)+"px"})},[ye.value?(v(),_(ve,{key:0},[o("div",uh,[o("span",dh,f(ye.value.label),1),o("button",{onClick:b[6]||(b[6]=E=>j.value=null)},"×")]),o("div",fh,[o("span",ph,f(ye.value.rerenders+ye.value.mountCount)+" render"+f(ye.value.rerenders+ye.value.mountCount!==1?"s":""),1),o("span",hh,f(ye.value.mountCount)+" mount"+f(ye.value.mountCount!==1?"s":""),1),ye.value.rerenders?(v(),_("span",vh,f(ye.value.rerenders)+" re-render"+f(ye.value.rerenders!==1?"s":""),1)):G("",!0),ye.value.isPersistent?(v(),_("span",mh," persistent ")):G("",!0),ye.value.isHydrationMount?(v(),_("span",_h," hydrated ")):G("",!0),o("span",gh,f(ye.value.avgMs.toFixed(1))+"ms avg",1),o("span",{class:re(["render-heatmap__detail-pill mono",{"render-heatmap__detail-pill--hot":he(ye.value)}])},f(he(ye.value)?"hot":"cool"),3)]),b[31]||(b[31]=o("div",{class:"tracker-section-label render-heatmap__section-label"},"identity",-1)),o("div",bh,[b[16]||(b[16]=o("span",{class:"muted text-sm"},"label",-1)),o("span",yh,f(ye.value.label),1),b[17]||(b[17]=o("span",{class:"muted text-sm"},"path",-1)),o("span",kh,f(sl(ye.value)),1),b[18]||(b[18]=o("span",{class:"muted text-sm"},"file",-1)),o("span",$h,[We(f(ye.value.file)+" ",1),ye.value.file&&ye.value.file!=="unknown"?(v(),_("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:b[7]||(b[7]=E=>Ln(ye.value.file))}," open ↗ ")):G("",!0)]),b[19]||(b[19]=o("span",{class:"muted text-sm"},"file name",-1)),o("span",xh,f(tl(ye.value.file)),1),b[20]||(b[20]=o("span",{class:"muted text-sm"},"parent",-1)),o("span",wh,f(ye.value.parentLabel??"none"),1),b[21]||(b[21]=o("span",{class:"muted text-sm"},"children",-1)),o("span",Sh,f(ye.value.children.length),1)]),b[32]||(b[32]=o("div",{class:"tracker-section-label render-heatmap__section-label"},"rendering",-1)),o("div",Ch,[b[22]||(b[22]=o("span",{class:"muted text-sm"},"total renders",-1)),o("span",Th,f(ye.value.rerenders+ye.value.mountCount),1),b[23]||(b[23]=o("span",{class:"muted text-sm"},"re-renders",-1)),o("span",Mh,f(ye.value.rerenders),1),b[24]||(b[24]=o("span",{class:"muted text-sm"},"mounts",-1)),o("span",Eh,f(ye.value.mountCount),1),b[25]||(b[25]=o("span",{class:"muted text-sm"},"persistent",-1)),o("span",{class:re(["mono text-sm",{"render-heatmap__persistent-value":ye.value.isPersistent}])},f(ye.value.isPersistent?"yes — survives navigation":"no"),3),b[26]||(b[26]=o("span",{class:"muted text-sm"},"hydration mount",-1)),o("span",Ih,f(ye.value.isHydrationMount?"yes — SSR hydrated":"no"),1),b[27]||(b[27]=o("span",{class:"muted text-sm"},"avg render time",-1)),o("span",Oh,f(ye.value.avgMs.toFixed(1))+"ms",1),b[28]||(b[28]=o("span",{class:"muted text-sm"},"threshold",-1)),o("span",Rh,f(p.value)+f(a.value==="count"?"+ renders":"ms+"),1),b[29]||(b[29]=o("span",{class:"muted text-sm"},"mode",-1)),o("span",Ah,f(a.value==="count"?"re-render count":"render time"),1)]),b[33]||(b[33]=o("div",{class:"tracker-section-label render-heatmap__section-label"},"triggers",-1)),(v(!0),_(ve,null,Oe(ye.value.triggers,E=>(v(),_("div",{key:E,class:"render-heatmap__trigger-item mono text-sm"},f(E),1))),128)),ye.value.triggers.length?G("",!0):(v(),_("div",Fh,"no triggers recorded")),o("div",Nh,[b[30]||(b[30]=We(" render timeline ",-1)),o("span",Lh,"("+f(ye.value.timeline.length)+")",1)]),ye.value.timeline.length?(v(),_("div",Dh,[(v(!0),_(ve,null,Oe(Qe.value,E=>(v(),_("div",{key:E.key,class:"render-heatmap__timeline-row"},[o("span",{class:re(["render-heatmap__timeline-kind mono",E.event.kind])},f(E.event.kind),3),o("span",Vh,f(rl(E.event.t)),1),o("span",jh,f(nl(E.event.durationMs)),1),E.event.triggerKey?(v(),_("span",Hh,f(E.event.triggerKey),1)):G("",!0),o("span",zh,f(E.event.route),1)]))),128)),ye.value.timeline.length>30?(v(),_("div",Bh," … "+f(ye.value.timeline.length-30)+" earlier events ",1)):G("",!0)])):(v(),_("div",Ph,"no timeline events yet"))],64)):(v(),_("div",Uh,"click a component to inspect"))],4)])]))}}),Kh=mt(Wh,[["__scopeId","data-v-18c45b5d"]]),Jh={class:"transition-timeline tracker-view"},Gh={class:"transition-timeline__stats tracker-stats-row"},qh={class:"stat-card"},Xh={class:"stat-val"},Qh={class:"stat-card"},Yh={class:"stat-val stat-val--active"},Zh={class:"stat-card"},ev={class:"stat-val stat-val--error"},tv={class:"stat-card"},sv={class:"stat-val"},nv={class:"transition-timeline__toolbar tracker-toolbar"},rv={class:"transition-timeline__filters"},ov={class:"transition-timeline__content tracker-split"},iv={class:"data-table"},lv={key:0,class:"transition-timeline__virtual-spacer-row","aria-hidden":"true"},av=["onClick"],cv={class:"transition-timeline__name mono"},uv={class:"transition-timeline__duration mono"},dv={class:"transition-timeline__component muted"},fv={class:"transition-timeline__bar-cell"},pv={class:"transition-timeline__bar-track"},hv={key:1,class:"transition-timeline__virtual-spacer-row","aria-hidden":"true"},vv={key:2},mv={colspan:"6",class:"tracker-empty-cell"},_v={class:"transition-timeline__detail-header"},gv={class:"transition-timeline__detail-title"},bv={class:"transition-timeline__detail-section"},yv={class:"transition-timeline__detail-row"},kv={class:"transition-timeline__detail-row"},$v={class:"transition-timeline__detail-row"},xv={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},wv={key:0,class:"transition-timeline__detail-row"},Sv={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Cv={class:"transition-timeline__detail-section"},Tv={class:"transition-timeline__detail-row"},Mv={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Ev={class:"transition-timeline__detail-row"},Iv={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Ov={class:"transition-timeline__detail-row"},Rv={class:"transition-timeline__detail-val transition-timeline__detail-val--mono transition-timeline__detail-val--strong mono"},Av={class:"transition-timeline__detail-section"},Fv={class:"transition-timeline__detail-row"},Nv={class:"transition-timeline__detail-row"},Lv={key:0,class:"transition-timeline__notice transition-timeline__notice--cancelled"},Pv={key:1,class:"transition-timeline__notice transition-timeline__notice--active"},Dv=dt({__name:"TransitionTimeline",setup(e){const{transitions:t,connected:s}=Qt(),{paneWidth:n,onHandleMouseDown:r}=Nn(260,"observatory:transitions:detailWidth"),i=se("all"),l=se(""),a=se(null),c=se(null),{effective:h}=Ys(),{preset:d}=Qs({rowHeight:42,overscan:6}),m=R(()=>[...t.value].sort((T,F)=>T.startTime-F.startTime)),y=R(()=>new Map(t.value.map(T=>[T.id,T]))),p=R(()=>a.value?y.value.get(a.value)??null:null),k=R(()=>{let T=m.value;if(l.value){const F=l.value.toLowerCase();T=T.filter(ie=>ie.transitionName.toLowerCase().includes(F)||ie.parentComponent.toLowerCase().includes(F))}return i.value==="cancelled"?T=T.filter(F=>F.cancelled||F.phase==="interrupted"):i.value==="active"?T=T.filter(F=>F.phase==="entering"||F.phase==="leaving"):i.value==="completed"&&(T=T.filter(F=>F.phase==="entered"||F.phase==="left")),T}),$=R(()=>({total:t.value.length,active:t.value.filter(T=>T.phase==="entering"||T.phase==="leaving").length,cancelled:t.value.filter(T=>T.cancelled||T.phase==="interrupted").length,avgMs:(()=>{const T=t.value.filter(F=>F.durationMs!==void 0);return T.length?Math.round(T.reduce((F,ie)=>F+(ie.durationMs??0),0)/T.length):0})()})),I=R(()=>{const T=k.value;if(!T.length)return[];const F=T.reduce((A,S)=>Math.min(A,S.startTime),T[0].startTime),ie=T.reduce((A,S)=>Math.max(A,S.endTime??S.startTime+400),0),D=Math.max(ie-F,1);return T.map(A=>({left:(A.startTime-F)/D*100,width:((A.endTime??A.startTime+80)-A.startTime)/D*100}))}),K=R(()=>h.value.transitions),j=R(()=>({count:k.value.length,getScrollElement:()=>c.value,estimateSize:()=>d.value.rowHeight,overscan:d.value.overscan})),O=Cs(j),w=R(()=>K.value?O.value.getVirtualItems():[]),B=R(()=>!K.value||w.value.length===0?0:w.value[0].start),ue=R(()=>{if(!K.value||w.value.length===0)return 0;const T=O.value.getTotalSize(),F=w.value[w.value.length-1];return Math.max(0,T-F.end)}),xe=R(()=>K.value?w.value.map(T=>({entry:k.value[T.index],geometry:I.value[T.index]})).filter(T=>!!(T.entry&&T.geometry)):k.value.map((T,F)=>({entry:T,geometry:I.value[F]})));function ke(T){return T==="entering"||T==="leaving"?"#7f77dd":T==="entered"?"#1d9e75":T==="left"?"#378add":T==="enter-cancelled"||T==="leave-cancelled"?"#e24b4a":T==="interrupted"?"#e09a3a":"#888"}function de(T){return T==="entering"||T==="leaving"?"badge-purple":T==="entered"||T==="left"?"badge-ok":T.includes("cancelled")?"badge-err":T==="interrupted"?"badge-warn":"badge-gray"}function ge(T){return T.appear?"✦ appear":T.direction==="enter"?"→ enter":"← leave"}function we(T){return T.appear?"var(--amber)":T.direction==="enter"?"var(--teal)":"var(--blue)"}return(T,F)=>(v(),_("div",Jh,[o("div",Gh,[o("div",qh,[o("div",Xh,f($.value.total),1),F[7]||(F[7]=o("div",{class:"stat-label"},"total",-1))]),o("div",Qh,[o("div",Yh,f($.value.active),1),F[8]||(F[8]=o("div",{class:"stat-label"},"active",-1))]),o("div",Zh,[o("div",ev,f($.value.cancelled),1),F[9]||(F[9]=o("div",{class:"stat-label"},"cancelled",-1))]),o("div",tv,[o("div",sv,[We(f($.value.avgMs)+" ",1),F[10]||(F[10]=o("span",{class:"stat-unit"},"ms",-1))]),F[11]||(F[11]=o("div",{class:"stat-label"},"avg duration",-1))])]),o("div",nv,[qt(o("input",{"onUpdate:modelValue":F[0]||(F[0]=ie=>l.value=ie),type:"search",placeholder:"filter by name or component…",class:"transition-timeline__search"},null,512),[[us,l.value]]),o("div",rv,[o("button",{class:re({active:i.value==="all"}),onClick:F[1]||(F[1]=ie=>i.value="all")},"All",2),o("button",{class:re({active:i.value==="active"}),onClick:F[2]||(F[2]=ie=>i.value="active")},"Active",2),o("button",{class:re({active:i.value==="completed"}),onClick:F[3]||(F[3]=ie=>i.value="completed")},"Completed",2),o("button",{class:re({active:i.value==="cancelled","danger-active":i.value==="cancelled"}),onClick:F[4]||(F[4]=ie=>i.value="cancelled")}," Cancelled ",2)])]),o("div",ov,[o("div",{ref_key:"tableScrollRef",ref:c,class:"transition-timeline__table tracker-table-wrap"},[o("table",iv,[F[12]||(F[12]=o("thead",null,[o("tr",null,[o("th",{class:"transition-timeline__col-name"},"NAME"),o("th",{class:"transition-timeline__col-dir"},"DIR"),o("th",{class:"transition-timeline__col-phase"},"PHASE"),o("th",{class:"transition-timeline__col-duration"},"DURATION"),o("th",null,"COMPONENT"),o("th",null,"TIMELINE")])],-1)),o("tbody",null,[K.value&&B.value>0?(v(),_("tr",lv,[o("td",{colspan:"6",style:Me({height:`${B.value}px`})},null,4)])):G("",!0),(v(!0),_(ve,null,Oe(xe.value,ie=>{var D;return v(),_("tr",{key:ie.entry.id,class:re({selected:((D=p.value)==null?void 0:D.id)===ie.entry.id}),onClick:A=>{var S;return a.value=((S=p.value)==null?void 0:S.id)===ie.entry.id?null:ie.entry.id}},[o("td",null,[o("span",cv,f(ie.entry.transitionName),1)]),o("td",null,[o("span",{class:"transition-timeline__direction mono",style:Me({color:we(ie.entry)})},f(ge(ie.entry)),5)]),o("td",null,[o("span",{class:re(["badge",de(ie.entry.phase)])},f(ie.entry.phase),3)]),o("td",uv,f(ie.entry.durationMs!==void 0?ie.entry.durationMs+"ms":"—"),1),o("td",dv,f(ie.entry.parentComponent),1),o("td",fv,[o("div",pv,[o("div",{class:"transition-timeline__bar-fill",style:Me({left:ie.geometry.left+"%",width:Math.max(ie.geometry.width,1)+"%",background:ke(ie.entry.phase),opacity:ie.entry.phase==="entering"||ie.entry.phase==="leaving"?"0.55":"1"})},null,4)])])],10,av)}),128)),K.value&&ue.value>0?(v(),_("tr",hv,[o("td",{colspan:"6",style:Me({height:`${ue.value}px`})},null,4)])):G("",!0),k.value.length?G("",!0):(v(),_("tr",vv,[o("td",mv,f(Ie(s)?"No transitions recorded yet — trigger one on the page.":"Waiting for connection to the Nuxt app…"),1)]))])])],512),Be(gn,{name:"panel-slide"},{default:zs(()=>[p.value?(v(),_("div",{key:0,class:"tracker-resize-handle",onMousedown:F[5]||(F[5]=(...ie)=>Ie(r)&&Ie(r)(...ie))},null,32)):G("",!0)]),_:1}),Be(gn,{name:"panel-slide"},{default:zs(()=>[p.value?(v(),_("aside",{key:0,class:"transition-timeline__detail",style:Me({width:Ie(n)+"px"})},[o("div",_v,[o("span",gv,f(p.value.transitionName),1),o("button",{class:"transition-timeline__close-btn",onClick:F[6]||(F[6]=ie=>a.value=null)},"✕")]),o("div",bv,[o("div",yv,[F[13]||(F[13]=o("span",{class:"transition-timeline__detail-key"},"Direction",-1)),o("span",{class:"transition-timeline__detail-val",style:Me({color:we(p.value)})},f(ge(p.value)),5)]),o("div",kv,[F[14]||(F[14]=o("span",{class:"transition-timeline__detail-key"},"Phase",-1)),o("span",{class:re(["badge",de(p.value.phase)])},f(p.value.phase),3)]),o("div",$v,[F[15]||(F[15]=o("span",{class:"transition-timeline__detail-key"},"Component",-1)),o("span",xv,f(p.value.parentComponent),1)]),p.value.mode?(v(),_("div",wv,[F[16]||(F[16]=o("span",{class:"transition-timeline__detail-key"},"Mode",-1)),o("span",Sv,f(p.value.mode),1)])):G("",!0)]),o("div",Cv,[F[20]||(F[20]=o("div",{class:"tracker-section-label transition-timeline__section-title"},"Timing",-1)),o("div",Tv,[F[17]||(F[17]=o("span",{class:"transition-timeline__detail-key"},"Start",-1)),o("span",Mv,f(p.value.startTime.toFixed(2))+"ms ",1)]),o("div",Ev,[F[18]||(F[18]=o("span",{class:"transition-timeline__detail-key"},"End",-1)),o("span",Iv,f(p.value.endTime!==void 0?p.value.endTime.toFixed(2)+"ms":"—"),1)]),o("div",Ov,[F[19]||(F[19]=o("span",{class:"transition-timeline__detail-key"},"Duration",-1)),o("span",Rv,f(p.value.durationMs!==void 0?p.value.durationMs+"ms":p.value.phase==="interrupted"?"interrupted":"in progress"),1)])]),o("div",Av,[F[23]||(F[23]=o("div",{class:"tracker-section-label transition-timeline__section-title"},"Flags",-1)),o("div",Fv,[F[21]||(F[21]=o("span",{class:"transition-timeline__detail-key"},"Appear",-1)),o("span",{class:"transition-timeline__detail-val",style:Me({color:p.value.appear?"var(--amber)":"var(--text3)"})},f(p.value.appear?"yes":"no"),5)]),o("div",Nv,[F[22]||(F[22]=o("span",{class:"transition-timeline__detail-key"},"Cancelled",-1)),o("span",{class:"transition-timeline__detail-val",style:Me({color:p.value.cancelled?"var(--red)":"var(--text3)"})},f(p.value.cancelled?"yes":"no"),5)])]),p.value.cancelled?(v(),_("div",Lv,[...F[24]||(F[24]=[We(" This transition was cancelled mid-flight. The element may be stuck in a partial animation state if the interruption was not handled with ",-1),o("code",null,"onEnterCancelled",-1),We(" / ",-1),o("code",null,"onLeaveCancelled",-1),We(" . ",-1)])])):G("",!0),p.value.phase==="entering"||p.value.phase==="leaving"?(v(),_("div",Pv,[...F[25]||(F[25]=[We(" Transition is currently in progress. If it stays in this state longer than expected, the ",-1),o("code",null,"done()",-1),We(" callback may not be getting called (JS-mode transition stall). ",-1)])])):G("",!0)],4)):G("",!0)]),_:1})])]))}}),Vv=mt(Dv,[["__scopeId","data-v-0d839cfd"]]),jv={class:"flamegraph"},Hv={class:"flamegraph__timeline-header"},zv={class:"flamegraph__time-label"},Bv={class:"flamegraph__time-label"},Uv={class:"flamegraph__rows"},Wv=["onClick"],Kv=["onClick"],Jv={class:"flamegraph__span-name"},Gv={class:"flamegraph__span-type"},qv={class:"flamegraph__bar-container"},Xv=["title","onClick"],Qv={key:0,class:"flamegraph__bar-label"},Yv={key:0,class:"flamegraph__empty"},Zv=dt({__name:"Flamegraph",props:{trace:{},selectedSpanId:{}},emits:["select-span"],setup(e,{emit:t}){const s=e,n=t,r=se(new Set);function i(O){r.value.has(O)?r.value.delete(O):r.value.add(O)}function l(O,w=void 0,B=0){return O.filter(ue=>ue.parentSpanId===w).map(ue=>({...ue,children:l(O,ue.id,B+1),level:B}))}const a=R(()=>l(s.trace.spans,void 0,0)),c=R(()=>{if(s.trace.durationMs&&s.trace.durationMs>0)return s.trace.durationMs;if(s.trace.endTime&&s.trace.endTime>s.trace.startTime)return s.trace.endTime-s.trace.startTime;let O=0;for(const w of s.trace.spans){const ue=(w.endTime??w.startTime+(w.durationMs??0))-s.trace.startTime;ue>O&&(O=ue)}return O>0?O*1.1:1});function h(O){const w=s.trace.startTime,B=(O.startTime-w)/c.value*100,ue=(O.durationMs||0)/c.value*100;return{left:`${Math.min(100,Math.max(0,B))}%`,width:`${Math.max(.5,Math.min(100-Math.max(0,B),ue))}%`}}function d(O){return(O.durationMs||0)/c.value*100<5}function m(O){return O?O<1?`${(O*1e3).toFixed(1)}μs`:O<1e3?`${O.toFixed(1)}ms`:`${(O/1e3).toFixed(2)}s`:"0ms"}function y(O){return typeof O=="string"&&O.length>0?O:void 0}function p(O){return typeof O=="number"?O:void 0}function k(O){const w=O.metadata??{},B=y(w.lifecycle),ue=y(w.componentName),xe=p(w.uid),ke=y(w.route)??y(w.path),de=y(w.method),ge=y(w.url);return ue&&B?xe!==void 0?`${ue}.${B} #${xe}`:`${ue}.${B}`:ue?xe!==void 0?`${ue} #${xe}`:ue:de&&ge?`${de} ${ge}`:ge||(ke?`${O.name} (${ke})`:O.name)}function $(O){const w=O.metadata??{},B=k(O),ue=O.status,xe=m(O.durationMs),ke=y(w.route)??y(w.path);return ke?`${B} - ${xe} (${ue}) [${ke}]`:`${B} - ${xe} (${ue})`}function I(O){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[O]||"bg-gray-500"}function K(O){const w=[O];if(r.value.has(O.id)&&O.children.length>0)for(const B of O.children)w.push(...K(B));return w}const j=R(()=>{const O=[];for(const w of a.value)for(const B of K(w)){const ue=B.level+(B.parentSpanId?1:0);O.push({node:B,displayDepth:ue})}return O});return(O,w)=>(v(),_("div",jv,[o("div",Hv,[w[0]||(w[0]=o("div",{class:"flamegraph__time-label"},"0ms",-1)),o("div",zv,f(m(c.value/2)),1),o("div",Bv,f(m(c.value)),1)]),o("div",Uv,[(v(!0),_(ve,null,Oe(j.value,({node:B,displayDepth:ue})=>(v(),_("div",{key:B.id,class:re([{"flamegraph__row--selected":B.id===s.selectedSpanId},"flamegraph__row"])},[o("div",{class:"flamegraph__label",style:Me({paddingLeft:`calc(8px + ${ue*16}px)`})},[B.children.length>0?(v(),_("button",{key:0,class:re({"flamegraph__expand-btn":!0,"flamegraph__expand-btn--expanded":r.value.has(B.id)}),onClick:xe=>i(B.id)}," ▶ ",10,Wv)):G("",!0),o("button",{class:"flamegraph__node-button",onClick:xe=>n("select-span",B)},[o("span",Jv,f(k(B)),1),o("span",Gv,f(B.type),1)],8,Kv)],4),o("div",qv,[o("div",{class:re(["flamegraph__bar",I(B.type)]),style:Me(h(B)),title:$(B),onClick:xe=>n("select-span",B)},[d(B)?G("",!0):(v(),_("span",Qv,f(m(B.durationMs)),1))],14,Xv),d(B)?(v(),_("span",{key:0,class:"flamegraph__bar-label-outside",style:Me({left:h(B).left})},f(m(B.durationMs)),5)):G("",!0)])],2))),128)),j.value.length===0?(v(),_("div",Yv,"No spans in this trace")):G("",!0)])]))}}),em=mt(Zv,[["__scopeId","data-v-90173439"]]),tm={class:"waterfall"},sm={class:"waterfall__timeline-header"},nm={class:"waterfall__timeline-col"},rm={class:"waterfall__time-markers"},om={class:"waterfall__time-marker"},im={class:"waterfall__time-marker"},lm={class:"waterfall__time-marker"},am={class:"waterfall__time-marker"},cm={class:"waterfall__groups"},um={class:"waterfall__group-header"},dm={class:"waterfall__group-type"},fm={class:"waterfall__group-count"},pm={class:"waterfall__group-spans"},hm={class:"waterfall__span-label"},vm=["title"],mm={class:"waterfall__span-bar-container"},_m=["title"],gm={key:0,class:"waterfall__bar-duration"},bm={key:0,class:"waterfall__empty"},ym=dt({__name:"WaterfallView",props:{trace:{}},setup(e){const t=e,s=R(()=>{const p={};for(const k of t.trace.spans)p[k.type]||(p[k.type]=[]),p[k.type].push(k);return Object.entries(p).map(([k,$])=>({type:k,spans:$.sort((I,K)=>I.startTime-K.startTime)})).sort((k,$)=>{const I={navigation:0,fetch:1,composable:2,component:3,render:4,transition:5};return(I[k.type]??999)-(I[$.type]??999)})}),n=R(()=>{if(t.trace.durationMs&&t.trace.durationMs>0)return t.trace.durationMs;if(t.trace.endTime&&t.trace.endTime>t.trace.startTime)return t.trace.endTime-t.trace.startTime;let p=0;for(const k of t.trace.spans){const I=(k.endTime??k.startTime+(k.durationMs??0))-t.trace.startTime;I>p&&(p=I)}return p||1});function r(p){const k=(p.startTime-t.trace.startTime)/n.value*100;return Math.min(100,Math.max(0,k))}function i(p){const k=r(p),$=(p.durationMs||0)/n.value*100;return Math.max(2,Math.min(100-k,$))}function l(p){return(p.durationMs||0)/n.value*100<5}function a(p){return p?p<1?`${(p*1e3).toFixed(1)}μs`:p<1e3?`${p.toFixed(1)}ms`:`${(p/1e3).toFixed(2)}s`:"0ms"}function c(p){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[p]||"bg-gray-500"}function h(p){return{ok:"border-green-400",error:"border-red-400",cancelled:"border-gray-400",active:"border-yellow-400"}[p]||"border-gray-400"}function d(p){return typeof p=="string"?p:""}function m(p){const k=p.metadata;if(!k)return p.name;const $=d(k.componentName),I=d(k.lifecycle),K=k.uid!==void 0?String(k.uid):"",j=d(k.method),O=d(k.url),w=d(k.route)||d(k.path);return $&&I?K?`${$}.${I} #${K}`:`${$}.${I}`:$?K?`${$} #${K}`:$:j&&O?`${j} ${O}`:O||(w?`${p.name} (${w})`:p.name)}function y(p){const k=m(p),$=a(p.durationMs),I=p.metadata,K=I?d(I.route)||d(I.path):"";let j=`${k} — ${$} (${p.status})`;return K&&!k.includes(K)&&(j+=` [${K}]`),j}return(p,k)=>(v(),_("div",tm,[o("div",sm,[k[1]||(k[1]=o("div",{class:"waterfall__type-col"},"Type",-1)),o("div",nm,[o("div",rm,[k[0]||(k[0]=o("div",{class:"waterfall__time-marker"},"0ms",-1)),o("div",om,f(a(n.value/4)),1),o("div",im,f(a(n.value/2)),1),o("div",lm,f(a(n.value*3/4)),1),o("div",am,f(a(n.value)),1)])])]),o("div",cm,[(v(!0),_(ve,null,Oe(s.value,$=>(v(),_("div",{key:$.type,class:"waterfall__group"},[o("div",um,[o("span",dm,[o("span",{class:re(["waterfall__color-dot",c($.type)])},null,2),We(" "+f($.type),1)]),o("span",fm,f($.spans.length),1)]),o("div",pm,[(v(!0),_(ve,null,Oe($.spans,I=>(v(),_("div",{key:I.id,class:"waterfall__span-row"},[o("div",hm,[o("span",{title:y(I)},f(m(I)),9,vm)]),o("div",mm,[o("div",{class:re(["waterfall__span-bar",[c(I.type),h(I.status)]]),style:Me({left:`${r(I)}%`,width:`${Math.max(1,i(I))}%`}),title:y(I)},[l(I)?G("",!0):(v(),_("span",gm,f(a(I.durationMs)),1))],14,_m),l(I)?(v(),_("span",{key:0,class:"waterfall__bar-duration-outside",style:Me({left:`calc(${r(I)}% + 4px)`})},f(a(I.durationMs)),5)):G("",!0)])]))),128))])]))),128)),s.value.length===0?(v(),_("div",bm,"No spans in this trace")):G("",!0)])]))}}),km=mt(ym,[["__scopeId","data-v-a606e7cf"]]),$m={class:"span-inspector"},xm={key:0,class:"span-inspector__empty"},wm={key:1,class:"span-inspector__content"},Sm={class:"span-inspector__header"},Cm={class:"span-inspector__title"},Tm={class:"span-inspector__section"},Mm={class:"span-inspector__property-grid"},Em={class:"span-inspector__property"},Im={class:"span-inspector__value mono"},Om={class:"span-inspector__property"},Rm={class:"span-inspector__value mono"},Am={class:"span-inspector__property"},Fm={class:"span-inspector__value mono"},Nm={class:"span-inspector__section"},Lm={class:"span-inspector__property-grid"},Pm={class:"span-inspector__property"},Dm={class:"span-inspector__value mono text-xs"},Vm={class:"span-inspector__property"},jm={class:"span-inspector__value mono"},Hm={class:"span-inspector__property"},zm={class:"span-inspector__value mono text-xs"},Bm={key:0,class:"span-inspector__section"},Um={key:1,class:"span-inspector__section"},Wm={class:"span-inspector__section-title"},Km={class:"span-inspector__child-list"},Jm=["onClick"],Gm={class:"span-inspector__child-name"},qm={class:"span-inspector__child-duration"},Xm={key:2,class:"span-inspector__section"},Qm={class:"span-inspector__metadata"},Ym={class:"span-inspector__metadata-key"},Zm={class:"span-inspector__metadata-value"},e_={key:0,class:"span-inspector__code"},t_={key:1,class:"span-inspector__code"},s_=dt({__name:"SpanInspector",props:{trace:{},span:{}},emits:["select-span"],setup(e,{emit:t}){const s=e,n=t,r=R(()=>!s.span||!s.span.parentSpanId?null:s.trace.spans.find(m=>m.id===s.span.parentSpanId)),i=R(()=>s.span?s.trace.spans.filter(m=>m.parentSpanId===s.span.id).sort((m,y)=>m.startTime-y.startTime):[]);function l(m){return m?m<1?`${(m*1e3).toFixed(1)}μs`:m<1e3?`${m.toFixed(1)}ms`:`${(m/1e3).toFixed(2)}s`:"0ms"}function a(m){const y=m-s.trace.startTime;return Math.abs(y)<1?`+${(y*1e3).toFixed(1)}μs`:Math.abs(y)<1e3?`+${y.toFixed(3)}ms`:`+${(y/1e3).toFixed(3)}s`}function c(m){return m.endTime!==void 0?m.endTime:m.durationMs!==void 0?m.startTime+m.durationMs:m.startTime}function h(m){return{ok:"#22c55e",error:"#ef4444",cancelled:"#6b7280",active:"#eab308"}[m]||"#6b7280"}function d(m){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[m]||"bg-gray-500"}return(m,y)=>(v(),_("div",$m,[e.span?(v(),_("div",wm,[o("div",Sm,[o("div",Cm,[o("span",{class:re([d(e.span.type),"span-inspector__type-badge"])},null,2),We(" "+f(e.span.name),1)]),o("div",{class:"span-inspector__status",style:Me({color:h(e.span.status)})},f(e.span.status),5)]),o("div",Tm,[y[5]||(y[5]=o("div",{class:"span-inspector__section-title"},"Timing",-1)),o("div",Mm,[o("div",Em,[y[2]||(y[2]=o("span",{class:"span-inspector__label"},"Duration",-1)),o("span",Im,f(l(e.span.durationMs)),1)]),o("div",Om,[y[3]||(y[3]=o("span",{class:"span-inspector__label"},"Start Time",-1)),o("span",Rm,f(a(e.span.startTime)),1)]),o("div",Am,[y[4]||(y[4]=o("span",{class:"span-inspector__label"},"End Time",-1)),o("span",Fm,f(a(c(e.span))),1)])])]),o("div",Nm,[y[9]||(y[9]=o("div",{class:"span-inspector__section-title"},"Properties",-1)),o("div",Lm,[o("div",Pm,[y[6]||(y[6]=o("span",{class:"span-inspector__label"},"ID",-1)),o("span",Dm,f(e.span.id),1)]),o("div",Vm,[y[7]||(y[7]=o("span",{class:"span-inspector__label"},"Type",-1)),o("span",jm,f(e.span.type),1)]),o("div",Hm,[y[8]||(y[8]=o("span",{class:"span-inspector__label"},"Trace ID",-1)),o("span",zm,f(e.span.traceId),1)])])]),r.value?(v(),_("div",Bm,[y[10]||(y[10]=o("div",{class:"span-inspector__section-title"},"Parent Span",-1)),o("div",{class:"span-inspector__link",onClick:y[0]||(y[0]=p=>n("select-span",r.value))},[o("span",{class:re([d(r.value.type),"span-inspector__link-badge"])},null,2),We(" "+f(r.value.name),1)])])):G("",!0),i.value.length>0?(v(),_("div",Um,[o("div",Wm,"Child Spans ("+f(i.value.length)+")",1),o("div",Km,[(v(!0),_(ve,null,Oe(i.value,p=>(v(),_("div",{key:p.id,class:"span-inspector__child-item",onClick:k=>n("select-span",p)},[o("span",{class:re([d(p.type),"span-inspector__child-badge"])},null,2),o("span",Gm,f(p.name),1),o("span",qm,f(l(p.durationMs)),1)],8,Jm))),128))])])):G("",!0),e.span.metadata&&Object.keys(e.span.metadata).length>0?(v(),_("div",Xm,[y[11]||(y[11]=o("div",{class:"span-inspector__section-title"},"Metadata",-1)),o("div",Qm,[(v(!0),_(ve,null,Oe(e.span.metadata,(p,k)=>(v(),_("div",{key:k,class:"span-inspector__metadata-item"},[o("span",Ym,f(k)+":",1),o("span",Zm,[typeof p=="object"?(v(),_("code",e_,f(JSON.stringify(p,null,2)),1)):(v(),_("span",t_,f(p),1))])]))),128))])])):G("",!0)])):(v(),_("div",xm,[...y[1]||(y[1]=[o("div",{class:"span-inspector__empty-icon"},"📊",-1),o("p",null,"Select a span to view details",-1)])]))]))}}),n_=mt(s_,[["__scopeId","data-v-358f51d2"]]);function r_(e){const t=new Set;for(const s of e)for(const n of s.spans)t.add(n.type);return Array.from(t).sort()}function o_(){const e=se(""),t=se(new Set),s=se(0),n=se(1/0),r=se("");function i(p,k){if(!k)return!0;const $=k.toLowerCase();if(p.name.toLowerCase().includes($))return!0;for(const I of p.spans)if(I.name.toLowerCase().includes($))return!0;for(const I of p.spans)if(I.metadata){for(const K of Object.values(I.metadata))if(typeof K=="string"&&K.toLowerCase().includes($))return!0}return!1}function l(p,k){if(k.size===0)return!0;for(const $ of p.spans)if(k.has($.type))return!0;return!1}function a(p,k,$){const I=k>0||$<1/0;return p.durationMs===void 0?!I:p.durationMs>=k&&p.durationMs<=$}function c(p,k){var $,I,K;if(!k||($=p.metadata)!=null&&$.route&&typeof p.metadata.route=="string"&&p.metadata.route.toLowerCase().includes(k.toLowerCase()))return!0;for(const j of p.spans)if((I=j.metadata)!=null&&I.route&&String(j.metadata.route).toLowerCase().includes(k.toLowerCase())||(K=j.metadata)!=null&&K.path&&String(j.metadata.path).toLowerCase().includes(k.toLowerCase()))return!0;return!1}function h(p){return p.filter(k=>i(k,e.value)&&l(k,t.value)&&a(k,s.value,n.value)&&c(k,r.value))}function d(p){t.value.has(p)?t.value.delete(p):t.value.add(p)}function m(){e.value="",t.value.clear(),s.value=0,n.value=1/0,r.value=""}const y=R(()=>e.value.length>0||t.value.size>0||s.value>0||n.value<1/0||r.value.length>0);return{searchQuery:e,selectedSpanTypes:t,minDuration:s,maxDuration:n,routeFilter:r,filterTraces:h,toggleSpanType:d,clearFilters:m,hasActiveFilters:y}}const i_={class:"trace-filter"},l_={class:"trace-filter__section"},a_=["value"],c_={key:0,class:"trace-filter__section"},u_={class:"trace-filter__type-filters"},d_=["title","onClick"],f_={class:"trace-filter__section"},p_={class:"trace-filter__duration-inputs"},h_=["value"],v_=["value","min","max"],m_=["value","max"],__={class:"trace-filter__section"},g_=["value"],b_=dt({__name:"TraceFilter",props:{traces:{},searchQuery:{},selectedSpanTypes:{},minDuration:{},maxDuration:{},routeFilter:{},hasActiveFilters:{type:Boolean}},emits:["update:search","update:types","update:min-duration","update:max-duration","update:route","clear-filters"],setup(e,{emit:t}){const s=e,n=t,r=R(()=>r_(s.traces)),i=R(()=>{let k=0;for(const $ of s.traces)$.durationMs&&$.durationMs>k&&(k=$.durationMs);return Math.ceil(k/10)*10||1e3});function l(k){n("update:search",k)}function a(k){return k.target.value}function c(k){const $=new Set(s.selectedSpanTypes);$.has(k)?$.delete(k):$.add(k),n("update:types",$)}function h(k){const $=Math.max(0,parseInt(k)||0);n("update:min-duration",$)}function d(k){const $=Math.max(0,parseInt(k)||1/0);n("update:max-duration",$)}function m(k){n("update:route",k)}function y(){n("clear-filters")}function p(k){return{fetch:"#3b82f6",composable:"#a855f7",component:"#22c55e",navigation:"#eab308",render:"#f97316",transition:"#ec4899"}[k]||"#6b7280"}return(k,$)=>(v(),_("div",i_,[o("div",l_,[$[5]||($[5]=o("label",{class:"trace-filter__label"},"Search",-1)),o("input",{value:s.searchQuery,type:"text",class:"trace-filter__search-input",placeholder:"Search traces, spans, endpoints…",onInput:$[0]||($[0]=I=>l(a(I)))},null,40,a_)]),r.value.length>0?(v(),_("div",c_,[$[6]||($[6]=o("label",{class:"trace-filter__label"},"Span Type",-1)),o("div",u_,[(v(!0),_(ve,null,Oe(r.value,I=>(v(),_("button",{key:I,class:re([{"trace-filter__type-badge--selected":s.selectedSpanTypes.has(I)},"trace-filter__type-badge"]),title:`Filter by ${I} spans`,onClick:K=>c(I)},[o("span",{class:"trace-filter__type-dot",style:Me({backgroundColor:p(I)})},null,4),We(" "+f(I),1)],10,d_))),128))])])):G("",!0),o("div",f_,[$[8]||($[8]=o("label",{class:"trace-filter__label"},"Duration (ms)",-1)),o("div",p_,[o("input",{value:s.minDuration,type:"number",min:"0",class:"trace-filter__duration-input",placeholder:"Min",onInput:$[1]||($[1]=I=>h(a(I)))},null,40,h_),$[7]||($[7]=o("span",{class:"trace-filter__duration-separator"},"–",-1)),o("input",{value:s.maxDuration===1/0?"":s.maxDuration,type:"number",min:s.minDuration,max:i.value,class:"trace-filter__duration-input",placeholder:"Max",onInput:$[2]||($[2]=I=>d(a(I)))},null,40,v_)]),i.value?(v(),_("input",{key:0,value:s.maxDuration===1/0?i.value:s.maxDuration,type:"range",min:0,max:i.value,class:"trace-filter__duration-slider",onInput:$[3]||($[3]=I=>d(a(I)))},null,40,m_)):G("",!0)]),o("div",__,[$[9]||($[9]=o("label",{class:"trace-filter__label"},"Route",-1)),o("input",{value:s.routeFilter,type:"text",class:"trace-filter__search-input",placeholder:"Filter by route…",onInput:$[4]||($[4]=I=>m(a(I)))},null,40,g_)]),s.hasActiveFilters?(v(),_("button",{key:1,class:"trace-filter__clear-btn",onClick:y},"Clear Filters")):G("",!0)]))}}),y_=mt(b_,[["__scopeId","data-v-f5ab93b2"]]);function Mo(e){return e.metadata??{}}function k_(e){return Number.isFinite(e)?e:0}function $_(e,t){const s=String(e.componentName??"").trim(),n=String(e.file??"").trim();return s&&n?{key:`${n}::${s}`,name:s,file:n}:s?{key:`name::${s}`,name:s,file:n}:{key:`unknown::${t}`,name:t,file:n}}function Yi(e){if(!e)return[];const t=new Map;for(const n of e.spans){if(n.type!=="render")continue;const r=Mo(n),i=r.uid??n.id,l=$_(r,String(i));t.has(i)||t.set(i,{key:l.key,name:l.name,file:l.file,spans:[]}),t.get(i).spans.push(n)}const s=[];for(const[n,{key:r,name:i,file:l,spans:a}]of t){let c=0,h=0,d=0;for(const y of a){const p=String(Mo(y).lifecycle??""),k=k_(y.durationMs);p==="render:mount"?c++:h++,d+=k}const m=c+h;s.push({componentKey:r,componentName:i||String(n),file:l,uid:n,mountCount:c,rerenderCount:h,totalMs:d,avgMs:m>0?d/m:0})}return s.sort((n,r)=>r.rerenderCount-n.rerenderCount||r.totalMs-n.totalMs),s}function x_(e,t){if(e.length===0)return[];const s=new Map;for(const r of e){const i=Yi(r),l=new Map;for(const a of i){const c=l.get(a.componentKey);if(!c){l.set(a.componentKey,{name:a.componentName,file:a.file,rerenders:a.rerenderCount,renders:a.mountCount+a.rerenderCount,ms:a.totalMs,uid:a.uid,peakUidRerenders:a.rerenderCount});continue}c.rerenders+=a.rerenderCount,c.renders+=a.mountCount+a.rerenderCount,c.ms+=a.totalMs,a.rerenderCount>c.peakUidRerenders&&(c.uid=a.uid,c.peakUidRerenders=a.rerenderCount)}for(const[a,c]of l){s.has(a)||s.set(a,{componentName:c.name,file:c.file,tracesSeen:0,totalRerenders:0,totalRenders:0,totalMs:0});const h=s.get(a);h.tracesSeen+=1,h.totalRerenders+=c.rerenders,h.totalRenders+=c.renders,h.totalMs+=c.ms,t&&r.id===t&&(h.selectedUid=c.uid,h.selectedRerenders=c.rerenders)}}const n=[];for(const[r,i]of s){const l=i.tracesSeen>0?i.totalRerenders/i.tracesSeen:0,a=i.totalRenders>0?i.totalMs/i.totalRenders:0;let c,h;if(i.selectedRerenders!==void 0&&i.tracesSeen>1){const d=i.tracesSeen-1,m=i.totalRerenders-i.selectedRerenders;c=d>0?m/d:0,h=i.selectedRerenders-c}n.push({componentKey:r,componentName:i.componentName,file:i.file,tracesSeen:i.tracesSeen,avgRerendersPerTrace:l,totalRerenders:i.totalRerenders,totalMs:i.totalMs,avgMsPerRender:a,selectedUid:i.selectedUid,selectedRerenders:i.selectedRerenders,baselineRerenders:c,deltaVsBaseline:h})}return n.sort((r,i)=>i.avgRerendersPerTrace-r.avgRerendersPerTrace||i.totalMs-r.totalMs),n}const w_={class:"trace-viewer tracker-view"},S_={class:"trace-viewer__header tracker-toolbar"},C_={class:"trace-viewer__header-actions"},T_={class:"trace-viewer__count muted text-sm"},M_=["disabled"],E_={class:"trace-viewer__container"},I_={class:"trace-viewer__list"},O_={class:"data-table"},R_={key:0,class:"trace-viewer__virtual-spacer-row","aria-hidden":"true"},A_=["onClick"],F_={class:"mono"},N_={class:"mono"},L_={class:"mono"},P_={key:1,class:"trace-viewer__virtual-spacer-row","aria-hidden":"true"},D_={key:2},V_={colspan:"3",class:"tracker-empty-cell"},j_={key:0,class:"trace-viewer__detail"},H_={class:"trace-viewer__detail-content"},z_={class:"trace-viewer__tabs"},B_={class:"trace-viewer__visualization"},U_={key:0,class:"trace-viewer__overview"},W_={class:"trace-viewer__overview-header"},K_={class:"trace-viewer__overview-value"},J_={class:"trace-viewer__overview-value"},G_={class:"trace-viewer__overview-value"},q_={class:"trace-viewer__overview-value"},X_={class:"trace-viewer__span-list"},Q_=["onClick"],Y_={class:"trace-viewer__span-name"},Z_={class:"trace-viewer__span-meta"},eg={class:"trace-viewer__span-type"},tg={class:"trace-viewer__span-duration"},sg={class:"trace-viewer__render-summary-toggle"},ng={class:"trace-viewer__render-summary-count muted"},rg={key:0,class:"trace-viewer__render-summary-table-wrap"},og={class:"data-table trace-viewer__render-summary-table"},ig=["title","onClick"],lg={class:"mono"},ag={class:"mono"},cg={class:"mono"},ug={class:"mono"},dg={class:"trace-viewer__render-summary-toggle"},fg={class:"trace-viewer__render-summary-count muted"},pg={class:"trace-viewer__render-summary-count muted"},hg={class:"trace-viewer__comparison-toolbar"},vg={class:"data-table trace-viewer__render-summary-table"},mg={key:0,class:"trace-viewer__virtual-spacer-row","aria-hidden":"true"},_g=["title","onClick"],gg={class:"mono"},bg={class:"mono trace-viewer__col-desktop"},yg={class:"mono"},kg={class:"mono trace-viewer__col-desktop"},$g={class:"mono"},xg={class:"mono trace-viewer__col-desktop"},wg={class:"mono"},Sg={key:1,class:"trace-viewer__virtual-spacer-row","aria-hidden":"true"},Cg={key:2},Tg={key:1,class:"trace-viewer__flamegraph"},Mg={key:2,class:"trace-viewer__waterfall"},Eg={class:"trace-viewer__inspector"},Ig=dt({__name:"TraceViewer",setup(e){const{traces:t,connected:s}=Qt(),n=se([]),r=R(()=>n.value.length>0),i=se(null),l=se(void 0),a=se("overview"),c=se(!1),h=se(!0),d=se(!0),m=se("avgRerendersPerTrace"),y=se("desc"),p=se(!1),k=se(!1),$=se(""),I=se(void 0),K=se(void 0),j=se(null),O=se(null),{effective:w}=Ys(),{preset:B}=Qs({rowHeight:34,overscan:6}),{searchQuery:ue,selectedSpanTypes:xe,minDuration:ke,maxDuration:de,routeFilter:ge,filterTraces:we,clearFilters:T,hasActiveFilters:F}=o_(),ie=R(()=>[...r.value?n.value:t.value].sort((M,Ae)=>Ae.startTime-M.startTime)),D=R(()=>we(ie.value)),A=R(()=>new Map(D.value.map(Q=>[Q.id,Q]))),S=R(()=>{const Q=r.value?" (imported)":"";return F.value?`Showing ${D.value.length} of ${ie.value.length} traces${Q}`:`${ie.value.length} traces${Q}`}),Y=R(()=>i.value?A.value.get(i.value):D.value[0]),me=R(()=>Yi(Y.value)),he=R(()=>{var Q;return x_(D.value,(Q=Y.value)==null?void 0:Q.id)}),X=R(()=>{const Q=$.value.trim().toLowerCase();let M=he.value.filter(Ae=>{if(p.value&&(Ae.deltaVsBaseline??0)<=0||k.value&&Ae.selectedRerenders===void 0)return!1;if(Q){const te=Ae.componentName.toLowerCase().includes(Q),De=Ae.file.toLowerCase().includes(Q);if(!te&&!De)return!1}return!0});return M=[...M].sort((Ae,te)=>{const De=m.value,at=y.value==="asc"?1:-1;if(De==="componentName")return Ae.componentName.localeCompare(te.componentName)*at;if(De==="deltaVsBaseline"){const Wt=Ae.deltaVsBaseline??Number.NEGATIVE_INFINITY,fs=te.deltaVsBaseline??Number.NEGATIVE_INFINITY;return(Wt-fs)*at}return(Ae[De]-te[De])*at}),M}),Se=R(()=>he.value.filter(Q=>(Q.deltaVsBaseline??0)>0).length),V=R(()=>w.value.traces),U=R(()=>({count:D.value.length,getScrollElement:()=>j.value,estimateSize:()=>B.value.rowHeight,overscan:B.value.overscan})),le=Cs(U),He=R(()=>V.value?le.value.getVirtualItems():[]),lt=R(()=>!V.value||He.value.length===0?0:He.value[0].start),W=R(()=>{if(!V.value||He.value.length===0)return 0;const Q=le.value.getTotalSize(),M=He.value[He.value.length-1];return Math.max(0,Q-M.end)}),H=R(()=>V.value?He.value.map(Q=>D.value[Q.index]).filter(Q=>!!Q):D.value),J=R(()=>({count:X.value.length,getScrollElement:()=>O.value,estimateSize:()=>B.value.rowHeight,overscan:B.value.overscan})),Ce=Cs(J),u=R(()=>V.value?Ce.value.getVirtualItems():[]),g=R(()=>!V.value||u.value.length===0?0:u.value[0].start),C=R(()=>{if(!V.value||u.value.length===0)return 0;const Q=Ce.value.getTotalSize(),M=u.value[u.value.length-1];return Math.max(0,Q-M.end)}),L=R(()=>V.value?u.value.map(Q=>X.value[Q.index]).filter(Q=>!!Q):X.value);function P(Q){if(!Q.spans.length)return;let M=0;for(const Ae of Q.spans){const De=(Ae.endTime??Ae.startTime+(Ae.durationMs??0))-Q.startTime;De>M&&(M=De)}return M>0?M:void 0}function N(Q,M){if(Q!==void 0)return`${Math.round(Q*10)/10}ms`;if(M){const Ae=P(M);if(Ae!==void 0)return`~${Math.round(Ae*10)/10}ms`}return"active"}function ee(Q){return typeof Q=="string"?Q:""}function q(Q){const M=Q.metadata;if(!M)return Q.name;const Ae=ee(M.componentName),te=ee(M.lifecycle),De=M.uid!==void 0?String(M.uid):"",at=ee(M.method),Wt=ee(M.url),fs=ee(M.route)||ee(M.path);return Ae&&te?De?`${Ae}.${te} #${De}`:`${Ae}.${te}`:Ae?De?`${Ae} #${De}`:Ae:at&&Wt?`${at} ${Wt}`:Wt||(fs?`${Q.name} (${fs})`:Q.name)}function Z(Q){const M=Q.metadata;return M==null?void 0:M.uid}const z=R(()=>{const Q=Y.value;return Q?Q.spans.map(M=>({span:M,displayName:q(M),uid:Z(M)})):[]});function pe(Q){i.value=Q.id,l.value=void 0,I.value=void 0,K.value=void 0}function ne(){T(),l.value=void 0,I.value=void 0,K.value=void 0}function ce(Q){xe.value=Q}function be(){Xi(`observatory-traces-${Date.now()}.json`,{type:"observatory-traces",version:"1",exportedAt:Date.now(),count:t.value.length,data:t.value})}async function Te(){var Ae,te,De;let Q;try{Q=await Qi()}catch(at){at instanceof Error&&at.message!=="cancelled"&&alert(`Import failed: ${at.message}`);return}const M=Q;if((M==null?void 0:M.type)!=="observatory-traces"||(M==null?void 0:M.version)!=="1"||!Array.isArray(M==null?void 0:M.data)||M.data.length>0&&(!((Ae=M.data[0])!=null&&Ae.id)||!((te=M.data[0])!=null&&te.name)||!Array.isArray((De=M.data[0])==null?void 0:De.spans))){alert("Invalid observatory traces file.");return}n.value=M.data,i.value=null,l.value=void 0}function Re(){n.value=[],i.value=null,l.value=void 0,I.value=void 0,K.value=void 0}function Fe(Q){I.value=I.value===Q?void 0:Q,K.value=void 0,l.value=void 0}function Ke(Q){if(Q===void 0)return"n/a";const M=Math.round(Q*10)/10;return M>0?`+${M}`:`${M}`}function Ge(Q){return Q===void 0?"trace-viewer__delta--na":Q>0?"trace-viewer__delta--regression":Q<0?"trace-viewer__delta--improvement":"trace-viewer__delta--neutral"}function Xe(Q){if(m.value===Q){y.value=y.value==="desc"?"asc":"desc";return}m.value=Q,y.value=Q==="componentName"?"asc":"desc"}function qe(Q){return m.value!==Q?"":y.value==="desc"?" ↓":" ↑"}const Rt=R(()=>new Map(X.value.map(Q=>[Q.componentKey,Q])));function ye(){K.value=void 0,I.value=void 0}function Qe(Q){const M=Rt.value.get(Q);if(!M||M.selectedUid===void 0){I.value=void 0,K.value=void 0,l.value=void 0;return}if(K.value===Q){K.value=void 0,I.value=void 0,l.value=void 0;return}K.value=Q,I.value=M.selectedUid,l.value=void 0}return(Q,M)=>{var Ae;return v(),_("div",w_,[o("div",S_,[M[20]||(M[20]=o("div",{class:"trace-viewer__title"},"Trace Viewer",-1)),o("div",C_,[o("div",T_,f(S.value),1),r.value?(v(),_("button",{key:0,class:"trace-viewer__import-mode-btn",title:"Return to live data",onClick:Re}," ← live ")):G("",!0),o("button",{class:"trace-viewer__action-btn",title:"Export traces as JSON",disabled:Ie(t).length===0&&!r.value,onClick:be}," ↓ export ",8,M_),o("button",{class:"trace-viewer__action-btn",title:"Import traces from JSON file",onClick:Te},"↑ import"),o("button",{class:re([{"trace-viewer__filter-btn--active":c.value},"trace-viewer__filter-btn"]),title:"Toggle filters",onClick:M[0]||(M[0]=te=>c.value=!c.value)}," 🔍 ",2)])]),c.value?(v(),St(y_,{key:0,traces:ie.value,"search-query":Ie(ue),"selected-span-types":Ie(xe),"min-duration":Ie(ke),"max-duration":Ie(de),"route-filter":Ie(ge),"has-active-filters":Ie(F),"onUpdate:search":M[1]||(M[1]=te=>ue.value=te),"onUpdate:types":ce,"onUpdate:minDuration":M[2]||(M[2]=te=>ke.value=te),"onUpdate:maxDuration":M[3]||(M[3]=te=>de.value=te),"onUpdate:route":M[4]||(M[4]=te=>ge.value=te),onClearFilters:ne},null,8,["traces","search-query","selected-span-types","min-duration","max-duration","route-filter","has-active-filters"])):G("",!0),o("div",E_,[o("div",I_,[M[22]||(M[22]=o("div",{class:"trace-viewer__list-header"},[o("span",{class:"trace-viewer__list-title"},"Traces")],-1)),o("div",{ref_key:"traceListScrollRef",ref:j,class:"trace-viewer__table-wrap tracker-table-wrap"},[o("table",O_,[M[21]||(M[21]=o("thead",null,[o("tr",null,[o("th",null,"Trace Name"),o("th",null,"Duration"),o("th",null,"Spans")])],-1)),o("tbody",null,[V.value&&lt.value>0?(v(),_("tr",R_,[o("td",{colspan:"3",style:Me({height:`${lt.value}px`})},null,4)])):G("",!0),(v(!0),_(ve,null,Oe(H.value,te=>{var De;return v(),_("tr",{key:te.id,class:re([{"trace-viewer__trace-row--selected":((De=Y.value)==null?void 0:De.id)===te.id},"trace-viewer__trace-row"]),onClick:at=>pe(te)},[o("td",F_,f(te.name),1),o("td",N_,f(N(te.durationMs,te)),1),o("td",L_,f(te.spans.length),1)],10,A_)}),128)),V.value&&W.value>0?(v(),_("tr",P_,[o("td",{colspan:"3",style:Me({height:`${W.value}px`})},null,4)])):G("",!0),D.value.length?G("",!0):(v(),_("tr",D_,[o("td",V_,f(ie.value.length===0?Ie(s)?"No traces recorded yet.":"Waiting for connection to the Nuxt app…":"No traces match applied filters."),1)]))])])],512)]),Y.value?(v(),_("div",j_,[o("div",H_,[o("div",z_,[o("button",{class:re([{"trace-viewer__tab--active":a.value==="overview"},"trace-viewer__tab"]),onClick:M[5]||(M[5]=te=>a.value="overview")}," Overview ",2),o("button",{class:re([{"trace-viewer__tab--active":a.value==="flamegraph"},"trace-viewer__tab"]),onClick:M[6]||(M[6]=te=>a.value="flamegraph")}," Flamegraph ",2),o("button",{class:re([{"trace-viewer__tab--active":a.value==="waterfall"},"trace-viewer__tab"]),onClick:M[7]||(M[7]=te=>a.value="waterfall")}," Waterfall ",2)]),o("div",B_,[a.value==="overview"?(v(),_("div",U_,[o("div",W_,[o("div",null,[M[23]||(M[23]=o("div",{class:"trace-viewer__overview-label"},"Trace",-1)),o("div",K_,f(Y.value.name),1)]),o("div",null,[M[24]||(M[24]=o("div",{class:"trace-viewer__overview-label"},"Duration",-1)),o("div",J_,f(N(Y.value.durationMs,Y.value)),1)]),o("div",null,[M[25]||(M[25]=o("div",{class:"trace-viewer__overview-label"},"Spans",-1)),o("div",G_,f(Y.value.spans.length),1)]),o("div",null,[M[26]||(M[26]=o("div",{class:"trace-viewer__overview-label"},"Status",-1)),o("div",q_,f(Y.value.status),1)])]),o("div",X_,[(v(!0),_(ve,null,Oe(z.value,te=>{var De;return v(),_("div",{key:te.span.id,class:re([{"trace-viewer__span-item--selected":((De=l.value)==null?void 0:De.id)===te.span.id,"trace-viewer__span-item--highlighted":I.value!==void 0&&te.uid===I.value},"trace-viewer__span-item"]),onClick:at=>l.value=te.span},[o("div",Y_,f(te.displayName),1),o("div",Z_,[o("span",eg,f(te.span.type),1),o("span",tg,f(N(te.span.durationMs)),1)])],10,Q_)}),128))]),me.value.length>0?(v(),_(ve,{key:0},[o("div",{class:"trace-viewer__render-summary-header",onClick:M[9]||(M[9]=te=>h.value=!h.value)},[o("span",sg,f(h.value?"▾":"▸"),1),M[27]||(M[27]=o("span",{class:"trace-viewer__render-summary-title"},"Render Summary",-1)),o("span",ng,f(me.value.length)+" components",1),I.value!==void 0?(v(),_("span",{key:0,class:"trace-viewer__render-summary-clear",onClick:M[8]||(M[8]=Mt(te=>I.value=void 0,["stop"]))}," ✕ clear ")):G("",!0)]),h.value?(v(),_("div",rg,[o("table",og,[M[28]||(M[28]=o("thead",null,[o("tr",null,[o("th",null,"Component"),o("th",{title:"Times the component was mounted"},"Mounts"),o("th",{title:"Reactive re-renders after initial mount"},"Re-renders"),o("th",{title:"Average render duration"},"Avg"),o("th",{title:"Sum of all render durations"},"Total")])],-1)),o("tbody",null,[(v(!0),_(ve,null,Oe(me.value,te=>(v(),_("tr",{key:te.uid,class:re([{"trace-viewer__render-summary-row--active":I.value===te.uid},"trace-viewer__render-summary-row"]),title:te.file,onClick:De=>Fe(te.uid)},[o("td",lg,f(te.componentName),1),o("td",ag,f(te.mountCount),1),o("td",{class:re(["mono",{"trace-viewer__render-hot":te.rerenderCount>3}])},f(te.rerenderCount),3),o("td",cg,f(N(te.avgMs)),1),o("td",ug,f(N(te.totalMs)),1)],10,ig))),128))])])])):G("",!0)],64)):G("",!0),he.value.length>0?(v(),_(ve,{key:1},[o("div",{class:"trace-viewer__render-summary-header",onClick:M[10]||(M[10]=te=>d.value=!d.value)},[o("span",dg,f(d.value?"▾":"▸"),1),M[29]||(M[29]=o("span",{class:"trace-viewer__render-summary-title"},"Cross-Trace Render Comparison",-1)),o("span",fg,f(he.value.length)+" components · "+f(D.value.length)+" traces ",1),o("span",pg,f(Se.value)+" regressions ",1),M[30]||(M[30]=o("span",{class:"trace-viewer__mobile-hint muted"},"mobile mode: condensed columns",-1)),K.value!==void 0?(v(),_("span",{key:0,class:"trace-viewer__render-summary-clear",onClick:Mt(ye,["stop"])}," ✕ clear ")):G("",!0)]),d.value?(v(),_("div",{key:0,ref_key:"crossTraceScrollRef",ref:O,class:"trace-viewer__render-summary-table-wrap"},[o("div",hg,[o("button",{class:re([{"trace-viewer__comparison-chip--active":p.value},"trace-viewer__comparison-chip"]),onClick:M[11]||(M[11]=te=>p.value=!p.value)}," regressions only ",2),o("button",{class:re([{"trace-viewer__comparison-chip--active":k.value},"trace-viewer__comparison-chip"]),onClick:M[12]||(M[12]=te=>k.value=!k.value)}," selected trace only ",2),M[31]||(M[31]=o("span",{class:"trace-viewer__comparison-spacer"},null,-1)),qt(o("input",{"onUpdate:modelValue":M[13]||(M[13]=te=>$.value=te),class:"trace-viewer__comparison-search mono",type:"search",placeholder:"filter component..."},null,512),[[us,$.value]])]),o("table",vg,[o("thead",null,[o("tr",null,[o("th",{class:"trace-viewer__sortable",onClick:M[14]||(M[14]=te=>Xe("componentName"))}," Component"+f(qe("componentName")),1),M[32]||(M[32]=o("th",{class:"trace-viewer__col-desktop",title:"How many traces include this component"}," Traces ",-1)),o("th",{class:"trace-viewer__sortable",title:"Average re-renders per trace",onClick:M[15]||(M[15]=te=>Xe("avgRerendersPerTrace"))}," Avg Re-renders"+f(qe("avgRerendersPerTrace")),1),M[33]||(M[33]=o("th",{class:"trace-viewer__col-desktop",title:"Re-renders in selected trace"},"Selected",-1)),o("th",{class:"trace-viewer__sortable",title:"Selected trace vs other traces baseline",onClick:M[16]||(M[16]=te=>Xe("deltaVsBaseline"))}," Delta"+f(qe("deltaVsBaseline")),1),M[34]||(M[34]=o("th",{class:"trace-viewer__col-desktop",title:"Average render duration across all renders"}," Avg ms ",-1)),o("th",{class:"trace-viewer__sortable",title:"Sum of all render duration across filtered traces",onClick:M[17]||(M[17]=te=>Xe("totalMs"))}," Total ms"+f(qe("totalMs")),1)])]),o("tbody",null,[V.value&&g.value>0?(v(),_("tr",mg,[o("td",{colspan:"7",style:Me({height:`${g.value}px`})},null,4)])):G("",!0),(v(!0),_(ve,null,Oe(L.value,te=>(v(),_("tr",{key:te.componentKey,class:re([{"trace-viewer__render-summary-row--active":K.value===te.componentKey},"trace-viewer__render-summary-row"]),title:te.file,onClick:De=>Qe(te.componentKey)},[o("td",gg,f(te.componentName),1),o("td",bg,f(te.tracesSeen),1),o("td",yg,f((Math.round(te.avgRerendersPerTrace*10)/10).toFixed(1)),1),o("td",kg,f(te.selectedRerenders??"n/a"),1),o("td",$g,[o("span",{class:re(["trace-viewer__delta",Ge(te.deltaVsBaseline)])},f(Ke(te.deltaVsBaseline)),3)]),o("td",xg,f(N(te.avgMsPerRender)),1),o("td",wg,f(N(te.totalMs)),1)],10,_g))),128)),V.value&&C.value>0?(v(),_("tr",Sg,[o("td",{colspan:"7",style:Me({height:`${C.value}px`})},null,4)])):G("",!0),X.value.length?G("",!0):(v(),_("tr",Cg,[...M[35]||(M[35]=[o("td",{colspan:"7",class:"tracker-empty-cell"},"No components match the comparison filters.",-1)])]))])])],512)):G("",!0)],64)):G("",!0)])):G("",!0),a.value==="flamegraph"?(v(),_("div",Tg,[Be(em,{trace:Y.value,"selected-span-id":(Ae=l.value)==null?void 0:Ae.id,onSelectSpan:M[18]||(M[18]=te=>l.value=te)},null,8,["trace","selected-span-id"])])):G("",!0),a.value==="waterfall"?(v(),_("div",Mg,[Be(km,{trace:Y.value},null,8,["trace"])])):G("",!0)])]),o("div",Eg,[Be(n_,{trace:Y.value,span:l.value,onSelectSpan:M[19]||(M[19]=te=>l.value=te)},null,8,["trace","span"])])])):G("",!0)])])}}}),Og=mt(Ig,[["__scopeId","data-v-2e59a1b2"]]),Rg={id:"app-root"},Ag={class:"tabbar"},Fg=["onClick"],Ng={class:"tab-icon"},Lg={class:"tab-content"},Pg=dt({__name:"App",setup(e){const t={fetch:"fetch",provide:"provide",composables:"composable",pinia:"pinia",heatmap:"heatmap",transitions:"transitions",traces:"traces"},s=window.location.pathname.split("/").filter(Boolean).pop()??"",n=se(t[s]??"fetch"),{features:r}=Qt();Ys();const i=R(()=>{const l=r.value||{};return[l.fetchDashboard&&{id:"fetch",label:"useFetch",icon:"⬡"},l.provideInjectGraph&&{id:"provide",label:"provide/inject",icon:"⬡"},l.composableTracker&&{id:"composable",label:"Composables",icon:"⬡"},l.piniaTracker&&{id:"pinia",label:"Pinia",icon:"⬡"},l.renderHeatmap&&{id:"heatmap",label:"Heatmap",icon:"⬡"},l.transitionTracker&&{id:"transitions",label:"Transitions",icon:"⬡"},l.traceViewer&&{id:"traces",label:"Traces",icon:"⬡"}].filter(a=>!!a)});return(l,a)=>(v(),_("div",Rg,[o("nav",Ag,[a[0]||(a[0]=o("div",{class:"tabbar-brand"},"observatory",-1)),(v(!0),_(ve,null,Oe(i.value,c=>(v(),_("button",{key:c.id,class:re(["tab-btn",{active:n.value===c.id}]),onClick:h=>n.value=c.id},[o("span",Ng,f(c.icon),1),We(" "+f(c.label),1)],10,Fg))),128))]),o("main",Lg,[n.value==="fetch"?(v(),St(Wu,{key:0})):n.value==="provide"?(v(),St(Ed,{key:1})):n.value==="composable"?(v(),St(rp,{key:2})):n.value==="pinia"?(v(),St(xp,{key:3})):n.value==="heatmap"?(v(),St(Kh,{key:4})):n.value==="transitions"?(v(),St(Vv,{key:5})):n.value==="traces"?(v(),St(Og,{key:6})):G("",!0)])]))}}),Dg=mt(Pg,[["__scopeId","data-v-0634d31a"]]);Fc(Dg).mount("#app");
@@ -38,8 +38,8 @@
38
38
  body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: 13px; }
39
39
  #app { height: 100vh; display: flex; flex-direction: column; }
40
40
  </style>
41
- <script type="module" crossorigin src="/__observatory/assets/index-5Wl1XYRH.js"></script>
42
- <link rel="stylesheet" crossorigin href="/__observatory/assets/index-DT_QUiIh.css">
41
+ <script type="module" crossorigin src="/__observatory/assets/index-fFBuk6M6.js"></script>
42
+ <link rel="stylesheet" crossorigin href="/__observatory/assets/index-BO7neKEi.css">
43
43
  </head>
44
44
  <body>
45
45
  <div id="app"></div>