vlist 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var n2=3,u0="vlist";var t2=50;var g0=50,x0=2,m0=15,c0=6,B0=2000,d0=30000,p2=16000000,s2=150,W0=1,e2=(Q)=>Q<0.5?2*Q*Q:1-(-2*Q+2)**2/2,J0=300;var l0="x",r0=20,V0="_isPlaceholder",f2="__placeholder_";var $0={top:0,right:0,bottom:0,left:0},s0=(Q)=>{if(Q==null)return $0;if(typeof Q==="number")return Q===0?$0:{top:Q,right:Q,bottom:Q,left:Q};if(Q.length===2){let[j,U]=Q;return j===0&&U===0?$0:{top:j,right:U,bottom:j,left:U}}let[J,$,K,Z]=Q;return J===0&&$===0&&K===0&&Z===0?$0:{top:J,right:$,bottom:K,left:Z}},a0=(Q,J)=>J?Q.left+Q.right:Q.top+Q.bottom,o0=(Q,J)=>J?Q.top+Q.bottom:Q.left+Q.right;function i0(Q){let J={visibleIndices:new Int32Array(Q),visibleOffsets:new Float64Array(Q),visibleSizes:new Float64Array(Q),visibleCount:0,startIndex:0,totalSize:0,capacity:Q,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity($,K,Z=n2){if(K<=0||$<=0)return;let j=Math.ceil($/K)+Z*2;if(j<=J.capacity)return;let U=j+8,q=new Int32Array(U),_=new Float64Array(U),W=new Float64Array(U);q.set(J.visibleIndices),_.set(J.visibleOffsets),W.set(J.visibleSizes),J.visibleIndices=q,J.visibleOffsets=_,J.visibleSizes=W,J.capacity=U},clear(){J.visibleCount=0,J.startIndex=0}};return J}var u4=(Q,J)=>{let $=J;return{getOffset:(K)=>K*Q,getSize:(K)=>Q,indexAtOffset:(K)=>{if($===0||Q===0)return 0;return Math.max(0,Math.min(Math.floor(K/Q),$-1))},getTotalSize:()=>$*Q,getTotal:()=>$,rebuild:(K)=>{$=K},isVariable:()=>!1}},g4=(Q,J)=>{let $=J,K=new Float64Array(0),Z=(U)=>{$=U,K=new Float64Array(U+1),K[0]=0;for(let q=0;q<U;q++)K[q+1]=K[q]+Q(q)};Z(J);let j=(U)=>{if($===0)return 0;if(U<=0)return 0;if(U>=K[$])return $-1;let q=0,_=$-1;while(q<_){let W=q+_+1>>>1;if(K[W]<=U)q=W;else _=W-1}return q};return{getOffset:(U)=>{if(U<=0)return 0;if(U>=$)return K[$];return K[U]},getSize:(U)=>Q(U),indexAtOffset:(U)=>j(U),getTotalSize:()=>K[$]??0,getTotal:()=>$,rebuild:(U)=>Z(U),isVariable:()=>!0}},Q0=(Q,J)=>{if(typeof Q==="number")return u4(Q,J);return g4(Q,J)},_0=(Q,J,$,K)=>{if(K===0)return 0;if(!Q.isVariable())return Math.ceil($/Q.getSize(0));let Z=0,j=0,U=J;while(U<K&&j<$)j+=Q.getSize(U),Z++,U++;return Math.max(1,Z)};function n0(Q){let J=[],$=`${Q}-item`,K=document.createElement("div");return K.className=$,{acquire(){if(J.length>0)return J.pop();return K.cloneNode(!1)},release(Z){if(Z.className=$,Z.removeAttribute("style"),Z.removeAttribute("id"),Z.removeAttribute("role"),Z.removeAttribute("aria-selected"),Z.removeAttribute("aria-posinset"),Z.removeAttribute("aria-setsize"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.textContent="",J.length<100)J.push(Z)},get size(){return J.length},clear(){J.length=0}}}function u2(Q){let J=Q.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let $=0;$<J.length;$++)J[$].setAttribute("tabindex","-1")}function t0(Q){if(typeof Q==="string"){let J=document.querySelector(Q);if(!J)throw Error(`[vlist] Container not found: ${Q}`);return J}return Q}function e0(Q,J,$,K){let Z=$?`${J} ${J}--horizontal`:J,j=$?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",U=$?"position:relative;height:100%":"position:relative;width:100%",q=' role="list"';if(K)q+=` aria-label="${K.replace(/"/g,"&quot;")}"`;if($)q+=' aria-orientation="horizontal"';Q.insertAdjacentHTML("beforeend",`<div class="${Z}"><div class="${J}-viewport" style="${j}" tabindex="-1"><div class="${J}-content" style="${U}"${q}></div></div></div>`);let _=Q.lastElementChild,W=_.firstElementChild,B=W.firstElementChild,L=document.createElement("div");return L.className=`${J}-live`,L.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",L.setAttribute("aria-live","polite"),L.setAttribute("aria-atomic","true"),L.setAttribute("role","status"),_.appendChild(L),{root:_,viewport:W,content:B,liveRegion:L}}function J4(Q){let{state:J,viewport:$,isX:K,wheelEnabled:Z,onFrame:j,onIdle:U}=Q,q=Q.idleTimeout||s2,_=Q.scrollTarget??$,W=null,B=null;function L(){let E=K?$.scrollLeft:$.scrollTop;if(Math.abs(E-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=E,J.scrollDirection=E>J.prevScrollPosition?1:E<J.prevScrollPosition?-1:0,j(),D()}function z(E){if(J.isCompressed)return;let P;if(K){if(Math.abs(E.deltaX)>Math.abs(E.deltaY))return;let h=$.scrollLeft,Y=$.scrollWidth-$.clientWidth;if(P=Math.max(0,Math.min(h+E.deltaY*W0,Y)),Math.abs(P-h)<1)return;E.preventDefault(),$.scrollLeft=P}else{let h=$.scrollWidth>$.clientWidth;if(h&&Math.abs(E.deltaX)>Math.abs(E.deltaY))return;if(h&&E.deltaX!==0)E.preventDefault(),$.scrollLeft+=E.deltaX;let Y=$.scrollTop,G=$.scrollHeight-$.clientHeight;if(P=Math.max(0,Math.min(Y+E.deltaY*W0,G)),Math.abs(P-Y)<1)return;E.preventDefault(),$.scrollTop=P}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=P,J.scrollDirection=P>J.prevScrollPosition?1:-1,j(),D()}function D(){if(W!==null)clearTimeout(W);W=setTimeout(()=>{W=null,J.scrollDirection=0,U()},q)}function H(){if(B!==null)cancelAnimationFrame(B),B=null}function C(E,P,h,Y=e2,G){H();let y=J.scrollPosition,V=typeof E==="function"?E:()=>E,X=V();if(Math.abs(X-y)<1){if(h)h(X);else if(K)$.scrollLeft=X;else $.scrollTop=X;G?.();return}let f=performance.now();function l(w){X=V();let x=w-f,r=Math.min(x/P,1),g=y+(X-y)*Y(r);if(h)h(g);else if(K)$.scrollLeft=g;else $.scrollTop=g;if(!h)J.scrollPosition=g;if(j(),r<1)B=requestAnimationFrame(l);else B=null,D(),G?.()}B=requestAnimationFrame(l)}return{attach(){if(_.addEventListener("scroll",L,{passive:!0}),Z)_.addEventListener("wheel",z,{passive:!1})},detach(){if(_.removeEventListener("scroll",L),Z)_.removeEventListener("wheel",z);if(H(),W!==null)clearTimeout(W),W=null},cancelScroll:H,smoothScrollTo:C}}var a2=[],x4={calculate:a2,commit:a2,afterScroll:a2,idle:a2,resize:a2};function $4(Q){if(Q.length===0)return x4;let J=[],$=[],K=[],Z=[],j=[];for(let U=0;U<Q.length;U++){let q=Q[U].hooks;if(q===void 0)continue;if(q.onCalculate!==void 0)J.push(q.onCalculate);if(q.onCommit!==void 0)$.push(q.onCommit);if(q.onAfterScroll!==void 0)K.push(q.onAfterScroll);if(q.onIdle!==void 0)Z.push(q.onIdle);if(q.onResize!==void 0)j.push(q.onResize)}return{calculate:J,commit:$,afterScroll:K,idle:Z,resize:j}}function Q4(Q,J){for(let $=0;$<Q.length;$++)Q[$](J)}function j4(Q,J){for(let $=0;$<Q.length;$++)Q[$](J)}function N0(Q,J,$){for(let K=0;K<Q.length;K++)Q[K](J,$)}function Z4(Q){for(let J=0;J<Q.length;J++)Q[J]()}function K4(Q,J,$){for(let K=0;K<Q.length;K++)Q[K](J,$)}function U4(Q,J,$,K,Z,j,U,q){let _=K!==0||Z!==0;return{prefix:Q,selectedClass:`${Q}-item--selected`,focusedClass:`${Q}-item--focused`,placeholderClass:`${Q}-item--placeholder`,replacedClass:`${Q}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:"listitem",interactive:!1,startPadding:$,gap:U,hasCrossPad:_,crossStartProp:_?J?"top":"left":"",crossEndProp:_?J?"bottom":"right":"",crossStartVal:_?K+"px":"",crossEndVal:_?Z+"px":"",oddClass:j,emitter:q??null}}function m4(Q,J,$,K,Z){if(Q.containerSize<=0||Q.totalItems===0)return Q.clear(),!0;let{scrollPosition:j,containerSize:U,totalItems:q}=Q,_=Z??0;Q.totalSize=J.getTotalSize();let W=J.indexAtOffset(_>0?Math.max(0,j-_):j),B=J.indexAtOffset(j+U);if(B<q-1)B++;W=Math.max(0,W),B=Math.min(q-1,Math.max(0,B));let L=Math.max(0,W-$),z=Math.min(q-1,B+$),D=Math.ceil(U/1)+$*2+10,H=z-L+1,C=Math.min(H,Q.capacity,D);if(L===Q.prevRangeStart&&z===Q.prevRangeEnd&&!Q.renderPending)return!1;Q.visibleCount=C,Q.startIndex=L;for(let E=0;E<C;E++){let P=L+E;Q.visibleIndices[E]=P,Q.visibleOffsets[E]=J.getOffset(P),Q.visibleSizes[E]=J.getSize(P)}return Q4(K.calculate,Q),Q.prevRangeStart=L,Q.prevRangeEnd=z,Q.renderPending=!1,!0}var C2={selected:!1,focused:!1};function c4(Q,J,$){for(let K=0;K<J;K++)if(Q[K]===$)return!0;return!1}function d4(Q,J){if(J<=1)return!0;let $=Q[0];for(let K=1;K<J;K++){let Z=Q[K];if(Z!==$+1)return!1;$=Z}return!0}function l4(Q,J,$,K,Z,j,U,q,_,W){let B=_?null:Z(),L=Q.visibleCount,z=Q.visibleIndices,D=U.interactive?String(Q.totalItems):"",H=U.interactive&&Q.totalItems!==Q.prevAriaTotal,C=null;for(let E=0;E<L;E++){let P=z[E],h=Q.visibleOffsets[E],Y=Q.visibleSizes[E],G=_?_(P):B[P];if(W)W(P,C2);else C2.selected=!1,C2.focused=!1;let y=j.get(P),V=y;if(y===void 0){let X=J.acquire();if(G!==void 0){let w;try{w=K(G,P,C2)}catch(x){if(U.emitter)U.emitter.emit("error",{error:x instanceof Error?x:Error(String(x)),context:`template:render:${P}`});J.release(X);continue}if(typeof w==="string")X.innerHTML=w;else X.textContent="",X.appendChild(w);u2(X)}if(X.setAttribute("role",U.itemRole),X.setAttribute("data-index",String(P)),U.interactive)X.id=U.prefix+"-item-"+P,X.setAttribute("aria-posinset",String(P+1)),X.setAttribute("aria-setsize",D);if(G!==void 0){let w=String(G.id);if(X.setAttribute("data-id",w),w.startsWith(f2))X.classList.add(U.placeholderClass)}if(U.hasCrossPad)X.style.setProperty(U.crossStartProp,U.crossStartVal),X.style.setProperty(U.crossEndProp,U.crossEndVal);if(W){if(X.classList.toggle(U.selectedClass,C2.selected),X.classList.toggle(U.focusedClass,C2.focused),C2.selected)X.setAttribute("aria-selected","true");else X.removeAttribute("aria-selected");X._lastSelected=C2.selected,X._lastFocused=C2.focused}if(U.oddClass)X.classList.toggle(U.oddClass,(P&1)===1);let f=h+U.startPadding;X.style.transform=U.translateProp+f+"px)",X._lastOffset=f;let l=Y-U.gap;if(X.style[U.sizeProp]=l+"px",X._lastSize=l,X._lastItem=G,j.set(P,X),C===null)C=document.createDocumentFragment();C.appendChild(X)}else{if(H)y.setAttribute("aria-setsize",D);if(G!==void 0&&V._lastItem!==G){let l=y.getAttribute("data-id"),w=String(G.id),x;try{x=K(G,P,C2)}catch(r){if(U.emitter)U.emitter.emit("error",{error:r instanceof Error?r:Error(String(r)),context:`template:render:${P}`});continue}if(typeof x==="string")y.innerHTML=x;else y.textContent="",y.appendChild(x);if(u2(y),y.setAttribute("data-id",w),V._lastItem=G,l!==w){let r=l!==null&&l.startsWith(f2),g=w.startsWith(f2);if(r!==g)y.classList.toggle(U.placeholderClass,g);if(r&&!g)y.classList.add(U.replacedClass),setTimeout(()=>{y.classList.remove(U.replacedClass)},300)}}if(W){if(V._lastSelected!==C2.selected){if(y.classList.toggle(U.selectedClass,C2.selected),C2.selected)y.setAttribute("aria-selected","true");else y.removeAttribute("aria-selected");V._lastSelected=C2.selected}if(V._lastFocused!==C2.focused)y.classList.toggle(U.focusedClass,C2.focused),V._lastFocused=C2.focused}let X=h+U.startPadding;if(V._lastOffset!==X)y.style.transform=U.translateProp+X+"px)",V._lastOffset=X;let f=Y-U.gap;if(V._lastSize!==f)y.style[U.sizeProp]=f+"px",V._lastSize=f}}if(C!==null)$.appendChild(C);if(L>0&&d4(z,L)){let E=z[0],P=z[L-1];for(let[h,Y]of j)if(h<E||h>P)Y.remove(),J.release(Y),j.delete(h)}else for(let[E,P]of j)if(!c4(z,L,E))P.remove(),J.release(P),j.delete(E);if(U.interactive)Q.prevAriaTotal=Q.totalItems;j4(q.commit,Q)}function X0(Q,J,$,K,Z,j,U,q,_,W,B,L){if(m4(Q,J,$,W,_.startPadding))l4(Q,K,Z,j,U,q,_,W,B,L)}var M0=()=>{let Q={},J=(j,U)=>{if(!Q[j])Q[j]=new Set;return Q[j].add(U),()=>$(j,U)},$=(j,U)=>{Q[j]?.delete(U)};return{on:J,off:$,emit:(j,U)=>{Q[j]?.forEach((q)=>{try{q(U)}catch(_){console.error(`[vlist] Error in event handler for "${String(j)}":`,_)}})},clear:(j)=>{if(j)delete Q[j];else for(let U in Q)delete Q[U]}}};var q4=2,Y4=(Q=0)=>({velocity:0,sampleCount:0}),B4=(Q,J)=>{let $=performance.now(),K=Q._lt??$,Z=Q._lp??J,j=$-K;if(Q._lp=J,Q._lt=$,j===0)return Q.sampleCount=Math.min(Q.sampleCount+1,5),Q;if(j>100)return Q.velocity=0,Q.sampleCount=1,Q;return Q.velocity=Math.abs(J-Z)/j,Q.sampleCount=Math.min(Q.sampleCount+1,5),Q};function r4(Q){let{item:J}=Q;if(J.height!==void 0&&typeof J.height==="number"){if(!Number.isFinite(J.height)||J.height<=0)throw Error(`vlist: item.height must be a positive number, got ${J.height}`)}if(J.width!==void 0&&typeof J.width==="number"){if(!Number.isFinite(J.width)||J.width<=0)throw Error(`vlist: item.width must be a positive number, got ${J.width}`)}if(J.estimatedHeight!==void 0){if(!Number.isFinite(J.estimatedHeight)||J.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${J.estimatedHeight}`)}if(J.estimatedWidth!==void 0){if(!Number.isFinite(J.estimatedWidth)||J.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${J.estimatedWidth}`)}if(J.gap!==void 0){if(typeof J.gap!=="number"||!Number.isFinite(J.gap)||J.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${J.gap}`)}if(Q.overscan!==void 0){if(typeof Q.overscan!=="number"||!Number.isFinite(Q.overscan)||Q.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${Q.overscan}`)}}function s4(Q,J){let $=Q==="horizontal"?"x":"y";if(J.some((Z)=>Z.name==="grid"))return{primary:$,cross:$==="x"?"y":"x"};return{primary:$}}function a4(Q,J){let $=s4(Q.orientation,J),K=$.primary==="x",Z=s0(Q.padding);return{axis:$,hasCrossAxis:$.cross!==void 0,overscan:Q.overscan??n2,reverse:Q.reverse??!1,classPrefix:Q.classPrefix??u0,mainAxisPadding:a0(Z,K),crossAxisPadding:o0(Z,K),startPadding:K?Z.left:Z.top,endPadding:K?Z.right:Z.bottom,crossPadStart:K?Z.top:Z.left,crossPadEnd:K?Z.bottom:Z.right,striped:Q.item.striped||!1,gap:Q.item.gap??0}}function o4(Q,J){if(J)return Q.item.width??Q.item.estimatedWidth??100;return Q.item.height??Q.item.estimatedHeight??40}function i4(Q){let J=[...Q];return J.sort(($,K)=>($.priority??50)-(K.priority??50)),J}function n4(Q){let J=new Set;for(let $ of Q){if(J.has($.name))throw Error(`[vlist] Duplicate plugin: ${$.name}`);J.add($.name)}for(let $ of Q)if($.conflicts){for(let K of $.conflicts)if(J.has(K))throw Error(`[vlist] Plugin "${$.name}" conflicts with "${K}"`)}}function W4(Q,J=[]){r4(Q);let $=a4(Q,J),K=$.axis.primary==="x",Z=o4(Q,K),j=$.gap,U=j>0?typeof Z==="function"?(N2)=>Z(N2)+j:Z+j:Z,q=typeof Z==="number"?Z:20,_=Q.items?.length??0,W=$.striped?`${$.classPrefix}-item--odd`:"",B=M0(),L=U4($.classPrefix,K,$.startPadding,$.crossPadStart,$.crossPadEnd,W,j,B),z=J.length>0?i4(J):J;if(J.length>0)n4(z);let D=t0(Q.container),H=e0(D,$.classPrefix,K,Q.ariaLabel);if(Q.scroll?.scrollbar==="none")H.viewport.classList.add(`${$.classPrefix}-viewport--no-scrollbar`);if(Q.scroll?.gutter==="stable")H.viewport.classList.add(`${$.classPrefix}-viewport--gutter-stable`);let E=Q0(U,_);if(j>0){let N2=E.getTotalSize;E.getTotalSize=()=>{let N=N2();return N>0?N-j:0}}let P=n0($.classPrefix),h=Math.ceil(4096/q)+$.overscan*2+8,Y=i0(h);Y.totalItems=_;let G=Q.items??[],y=()=>G,V=new Map,X=Y4(),f={velocity:0,reliable:!1},l={range:{start:0,end:-1}},w={scrollPosition:0,direction:"down"},x={scrollPosition:0},r=-1,g=-1,c=-1,K2=null,Q2=$4(z),d=new Map,v=[],S=[],k=[],R=null,a=null,n=null,s=null,F=null,A=null,I=null,u=null,M=null,T=null,O=null,m=!1,Z2=!1,o=null,J2=0,t=0,U2=null,W2=null,L2=null,p=null,j2=null;if(Y.containerSize=K?H.viewport.clientWidth:H.viewport.clientHeight,Y.crossSize=K?H.viewport.clientHeight:H.viewport.clientWidth,J.length>0){let N2={dom:H,sizeCache:E,pool:P,config:$,emitter:B,template:Q.item.template,registerMethod(N,$2){d.set(N,$2)},getMethod(N){return d.get(N)},registerClickHandler(N){v.push(N)},registerKeydownHandler(N){S.push(N)},registerDestroyHandler(N){k.push(N)},enableListboxRole(){let N=H.content.getAttribute("role");if(!N||N==="list")H.content.setAttribute("role","listbox"),H.content.setAttribute("tabindex","0");L.itemRole="option",L.interactive=!0},setSizeConfig(N){let $2=Q0(N,Y.totalItems),V2=d.get("_setSizeCacheBase");if(V2){let e=E.rebuild;Object.assign(E,$2),E.rebuild=e,V2($2.rebuild)}else Object.assign(E,$2)},setScrollFns(N,$2){a=N,n=$2},setVirtualTotalFn(N){R=N},getItems:y,getItem(N){return A?A(N):G[N]},getState(){return Y},rebuildSizeCache(){E.rebuild(Y.totalItems)},updateContentSize(N){Y.totalSize=N,H.content.style[K?"width":"height"]=N+$.mainAxisPadding+"px"},setRenderFn(N,$2){s=N,F=$2},renderIfNeeded(){P2()},forceRender(){z2()},setGetItemFn(N){A=N},setItemStateFn(N){I=N},getItemStateFn(){return I},get rawSizeSpec(){return Z},scrollTo(N){if(n)n(N);else if(K)H.viewport.scrollLeft=N;else H.viewport.scrollTop=N},smoothScrollTo(N,$2,V2,e){if(L2)L2(N,$2,n??void 0,V2,e);else N2.scrollTo(typeof N==="function"?N():N)},disableDefaultScroll(){m=!0},disableDefaultResize(){Z2=!0},setScrollTarget(N){o=N},setScrollToPosFn(N){p=N},setScrollToIndexFn(N){j2=N},onScrollFrame:b2,onScrollIdle:k2,removeItemById(N){if(u)return u(N);let $2=G.findIndex((V2)=>V2.id===N);if($2===-1)return-1;return G.splice($2,1),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),$2},insertItemAt(N,$2){if(M){M(N,$2);return}G.splice($2,0,N),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()},setRemoveItemFn(N){u=N},setInsertItemFn(N){M=N},setUpdateItemFn(N){T=N},setGetIndexByIdFn(N){O=N},getRenderedElement(N){let $2=d.get("_getRenderedElement");if($2)return $2(N);return V.get(N)??null},setNavConfig(N){if(N.ud!==void 0)J2=N.ud;if(N.lr!==void 0)t=N.lr;if(N.scrollIndex)U2=N.scrollIndex;if(N.navigate)W2=N.navigate},getNavConfig:(()=>{let N={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return N.ud=J2,N.lr=t,N.scrollIndex=U2,N.navigate=W2,N}})()};for(let N of z)if(N.setup)try{N.setup(N2)}catch($2){B.emit("error",{error:$2 instanceof Error?$2:Error(String($2)),context:`plugin:setup:${N.name}`})}}let i=$.classPrefix+"--scrolling",Y2=!1,M2=Q.scroll?.idleTimeout??s2;function _2(){if(w.scrollPosition=Y.scrollPosition,K)w.direction=Y.scrollDirection>0?"right":"left";else w.direction=Y.scrollDirection>0?"down":"up";if(B.emit("scroll",w),B4(X,Y.scrollPosition),f.velocity=X.velocity,f.reliable=X.sampleCount>=q4,B.emit("velocity:change",f),Y.startIndex!==r||Y.prevRangeEnd!==g)r=Y.startIndex,g=Y.prevRangeEnd,l.range.start=Y.startIndex,l.range.end=Y.prevRangeEnd,B.emit("range:change",l)}let B2=!1;function R2(){if(s)return;let N2=E.getTotalSize();if(H.content.style[K?"width":"height"]=N2+$.mainAxisPadding+"px",!B2&&N2>p2)B2=!0,B.emit("error",{error:Error(`Content size (${N2}px) exceeds browser limit (${p2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function P2(){if(s)s();else X0(Y,E,$.overscan,P,H.content,Q.item.template,y,V,L,Q2,A,I)}function b2(){if(!Y2)Y2=!0,H.root.classList.add(i);if(P2(),N0(Q2.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==c)c=Y.scrollPosition,_2()}function k2(){if(Y2)Y2=!1,H.root.classList.remove(i);Y.scrollDirection=0,Z4(Q2.idle),f.velocity=0,f.reliable=!1,B.emit("velocity:change",f),x.scrollPosition=Y.scrollPosition,B.emit("scroll:idle",x)}function z2(){if(Y.renderPending=!0,F)F();else X0(Y,E,$.overscan,P,H.content,Q.item.template,y,V,L,Q2,A,I);if(N0(Q2.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==c){if(c=Y.scrollPosition,_2(),K2!==null)clearTimeout(K2);K2=setTimeout(k2,M2)}}let G2=J4({state:Y,viewport:H.viewport,isX:K,wheelEnabled:m?!1:Q.scroll?.wheel!==!1,idleTimeout:Q.scroll?.idleTimeout??s2,...o?{scrollTarget:o}:{},onFrame:b2,onIdle:k2});L2=G2.smoothScrollTo;function H2(N2){let $2=N2.target.closest("[data-index]");if(!$2)return null;let V2=parseInt($2.getAttribute("data-index"),10);if(Number.isNaN(V2))return null;let e=d.get("_layoutToDataIndex"),q2;if(e){let A2=e(V2);if(A2<0)return null;let E2=d.get("_getItem");q2=E2?E2(A2):A?A(A2):G[A2]}else q2=A?A(V2):G[V2];if(q2===void 0)return null;return{item:q2,index:V2}}function D2(N2){for(let $2=0;$2<v.length;$2++)v[$2](N2);let N=H2(N2);if(N)B.emit("item:click",{item:N.item,index:N.index,event:N2})}function F2(N2){let N=H2(N2);if(N)B.emit("item:dblclick",{item:N.item,index:N.index,event:N2})}function b(N2){let N=H2(N2);if(N)B.emit("item:contextmenu",{item:N.item,index:N.index,event:N2})}function X2(N2){let N=N2.target?.tagName;if((N==="INPUT"||N==="TEXTAREA"||N==="SELECT")&&!((N2.ctrlKey||N2.metaKey)&&(N2.key==="f"||N2.key==="F")))return;for(let $2=0;$2<S.length;$2++)S[$2](N2)}if(H.content.addEventListener("click",D2),H.content.addEventListener("dblclick",F2),H.content.addEventListener("contextmenu",b),S.length>0)H.root.addEventListener("keydown",X2);let O2=null;if(!Z2)setTimeout(()=>{if(Y.destroyed)return;O2=new ResizeObserver((N)=>{for(let $2 of N){let{width:V2,height:e}=$2.contentRect,q2=K?V2:e,A2=K?e:V2;if(Math.abs(q2-Y.containerSize)<1&&Math.abs(A2-Y.crossSize)<1)continue;Y.containerSize=q2,Y.crossSize=A2,Y.resizeCapacity(q2,q,$.overscan),z2(),K4(Q2.resize,V2,e),B.emit("resize",{width:V2,height:e})}}),O2.observe(H.viewport)},0);Y.resizeCapacity(Y.containerSize,q,$.overscan),R2(),Y.initialized=!0;let T2=null;if(Q.defer)T2=requestAnimationFrame(()=>{if(T2=null,!Y.destroyed)P2()});else P2();if(!m)G2.attach();let w2={get element(){return H.root},get items(){return G},get total(){return R?R():G.length},setItems(N2){G=[...N2],Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},appendItems(N2){G.push(...N2),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},prependItems(N2){G.unshift(...N2),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},updateItem(N2,N){if(T){if(!T(N2,N))return}else{let $2=G.findIndex((V2)=>V2.id===N2);if($2===-1)return;G[$2]={...G[$2],...N}}z2()},insertItem(N2,N){if(M)M(N2,N??Y.totalItems);else{if(N===void 0)G.push(N2);else G.splice(N,0,N2);Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()}z2()},removeItem(N2){if(u){if(u(N2)<0)return}else{let N=G.findIndex(($2)=>$2.id===N2);if(N===-1)return;G.splice(N,1),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()}z2()},removeItems(N2){if(u){let e=0;for(let q2 of N2)if(u(q2)>=0)e++;if(e>0)z2();return e}let N=new Set(N2),$2=G.length;G=G.filter((e)=>!N.has(e.id));let V2=$2-G.length;if(V2>0)Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),Y.renderPending=!0,P2();return V2},getItemAt(N2){return A?A(N2):G[N2]},getIndexById(N2){if(O)return O(N2);return G.findIndex((N)=>N.id===N2)},scrollToIndex(N2,N="start"){let $2=R?R():G.length;if($2===0)return;let V2=Math.max(0,Math.min(N2,$2-1)),e=typeof N==="string"?N:N.align??"start",q2=typeof N==="object"?N.behavior:void 0,A2=typeof N==="object"?N.duration:void 0,E2=typeof N==="object"?N.easing:void 0;if(j2&&j2(V2,e,q2,A2,E2)!==!1)return;let y2=E.getOffset(V2),v2=E.getSize(V2),S2=Y.containerSize,h4=E.getTotalSize(),p0=$.mainAxisPadding,I4=Math.max(0,h4+p0-S2),h2;if(p)h2=p(V2,E,S2,$2,e);else{let p4=$.startPadding;switch(e){case"center":h2=p4+y2-(S2-v2)/2;break;case"end":h2=y2+v2+p0-S2;break;default:h2=y2}h2=Math.max(0,Math.min(h2,I4))}if(q2==="smooth")G2.smoothScrollTo(h2,A2??J0,n??void 0,E2);else if(n)n(h2);else if(K)H.viewport.scrollLeft=h2;else H.viewport.scrollTop=h2},getScrollPosition(){return a?a():Y.scrollPosition},on:B.on.bind(B),off:B.off.bind(B),destroy(){if(Y.destroyed)return;if(Y.destroyed=!0,Y2)Y2=!1,H.root.classList.remove(i);if(T2!==null)cancelAnimationFrame(T2),T2=null;if(K2!==null)clearTimeout(K2),K2=null;G2.detach(),O2?.disconnect(),H.content.removeEventListener("click",D2),H.content.removeEventListener("dblclick",F2),H.content.removeEventListener("contextmenu",b),H.root.removeEventListener("keydown",X2);let N2=[];for(let N of k)try{N()}catch($2){N2.push($2 instanceof Error?$2:Error(String($2)))}for(let N of z)if(N.destroy)try{N.destroy()}catch($2){N2.push($2 instanceof Error?$2:Error(String($2)))}for(let[,N]of V)N.remove();if(V.clear(),P.clear(),H.root.remove(),B.emit("destroy",void 0),B.clear(),N2.length>0)for(let N of N2)console.error("vlist: error during destroy:",N)}};for(let[N2,N]of d)w2[N2]=N;return w2}var V4=(Q,J,$)=>{let K=J.getTotalSize(),Z=$===!0||K>p2,j=K>p2?p2:K,U=K>0?j/K:1;return{isCompressed:Z,actualSize:K,virtualSize:j,ratio:U}},x2=(Q,J,$,K,Z,j)=>{if(K===0||J===0)return j.start=0,j.end=-1,j;if(!Z.isCompressed||Z.ratio===1){let D=$.indexAtOffset(Q),H=$.indexAtOffset(Q+J);if(H<K-1)H++;return j.start=Math.max(0,D),j.end=Math.min(K-1,Math.max(0,H)),j}let{virtualSize:U}=Z,q=Q/U,_=$.getTotalSize(),W=q*_,B=$.indexAtOffset(W),L=_0($,Math.max(0,B),J,K),z=B+L;return j.start=Math.max(0,B),j.end=Math.min(K-1,Math.max(0,z)),j};var I2=(Q,J,$,K,Z,j,U)=>{if(!j.isCompressed||K===0)return $.getOffset(Q);if(j.ratio===1)return $.getOffset(Q)-J;let{virtualSize:q}=j,_=J/q,W=$.getTotalSize(),B=_*W;return $.getOffset(Q)-B},j0=(Q,J,$,K,Z,j="start")=>{if(K===0)return 0;let U;if(Z.isCompressed&&Z.ratio!==1){U=Q/K*Z.virtualSize;let B=J.getSize(Q);switch(j){case"center":U-=($-B)/2*Z.ratio;break;case"end":U-=($-B)*Z.ratio;break}return Math.max(0,U)}U=J.getOffset(Q);let q=J.getSize(Q);switch(j){case"center":U-=($-q)/2;break;case"end":U-=$-q;break}let _=Z.virtualSize-$;return Math.max(0,Math.min(U,_))};var t4=(Q)=>{if(typeof Q!=="object"){let J=Q??2;return{top:J,right:J,bottom:J,left:J}}return{top:Q.top??2,right:Q.right??2,bottom:Q.bottom??2,left:Q.left??2}},Z0=(Q,J,$={},K="vlist",Z=!1,j)=>{let{autoHide:U=!0,autoHideDelay:q=1000,minThumbSize:_=15,showOnHover:W=!0,showOnViewportEnter:B=!0,clickBehavior:L="scroll"}=$,z=L==="page"?"scroll":L,D=j??Q,H=t4($.padding),C=Z?H.left:H.top,E=Z?H.right:H.bottom,P=Z?H.bottom:H.right,h=$.hoverZoneWidth??P+16,Y=0,G=0,y=0,V=0,X=!1,f=!1,l=0,w=0,x=0,r=null,g=!1,c=null,K2=0,Q2=0,d=null,v=null,S=null,k=Z?"width":"height",R=Z?"translateX":"translateY",a=Z?(b)=>b.clientX:(b)=>b.clientY,n=Z?"left":"top",s=document.createElement("div"),F=document.createElement("div"),A=document.createElement("div"),I=Z?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",u=()=>{if(D===Q)return;let b=Q.offsetTop;s.style[Z?"left":"top"]=b?`calc(var(${I}) + ${b}px)`:`var(${I})`,A.style[Z?"left":"top"]=`${b}px`},M=()=>{if(s.className=`${K}-scrollbar`,F.className=`${K}-scrollbar__thumb`,Z)s.classList.add(`${K}-scrollbar--horizontal`);if($.padding!==void 0)D.style.setProperty("--vlist-custom-scrollbar-padding-top",`${H.top}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-right",`${H.right}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${H.bottom}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-left",`${H.left}px`);if($.minThumbSize!==void 0)s.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${_}px`);if(s.appendChild(F),D.appendChild(s),A.className=`${K}-scrollbar__hover`,Z)A.classList.add(`${K}-scrollbar__hover--horizontal`),A.style.height=`${h}px`;else A.style.width=`${h}px`;if(D.appendChild(A),D!==Q)u()},T=()=>{if(r)clearTimeout(r),r=null},O=()=>{if(!U)return;T(),r=setTimeout(Z2,q)},m=()=>{if(Y<=G)return;if(T(),!g)s.classList.add(`${K}-scrollbar--visible`),g=!0;if(U&&!X&&!f)O()},Z2=()=>{if(X||f)return;s.classList.remove(`${K}-scrollbar--visible`),g=!1},o=(b,X2)=>{if(Y=b,G=X2,u(),Y<=G){s.style.display="none",Z2();return}s.style.display="";let O2=Math.max(0,G-C-E),T2=G/Y;if(y=Math.max(_,T2*O2),F.style[k]=`${y}px`,V=O2-y,J2(x),!U)m()},J2=(b)=>{if(x=b,Y<=G||V<=0)return;let X2=Y-G,O2=Math.min(1,Math.max(0,b/X2));F.style.transform=`${R}(${O2*V}px)`},t=(b)=>{if(b.target===F||z!=="jump"||V<=0)return;let X2=Y-G,O2=s.getBoundingClientRect(),T2=a(b)-O2[n],w2=Math.max(0,Math.min(T2-y/2,V));J(w2/V*X2),m()},U2=()=>{if(d!==null)clearTimeout(d),d=null;if(v!==null)cancelAnimationFrame(v),v=null;S=null},W2=(b)=>{let X2=V>0?Q2/b*V:0;if(K2<X2)return-1;if(K2>=X2+y)return 1;return 0},L2=()=>{let b=Y-G,X2=W2(b);if(X2===0){U2();return}if(X2===-1){if(Q2<=0){U2();return}let O2=Math.max(0,Q2-G);Q2=O2,J(O2)}else{if(Q2>=b){U2();return}let O2=Math.min(b,Q2+G);Q2=O2,J(O2)}m()},p=(b)=>{if(S===null){S=b,v=requestAnimationFrame(p);return}let X2=Y-G,O2=b-S;S=b;let T2=W2(X2);if(T2===0){U2();return}let w2=12*G/1000,N2=Math.min(w2*O2,G);if(T2===-1){if(Q2<=0){U2();return}let N=Math.max(0,Q2-N2);Q2=N,J(N)}else{if(Q2>=X2){U2();return}let N=Math.min(X2,Q2+N2);Q2=N,J(N)}T(),v=requestAnimationFrame(p)},j2=()=>{U2(),O(),document.removeEventListener("mouseup",j2)},i=(b)=>{if(b.target===F||z!=="scroll")return;b.preventDefault();let X2=s.getBoundingClientRect();K2=a(b)-X2[n],Q2=x,L2(),d=setTimeout(()=>{v=requestAnimationFrame(p)},350),document.addEventListener("mouseup",j2)},Y2=(b)=>{b.preventDefault(),b.stopPropagation(),X=!0,l=a(b),w=x,T(),s.classList.add(`${K}-scrollbar--dragging`),document.addEventListener("mousemove",M2),document.addEventListener("mouseup",_2)},M2=(b)=>{if(!X)return;let X2=a(b)-l,O2=V>0?X2/V:0,T2=Y-G,w2=O2*T2,N2=Math.max(0,Math.min(w+w2,T2));F.style.transform=`${R}(${N2/T2*V}px)`,J(N2)},_2=()=>{if(X=!1,s.classList.remove(`${K}-scrollbar--dragging`),U&&!f)O();document.removeEventListener("mousemove",M2),document.removeEventListener("mouseup",_2)},B2=Z?(b)=>b.touches[0].clientX:(b)=>b.touches[0].clientY,R2=(b)=>{b.stopPropagation(),X=!0,l=B2(b),w=x,T(),s.classList.add(`${K}-scrollbar--dragging`)},P2=(b)=>{if(!X)return;b.preventDefault();let X2=B2(b)-l,O2=V>0?X2/V:0,T2=Y-G,w2=O2*T2,N2=Math.max(0,Math.min(w+w2,T2));F.style.transform=`${R}(${N2/T2*V}px)`,J(N2)},b2=()=>{if(X=!1,s.classList.remove(`${K}-scrollbar--dragging`),U)O()},k2=(b)=>{if(b.target===F)return;if(V<=0)return;let X2=b.touches[0],O2=s.getBoundingClientRect(),T2=(Z?X2.clientX:X2.clientY)-O2[n];if(z==="jump"){let w2=Y-G,N2=Math.max(0,Math.min(T2-y/2,V));J(N2/V*w2)}else K2=T2,Q2=x,L2();m()},z2=()=>{if(B)m()},G2=()=>{if(!X){if(f=!1,U)O()}},H2=()=>{f=!0,T(),m()},D2=()=>{if(f=!1,!X&&U)O()},F2=()=>{if(T(),U2(),c!==null)cancelAnimationFrame(c),c=null;s.removeEventListener("click",t),s.removeEventListener("mousedown",i),s.removeEventListener("mouseenter",H2),document.removeEventListener("mouseup",j2),s.removeEventListener("mouseleave",D2),s.removeEventListener("touchstart",k2),F.removeEventListener("mousedown",Y2),F.removeEventListener("touchstart",R2),F.removeEventListener("touchmove",P2),F.removeEventListener("touchend",b2),Q.removeEventListener("mouseenter",z2),Q.removeEventListener("mouseleave",G2),document.removeEventListener("mousemove",M2),document.removeEventListener("mouseup",_2),A.removeEventListener("click",t),A.removeEventListener("mousedown",i),A.removeEventListener("mouseenter",H2),A.removeEventListener("mouseleave",D2),A.remove(),D.style.removeProperty("--vlist-custom-scrollbar-padding-top"),D.style.removeProperty("--vlist-custom-scrollbar-padding-right"),D.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),D.style.removeProperty("--vlist-custom-scrollbar-padding-left"),s.remove()};if(M(),s.addEventListener("click",t),s.addEventListener("mousedown",i),s.addEventListener("mouseenter",H2),s.addEventListener("mouseleave",D2),s.addEventListener("touchstart",k2,{passive:!0}),F.addEventListener("mousedown",Y2),F.addEventListener("touchstart",R2,{passive:!0}),F.addEventListener("touchmove",P2,{passive:!1}),F.addEventListener("touchend",b2,{passive:!0}),Q.addEventListener("mouseenter",z2),Q.addEventListener("mouseleave",G2),A.addEventListener("click",t),A.addEventListener("mousedown",i),W)A.addEventListener("mouseenter",H2),A.addEventListener("mouseleave",D2);return{show:m,hide:Z2,updateBounds:o,updatePosition:J2,isVisible:()=>g,destroy:F2}};var e4=0.65,_4=0.5,N4=1.7,J6=0.95,$6=0.1,r2=5,Q6=100;function D0(Q){let J=Q?.force??!1,$,K,Z,j,U,q=0,_={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},W=!1,B=0,L=null,z=!1,D=0,H=0,C=null,E=null,P=0,h=0,Y=null,G=new Float64Array(r2),y=new Float64Array(r2),V=0,X=0,f={start:0,end:-1},l=-1,w=null;function x(){return Math.max(0,_.virtualSize+B+q*_.ratio-$.containerSize)}function r(){if(_.virtualSize<=0)return 0;return Math.max(0,$.containerSize*(1-_.ratio))}function g(A){let I=$.totalItems;if(_=V4(I,K,J),_.isCompressed&&!W)n(A);else if(!_.isCompressed&&W)s(A);if(_.isCompressed){if(B=r(),$.isCompressed=!0,$.compressionRatio=_.ratio,A.updateContentSize(_.virtualSize+B),L)L.updateBounds(_.virtualSize+B+q*_.ratio,$.containerSize)}}let c=null,K2=null,Q2=null,d=null,v=null;function S(A){D=A,H=A,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=A,$.scrollDirection=A>$.prevScrollPosition?1:-1,w.forceRender()}function k(){if(C!==null)cancelAnimationFrame(C),C=null;if(E!==null)cancelAnimationFrame(E),E=null}function R(A){k(),S(Math.max(0,Math.min(A,x())))}function a(A,I,u=e2){k();let M=Math.max(0,Math.min(A,x())),T=D;if(Math.abs(M-T)<_4){S(M);return}let O=performance.now(),m=(Z2)=>{let o=Math.min((Z2-O)/I,1);if(S(T+(M-T)*u(o)),o<1)E=requestAnimationFrame(m);else E=null};E=requestAnimationFrame(m)}function n(A){W=!0,$.isCompressed=!0;let I=j?"scrollLeft":"scrollTop",u=j?"overflowX":"overflow",M=Z[I];if(Z.style[u]="hidden",Z[I]=0,M>0)D=M,H=M,$.scrollPosition=M;B=r();let T=()=>{let J2=H-D,t=x();if(Math.abs(J2)<_4)D=Math.max(0,Math.min(H,t)),H=D,C=null;else D+=J2*e4,D=Math.max(0,Math.min(D,t)),C=requestAnimationFrame(T);$.prevScrollPosition=$.scrollPosition,$.scrollPosition=D,$.scrollDirection=D>$.prevScrollPosition?1:-1,A.forceRender()};c=(J2)=>{J2.preventDefault();let t=x();if(H=Math.max(0,Math.min(H+J2.deltaY*_.ratio*N4,t)),C===null)C=requestAnimationFrame(T)},Z.addEventListener("wheel",c,{passive:!1});let O=()=>{if(Y!==null)cancelAnimationFrame(Y),Y=null};K2=(J2)=>{if(O(),C!==null)cancelAnimationFrame(C),C=null;let t=J2.touches[0];if(!t)return;let U2=j?t.clientX:t.clientY;P=U2,h=D,V=1,X=0,G[0]=performance.now(),y[0]=U2},Q2=(J2)=>{J2.preventDefault();let t=J2.touches[0];if(!t)return;let U2=j?t.clientX:t.clientY,W2=performance.now(),L2=V<r2?V:X;if(G[L2]=W2,y[L2]=U2,V<r2)V++;else X=(X+1)%r2;let p=P-U2,j2=x(),i=Math.max(0,Math.min(h+p*_.ratio*N4,j2));D=i,H=i,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=i,$.scrollDirection=i>$.prevScrollPosition?1:-1,A.forceRender()},d=()=>{let J2=performance.now(),t=1/0,U2=0,W2=-1,L2=0,p=0;for(let M2=0;M2<V;M2++){let _2=(X+M2)%r2,B2=G[_2];if(J2-B2>=Q6)continue;p++;let R2=y[_2];if(B2<t)t=B2,U2=R2;if(B2>W2)W2=B2,L2=R2}let j2=0;if(p>=2){let M2=W2-t;if(M2>0)j2=(U2-L2)/M2}if(V=0,X=0,Math.abs(j2)<$6)return;let i=j2*16,Y2=()=>{if(i*=J6,Math.abs(i)<0.5){Y=null;return}let M2=x(),_2=D+i;if(_2=Math.max(0,Math.min(_2,M2)),_2<=0&&i<0||_2>=M2&&i>0){D=_2,H=_2,$.scrollPosition=_2,A.forceRender(),Y=null;return}D=_2,H=_2,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=_2,$.scrollDirection=_2>$.prevScrollPosition?1:-1,A.forceRender(),Y=requestAnimationFrame(Y2)};Y=requestAnimationFrame(Y2)},Z.addEventListener("touchstart",K2,{passive:!0}),Z.addEventListener("touchmove",Q2,{passive:!1}),Z.addEventListener("touchend",d,{passive:!0}),Z.addEventListener("touchcancel",d,{passive:!0}),v=()=>{if(Z[I]!==0)Z[I]=0},Z.addEventListener("scroll",v,{passive:!0});let m=(J2)=>{if(D=J2,H=J2,C!==null)cancelAnimationFrame(C),C=null;$.prevScrollPosition=$.scrollPosition,$.scrollPosition=J2,$.scrollDirection=J2>$.prevScrollPosition?1:-1,A.forceRender()},Z2=A.getMethod("_scrollbar:setCallback"),o=A.getMethod("_scrollbar:getInstance");if(Z2&&o){Z2(m);let J2=o();if(J2)L=J2,z=!1,L.updateBounds(_.virtualSize+B+q*_.ratio,$.containerSize)}else if(!L){let J2=A.config.classPrefix;if(L=Z0(Z,m,{},J2,j,A.dom.root),z=!0,!Z.classList.contains(`${J2}-viewport--custom-scrollbar`))Z.classList.add(`${J2}-viewport--custom-scrollbar`);L.updateBounds(_.virtualSize+B,$.containerSize)}}function s(A){W=!1,$.isCompressed=!1,$.compressionRatio=1,D=0,H=0,V=0,X=0,F();let I=j?"overflowX":"overflow";Z.style[I]="auto",B=0,A.updateContentSize(K.getTotalSize())}function F(){if(C!==null)cancelAnimationFrame(C),C=null;if(E!==null)cancelAnimationFrame(E),E=null;if(Y!==null)cancelAnimationFrame(Y),Y=null;if(c)Z.removeEventListener("wheel",c),c=null;if(K2)Z.removeEventListener("touchstart",K2),K2=null;if(Q2)Z.removeEventListener("touchmove",Q2),Q2=null;if(d)Z.removeEventListener("touchend",d),Z.removeEventListener("touchcancel",d),d=null;if(v)Z.removeEventListener("scroll",v),v=null;if(L&&z)L.destroy();L=null,z=!1;let A=j?"scrollLeft":"scrollTop";if(Z&&Z[A]!==0)Z[A]=0}return{name:"scale",priority:20,setup(A){$=A.getState(),K=A.sizeCache,Z=A.dom.viewport,j=A.config.axis.primary==="x",U=A.config.overscan,q=A.config.mainAxisPadding,w=A,A.registerMethod("_updateCompressionMode",()=>g(A)),A.registerMethod("_scale:getCompression",()=>_),A.registerMethod("_scale:easedScrollTo",(u,M)=>a(u,M)),A.registerMethod("_scale:setVirtualPosition",(u)=>R(u));let I=0;A.registerMethod("_scrollItemIntoView",(u)=>{if(!I){let W2=A.getMethod("_getRowGap");I=W2?W2():0}let M=A.getNavConfig(),T=M.scrollIndex?M.scrollIndex(u):u,O=A.config.startPadding,m=A.config.endPadding,Z2=I;if(!_.isCompressed||!W){let W2=K.getOffset(T),L2=K.getSize(T)-Z2,p=$.containerSize,j2=$.scrollPosition,i=j?"scrollLeft":"scrollTop";if(W2<j2)Z[i]=W2;else if(O+W2+L2+m>j2+p)Z[i]=O+W2+L2+m-p;return}let o=K.getTotal(),J2=$.containerSize,t=I2(T,D,K,o,J2,_),U2=K.getSize(T)-Z2;if(t<0){let W2=-t;R(Math.max(0,D-W2*_.ratio))}else if(O+t+U2+m>J2){let W2=O+t+U2+m-J2;R(Math.min(x(),D+W2*_.ratio))}}),A.setScrollFns(()=>D,(u)=>{if(!_.isCompressed||!W){let T=j?"scrollLeft":"scrollTop";Z[T]=u;return}if(k(),Y!==null)cancelAnimationFrame(Y),Y=null;let M=u*_.ratio;S(Math.max(0,Math.min(M,x())))}),A.setScrollToIndexFn((u,M,T,O,m)=>{if(!_.isCompressed||!W)return!1;let Z2=j0(u,K,$.containerSize,K.getTotal(),_,M);if(T==="smooth")a(Z2,O??J0,m);else R(Z2)}),g(A),l=$.totalItems,A.registerDestroyHandler(F)},hooks:{onCalculate(A){if(A.totalItems!==l&&w)l=A.totalItems,g(w);if(!_.isCompressed||!W)return;let I=A.totalItems;if(I===0||A.containerSize<=0){A.visibleCount=0;return}x2(A.scrollPosition,A.containerSize,K,I,_,f);let u=Math.max(0,f.start-U),M=Math.min(I-1,f.end+U),T=Math.min(M-u+1,A.capacity);A.visibleCount=T,A.startIndex=u;for(let O=0;O<T;O++){let m=u+O;A.visibleIndices[O]=m,A.visibleOffsets[O]=I2(m,A.scrollPosition,K,I,A.containerSize,_),A.visibleSizes[O]=K.getSize(m)}A.prevRangeStart=u,A.prevRangeEnd=M},onAfterScroll(A){if(L&&W)L.updatePosition(A),L.show()},onResize(){if(W){if(B=r(),L)L.updateBounds(_.virtualSize+B,$.containerSize);let A=x();if(D>A)D=A,H=A,$.scrollPosition=A}}},destroy(){F()}}}function G0(Q){let J=null,$,K=0,Z=0;return{name:"scrollbar",priority:15,setup(j){let{dom:U,config:q}=j,{classPrefix:_}=q,W=q.axis.primary==="x";$=j.getState();let B=(L)=>{if(W)U.viewport.scrollLeft=L;else U.viewport.scrollTop=L};if(j.registerMethod("_scrollbar:setCallback",(L)=>{B=L}),J=Z0(U.viewport,(L)=>{B(L)},Q,_,W,U.root),U.viewport.classList.add(`${_}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.add(`${_}-viewport--gutter`);queueMicrotask(()=>{if(!$.isCompressed)J?.updateBounds($.totalSize,$.containerSize)}),j.registerMethod("_scrollbar:getInstance",()=>J),j.registerDestroyHandler(()=>{if(J?.destroy(),J=null,U.viewport.classList.remove(`${_}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.remove(`${_}-viewport--gutter`)})},hooks:{onAfterScroll(j){if(!$.isCompressed){let{totalSize:U,containerSize:q}=$;if(U!==K||q!==Z)K=U,Z=q,J?.updateBounds(U,q)}J?.updatePosition(j),J?.show()},onResize(){if(!$.isCompressed){let{totalSize:j,containerSize:U}=$;K=j,Z=U,J?.updateBounds(j,U)}}},destroy(){J?.destroy(),J=null}}}var X4=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),$=Q.gap??0,K=Q.isHeaderFn,Z={row:0,col:0},j=(C)=>{if(C<=0)return 0;if(!K)return Math.ceil(C/J);let E=0,P=0,h=0;for(let Y=0;Y<C;Y++)if(K(Y)){if(h++,P)E++,P=0;E++,P=0}else if(P++,P>=J)E++,P=0;if(P)E++;return E},U=(C)=>{return Z.row=q(C),Z.col=_(C),Z},q=(C)=>{if(!K)return Math.floor(C/J);let E=0,P=0;for(let h=0;h<=C;h++)if(K(h)){if(P)E++,P=0;if(h===C)return E;E++,P=0}else{if(h===C)return E;if(P++,P>=J)E++,P=0}return console.warn(`⚠️ getRow(${C}) fell through - returning ${E}`),E},_=(C)=>{if(!K)return C%J;if(K(C))return 0;let E=0;for(let P=0;P<=C;P++)if(K(P))E=0;else{if(P===C)return E;if(E++,E>=J)E=0}return E},W=(C,E,P,h)=>{if(P<=0){h.start=0,h.end=-1;return}if(!K){h.start=Math.max(0,C*J),h.end=Math.min(P-1,(E+1)*J-1);return}let Y=B(C,E,P);h.start=Y.start,h.end=Y.end},B=(C,E,P)=>{if(P<=0)return{start:0,end:-1};if(!K){let V=Math.max(0,C*J),X=Math.min(P-1,(E+1)*J-1);return{start:V,end:X}}let h=-1,Y=-1,G=0,y=0;for(let V=0;V<P;V++){if(K(V)){if(y)G++,y=0;if(G>=C&&G<=E){if(h<0)h=V;Y=V}G++,y=0}else{if(G>=C&&G<=E){if(h<0)h=V;Y=V}if(y++,y>=J)G++,y=0}if(G>E&&!y)break}if(h<0)return{start:0,end:-1};return{start:h,end:Y}},L=(C,E,P)=>{if(E<0||E>=J)return-1;let h=C*J+E;if(h<0||h>=P)return-1;return h},z=(C)=>{let E=(J-1)*$;return Math.max(0,(C-E)/J)};return{get columns(){return J},get gap(){return $},update:(C)=>{if(C.columns!==void 0)J=Math.max(1,Math.floor(C.columns));if(C.gap!==void 0)$=C.gap;if(C.isHeaderFn!==void 0)K=C.isHeaderFn},getTotalRows:j,getPosition:U,getRow:q,getCol:_,getItemRange:B,fillItemRange:W,getItemIndex:L,getColumnWidth:z,getColumnOffset:(C,E)=>{let P=z(E);return C*(P+$)}}};var m2={selected:!1,focused:!1};function A0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,$,K,Z,j,U,q,_,W,B,L=null,z=null,D=!1,H=null,C=0,E=0,P=0,h=0,Y=new Map,G=0,y=0,V=0,X=0,f=null,l=!1,w="",x="",r="",g={start:0,end:-1},c={start:0,end:-1},K2=-1,Q2=-1,d=!0,v=(u)=>$.rebuild(u);function S(){let u=(y-1)*V;X=Math.max(0,(G-u)/y)}function k(){if(D||!H)return;D=!0,z=H("_scale:getCompression")??null}function R(){if(l)return;l=!0,f=L?.()??null}function a(){return J.getTotalRows(K.totalItems)}function n(u){let M=u/y|0,O=(u-M*y)*(X+V)+C,m=$.getOffset(M)+P;if(_)return`translate(${Math.round(m)}px, ${Math.round(O)}px)`;return`translate(${Math.round(O)}px, ${Math.round(m)}px)`}function s(u,M){let T=$.getSize(M)-V;if(_)u.style.width=`${T}px`,u.style.height=`${X}px`;else u.style.width=`${X}px`,u.style.height=`${T}px`}function F(u,M,T){if(f)f(T,m2);else m2.selected=!1,m2.focused=!1;let O=U(M,T,m2);if(typeof O==="string")u.innerHTML=O;else u.innerHTML="",u.appendChild(O)}function A(){if(K.destroyed)return;let{scrollPosition:u,containerSize:M}=K;if(!d&&u===K2&&M===Q2)return;K2=u,Q2=M,d=!1;let T=a();if(M<=0||T===0)return;k(),R();let O=z!==null?z():null,m=O!==null&&O.isCompressed,Z2,o;if(m)x2(u,M,$,T,O,g),Z2=Math.max(0,g.start-B),o=Math.min(T-1,g.end+B);else{let L2=$.indexAtOffset(u),p=$.indexAtOffset(u+M);if(p<T-1)p++;L2=Math.max(0,L2),p=Math.min(T-1,Math.max(0,p)),Z2=Math.max(0,L2-B),o=Math.min(T-1,p+B)}if(Z2===K.prevRangeStart&&o===K.prevRangeEnd&&!K.renderPending)return;J.fillItemRange(Z2,o,K.totalItems,c);let{start:J2,end:t}=c;for(let[L2,p]of Y)if(L2<J2||L2>t)p.el.remove(),Z.release(p.el),Y.delete(L2);for(let L2=J2;L2<=t;L2++){let p=q(L2);if(!p)continue;let j2=L2/y|0,i=L2-j2*y,Y2=Y.get(L2);if(Y2===void 0){let B2=Z.acquire();B2.className=w,B2.setAttribute("data-index",String(L2)),B2.setAttribute("data-id",String(p.id)),F(B2,p,L2),Y2={el:B2,lastItem:p},Y.set(L2,Y2),j.appendChild(B2)}else if(Y2.lastItem!==p)Y2.el.setAttribute("data-id",String(p.id)),Y2.lastItem=p,F(Y2.el,p,L2);else if(f)f(L2,m2);if(f)if(Y2.el.classList.toggle(x,m2.selected),Y2.el.classList.toggle(r,m2.focused),m2.selected)Y2.el.setAttribute("aria-selected","true");else Y2.el.removeAttribute("aria-selected");s(Y2.el,j2);let M2=i*(X+V)+C,_2=m?I2(j2,u,$,T,M,O)+P:$.getOffset(j2)+P;Y2.el.style.transform=_?`translate(${Math.round(_2)}px, ${Math.round(M2)}px)`:`translate(${Math.round(M2)}px, ${Math.round(_2)}px)`}let U2=$.getTotalSize()+h;if(!m)j.style[_?"width":"height"]=U2+"px";K.totalSize=U2,K.prevRangeStart=Z2,K.prevRangeEnd=o,K.renderPending=!1;let W2=t-J2+1;K.visibleCount=Math.min(W2,K.capacity),K.startIndex=J2;for(let L2=0;L2<K.visibleCount;L2++){let p=J2+L2,j2=p/y|0;K.visibleIndices[L2]=p,K.visibleOffsets[L2]=m?I2(j2,u,$,T,M,O):$.getOffset(j2),K.visibleSizes[L2]=$.getSize(j2)}}function I(){if(K.destroyed)return;v(a()),K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,d=!0,A()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(u){y=Math.max(1,Math.floor(Q.columns)),V=Q.gap??0,J=X4({columns:Q.columns,gap:V}),$=u.sizeCache,K=u.getState(),Z=u.pool,j=u.dom.content,U=u.template,_=u.config.axis.primary==="x",W=u.config.classPrefix,B=u.config.overscan,q=u.getItem.bind(u),L=()=>u.getItemStateFn(),H=u.getMethod.bind(u),w=`${W}-item ${W}-grid-item`,x=`${W}-item--selected`,r=`${W}-item--focused`,C=u.config.crossPadStart,E=u.config.crossAxisPadding,P=u.config.startPadding,h=u.config.mainAxisPadding,G=K.crossSize-E,S();let M=u.rawSizeSpec,T;if(typeof M==="function"){let J2={columnWidth:J.getColumnWidth(G),columns:Q.columns,gap:V};T=M(0,J2),u.setSizeConfig((t)=>{J2.columnWidth=J.getColumnWidth(G);let U2=t*Q.columns;return M(U2,J2)+V})}else if(T=M,V>0)u.setSizeConfig(T+V);let O=null,m=$.rebuild;function Z2(){if($.rebuild===O)return;m=$.rebuild,v=(o)=>m(o),O=(o)=>{v(Math.ceil(o/y))},$.rebuild=O}if(u.registerMethod("_setSizeCacheBase",(o)=>{m=o,v=(J2)=>m(J2)}),Z2(),v(a()),V>0){let o=$.getTotalSize;$.getTotalSize=()=>{let J2=o();return J2>0?J2-V:0}}u.setVirtualTotalFn(()=>a()),u.dom.root.classList.add(`${W}--grid`),u.setRenderFn(A,I),u.registerMethod("getGridLayout",()=>J),u.registerMethod("_getRowGap",()=>J.gap),u.registerMethod("updateGrid",(o)=>{if(o.columns!==void 0){if(!Number.isInteger(o.columns)||o.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(o.gap!==void 0&&o.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(o),o.columns!==void 0)y=Math.max(1,Math.floor(o.columns));if(o.gap!==void 0)V=o.gap;if(o.gap!==void 0||o.columns!==void 0){let J2=J.gap;if(typeof M==="function"){let t={columnWidth:J.getColumnWidth(G),columns:J.columns,gap:J2};u.setSizeConfig((U2)=>{t.columnWidth=J.getColumnWidth(G);let W2=U2*J.columns;return M(W2,t)+J2})}else u.setSizeConfig(T+J2);Z2(),v(a())}if(o.columns!==void 0)u.setNavConfig({ud:J.columns});G=K.crossSize-E,S(),I()}),u.registerMethod("scrollToIndex",(o,J2="start")=>{let t=J.getRow(o),U2=a();if(U2===0)return;let W2=Math.max(0,Math.min(t,U2-1)),L2=$.getOffset(W2)+P,p=$.getSize(W2),j2=K.containerSize,i=$.getTotalSize()+h,Y2=Math.max(0,i-j2),M2=typeof J2==="string"?J2:J2.align??"start",_2=typeof J2==="object"?J2.behavior:void 0,B2=typeof J2==="object"?J2.duration:void 0,R2;switch(M2){case"center":R2=L2-(j2-p)/2;break;case"end":R2=L2-j2+p;break;default:R2=L2}R2=Math.max(0,Math.min(R2,Y2)),k();let P2=z?.()??null;if(P2?.isCompressed&&_2==="smooth"&&B2&&B2>0){let b2=j0(W2,$,j2,U2,P2,M2),k2=H?.("_scale:easedScrollTo");if(k2)k2(b2,B2);else u.scrollTo(R2)}else if(_2==="smooth"&&B2&&B2>0)u.smoothScrollTo(R2,B2);else u.scrollTo(R2)}),u.setNavConfig({total:()=>K.totalItems,ud:Q.columns,lr:1,scrollIndex:(o)=>J.getRow(o)}),u.registerDestroyHandler(()=>{for(let[,o]of Y)o.el.remove();Y.clear(),u.dom.root.classList.remove(`${W}--grid`)})},hooks:{onResize(u,M){let T=K.crossSize-E;if(Math.abs(T-G)<1)return;if(G=T,S(),(z?.()??null)?.isCompressed)I();else for(let[m,Z2]of Y){let o=m/y|0;s(Z2.el,o),Z2.el.style.transform=n(m)}}},destroy(){Y.clear()}}}function H0(Q){let J=Q?.keyboard??!0;return{name:"a11y",priority:55,setup($){if($.getItemStateFn())return;$.enableListboxRole();let{dom:K,config:Z,sizeCache:j}=$,U=$.getState(),q=$.emitter,_=Z.classPrefix,W=K.liveRegion,B=-1,L=!1,z,D=-1,H=(w)=>$.getItem(w),C=()=>U.totalItems,E={id:0,index:0},P={selected:[],items:[]};$.setItemStateFn((w,x)=>{x.selected=D===w,x.focused=L&&B===w});function h(w){W.textContent="",W.textContent=w}let Y=(w,x,r)=>{let g=w;while(g>=0&&g<r){let c=H(g);if(!c||!c.__groupHeader)return g;g+=x}g=w-x;while(g>=0&&g<r){let c=H(g);if(!c||!c.__groupHeader)return g;g-=x}return w},G=(w)=>{let x=$.getNavConfig(),r=x.scrollIndex?x.scrollIndex(w):w,g=j.getOffset(r),c=j.getSize(r),K2=U.scrollPosition,Q2=U.containerSize,d=Z.startPadding,v=Z.endPadding,S=g+d,k=S+c,R=K2;if(S<K2)R=Math.max(0,g);else if(k>K2+Q2)R=k+v-Q2;if(R!==K2)U.scrollPosition=R,$.scrollTo(R)},y=(w,x)=>{if(K.content.setAttribute("aria-activedescendant",`${_}-item-${w}`),x)G(w);$.forceRender()},V=(w)=>{B=w,L=!0,y(w,!0);let x=H(w);if(x)E.id=x.id,E.index=w,q.emit("focus:change",E),h(`Item ${w+1} of ${C()}`)},X=(w,x)=>{if(B=w,x)L=!0;let r=H(w);if(r&&z===r.id)z=void 0,D=-1;else z=r?.id,D=r?w:-1;if(y(w,x),z!==void 0&&r&&z===r.id)P.selected[0]=z,P.selected.length=1,P.items[0]=r,P.items.length=1,h(`Selected, item ${w+1} of ${C()}`);else P.selected.length=0,P.items.length=0,h("Deselected");q.emit("selection:change",P)},f=()=>{if(U.destroyed)return;if(!K.content.matches(":focus-visible"))return;let w=C();if(w===0)return;let x=B>=0?Math.min(B,w-1):0;x=Y(x,1,w),V(x)},l=(w)=>{if(U.destroyed)return;let x=w.relatedTarget;if(x&&K.root.contains(x))return;L=!1,K.content.removeAttribute("aria-activedescendant"),$.forceRender()};if(K.content.addEventListener("focusin",f),K.content.addEventListener("focusout",l),J)$.registerKeydownHandler((w)=>{if(U.destroyed)return;let x=C();if(x===0)return;let r=B,g=r;if(w.key===" "||w.key==="Enter"){if(r>=0){let K2=H(r);if(K2&&!K2.__groupHeader)X(r,!0)}w.preventDefault();return}let c=$.getNavConfig();if(c.navigate)switch(w.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":g=c.navigate(r,w.key,x);break;default:return}else{let K2=c.ud||1,Q2=c.lr,d=Z.axis.primary==="x";switch(w.key){case"ArrowUp":if(d&&!Q2)return;g=r-(d?Q2:K2);break;case"ArrowDown":if(d&&!Q2)return;g=r+(d?Q2:K2);break;case"ArrowLeft":if(!d&&!Q2)return;g=r-(d?K2:Q2);break;case"ArrowRight":if(!d&&!Q2)return;g=r+(d?K2:Q2);break;case"PageUp":case"PageDown":{let v=j.getSize(Math.max(0,c.scrollIndex?c.scrollIndex(r):r)),k=Math.max(1,Math.floor(U.containerSize/v))*K2;g=w.key==="PageUp"?r-k:r+k;break}case"Home":g=0;break;case"End":g=x-1;break;default:return}}if(g<0)g=0;else if(g>=x)g=x-1;if(w.preventDefault(),g=Y(g,g>=r?1:-1,x),g!==r)V(g)});$.registerClickHandler((w)=>{if(U.destroyed)return;let x=w.target.closest("[data-index]");if(!x)return;let r=parseInt(x.dataset.index??"-1",10);if(r<0)return;let g=H(r);if(!g||g.__groupHeader)return;L=!1,K.content.focus({preventScroll:!0}),X(r,!1)}),$.registerDestroyHandler(()=>{K.content.removeEventListener("focusin",f),K.content.removeEventListener("focusout",l)})}}}var o2=(Q,J,$)=>{if(String($).startsWith(f2))return!1;let K=f2+J;if(Q.has(K))return Q.delete(K),Q.add($),!0;return!1},M4=(Q)=>({selected:new Set(Q??[]),focusedIndex:-1,focusVisible:!1});function c2(Q,J,$,K){if($===0)return;let Z=K?-J:J,j=Q.focusedIndex+Z;if(j<0)j=0;if(j>=$)j=$-1;Q.focusedIndex=j}function K0(Q){return Array.from(Q)}var j6={preventScroll:!0};function O0(Q){let J=Q?.mode??"single",$=Q?.followFocus??!1,K=Q?.focusOnClick??!1,Z=Q?.keyboard??!0,j,U,q,_,W,B,L,z,D=-1,H=new Map,C=null,E=null,P=null,h=null,Y,G=!1;function y(R){if(G)return;G=!0,C=R.getMethod("_layoutToDataIndex")??null,E=R.getMethod("_dataToLayoutIndex")??null,P=R.getMethod("_isGroupHeader")??null,h=R.getMethod("_scrollItemIntoView")??null,X=R.getMethod("_getLoadedItem")??null;let a=R.getMethod("getGroupLayout");if(a){let n=a();Y=()=>n.totalEntries}}let V=(R)=>C?C(R):R,X=null,f=(R)=>{if(X)return X(R);return U()[R]},l=(R)=>{let a=V(R);return a>=0?f(a):void 0},w=(R,a,n)=>{if(!P)return R;let s=R;while(s>=0&&s<n){if(!P(s))return s;s+=a}s=R-a;while(s>=0&&s<n){if(!P(s))return s;s-=a}return R};function x(R,a){if(J==="single")j.selected.clear(),H.clear();if(j.selected.add(R),a)H.set(R,a)}function r(R,a){if(j.selected.has(R))j.selected.delete(R),H.delete(R);else x(R,a)}function g(){j.selected.clear(),H.clear()}function c(R){j.selected.delete(R),H.delete(R)}function K2(R,a){let n=Math.min(R,a),s=Math.max(R,a);for(let F=n;F<=s;F++){if(P?.(F))continue;let A=l(F);if(A)j.selected.add(A.id),H.set(A.id,A)}}function Q2(){let R=L.totalItems;for(let a=0;a<R;a++){if(P?.(a))continue;let n=l(a);if(n)j.selected.add(n.id),H.set(n.id,n)}}function d(){if(j.selected.size===0)return[];if(H.size>=j.selected.size){let s=[];for(let F of j.selected){let A=H.get(F);if(A)s.push(A)}if(s.length===j.selected.size)return s}let R=[],a=new Set(j.selected),n=L.totalItems;for(let s=0;s<n&&a.size>0;s++){if(P?.(s))continue;let F=l(s);if(F&&a.has(F.id))R.push(F),H.set(F.id,F),a.delete(F.id)}return R}function v(){q(),_.emit("selection:change",{selected:K0(j.selected),items:d()})}let S=null,k=-1;return{name:"selection",priority:50,setup(R){R.enableListboxRole(),j=M4(Q?.initial),U=R.getItems.bind(R),q=R.forceRender.bind(R),_=R.emitter,W=R.dom;let a=R.config;if(B=R.sizeCache,L=R.getState(),z=R.scrollTo.bind(R),Y=()=>L.totalItems,J==="none"){R.registerMethod("select",()=>{}),R.registerMethod("deselect",()=>{}),R.registerMethod("toggleSelect",()=>{}),R.registerMethod("selectAll",()=>{}),R.registerMethod("clearSelection",()=>{}),R.registerMethod("getSelected",()=>[]),R.registerMethod("getSelectedItems",()=>[]),R.registerMethod("selectNext",()=>{}),R.registerMethod("selectPrevious",()=>{}),R.registerMethod("_seedSelection",()=>{}),R.registerMethod("_getFocusedId",()=>{return}),R.registerMethod("_focusById",()=>{});return}let n=a.classPrefix;R.setItemStateFn((M,T)=>{if(y(R),j.selected.size>0){let O=V(M),m=O>=0?l(M):void 0,Z2=m?.id;if(Z2!==void 0)if(j.selected.has(Z2))T.selected=!0;else if(o2(j.selected,O,Z2))T.selected=!0,H.delete(f2+O),H.set(Z2,m);else T.selected=!1;else T.selected=!1}else T.selected=!1;T.focused=j.focusVisible&&j.focusedIndex===M}),R.registerMethod("_getSelectedIds",()=>j.selected),R.registerMethod("_getFocusedIndex",()=>j.focusVisible?j.focusedIndex:-1),W.root.classList.add(`${n}--selectable`);let s=(M)=>{S=null,k=-1;let T=M.target.closest("[data-index]");if(!T)return!1;let O=parseInt(T.dataset.index??"-1",10);if(O<0)return!1;if(P?.(O))return!1;if(V(O)<0)return!1;let Z2=l(O);if(!Z2)return!1;return S=Z2,k=O,!0},F=0,A=(M)=>{if(M<0)return;if(h){h(M);return}if(!F){let W2=R.getMethod("_getRowGap");F=W2?W2():0}let T=R.getNavConfig(),O=T.scrollIndex?T.scrollIndex(M):M,m=B.getOffset(O),Z2=B.getSize(O)-F,o=L.containerSize,J2=L.scrollPosition,t=a.startPadding,U2=a.endPadding;if(m<J2)z(m);else if(t+m+Z2+U2>J2+o)z(t+m+Z2+U2-o)},I=()=>{if(L.destroyed)return;if(y(R),!W.content.matches(":focus-visible")&&!W.root.matches(":focus-visible"))return;let M=Y();if(M===0)return;let T=j.focusedIndex>=0?Math.min(j.focusedIndex,M-1):0;T=w(T,1,M),j.focusedIndex=T,j.focusVisible=!0,W.content.setAttribute("aria-activedescendant",`${n}-item-${T}`),A(T),q()};W.root.addEventListener("focusin",I);let u=(M)=>{if(L.destroyed)return;let T=M.relatedTarget;if(T&&W.root.contains(T))return;j.focusVisible=!1,q(),W.content.removeAttribute("aria-activedescendant")};if(W.root.addEventListener("focusout",u),R.registerDestroyHandler(()=>{W.root.removeEventListener("focusin",I),W.root.removeEventListener("focusout",u)}),R.registerClickHandler((M)=>{if(y(R),!s(M))return;if(J==="multiple"&&M.shiftKey&&j.focusedIndex>=0){let O=D>=0?D:j.focusedIndex,m=V(O),Z2=V(k);if(m>=0&&Z2>=0)K2(O,k);j.focusedIndex=k,j.focusVisible=K,D=k,v();return}if(j.focusedIndex=k,j.focusVisible=K,D=k,(W.content.getAttribute("tabindex")!==null?W.content:W.root).focus(j6),J==="single")x(S.id,S);else r(S.id,S);v()}),Z)R.registerKeydownHandler((M)=>{y(R);let T=Y();if(T===0)return;let O=R.getNavConfig(),m=j.focusedIndex,Z2=!1,o=!1;if(O.navigate&&(M.key==="ArrowUp"||M.key==="ArrowDown"||M.key==="ArrowLeft"||M.key==="ArrowRight"||M.key==="PageUp"||M.key==="PageDown"||M.key==="Home"||M.key==="End")){let t=O.navigate(j.focusedIndex,M.key,T);if(t!==j.focusedIndex)j.focusedIndex=Math.max(0,Math.min(t,T-1));j.focusVisible=!0,Z2=!0}else switch(M.key){case"ArrowUp":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(W2&&!U2)break;c2(j,-(W2?U2:t),T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowDown":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(W2&&!U2)break;c2(j,W2?U2:t,T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowLeft":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(!W2&&!U2)break;c2(j,-(W2?t:U2),T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowRight":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(!W2&&!U2)break;c2(j,W2?t:U2,T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"Home":if(T>0)j.focusedIndex=0;j.focusVisible=!0,Z2=!0;break;case"End":if(T>0)j.focusedIndex=T-1;j.focusVisible=!0,Z2=!0;break;case"PageUp":case"PageDown":{let t=O.ud||1,U2=Math.max(0,j.focusedIndex),W2=O.scrollIndex?O.scrollIndex(U2):U2,L2=B.getSize(W2),p=L.containerSize,i=(L2>0?Math.max(1,Math.floor(p/L2)):10)*t;if(C&&E){let Y2=C(j.focusedIndex),M2=M.key==="PageUp"?-i:i,_2=L.totalItems-1;j.focusedIndex=E(Math.max(0,Math.min(_2,Y2+M2)))}else c2(j,M.key==="PageUp"?-i:i,T);j.focusVisible=!0,Z2=!0;break}case" ":case"Enter":if(M.key===" "&&M.shiftKey&&J==="multiple"&&j.focusedIndex>=0){if(D>=0){let t=V(D),U2=V(j.focusedIndex);if(t>=0&&U2>=0)K2(D,j.focusedIndex)}j.focusVisible=!0,o=!0,Z2=!0;break}if(j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)r(t.id,t),D=j.focusedIndex;j.focusVisible=!0,o=!0,Z2=!0}break;case"a":if((M.ctrlKey||M.metaKey)&&J==="multiple"){if(j.selected.size===L.totalItems)g();else Q2();j.focusVisible=!0,o=!0,Z2=!0}break;case"Delete":case"Backspace":if(j.selected.size>0)_.emit("delete",{selected:K0(j.selected),items:d()}),Z2=!0;break}if(j.focusedIndex!==m&&P){let t=j.focusedIndex>m?1:-1;j.focusedIndex=w(j.focusedIndex,t,T)}let J2=j.focusedIndex!==m;if(M.shiftKey&&J==="multiple"&&!o&&J2){if(M.key==="ArrowUp"||M.key==="ArrowDown"||M.key==="ArrowLeft"||M.key==="ArrowRight"){let W2=l(j.focusedIndex);if(W2)r(W2.id,W2);D=j.focusedIndex,o=!0}if((M.ctrlKey||M.metaKey)&&(M.key==="Home"||M.key==="End")){let W2=m>=0?m:j.focusedIndex,L2=V(W2),p=V(j.focusedIndex);if(L2>=0&&p>=0)K2(W2,j.focusedIndex);D=j.focusedIndex,o=!0}}if($&&J==="single"&&!o&&J2&&j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)x(t.id,t);o=!0}if(Z2){if(M.preventDefault(),J2&&j.focusedIndex>=0)A(j.focusedIndex),W.content.setAttribute("aria-activedescendant",`${n}-item-${j.focusedIndex}`);if(o)v();else if(J2){if(q(),j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)_.emit("focus:change",{id:t.id,index:j.focusedIndex})}}}});R.registerMethod("select",(...M)=>{for(let T of M)x(T);v()}),R.registerMethod("deselect",(...M)=>{for(let T of M)c(T);v()}),R.registerMethod("toggleSelect",(M)=>{r(M),v()}),R.registerMethod("selectAll",()=>{if(J!=="multiple")return;Q2(),v()}),R.registerMethod("clearSelection",()=>{g(),v()}),R.registerMethod("getSelected",()=>{return K0(j.selected)}),R.registerMethod("getSelectedItems",()=>{return d()}),R.registerMethod("selectNext",()=>{y(R);let M=Y();if(M===0)return;if(c2(j,1,M,a.reverse),P)j.focusedIndex=w(j.focusedIndex,1,M);let T=l(j.focusedIndex);if(T)x(T.id,T);v()}),R.registerMethod("selectPrevious",()=>{y(R);let M=Y();if(M===0)return;if(c2(j,-1,M,a.reverse),P)j.focusedIndex=w(j.focusedIndex,-1,M);let T=l(j.focusedIndex);if(T)x(T.id,T);v()}),R.registerMethod("_seedSelection",(M)=>{for(let T of M)j.selected.add(T)}),R.registerMethod("_isFollowFocus",()=>$),R.registerMethod("_getFocusedId",()=>{if(j.focusedIndex<0)return;return l(j.focusedIndex)?.id}),R.registerMethod("_focusById",(M)=>{let T=L.totalItems;for(let O=0;O<T;O++){if(P?.(O))continue;let m=l(O);if(m&&m.id===M){j.focusedIndex=O,j.focusVisible=K,_.emit("focus:change",{id:M,index:O});return}}})},destroy(){H.clear()}}}var U0=(Q)=>Q==null?0:typeof Q==="function"?Q():Q;function L0(Q){let J=Q?.scrollPadding,$,K;return{name:"page",priority:5,setup(Z){let{dom:j,sizeCache:U,config:q,emitter:_}=Z,W=q.axis.primary==="x",B=window,L=Z.getState();if(Z.disableDefaultScroll(),Z.disableDefaultResize(),j.root.style.overflow="visible",j.root.style.height="auto",W)j.viewport.style.overflowX="visible",j.viewport.style.overflowY="visible";else j.viewport.style.overflow="visible";j.viewport.classList.remove(`${q.classPrefix}-viewport--custom-scrollbar`),Z.setScrollFns(()=>{let P=j.viewport.getBoundingClientRect();return Math.max(0,W?-P.left:-P.top)},(P)=>{let h=j.viewport.getBoundingClientRect(),Y=(W?h.left+B.scrollX:h.top+B.scrollY)+P;if(W)B.scrollTo({left:Y,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:Y,behavior:"instant"})}),L.containerSize=W?B.innerWidth:B.innerHeight,L.crossSize=W?B.innerHeight:B.innerWidth;let z=null,D=()=>{let P=j.viewport.getBoundingClientRect(),h=Math.max(0,W?-P.left:-P.top);if(L.prevScrollPosition=L.scrollPosition,L.scrollPosition=h,L.scrollDirection=h>L.prevScrollPosition?1:h<L.prevScrollPosition?-1:0,Z.onScrollFrame(),z!==null)clearTimeout(z);z=setTimeout(()=>{z=null,Z.onScrollIdle()},150)};B.addEventListener("scroll",D,{passive:!0}),K=()=>B.removeEventListener("scroll",D);let{innerWidth:H,innerHeight:C}=B,E=()=>{let{innerWidth:P,innerHeight:h}=B;if((W?Math.abs(P-H):Math.abs(h-C))<1)return;H=P,C=h,L.containerSize=W?P:h,L.crossSize=W?h:P,Z.forceRender(),_.emit("resize",{width:P,height:h})};if(B.addEventListener("resize",E),$=()=>B.removeEventListener("resize",E),J)Z.setScrollToPosFn((P,h,Y,G,y)=>{let V=U0(W?J.left:J.top),X=U0(W?J.right:J.bottom);if(G===0)return 0;let f=Math.max(0,Math.min(P,G-1)),l=h.getOffset(f),w=h.getSize(f),x=h.getTotalSize(),r=Math.max(0,x-Y+X),g;switch(y){case"center":g=l-V-(Y-V-X-w)/2;break;case"end":g=l-Y+w+X;break;default:g=l-V}return Math.max(-V,Math.min(g,r))}),Z.registerMethod("_scrollItemIntoView",(P)=>{let h=W?B.innerWidth:B.innerHeight,Y=U0(W?J.left:J.top),G=U0(W?J.right:J.bottom),y=j.viewport.getBoundingClientRect(),V=W?B.scrollX:B.scrollY,X=W?y.left:y.top,f=X+V,l=U.getOffset(P),w=U.getSize(P),x=X+l,r=h-G,g=V;if(x<Y)g=f+l-Y;else if(x+w>r)g=f+l+w-r;if(g!==V)if(W)B.scrollTo({left:g,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:g,behavior:"instant"})});Z.registerDestroyHandler(()=>{if(K?.(),$?.(),z!==null)clearTimeout(z)})},destroy(){K?.(),$?.(),K=void 0,$=void 0}}}var Z6=(Q)=>{try{let J=sessionStorage.getItem(Q);if(!J)return;return JSON.parse(J)}catch{return}};function i2(Q){let J=Q?.autoSave,$=J?Z6(J):Q?.restore,K=!1,Z=null;return{name:"snapshots",priority:50,setup(j){let{sizeCache:U,emitter:q}=j,_=j.getState(),W=()=>{let{scrollPosition:z,totalItems:D}=_,C=j.getMethod("getSelected")?.();if(D===0){let X={index:0,offsetInItem:0,total:0};if(C?.length)X.selectedIds=C;return X}let E,P;if(_.isCompressed&&_.compressionRatio!==1){let X=_.totalSize,l=z/X*D;E=Math.max(0,Math.min(Math.floor(l),D-1)),P=(l-E)*U.getSize(E)}else E=U.indexAtOffset(z),P=z-U.getOffset(E);P=Math.max(0,P);let h={index:E,offsetInItem:P,total:D,scrollTop:z},Y=U.getSize(E);if(Y)h.offsetRatio=P/Y;let G=j.getMethod("_layoutToDataIndex");if(G){let X=G(E);if(X<0){for(let f=E+1;f<D;f++)if(X=G(f),X>=0)break}if(X>=0)h.dataIndex=X}let y=j.getMethod("_getTotal");if(y)h.dataTotal=y();if(C?.length)h.selectedIds=C;let V=j.getMethod("_getFocusedId");if(V){let X=V();if(X!==void 0)h.focusedId=X}return h};j.registerMethod("getScrollSnapshot",W);let B=(z,D=!0)=>{let{index:H,offsetInItem:C,selectedIds:E,focusedId:P}=z,h=_.totalItems,Y=z.dataTotal??z.total;if(h===0&&Y&&Y>0){let Q2=j.getMethod("_setTotal");if(Q2)Q2(Y),h=_.totalItems;U.rebuild(h);let d=j.getMethod("_updateCompressionMode");if(d)d();if(!_.isCompressed)j.updateContentSize(U.getTotalSize()),_.totalSize=U.getTotalSize()}if(h===0)return Promise.resolve();if(!Number.isFinite(H)||!Number.isFinite(C))return Promise.resolve();if(U.getTotal()===0){U.rebuild(h);let Q2=j.getMethod("_updateCompressionMode");if(Q2)Q2();if(!_.isCompressed)j.updateContentSize(U.getTotalSize()),_.totalSize=U.getTotalSize()}let y=j.getMethod("_dataToLayoutIndex"),V=H;if(z.dataIndex!==void 0&&z.dataIndex>=0)V=y?y(z.dataIndex):z.dataIndex;else if(y)V=y(H);let X=Math.max(0,Math.min(V,h-1)),f=U.getSize(X),l=z.offsetRatio!==void 0?z.offsetRatio*f:Math.min(C,f),w=j.getMethod("_getTotal")?.(),x=z.total===h||w!==void 0&&z.dataTotal===w,r;if(_.isCompressed&&_.compressionRatio!==1)if(z.scrollTop!==void 0&&x)r=z.scrollTop;else{let Q2=f?l/f:0;r=(X+Q2)/h*_.totalSize}else if(z.scrollTop!==void 0&&x)r=z.scrollTop;else r=U.getOffset(X)+l;let g=Math.max(0,_.totalSize-_.containerSize);if(r=Math.max(0,Math.min(r,g)),j.scrollTo(r),D&&E?.length){let Q2=j.getMethod("select");if(Q2)Q2(...E)}let c=j.getMethod("loadVisibleRange"),K2=()=>{if(P===void 0)return;let Q2=j.getMethod("_focusById");if(Q2)Q2(P)};return new Promise((Q2)=>{let d=(v)=>{if(v)K2();Q2()};if(c){let v=0,S=()=>{if(_.containerSize>0){if(Math.abs(_.scrollPosition-r)>1)j.scrollTo(r);c().then(()=>d(!0),()=>d(!1))}else if(++v<10)requestAnimationFrame(S);else d(!1)};requestAnimationFrame(S)}else{let v=j.getMethod("reload");if(v)requestAnimationFrame(()=>{v().then(()=>d(!0),()=>d(!1))});else requestAnimationFrame(()=>d(!0))}})};j.registerMethod("restoreScroll",B);let L=!!($&&J);if(j.registerDestroyHandler(()=>{K=!0}),J){Z=()=>{if(K||L)return;let h=W();try{sessionStorage.setItem(J,JSON.stringify(h))}catch{}},j.registerMethod("_saveSnapshot",Z);let z=0,D=()=>{if(z)return;z=requestAnimationFrame(()=>{if(z=0,Z)Z()})};q.on("selection:change",D),q.on("focus:change",D);let H=0,C=()=>{if(H=0,Z)Z()},E=()=>{if(H)clearTimeout(H);H=setTimeout(C,300)};q.on("scroll",E);let P=()=>{Z?.()};if(window.addEventListener("beforeunload",P),j.registerDestroyHandler(()=>{if(z)cancelAnimationFrame(z);if(H)clearTimeout(H);window.removeEventListener("beforeunload",P)}),$&&$.total&&$.total>0){let h=j.getMethod("_cancelAutoLoad");if(h)h();let Y=j.getMethod("_setTotal");if(Y)Y($.total)}}if($){let z=!0;if($.selectedIds?.length){let D=j.getMethod("_seedSelection");if(D)D($.selectedIds),z=!1}queueMicrotask(()=>{if(B($,z),L=!1,Z)Z()})}},hooks:{onIdle(){if(Z&&!K)Z()}},destroy(){K=!0,Z=null}}}function D4(Q,J){if(J===!1)return null;return{duration:Math.min(J?.duration??Q.duration,1000),easing:J?.easing??Q.easing}}function F0(Q){let J=Q?.duration??200,$=Q?.easing??"cubic-bezier(0.2, 0, 0, 1)",K={duration:J,easing:$},Z=D4(K,Q?.remove),j=D4(K,Q?.insert),U=null,q=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(_){let{sizeCache:W,emitter:B}=_,L=_.config,z=_.dom,D=_.getState(),H=L.reverse?"bottom center":"top center",C=L.axis.primary==="x"?"translateX":"translateY",E=_.getMethod("_dataToLayoutIndex")??null,P=(G)=>E?E(G):G,h=(G)=>{let y=String(G).replace(/"/g,"\\\""),V=z.content.querySelector(`[data-id="${y}"]`),X=V?parseInt(V.dataset.index??"-1",10):-1;return{el:V,layoutIndex:X}},Y=()=>{let G=z.content.children;for(let y=0;y<G.length;y++)G[y].style.transition="none";z.content.offsetHeight;for(let y=0;y<G.length;y++)G[y].style.transition=""};if(Z){let G=(V)=>{if(U)U();let X=typeof document<"u"?document.activeElement:null,f=X&&z.content.contains(X)?parseInt(X.dataset?.index??"-1",10):-1,l=h(V),w=l.layoutIndex,x=l.el,r=w>=0?W.getSize(w):0,g=w>=0?W.getOffset(w):0;if(!x||w<0){if(_.removeItemById(V)<0)return!1;if(_.forceRender(),Y(),B.emit("data:change",{type:"remove",id:V}),f>=0){let u=D.totalItems;if(u>0)_.getRenderedElement(Math.min(f,u-1))?.focus()}return B.emit("remove:end",{id:V}),!0}let c=x.cloneNode(!0);c.style.pointerEvents="none",c.style.overflow="hidden",c.removeAttribute("data-index"),c.removeAttribute("data-id"),c.removeAttribute("id"),c.removeAttribute("aria-selected"),c.classList.remove(`${L.classPrefix}-item--selected`);let K2=L.axis.primary==="x"?"scrollLeft":"scrollTop",Q2=z.viewport[K2];if(_.removeItemById(V)<0)return!1;_.forceRender(),Y(),B.emit("data:change",{type:"remove",id:V});let v=Q2-z.viewport[K2];c.style.zIndex="1",z.content.appendChild(c);let S=Z,k={duration:S.duration,easing:S.easing},R=[],a=Math.round(g-v);R.push(c.animate([{transform:`${C}(${a}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${C}(${Math.round(g)}px) scaleY(0)`,opacity:0,transformOrigin:H}],k));let n=v>0,s=z.content.children;for(let I=0;I<s.length;I++){let u=s[I];if(u===c)continue;let M=parseInt(u.dataset?.index??"-1",10);if(M<0||!n&&M<w)continue;let T=W.getOffset(M),O=M>=w?Math.round(T+r-v):Math.round(T-v),m=Math.round(T);if(O===m)continue;R.push(u.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],k))}let F=!1,A=()=>{if(F)return;F=!0,U=null,c.remove();for(let I of R)if(I.playState!=="finished")I.cancel();if(f>=0){let I=D.totalItems;if(I>0)_.getRenderedElement(Math.min(f,I-1))?.focus()}B.emit("remove:end",{id:V})};return U=A,Promise.all(R.map((I)=>I.finished)).then(A,A),setTimeout(A,S.duration+50),!0},y=(V)=>{if(V.length===0)return 0;if(V.length===1)return G(V[0])?1:0;if(U)U();if(q)q();let X=typeof document<"u"?document.activeElement:null,f=X&&z.content.contains(X)?parseInt(X.dataset?.index??"-1",10):-1,l=[];for(let F of V){let A=h(F);l.push({id:F,layoutIndex:A.layoutIndex,el:A.el,size:A.layoutIndex>=0?W.getSize(A.layoutIndex):0,offset:A.layoutIndex>=0?W.getOffset(A.layoutIndex):0})}l.sort((F,A)=>A.layoutIndex-F.layoutIndex);let w=[];for(let F of l){if(!F.el||F.layoutIndex<0)continue;let A=F.el.cloneNode(!0);A.style.pointerEvents="none",A.style.overflow="hidden",A.removeAttribute("data-index"),A.removeAttribute("data-id"),A.removeAttribute("id"),A.removeAttribute("aria-selected"),A.classList.remove(`${L.classPrefix}-item--selected`),w.push({clone:A,offset:F.offset,size:F.size,layoutIndex:F.layoutIndex})}let x=new Map,r=z.content.children;for(let F=0;F<r.length;F++){let A=r[F],I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(I&&u>=0)x.set(I,W.getOffset(u))}let g=L.axis.primary==="x"?"scrollLeft":"scrollTop",c=z.viewport[g],K2=[];for(let F of l)if(_.removeItemById(F.id)>=0)K2.push(F.id);if(K2.length===0)return 0;_.forceRender(),Y();for(let F of K2)B.emit("data:change",{type:"remove",id:F});if(w.length===0){if(f>=0){let F=D.totalItems;if(F>0)_.getRenderedElement(Math.min(f,F-1))?.focus()}for(let F of K2)B.emit("remove:end",{id:F});return K2.length}let Q2=c-z.viewport[g],d=Z,v={duration:d.duration,easing:d.easing},S=[];w.sort((F,A)=>F.layoutIndex-A.layoutIndex);let k=0;for(let F of w){F.clone.style.zIndex="1",z.content.appendChild(F.clone);let A=Math.round(F.offset-Q2),I=Math.round(F.offset-k);S.push(F.clone.animate([{transform:`${C}(${A}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${C}(${I}px) scaleY(0)`,opacity:0,transformOrigin:H}],v)),k+=F.size}let R=new Set(w.map((F)=>F.clone)),a=z.content.children;for(let F=0;F<a.length;F++){let A=a[F];if(R.has(A))continue;let I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(!I||u<0)continue;let M=x.get(I);if(M===void 0)continue;let T=W.getOffset(u),O=Math.round(M-Q2),m=Math.round(T);if(O===m)continue;S.push(A.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],v))}let n=!1,s=()=>{if(n)return;n=!0,U=null;for(let{clone:F}of w)F.remove();for(let F of S)if(F.playState!=="finished")F.cancel();if(f>=0){let F=D.totalItems;if(F>0)_.getRenderedElement(Math.min(f,F-1))?.focus()}for(let F of K2)B.emit("remove:end",{id:F})};return U=s,Promise.all(S.map((F)=>F.finished)).then(s,s),setTimeout(s,d.duration+50),K2.length};_.registerMethod("removeItem",G),_.registerMethod("removeItems",y)}if(j){let G=(y,V)=>{if(q)q();if(U)U();let X=V??0,f=new Map,l=z.content.children;for(let F=0;F<l.length;F++){let A=l[F],I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(I&&u>=0)f.set(I,W.getOffset(u))}let w=L.axis.primary==="x"?"scrollLeft":"scrollTop",x=L.axis.primary==="x"?"scrollWidth":"scrollHeight",r=L.axis.primary==="x"?"clientWidth":"clientHeight",g=z.viewport[w],c=z.viewport[x]-z.viewport[r],K2=g>=c-1;_.insertItemAt(y,X),_.forceRender(),Y(),B.emit("data:change",{type:"insert",id:y.id});let Q2=z.viewport[w]-g,d=P(X);if(L.reverse&&Q2===0&&K2){z.viewport[w]=z.viewport[x]-z.viewport[r];let F=z.viewport[w];if(D.prevScrollPosition=D.scrollPosition,D.scrollPosition=F,Q2=F-g,Q2>0)_.forceRender(),Y()}let v=_.getRenderedElement(d),S=j,k={duration:S.duration,easing:S.easing},R=[];if(v){let F=W.getOffset(d);R.push(v.animate([{transform:`${C}(${Math.round(F)}px) scaleY(0)`,opacity:0,transformOrigin:H},{transform:`${C}(${Math.round(F)}px) scaleY(1)`,opacity:1,transformOrigin:H}],k))}let a=z.content.children;for(let F=0;F<a.length;F++){let A=a[F];if(A===v)continue;let I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(!I||u<0)continue;let M=f.get(I);if(M===void 0)continue;let T=W.getOffset(u),O=Math.round(M+Q2),m=Math.round(T);if(O===m)continue;R.push(A.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],k))}if(R.length===0)return;let n=!1,s=()=>{if(n)return;n=!0,q=null;for(let F of R)if(F.playState!=="finished")F.cancel()};q=s,Promise.all(R.map((F)=>F.finished)).then(s,s),setTimeout(s,S.duration+50)};_.registerMethod("insertItem",G)}},destroy(){if(U)U();if(q)q()}}}function E0(Q){let J=Q?.gap??0,$=null,K=null,Z,j,U,q,_=new Map,W=new WeakMap,B=0,L=!1,z=!1,D=!1,H=2;function C(Y){return _.get(Y)??q}function E(){let Y=K.dom.viewport,G=Y.scrollHeight-Y.clientHeight;return G>0&&Z.scrollPosition>=G-H}function P(){let Y=K.dom.viewport;Y.scrollHeight;let G=Y.scrollHeight-Y.clientHeight;if(G>Z.scrollPosition)K.scrollTo(G)}function h(){K.updateContentSize(K.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(Y){if(K=Y,Z=Y.getState(),j=Y.config.axis.primary==="x",U=j?"width":"height",J===0)J=Y.config.gap;if(q=typeof Y.rawSizeSpec==="function"?Y.rawSizeSpec(0)+J:Y.rawSizeSpec+J,Y.setSizeConfig(C),J>0){let V=Y.sizeCache.getTotalSize;Y.sizeCache.getTotalSize=()=>{let X=V();return X>0?X-J:0}}$=new ResizeObserver((V)=>{if(Z.destroyed||!K)return;let X=!1,f=Y.sizeCache.indexAtOffset(Z.scrollPosition);for(let g of V){let c=g.target,K2=W.get(c);if(K2===void 0)continue;if(c.getAttribute("data-index")!==String(K2)){$.unobserve(c);continue}if(_.has(K2))continue;let Q2=g.borderBoxSize[0];if(!Q2)continue;let d=j?Q2.inlineSize:Q2.blockSize;if(d<=0)continue;let v=d+J,S=q;if(_.set(K2,v),X=!0,K2<f&&v!==S)B+=v-S;$.unobserve(c),c.style[U]=`${d}px`}if(!X)return;let l=E();if(Y.rebuildSizeCache(),B)Y.scrollTo(Z.scrollPosition+B),B=0;let w=Z.scrollDirection!==0,x=Z.totalItems>0&&Z.prevRangeEnd>=Z.totalItems-1,r=z&&!D;if(r||l||x||!w){if(h(),L=!1,r||l)P()}else L=!0;Y.forceRender()}),Y.setScrollToIndexFn((V,X,f,l,w)=>{let x=V>=Z.totalItems-1&&X==="end";if(z=x,D=!1,!x)return!1;let r=Y.config.mainAxisPadding,g=()=>{let c=Y.sizeCache.getTotalSize();return Math.max(0,c+r-Z.containerSize)};if(f==="smooth")D=!0,Y.smoothScrollTo(g,l??300,w,()=>{D=!1});else Y.scrollTo(g())});let G=()=>{z=!1},y=Y.dom.viewport;y.addEventListener("wheel",G,{passive:!0}),y.addEventListener("touchstart",G,{passive:!0}),Y.registerDestroyHandler(()=>{y.removeEventListener("wheel",G),y.removeEventListener("touchstart",G)}),Y.registerMethod("isMeasured",(V)=>_.has(V)),Y.registerMethod("setMeasuredSize",(V,X)=>{_.set(V,X)}),Y.registerMethod("getMeasuredCount",()=>_.size),Y.registerDestroyHandler(()=>{if($)$.disconnect(),$=null})},hooks:{onCommit(Y){if(!$||!K)return;for(let G=0;G<Y.visibleCount;G++){let y=Y.visibleIndices[G];if(_.has(y))continue;let V=K.getRenderedElement(y);if(!V)continue;V.style[U]="",W.set(V,y),$.observe(V)}},onIdle(){if(!K||!L)return;let Y=E();if(h(),L=!1,Y)P(),K.forceRender()}},destroy(){if($)$.disconnect(),$=null;_.clear(),z=!1,D=!1,K=null}}}var G4=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),$=Q.gap??0,K=Q.containerSize,Z=Q.crossOffset??0,j=Q.mainOffset??0,U=0,q=[],_=()=>{let P=(J-1)*$;U=Math.max(0,(K-P)/J),q=Array(J);let h=U+$;for(let Y=0;Y<J;Y++)q[Y]=Z+Y*h};_();let W=[],B=0,L=[],z=(P,h)=>{if(P<=0)return B=0,W=[],[];let Y=Array(J).fill(j),G=Array(J);for(let X=0;X<J;X++)G[X]=[];let y=Array(P);for(let X=0;X<P;X++){let f=0,l=Y[0];for(let r=1;r<J;r++){let g=Y[r];if(g<l)l=g,f=r}let w=h(X),x=Y[f];y[X]={index:X,x:q[f],y:x,lane:f,size:w,crossSize:U},G[f].push(X),Y[f]=x+w+$}W=G;let V=0;for(let X=0;X<J;X++){let f=Y[X],l=f>0?f-$:0;if(l>V)V=l}return B=V,y},D=(P)=>{if(P.length===0)return B;if(B)return B;let h=Array(J).fill(0);for(let G of P){let y=G.y+G.size,V=h[G.lane];if(y>V)h[G.lane]=y}let Y=0;for(let G=0;G<J;G++)if(h[G]>Y)Y=h[G];return Y},H=(P,h,Y)=>{if(P.length===0||Y<=h)return L.length=0,L;if(W.length===0||W.length!==J)return C(P,h,Y);L.length=0;for(let G=0;G<J;G++){let y=W[G],V=y.length;if(!V)continue;let X=0,f=V;while(X<f){let l=X+f>>>1,w=P[y[l]];if(w.y+w.size<=h)X=l+1;else f=l}for(let l=X;l<V;l++){let w=P[y[l]];if(w.y>=Y)break;L.push(w)}}return L},C=(P,h,Y)=>{L.length=0;for(let G of P)if(G.y+G.size>h&&G.y<Y)L.push(G);return L};return{get columns(){return J},get gap(){return $},get containerSize(){return K},update:(P)=>{let h=!1;if(P.columns!==void 0){let Y=Math.max(1,Math.floor(P.columns));if(Y!==J)J=Y,h=!0}if(P.gap!==void 0&&P.gap!==$)$=P.gap,h=!0;if(P.containerSize!==void 0&&P.containerSize!==K)K=P.containerSize,h=!0;if(P.crossOffset!==void 0&&P.crossOffset!==Z)Z=P.crossOffset,h=!0;if(P.mainOffset!==void 0&&P.mainOffset!==j)j=P.mainOffset,h=!0;if(h)_()},calculateLayout:z,getTotalSize:D,getVisibleItems:H}};var A4=(Q,J,$)=>{let K=Array.from(J).sort((U,q)=>U-q);if(K.length<=1)return;let Z=[];for(let U=0;U<K.length;U++){let q=$(K[U]);if(q)Z.push(q)}if(Z.length<=1)return;let j=Q.firstChild;for(let U=0;U<Z.length;U++){let q=Z[U];if(q===j)j=j.nextSibling;else Q.insertBefore(q,j)}};var K6=(Q=200)=>{let J=[];return{acquire:()=>{let j=J.pop();if(j)return j;let U=document.createElement("div");return U.setAttribute("role","option"),U},release:(j)=>{if(j.remove(),J.length<Q)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-lane"),J.push(j)},clear:()=>{J.length=0}}},U6=1,H4=(Q,J,$,K=!1,Z,j,U,q)=>{let _=K6(),W=new Map,B=new Set,L=0,z="",D=-1,H={selected:!1,focused:!1},C=(c,K2)=>{return H.selected=c,H.focused=K2,H},E=`${$}-item ${$}-masonry-item`,P=`${$}-group-header`,h=`${$}-item--selected`,Y=`${$}-item--focused`,G=(c,K2)=>{if(typeof K2==="string")c.innerHTML=K2;else c.replaceChildren(K2);u2(c)},y=(c,K2,Q2)=>{c.classList.toggle(h,K2),c.classList.toggle(Y,Q2)},V=(c,K2)=>{if(K)c.style.transform=`translate(${Math.round(K2.y)}px, ${Math.round(K2.x)}px)`;else c.style.transform=`translate(${Math.round(K2.x)}px, ${Math.round(K2.y)}px)`},X=(c,K2)=>{if(K)c.style.width=`${K2.size}px`,c.style.height=`${K2.crossSize}px`;else c.style.width=`${K2.crossSize}px`,c.style.height=`${K2.size}px`},f=(c,K2,Q2,d,v)=>{let S=_.acquire(),k=K2.__groupHeader,R=C(d,v);if(S.className=k?P:E,S.dataset.index=String(c),S.dataset.id=String(K2.id),S.dataset.lane=String(Q2.lane),k)S.setAttribute("role","presentation"),S.removeAttribute("aria-selected"),S.removeAttribute("aria-setsize"),S.removeAttribute("aria-posinset"),S.removeAttribute("id");else if(q===!0){if(S.setAttribute("role","option"),S.ariaSelected=String(d),j)S.id=`${j}-item-${c}`;if(Z){let n=Z();if(n!==D)D=n,z=String(n);S.setAttribute("aria-setsize",z);let s=U?U(c):c+1;S.setAttribute("aria-posinset",String(s))}}else if(S.setAttribute("role","listitem"),S.removeAttribute("aria-selected"),Z){let n=Z();if(n!==D)D=n,z=String(n);S.setAttribute("aria-setsize",z);let s=U?U(c):c+1;S.setAttribute("aria-posinset",String(s))}X(S,Q2);let a=J(K2,c,R);return G(S,a),y(S,d,v),V(S,Q2),{element:S,lastItem:K2,lastSelected:d,lastFocused:v,lastY:Q2.y,lastX:Q2.x,lastSize:Q2.size,lastCrossSize:Q2.crossSize,lastSeenFrame:L}},l=(c,K2,Q2,d)=>{L++,B.clear();for(let S=0;S<K2.length;S++)B.add(K2[S].index);let v=null;for(let S=0;S<K2.length;S++){let k=K2[S],R=k.index,a=c(R);if(!a)continue;let n=Q2.has(a.id),s=R===d,F=W.get(R);if(F){let A=F.lastItem!==a,I=F.lastSelected!==n,u=F.lastFocused!==s,M=F.lastY!==k.y||F.lastX!==k.x,T=F.lastSize!==k.size||F.lastCrossSize!==k.crossSize;if(A){let O=C(n,s),m=J(a,R,O);if(G(F.element,m),F.element.dataset.id=String(a.id),F.lastItem=a,!a.__groupHeader){let o=U?U(R):R+1;F.element.setAttribute("aria-posinset",String(o))}}if(A||I||u)y(F.element,n,s),F.element.ariaSelected=String(n),F.lastSelected=n,F.lastFocused=s;if(T)X(F.element,k),F.lastSize=k.size,F.lastCrossSize=k.crossSize;if(M)V(F.element,k),F.lastY=k.y,F.lastX=k.x}else{let A=f(R,a,k,n,s);if(!v)v=document.createDocumentFragment();v.appendChild(A.element),W.set(R,A)}}if(v)Q.appendChild(v);for(let[S,k]of W)if(B.has(S))k.lastSeenFrame=L;else if(L-k.lastSeenFrame>U6)_.release(k.element),W.delete(S)},w=()=>{for(let c of W.values())_.release(c.element);W.clear(),Q.innerHTML=""};return{render:l,getElement:(c)=>W.get(c)?.element,updateItemClasses:(c,K2,Q2)=>{let d=W.get(c);if(!d)return;let v=d.lastSelected!==K2,S=d.lastFocused!==Q2;if(v||S)y(d.element,K2,Q2),d.lastSelected=K2,d.lastFocused=Q2},sortDOM:()=>{A4(Q,W.keys(),(c)=>W.get(c)?.element)},clear:w,destroy:()=>{w(),_.clear()}}};var q6=100,Y6=new Set;function R0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,$=null,K,Z=null,j,U,q,_=[],W=-1,B=-1,L=!0,z=-1,D=0,H=0,C=0,E=0,P={columnWidth:0,columns:0,gap:0,containerWidth:0},h=[],Y=(I)=>h[I],G=null,y=null,V=!1;function X(){if(V||!Z)return;V=!0,G=Z.getMethod("_getSelectedIds")??null,y=Z.getMethod("_getFocusedIndex")??null}let f=[],l=new Int32Array(0),w=[],x=null,r=null,g=null,c=null,K2=!1,Q2=!0;function d(){if(K2||!Z)return;if(x=Z.getMethod("_getItemLane")??null,r=Z.getMethod("_getItemY")??null,g=Z.getMethod("_getItemH")??null,c=Z.getMethod("_isGroupHeader")??null,x||c)K2=!0}function v(){d();let I=J.columns,u=!!x;if(u){let M=K.totalItems;f=Array(I);for(let T=0;T<I;T++)f[T]=[];if(l.length<M)l=new Int32Array(M);for(let T=0;T<M;T++){if(c?.(T))continue;let O=x(T);if(O<0||O>=I)continue;l[T]=f[O].length,f[O].push(T)}}else{let M=_.length;f=Array(I);for(let T=0;T<I;T++)f[T]=[];if(l.length<M)l=new Int32Array(M);for(let T=0;T<M;T++){let O=_[T];l[T]=f[O.lane].length,f[O.lane].push(T)}}w=Array(I);for(let M=0;M<I;M++){let T=f[M],O=new Float64Array(T.length);for(let m=0;m<T.length;m++){let Z2=T[m];if(u&&r&&g){let o=r(Z2),J2=g(Z2);O[m]=o>=0?o+(J2>0?J2*0.5:0):0}else{let o=_[Z2];O[m]=o.y+o.size*0.5}}w[M]=O}}function S(I,u){let M=I.length;if(!M)return-1;let T=0,O=M-1;while(T<O){let m=T+O>>1;if(I[m]<u)T=m+1;else O=m}if(T>0&&Math.abs(I[T-1]-u)<=Math.abs(I[T]-u))return T-1;return T}function k(I,u,M){if(Q2)v(),Q2=!1;let T=!!x,O,m;if(T){if(c?.(I))return I;if(O=x(I),O<0)return I;m=l[I]}else{let t=_[I];if(!t)return I;O=t.lane,m=l[I]}let Z2=J.columns,o=f[O];switch(j?u==="ArrowDown"?"ArrowRight":u==="ArrowUp"?"ArrowLeft":u==="ArrowRight"?"ArrowDown":u==="ArrowLeft"?"ArrowUp":u:u){case"ArrowDown":if(m+1<o.length)return o[m+1];return I;case"ArrowUp":if(m>0)return o[m-1];return I;case"ArrowRight":{if(O>=Z2-1)return I;let t=O+1,U2=f[t];if(!U2.length)return I;let W2=S(w[t],w[O]?.[m]??0);return W2>=0?U2[W2]:I}case"ArrowLeft":{if(O<=0)return I;let t=O-1,U2=f[t];if(!U2.length)return I;let W2=S(w[t],w[O]?.[m]??0);return W2>=0?U2[W2]:I}case"Home":return 0;case"End":{let t=f[Z2-1];return t.length>0?t[t.length-1]:I}case"PageDown":{let t=K.containerSize,U2=T?null:_[I],W2=U2&&U2.size>0?U2.size:150,L2=Math.max(1,Math.floor(t/W2)),p=Math.min(m+L2,o.length-1);return o[p]}case"PageUp":{let t=K.containerSize,U2=T?null:_[I],W2=U2&&U2.size>0?U2.size:150,L2=Math.max(1,Math.floor(t/W2)),p=Math.max(0,m-L2);return o[p]}}return I}let R=null;function a(){if(Q.size)return(I)=>Q.size(I,P);if(R!==null&&typeof R==="function")return(I)=>R(I,P);return(I)=>Z.sizeCache.getSize(I)}function n(){let{columns:I,gap:u}=J;P.containerWidth=J.containerSize,P.columns=I,P.gap=u,P.columnWidth=Math.max(0,(J.containerSize-(I-1)*u)/I)}function s(){if(!Z)return;n();let I=K.totalItems;_=J.calculateLayout(I,a()),z=I,Q2=!0;let u=J.getTotalSize(_)+E;Z.updateContentSize(u)}function F(){if(K.destroyed||!Z||!$)return;if(K.totalItems!==z)s();X();let{scrollPosition:I,containerSize:u}=K;if(!L&&I===W&&u===B)return;if(W=I,B=u,L=!1,u<=0||_.length===0)return;let M=Math.max(0,I-q),T=I+u+q,O=J.getVisibleItems(_,M,T),m=G?.()??Y6,Z2=y?.()??-1;h=Z.getItems(),$.render(Y,O,m,Z2);let o=O.length,J2=o>0?O[0].index:0,t=o>0?O[o-1].index:0;K.prevRangeStart=J2,K.prevRangeEnd=t,K.renderPending=!1;let U2=Math.min(o,K.capacity);K.visibleCount=U2,K.startIndex=J2;for(let W2=0;W2<U2;W2++){let L2=O[W2];K.visibleIndices[W2]=L2.index,K.visibleOffsets[W2]=L2.y,K.visibleSizes[W2]=L2.size}}function A(){if(K.destroyed)return;s(),K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,L=!0,F()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(I){if(Z=I,K=I.getState(),R=I.rawSizeSpec,j=I.config.axis.primary==="x",U=I.config.classPrefix,q=I.config.overscan*q6,I.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");D=I.config.crossAxisPadding,H=I.config.crossPadStart,C=I.config.startPadding,E=I.config.endPadding;let u=K.crossSize-D;J=G4({columns:Q.columns,gap:Q.gap??0,containerSize:u,crossOffset:H,mainOffset:C}),$=H4(I.dom.content,I.template,U,j,()=>K.totalItems),I.dom.root.classList.add(`${U}--masonry`),I.setRenderFn(F,A),s(),I.registerMethod("getMasonryLayout",()=>J),I.registerMethod("updateMasonry",(M)=>{if(M.columns!==void 0&&M.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(M.gap!==void 0&&M.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let T={};if(M.columns!==void 0)T.columns=M.columns;if(M.gap!==void 0)T.gap=M.gap;J.update(T),$?.clear(),A()}),I.registerMethod("scrollToIndex",(M,T="start")=>{let O=_[M];if(!O)return;let m=typeof T==="string"?T:T.align??"start",Z2=typeof T==="object"?T.behavior:void 0,o=typeof T==="object"?T.duration:void 0,J2=K.containerSize,t=J.getTotalSize(_)+E,U2=Math.max(0,t-J2),W2=O.y;if(m==="center")W2=O.y-J2/2+O.size/2;else if(m==="end"){if(W2=O.y-J2+O.size,M>=K.totalItems-1&&O.y+O.size>U2)W2=U2}if(W2=Math.max(0,Math.min(W2,U2)),Z2==="smooth"&&o&&o>0)I.smoothScrollTo(W2,o);else I.scrollTo(W2)}),I.registerMethod("_scrollItemIntoView",(M)=>{let T=_[M];if(!T)return;let{scrollPosition:O,containerSize:m}=K,Z2=J.getTotalSize(_)+E,o=Math.max(0,Z2-m),J2=T.y,t=J2+T.size;if(J2-C<O)I.scrollTo(Math.max(0,J2-C));else if(t+E>O+m){let U2=f[J.columns-1];if(U2&&U2.length>0&&M===U2[U2.length-1]&&J2>=o)I.scrollTo(o);else I.scrollTo(Math.min(t+E-m,o))}}),I.setNavConfig({total:()=>K.totalItems,navigate:k}),I.registerDestroyHandler(()=>{$?.destroy(),$=null,I.dom.root.classList.remove(`${U}--masonry`)})},hooks:{onResize(I,u){if(!J||!Z)return;let M=K.crossSize-D;if(Math.abs(M-J.containerSize)<1)return;J.update({containerSize:M}),$?.clear(),A()},onIdle(){$?.sortDOM()}},destroy(){$?.destroy(),$=null,_=[],Z=null}}}var O4=(Q={})=>{let{chunkSize:J=100,maxCachedItems:$=5000,evictionBuffer:K=200,onEvict:Z}=Q,j=new Map,U=0,q=0,_=(d)=>{let v=j.get(d);if(!v)v={items:Array(J),count:0,lastAccess:Date.now()},j.set(d,v);else v.lastAccess=Date.now();return v},W=(d)=>{return Math.floor(d/J)},B=(d)=>{return d%J},L=()=>U,z=(d)=>{U=d},D=(d)=>{if(d<0||d>=U)return;let v=W(d),S=j.get(v);if(!S)return;return S.items[B(d)]},H=(d)=>{if(d<0||d>=U)return!1;let v=W(d),S=j.get(v);if(!S)return!1;return S.items[B(d)]!==void 0},C=(d,v)=>{let S=W(d),k=_(S),R=B(d),a=k.items[R]===void 0;if(k.items[R]=v,a)k.count++,q++;if(d>=U)U=d+1},E=(d,v)=>{for(let S=0;S<v.length;S++){let k=v[S];if(k!==void 0)C(d+S,k)}},P=(d,v)=>{if(d<0||d>U)return;let S=W(d),k=Array.from(j.keys()).filter((F)=>F>=S).sort((F,A)=>F-A),R=[];for(let F of k){let A=j.get(F),I=F*J;for(let u=0;u<J;u++){if(A.items[u]===void 0)continue;let M=I+u;if(M<d)continue;R.push({oldIndex:M,item:A.items[u]})}}for(let{oldIndex:F}of R){let A=W(F),I=j.get(A);if(!I)continue;let u=B(F);if(I.items[u]!==void 0){if(I.items[u]=void 0,I.count--,q--,I.count===0)j.delete(A)}}U++;for(let{oldIndex:F,item:A}of R){let I=F+1,u=W(I),M=_(u),T=B(I);M.items[T]=A,M.count++,q++}let a=W(d),n=_(a),s=B(d);n.items[s]=v,n.count++,q++},h=(d)=>{if(d<0||d>=U)return!1;let v=W(d),S=j.get(v),k=B(d);if(!(S!==void 0&&S.items[k]!==void 0))return!1;let a=v,n=Array.from(j.keys()).filter((F)=>F>=a).sort((F,A)=>F-A),s=[];for(let F of n){let A=j.get(F),I=F*J;for(let u=0;u<J;u++){if(A.items[u]===void 0)continue;let M=I+u;if(M<=d)continue;s.push({oldIndex:M,item:A.items[u]})}}if(S.items[k]=void 0,S.count--,q--,S.count===0)j.delete(v);for(let{oldIndex:F}of s){let A=W(F),I=j.get(A);if(!I)continue;let u=B(F);if(I.items[u]!==void 0){if(I.items[u]=void 0,I.count--,q--,I.count===0)j.delete(A)}}for(let{oldIndex:F,item:A}of s){let I=F-1,u=W(I),M=_(u),T=B(I);M.items[T]=A,M.count++,q++}return U--,!0},Y=(d,v)=>{let S=[];for(let k=d;k<=v&&k<U;k++)S.push(D(k));return S},G=(d,v)=>{for(let S=d;S<=v&&S<U;S++)if(!H(S))return!1;return!0},y=()=>{let d=[],v=null,S=Array.from(j.keys()).sort((k,R)=>k-R);for(let k of S){let R=j.get(k);if(!R)continue;let a=k*J;for(let n=0;n<J;n++){let s=a+n;if(s>=U)break;if(R.items[n]!==void 0)if(v===null)v={start:s,end:s};else if(s===v.end+1)v.end=s;else d.push(v),v={start:s,end:s};else if(v!==null)d.push(v),v=null}}if(v!==null)d.push(v);return d},V=(d,v)=>{let S=[],k=null;for(let R=d;R<=v&&R<U;R++)if(!H(R))if(k===null)k={start:R,end:R};else k.end=R;else if(k!==null)S.push(k),k=null;if(k!==null)S.push(k);return S},X=(d)=>{return j.has(d)},f=(d)=>{let v=j.get(d);if(!v)return!1;let S=d*J,k=Math.min(J,U-S);return v.count>=k},l=(d)=>{let v=j.get(d);if(v)v.lastAccess=Date.now()},w=(d,v)=>{if(d>v||j.size===0)return;let S=Date.now(),k=W(Math.max(0,d)),R=W(Math.min(U-1,v));for(let a=k;a<=R;a++){let n=j.get(a);if(n)n.lastAccess=S}},x=(d,v)=>{if(q<=$)return 0;let S=Math.max(0,d-K),k=Math.min(U-1,v+K),R=W(S),a=W(k),n=0,s=[];for(let[F,A]of j)if(F<R||F>a)n+=A.count,s.push(F),q-=A.count,j.delete(F);if(n>0&&Z)Z(n,s);return n},r=()=>{if(q<=$)return 0;let d=Array.from(j.entries()).sort(([,k],[,R])=>k.lastAccess-R.lastAccess),v=0,S=[];for(let[k,R]of d){if(q<=$)break;v+=R.count,q-=R.count,S.push(k),j.delete(k)}if(v>0&&Z)Z(v,S);return v},g=()=>{return{totalItems:U,cachedItems:q,cachedChunks:j.size,chunkSize:J,maxCachedItems:$,memoryEfficiency:U>0?1-q/U:1}},c=()=>q,K2=()=>{j.clear(),q=0};return{chunkSize:J,maxCachedItems:$,getTotal:L,setTotal:z,get:D,has:H,set:C,setRange:E,insert:P,delete:h,getRange:Y,isRangeLoaded:G,getLoadedRanges:y,findUnloadedRanges:V,getChunkIndex:W,isChunkLoaded:X,isChunkFullyLoaded:f,touchChunk:l,touchChunksForRange:w,evictDistant:x,evictToLimit:r,getStats:g,getCachedCount:c,clear:K2,reset:()=>{K2(),U=0}}};var L4=(Q={})=>{let{maskCharacter:J=l0,maxSampleSize:$=r0}=Q,K=[],Z=!1,j=(B)=>{if(Z||B.length===0)return;let L=Math.min(B.length,$);for(let z=0;z<L;z++){let D=B[z];if(!D||typeof D!=="object")continue;let H={},C=!1;for(let[E,P]of Object.entries(D)){if(E.startsWith("_")||E==="id")continue;H[E]=String(P??"").length,C=!0}if(C)K.push(H)}Z=!0},U=()=>Z,q=(B)=>{let L={id:`${f2}${B}`,[V0]:!0,_index:B};if(K.length===0)return L.label=J.repeat(12),L;let z=K[B%K.length];for(let[D,H]of Object.entries(z))L[D]=J.repeat(Math.max(1,H));return L};return{analyzeStructure:j,hasAnalyzedStructure:U,generate:q,generateRange:(B,L)=>{let z=[];for(let D=B;D<=L;D++)z.push(q(D));return z},clear:()=>{K=[],Z=!1}}},q0=(Q)=>{if(!Q||typeof Q!=="object")return!1;return Q[V0]===!0};var B6=50,F4=(Q={})=>{let{adapter:J,initialItems:$,initialTotal:K,storage:Z,placeholder:j,pageSize:U=B6,maxConcurrent:q=0,onStateChange:_,onDataChange:W,onItemsLoaded:B,onItemsEvicted:L,onLoadError:z}=Q,D=O4({...Z,onEvict:(j2,i)=>{L?.(j2),x(),w()}}),H=null,C=()=>{if(!H)H=L4(j);return H},E=new Map,P=!1,h,Y=!0,G,y,V=[],X=0,f=new Map,l=()=>{for(let j2 of f.values())j2[1].abort();f.clear()},w=()=>{_?.(k())},x=()=>{W?.()},r=()=>{E.clear();let j2=D.getLoadedRanges();for(let i of j2)for(let Y2=i.start;Y2<=i.end;Y2++){let M2=D.get(Y2);if(M2&&!q0(M2))E.set(M2.id,Y2)}},g=(j2,i)=>{if(!q0(i))E.set(i.id,j2)},c=(j2)=>{E.delete(j2)},K2=(j2,i)=>{return`${j2}-${i}`},Q2=()=>D.getTotal(),d=()=>D.getCachedCount(),v=()=>P,S=()=>Y,k=()=>({total:D.getTotal(),cached:D.getCachedCount(),isLoading:P,pendingRanges:V,error:h,hasMore:Y,cursor:G}),R=()=>D,a=()=>C(),n=(j2)=>{let i=D.get(j2);if(i!==void 0)return i;if(j2>=0&&j2<D.getTotal())return C().generate(j2);return},s=(j2)=>{let i=E.get(j2);if(i===void 0)return;return D.get(i)},F=(j2)=>{return E.get(j2)??-1},A=(j2)=>{let i=D.get(j2);return i!==void 0&&!q0(i)},I=(j2,i)=>{let Y2=[],M2=D.getTotal();D.touchChunksForRange(j2,Math.min(i,M2-1));for(let _2=j2;_2<=i&&_2<M2;_2++){let B2=D.get(_2);if(B2!==void 0)Y2.push(B2);else Y2.push(C().generate(_2))}return Y2},u=(j2)=>{D.setTotal(j2),Y=D.getCachedCount()<j2,x(),w()},M=(j2,i=0,Y2)=>{if(J&&j2.length>0){let M2=C();if(!M2.hasAnalyzedStructure())M2.analyzeStructure(j2)}for(let M2=0;M2<j2.length;M2++){let _2=j2[M2];if(_2!==void 0){let B2=i+M2;D.set(B2,_2),g(B2,_2)}}if(Y2!==void 0)D.setTotal(Y2);else if(i+j2.length>D.getTotal())D.setTotal(i+j2.length);if(D.getCachedCount()>=D.getTotal()&&D.getTotal()>0)Y=!1;x(),w(),B?.(j2,i,D.getTotal())},T=(j2,i)=>{let Y2=D.get(j2);if(!Y2)return!1;let M2=Y2.id,_2={...Y2,...i};if(D.set(j2,_2),i.id!==void 0&&i.id!==M2)c(M2);return g(j2,_2),x(),w(),!0},O=(j2,i)=>{D.insert(i,j2),r(),l(),x(),w()},m=(j2)=>{let i=E.get(j2);if(i===void 0)return!1;if(!D.delete(i))return!1;return r(),l(),x(),w(),!0},Z2=async(j2,i)=>{if(!J)return;let Y2=D.chunkSize,M2=Math.floor(j2/Y2),_2=Math.floor(i/Y2),B2=Y2*2;for(let[b2,k2]of f){let z2=b2.indexOf("-"),G2=parseInt(b2.slice(0,z2),10);if(Math.abs(G2-j2)>B2)k2[1].abort(),f.delete(b2)}let R2=[],P2=[];for(let b2=M2;b2<=_2;b2++){let k2=b2*Y2,z2=k2+Y2-1,G2=K2(k2,z2);if(D.isChunkFullyLoaded(b2))continue;let D2=f.get(G2);if(D2)P2.push(D2[0]);else R2.push({start:k2,end:z2})}if(R2.length===0){if(P2.length>0)await Promise.all(P2);return}if(q>0){let b2=f.size+R2.length;if(b2>q){let k2=(j2+i)/2,z2=Math.min(b2-q,f.size);while(z2>0){let H2=null,D2=-1,F2=null;for(let[b,X2]of f){let O2=b.indexOf("-"),T2=parseInt(b.slice(0,O2),10),w2=parseInt(b.slice(O2+1),10),N2=Math.abs((T2+w2)/2-k2);if(N2>D2)D2=N2,H2=b,F2=X2[1]}if(H2)F2.abort(),f.delete(H2);z2--}let G2=q-f.size;if(R2.length>G2)R2.sort((H2,D2)=>{let F2=Math.abs((H2.start+H2.end)/2-k2),b=Math.abs((D2.start+D2.end)/2-k2);return F2-b}),R2.length=Math.max(0,G2)}}if(R2.length===0){if(P2.length>0)await Promise.all(P2);return}for(let b2 of R2){let k2=K2(b2.start,b2.end),z2=new AbortController,G2=(async()=>{V.push(b2),P=!0,h=void 0,w();try{let H2=b2.end-b2.start+1,D2={offset:b2.start,limit:H2,cursor:b2.start===y?G:void 0,signal:z2.signal},F2=await J.read(D2);if(M(F2.items,b2.start,F2.total),F2.cursor)G=F2.cursor,y=b2.start+F2.items.length;let b=b2.start+F2.items.length;if(b>=X){if(X=b,F2.hasMore!==void 0)Y=F2.hasMore;else if(F2.total!==void 0)Y=b<F2.total}}catch(H2){if(H2?.name==="AbortError")return;h=H2 instanceof Error?H2:Error(String(H2)),z?.(h,b2)}finally{f.delete(k2);let H2=V.findIndex((D2)=>D2.start===b2.start&&D2.end===b2.end);if(H2>=0)V.splice(H2,1);P=f.size>0,w()}})();f.set(k2,[G2,z2]),P2.push(G2)}await Promise.all(P2)},o=async(j2,i)=>{if(D.isRangeLoaded(j2,i))return;await Z2(j2,i)},J2=async()=>{if(!J)return;await Z2(0,U-1)},t=async()=>{if(!J||P||!Y)return!1;let j2=D.getCachedCount(),i=D.getTotal(),Y2=j2,M2=Math.min(Y2+U-1,i>0?i-1:Y2+U-1);if(Y2>=i&&i>0)return Y=!1,!1;return await Z2(Y2,M2),D.getCachedCount()>j2},U2=async()=>{if(D.clear(),E.clear(),H)H.clear();l(),V=[],P=!1,G=void 0,y=void 0,Y=!0,X=0,h=void 0,x(),w()},W2=(j2,i)=>{if(D.evictDistant(j2,i)>0)r()},L2=()=>{D.clear(),E.clear(),G=void 0,y=void 0,h=void 0,V=[],P=!1,x(),w()},p=()=>{if(D.reset(),E.clear(),H)H.clear();G=void 0,y=void 0,Y=!0,X=0,h=void 0,V=[],P=!1,x(),w()};if($&&$.length>0)M($,0,K??$.length);else if(K!==void 0)D.setTotal(K),x(),w();return{getState:k,getTotal:Q2,getCached:d,getIsLoading:v,getHasMore:S,getStorage:R,getPlaceholders:a,getItem:n,getItemById:s,getIndexById:F,isItemLoaded:A,getItemsInRange:I,setTotal:u,setItems:M,updateItem:T,insertItem:O,removeItem:m,loadRange:Z2,ensureRange:o,loadInitial:J2,loadMore:t,reload:U2,evictDistant:W2,clear:L2,reset:p}};function T0(Q){let{adapter:J,total:$,autoLoad:K=!0,storage:Z}=Q,j=Q.loading?.cancelThreshold??m0,U=Q.loading?.preloadThreshold??x0,q=Q.loading?.preloadAhead??g0,_=Q.loading?.maxConcurrent??c0,W,B,L,z,D,H,C=null,E=null,P=null,h=0,Y=!1,G=null,y=B0,V=-1,X=-1,f=-1,l=-1,w=Z?.chunkSize??t2,x=()=>{if(C=null,E!==null)clearTimeout(E),E=null},r=(k,R)=>{return W.ensureRange(k,R)},g=(k,R=t2)=>{z.emit("load:start",{offset:k,limit:R})},c=(k)=>{z.emit("error",{error:k,context:"ensureRange"})},K2=()=>{if(!C)return;C=null;let k={start:B.startIndex,end:B.startIndex+Math.max(0,B.visibleCount-1)};if(k.end<k.start)return;r(k.start,k.end).catch(c)},Q2=()=>{if(G!==null)clearTimeout(G),G=null},d=()=>{if(B.destroyed)return;let k=W.getTotal();if(B.visibleCount<=0||B.startIndex>=k)return;let R=Math.min(B.startIndex+B.visibleCount-1,k-1);if(R<B.startIndex)return;r(B.startIndex,R).catch(c)},v=()=>{if(G!==null||B.destroyed)return;G=setTimeout(()=>{G=null,d()},y),y=Math.min(y*2,d0)},S=()=>{Q2(),y=B0};return{name:"data",priority:20,setup(k){B=k.getState(),L=k.sizeCache,z=k.emitter,D=k.dom,H=k.forceRender.bind(k);let R=null;k.setVirtualTotalFn(()=>R?.getTotal()??0),k.setGetIndexByIdFn((n)=>R?.getIndexById(n)??-1),W=R=F4({adapter:J,...$!==void 0&&{initialTotal:$},pageSize:Z?.chunkSize??t2,maxConcurrent:_,...Z&&{storage:{...Z.chunkSize!==void 0&&{chunkSize:Z.chunkSize},...Z.maxCachedItems!==void 0&&{maxCachedItems:Z.maxCachedItems},...Z.evictionBuffer!==void 0&&{evictionBuffer:Z.evictionBuffer}}},onDataChange:()=>{if(B.initialized){let n=W.getTotal(),s=W.getCached();if(B.totalItems=n,n!==V||s!==X)V=n,X=s,L.rebuild(n);k.updateContentSize(L.getTotalSize()),k.renderIfNeeded()}},onItemsLoaded:(n)=>{if(S(),B.initialized)k.updateContentSize(L.getTotalSize()),H(),z.emit("load:end",{items:n,total:W.getTotal()})},onLoadError:(n)=>{if(z.emit("error",{error:n,context:"load"}),B.initialized)k.renderIfNeeded();v()}}),k.setGetItemFn((n)=>W.getItem(n)),k.setRemoveItemFn((n)=>{let s=W.getIndexById(n);if(s<0)return-1;if(!W.removeItem(n))return-1;return s}),k.setInsertItemFn((n,s)=>{W.insertItem(n,s)}),k.setUpdateItemFn((n,s)=>{let F=W.getIndexById(n);if(F<0)return!1;return W.updateItem(F,s)}),k.registerMethod("reload",async()=>{if(C=null,f=-1,l=-1,S(),k.forceRender(),await W.reload(),k.scrollTo(0),K)g(0),await W.loadInitial(),k.forceRender()}),k.registerMethod("loadVisibleRange",async()=>{C=null,k.forceRender();let n=W.getTotal();if(B.visibleCount>0&&B.startIndex<n){let s=Math.min(B.startIndex+B.visibleCount-1,n-1);g(B.startIndex,s-B.startIndex+1),await r(B.startIndex,s)}}),k.registerMethod("loadInitial",async()=>{g(0),await W.loadInitial(),k.forceRender()}),k.registerMethod("getTotal",()=>{return W.getTotal()}),k.registerMethod("setTotal",(n)=>{W.setTotal(n)}),k.registerMethod("_getTotal",()=>W.getTotal()),k.registerMethod("_setTotal",(n)=>{W.setTotal(n)}),k.registerMethod("_cancelAutoLoad",()=>{Y=!0}),k.registerMethod("_getLoadedItem",(n)=>{return W.getStorage().get(n)}),k.registerMethod("_getItem",(n)=>{return W.getItem(n)}),k.registerMethod("_getLoadedCount",()=>W.getCached()),z.on("load:start",()=>{D.root.setAttribute("aria-busy","true")}),z.on("load:end",()=>{D.root.removeAttribute("aria-busy")}),k.registerDestroyHandler(()=>{if(P!==null)clearTimeout(P),P=null;x(),Q2()}),z.on("velocity:change",({velocity:n})=>{h=Math.abs(n)});let a=()=>{if(B.destroyed)return;S(),d(),K2()};if(window.addEventListener("online",a),k.registerDestroyHandler(()=>{window.removeEventListener("online",a)}),K)queueMicrotask(()=>{if(Y)return;g(0),W.loadInitial().catch((n)=>{z.emit("error",{error:n,context:"loadInitial"})})});else if($!==void 0)W.setTotal($)},hooks:{onAfterScroll(){if(B.destroyed)return;let k=B.startIndex+Math.max(0,B.visibleCount-1);if(h>j){if(E!==null)clearTimeout(E),E=null;C={start:B.startIndex,end:k};return}if(h>U){let n=Math.floor(B.startIndex/w),s=Math.floor(k/w);if(n!==f||s!==l){if(f=n,l=s,k>=B.startIndex)r(B.startIndex,k).catch(c)}let F=B.startIndex,A=k,I=B.scrollDirection;if(I>0)A=Math.min(A+q,W.getTotal()-1);else if(I<0)F=Math.max(0,F-q);if(C={start:F,end:A},E!==null)clearTimeout(E);E=setTimeout(()=>{if(E=null,B.destroyed||!C)return;let{start:u,end:M}=C;if(C=null,M>=u)r(u,M).catch(c)},100);return}x();let R=Math.floor(B.startIndex/w),a=Math.floor(k/w);if(R!==f||a!==l){if(f=R,l=a,k>=B.startIndex)r(B.startIndex,k).catch(c)}},onIdle(){if(B.destroyed)return;h=0,f=-1,l=-1,K2(),x()},onResize(){if(B.destroyed)return;let k=W.getTotal();if(k<=0)return;if(B.visibleCount<=0||B.startIndex>=k)return;let R=Math.min(B.startIndex+B.visibleCount-1,k-1);if(R<B.startIndex)return;g(B.startIndex,R-B.startIndex+1),r(B.startIndex,R).catch(c)}},destroy(){if(P!==null)clearTimeout(P);x(),Q2()}}}var b0=(Q,J)=>{let $=0,K=Q.length-1;while($<K){let Z=$+K+1>>>1;if(Q[Z].headerLayoutIndex<=J)$=Z;else K=Z-1}return $},E4=(Q,J)=>{let $=0,K=Q.length-1;while($<K){let Z=$+K+1>>>1;if(Q[Z].firstDataIndex<=J)$=Z;else K=Z-1}return $},R4=(Q,J,$)=>{if(Q===0)return[];let K=[],Z=null,j=0,U=0;for(let q=0;q<Q;q++){let _=$?.(q);if(!_)continue;let W=J(q,_);if(Z===null)Z=W,j=0;else if(W!==Z){let B=q-j;K.push({key:Z,groupIndex:K.length,headerLayoutIndex:U,firstDataIndex:j,count:B}),U=U+1+B,Z=W,j=q}}if(Z!==null)K.push({key:Z,groupIndex:K.length,headerLayoutIndex:U,firstDataIndex:j,count:Q-j});return K};var T4=(Q,J,$)=>{let K=R4(Q,J.getGroupForIndex,$),Z=Q+K.length,j=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return Z},get groupCount(){return K.length},get groups(){return K},getEntry:(D)=>{if(K.length===0)return{type:"item",dataIndex:D,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let H=b0(K,D),C=K[H];if(D===C.headerLayoutIndex)return{type:"header",group:C};let E=D-C.headerLayoutIndex-1;return{type:"item",dataIndex:C.firstDataIndex+E,group:C}},layoutToDataIndex:(D)=>{if(K.length===0)return D;let H=b0(K,D),C=K[H];if(D===C.headerLayoutIndex)return-1;let E=D-C.headerLayoutIndex-1;return C.firstDataIndex+E},dataToLayoutIndex:(D)=>{if(K.length===0)return D;let H=E4(K,D),C=K[H],E=D-C.firstDataIndex;return C.headerLayoutIndex+1+E},getGroupAtLayoutIndex:(D)=>{if(K.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=b0(K,D);return K[H]},getGroupAtDataIndex:(D)=>{if(K.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=E4(K,D);return K[H]},getHeaderHeight:typeof j==="number"?(D)=>j:(D)=>{let H=K[D];if(!H)return 0;return j(H.key,D)},rebuild:(D,H)=>{K=R4(D,J.getGroupForIndex,H??$),Z=D+K.length}}};var k0=(Q,J,$,K,Z=0)=>{let j=$?"width":"height",U=document.createElement("div");return U.className=`${J}-sticky-header`,U.setAttribute("role","presentation"),U.setAttribute("aria-hidden","true"),U.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+($?`position:absolute;top:0;bottom:0;left:${Z||0}px`:`position:relative;top:${Z||0}px`),U.style[j]=`${K}px`,Q.insertBefore(U,Q.firstChild),U},b4=(Q,J,$,K,Z,j=!1,U=0,q,_,W)=>{let B=j?"width":"height",L=j?"height":"width",z=j?"X":"Y",D=(T,O)=>{T.style[B]=`${O}px`},H=_??k0(Q,Z,j,0,U),C=()=>{let T=document.createElement("div");return T.className="sticky-group",T.style.position="absolute",T.style.willChange="transform",T.style[L]="100%",T},E=C(),P=C();H.append(E,P);let h=E,Y=P,G=J.groups,y=[],V=[],X=[],f=0,l=()=>{G=J.groups,f=G.length,y=Array(f),V=Array(f),X=Array(f);let T=q?q():1;for(let O=0;O<f;O++)y[O]=(W?W(G[O].headerLayoutIndex):$.getOffset(G[O].headerLayoutIndex))*T,V[O]=J.getHeaderHeight(O),X[O]=V[O]*T};l();let w=-1,x=0,r=0,g=-1,c=!1,K2=0,Q2=!1,d=(T,O)=>{K(T,O);let m=V[O];return D(T,m),m},v=(T)=>{T.replaceChildren(),T.style.transform=""},S=(T)=>{if(T===w)return;if(w=T,x=0,r=0,T<0||T>=f){v(h);return}x=d(h,T),r=X[T],D(H,x),h.style.transform=""},k=(T)=>{if(T===K2)return;K2=T;let O=Math.round(T);h.style.transform=`translate${z}(${O}px)`,Y.style.transform=`translate${z}(${O+x}px)`},R=()=>{K2=0,h.style.transform="",Y.style.transform=""},a=()=>{if(!Q2)return;let T=h;h=Y,Y=T,w=g,x=w>=0?V[w]:0,r=w>=0?X[w]:0,D(H,x),v(Y),g=-1,Q2=!1,R()},n=()=>{if(!Q2)return;v(Y),g=-1,Q2=!1,R()},s=!!_,F=()=>{if(c)return;if(c=!0,s)H.style.visibility="";else H.style.display=""},A=()=>{if(!c)return;if(c=!1,s)H.style.visibility="hidden";else H.style.display="none";v(h),w=-1,x=0,r=0,n()},I=(T)=>{if(f===0){if(Q2)n();if(!c)F();S(-1);return}if(T<y[0]){A();return}let O=0,m=f-1;while(O<m){let o=O+m+1>>>1;if(y[o]+X[o]<=T)O=o;else m=o-1}if(!c)F();S(O);let Z2=O+1;if(Z2<f){let o=y[Z2]-T;if(o<=0&&o>-r){if(g!==Z2||!Q2)g=Z2,d(Y,Z2),Q2=!0;let J2=r>0?o/r*x:o;k(J2)}else if(o<=-r){if(Q2)a()}else if(Q2)n()}else if(Q2)n()},u=()=>{l();let T=w;if(w=-1,x=0,r=0,T>=0)S(T)},M=()=>{H.remove(),w=-1,x=0,r=0,g=-1,c=!1,Q2=!1};if(!_)H.style.display="none";return{update:I,refresh:u,show:F,hide:A,destroy:M}};var d2={selected:!1,focused:!1},k4=typeof process<"u"&&process.env?.NODE_ENV!=="production";function z0(Q){if(!Q.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=Q.header?.height??Q.header?.width??Q.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let $=Q.header?.template??Q.headerTemplate;if(!$)throw Error("[vlist] groups: header.template is required");let K=$,Z,j=null,U,q,_,W,B,L,z,D=null,H,C,E,P=null,h,Y,G=null,y=null,V=0,X=0,f=0,l=0,w=0,x=!1,r=null,g=new Map,c=new Set,K2=new Map,Q2=-1,d=-1,v=!0,S=-1,k=0,R=null,a;function n(){return Z.totalEntries}function s(){let p=q.totalItems;if(p===S)return;if(k4)console.log(`[groups] syncLayout: ${S} → ${p}`);let j2=S>0;S=p,Z.rebuild(p,D??z),a(Z.totalEntries),M();let i=A?T():U.getTotalSize();if(W.style[H?"width":"height"]=i+w+"px",j)j.refresh(),j.update(q.scrollPosition);if(j2)Z2();let Y2=G?.("_scrollbar:getInstance");if(Y2)Y2()?.updateBounds(i,q.containerSize)}let F=0,A=null,I=null,u=null;function M(){if(V<=0){A=null,I=null;return}F=((q.crossSize||W.clientWidth)-l-(V-1)*X)/V,A=new Map;let i=Z.totalEntries,Y2=Array(i),M2=0;if(x){let _2=r??((k2)=>U.getSize(k2)),B2=new Float64Array(V),R2=[],P2=0,b2=-1;for(let k2=0;k2<i;k2++){let z2=Z.getEntry(k2);if(z2.type==="header"){let G2=0;for(let D2=0;D2<V;D2++)if(B2[D2]>G2)G2=B2[D2];if(b2>=0)R2[b2]=P2+G2;P2+=G2;let H2=U.getSize(k2);A.set(k2,{col:-1,rowY:P2}),Y2[M2++]=[k2,P2,P2+H2],P2+=H2,B2.fill(0),b2=z2.group.groupIndex}else{let G2=0,H2=B2[0];for(let b=1;b<V;b++)if(B2[b]<H2)H2=B2[b],G2=b;let D2=_2(z2.dataIndex),F2=P2+B2[G2];A.set(k2,{col:G2,rowY:F2,h:D2}),Y2[M2++]=[k2,F2,F2+D2],B2[G2]=B2[G2]+D2+X}}if(b2>=0){let k2=0;for(let z2=0;z2<V;z2++)if(B2[z2]>k2)k2=B2[z2];R2[b2]=P2+k2}u=R2}else{u=null;let _2=0,B2=0,R2=0;for(let P2=0;P2<i;P2++)if(Z.getEntry(P2).type==="header"){if(B2>0&&R2>0)_2+=R2;let k2=U.getSize(P2);A.set(P2,{col:-1,rowY:_2}),Y2[M2++]=[P2,_2,_2+k2],_2+=k2,B2=0,R2=0}else{let k2=B2%V,z2=U.getSize(P2);if(k2===0){if(B2>0&&R2>0)_2+=R2+X;R2=z2}else if(z2>R2)R2=z2;A.set(P2,{col:k2,rowY:_2}),Y2[M2++]=[P2,_2,_2+z2],B2++}}Y2.length=M2,I=Y2}function T(){if(!A||A.size===0)return U.getTotalSize();let p=Z.totalEntries;if(x)return u?.[u.length-1]??0;let j2=0;for(let i=p-1;i>=0;i--){let Y2=A.get(i);if(Y2){j2=Y2.rowY+(Y2.h??U.getSize(i));break}if(Z.getEntry(i).type==="header"){j2=U.getOffset(i)+U.getSize(i);break}}return j2}function O(p){if(A){let i=A.get(p);if(i){let Y2=i.col<0?0:f+i.col*(F+X),M2=i.rowY;if(H)return`translate(${Math.round(M2)}px, ${Math.round(Y2)}px)`;return`translate(${Math.round(Y2)}px, ${Math.round(M2)}px)`}}let j2=U.getOffset(p);if(H)return`translate(${Math.round(j2)}px, 0)`;return`translate(0, ${Math.round(j2)}px)`}function m(p,j2){let i=A?.get(j2);if(i){let M2=i.h??U.getSize(j2);if(i.col<0)if(H)p.style.width=`${M2}px`,p.style.height="";else p.style.height=`${M2}px`,p.style.width="100%";else if(H)p.style.width=`${M2}px`,p.style.height=`${F}px`;else p.style.height=`${M2}px`,p.style.width=`${F}px`;return}let Y2=U.getSize(j2);if(H)p.style.width=`${Y2}px`;else p.style.height=`${Y2}px`}function Z2(){g.forEach((p)=>{p.remove();let j2=p.getAttribute("data-id");if(j2)K2.set(j2,p);else _.release(p)}),g.clear(),c.clear()}function o(){if(K2.size>0)K2.forEach((p)=>_.release(p)),K2.clear()}function J2(p,j2,i,Y2){if(y===null)y=!!G?.("_getSelectedIds");if(j2.type==="header"){let b2=`__group_header_${j2.group.groupIndex}`;if(p.getAttribute("data-id")===b2)return!0;if(p.className=Y,p.setAttribute("role","presentation"),p.removeAttribute("aria-selected"),p.setAttribute("data-id",b2),H&&j&&j2.group.groupIndex===0)p.style.display="none";else{p.style.display="";let k2=K(j2.group.key,j2.group.groupIndex);if(typeof k2==="string")p.innerHTML=k2;else p.innerHTML="",p.appendChild(k2)}return!0}let M2=j2.dataIndex,_2=z(M2);if(!_2)return p.innerHTML="",!1;let B2=_2._isPlaceholder===!0,R2=String(_2.id);if(!B2&&p.getAttribute("data-id")===R2){if(y)p.id=`${C}-item-${Y2}`,p.setAttribute("aria-posinset",String(M2+1)),p.setAttribute("aria-setsize",String(q.totalItems));return!0}if(p.className=h,p.setAttribute("role",y?"option":"listitem"),p.setAttribute("data-id",R2),y)p.id=`${C}-item-${Y2}`,p.setAttribute("aria-posinset",String(M2+1)),p.setAttribute("aria-setsize",String(q.totalItems));if(B2)p.classList.add(`${C}-item--placeholder`);if(i)i(Y2,d2);else d2.selected=!1,d2.focused=!1;let P2=L(_2,M2,d2);if(typeof P2==="string")p.innerHTML=P2;else p.innerHTML="",p.appendChild(P2);return u2(p),!B2}let t=0;function U2(){if(V<=0)return;let p=q.crossSize;if(p===t)return;t=p,M();let j2=T();if(W.style[H?"width":"height"]=j2+w+"px",j)j.refresh(),j.update(q.scrollPosition);v=!0}function W2(){if(q.destroyed)return;s(),U2();let{scrollPosition:p,containerSize:j2}=q;if(!v&&p===Q2&&j2===d)return;Q2=p,d=j2;let i=v;v=!1;let Y2=n();if(j2<=0||Y2===0){if(g.size>0)g.forEach((D2)=>{D2.remove(),_.release(D2)}),g.clear(),c.clear();return}let M2,_2;if(I){let D2=I,F2=D2.length,b=0,X2=F2-1;while(b<X2){let $2=b+X2>>>1;if(D2[$2][2]<=p)b=$2+1;else X2=$2}let O2=b;X2=F2-1;while(b<X2){let $2=b+X2+1>>>1;if(D2[$2][1]>=p+j2)X2=$2-1;else b=$2}let T2=b,w2=D2[O2][0],N2=D2[T2][0];for(let $2=w2-1;$2>=0;$2--)if(Z.getEntry($2).type==="header"){w2=$2;break}let N=E*V;M2=Math.max(0,w2-N),_2=Math.min(Y2-1,N2+N)}else{let D2=U.indexAtOffset(p),F2=U.indexAtOffset(p+j2);if(F2<Y2-1)F2++;D2=Math.max(0,D2),F2=Math.min(Y2-1,Math.max(0,F2)),M2=Math.max(0,D2-E),_2=Math.min(Y2-1,F2+E)}if(M2===q.prevRangeStart&&_2===q.prevRangeEnd&&!q.renderPending)return;g.forEach((D2,F2)=>{if(F2<M2||F2>_2)D2.remove(),_.release(D2),g.delete(F2),c.delete(F2)});let B2=P?.()??null,R2=B2?`${C}-item--selected`:"",P2=B2?`${C}-item--focused`:"",b2=null;for(let D2=M2;D2<=_2;D2++){let F2=g.get(D2),b=!1;if(F2===void 0){let X2=Z.getEntry(D2);b=X2.type==="header";let O2;if(X2.type==="header")O2=`__group_header_${X2.group.groupIndex}`;else{let w2=z(X2.dataIndex);if(w2&&w2._isPlaceholder!==!0)O2=String(w2.id)}if(O2!==void 0){let w2=K2.get(O2);if(w2)K2.delete(O2),F2=w2}if(!F2)F2=_.acquire();if(F2.setAttribute("data-index",String(D2)),J2(F2,X2,B2,D2))c.delete(D2);else c.add(D2);if(m(F2,D2),F2.style.transform=O(D2),g.set(D2,F2),!b2)b2=document.createDocumentFragment();b2.appendChild(F2)}else if(i&&c.has(D2)){let X2=Z.getEntry(D2);if(X2.type==="item")if(J2(F2,X2,B2,D2))c.delete(D2);else c.add(D2)}else if(b=F2.classList.contains(Y),i)m(F2,D2),F2.style.transform=O(D2);if(!b&&B2)if(B2(D2,d2),F2.classList.toggle(R2,d2.selected),F2.classList.toggle(P2,d2.focused),d2.selected)F2.setAttribute("aria-selected","true");else F2.removeAttribute("aria-selected")}if(b2)W.appendChild(b2);o();let k2=A?T():U.getTotalSize();W.style[H?"width":"height"]=k2+w+"px",q.prevRangeStart=M2,q.prevRangeEnd=_2,q.renderPending=!1;let z2=0,G2=0,H2=!1;for(let D2=M2;D2<=_2&&z2<q.capacity;D2++){let F2=Z.getEntry(D2);if(F2.type==="item"){if(!H2)G2=F2.dataIndex,H2=!0;q.visibleIndices[z2]=F2.dataIndex,q.visibleOffsets[z2]=U.getOffset(D2),q.visibleSizes[z2]=U.getSize(D2),z2++}}q.visibleCount=z2,q.startIndex=G2}function L2(){if(q.destroyed)return;if(U2(),k4)console.log(`[groups] forceRender, placeholders: ${c.size}, rendered: ${g.size}`);let p=R?.()??0;if(p!==k){k=p;let j2=Z.groups,i=j2.length;Z.rebuild(S,D??z);let Y2=Z.groups,M2=Y2.length!==i;if(!M2){for(let _2=0;_2<i;_2++)if(Y2[_2].headerLayoutIndex!==j2[_2].headerLayoutIndex){M2=!0;break}}if(M2){a(Z.totalEntries),M();let _2=A?T():U.getTotalSize();if(W.style[H?"width":"height"]=_2+"px",j)j.refresh(),j.update(q.scrollPosition);let B2=1/0,R2=Math.min(i,Y2.length);for(let b2=0;b2<R2;b2++)if(Y2[b2].headerLayoutIndex!==j2[b2].headerLayoutIndex){B2=Math.min(Y2[b2].headerLayoutIndex,j2[b2].headerLayoutIndex);break}if(Y2.length>i&&R2<Y2.length)B2=Math.min(B2,Y2[R2].headerLayoutIndex);else if(i>Y2.length&&R2<i)B2=Math.min(B2,j2[R2].headerLayoutIndex);if(B2<=q.prevRangeEnd)Z2();let P2=G?.("_scrollbar:getInstance");if(P2)P2()?.updateBounds(_2,q.containerSize)}}q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,v=!0,W2()}return{name:"groups",priority:10,setup(p){U=p.sizeCache,q=p.getState(),_=p.pool,W=p.dom.content,B=p.dom.root,L=p.template,H=p.config.axis.primary==="x",C=p.config.classPrefix,E=p.config.overscan,w=p.config.mainAxisPadding,z=p.getItem.bind(p),P=()=>p.getItemStateFn(),G=p.getMethod.bind(p),y=null,h=`${C}-item`,Y=`${C}-group-header`;let j2=G?.("getGridLayout"),i=G?.("getMasonryLayout");if(j2){let G2=j2();V=G2.columns,X=G2.gap,f=p.config.crossPadStart,l=p.config.crossAxisPadding}else if(i){let G2=i();V=G2.columns,X=G2.gap,f=p.config.crossPadStart,l=p.config.crossAxisPadding,x=!0;let H2=p.rawSizeSpec;if(typeof H2==="function")r=(D2)=>{return H2(D2,{columnWidth:F})}}queueMicrotask(()=>{let G2=G?.("_getLoadedItem");if(G2)D=G2;let H2=G?.("_getLoadedCount");if(H2)R=H2});let Y2=q.totalItems;Z=T4(Y2,Q,D??z),S=Y2;let M2=typeof J==="number"?(G2)=>J:(G2)=>{let H2=Z.groups[G2];if(!H2)return 0;return J(H2.key,G2)},_2=U.getSize,B2=(G2)=>{let H2=Z.getEntry(G2);if(H2.type==="header"){if(Q.sticky!==!1&&H2.group.groupIndex===0)return 0;return M2(H2.group.groupIndex)}return _2(H2.dataIndex)};p.setSizeConfig(B2);let R2=!1,P2=-1;if(p.registerMethod("_setSizeCacheBase",(G2)=>{a=G2}),a=U.rebuild,U.rebuild=(G2)=>{if(R2){if(!R)R=G?.("_getLoadedCount")??null;let H2=R?.()??0;if(G2!==S||H2!==P2){if(S=G2,P2=H2,!D)D=G?.("_getLoadedItem")??null;if(Z.rebuild(G2,D??((D2)=>p.getItems()[D2])),q.totalItems=Z.totalEntries,j)j.refresh(),j.update(q.scrollPosition)}}a(Z.totalEntries)},U.rebuild(Z.totalEntries),M(),p.setVirtualTotalFn(()=>Z.totalEntries),B.classList.add(`${C}--grouped`),Q.sticky!==!1){let G2=(b,X2)=>{let O2=Z.groups[X2];if(!O2)return;let T2=K(O2.key,X2);if(typeof T2==="string")b.innerHTML=T2;else b.replaceChildren(T2)},H2=Z.getHeaderHeight(0),D2=k0(B,C,H,H2),F2=V>0?(b)=>{let X2=A?.get(b);return X2?X2.rowY:U.getOffset(b)}:void 0;if(j=b4(B,Z,U,G2,C,H,0,void 0,D2,F2),j.update(q.scrollPosition),!H)p.dom.viewport.style.height=`calc(100% - ${H2}px)`;else p.dom.viewport.style.width=`calc(100% - ${H2}px)`,p.dom.viewport.style.marginLeft=`${H2}px`}let b2=!!G?.("_updateTableForGroups");if(R2=b2,b2)queueMicrotask(()=>{let G2=G?.("_getItem")??null,H2=p.getItems.bind(p);p.setGetItemFn((F2)=>{let b=Z.getEntry(F2);if(b.type==="header")return{id:`__group_header_${b.group.groupIndex}`,__groupHeader:!0,groupKey:b.group.key,groupIndex:b.group.groupIndex};return G2?G2(b.dataIndex):H2()[b.dataIndex]});let D2=G?.("_updateTableForGroups");if(D2)D2((F2)=>!!F2.__groupHeader,K)});else p.setRenderFn(W2,L2);p.registerMethod("getGroupLayout",()=>Z),p.registerMethod("_dataToLayoutIndex",(G2)=>Z.dataToLayoutIndex(G2)),p.registerMethod("_layoutToDataIndex",(G2)=>Z.layoutToDataIndex(G2)),p.registerMethod("_getRenderedElement",(G2)=>g.get(G2)??null),p.registerMethod("_isGroupHeader",(G2)=>{return Z.getEntry(G2).type==="header"}),p.registerMethod("_getItemLane",(G2)=>{let H2=A?.get(G2);return H2?H2.col:-1}),p.registerMethod("_getItemY",(G2)=>{let H2=A?.get(G2);return H2?H2.rowY:-1}),p.registerMethod("_getItemH",(G2)=>{return A?.get(G2)?.h??-1});let k2=p.config.startPadding,z2=w-k2;p.registerMethod("_scrollItemIntoView",(G2)=>{if(G2<0)return;let H2=A?.get(G2),D2=H2?H2.rowY:U.getOffset(G2),F2=H2?.h??U.getSize(G2),b=q.containerSize,X2=q.scrollPosition;if(D2<X2+k2)p.scrollTo(Math.max(0,D2-k2));else if(D2+F2+z2>X2+b)p.scrollTo(D2+F2+z2-b)}),p.registerMethod("scrollToIndex",(G2,H2="start")=>{let D2=Z.dataToLayoutIndex(G2),F2=Z.totalEntries;if(F2===0)return;let b=Math.max(0,Math.min(D2,F2-1)),X2=q.containerSize,O2=A?.get(b),T2=O2?O2.rowY:U.getOffset(b),w2=O2?O2.h??U.getSize(b):U.getSize(b),N2=A?T()+w:U.getTotalSize(),N=Math.max(0,N2-X2),$2=typeof H2==="string"?H2:H2.align??"start",V2=typeof H2==="object"?H2.behavior:void 0,e=typeof H2==="object"?H2.duration:void 0,q2=A?w:0,A2=T2+w2;if(x&&u){let y2=Z.getEntry(b).group.groupIndex,v2=u[y2];if(v2!==void 0)A2=v2}let E2;switch($2){case"center":E2=T2-(X2-w2)/2;break;case"end":E2=A2-X2+q2;break;default:E2=T2}if(E2=Math.max(0,Math.min(E2,N)),V2==="smooth"&&e&&e>0)p.smoothScrollTo(E2,e);else p.scrollTo(E2)}),p.registerDestroyHandler(()=>{for(let[,G2]of g)G2.remove();if(g.clear(),c.clear(),j)j.destroy(),j=null;B.classList.remove(`${C}--grouped`)})},hooks:{onAfterScroll(p,j2){if(j)j.update(p)},onResize(p,j2){if(V<=0)return;a(Z.totalEntries),t=q.crossSize,M();let i=T();if(W.style[H?"width":"height"]=i+w+"px",j)j.refresh(),j.update(q.scrollPosition);v=!0,W2()}},destroy(){if(j)j.destroy(),j=null;g.clear(),c.clear(),K2.clear()}}}var z4=(Q,J=50,$=1/0,K=!0,Z="none")=>{let j=Q,U=[],q=0,_=0,W=()=>{U=j.map((Y,G)=>({def:Y,index:G,width:0,minWidth:W6(Y.minWidth??J,1),maxWidth:Y.maxWidth??$,resizable:Y.resizable??K,offset:0}))},B=()=>{if(Z==="none"||q<=0||q>=_)return;if(Z==="spacer"){q=_;return}let Y=_-q,G=q;for(let y=0;y<U.length;y++){let V=U[y];V.width=Y0(V.width+Y*(V.width/G),V.minWidth,V.maxWidth)}z()},L=(Y)=>{if(_=Y,U.length===0){q=0;return}let G=0,y=0;for(let V=0;V<U.length;V++){let X=U[V],f=X.def;if(f.width!==void 0)X.width=Y0(f.width,X.minWidth,X.maxWidth),G+=X.width;else y++}if(y){let X=Math.max(0,Y-G)/y;for(let f=0;f<U.length;f++){let l=U[f];if(l.def.width===void 0)l.width=Y0(X,l.minWidth,l.maxWidth)}}z(),B()},z=()=>{let Y=0;for(let G=0;G<U.length;G++){let y=U[G];y.offset=Y,Y+=y.width}q=Y},D=(Y,G)=>{if(Y<0||Y>=U.length)return 0;let y=U[Y];if(!y.resizable)return y.width;let V=Y0(G,y.minWidth,y.maxWidth);if(y.width=V,z(),Z==="spacer")B();return V},H=(Y)=>{return U[Y]},C=(Y)=>{if(U.length===0)return;if(Y<0)return U[0];if(Y>=q)return U[U.length-1];let G=0,y=U.length-1;while(G<y){let V=G+y>>>1,X=U[V];if(Y<X.offset)y=V-1;else if(Y>=X.offset+X.width)G=V+1;else return X}return U[G]},E=(Y)=>{if(Y<0||Y>=U.length)return 0;return U[Y].offset},P=(Y)=>{if(Y<0||Y>=U.length)return 0;return U[Y].width},h=(Y)=>{j=Y,W()};return W(),{get columns(){return U},get totalWidth(){return q},resolve:L,updateColumns:h,resizeColumn:D,getColumn:H,getColumnAtX:C,getColumnOffset:E,getColumnWidth:P}},Y0=(Q,J,$)=>Math.min($,Math.max(J,Q)),W6=(Q,J)=>Math.max(J,Q);var P4=(Q,J,$,K,Z,j)=>{let U=document.createElement("div");U.setAttribute("role","rowgroup");let q=document.createElement("div");q.className=`${$}-table-header`,q.setAttribute("role","row"),q.setAttribute("aria-rowindex","1"),q.style.height=`${J}px`;let _=document.createElement("div");_.className=`${$}-table-header-scroll`,_.setAttribute("role","presentation"),q.appendChild(_),U.appendChild(q),Q.insertBefore(U,Q.firstChild),Q.style.setProperty("--vlist-table-header-height",`${J}px`);let W=[],B=[],L=!0,z=null,D="asc",H=null,C=!1,E=-1,P=0,h=0,Y=0,G=(v,S)=>{let k=document.createElement("div");k.className=`${$}-table-header-cell`,k.setAttribute("role","columnheader"),k.setAttribute("aria-colindex",String(S+1)),k.setAttribute("tabindex",S===0?"0":"-1"),k.dataset.columnKey=v.def.key;let R=v.def.align;if(R==="center")k.classList.add(`${$}-table-header-cell--center`);else if(R==="right")k.classList.add(`${$}-table-header-cell--right`);let a=document.createElement("div");a.className=`${$}-table-header-content`;let n=v.def.header?v.def.header(v.def):v.def.label;if(typeof n==="string")a.textContent=n;else a.appendChild(n);if(k.appendChild(a),v.def.sortable){let s=document.createElement("span");s.className=`${$}-table-header-sort`,s.setAttribute("aria-hidden","true"),k.appendChild(s),B.push(s),k.classList.add(`${$}-table-header-cell--sortable`)}else B.push(null);if(v.resizable){let s=document.createElement("div");s.className=`${$}-table-header-resize`,s.dataset.resizeIndex=String(S),k.appendChild(s)}return k},y=(v)=>{H=v,_.textContent="",W=[],B=[];let S=v.columns;for(let k=0;k<S.length;k++){let R=S[k],a=G(R,k);W.push(a),_.appendChild(a)}if(V(v),z)X(z,D)},V=(v)=>{H=v;let S=v.columns;_.style.width=`${v.totalWidth}px`;for(let k=0;k<W.length&&k<S.length;k++){let R=W[k],a=S[k];R.style.width=`${a.width}px`}},X=(v,S)=>{if(z=v,D=S,!H)return;let k=H.columns;for(let R=0;R<B.length&&R<k.length;R++){let a=B[R];if(!a)continue;if(k[R].def.key===v)a.textContent=S==="asc"?"▲":"▼",a.style.opacity="0.7",W[R].setAttribute("aria-sort",S==="asc"?"ascending":"descending");else a.textContent="",a.style.opacity="0",W[R].removeAttribute("aria-sort")}},f=(v)=>{_.style.transform=`translateX(${-v}px)`},l=(v)=>{let S=v.target;if(!S.dataset.resizeIndex)return;if(v.preventDefault(),v.stopPropagation(),E=+S.dataset.resizeIndex,!H)return;let k=H.getColumn(E);if(!k?.resizable)return;C=!0,P=v.clientX,h=k.width,Q.classList.add(`${$}--col-resizing`),Q.style.cursor="col-resize",S.classList.add(`${$}-table-header-resize--active`),S.setPointerCapture(v.pointerId),S.addEventListener("pointermove",w),S.addEventListener("pointerup",x),S.addEventListener("pointercancel",x)},w=(v)=>{if(!C||!H)return;let S=v.clientX-P;if(Math.abs(S)<1)return;let k=Math.max(0,h+S);K(E,k)},x=(v)=>{if(!C)return;let S=v.target;S.removeEventListener("pointermove",w),S.removeEventListener("pointerup",x),S.removeEventListener("pointercancel",x);try{S.releasePointerCapture(v.pointerId)}catch{}S.classList.remove(`${$}-table-header-resize--active`),Q.classList.remove(`${$}--col-resizing`),Q.style.cursor="",C=!1,E=-1},r=(v)=>{let S=v.target;if(S.dataset.resizeIndex)return;if(C)return;let k=S;while(k&&!k.dataset.columnKey)if(k=k.parentElement,k===q||k===null)return;let R=k.dataset.columnKey;if(!H)return;let a=H.columns,n=-1;for(let F=0;F<a.length;F++)if(a[F].def.key===R){n=F;break}if(n===-1)return;let s=a[n];if(j)j({key:R,index:n,event:v});if(s.def.sortable&&Z){let F;if(z===R)F=D==="asc"?"desc":null;else F="asc";Z({key:R,index:n,direction:F})}},g=(v)=>{if(v<0||v>=W.length)return;W[Y]?.setAttribute("tabindex","-1"),Y=v;let S=W[Y];S.setAttribute("tabindex","0"),S.focus()},c=(v)=>{let S=v.key;if(S==="ArrowRight"){if(v.ctrlKey||v.metaKey){if(!H)return;let k=H.getColumn(Y);if(k?.resizable)K(Y,k.width+10),v.preventDefault()}else if(Y<W.length-1)g(Y+1),v.preventDefault();v.stopPropagation();return}if(S==="ArrowLeft"){if(v.ctrlKey||v.metaKey){if(!H)return;let k=H.getColumn(Y);if(k?.resizable)K(Y,k.width-10),v.preventDefault()}else if(Y>0)g(Y-1),v.preventDefault();v.stopPropagation();return}if(S==="Home"){g(0),v.preventDefault(),v.stopPropagation();return}if(S==="End"){g(W.length-1),v.preventDefault(),v.stopPropagation();return}if(S==="Enter"||S===" "){if(!H)return;let k=H.getColumn(Y);if(k?.def.sortable&&Z){let R;if(z===k.def.key)R=D==="asc"?"desc":null;else R="asc";Z({key:k.def.key,index:Y,direction:R}),v.preventDefault()}v.stopPropagation();return}if(S==="ArrowDown"){Q.focus(),v.preventDefault(),v.stopPropagation();return}};return q.addEventListener("pointerdown",l),q.addEventListener("click",r),q.addEventListener("keydown",c),{element:q,update:V,updateSort:X,rebuild:y,show:()=>{if(L)return;L=!0,q.style.display=""},hide:()=>{if(!L)return;L=!1,q.style.display="none"},destroy:()=>{q.removeEventListener("pointerdown",l),q.removeEventListener("click",r),q.removeEventListener("keydown",c),Q.style.removeProperty("--vlist-table-header-height"),U.remove(),W=[],B=[],H=null,L=!1},syncScroll:f}};var V6=()=>{let Q=[];return{acquire:()=>Q.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(J),Q.length<200)J.className="",J.removeAttribute("data-id"),J.removeAttribute("data-index"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-rowindex"),J.removeAttribute("role"),J.style.cssText="",J.textContent="",Q.push(J)},clear:()=>{Q.length=0}}},w4=(Q,J,$,K,Z,j,U,q,_)=>{let W=V6(),B=new Map,L=-1,z=$,D=null,H=null,C=null,E=(O,m)=>{H=O,C=m},P=(O,m)=>{m?O.setAttribute("aria-selected","true"):O.removeAttribute("aria-selected")},h=(O,m,Z2,o)=>{O.setAttribute("role",m),O.setAttribute("data-id",String(Z2)),O.setAttribute("data-index",String(o))},Y=(O)=>String(O).startsWith("__placeholder_"),G=`${Z}-item ${Z}-table-row`,y=`${Z}-item--selected`,V=`${Z}-item--focused`,X=`${Z}-table-cell`,f=`${Z}-table-cell--center`,l=`${Z}-table-cell--right`,w=`${Z}-table-cell-skeleton`,x=`${Z}-item--odd`,r=`${Z}-item--placeholder`,g=`${Z}-item--replaced`,c=`${Z}-table-row ${Z}-table-group-header`,K2=`${Z}-table-group-header-content`,Q2=(O,m,Z2,o,J2=!1)=>{if(Z2.def.cell){let t=Z2.def.cell(m,Z2.def,o);if(typeof t==="string")O.innerHTML=t;else O.replaceChildren(t)}else{let t=m[Z2.def.key],U2=t!=null?String(t):"";if(J2&&U2)O.innerHTML=`<span>${U2}</span>`;else O.textContent=U2}if(J2&&O.firstElementChild===null){O.replaceChildren();let t=document.createElement("span");t.className=w,O.appendChild(t)}},d=(O,m,Z2,o,J2=!1)=>{let t=G;if(q){if(D){let U2=D(m);if(U2>=0&&(U2&1)===1)t+=` ${x}`}else if((m&1)===1)t+=` ${x}`}if(J2)t+=` ${r}`;if(Z2)t+=` ${y}`;if(o)t+=` ${V}`;O.className=t},v=(O,m,Z2)=>{if(Z2?.compression?.isCompressed)return Math.round(I2(O,Z2.scrollPosition,m,Z2.totalItems,Z2.containerSize,Z2.compression,Z2.rangeStart));return m.getOffset(O)},S=(O,m)=>{let Z2=m.def.align;if(Z2==="center")O.classList.add(f),O.classList.remove(l);else if(Z2==="right")O.classList.add(l),O.classList.remove(f);else O.classList.remove(f,l)},k=(O,m)=>{let o=z.columns.length;if(m.length===o)return m;let J2=[];for(let t=0;t<o;t++){let U2;if(t<m.length)U2=m[t];else U2=document.createElement("div"),U2.className=X,O.appendChild(U2);J2.push(U2)}for(let t=o;t<m.length;t++)m[t].remove();return J2},R=(O,m,Z2,o)=>{let J2=W.acquire(),t=O,U2=Z2.getSize(m),W2=v(m,Z2,o);J2.style.cssText=`width:${z.totalWidth}px;height:${U2}px;transform:translateY(${W2}px)`,J2.className=c,h(J2,"presentation",O.id,m),J2.removeAttribute("aria-selected"),J2.removeAttribute("aria-rowindex"),J2.replaceChildren();let L2=document.createElement("div");if(L2.className=K2,C){let p=C(t.groupKey,t.groupIndex);if(typeof p==="string")L2.innerHTML=p;else L2.appendChild(p)}return J2.appendChild(L2),{element:J2,cells:[],index:m,isGroupHeader:!0,_lastItem:O,lastItemId:O.id,lastSelected:!1,lastFocused:!1,lastOffset:W2,lastHeight:U2}},a=(O,m,Z2,o,J2,t)=>{let U2=W.acquire(),W2=J2.getSize(m),L2=v(m,J2,t),p=Y(O.id);U2.style.cssText=`width:${z.totalWidth}px;height:${W2}px;transform:translateY(${L2}px)`,d(U2,m,Z2,o,p),h(U2,"row",O.id,m),U2.id=`${j}-item-${m}`,U2.setAttribute("aria-rowindex",String(m+2)),P(U2,Z2);let j2=k(U2,[]),i=z.columns;for(let Y2=0;Y2<j2.length&&Y2<i.length;Y2++){let M2=j2[Y2],_2=i[Y2];M2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,M2.setAttribute("role","gridcell"),M2.setAttribute("aria-colindex",String(Y2+1)),S(M2,_2),Q2(M2,O,_2,m,p)}return{element:U2,cells:j2,index:m,isGroupHeader:!1,_lastItem:O,lastItemId:O.id,lastSelected:Z2,lastFocused:o,lastOffset:L2,lastHeight:W2}},n=(O,m,Z2,o,J2)=>{let t=!1,U2=U();if(U2!==L)L=U2,t=!0;let W2=null,L2=J();D=typeof q==="string"&&_?_():null;for(let p=m.start;p<=m.end;p++){let j2=p-m.start,i=O[j2];if(!i)continue;let Y2=Z2.has(i.id),M2=p===o,_2=H?H(i):!1,B2=B.get(p);if(B2){if(B2.isGroupHeader!==_2){W.release(B2.element),B.delete(p);let R2=_2?R(i,p,L2,J2):a(i,p,Y2,M2,L2,J2);if(B.set(p,R2),!W2)W2=document.createDocumentFragment();W2.appendChild(R2.element);continue}if(_2){if(B2._lastItem!==i){let k2=i,z2=B2.element.firstElementChild;if(z2&&C){let G2=C(k2.groupKey,k2.groupIndex);if(typeof G2==="string")z2.innerHTML=G2;else z2.replaceChildren(G2)}B2.element.setAttribute("data-id",String(i.id)),B2._lastItem=i,B2.lastItemId=i.id}let P2=v(p,L2,J2);if(B2.lastOffset!==P2)B2.lastOffset=P2,B2.element.style.transform=`translateY(${P2}px)`;let b2=L2.getSize(p);if(B2.lastHeight!==b2)B2.lastHeight=b2,B2.element.style.height=`${b2}px`}else{let R2=B2._lastItem!==i,P2=B2.lastSelected!==Y2,b2=B2.lastFocused!==M2;if(R2){let G2=B2.lastItemId!=null&&Y(B2.lastItemId),H2=Y(i.id);if(!H2&&o2(Z2,p,i.id))Y2=!0;let D2=z.columns;for(let F2=0;F2<B2.cells.length&&F2<D2.length;F2++)Q2(B2.cells[F2],i,D2[F2],p,H2);if(d(B2.element,p,Y2,M2,H2),B2.element.setAttribute("data-id",String(i.id)),P(B2.element,Y2),G2&&!H2)B2.element.classList.add(g),setTimeout(()=>{B2.element.classList.remove(g)},300);B2._lastItem=i,B2.lastItemId=i.id,B2.lastSelected=Y2,B2.lastFocused=M2}else if(P2||b2)d(B2.element,p,Y2,M2,Y(i.id)),P(B2.element,Y2),B2.lastSelected=Y2,B2.lastFocused=M2;let k2=v(p,L2,J2);if(B2.lastOffset!==k2)B2.lastOffset=k2,B2.element.style.transform=`translateY(${k2}px)`;let z2=L2.getSize(p);if(B2.lastHeight!==z2)B2.lastHeight=z2,B2.element.style.height=`${z2}px`;if(t)B2.element.setAttribute("aria-rowindex",String(p+2))}}else{if(o2(Z2,p,i.id))Y2=!0;let R2=_2?R(i,p,L2,J2):a(i,p,Y2,M2,L2,J2);if(B.set(p,R2),!W2)W2=document.createDocumentFragment();W2.appendChild(R2.element)}}if(W2)Q.appendChild(W2);for(let[p,j2]of B)if(p<m.start||p>m.end)W.release(j2.element),B.delete(p)},s=(O)=>{let m=J();for(let[Z2,o]of B){let J2=v(Z2,m,O);if(o.lastOffset!==J2)o.lastOffset=J2,o.element.style.transform=`translateY(${J2}px)`}},F=(O,m,Z2,o)=>{let J2=B.get(O);if(!J2)return;if(J2.isGroupHeader)return;let t=z.columns;for(let U2=0;U2<J2.cells.length&&U2<t.length;U2++)Q2(J2.cells[U2],m,t[U2],O);J2.element.setAttribute("data-id",String(m.id)),J2._lastItem=m,J2.lastItemId=m.id,d(J2.element,O,Z2,o),P(J2.element,Z2),J2.lastSelected=Z2,J2.lastFocused=o},A=(O,m,Z2)=>{let o=B.get(O);if(!o)return;if(o.isGroupHeader)return;let J2=o.lastSelected!==m,t=o.lastFocused!==Z2;if(J2||t)d(o.element,O,m,Z2),P(o.element,m),o.lastSelected=m,o.lastFocused=Z2},I=(O)=>{z=O;let m=O.columns;for(let[,Z2]of B)if(Z2.element.style.width=`${O.totalWidth}px`,Z2.cells.length>0)for(let o=0;o<Z2.cells.length&&o<m.length;o++){let J2=Z2.cells[o],t=m[o];J2.style.left=`${t.offset}px`,J2.style.width=`${t.width}px`}},u=(O)=>{return B.get(O)?.element},M=()=>{for(let[,O]of B)W.release(O.element);B.clear(),L=-1};return{render:n,updatePositions:s,updateItem:F,updateItemClasses:A,getElement:u,updateColumnLayout:I,setGroupHeaderFn:E,clear:M,destroy:()=>{M(),W.clear()}}};var _6=new Set;function P0(Q){if(!Q.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(Q.rowHeight===void 0&&Q.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,$=null,K=null,Z,j,U=null,q=null,_=null,W=!1,B=-1,L=null,z=!1;function D(){if(W||!U)return;W=!0,q=U.getMethod("_getSelectedIds")??null,_=U.getMethod("_getFocusedIndex")??null}function H(){if(z||!U)return;z=!0,L=U.getMethod("_scale:getCompression")??null}let C=[],E={start:0,end:0},P={start:0,end:-1};function h(){if(Z.destroyed||!U||!K||!J)return;let{containerSize:G,totalItems:y}=Z;if(G<=0||y===0)return;let V=y+1;if(V!==B)B=V,U.dom.root.setAttribute("aria-rowcount",`${V}`);H();let X=Z.scrollPosition,f=L?.()??null,l=f!==null&&f.isCompressed,w=U.config.overscan,x,r;if(l)x2(X,G,j,y,f,P),x=Math.max(0,P.start-w),r=Math.min(y-1,P.end+w);else{let v=j.indexAtOffset(X),S=j.indexAtOffset(X+G);if(S<y-1)S++;v=Math.max(0,v),S=Math.min(y-1,S),x=Math.max(0,v-w),r=Math.min(y-1,S+w)}if(x===Z.prevRangeStart&&r===Z.prevRangeEnd&&!Z.renderPending)return;D();let g=q?.()??_6,c=_?.()??-1;C.length=0;for(let v=x;v<=r;v++){let S=U.getItem(v);if(S)C.push(S)}E.start=x,E.end=r;let K2;if(l)K2={scrollPosition:X,totalItems:y,containerSize:G,rangeStart:x,compression:f};K.render(C,E,g,c,K2),Z.prevRangeStart=x,Z.prevRangeEnd=r,Z.renderPending=!1;let Q2=r-x+1;Z.visibleCount=Math.min(Q2,Z.capacity),Z.startIndex=x;for(let v=0;v<Z.visibleCount;v++){let S=x+v;Z.visibleIndices[v]=S,Z.visibleOffsets[v]=j.getOffset(S),Z.visibleSizes[v]=j.getSize(S)}let d=j.getTotalSize();Z.totalSize=d,U.dom.content.style.height=d+"px"}function Y(){if(Z.destroyed)return;Z.prevRangeStart=-1,Z.prevRangeEnd=-1,Z.renderPending=!0,h()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(G){U=G,Z=G.getState(),j=G.sizeCache;let{dom:y,config:V,emitter:X}=G,{classPrefix:f}=V;if(V.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(V.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let l=Q.resizable??!0,w=Q.minColumnWidth??50,x=Q.maxColumnWidth??1/0,r=Q.fillWidth===!1?"none":Q.fillWidth===!0?"stretch":Q.fillWidth??"spacer",g=Q.rowBorders??!0,c=Q.rowHeight,K2=Q.headerHeight??(typeof c==="number"?c:40),Q2=Q.sort?.key??null,d=Q.sort?.direction??"asc";if(J=z4(Q.columns,w,x,l,r),typeof c==="function"||typeof c==="number")G.setSizeConfig(c);if(G.rebuildSizeCache(),y.root.classList.add(`${f}--table`),g)y.root.classList.add(`${f}--table-row-borders`);if(Q.columnBorders)y.root.classList.add(`${f}--table-col-borders`);queueMicrotask(()=>{if(G.getMethod("_getSelectedIds"))y.root.setAttribute("tabindex","0")}),y.root.setAttribute("role","grid"),y.root.setAttribute("aria-colcount",`${Q.columns.length}`),y.viewport.setAttribute("role","none"),y.content.setAttribute("role","rowgroup");let v=Z.crossSize;J.resolve(v);let S=()=>{if(!J)return;y.content.style.minWidth=`${J.totalWidth}px`},k=(F,A)=>{if(!J)return;let I=J.getColumn(F);if(!I)return;let u=I.width,M=J.resizeColumn(F,A);$?.update(J),K?.updateColumnLayout(J),S(),X.emit("column:resize",{key:I.def.key,index:F,previousWidth:u,width:M})},R=(F)=>{Q2=F.direction===null?null:F.key,d=F.direction??"asc",$?.updateSort(Q2,d),X.emit("column:sort",F)};if($=P4(y.root,K2,f,k,R),$.rebuild(J),Q2)$.updateSort(Q2,d);S(),K=w4(y.content,()=>j,J,Q.columns,f,f,()=>Z.totalItems,V.striped||void 0),G.setRenderFn(h,Y);let a=$,n=-1,s=()=>{let F=y.viewport.scrollLeft;if(F!==n)n=F,a?.syncScroll?.(F)};y.viewport.addEventListener("scroll",s,{passive:!0}),G.registerMethod("updateColumns",(F)=>{if(!J||!$)return;if(J.updateColumns(F),J.resolve(Z.crossSize),$.rebuild(J),Q2)$.updateSort(Q2,d);S(),K?.updateColumnLayout(J),K?.clear(),G.forceRender()}),G.registerMethod("resizeColumn",(F,A)=>{if(!J)return;let I;if(typeof F==="string"){let u=J.columns;I=-1;for(let M=0;M<u.length;M++)if(u[M].def.key===F){I=M;break}if(I===-1)return}else I=F;k(I,A)}),G.registerMethod("getColumnWidths",()=>{if(!J)return{};let F={},A=J.columns;for(let I=0;I<A.length;I++)F[A[I].def.key]=A[I].width;return F}),G.registerMethod("setSort",(F,A)=>{Q2=F,d=A??"asc",$?.updateSort(Q2,d)}),G.registerMethod("getSort",()=>{return{key:Q2,direction:d}}),G.registerMethod("_getTableLayout",()=>J),G.registerMethod("_getTableHeaderHeight",()=>K2),G.registerMethod("_updateRenderedItem",(F,A,I,u)=>{K?.updateItem(F,A,I,u)}),G.registerMethod("_replaceTableRenderer",(F)=>{K=F}),G.registerMethod("_updateTableForGroups",(F,A)=>{K?.setGroupHeaderFn(F,A)}),G.registerMethod("_updateItemClasses",(F,A,I)=>{K?.updateItemClasses(F,A,I)}),G.registerKeydownHandler((F)=>{if(F.key!=="ArrowLeft"&&F.key!=="ArrowRight")return;if(!J)return;let A=J.columns;if(A.length===0)return;let I=y.viewport.clientWidth;if(J.totalWidth<=I)return;let u=y.viewport.scrollLeft;if(F.key==="ArrowRight"){for(let M=0;M<A.length;M++)if(A[M].offset>u+1){y.viewport.scrollLeft=A[M].offset,F.preventDefault();return}}else{for(let M=A.length-1;M>=0;M--)if(A[M].offset<u-1){y.viewport.scrollLeft=A[M].offset,F.preventDefault();return}if(u>0)y.viewport.scrollLeft=0,F.preventDefault()}}),G.registerDestroyHandler(()=>{y.viewport.removeEventListener("scroll",s),$?.destroy(),$=null,K?.destroy(),K=null,y.content.style.minWidth="",y.root.classList.remove(`${f}--table`),y.root.classList.remove(`${f}--table-row-borders`),y.root.classList.remove(`${f}--table-col-borders`),y.root.removeAttribute("role"),y.root.removeAttribute("aria-colcount"),y.root.removeAttribute("aria-rowcount"),y.root.removeAttribute("tabindex"),y.viewport.removeAttribute("role"),y.content.removeAttribute("role")})},hooks:{onResize(G,y){if(!J||!U)return;let V=Z.crossSize;if(J.resolve(V),$?.update(J),K?.updateColumnLayout(J),J)U.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!U||!$)return;$?.syncScroll?.(U.dom.viewport.scrollLeft)}},destroy(){$?.destroy(),$=null,K?.destroy(),K=null,U=null}}}function w0(Q){let J=Q?.handle??null,$=Q?.ghostClass??"vlist-sort-ghost",K=Q?.shiftDuration??150,Z=Q?.edgeScrollZone??40,j=Q?.edgeScrollSpeed??20,U=Q?.dragThreshold??5,q=Q?.ghostContainer??null,_,W,B=null,L,z,D,H,C,E,P,h,Y,G,y=!1,V=-1,X=-1,f=0,l=0,w=0,x=0,r=!1,g=null,c=0,K2=null,Q2=0,d=0,v=0,S=null,k=!1,R="",a=-1,n=-1,s=[],F="",A=null,I=null,u="",M=!1,T=(N)=>{return N.closest("[data-index]")},O=(N)=>{let $2=N.dataset.index;return $2===void 0?-1:+$2},m=(N)=>{let $2=N.getBoundingClientRect(),V2=N.cloneNode(!0);return V2.className=`${H}-item ${$}`,V2.removeAttribute("data-index"),V2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${$2.width}px;height:${$2.height}px;left:${$2.left}px;top:${$2.top}px;transition:none;will-change:transform`,(q||document.body).appendChild(V2),V2},Z2=()=>{if(!g)return;g.style.left=`${w-d}px`,g.style.top=`${x-v}px`},o=()=>{let N=_.totalItems;if(N===0)return 0;let $2=z.getBoundingClientRect(),V2=_.scrollPosition,e=C?w-d-$2.left+z.scrollLeft+V2:x-v-$2.top+V2,q2=e+Q2,A2=W.getOffset(V)+W.getSize(V);if(q2>A2){let y2=W.indexAtOffset(q2),v2=W.getOffset(y2)+W.getSize(y2)/2,S2=q2>v2?y2:y2-1;return Math.min(Math.max(S2,V),N-1)}let E2=W.getOffset(V);if(e<E2){let y2=W.indexAtOffset(e),v2=W.getOffset(y2)+W.getSize(y2)/2,S2=e<v2?y2:y2+1;return Math.max(Math.min(S2,V),0)}return V},J2=()=>{let N=L.children,$2=Q2;for(let V2=0;V2<N.length;V2++){let e=N[V2],q2=O(e);if(q2<0||q2===V)continue;let A2=0;if(X>V){if(q2>V&&q2<=X)A2=-$2}else if(X<V){if(q2>=X&&q2<V)A2=$2}let E2=W.getOffset(q2),y2=Math.round(E2+A2);e.style.transition=P,e.style.transform=`${E}(${y2}px)`}},t=()=>{let N=L.children;for(let $2=0;$2<N.length;$2++){let V2=N[$2],e=O(V2);if(e>=0)V2.style.transform=`${E}(${Math.round(W.getOffset(e))}px)`;V2.style.transition=""}},U2=()=>{if(!B)return;let N=o();if(N===X)return;X=N,J2(),B.emitter.emit("sort:move",{fromIndex:V,currentIndex:X})},W2=()=>{let N=z.getBoundingClientRect();if(C)return w<N.left||w>N.right;return x<N.top||x>N.bottom},L2=()=>{let N=B?.getMethod("_getFocusedIndex");return N?N():-1},p=(N)=>{let $2=B?.getMethod("_focusById");if($2)$2(N)},j2=(N)=>{if(!B)return;let $2=C?z.clientWidth:z.clientHeight,V2=_.scrollPosition,e=W.getOffset(N),q2=e+W.getSize(N);if(e<V2)B.scrollTo(Math.max(0,e));else if(q2>V2+$2)B.scrollTo(q2-$2)},i=(N)=>{if(!I)return;I.textContent="",I.offsetHeight,I.textContent=N},Y2=(N)=>{if(!B)return"";let V2=B.getItems()[N];if(!V2)return"";return L.querySelector(`[data-index="${N}"]`)?.textContent?.trim()||String(V2.id)},M2=()=>String(_.totalItems),_2=(N)=>{let $2=L.children;for(let V2=0;V2<$2.length;V2++)$2[V2].style.transition=N},B2=()=>{let N=()=>{if(!y||!B)return;let $2=z.getBoundingClientRect(),V2=0,e=3;if(C){let A2=w-$2.left,E2=$2.right-w;if(A2<Z){let y2=Math.min(e,1-A2/Z);V2=-j*y2*y2}else if(E2<Z){let y2=Math.min(e,1-E2/Z);V2=j*y2*y2}}else{let A2=x-$2.top,E2=$2.bottom-x;if(A2<Z){let y2=Math.min(e,1-A2/Z);V2=-j*y2*y2}else if(E2<Z){let y2=Math.min(e,1-E2/Z);V2=j*y2*y2}}let q2=W2();if(V2!==0){let A2=_.scrollPosition,E2=W.getTotalSize()-(C?z.clientWidth:z.clientHeight);if(V2<0&&A2<=0||V2>0&&A2>=E2)M=q2;else M=!0,B.scrollTo(A2+V2)}else M=q2;c=requestAnimationFrame(N)};c=requestAnimationFrame(N)},R2=()=>{if(c)cancelAnimationFrame(c),c=0},P2=(N=!1)=>{if(y=!1,r=!1,g&&g.parentNode)g.remove();g=null,K2=null;let $2=L.children;for(let e=0;e<$2.length;e++){let q2=$2[e];q2.classList.remove(G);let A2=O(q2);if(A2>=0)q2.style.transform=`${E}(${Math.round(W.getOffset(A2))}px)`;q2.style.transition=""}R2(),D.classList.remove(h),document.body.style.cursor="";let V2=window.getSelection();if(V2)V2.removeAllRanges();if(document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),!N&&B)B.forceRender()},b2=(N,$2)=>{if(!B)return;let V2=N!==$2&&N>=0&&$2>=0,e=()=>{if(!B)return;if(y=!1,V2){if(D.classList.add(Y),B.emitter.emit("sort:end",{fromIndex:N,toIndex:$2}),S!==null)p(S);P2(!0),requestAnimationFrame(()=>D.classList.remove(Y))}else D.classList.add(Y),B.emitter.emit("sort:cancel",{originalItems:[...B.getItems()]}),P2(!1),requestAnimationFrame(()=>D.classList.remove(Y))};if(!g){e();return}let q2=z.getBoundingClientRect(),A2=_.scrollPosition,E2=W.getOffset($2),y2=K>0?K:150;if(g.style.transition=`left ${y2}ms ease, top ${y2}ms ease`,C)g.style.left=`${q2.left-z.scrollLeft+E2-A2}px`,g.style.top=`${q2.top}px`;else g.style.left=`${q2.left}px`,g.style.top=`${q2.top+E2-A2}px`;let v2=!1,S2=()=>{if(v2)return;v2=!0,g?.removeEventListener("transitionend",S2),e()};g.addEventListener("transitionend",S2),setTimeout(S2,y2+50)},k2=(N)=>{if(_.destroyed||!B)return;if(y)return;if(k)T2();if(N.button!==0)return;let $2=N.target;if(J){if(!$2.closest(J))return}let V2=T($2);if(!V2)return;let e=O(V2);if(e<0)return;f=N.clientX,l=N.clientY,w=N.clientX,x=N.clientY,V=e,r=!1,K2=V2;let q2=V2.getBoundingClientRect();d=N.clientX-q2.left,v=N.clientY-q2.top,document.addEventListener("pointermove",z2),document.addEventListener("pointerup",G2),document.addEventListener("pointercancel",D2)};function z2(N){if(!B)return;if(w=N.clientX,x=N.clientY,!r){let $2=w-f,V2=x-l;if(Math.sqrt($2*$2+V2*V2)<U)return;if(r=!0,y=!0,X=V,D.classList.add(h),document.body.style.cursor="grabbing",Q2=W.getSize(V),K2)g=m(K2),K2.classList.add(G);let e=L2();if(e>=0){let A2=B.getItems()[e];S=A2?A2.id:null}else S=null;B.emitter.emit("sort:start",{index:V}),B2()}if(y){if(N.preventDefault(),Z2(),!M)U2();else if(W2()){if(X!==V)X=V,t()}}}function G2(N){if(!r){document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),K2=null;return}N.preventDefault(),document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),R2(),b2(V,X)}let H2=()=>{if(!r)return;document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),R2(),t(),b2(V,V)};function D2(){H2()}let F2=()=>{let N=L.querySelectorAll(`.${u}`);for(let $2=0;$2<N.length;$2++)N[$2].classList.remove(u)},b=()=>{F2();let N=L.querySelector(`[data-id="${R}"]`);if(N)N.classList.add(u)},X2=(N)=>{if(!B)return;let $2=B.getItems(),V2=$2[N];if(!V2)return;k=!0,R=V2.id,a=N,n=N,s=[...$2],D.classList.add(h),B.emitter.emit("sort:start",{index:N}),b(),i(`Grabbed ${Y2(N)}. Current position ${N+1} of ${M2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},O2=()=>{if(!k||!B)return;k=!1;let N=n,$2=Y2(N);_2("none"),D.classList.remove(h),F2(),p(R),B.forceRender(),i(`${$2} dropped. Final position ${N+1} of ${M2()}.`),s=[],requestAnimationFrame(()=>_2(""))},T2=()=>{if(!k||!B)return;k=!1;let N=a;if(_2("none"),D.classList.remove(h),F2(),n!==N)B.emitter.emit("sort:cancel",{originalItems:s});p(R),B.forceRender(),j2(N),i(`Reorder cancelled. Returned to position ${N+1} of ${M2()}.`),s=[],requestAnimationFrame(()=>_2(""))},w2=(N)=>{if(!k||!B)return;let $2=_.totalItems,V2=n+N;if(V2<0||V2>=$2)return;let e=n,q2=V2;_2("none"),B.emitter.emit("sort:end",{fromIndex:e,toIndex:q2}),n=q2,p(R),B.forceRender(),j2(q2),b(),i(`${Y2(q2)} moved. New position ${q2+1} of ${M2()}.`),requestAnimationFrame(()=>_2(""))},N2=(N)=>{if(_.destroyed)return;if(y){if(N.key==="Escape")N.preventDefault(),N.stopImmediatePropagation(),H2();return}if(k)switch(N.key){case" ":case"Enter":N.preventDefault(),N.stopImmediatePropagation(),O2();return;case"Escape":N.preventDefault(),N.stopImmediatePropagation(),T2();return;case"ArrowUp":case"ArrowLeft":N.preventDefault(),N.stopImmediatePropagation(),w2(-1);return;case"ArrowDown":case"ArrowRight":N.preventDefault(),N.stopImmediatePropagation(),w2(1);return;default:if(!N.key.startsWith("F")&&N.key!=="Tab")N.preventDefault(),N.stopImmediatePropagation();return}if(N.key===" "&&!N.shiftKey&&!N.ctrlKey&&!N.metaKey){let $2=L2();if($2>=0)N.preventDefault(),N.stopImmediatePropagation(),X2($2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(N){B=N,_=N.getState(),W=N.sizeCache,L=N.dom.content,z=N.dom.viewport,D=N.dom.root,H=N.config.classPrefix,C=N.config.axis.primary==="x",E=C?"translateX":"translateY",P=K>0?`transform ${K}ms ease`:"none",h=`${H}--sorting`,Y=`${H}--settling`,G=`${H}-item--drag-source`,u=`${H}-item--kb-sorting`,N.registerMethod("isSorting",()=>y||k),L.addEventListener("pointerdown",k2),D.addEventListener("keydown",N2),F=`${H}-sort-instructions`,A=document.createElement("div"),A.id=F,A.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",A.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",D.appendChild(A),I=document.createElement("div"),I.setAttribute("role","status"),I.setAttribute("aria-live","assertive"),I.setAttribute("aria-atomic","true"),I.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",D.appendChild(I),N.registerDestroyHandler(()=>{if(k)T2();P2(),L.removeEventListener("pointerdown",k2),D.removeEventListener("keydown",N2),A?.remove(),I?.remove()})},hooks:{onCommit(){if(!B)return;let N=L.children;for(let $2=0;$2<N.length;$2++){let V2=N[$2],e=O(V2);if(e<0)continue;if(V2.setAttribute("aria-roledescription","sortable item"),V2.setAttribute("aria-describedby",F),k)if(V2.getAttribute("data-id")===String(R))V2.classList.add(u);else V2.classList.remove(u);if(y)if(e===V)V2.classList.add(G),K2=V2;else{V2.classList.remove(G);let q2=0;if(X>V){if(e>V&&e<=X)q2=-Q2}else if(X<V){if(e>=X&&e<V)q2=Q2}let A2=Math.round(W.getOffset(e)+q2);V2.style.transform=`${E}(${A2}px)`}}}},destroy(){if(g&&g.parentNode)g.remove();g=null,R2(),A?.remove(),I?.remove(),B=null}}}function y0(Q,J){let $=[],K=J,Z=new Map,j=[];function U(){Z.clear();for(let V=0;V<$.length;V++)Z.set($[V].id,V)}function q(V){let X=$[V].depth,f=0;for(let l=V+1;l<$.length;l++){if($[l].depth<=X)break;f++}return f}function _(V,X,f,l){for(let w=0;w<V.length;w++){let x=V[w],r=x.id,g=Q(x),c=g.length>0,K2=c&&K.has(r);if(l.push({item:x,id:r,depth:f,parentId:X,hasChildren:c,expanded:K2,childCount:g.length,siblingCount:V.length,positionInSiblings:w,isLastChild:w===V.length-1,loading:!1}),K2)_(g,r,f+1,l)}}function W(V,X,f){for(let l of V){if(l.id===X)return l;let w=Q(l);if(w.length>0){f?.push(l.id);let x=W(w,X,f);if(x)return x;f?.pop()}}return}function B(V,X){if(X===null)return j;let f=W(j,X);return f?Q(f):[]}function L(V,X){let f=W(j,X);if(!f)return!1;return W(Q(f),V)!==void 0}function z(V){let X=new Set;function f(l){for(let w of l){if(X.has(w.id))throw Error(`[vlist] tree: duplicate id "${w.id}"`);X.add(w.id);let x=Q(w);if(x.length>0)f(x)}}f(V)}function D(V,X){if(j=V,!X)z(V);$.length=0,_(V,null,0,$),U()}function H(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X];if(!f.hasChildren||f.expanded)return 0;let l=[],w=Q(f.item);if(_(w,V,f.depth+1,l),l.length===0)return 0;f.expanded=!0,K.add(V);let x=X+1,r=$.splice(x);for(let g=0;g<l.length;g++)$.push(l[g]);for(let g=0;g<r.length;g++)$.push(r[g]);return U(),l.length}function C(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X];if(!f.hasChildren||!f.expanded)return 0;f.expanded=!1,K.delete(V);let l=q(X);if(l>0)$.splice(X+1,l),U();return l}function E(V){function X(f){for(let l of f){let w=Q(l);if(w.length>0)K.add(l.id),X(w)}}X(V),D(V)}function P(){K.clear(),D(j,!0)}function h(V){let X=[];if(!W(j,V,X))return;for(let f of X)K.add(f);D(j,!0)}function Y(V,X,f){if(Z.has(X.id)||W(j,X.id))throw Error(`[vlist] tree: duplicate id "${X.id}"`);if(V===null){let g=j,c=f??g.length;g.splice(c,0,X),D(j,!0);return}let l=Z.get(V);if(l===void 0)throw Error(`[vlist] tree: parent "${V}" not found`);let w=$[l],x=Q(w.item),r=f??x.length;if(x.splice(r,0,X),!w.hasChildren)w.hasChildren=!0,w.childCount=1,w.expanded=!1;else w.childCount=x.length;if(w.expanded)D(j,!0);else U()}function G(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X],w=q(X)+1;for(let g=X;g<X+w;g++)K.delete($[g].id);if($.splice(X,w),f.parentId!==null){let g=Z.get(f.parentId);if(g!==void 0){let c=$[g];if(c.childCount--,c.childCount===0)c.hasChildren=!1,c.expanded=!1,K.delete(c.id)}}let x=B(V,f.parentId),r=x.findIndex((g)=>g.id===V);if(r>=0)x.splice(r,1);return D(j,!0),w}function y(V,X,f){if(X!==null&&L(X,V))throw Error(`[vlist] tree: cannot move "${V}" to its own descendant "${X}"`);if(V===X)throw Error(`[vlist] tree: cannot move "${V}" to itself`);let l=Z.get(V);if(l===void 0)return;let w=$[l],x=B(V,w.parentId),r=x.findIndex((g)=>g.id===V);if(r>=0)x.splice(r,1);if(X===null){let g=j,c=f??g.length;g.splice(c,0,w.item)}else{let g=W(j,X);if(!g)throw Error(`[vlist] tree: new parent "${X}" not found`);let c=Q(g),K2=f??c.length;c.splice(K2,0,w.item)}D(j,!0)}return{flatNodes:$,expandedIds:K,idToIndex:Z,rebuild:D,expand:H,collapse:C,expandAll:E,collapseAll:P,expandTo:h,getSubtreeSize:q,addChild:Y,removeNode:G,moveNode:y,get totalVisible(){return $.length},get rootItems(){return j}}}var N6=()=>[];function X6(Q){let{children:J,parentId:$}=Q;if($!==void 0)return N6;if(J===void 0||J==="children")return(K)=>K.children??[];if(typeof J==="string"){let K=J;return(Z)=>Z[K]??[]}return J}function M6(Q){let{label:J}=Q;if(J===void 0)return($)=>{let K=$;return String(K.name??K.label??K.title??$.id)};if(typeof J==="string"){let $=J;return(K)=>String(K[$]??K.id)}return J}function D6(Q,J,$){let{expanded:K}=Q,Z=new Set;if(K===void 0||K===!1)return Z;if(Array.isArray(K)){for(let q of K)Z.add(q);return Z}let j=K===!0?null:K;function U(q){for(let _ of q){let W=$(_);if(W.length>0){if(!j||j(_))Z.add(_.id);U(W)}}}return U(J),Z}function y4(Q,J){let{parentId:$}=J;if($===void 0)throw Error("[vlist] tree: parentId not set");let K=typeof $==="string"?(q)=>q[$]??null:$,Z=(q)=>K(q)??null,j=new Map,U=new Map;for(let q of Q){U.set(q.id,q);let _=Z(q),W=j.get(_);if(!W)W=[],j.set(_,W);W.push(q)}for(let q of Q){let _=Z(q);if(_!==null&&_!==void 0&&!U.has(_))console.warn(`[vlist] tree: orphaned node "${q.id}" — parentId "${_}" not found`)}return{roots:j.get(null)??[],getChildren:(q)=>{let _=j.get(q.id);if(!_)_=[],j.set(q.id,_);return _}}}var g2={selected:!1,focused:!1},l2={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g2.tree=l2;function v0(Q){let J=Q??{},$=J.indent??24,K=J.paddingStart??0,Z=J.expandOnClick??!1,j=J.connectorLines??!1,U=J.parentId!==void 0,q,_,W,B,L,z,D,H,C,E,P=null,h,Y,G,y=null,V=!1,X,f,l,w,x,r,g,c=new Map,K2=-1,Q2=-1,d=-1,v=!0,S=null,k=!1,R,a=-1,n=!1,s=!1,F="",A=null,I={start:0,end:-1};function u(){if(V)return;V=!0,y=h("_scale:getCompression")??null}function M(){if(s){let b=h("_getFocusedIndex");return b?b():-1}return n?a:-1}let T,O,m;function Z2(){if(O!==void 0)return;T=h("select")??null,O=h("_focusById")??null,m=h("_isFollowFocus")??null}function o(b){if(b<0||b>=q.totalVisible)return;let X2=q.flatNodes[b];if(!X2)return;if(s){if(Z2(),O)O(X2.id);if(m?.()&&T)T(X2.id);else U2();J2(b)}else a=b,n=!0,L.setAttribute("aria-activedescendant",`${C}-item-${b}`),J2(b),U2()}function J2(b){let X2=_.getOffset(b),O2=_.getSize(b),T2=W.scrollPosition,w2=W.containerSize;if(X2<T2)t(X2);else if(X2+O2>T2+w2)t(X2-w2+O2)}let t,U2,W2;function L2(b){return H?`translate(${Math.round(b)}px, 0)`:`translate(0, ${Math.round(b)}px)`}function p(b){if(b===d)return;d=b,L.style[H?"width":"height"]=b+"px"}function j2(){c.forEach((b)=>{b.remove(),B.release(b)}),c.clear()}let i=0;function Y2(){let b=W2();if(b===S&&b.length===i)return;if(S=b,i=b.length,U){let{roots:X2,getChildren:O2}=y4(b,J),T2=J.loadChildren?(w2)=>B2.get(w2.id)??O2(w2):O2;q=y0(T2,q.expandedIds),q.rebuild(X2,!0)}else q.rebuild(b,!0);M2(),j2()}function M2(){W.totalItems=q.totalVisible,R(q.totalVisible);let b=_.getTotalSize();p(b);let X2=h("_scrollbar:getInstance");if(X2)X2()?.updateBounds(b,W.containerSize)}function _2(){M2(),j2(),U2()}let B2=new Map,R2=new Set;async function P2(b){if(!J.loadChildren||R2.has(b))return;let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2];R2.add(b),O2.loading=!0,queueMicrotask(()=>U2());try{let T2=await J.loadChildren(O2.item);R2.delete(b);let w2=q.idToIndex.get(b);if(w2===void 0)return;let N2=q.flatNodes[w2];if(N2.loading=!1,B2.set(b,T2),N2.hasChildren=T2.length>0,N2.childCount=T2.length,T2.length>0)N2.expanded=!0,q.expandedIds.add(b),q.rebuild(q.rootItems);_2(),Y.emit("tree:load",{id:b,item:N2.item,children:T2})}catch(T2){R2.delete(b),B2.set(b,[]);let w2=q.idToIndex.get(b);if(w2!==void 0)q.flatNodes[w2].loading=!1;U2(),Y.emit("tree:load:error",{id:b,item:O2.item,error:T2})}}function b2(b){let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2];if(J.loadChildren&&!O2.hasChildren&&!O2.loading){if(!B2.has(b)){P2(b);return}}if(q.expand(b)===0)return;_2(),Y.emit("tree:expand",{id:b,item:O2.item,depth:O2.depth})}function k2(b){let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2],T2=q.collapse(b);if(T2===0)return;if(!s&&a>X2){if(a<=X2+T2)a=X2;else a-=T2;if(n)L.setAttribute("aria-activedescendant",`${C}-item-${a}`)}_2(),Y.emit("tree:collapse",{id:b,item:O2.item,depth:O2.depth})}function z2(b,X2,O2,T2){let{depth:w2,expanded:N2,hasChildren:N,loading:$2,siblingCount:V2,positionInSiblings:e,isLastChild:q2,id:A2}=X2;if(b.className=X,N2)b.classList.add(f);if(!N)b.classList.add(l);if($2)b.classList.add(w);if(j&&q2)b.classList.add(x);if(b.setAttribute("role","treeitem"),b.setAttribute("data-index",String(O2)),b.setAttribute("data-id",String(A2)),b.id=`${C}-item-${O2}`,b.setAttribute("aria-level",String(w2+1)),b.setAttribute("aria-setsize",String(V2)),b.setAttribute("aria-posinset",String(e+1)),N)b.setAttribute("aria-expanded",String(N2));else b.removeAttribute("aria-expanded");if(b.style.paddingLeft=`${K+w2*$}px`,b.style.setProperty("--vlist-tree-depth",String(w2)),j)b.style.setProperty("--vlist-tree-indent",`${$}px`),b.style.setProperty("--vlist-tree-pad",`${K}px`);if(T2)T2(O2,g2);else g2.selected=!1,g2.focused=!1;l2.depth=w2,l2.expanded=N2,l2.hasChildren=N,l2.isLeaf=!N,l2.isLastChild=q2,l2.loading=$2;let E2=D(X2.item,O2,g2);if(typeof E2==="string")b.innerHTML=E2;else b.innerHTML="",b.appendChild(E2);u2(b)}function G2(){if(W.destroyed)return;if(Y2(),!k){if(k=!0,L.setAttribute("role","tree"),L.setAttribute("tabindex","0"),z.classList.add(`${C}--tree`),j)z.classList.add(`${C}--tree-lines`)}let{scrollPosition:b,containerSize:X2}=W;if(!v&&b===K2&&X2===Q2)return;K2=b,Q2=X2,v=!1;let O2=q.totalVisible;if(X2<=0||O2===0){if(c.size>0)j2();return}u();let T2=y?.()??null,w2=T2!==null&&T2.isCompressed,N2,N;if(w2)x2(b,X2,_,O2,T2,I),N2=Math.max(0,I.start-E),N=Math.min(O2-1,I.end+E);else{let q2=_.indexAtOffset(b),A2=_.indexAtOffset(b+X2);if(A2<O2-1)A2++;q2=Math.max(0,q2),A2=Math.min(O2-1,Math.max(0,A2)),N2=Math.max(0,q2-E),N=Math.min(O2-1,A2+E)}if(N2===W.prevRangeStart&&N===W.prevRangeEnd&&!W.renderPending)return;c.forEach((q2,A2)=>{if(A2<N2||A2>N)q2.remove(),B.release(q2),c.delete(A2)});let $2=P?.()??null,V2=null;for(let q2=N2;q2<=N;q2++){let A2=q.flatNodes[q2],E2=c.get(q2);if(E2===void 0){if(E2=B.acquire(),z2(E2,A2,q2,$2),E2.style[H?"width":"height"]=`${_.getSize(q2)}px`,c.set(q2,E2),!V2)V2=document.createDocumentFragment();V2.appendChild(E2)}else if(E2.getAttribute("data-id")!==String(A2.id)||E2.classList.contains(w)!==A2.loading)z2(E2,A2,q2,$2);if(E2.style.transform=w2?L2(I2(q2,b,_,O2,X2,T2)):L2(_.getOffset(q2)),$2)if($2(q2,g2),E2.classList.toggle(r,g2.selected),E2.classList.toggle(g,g2.focused),g2.selected)E2.setAttribute("aria-selected","true");else E2.removeAttribute("aria-selected");else if(!s){let y2=n&&a===q2;E2.classList.toggle(g,y2)}}if(V2)L.appendChild(V2);p(_.getTotalSize()),W.prevRangeStart=N2,W.prevRangeEnd=N,W.renderPending=!1;let e=0;for(let q2=N2;q2<=N&&e<W.capacity;q2++)W.visibleIndices[e]=q2,W.visibleOffsets[e]=_.getOffset(q2),W.visibleSizes[e]=_.getSize(q2),e++;W.visibleCount=e,W.startIndex=N2}function H2(){if(W.destroyed)return;W.prevRangeStart=-1,W.prevRangeEnd=-1,W.renderPending=!0,v=!0,G2()}function D2(b,X2){if(F+=b.toLowerCase(),A!==null)clearTimeout(A);A=setTimeout(()=>{F="",A=null},500);let O2=q.totalVisible;for(let T2=1;T2<=O2;T2++){let w2=(X2+T2)%O2,N2=q.flatNodes[w2];if(G(N2.item).toLowerCase().startsWith(F)){o(w2);return}}}function F2(b){let X2=!1;for(let O2 of q.flatNodes)if(O2.parentId===b.parentId&&O2.hasChildren&&!O2.expanded)q.expandedIds.add(O2.id),X2=!0;if(!X2)return;q.rebuild(q.rootItems,!0),_2()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(b){_=b.sizeCache,W=b.getState(),B=b.pool,L=b.dom.content,z=b.dom.root,D=b.template,H=b.config.axis.primary==="x",C=b.config.classPrefix,E=b.config.overscan,Y=b.emitter,P=b.getItemStateFn.bind(b),h=b.getMethod.bind(b),t=b.scrollTo.bind(b),U2=b.forceRender.bind(b),W2=b.getItems.bind(b),X=`${C}-item ${C}-tree-node`,f=`${C}-tree-node--expanded`,l=`${C}-tree-node--leaf`,w=`${C}-tree-node--loading`,x=`${C}-tree-node--last`,r=`${C}-item--selected`,g=`${C}-item--focused`;let X2=b.getItems();S=X2,i=X2.length;let O2,T2;if(U){let e=y4(X2,J);O2=e.getChildren,T2=e.roots}else O2=X6(J),T2=X2;let w2=J.loadChildren?(e)=>B2.get(e.id)??O2(e):O2;G=M6(J);let N2=D6(J,T2,w2);q=y0(w2,N2),q.rebuild(T2),R=_.rebuild,_.rebuild=(e)=>{R(q.totalVisible)},_.rebuild(q.totalVisible),W.totalItems=q.totalVisible,b.setVirtualTotalFn(()=>q.totalVisible),b.setGetItemFn((e)=>{let q2=q.flatNodes[e];return q2?q2.item:void 0}),b.setGetIndexByIdFn((e)=>{return q.idToIndex.get(e)??-1}),b.setRenderFn(G2,H2),b.registerMethod("_layoutToDataIndex",(e)=>e),b.registerMethod("_dataToLayoutIndex",(e)=>e),b.registerMethod("_getLoadedItem",(e)=>{let q2=q.flatNodes[e];return q2?q2.item:void 0}),b.registerMethod("_getRenderedElement",(e)=>c.get(e)??null),queueMicrotask(()=>{s=!!(h("_getFocusedIndex")||b.getItemStateFn())}),b.setInsertItemFn((e,q2)=>{let A2=W2(),E2=Math.min(q2,A2.length);A2.splice(E2,0,e),i=A2.length,q.rebuild(A2),_2()}),b.setRemoveItemFn((e)=>{let q2=q.idToIndex.get(e),A2=null;if(U&&q2!==void 0){A2=new Set,A2.add(e);let y2=q.getSubtreeSize(q2);for(let v2=q2+1;v2<=q2+y2;v2++)A2.add(q.flatNodes[v2].id)}let E2=q.removeNode(e);if(E2===0)return-1;if(!s&&q2!==void 0&&a>=q2)a=Math.max(0,Math.min(a-E2,q.totalVisible-1));if(U&&A2){let y2=W2();for(let v2=y2.length-1;v2>=0;v2--)if(A2.has(y2[v2].id))y2.splice(v2,1)}return i=W2().length,_2(),Y.emit("data:change",{type:"remove",id:e}),E2}),b.setUpdateItemFn((e,q2)=>{let A2=q.idToIndex.get(e);if(A2===void 0)return!1;let E2=q.flatNodes[A2];Object.assign(E2.item,q2);let y2=c.get(A2);if(y2)z2(y2,E2,A2,P?.()??null);return Y.emit("data:change",{type:"update",id:e}),!0}),b.registerClickHandler((e)=>{let q2=e.target.closest("[data-index]");if(!q2)return;let A2=parseInt(q2.dataset.index??"-1",10);if(A2<0)return;let E2=q.flatNodes[A2];if(!E2)return;let y2=E2.id,v2=!1;if(Z&&(E2.hasChildren||J.loadChildren&&!E2.loading&&!B2.has(y2))){let S2=q.totalVisible;if(E2.expanded)k2(y2);else b2(y2);v2=q.totalVisible!==S2}if(s&&v2){if(Z2(),O)O(y2);if(T)T(y2)}else if(!s)a=q.idToIndex.get(y2)??A2,n=!1,L.focus({preventScroll:!0})});let N=()=>{if(W.destroyed||s)return;if(!L.matches(":focus-visible")&&!z.matches(":focus-visible"))return;let e=q.totalVisible;if(e===0)return;a=a>=0?Math.min(a,e-1):0,n=!0,L.setAttribute("aria-activedescendant",`${C}-item-${a}`),J2(a),H2()};z.addEventListener("focusin",N);let $2=(e)=>{if(W.destroyed||s)return;let q2=e.relatedTarget;if(q2&&z.contains(q2))return;n=!1,L.removeAttribute("aria-activedescendant"),H2()};z.addEventListener("focusout",$2),b.registerKeydownHandler((e)=>{if(W.destroyed)return;let q2=q.totalVisible;if(q2===0)return;let A2=M();if(A2<0&&!s&&(e.key==="ArrowDown"||e.key==="Home")){o(0),e.preventDefault();return}if(A2<0)return;let E2=q.flatNodes[A2];if(!E2)return;switch(e.key){case"ArrowRight":{if(E2.hasChildren||J.loadChildren&&!E2.loading)if(!E2.expanded)b2(E2.id);else o(A2+1);e.preventDefault();break}case"ArrowLeft":{if(E2.hasChildren&&E2.expanded)k2(E2.id);else if(E2.parentId!==null){let y2=q.idToIndex.get(E2.parentId);if(y2!==void 0)o(y2)}e.preventDefault();break}case"*":{F2(E2),e.preventDefault();break}default:{if(!s){if(e.key==="ArrowDown"){if(A2<q2-1)o(A2+1);e.preventDefault();break}if(e.key==="ArrowUp"){if(A2>0)o(A2-1);e.preventDefault();break}if(e.key==="Home"){o(0),e.preventDefault();break}if(e.key==="End"){o(q2-1),e.preventDefault();break}if(e.key==="Enter"){Y.emit("item:click",{item:E2.item,index:A2,event:e}),e.preventDefault();break}}if(e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey)D2(e.key,A2),e.preventDefault()}}}),b.registerMethod("expand",b2),b.registerMethod("collapse",k2),b.registerMethod("toggle",(e)=>{let q2=q.idToIndex.get(e);if(q2===void 0)return;if(q.flatNodes[q2].expanded)k2(e);else b2(e)}),b.registerMethod("expandAll",()=>{q.expandAll(q.rootItems),_2()}),b.registerMethod("collapseAll",()=>{q.collapseAll(),_2()}),b.registerMethod("expandTo",(e)=>{q.expandTo(e),_2();let q2=q.idToIndex.get(e);if(q2!==void 0)J2(q2)}),b.registerMethod("getExpanded",()=>Array.from(q.expandedIds)),b.registerMethod("isExpanded",(e)=>q.expandedIds.has(e));let V2=U&&typeof J.parentId==="string"?J.parentId:null;b.registerMethod("addChild",(e,q2,A2)=>{if(V2)q2[V2]=e;if(U){let E2=W2();E2.push(q2),i=E2.length}q.addChild(e,q2,A2),_2(),Y.emit("data:change",{type:"add",id:q2.id})}),b.registerMethod("moveNode",(e,q2,A2)=>{if(V2){let E2=q.idToIndex.get(e);if(E2!==void 0)q.flatNodes[E2].item[V2]=q2}q.moveNode(e,q2,A2),_2()}),b.registerMethod("getTreeLayout",()=>({totalVisible:q.totalVisible,flatNodes:q.flatNodes})),b.registerDestroyHandler(()=>{if(z.removeEventListener("focusin",N),z.removeEventListener("focusout",$2),j2(),z.classList.remove(`${C}--tree`),z.classList.remove(`${C}--tree-lines`),A!==null)clearTimeout(A)})},destroy(){if(c.clear(),A!==null)clearTimeout(A)}}}var v4=(Q)=>{if(typeof Q==="function")return Q;if(typeof Q==="string")return(J)=>{let $=J[Q];return $==null?"":String($)};return(J)=>{if(J==null)return"";let $="";for(let K in J){let Z=J[K];if(typeof Z==="string")$+=$?" "+Z:Z}return $}},C0=(Q,J,$)=>{if(!J)return!1;return($?Q:Q.toLowerCase()).includes(J)},G6=(Q,J)=>{let $=Q.querySelectorAll(`mark.${J}`);for(let K=$.length-1;K>=0;K--){let Z=$[K],j=Z.parentNode;if(!j)continue;let U=document.createTextNode(Z.textContent??"");j.replaceChild(U,Z),j.normalize()}},S0=(Q,J,$,K)=>{if(!J)return;G6(Q,K);let Z=$?J:J.toLowerCase(),j=J.length,U=document.createTreeWalker(Q,NodeFilter.SHOW_TEXT,{acceptNode(W){let B=W.nodeValue??"";return($?B:B.toLowerCase()).includes(Z)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),q=[],_;while((_=U.nextNode())!==null)q.push(_);for(let W of q){let B=W.nodeValue??"",L=$?B:B.toLowerCase(),z=document.createDocumentFragment(),D=0,H=L.indexOf(Z,0);while(H!==-1){if(H>D)z.appendChild(document.createTextNode(B.slice(D,H)));let C=document.createElement("mark");C.className=K,C.textContent=B.slice(H,H+j),z.appendChild(C),D=H+j,H=L.indexOf(Z,D)}if(D<B.length)z.appendChild(document.createTextNode(B.slice(D)));W.parentNode?.replaceChild(z,W)}};var f0=(Q,J,$,K)=>{let Z=document.createElement("button");return Z.type="button",Z.className=Q,Z.tabIndex=K,Z.setAttribute("aria-label",J),Z.innerHTML=$,Z},C4=(Q,J,$,K,Z,j,U)=>{let q=`${$}-search`,_=document.createElement("div");if(_.className=`${q} ${q}--bar ${q}--${K}`,_.setAttribute("role","search"),_.setAttribute("aria-disabled","false"),Z.region)_.setAttribute("aria-label",Z.region);let W=document.createElement("div");W.className=`${q}__container`;let B=document.createElement("span");B.className=`${q}__leading-icon`,B.setAttribute("aria-hidden","true"),B.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let L=document.createElement("div");L.className=`${q}__input-wrapper`;let z=document.createElement("input");if(z.type="text",z.className=`${q}__input`,z.placeholder=Z.placeholder,z.spellcheck=!1,z.autocomplete="off",z.setAttribute("aria-label",Z.placeholder),j)z.setAttribute("aria-controls",j);L.appendChild(z);let D=document.createElement("span");D.className=`${q}__counter`,D.setAttribute("aria-live","polite");let H=f0(`${q}__nav-prev`,Z.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),C=f0(`${q}__nav-next`,Z.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),E=f0(`${q}__clear-button ${q}__clear-button--hidden`,Z.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(W.append(B,L,D,H,C,E),_.appendChild(W),K==="top"&&J)Q.insertBefore(_,J);else if(K==="top")Q.insertBefore(_,Q.firstChild);else Q.appendChild(_);let P=()=>{E.classList.toggle(`${q}__clear-button--hidden`,z.value.length===0)},h=()=>{P(),U.onInput(z.value)},Y=(f)=>U.onKeydown(f),G=()=>z.focus(),y=()=>{U.onClear(),z.focus()},V=()=>U.onPrev(),X=()=>U.onNext();return z.addEventListener("input",h),z.addEventListener("keydown",Y),B.addEventListener("click",G),E.addEventListener("click",y),H.addEventListener("click",V),C.addEventListener("click",X),{root:_,input:z,setCounter(f){D.textContent=f},showNav(f){H.classList.toggle(`${q}__nav-prev--hidden`,!f),C.classList.toggle(`${q}__nav-next--hidden`,!f)},focus(){z.focus(),z.select()},setValue(f){z.value=f,P()},destroy(){z.removeEventListener("input",h),z.removeEventListener("keydown",Y),B.removeEventListener("click",G),E.removeEventListener("click",y),H.removeEventListener("click",V),C.removeEventListener("click",X),_.remove()}}};var h0={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:(Q)=>`${Q} result${Q===1?"":"s"}`,position:(Q,J)=>`${Q} of ${J}`,region:""};function I0(Q={}){let J=Q.mode??"filter",$=Q.position??"top",K={...h0,...Q.text},Z=Q.caseSensitive??!1,j=Q.highlight!==!1,U=typeof Q.highlight==="object"&&Q.highlight!==null?Q.highlight.within:void 0,q=Q.minLength??1,_=Q.cancelTimeout??0,W=Q.variant??"default",B=v4(Q.field),L,z,D,H,C,E=null,P=!1,h="",Y=[],G=new Set,y=0,V=!1,X=null,f=!1,l=null,w=null,x=null,r=()=>{if(f)return;f=!0,l=L.getMethod("scrollToIndex")??null,w=L.getMethod("filterTree")??null,x=L.getMethod("clearTreeFilter")??null},g=()=>{if(Y=[],G.clear(),h.length<q)return;let M=Z?h:h.toLowerCase(),T=L.getItems();for(let O=0;O<T.length;O++){let m=T[O];if(m!==void 0&&C0(B(m),M,Z))Y.push(O),G.add(O)}},c=()=>{if(r(),w){let O=Z?h:h.toLowerCase();w((m)=>C0(B(m),O,Z)),V=!0;return}let M=L.getItems(),T=Y;L.setGetItemFn((O)=>M[T[O]]),L.setVirtualTotalFn(()=>T.length),z.totalItems=T.length,L.rebuildSizeCache(),L.updateContentSize(L.sizeCache.getTotalSize()),V=!0},K2=()=>{if(!V)return;if(V=!1,x){x();return}L.setGetItemFn((M)=>L.getItems()[M]),L.setVirtualTotalFn(()=>L.getItems().length),z.totalItems=L.getItems().length,L.rebuildSizeCache(),L.updateContentSize(L.sizeCache.getTotalSize())},Q2=()=>{r();let M=Y[y];if(M===void 0)return;if(l)l(M,"center");else L.scrollTo(Math.max(0,L.sizeCache.getOffset(M)-L.getState().containerSize/2));let T=L.getItem(M);L.emitter.emit("search:match",{index:M,item:T,matchIndex:y,matches:Y.length})},d=()=>{if(!E)return;if(h.length<q)E.setCounter("");else if(Y.length===0)E.setCounter(K.noResults);else if(J==="navigate")E.setCounter(K.position(y+1,Y.length));else E.setCounter(K.results(Y.length))},v=()=>{let M=P&&h.length>=q;L.dom.root.classList.toggle(`${D}--searching`,M)},S=(M)=>{if(h=M,E?.setValue(h),g(),y=0,J==="filter")if(h.length>=q)c();else K2();if(v(),d(),L.forceRender(),J==="navigate"&&Y.length>0)Q2();L.emitter.emit("search:change",{query:h,matches:Y.length,total:L.getItems().length}),s()},k=()=>{if(!P)P=!0,L.dom.root.classList.add(`${D}--search-open`),L.emitter.emit("search:open",void 0);E?.focus(),s()},R=()=>{n();let M=P||h.length>0;if(P=!1,h.length>0)S("");if(L.dom.root.classList.remove(`${D}--search-open`),v(),M)L.emitter.emit("search:close",void 0)},a=(M)=>{if(Y.length===0)return;if(y=(y+M+Y.length)%Y.length,d(),J==="navigate")Q2(),L.forceRender()},n=()=>{if(X!==null)clearTimeout(X),X=null},s=()=>{if(n(),_>0&&P)X=setTimeout(()=>{X=null,R()},_)},F=(M)=>{if(!j||h.length<q)return;let T=M.startIndex,O=T+Math.max(0,M.visibleCount-1),m=J==="navigate"?Y[y]:-1;for(let Z2=T;Z2<=O;Z2++){let o=L.getRenderedElement(Z2);if(!o)continue;if(U){let J2=o.querySelectorAll(U);for(let t=0;t<J2.length;t++)S0(J2[t],h,Z,H)}else S0(o,h,Z,H);if(J==="navigate"){let J2=Z2===m,t=o.querySelectorAll(`.${H}`);for(let U2=0;U2<t.length;U2++)t[U2].classList.toggle(C,J2)}}},A=(M)=>M.key.length===1&&!M.ctrlKey&&!M.metaKey&&!M.altKey,I=(M)=>{if((M.ctrlKey||M.metaKey)&&(M.key==="f"||M.key==="F")){M.preventDefault(),k();return}if(!P){if($==="none"&&A(M))M.preventDefault(),k(),S(h+M.key);return}switch(M.key){case"Escape":M.preventDefault(),R();break;case"Enter":M.preventDefault(),a(M.shiftKey?-1:1);break;case"ArrowDown":M.preventDefault(),a(1);break;case"ArrowUp":M.preventDefault(),a(-1);break;default:if($==="none"){if(M.key==="Backspace"){if(M.preventDefault(),S(h.slice(0,-1)),h.length===0)R()}else if(A(M))M.preventDefault(),S(h+M.key)}}},u=(M)=>{if(M.key==="Escape"||M.key==="Enter"||M.key==="ArrowDown"||M.key==="ArrowUp")I(M)};return{name:"search",priority:55,setup(M){if(L=M,z=L.getState(),D=L.config.classPrefix,H=`${D}-search-match`,C=`${D}-search-match--current`,$!=="none"){let O=L.dom.root.id||void 0;if(E=C4(L.dom.root,L.dom.viewport,D,$,{placeholder:K.placeholder,clear:K.clear,previous:K.previous,next:K.next,region:K.region},O,{onInput:(m)=>S(m),onClear:()=>S(""),onPrev:()=>a(-1),onNext:()=>a(1),onKeydown:u}),E.showNav(J==="navigate"),W!=="default")E.root.classList.add(`${D}-search--${W}`);L.dom.root.classList.add(`${D}--has-search`)}let T=L.getItemStateFn();L.setItemStateFn((O,m)=>{if(T)T(O,m);if(h.length<q){delete m.search;return}if(J==="filter")m.search={matched:!0,query:h,matchIndex:O,isCurrent:!1};else{let Z2=Y.indexOf(O);m.search={matched:G.has(O),query:h,matchIndex:Z2,isCurrent:Z2!==-1&&Z2===y}}}),L.registerMethod("openSearch",k),L.registerMethod("closeSearch",R),L.registerMethod("setQuery",(O)=>{if(!P)k();S(O)}),L.registerMethod("getQuery",()=>h),L.registerMethod("nextMatch",()=>a(1)),L.registerMethod("prevMatch",()=>a(-1)),L.registerMethod("getMatches",()=>Y.slice()),L.registerKeydownHandler(I),L.registerDestroyHandler(()=>{n(),K2(),E?.destroy(),E=null,L.dom.root.classList.remove(`${D}--search-open`,`${D}--searching`,`${D}--has-search`)})},hooks:{onCommit(M){F(M)}}}}var A6=50,H6=0.1;function S4(Q){let J=0,$=0,K=0;function Z(){return K>0?$/K:0}function j(_){if(J=_,_>H6&&_<A6)$+=_,K++}function U(){let _=Q.getTotal();if(_===0)return 0;let W=Q.getItemSize();if(W<=0)return 0;let B=Q.getContainerSize();if(B<=0)return 0;let L=Q.getScrollPosition(),z=typeof Q.getColumns==="function"?Q.getColumns():1,H=Math.ceil(_/z)*W,E=Math.min(H,p2)-B,P=H-B,h=E>0?P/E:1,Y=L*h,G=Math.ceil((Y+B)/W);return Math.min(G*z,_)}function q(){let _=Q.getTotal(),W=U();return{progress:_>0?Math.min(100,Math.max(0,W/_*100)):0,velocity:J,velocityAvg:Z(),itemCount:W,total:_}}return{getState:q,onVelocity:j}}async function f4(Q,J,$){let K=$?.key,Z;if(Q){let H=Q.getScrollSnapshot;if(typeof H==="function")Z=H()}if(Z&&K)try{sessionStorage.setItem(K,JSON.stringify(Z))}catch{}let j=i2(K?{autoSave:K}:Z?{restore:Z}:void 0),U=J(j),q=U.element;if(q.style.position="absolute",q.style.inset="0",q.style.visibility="hidden",$?.ready)await $.ready(U);else await new Promise((H)=>requestAnimationFrame(()=>H()));let _=$?.delay;if(_&&_>0)await new Promise((H)=>setTimeout(H,_));let W=$?.transition,B=typeof W==="number"?W:W?.fadeIn??0,L=typeof W==="number"?W:W?.fadeOut??0,z=typeof W==="object"?W?.fadeOutDelay??0:0,D=Math.max(B,L+z);if(D>0&&Q){let H=Q.element;q.style.visibility="",q.style.opacity="0",q.offsetHeight,q.style.transition=`opacity ${B}ms ease`,H.style.transition=`opacity ${L}ms ease ${z}ms`,q.style.opacity="1",H.style.opacity="0",await new Promise((C)=>{setTimeout(C,D+50)}),q.style.transition="",q.style.opacity="",H.style.transition="",H.style.opacity=""}else q.style.visibility="";if(q.style.position="",q.style.inset="",Q)Q.destroy();return U}export{v0 as tree,F0 as transition,P0 as table,w0 as sortable,i2 as snapshots,O0 as selection,I0 as search,G0 as scrollbar,D0 as scale,f4 as rebuild,L0 as page,R0 as masonry,z0 as groups,A0 as grid,T0 as data,W4 as createVList,S4 as createStats,E0 as autosize,H0 as a11y};
1
+ var J2=3,g2="vlist";var $2=50;var x2=50,m2=2,c2=15,d2=6,_2=2000,l2=30000,o0=16000000,x0=150,a0=1,Q2=($)=>$<0.5?2*$*$:1-(-2*$+2)**2/2,r2=300,s2=2,o2=1.5,a2=0.25,i2=0.75;var n2="x",t2=20,V2="_isPlaceholder",I0="__placeholder_";var j2={top:0,right:0,bottom:0,left:0},e2=($)=>{if($==null)return j2;if(typeof $==="number")return $===0?j2:{top:$,right:$,bottom:$,left:$};if($.length===2){let[Z,K]=$;return Z===0&&K===0?j2:{top:Z,right:K,bottom:Z,left:K}}let[J,Q,j,U]=$;return J===0&&Q===0&&j===0&&U===0?j2:{top:J,right:Q,bottom:j,left:U}},J1=($,J)=>J?$.left+$.right:$.top+$.bottom,$1=($,J)=>J?$.top+$.bottom:$.left+$.right;function Q1($){let J={visibleIndices:new Int32Array($),visibleOffsets:new Float64Array($),visibleSizes:new Float64Array($),visibleCount:0,startIndex:0,totalSize:0,capacity:$,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,prevAriaTotal:-1,resizeCapacity(Q,j,U=J2){if(j<=0||Q<=0)return;let Z=Math.ceil(Q/j)+U*2;if(Z<=J.capacity)return;let K=Z+8,q=new Int32Array(K),L=new Float64Array(K),B=new Float64Array(K);q.set(J.visibleIndices),L.set(J.visibleOffsets),B.set(J.visibleSizes),J.visibleIndices=q,J.visibleOffsets=L,J.visibleSizes=B,J.capacity=K},clear(){J.visibleCount=0,J.startIndex=0}};return J}var o1=($,J)=>{let Q=J;return{getOffset:(j)=>j*$,getSize:(j)=>$,indexAtOffset:(j)=>{if(Q===0||$===0)return 0;return Math.max(0,Math.min(Math.floor(j/$),Q-1))},getTotalSize:()=>Q*$,getTotal:()=>Q,rebuild:(j)=>{Q=j},isVariable:()=>!1}},a1=($,J)=>{let Q=J,j=new Float64Array(0),U=(K)=>{Q=K,j=new Float64Array(K+1),j[0]=0;for(let q=0;q<K;q++)j[q+1]=j[q]+$(q)};U(J);let Z=(K)=>{if(Q===0)return 0;if(K<=0)return 0;if(K>=j[Q])return Q-1;let q=0,L=Q-1;while(q<L){let B=q+L+1>>>1;if(j[B]<=K)q=B;else L=B-1}return q};return{getOffset:(K)=>{if(K<=0)return 0;if(K>=Q)return j[Q];return j[K]},getSize:(K)=>$(K),indexAtOffset:(K)=>Z(K),getTotalSize:()=>j[Q]??0,getTotal:()=>Q,rebuild:(K)=>U(K),isVariable:()=>!0}},Z2=($,J)=>{if(typeof $==="number")return o1($,J);return a1($,J)};function j1($){let J=[],Q=`${$}-item`,j=document.createElement("div");return j.className=Q,{acquire(){if(J.length>0)return J.pop();return j.cloneNode(!1)},release(U){if(U.className=Q,U.removeAttribute("style"),U.removeAttribute("id"),U.removeAttribute("role"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-posinset"),U.removeAttribute("aria-setsize"),U.removeAttribute("data-index"),U.removeAttribute("data-id"),U.textContent="",J.length<100)J.push(U)},get size(){return J.length},clear(){J.length=0}}}function u0($){let J=$.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let Q=0;Q<J.length;Q++)J[Q].setAttribute("tabindex","-1")}function Z1($){if(typeof $==="string"){let J=document.querySelector($);if(!J)throw Error(`[vlist] Container not found: ${$}`);return J}return $}function U1($,J,Q,j){let U=Q?`${J} ${J}--horizontal`:J,Z=Q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",K=Q?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",q=' role="list"';if(j)q+=` aria-label="${j.replace(/"/g,"&quot;")}"`;if(Q)q+=' aria-orientation="horizontal"';$.insertAdjacentHTML("beforeend",`<div class="${U}"><div class="${J}-viewport" style="${Z}" tabindex="-1"><div class="${J}-content" style="${K}"${q}></div></div></div>`);let L=$.lastElementChild,B=L.firstElementChild,N=B.firstElementChild,W=document.createElement("div");return W.className=`${J}-live`,W.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",W.setAttribute("aria-live","polite"),W.setAttribute("aria-atomic","true"),W.setAttribute("role","status"),L.appendChild(W),{root:L,viewport:B,content:N,liveRegion:W}}function K1($){let{state:J,viewport:Q,isX:j,wheelEnabled:U,onFrame:Z,onIdle:K}=$,q=$.idleTimeout||x0,L=$.scrollTarget??Q,B=null,N=null;function W(){let v=j?Q.scrollLeft:Q.scrollTop;if(Math.abs(v-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=v,J.scrollDirection=v>J.prevScrollPosition?1:v<J.prevScrollPosition?-1:0,Z(),A()}function z(v){let M;if(j){if(Math.abs(v.deltaX)>Math.abs(v.deltaY))return;let G=Q.scrollLeft,O=Q.scrollWidth-Q.clientWidth;if(M=Math.max(0,Math.min(G+v.deltaY*a0,O)),Math.abs(M-G)<1)return;v.preventDefault(),Q.scrollLeft=M}else{let G=Q.scrollWidth>Q.clientWidth;if(G&&Math.abs(v.deltaX)>Math.abs(v.deltaY))return;if(G&&v.deltaX!==0)v.preventDefault(),Q.scrollLeft+=v.deltaX;let O=Q.scrollTop,Y=Q.scrollHeight-Q.clientHeight;if(M=Math.max(0,Math.min(O+v.deltaY*a0,Y)),Math.abs(M-O)<1)return;v.preventDefault(),Q.scrollTop=M}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=M,J.scrollDirection=M>J.prevScrollPosition?1:-1,Z(),A()}function A(){if(B!==null)clearTimeout(B);B=setTimeout(()=>{B=null,J.scrollDirection=0,K()},q)}function F(){if(N!==null)cancelAnimationFrame(N),N=null}function X(v,M,G,O=Q2,Y){F();let y=J.scrollPosition,D=typeof v==="function"?v:()=>v,R=D();if(Math.abs(R-y)<1){if(G)G(R);else if(j)Q.scrollLeft=R;else Q.scrollTop=R;Y?.();return}let u=performance.now();function c(E){R=D();let l=E-u,s=Math.min(l/M,1),S=y+(R-y)*O(s);if(G)G(S);else if(j)Q.scrollLeft=S;else Q.scrollTop=S;if(!G)J.scrollPosition=S;if(Z(),s<1)N=requestAnimationFrame(c);else N=null,A(),Y?.()}N=requestAnimationFrame(c)}return{attach(){if(L.addEventListener("scroll",W,{passive:!0}),U)L.addEventListener("wheel",z,{passive:!1})},detach(){if(L.removeEventListener("scroll",W),U)L.removeEventListener("wheel",z);if(F(),B!==null)clearTimeout(B),B=null},cancelScroll:F,smoothScrollTo:X}}function r0($,J,Q){if($<J)return J;if($>Q)return Q;return $}function q1($){let{state:J,viewport:Q,content:j,isX:U,wheelEnabled:Z,onFrame:K,onIdle:q,mainAxisPadding:L}=$,B=$.idleTimeout||x0,N=$.runwayFactor??s2,W=$.wrap??null,z=W!==null,A=$.scrollTarget??Q,F=0,X=0,v=0,M=null,G=null;function O(){return U?Q.scrollLeft:Q.scrollTop}function Y(d){if(U)Q.scrollLeft=d;else Q.scrollTop=d}function y(d){let h=z?d:r0(d,0,X);J.prevScrollPosition=J.scrollPosition,J.scrollPosition=h,J.scrollDirection=h>J.prevScrollPosition?1:h<J.prevScrollPosition?-1:0;let m=F/2;if(z){J.baseOffset=h-m,Y(m);return}let T=r0(h-m,0,v);J.baseOffset=T,Y(r0(h-T,0,F))}function D(d){y(d),K(),l()}function R(){let d=O(),h=J.baseOffset+d;if(Math.abs(h-J.scrollPosition)<0.5)return;if(J.prevScrollPosition=J.scrollPosition,J.scrollPosition=h,J.scrollDirection=h>J.prevScrollPosition?1:h<J.prevScrollPosition?-1:0,u(d),z)c();K(),l()}function u(d){let h=F*a2,m=F*i2,T=F/2;if(z){if(d>=h&&d<=m)return;J.baseOffset=J.scrollPosition-T,Y(T);return}if(v<=0)return;let p=J.baseOffset,V=d<h&&p>0,b=d>m&&p<v;if(!V&&!b)return;let g=J.scrollPosition,o=r0(g-T,0,v);if(o===p)return;J.baseOffset=o,Y(r0(g-o,0,F))}function c(){let d=W.lapSize();if(d<=0)return;let h=J.scrollPosition-W.home(),m=Math.trunc(h/d);if(Math.abs(m)<W.thresholdLaps)return;let T=m*d;J.scrollPosition-=T,J.prevScrollPosition-=T,J.baseOffset-=T}function E(d){let h;if(U){if(Math.abs(d.deltaX)>Math.abs(d.deltaY))return;h=d.deltaY}else{let V=Q.scrollWidth>Q.clientWidth;if(V&&Math.abs(d.deltaX)>Math.abs(d.deltaY))return;if(V&&d.deltaX!==0)d.preventDefault(),Q.scrollLeft+=d.deltaX;h=d.deltaY}let m=J.scrollPosition,T=m+h*a0,p=z?T:r0(T,0,X);if(Math.abs(p-m)<1)return;if(d.preventDefault(),D(p),z)c()}function l(){if(M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.scrollDirection=0,q()},B)}function s(){if(G!==null)cancelAnimationFrame(G),G=null}function S(d,h,m,T=Q2,p){s();let V=J.scrollPosition,b=typeof d==="function"?d:()=>d,g=b();if(Math.abs(g-V)<1){D(g),p?.();return}let o=performance.now();function I(_){g=b();let w=Math.min((_-o)/h,1);if(y(V+(g-V)*T(w)),K(),w<1)G=requestAnimationFrame(I);else G=null,l(),p?.()}G=requestAnimationFrame(I)}function t(d){let h=J.containerSize,m=d+L,T=h*N,p=z?T:Math.min(m,T);F=Math.max(0,p-h),X=Math.max(0,m-h),v=Math.max(0,m-p),J.totalSize=d,j.style[U?"width":"height"]=p+"px",y(J.scrollPosition)}return{attach(){if(A.addEventListener("scroll",R,{passive:!0}),Z)A.addEventListener("wheel",E,{passive:!1})},detach(){if(A.removeEventListener("scroll",R),Z)A.removeEventListener("wheel",E);if(s(),M!==null)clearTimeout(M),M=null},cancelScroll:s,smoothScrollTo:S,setLogical:D,getLogical(){return J.scrollPosition},getMaxLogical(){return X},refresh:t}}function i1($,J){if($.getTotal()<=0)return{index:0,offsetPx:0};let j=J<=0?0:J,U=$.indexAtOffset(j),Z=j-$.getOffset(U);return{index:U,offsetPx:Z>0?Z:0}}function n1($,J){let Q=t1($,J);return $.getOffset(Q.index)+Q.offsetPx}function t1($,J){let Q=$.getTotal();if(Q<=0)return{index:0,offsetPx:0};let{index:j,offsetPx:U}=J;if(j<0)return{index:0,offsetPx:0};if(j>Q-1)j=Q-1;while(U>0&&j<Q-1){let Z=$.getSize(j);if(U<Z)break;U-=Z,j++}while(U<0&&j>0)j--,U+=$.getSize(j);if(U<0)U=0;return{index:j,offsetPx:U}}function Y1($){let{sizeCache:J,getPixel:Q,setPixel:j,getContainerSize:U}=$;function Z(){let q=J.getTotalSize()-U();return q>0?q:0}function K(q){if(q<=0)return 0;let L=Z();return q>L?L:q}return{getLogical(){return i1(J,Q())},setLogical(q){j(K(n1(J,q)))},getPixelEquivalent(){return Q()},setPixelEquivalent(q){j(K(q))},getMaxPixelEquivalent:Z,scrollByPx(q){j(K(Q()+q))}}}var i0=[],e1={calculate:i0,commit:i0,afterScroll:i0,idle:i0,resize:i0};function B1($){if($.length===0)return e1;let J=[],Q=[],j=[],U=[],Z=[];for(let K=0;K<$.length;K++){let q=$[K].hooks;if(q===void 0)continue;if(q.onCalculate!==void 0)J.push(q.onCalculate);if(q.onCommit!==void 0)Q.push(q.onCommit);if(q.onAfterScroll!==void 0)j.push(q.onAfterScroll);if(q.onIdle!==void 0)U.push(q.onIdle);if(q.onResize!==void 0)Z.push(q.onResize)}return{calculate:J,commit:Q,afterScroll:j,idle:U,resize:Z}}function W1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function _1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function N2($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function V1($){for(let J=0;J<$.length;J++)$[J]()}function N1($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function M1($,J,Q,j,U,Z,K,q){let L=j!==0||U!==0;return{prefix:$,selectedClass:`${$}-item--selected`,focusedClass:`${$}-item--focused`,placeholderClass:`${$}-item--placeholder`,replacedClass:`${$}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:"listitem",interactive:!1,startPadding:Q,gap:K,hasCrossPad:L,crossStartProp:L?J?"top":"left":"",crossEndProp:L?J?"bottom":"right":"",crossStartVal:L?j+"px":"",crossEndVal:L?U+"px":"",oddClass:Z,emitter:q??null,indexMap:null,ariaTotalFn:null}}function J4($,J,Q,j,U){if($.containerSize<=0||$.totalItems===0)return $.clear(),!0;let{scrollPosition:Z,containerSize:K,totalItems:q}=$,L=U??0;$.totalSize=J.getTotalSize();let B=J.indexAtOffset(L>0?Math.max(0,Z-L):Z),N=J.indexAtOffset(Z+K);if(N<q-1)N++;B=Math.max(0,B),N=Math.min(q-1,Math.max(0,N));let W=Math.max(0,B-Q),z=Math.min(q-1,N+Q),A=Math.ceil(K/1)+Q*2+10,F=z-W+1,X=Math.min(F,$.capacity,A);if(W===$.prevRangeStart&&z===$.prevRangeEnd&&!$.renderPending)return!1;$.visibleCount=X,$.startIndex=W;for(let v=0;v<X;v++){let M=W+v;$.visibleIndices[v]=M,$.visibleOffsets[v]=J.getOffset(M),$.visibleSizes[v]=J.getSize(M)}return W1(j.calculate,$),$.prevRangeStart=W,$.prevRangeEnd=z,$.renderPending=!1,!0}var S0={selected:!1,focused:!1};function $4($,J,Q){for(let j=0;j<J;j++)if($[j]===Q)return!0;return!1}function Q4($,J){if(J<=1)return!0;let Q=$[0];for(let j=1;j<J;j++){let U=$[j];if(U!==Q+1)return!1;Q=U}return!0}function j4($,J,Q,j,U,Z,K,q,L,B){let N=L?null:U(),W=$.visibleCount,z=$.visibleIndices,A=K.ariaTotalFn?K.ariaTotalFn():$.totalItems,F=K.interactive?String(A):"",X=K.interactive&&A!==$.prevAriaTotal,v=null,M=K.indexMap;for(let G=0;G<W;G++){let O=z[G],Y=M?M(O):O,y=$.visibleOffsets[G],D=$.visibleSizes[G],R=L?L(O):N[O];if(B)B(Y,S0);else S0.selected=!1,S0.focused=!1;let u=Z.get(O),c=u;if(u===void 0){let E=J.acquire();if(R!==void 0){let S;try{S=j(R,Y,S0)}catch(t){if(K.emitter)K.emitter.emit("error",{error:t instanceof Error?t:Error(String(t)),context:`template:render:${Y}`});J.release(E);continue}if(typeof S==="string")E.innerHTML=S;else E.textContent="",E.appendChild(S);u0(E)}if(E.setAttribute("role",K.itemRole),E.setAttribute("data-index",String(Y)),K.interactive)E.id=K.prefix+"-item-"+O,E.setAttribute("aria-posinset",String(Y+1)),E.setAttribute("aria-setsize",F);if(R!==void 0){let S=String(R.id);if(E.setAttribute("data-id",S),S.startsWith(I0))E.classList.add(K.placeholderClass)}if(K.hasCrossPad)E.style.setProperty(K.crossStartProp,K.crossStartVal),E.style.setProperty(K.crossEndProp,K.crossEndVal);if(B){if(E.classList.toggle(K.selectedClass,S0.selected),E.classList.toggle(K.focusedClass,S0.focused),S0.selected)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected");E._lastSelected=S0.selected,E._lastFocused=S0.focused}if(K.oddClass)E.classList.toggle(K.oddClass,(O&1)===1);let l=y-$.baseOffset+K.startPadding;E.style.transform=K.translateProp+l+"px)",E._lastOffset=l;let s=D-K.gap;if(E.style[K.sizeProp]=s+"px",E._lastSize=s,E._lastItem=R,Z.set(O,E),v===null)v=document.createDocumentFragment();v.appendChild(E)}else{if(X)u.setAttribute("aria-setsize",F);if(R!==void 0&&c._lastItem!==R){let s=u.getAttribute("data-id"),S=String(R.id),t;try{t=j(R,Y,S0)}catch(d){if(K.emitter)K.emitter.emit("error",{error:d instanceof Error?d:Error(String(d)),context:`template:render:${Y}`});continue}if(typeof t==="string")u.innerHTML=t;else u.textContent="",u.appendChild(t);if(u0(u),u.setAttribute("data-id",S),c._lastItem=R,s!==S){let d=s!==null&&s.startsWith(I0),h=S.startsWith(I0);if(d!==h)u.classList.toggle(K.placeholderClass,h);if(d&&!h)u.classList.add(K.replacedClass),setTimeout(()=>{u.classList.remove(K.replacedClass)},300)}}if(B){if(c._lastSelected!==S0.selected){if(u.classList.toggle(K.selectedClass,S0.selected),S0.selected)u.setAttribute("aria-selected","true");else u.removeAttribute("aria-selected");c._lastSelected=S0.selected}if(c._lastFocused!==S0.focused)u.classList.toggle(K.focusedClass,S0.focused),c._lastFocused=S0.focused}let E=y-$.baseOffset+K.startPadding;if(c._lastOffset!==E)u.style.transform=K.translateProp+E+"px)",c._lastOffset=E;let l=D-K.gap;if(c._lastSize!==l)u.style[K.sizeProp]=l+"px",c._lastSize=l}}if(v!==null)Q.appendChild(v);if(W>0&&Q4(z,W)){let G=z[0],O=z[W-1];for(let[Y,y]of Z)if(Y<G||Y>O)y.remove(),J.release(y),Z.delete(Y)}else for(let[G,O]of Z)if(!$4(z,W,G))O.remove(),J.release(O),Z.delete(G);if(K.interactive)$.prevAriaTotal=$.totalItems;_1(q.commit,$)}function M2($,J,Q,j,U,Z,K,q,L,B,N,W){if(J4($,J,Q,B,L.startPadding))j4($,j,U,Z,K,q,L,B,N,W)}var X2=()=>{let $={},J=(Z,K)=>{if(!$[Z])$[Z]=new Set;return $[Z].add(K),()=>Q(Z,K)},Q=(Z,K)=>{$[Z]?.delete(K)};return{on:J,off:Q,emit:(Z,K)=>{$[Z]?.forEach((q)=>{try{q(K)}catch(L){console.error(`[vlist] Error in event handler for "${String(Z)}":`,L)}})},clear:(Z)=>{if(Z)delete $[Z];else for(let K in $)delete $[K]}}};var X1=2,A1=($=0)=>({velocity:0,sampleCount:0}),G1=($,J)=>{let Q=performance.now(),j=$._lt??Q,U=$._lp??J,Z=Q-j;if($._lp=J,$._lt=Q,Z===0)return $.sampleCount=Math.min($.sampleCount+1,5),$;if(Z>100)return $.velocity=0,$.sampleCount=1,$;return $.velocity=Math.abs(J-U)/Z,$.sampleCount=Math.min($.sampleCount+1,5),$};function Z4($){let{item:J}=$;if(J.height!==void 0&&typeof J.height==="number"){if(!Number.isFinite(J.height)||J.height<=0)throw Error(`vlist: item.height must be a positive number, got ${J.height}`)}if(J.width!==void 0&&typeof J.width==="number"){if(!Number.isFinite(J.width)||J.width<=0)throw Error(`vlist: item.width must be a positive number, got ${J.width}`)}if(J.estimatedHeight!==void 0){if(!Number.isFinite(J.estimatedHeight)||J.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${J.estimatedHeight}`)}if(J.estimatedWidth!==void 0){if(!Number.isFinite(J.estimatedWidth)||J.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${J.estimatedWidth}`)}if(J.gap!==void 0){if(typeof J.gap!=="number"||!Number.isFinite(J.gap)||J.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${J.gap}`)}if($.overscan!==void 0){if(typeof $.overscan!=="number"||!Number.isFinite($.overscan)||$.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${$.overscan}`)}if($.scroll?.runway!==void 0){if(typeof $.scroll.runway!=="number"||!Number.isFinite($.scroll.runway)||$.scroll.runway<=0)throw Error(`vlist: scroll.runway must be a positive number, got ${$.scroll.runway}`)}}function U4($,J){let Q=$==="horizontal"?"x":"y";if(J.some((U)=>U.name==="grid"))return{primary:Q,cross:Q==="x"?"y":"x"};return{primary:Q}}function K4($,J){let Q=U4($.orientation,J),j=Q.primary==="x",U=e2($.padding);return{axis:Q,hasCrossAxis:Q.cross!==void 0,overscan:$.overscan??J2,reverse:$.reverse??!1,classPrefix:$.classPrefix??g2,mainAxisPadding:J1(U,j),crossAxisPadding:$1(U,j),startPadding:j?U.left:U.top,endPadding:j?U.right:U.bottom,crossPadStart:j?U.top:U.left,crossPadEnd:j?U.bottom:U.right,striped:$.item.striped||!1,gap:$.item.gap??0}}function q4($,J){if(J)return $.item.width??$.item.estimatedWidth??100;return $.item.height??$.item.estimatedHeight??40}function Y4($){let J=[...$];return J.sort((Q,j)=>(Q.priority??50)-(j.priority??50)),J}function B4($){let J=new Set;for(let Q of $){if(J.has(Q.name))throw Error(`[vlist] Duplicate plugin: ${Q.name}`);J.add(Q.name)}for(let Q of $)if(Q.conflicts){for(let j of Q.conflicts)if(J.has(j))throw Error(`[vlist] Plugin "${Q.name}" conflicts with "${j}"`)}}function D1($,J=[]){Z4($);let Q=K4($,J),j=Q.axis.primary==="x",U=$.scroll?.mode==="bounded",Z=q4($,j),K=Q.gap,q=K>0?typeof Z==="function"?(A0)=>Z(A0)+K:Z+K:Z,L=typeof Z==="number"?Z:20,B=$.items?.length??0,N=Q.striped?`${Q.classPrefix}-item--odd`:"",W=X2(),z=M1(Q.classPrefix,j,Q.startPadding,Q.crossPadStart,Q.crossPadEnd,N,K,W),A=J.length>0?Y4(J):J;if(J.length>0)B4(A);let F=Z1($.container),X=U1(F,Q.classPrefix,j,$.ariaLabel);if($.scroll?.scrollbar==="none")X.viewport.classList.add(`${Q.classPrefix}-viewport--no-scrollbar`);if($.scroll?.gutter==="stable")X.viewport.classList.add(`${Q.classPrefix}-viewport--gutter-stable`);let M=Z2(q,B);if(K>0){let A0=M.getTotalSize;M.getTotalSize=()=>{let a=A0();return a>0?a-K:0}}let G=j1(Q.classPrefix),O=Math.ceil(4096/L)+Q.overscan*2+8,Y=Q1(O);Y.totalItems=B;let y=$.items??[],D=()=>y,R=new Map,u=A1(),c={velocity:0,reliable:!1},E={range:{start:0,end:-1}},l={scrollPosition:0,direction:"down"},s={scrollPosition:0},S=-1,t=-1,d=-1,h=null,m=B1(A),T=new Map,p=[],V=[],b=[],g=null,o=null,I=null,_=null,w=null,e=null,B0=null,H=null,P=null,k=null,f=null,i=!1,Z0=!1,X0=null,Y0=0,N0=0,W0=null,O0=null,x=null,n=null,Q0=null,_0=null,U0=null,D0=null;Y.containerSize=j?X.viewport.clientWidth:X.viewport.clientHeight,Y.crossSize=j?X.viewport.clientHeight:X.viewport.clientWidth;let R0=Y1({sizeCache:M,getPixel:()=>o?o():Y.scrollPosition,setPixel:(A0)=>{if(I)I(A0);else if(j)X.viewport.scrollLeft=A0;else X.viewport.scrollTop=A0},getContainerSize:()=>Y.containerSize});if(J.length>0){let A0={dom:X,sizeCache:M,scroll:R0,pool:G,config:Q,emitter:W,template:$.item.template,registerMethod(a,G0){T.set(a,G0)},getMethod(a){return T.get(a)},registerClickHandler(a){p.push(a)},registerKeydownHandler(a){V.push(a)},registerDestroyHandler(a){b.push(a)},enableListboxRole(){let a=X.content.getAttribute("role");if(!a||a==="list")X.content.setAttribute("role","listbox"),X.content.setAttribute("tabindex","0");z.itemRole="option",z.interactive=!0},setSizeConfig(a){let G0=Z2(a,Y.totalItems),v0=T.get("_setSizeCacheBase");if(v0){let C0=M.rebuild;Object.assign(M,G0),M.rebuild=C0,v0(G0.rebuild)}else Object.assign(M,G0)},setScrollFns(a,G0){o=a,I=G0},setBoundedWrap(a){D0=a},cancelScroll(){E0?.cancelScroll()},setVirtualTotalFn(a){g=a,z.ariaTotalFn=a},setIndexMapFn(a){z.indexMap=a},getItems:D,getItem(a){return e?e(a):y[a]},getState(){return Y},rebuildSizeCache(){M.rebuild(Y.totalItems)},updateContentSize(a){if(U0){U0.refresh(a);return}Y.totalSize=a,X.content.style[j?"width":"height"]=a+Q.mainAxisPadding+"px"},setRenderFn(a,G0){_=a,w=G0},renderIfNeeded(){j0()},forceRender(){J0()},setGetItemFn(a){e=a},setItemStateFn(a){B0=a},getItemStateFn(){return B0},get rawSizeSpec(){return Z},scrollTo(a){if(I)I(a);else if(j)X.viewport.scrollLeft=a;else X.viewport.scrollTop=a},smoothScrollTo(a,G0,v0,C0){if(n)n(a,G0,I??void 0,v0,C0);else A0.scrollTo(typeof a==="function"?a():a)},disableDefaultScroll(){i=!0},disableDefaultResize(){Z0=!0},setScrollTarget(a){X0=a},setScrollToPosFn(a){Q0=a},setScrollToIndexFn(a){_0=a},onScrollFrame:$0,onScrollIdle:V0,removeItemById(a){if(H)return H(a);let G0=y.findIndex((v0)=>v0.id===a);if(G0===-1)return-1;return y.splice(G0,1),Y.totalItems=y.length,M.rebuild(Y.totalItems),C(),G0},insertItemAt(a,G0){if(P){P(a,G0);return}y.splice(G0,0,a),Y.totalItems=y.length,M.rebuild(Y.totalItems),C()},setRemoveItemFn(a){H=a},setInsertItemFn(a){P=a},setUpdateItemFn(a){k=a},setGetIndexByIdFn(a){f=a},getRenderedElement(a){let G0=T.get("_getRenderedElement");if(G0)return G0(a);return R.get(a)??null},setNavConfig(a){if(a.ud!==void 0)Y0=a.ud;if(a.lr!==void 0)N0=a.lr;if(a.scrollIndex)W0=a.scrollIndex;if(a.navigate)O0=a.navigate;if(a.total)x=a.total},getNavConfig:(()=>{let a={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>{return a.ud=Y0,a.lr=N0,a.scrollIndex=W0,a.navigate=O0,a.total=x,a}})()};for(let a of A)if(a.setup)try{a.setup(A0)}catch(G0){W.emit("error",{error:G0 instanceof Error?G0:Error(String(G0)),context:`plugin:setup:${a.name}`})}}let P0=Q.classPrefix+"--scrolling",b0=!1,F0=$.scroll?.idleTimeout??x0;function T0(){if(l.scrollPosition=R0.getPixelEquivalent(),j)l.direction=Y.scrollDirection>0?"right":"left";else l.direction=Y.scrollDirection>0?"down":"up";if(W.emit("scroll",l),G1(u,Y.scrollPosition),c.velocity=u.velocity,c.reliable=u.sampleCount>=X1,W.emit("velocity:change",c),Y.startIndex!==S||Y.prevRangeEnd!==t)S=Y.startIndex,t=Y.prevRangeEnd,E.range.start=Y.startIndex,E.range.end=Y.prevRangeEnd,W.emit("range:change",E)}let z0=!1;function C(){if(_)return;let A0=M.getTotalSize();if(U0){U0.refresh(A0);return}if(X.content.style[j?"width":"height"]=A0+Q.mainAxisPadding+"px",!z0&&A0>o0)z0=!0,W.emit("error",{error:Error(`Content size (${A0}px) exceeds browser limit (${o0}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function j0(){if(_)_();else M2(Y,M,Q.overscan,G,X.content,$.item.template,D,R,z,m,e,B0)}function $0(){if(!b0)b0=!0,X.root.classList.add(P0);if(j0(),N2(m.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==d)d=Y.scrollPosition,T0()}function V0(){if(b0)b0=!1,X.root.classList.remove(P0);Y.scrollDirection=0,V1(m.idle),c.velocity=0,c.reliable=!1,W.emit("velocity:change",c),s.scrollPosition=R0.getPixelEquivalent(),W.emit("scroll:idle",s)}function J0(){if(Y.renderPending=!0,w)w();else M2(Y,M,Q.overscan,G,X.content,$.item.template,D,R,z,m,e,B0);if(N2(m.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==d){if(d=Y.scrollPosition,T0(),h!==null)clearTimeout(h);h=setTimeout(V0,F0)}}let H0=i?!1:$.scroll?.wheel!==!1,E0;if(i&&(U||D0))throw Error(`vlist: page() is not compatible with ${D0?"the carousel plugin":'scroll: { mode: "bounded" }'} — bounded page-mode scrolling is not implemented yet.`);if(U||D0)U0=q1({state:Y,viewport:X.viewport,content:X.content,isX:j,wheelEnabled:H0,idleTimeout:$.scroll?.idleTimeout??x0,...X0?{scrollTarget:X0}:{},mainAxisPadding:Q.mainAxisPadding,...$.scroll?.runway!==void 0?{runwayFactor:Math.max(o2,$.scroll.runway)}:{},...D0?{wrap:D0}:{},onFrame:$0,onIdle:V0}),E0=U0,o=()=>Y.scrollPosition,I=(A0)=>U0.setLogical(A0);else E0=K1({state:Y,viewport:X.viewport,isX:j,wheelEnabled:H0,idleTimeout:$.scroll?.idleTimeout??x0,...X0?{scrollTarget:X0}:{},onFrame:$0,onIdle:V0});n=E0.smoothScrollTo;function w0(A0){let G0=A0.target.closest("[data-index]");if(!G0)return null;let v0=parseInt(G0.getAttribute("data-index"),10);if(Number.isNaN(v0))return null;let C0=T.get("_layoutToDataIndex"),h0;if(C0){let f0=C0(v0);if(f0<0)return null;let s0=T.get("_getItem");h0=s0?s0(f0):e?e(f0):y[f0]}else h0=e?e(v0):y[v0];if(h0===void 0)return null;return{item:h0,index:v0}}function y0(A0){for(let G0=0;G0<p.length;G0++)p[G0](A0);let a=w0(A0);if(a)W.emit("item:click",{item:a.item,index:a.index,event:A0})}function M0(A0){let a=w0(A0);if(a)W.emit("item:dblclick",{item:a.item,index:a.index,event:A0})}function r(A0){let a=w0(A0);if(a)W.emit("item:contextmenu",{item:a.item,index:a.index,event:A0})}function K0(A0){let a=A0.target?.tagName;if((a==="INPUT"||a==="TEXTAREA"||a==="SELECT")&&!((A0.ctrlKey||A0.metaKey)&&(A0.key==="f"||A0.key==="F")))return;for(let G0=0;G0<V.length;G0++)V[G0](A0)}if(X.content.addEventListener("click",y0),X.content.addEventListener("dblclick",M0),X.content.addEventListener("contextmenu",r),V.length>0)X.root.addEventListener("keydown",K0);let q0=null;if(!Z0)setTimeout(()=>{if(Y.destroyed)return;q0=new ResizeObserver((a)=>{for(let G0 of a){let{width:v0,height:C0}=G0.contentRect,h0=j?v0:C0,f0=j?C0:v0;if(Math.abs(h0-Y.containerSize)<1&&Math.abs(f0-Y.crossSize)<1)continue;if(Y.containerSize=h0,Y.crossSize=f0,Y.resizeCapacity(h0,L,Q.overscan),U0)U0.refresh(M.getTotalSize());J0(),N1(m.resize,v0,C0),W.emit("resize",{width:v0,height:C0})}}),q0.observe(X.viewport)},0);Y.resizeCapacity(Y.containerSize,L,Q.overscan),C(),Y.initialized=!0;let L0=null;if($.defer)L0=requestAnimationFrame(()=>{if(L0=null,!Y.destroyed)j0()});else j0();if(!i)E0.attach();let k0={get element(){return X.root},get items(){return y},get total(){return g?g():y.length},setItems(A0){y=[...A0],Y.totalItems=y.length,M.rebuild(Y.totalItems),C(),J0()},appendItems(A0){y.push(...A0),Y.totalItems=y.length,M.rebuild(Y.totalItems),C(),J0()},prependItems(A0){y.unshift(...A0),Y.totalItems=y.length,M.rebuild(Y.totalItems),C(),J0()},updateItem(A0,a){if(k){if(!k(A0,a))return}else{let G0=y.findIndex((v0)=>v0.id===A0);if(G0===-1)return;y[G0]={...y[G0],...a}}J0()},insertItem(A0,a){if(P)P(A0,a??Y.totalItems);else{if(a===void 0)y.push(A0);else y.splice(a,0,A0);Y.totalItems=y.length,M.rebuild(Y.totalItems),C()}J0()},removeItem(A0){if(H){if(H(A0)<0)return}else{let a=y.findIndex((G0)=>G0.id===A0);if(a===-1)return;y.splice(a,1),Y.totalItems=y.length,M.rebuild(Y.totalItems),C()}J0()},removeItems(A0){if(H){let C0=0;for(let h0 of A0)if(H(h0)>=0)C0++;if(C0>0)J0();return C0}let a=new Set(A0),G0=y.length;y=y.filter((C0)=>!a.has(C0.id));let v0=G0-y.length;if(v0>0)Y.totalItems=y.length,M.rebuild(Y.totalItems),C(),Y.renderPending=!0,j0();return v0},getItemAt(A0){if(z.indexMap)return y[A0];return e?e(A0):y[A0]},getIndexById(A0){if(f)return f(A0);return y.findIndex((a)=>a.id===A0)},scrollToIndex(A0,a="start"){let G0=g?g():y.length;if(G0===0)return;let v0=Math.max(0,Math.min(A0,G0-1)),C0=typeof a==="string"?a:a.align??"start",h0=typeof a==="object"?a.behavior:void 0,f0=typeof a==="object"?a.duration:void 0,s0=typeof a==="object"?a.easing:void 0;if(_0&&_0(v0,C0,h0,f0,s0)!==!1)return;let W2=M.getOffset(v0),p2=M.getSize(v0),e0=Y.containerSize,l1=M.getTotalSize(),u2=Q.mainAxisPadding,r1=Math.max(0,l1+u2-e0),p0;if(Q0)p0=Q0(v0,M,e0,G0,C0);else{let s1=Q.startPadding;switch(C0){case"center":p0=s1+W2-(e0-p2)/2;break;case"end":p0=W2+p2+u2-e0;break;default:p0=W2}p0=Math.max(0,Math.min(p0,r1))}if(h0==="smooth")E0.smoothScrollTo(p0,f0??r2,I??void 0,s0);else if(I)I(p0);else if(j)X.viewport.scrollLeft=p0;else X.viewport.scrollTop=p0},getScrollPosition(){return R0.getPixelEquivalent()},on:W.on.bind(W),off:W.off.bind(W),destroy(){if(Y.destroyed)return;if(Y.destroyed=!0,b0)b0=!1,X.root.classList.remove(P0);if(L0!==null)cancelAnimationFrame(L0),L0=null;if(h!==null)clearTimeout(h),h=null;E0.detach(),q0?.disconnect(),X.content.removeEventListener("click",y0),X.content.removeEventListener("dblclick",M0),X.content.removeEventListener("contextmenu",r),X.root.removeEventListener("keydown",K0);let A0=[];for(let a of b)try{a()}catch(G0){A0.push(G0 instanceof Error?G0:Error(String(G0)))}for(let a of A)if(a.destroy)try{a.destroy()}catch(G0){A0.push(G0 instanceof Error?G0:Error(String(G0)))}for(let[,a]of R)a.remove();if(R.clear(),G.clear(),X.root.remove(),W.emit("destroy",void 0),W.clear(),A0.length>0)for(let a of A0)console.error("vlist: error during destroy:",a)}};for(let[A0,a]of T)k0[A0]=a;return k0}var W4=($)=>{if(typeof $!=="object"){let J=$??2;return{top:J,right:J,bottom:J,left:J}}return{top:$.top??2,right:$.right??2,bottom:$.bottom??2,left:$.left??2}},H1=($,J,Q={},j="vlist",U=!1,Z)=>{let{autoHide:K=!0,autoHideDelay:q=1000,minThumbSize:L=15,showOnHover:B=!0,showOnViewportEnter:N=!0,clickBehavior:W="scroll"}=Q,z=W==="page"?"scroll":W,A=Z??$,F=W4(Q.padding),X=U?F.left:F.top,v=U?F.right:F.bottom,M=U?F.bottom:F.right,G=Q.hoverZoneWidth??M+16,O=0,Y=0,y=0,D=0,R=!1,u=!1,c=0,E=0,l=0,s=null,S=!1,t=null,d=0,h=0,m=null,T=null,p=null,V=U?"width":"height",b=U?"translateX":"translateY",g=U?(J0)=>J0.clientX:(J0)=>J0.clientY,o=U?"left":"top",I=document.createElement("div"),_=document.createElement("div"),w=document.createElement("div"),e=U?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",B0=()=>{if(A===$)return;let J0=$.offsetTop;I.style[U?"left":"top"]=J0?`calc(var(${e}) + ${J0}px)`:`var(${e})`,w.style[U?"left":"top"]=`${J0}px`},H=()=>{if(I.className=`${j}-scrollbar`,_.className=`${j}-scrollbar__thumb`,U)I.classList.add(`${j}-scrollbar--horizontal`);if(Q.padding!==void 0)A.style.setProperty("--vlist-custom-scrollbar-padding-top",`${F.top}px`),A.style.setProperty("--vlist-custom-scrollbar-padding-right",`${F.right}px`),A.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${F.bottom}px`),A.style.setProperty("--vlist-custom-scrollbar-padding-left",`${F.left}px`);if(Q.minThumbSize!==void 0)I.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${L}px`);if(I.appendChild(_),A.appendChild(I),w.className=`${j}-scrollbar__hover`,U)w.classList.add(`${j}-scrollbar__hover--horizontal`),w.style.height=`${G}px`;else w.style.width=`${G}px`;if(A.appendChild(w),A!==$)B0()},P=()=>{if(s)clearTimeout(s),s=null},k=()=>{if(!K)return;P(),s=setTimeout(i,q)},f=()=>{if(O<=Y)return;if(P(),!S)I.classList.add(`${j}-scrollbar--visible`),S=!0;if(K&&!R&&!u)k()},i=()=>{if(R||u)return;I.classList.remove(`${j}-scrollbar--visible`),S=!1},Z0=(J0,H0)=>{if(O=J0,Y=H0,B0(),O<=Y){I.style.display="none",i();return}I.style.display="";let E0=Math.max(0,Y-X-v),w0=Y/O;if(y=Math.max(L,w0*E0),_.style[V]=`${y}px`,D=E0-y,X0(l),!K)f()},X0=(J0)=>{if(l=J0,O<=Y||D<=0)return;let H0=O-Y,E0=Math.min(1,Math.max(0,J0/H0));_.style.transform=`${b}(${E0*D}px)`},Y0=(J0)=>{if(J0.target===_||z!=="jump"||D<=0)return;let H0=O-Y,E0=I.getBoundingClientRect(),w0=g(J0)-E0[o],y0=Math.max(0,Math.min(w0-y/2,D));J(y0/D*H0),f()},N0=()=>{if(m!==null)clearTimeout(m),m=null;if(T!==null)cancelAnimationFrame(T),T=null;p=null},W0=(J0)=>{let H0=D>0?h/J0*D:0;if(d<H0)return-1;if(d>=H0+y)return 1;return 0},O0=()=>{let J0=O-Y,H0=W0(J0);if(H0===0){N0();return}if(H0===-1){if(h<=0){N0();return}let E0=Math.max(0,h-Y);h=E0,J(E0)}else{if(h>=J0){N0();return}let E0=Math.min(J0,h+Y);h=E0,J(E0)}f()},x=(J0)=>{if(p===null){p=J0,T=requestAnimationFrame(x);return}let H0=O-Y,E0=J0-p;p=J0;let w0=W0(H0);if(w0===0){N0();return}let y0=12*Y/1000,M0=Math.min(y0*E0,Y);if(w0===-1){if(h<=0){N0();return}let r=Math.max(0,h-M0);h=r,J(r)}else{if(h>=H0){N0();return}let r=Math.min(H0,h+M0);h=r,J(r)}P(),T=requestAnimationFrame(x)},n=()=>{N0(),k(),document.removeEventListener("mouseup",n)},Q0=(J0)=>{if(J0.target===_||z!=="scroll")return;J0.preventDefault();let H0=I.getBoundingClientRect();d=g(J0)-H0[o],h=l,O0(),m=setTimeout(()=>{T=requestAnimationFrame(x)},350),document.addEventListener("mouseup",n)},_0=(J0)=>{J0.preventDefault(),J0.stopPropagation(),R=!0,c=g(J0),E=l,P(),I.classList.add(`${j}-scrollbar--dragging`),document.addEventListener("mousemove",U0),document.addEventListener("mouseup",D0)},U0=(J0)=>{if(!R)return;let H0=g(J0)-c,E0=D>0?H0/D:0,w0=O-Y,y0=E0*w0,M0=Math.max(0,Math.min(E+y0,w0));_.style.transform=`${b}(${M0/w0*D}px)`,J(M0)},D0=()=>{if(R=!1,I.classList.remove(`${j}-scrollbar--dragging`),K&&!u)k();document.removeEventListener("mousemove",U0),document.removeEventListener("mouseup",D0)},R0=U?(J0)=>J0.touches[0].clientX:(J0)=>J0.touches[0].clientY,P0=(J0)=>{J0.stopPropagation(),R=!0,c=R0(J0),E=l,P(),I.classList.add(`${j}-scrollbar--dragging`)},b0=(J0)=>{if(!R)return;J0.preventDefault();let H0=R0(J0)-c,E0=D>0?H0/D:0,w0=O-Y,y0=E0*w0,M0=Math.max(0,Math.min(E+y0,w0));_.style.transform=`${b}(${M0/w0*D}px)`,J(M0)},F0=()=>{if(R=!1,I.classList.remove(`${j}-scrollbar--dragging`),K)k()},T0=(J0)=>{if(J0.target===_)return;if(D<=0)return;let H0=J0.touches[0],E0=I.getBoundingClientRect(),w0=(U?H0.clientX:H0.clientY)-E0[o];if(z==="jump"){let y0=O-Y,M0=Math.max(0,Math.min(w0-y/2,D));J(M0/D*y0)}else d=w0,h=l,O0();f()},z0=()=>{if(N)f()},C=()=>{if(!R){if(u=!1,K)k()}},j0=()=>{u=!0,P(),f()},$0=()=>{if(u=!1,!R&&K)k()},V0=()=>{if(P(),N0(),t!==null)cancelAnimationFrame(t),t=null;I.removeEventListener("click",Y0),I.removeEventListener("mousedown",Q0),I.removeEventListener("mouseenter",j0),document.removeEventListener("mouseup",n),I.removeEventListener("mouseleave",$0),I.removeEventListener("touchstart",T0),_.removeEventListener("mousedown",_0),_.removeEventListener("touchstart",P0),_.removeEventListener("touchmove",b0),_.removeEventListener("touchend",F0),$.removeEventListener("mouseenter",z0),$.removeEventListener("mouseleave",C),document.removeEventListener("mousemove",U0),document.removeEventListener("mouseup",D0),w.removeEventListener("click",Y0),w.removeEventListener("mousedown",Q0),w.removeEventListener("mouseenter",j0),w.removeEventListener("mouseleave",$0),w.remove(),A.style.removeProperty("--vlist-custom-scrollbar-padding-top"),A.style.removeProperty("--vlist-custom-scrollbar-padding-right"),A.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),A.style.removeProperty("--vlist-custom-scrollbar-padding-left"),I.remove()};if(H(),I.addEventListener("click",Y0),I.addEventListener("mousedown",Q0),I.addEventListener("mouseenter",j0),I.addEventListener("mouseleave",$0),I.addEventListener("touchstart",T0,{passive:!0}),_.addEventListener("mousedown",_0),_.addEventListener("touchstart",P0,{passive:!0}),_.addEventListener("touchmove",b0,{passive:!1}),_.addEventListener("touchend",F0,{passive:!0}),$.addEventListener("mouseenter",z0),$.addEventListener("mouseleave",C),w.addEventListener("click",Y0),w.addEventListener("mousedown",Q0),B)w.addEventListener("mouseenter",j0),w.addEventListener("mouseleave",$0);return{show:f,hide:i,updateBounds:Z0,updatePosition:X0,isVisible:()=>S,destroy:V0}};function A2($){let J=null,Q,j=0,U=0;return{name:"scrollbar",priority:15,setup(Z){let{dom:K,config:q}=Z,{classPrefix:L}=q,B=q.axis.primary==="x";Q=Z.getState();let N=(W)=>{Z.scroll.setPixelEquivalent(W)};if(Z.registerMethod("_scrollbar:setCallback",(W)=>{N=W}),J=H1(K.viewport,(W)=>{N(W)},$,L,B,K.root),K.viewport.classList.add(`${L}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.add(`${L}-viewport--gutter`);queueMicrotask(()=>{J?.updateBounds(Q.totalSize,Q.containerSize)}),Z.registerMethod("_scrollbar:getInstance",()=>J),Z.registerDestroyHandler(()=>{if(J?.destroy(),J=null,K.viewport.classList.remove(`${L}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.remove(`${L}-viewport--gutter`)})},hooks:{onAfterScroll(Z){let{totalSize:K,containerSize:q}=Q;if(K!==j||q!==U)j=K,U=q,J?.updateBounds(K,q);J?.updatePosition(Z),J?.show()},onResize(){let{totalSize:Z,containerSize:K}=Q;j=Z,U=K,J?.updateBounds(Z,K)}},destroy(){J?.destroy(),J=null}}}var O1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.isHeaderFn,U={row:0,col:0},Z=(X)=>{if(X<=0)return 0;if(!j)return Math.ceil(X/J);let v=0,M=0,G=0;for(let O=0;O<X;O++)if(j(O)){if(G++,M)v++,M=0;v++,M=0}else if(M++,M>=J)v++,M=0;if(M)v++;return v},K=(X)=>{return U.row=q(X),U.col=L(X),U},q=(X)=>{if(!j)return Math.floor(X/J);let v=0,M=0;for(let G=0;G<=X;G++)if(j(G)){if(M)v++,M=0;if(G===X)return v;v++,M=0}else{if(G===X)return v;if(M++,M>=J)v++,M=0}return console.warn(`⚠️ getRow(${X}) fell through - returning ${v}`),v},L=(X)=>{if(!j)return X%J;if(j(X))return 0;let v=0;for(let M=0;M<=X;M++)if(j(M))v=0;else{if(M===X)return v;if(v++,v>=J)v=0}return v},B=(X,v,M,G)=>{if(M<=0){G.start=0,G.end=-1;return}if(!j){G.start=Math.max(0,X*J),G.end=Math.min(M-1,(v+1)*J-1);return}let O=N(X,v,M);G.start=O.start,G.end=O.end},N=(X,v,M)=>{if(M<=0)return{start:0,end:-1};if(!j){let D=Math.max(0,X*J),R=Math.min(M-1,(v+1)*J-1);return{start:D,end:R}}let G=-1,O=-1,Y=0,y=0;for(let D=0;D<M;D++){if(j(D)){if(y)Y++,y=0;if(Y>=X&&Y<=v){if(G<0)G=D;O=D}Y++,y=0}else{if(Y>=X&&Y<=v){if(G<0)G=D;O=D}if(y++,y>=J)Y++,y=0}if(Y>v&&!y)break}if(G<0)return{start:0,end:-1};return{start:G,end:O}},W=(X,v,M)=>{if(v<0||v>=J)return-1;let G=X*J+v;if(G<0||G>=M)return-1;return G},z=(X)=>{let v=(J-1)*Q;return Math.max(0,(X-v)/J)};return{get columns(){return J},get gap(){return Q},update:(X)=>{if(X.columns!==void 0)J=Math.max(1,Math.floor(X.columns));if(X.gap!==void 0)Q=X.gap;if(X.isHeaderFn!==void 0)j=X.isHeaderFn},getTotalRows:Z,getPosition:K,getRow:q,getCol:L,getItemRange:N,fillItemRange:B,getItemIndex:W,getColumnWidth:z,getColumnOffset:(X,v)=>{let M=z(v);return X*(M+Q)}}};var m0={selected:!1,focused:!1};function G2($){if(!$.columns||$.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,Q,j,U,Z=null,K,q,L,B,N,W,z=null,A=0,F=0,X=0,v=0,M=new Map,G=0,O=0,Y=0,y=0,D=null,R=!1,u="",c="",E="",l={start:0,end:-1},s=-1,S=-1,t=-1,d=!0,h=(_)=>Q.rebuild(_);function m(){let _=(O-1)*Y;y=Math.max(0,(G-_)/O)}function T(){if(R)return;R=!0,D=z?.()??null}function p(){return J.getTotalRows(j.totalItems)}function V(_){let w=_/O|0,B0=(_-w*O)*(y+Y)+A,H=Q.getOffset(w)-j.baseOffset+X;if(B)return`translate(${Math.round(H)}px, ${Math.round(B0)}px)`;return`translate(${Math.round(B0)}px, ${Math.round(H)}px)`}function b(_,w){let e=Q.getSize(w)-Y;if(B)_.style.width=`${e}px`,_.style.height=`${y}px`;else _.style.width=`${y}px`,_.style.height=`${e}px`}function g(_,w,e){if(D)D(e,m0);else m0.selected=!1,m0.focused=!1;let B0=q(w,e,m0);if(typeof B0==="string")_.innerHTML=B0;else _.innerHTML="",_.appendChild(B0)}function o(){if(j.destroyed)return;let{scrollPosition:_,containerSize:w}=j;if(!d&&_===s&&w===S)return;s=_,S=w,d=!1;let e=p();if(w<=0||e===0)return;T();let B0=Q.indexAtOffset(_),H=Q.indexAtOffset(_+w);if(H<e-1)H++;B0=Math.max(0,B0),H=Math.min(e-1,Math.max(0,H));let P=Math.max(0,B0-W),k=Math.min(e-1,H+W);if(P===j.prevRangeStart&&k===j.prevRangeEnd&&!j.renderPending)return;J.fillItemRange(P,k,j.totalItems,l);let{start:f,end:i}=l;for(let[Y0,N0]of M)if(Y0<f||Y0>i)N0.el.remove(),U.release(N0.el),M.delete(Y0);for(let Y0=f;Y0<=i;Y0++){let N0=L(Y0);if(!N0)continue;let W0=Y0/O|0,O0=Y0-W0*O,x=M.get(Y0);if(x===void 0){let _0=U.acquire();_0.className=u,_0.setAttribute("data-index",String(Y0)),_0.setAttribute("data-id",String(N0.id)),g(_0,N0,Y0),x={el:_0,lastItem:N0},M.set(Y0,x),K.appendChild(_0)}else if(x.lastItem!==N0)x.el.setAttribute("data-id",String(N0.id)),x.lastItem=N0,g(x.el,N0,Y0);else if(D)D(Y0,m0);if(D)if(x.el.classList.toggle(c,m0.selected),x.el.classList.toggle(E,m0.focused),m0.selected)x.el.setAttribute("aria-selected","true");else x.el.removeAttribute("aria-selected");b(x.el,W0);let n=O0*(y+Y)+A,Q0=Q.getOffset(W0)-j.baseOffset+X;x.el.style.transform=B?`translate(${Math.round(Q0)}px, ${Math.round(n)}px)`:`translate(${Math.round(n)}px, ${Math.round(Q0)}px)`}let Z0=Q.getTotalSize();if(Z0!==t)t=Z0,Z?.updateContentSize(Z0);j.prevRangeStart=P,j.prevRangeEnd=k,j.renderPending=!1;let X0=i-f+1;j.visibleCount=Math.min(X0,j.capacity),j.startIndex=f;for(let Y0=0;Y0<j.visibleCount;Y0++){let N0=f+Y0,W0=N0/O|0;j.visibleIndices[Y0]=N0,j.visibleOffsets[Y0]=Q.getOffset(W0),j.visibleSizes[Y0]=Q.getSize(W0)}}function I(){if(j.destroyed)return;h(p()),t=-1,j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,d=!0,o()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(_){O=Math.max(1,Math.floor($.columns)),Y=$.gap??0,J=O1({columns:$.columns,gap:Y}),Q=_.sizeCache,j=_.getState(),U=_.pool,Z=_,K=_.dom.content,q=_.template,B=_.config.axis.primary==="x",N=_.config.classPrefix,W=_.config.overscan,L=_.getItem.bind(_),z=()=>_.getItemStateFn(),u=`${N}-item ${N}-grid-item`,c=`${N}-item--selected`,E=`${N}-item--focused`,A=_.config.crossPadStart,F=_.config.crossAxisPadding,X=_.config.startPadding,v=_.config.mainAxisPadding,G=j.crossSize-F,m();let w=_.rawSizeSpec,e;if(typeof w==="function"){let f={columnWidth:J.getColumnWidth(G),columns:$.columns,gap:Y};e=w(0,f),_.setSizeConfig((i)=>{f.columnWidth=J.getColumnWidth(G);let Z0=i*$.columns;return w(Z0,f)+Y})}else if(e=w,Y>0)_.setSizeConfig(e+Y);let B0=null,H=Q.rebuild;function P(){if(Q.rebuild===B0)return;H=Q.rebuild,h=(k)=>H(k),B0=(k)=>{h(Math.ceil(k/O))},Q.rebuild=B0}if(_.registerMethod("_setSizeCacheBase",(k)=>{H=k,h=(f)=>H(f)}),P(),h(p()),Y>0){let k=Q.getTotalSize;Q.getTotalSize=()=>{let f=k();return f>0?f-Y:0}}_.setVirtualTotalFn(()=>p()),_.dom.root.classList.add(`${N}--grid`),_.setRenderFn(o,I),_.registerMethod("getGridLayout",()=>J),_.registerMethod("_getRowGap",()=>J.gap),_.registerMethod("updateGrid",(k)=>{if(k.columns!==void 0){if(!Number.isInteger(k.columns)||k.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(k.gap!==void 0&&k.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(k),k.columns!==void 0)O=Math.max(1,Math.floor(k.columns));if(k.gap!==void 0)Y=k.gap;if(k.gap!==void 0||k.columns!==void 0){let f=J.gap;if(typeof w==="function"){let i={columnWidth:J.getColumnWidth(G),columns:J.columns,gap:f};_.setSizeConfig((Z0)=>{i.columnWidth=J.getColumnWidth(G);let X0=Z0*J.columns;return w(X0,i)+f})}else _.setSizeConfig(e+f);P(),h(p())}if(k.columns!==void 0)_.setNavConfig({ud:J.columns});G=j.crossSize-F,m(),I()}),_.registerMethod("scrollToIndex",(k,f="start")=>{let i=J.getRow(k),Z0=p();if(Z0===0)return;let X0=Math.max(0,Math.min(i,Z0-1)),Y0=Q.getOffset(X0)+X,N0=Q.getSize(X0),W0=j.containerSize,O0=Q.getTotalSize()+v,x=Math.max(0,O0-W0),n=typeof f==="string"?f:f.align??"start",Q0=typeof f==="object"?f.behavior:void 0,_0=typeof f==="object"?f.duration:void 0,U0;switch(n){case"center":U0=Y0-(W0-N0)/2;break;case"end":U0=Y0-W0+N0;break;default:U0=Y0}if(U0=Math.max(0,Math.min(U0,x)),Q0==="smooth"&&_0&&_0>0)_.smoothScrollTo(U0,_0);else _.scrollTo(U0)}),_.setNavConfig({total:()=>j.totalItems,ud:$.columns,lr:1,scrollIndex:(k)=>J.getRow(k)}),_.registerDestroyHandler(()=>{for(let[,k]of M)k.el.remove();M.clear(),_.dom.root.classList.remove(`${N}--grid`)})},hooks:{onResize(_,w){let e=j.crossSize-F;if(Math.abs(e-G)<1)return;G=e,m();for(let[B0,H]of M){let P=B0/O|0;b(H.el,P),H.el.style.transform=V(B0)}}},destroy(){M.clear()}}}function D2($){let J=$?.keyboard??!0;return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:j,config:U,sizeCache:Z}=Q,K=Q.getState(),q=Q.emitter,L=U.classPrefix,B=j.liveRegion,N=-1,W=!1,z,A=-1,F=(E)=>Q.getItem(E),X=()=>K.totalItems,v={id:0,index:0},M={selected:[],items:[]};Q.setItemStateFn((E,l)=>{l.selected=A===E,l.focused=W&&N===E});function G(E){B.textContent="",B.textContent=E}let O=(E,l,s)=>{let S=E;while(S>=0&&S<s){let t=F(S);if(!t||!t.__groupHeader)return S;S+=l}S=E-l;while(S>=0&&S<s){let t=F(S);if(!t||!t.__groupHeader)return S;S-=l}return E},Y=(E)=>{let l=Q.getNavConfig(),s=l.scrollIndex?l.scrollIndex(E):E,S=Z.getOffset(s),t=Z.getSize(s),d=K.scrollPosition,h=K.containerSize,m=U.startPadding,T=U.endPadding,p=S+m,V=p+t,b=d;if(p<d)b=Math.max(0,S);else if(V>d+h)b=V+T-h;if(b!==d)K.scrollPosition=b,Q.scrollTo(b)},y=(E,l)=>{if(j.content.setAttribute("aria-activedescendant",`${L}-item-${E}`),l)Y(E);Q.forceRender()},D=(E)=>{N=E,W=!0,y(E,!0);let l=F(E);if(l)v.id=l.id,v.index=E,q.emit("focus:change",v),G(`Item ${E+1} of ${X()}`)},R=(E,l)=>{if(N=E,l)W=!0;let s=F(E);if(s&&z===s.id)z=void 0,A=-1;else z=s?.id,A=s?E:-1;if(y(E,l),z!==void 0&&s&&z===s.id)M.selected[0]=z,M.selected.length=1,M.items[0]=s,M.items.length=1,G(`Selected, item ${E+1} of ${X()}`);else M.selected.length=0,M.items.length=0,G("Deselected");q.emit("selection:change",M)},u=()=>{if(K.destroyed)return;if(!j.content.matches(":focus-visible"))return;let E=X();if(E===0)return;let l=N>=0?Math.min(N,E-1):0;l=O(l,1,E),D(l)},c=(E)=>{if(K.destroyed)return;let l=E.relatedTarget;if(l&&j.root.contains(l))return;W=!1,j.content.removeAttribute("aria-activedescendant"),Q.forceRender()};if(j.content.addEventListener("focusin",u),j.content.addEventListener("focusout",c),J)Q.registerKeydownHandler((E)=>{if(K.destroyed)return;let l=X();if(l===0)return;let s=N,S=s;if(E.key===" "||E.key==="Enter"){if(s>=0){let d=F(s);if(d&&!d.__groupHeader)R(s,!0)}E.preventDefault();return}let t=Q.getNavConfig();if(t.navigate)switch(E.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":S=t.navigate(s,E.key,l);break;default:return}else{let d=t.ud||1,h=t.lr,m=U.axis.primary==="x";switch(E.key){case"ArrowUp":if(m&&!h)return;S=s-(m?h:d);break;case"ArrowDown":if(m&&!h)return;S=s+(m?h:d);break;case"ArrowLeft":if(!m&&!h)return;S=s-(m?d:h);break;case"ArrowRight":if(!m&&!h)return;S=s+(m?d:h);break;case"PageUp":case"PageDown":{let T=Z.getSize(Math.max(0,t.scrollIndex?t.scrollIndex(s):s)),V=Math.max(1,Math.floor(K.containerSize/T))*d;S=E.key==="PageUp"?s-V:s+V;break}case"Home":S=0;break;case"End":S=l-1;break;default:return}}if(S<0)S=0;else if(S>=l)S=l-1;if(E.preventDefault(),S=O(S,S>=s?1:-1,l),S!==s)D(S)});Q.registerClickHandler((E)=>{if(K.destroyed)return;let l=E.target.closest("[data-index]");if(!l)return;let s=parseInt(l.dataset.index??"-1",10);if(s<0)return;let S=F(s);if(!S||S.__groupHeader)return;W=!1,j.content.focus({preventScroll:!0}),R(s,!1)}),Q.registerDestroyHandler(()=>{j.content.removeEventListener("focusin",u),j.content.removeEventListener("focusout",c)})}}}var n0=($,J,Q)=>{if(String(Q).startsWith(I0))return!1;let j=I0+J;if($.has(j))return $.delete(j),$.add(Q),!0;return!1},L1=($)=>({selected:new Set($??[]),focusedIndex:-1,focusVisible:!1});function c0($,J,Q,j){if(Q===0)return;let U=j?-J:J,Z=$.focusedIndex+U;if(Z<0)Z=0;if(Z>=Q)Z=Q-1;$.focusedIndex=Z}function U2($){return Array.from($)}var _4={preventScroll:!0};function H2($){let J=$?.mode??"single",Q=$?.followFocus??!1,j=$?.focusOnClick??!1,U=$?.keyboard??!0,Z,K,q,L,B,N,W,z,A=-1,F=new Map,X=null,v=null,M=null,G=null,O,Y=!1;function y(b){if(Y)return;Y=!0,X=b.getMethod("_layoutToDataIndex")??null,v=b.getMethod("_dataToLayoutIndex")??null,M=b.getMethod("_isGroupHeader")??null,G=b.getMethod("_scrollItemIntoView")??null,R=b.getMethod("_getLoadedItem")??null;let g=b.getMethod("getGroupLayout");if(g){let o=g();O=()=>o.totalEntries}}let D=(b)=>X?X(b):b,R=null,u=(b)=>{if(R)return R(b);return K()[b]},c=(b)=>{let g=D(b);return g>=0?u(g):void 0},E=(b,g,o)=>{if(!M)return b;let I=b;while(I>=0&&I<o){if(!M(I))return I;I+=g}I=b-g;while(I>=0&&I<o){if(!M(I))return I;I-=g}return b};function l(b,g){if(J==="single")Z.selected.clear(),F.clear();if(Z.selected.add(b),g)F.set(b,g)}function s(b,g){if(Z.selected.has(b))Z.selected.delete(b),F.delete(b);else l(b,g)}function S(){Z.selected.clear(),F.clear()}function t(b){Z.selected.delete(b),F.delete(b)}function d(b,g){let o=Math.min(b,g),I=Math.max(b,g);for(let _=o;_<=I;_++){if(M?.(_))continue;let w=c(_);if(w)Z.selected.add(w.id),F.set(w.id,w)}}function h(){let b=W.totalItems;for(let g=0;g<b;g++){if(M?.(g))continue;let o=c(g);if(o)Z.selected.add(o.id),F.set(o.id,o)}}function m(){if(Z.selected.size===0)return[];if(F.size>=Z.selected.size){let I=[];for(let _ of Z.selected){let w=F.get(_);if(w)I.push(w)}if(I.length===Z.selected.size)return I}let b=[],g=new Set(Z.selected),o=W.totalItems;for(let I=0;I<o&&g.size>0;I++){if(M?.(I))continue;let _=c(I);if(_&&g.has(_.id))b.push(_),F.set(_.id,_),g.delete(_.id)}return b}function T(){q(),L.emit("selection:change",{selected:U2(Z.selected),items:m()})}let p=null,V=-1;return{name:"selection",priority:50,setup(b){b.enableListboxRole(),Z=L1($?.initial),K=b.getItems.bind(b),q=b.forceRender.bind(b),L=b.emitter,B=b.dom;let g=b.config;if(N=b.sizeCache,W=b.getState(),z=b.scrollTo.bind(b),O=()=>W.totalItems,J==="none"){b.registerMethod("select",()=>{}),b.registerMethod("deselect",()=>{}),b.registerMethod("toggleSelect",()=>{}),b.registerMethod("selectAll",()=>{}),b.registerMethod("clearSelection",()=>{}),b.registerMethod("getSelected",()=>[]),b.registerMethod("getSelectedItems",()=>[]),b.registerMethod("selectNext",()=>{}),b.registerMethod("selectPrevious",()=>{}),b.registerMethod("_seedSelection",()=>{}),b.registerMethod("_getFocusedId",()=>{return}),b.registerMethod("_focusById",()=>{});return}let o=g.classPrefix;b.setItemStateFn((P,k)=>{if(y(b),Z.selected.size>0){let f=D(P),i=f>=0?c(P):void 0,Z0=i?.id;if(Z0!==void 0)if(Z.selected.has(Z0))k.selected=!0;else if(n0(Z.selected,f,Z0))k.selected=!0,F.delete(I0+f),F.set(Z0,i);else k.selected=!1;else k.selected=!1}else k.selected=!1;k.focused=Z.focusVisible&&Z.focusedIndex===P}),b.registerMethod("_getSelectedIds",()=>Z.selected),b.registerMethod("_getFocusedIndex",()=>Z.focusVisible?Z.focusedIndex:-1),B.root.classList.add(`${o}--selectable`);let I=(P)=>{p=null,V=-1;let k=P.target.closest("[data-index]");if(!k)return!1;let f=parseInt(k.dataset.index??"-1",10);if(f<0)return!1;if(M?.(f))return!1;if(D(f)<0)return!1;let Z0=c(f);if(!Z0)return!1;return p=Z0,V=f,!0},_=0,w=(P)=>{if(P<0)return;if(G){G(P);return}if(!_){let O0=b.getMethod("_getRowGap");_=O0?O0():0}let k=b.getNavConfig(),f=k.scrollIndex?k.scrollIndex(P):P,i=N.getOffset(f),Z0=N.getSize(f)-_,X0=W.containerSize,Y0=W.scrollPosition,N0=g.startPadding,W0=g.endPadding;if(i<Y0)z(i);else if(N0+i+Z0+W0>Y0+X0)z(N0+i+Z0+W0-X0)},e=(P)=>{let k=B.content.querySelectorAll(`[data-index="${P}"]`),f=null;for(let i=0;i<k.length;i++){let Z0=k[i];if(Z0.style.display!=="none"){f=Z0;break}}if(!f&&k.length>0)f=k[0];B.content.setAttribute("aria-activedescendant",f?.id??`${o}-item-${P}`)},B0=()=>{if(W.destroyed)return;if(y(b),!B.content.matches(":focus-visible")&&!B.root.matches(":focus-visible"))return;let P=O();if(P===0)return;let k=Z.focusedIndex>=0?Math.min(Z.focusedIndex,P-1):0;k=E(k,1,P),Z.focusedIndex=k,Z.focusVisible=!0,e(k),w(k),q()};B.root.addEventListener("focusin",B0);let H=(P)=>{if(W.destroyed)return;let k=P.relatedTarget;if(k&&B.root.contains(k))return;Z.focusVisible=!1,q(),B.content.removeAttribute("aria-activedescendant")};if(B.root.addEventListener("focusout",H),b.registerDestroyHandler(()=>{B.root.removeEventListener("focusin",B0),B.root.removeEventListener("focusout",H)}),b.registerClickHandler((P)=>{if(y(b),!I(P))return;if(J==="multiple"&&P.shiftKey&&Z.focusedIndex>=0){let f=A>=0?A:Z.focusedIndex,i=D(f),Z0=D(V);if(i>=0&&Z0>=0)d(f,V);Z.focusedIndex=V,Z.focusVisible=j,A=V,T();return}if(Z.focusedIndex=V,Z.focusVisible=j,A=V,(B.content.getAttribute("tabindex")!==null?B.content:B.root).focus(_4),J==="single")l(p.id,p);else s(p.id,p);T()}),U)b.registerKeydownHandler((P)=>{y(b);let k=O();if(k===0)return;let f=b.getNavConfig(),i=Z.focusedIndex,Z0=!1,X0=!1;if(f.navigate&&(P.key==="ArrowUp"||P.key==="ArrowDown"||P.key==="ArrowLeft"||P.key==="ArrowRight"||P.key==="PageUp"||P.key==="PageDown"||P.key==="Home"||P.key==="End")){let N0=f.total?f.total():k,W0=f.navigate(Z.focusedIndex,P.key,N0);if(W0!==Z.focusedIndex)Z.focusedIndex=Math.max(0,Math.min(W0,N0-1));Z.focusVisible=!0,Z0=!0}else switch(P.key){case"ArrowUp":{let N0=f.ud||1,W0=f.lr,O0=g.axis.primary==="x";if(O0&&!W0)break;c0(Z,-(O0?W0:N0),k,g.reverse),Z.focusVisible=!0,Z0=!0;break}case"ArrowDown":{let N0=f.ud||1,W0=f.lr,O0=g.axis.primary==="x";if(O0&&!W0)break;c0(Z,O0?W0:N0,k,g.reverse),Z.focusVisible=!0,Z0=!0;break}case"ArrowLeft":{let N0=f.ud||1,W0=f.lr,O0=g.axis.primary==="x";if(!O0&&!W0)break;c0(Z,-(O0?N0:W0),k,g.reverse),Z.focusVisible=!0,Z0=!0;break}case"ArrowRight":{let N0=f.ud||1,W0=f.lr,O0=g.axis.primary==="x";if(!O0&&!W0)break;c0(Z,O0?N0:W0,k,g.reverse),Z.focusVisible=!0,Z0=!0;break}case"Home":if(k>0)Z.focusedIndex=0;Z.focusVisible=!0,Z0=!0;break;case"End":if(k>0)Z.focusedIndex=k-1;Z.focusVisible=!0,Z0=!0;break;case"PageUp":case"PageDown":{let N0=f.ud||1,W0=Math.max(0,Z.focusedIndex),O0=f.scrollIndex?f.scrollIndex(W0):W0,x=N.getSize(O0),n=W.containerSize,_0=(x>0?Math.max(1,Math.floor(n/x)):10)*N0;if(X&&v){let U0=X(Z.focusedIndex),D0=P.key==="PageUp"?-_0:_0,R0=W.totalItems-1;Z.focusedIndex=v(Math.max(0,Math.min(R0,U0+D0)))}else c0(Z,P.key==="PageUp"?-_0:_0,k);Z.focusVisible=!0,Z0=!0;break}case" ":case"Enter":if(P.key===" "&&P.shiftKey&&J==="multiple"&&Z.focusedIndex>=0){if(A>=0){let N0=D(A),W0=D(Z.focusedIndex);if(N0>=0&&W0>=0)d(A,Z.focusedIndex)}Z.focusVisible=!0,X0=!0,Z0=!0;break}if(Z.focusedIndex>=0){let N0=c(Z.focusedIndex);if(N0)s(N0.id,N0),A=Z.focusedIndex;Z.focusVisible=!0,X0=!0,Z0=!0}break;case"a":if((P.ctrlKey||P.metaKey)&&J==="multiple"){if(Z.selected.size===W.totalItems)S();else h();Z.focusVisible=!0,X0=!0,Z0=!0}break;case"Delete":case"Backspace":if(Z.selected.size>0)L.emit("delete",{selected:U2(Z.selected),items:m()}),Z0=!0;break}if(Z.focusedIndex!==i&&M){let N0=Z.focusedIndex>i?1:-1;Z.focusedIndex=E(Z.focusedIndex,N0,k)}let Y0=Z.focusedIndex!==i;if(P.shiftKey&&J==="multiple"&&!X0&&Y0){if(P.key==="ArrowUp"||P.key==="ArrowDown"||P.key==="ArrowLeft"||P.key==="ArrowRight"){let O0=c(Z.focusedIndex);if(O0)s(O0.id,O0);A=Z.focusedIndex,X0=!0}if((P.ctrlKey||P.metaKey)&&(P.key==="Home"||P.key==="End")){let O0=i>=0?i:Z.focusedIndex,x=D(O0),n=D(Z.focusedIndex);if(x>=0&&n>=0)d(O0,Z.focusedIndex);A=Z.focusedIndex,X0=!0}}if(Q&&J==="single"&&!X0&&Y0&&Z.focusedIndex>=0){let N0=c(Z.focusedIndex);if(N0)l(N0.id,N0);X0=!0}if(Z0){if(P.preventDefault(),Y0&&Z.focusedIndex>=0){if(!f.navigate)w(Z.focusedIndex);e(Z.focusedIndex)}if(X0)T();else if(Y0){if(q(),Z.focusedIndex>=0){let N0=c(Z.focusedIndex);if(N0)L.emit("focus:change",{id:N0.id,index:Z.focusedIndex})}}}});b.registerMethod("select",(...P)=>{for(let k of P)l(k);T()}),b.registerMethod("deselect",(...P)=>{for(let k of P)t(k);T()}),b.registerMethod("toggleSelect",(P)=>{s(P),T()}),b.registerMethod("selectAll",()=>{if(J!=="multiple")return;h(),T()}),b.registerMethod("clearSelection",()=>{S(),T()}),b.registerMethod("getSelected",()=>{return U2(Z.selected)}),b.registerMethod("getSelectedItems",()=>{return m()}),b.registerMethod("selectNext",()=>{y(b);let P=O();if(P===0)return;if(c0(Z,1,P,g.reverse),M)Z.focusedIndex=E(Z.focusedIndex,1,P);let k=c(Z.focusedIndex);if(k)l(k.id,k);T()}),b.registerMethod("selectPrevious",()=>{y(b);let P=O();if(P===0)return;if(c0(Z,-1,P,g.reverse),M)Z.focusedIndex=E(Z.focusedIndex,-1,P);let k=c(Z.focusedIndex);if(k)l(k.id,k);T()}),b.registerMethod("_seedSelection",(P)=>{for(let k of P)Z.selected.add(k)}),b.registerMethod("_isFollowFocus",()=>Q),b.registerMethod("_getFocusedId",()=>{if(Z.focusedIndex<0)return;return c(Z.focusedIndex)?.id}),b.registerMethod("_focusById",(P)=>{let k=W.totalItems;for(let f=0;f<k;f++){if(M?.(f))continue;let i=c(f);if(i&&i.id===P){Z.focusedIndex=f,Z.focusVisible=j,L.emit("focus:change",{id:P,index:f});return}}})},destroy(){F.clear()}}}var K2=($)=>$==null?0:typeof $==="function"?$():$;function O2($){let J=$?.scrollPadding,Q,j;return{name:"page",priority:5,setup(U){let{dom:Z,sizeCache:K,config:q,emitter:L}=U,B=q.axis.primary==="x",N=window,W=U.getState();if(U.disableDefaultScroll(),U.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",B)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${q.classPrefix}-viewport--custom-scrollbar`),U.setScrollFns(()=>{let M=Z.viewport.getBoundingClientRect();return Math.max(0,B?-M.left:-M.top)},(M)=>{let G=Z.viewport.getBoundingClientRect(),O=(B?G.left+N.scrollX:G.top+N.scrollY)+M;if(B)N.scrollTo({left:O,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:O,behavior:"instant"})}),W.containerSize=B?N.innerWidth:N.innerHeight,W.crossSize=B?N.innerHeight:N.innerWidth;let z=null,A=()=>{let M=Z.viewport.getBoundingClientRect(),G=Math.max(0,B?-M.left:-M.top);if(W.prevScrollPosition=W.scrollPosition,W.scrollPosition=G,W.scrollDirection=G>W.prevScrollPosition?1:G<W.prevScrollPosition?-1:0,U.onScrollFrame(),z!==null)clearTimeout(z);z=setTimeout(()=>{z=null,U.onScrollIdle()},150)};N.addEventListener("scroll",A,{passive:!0}),j=()=>N.removeEventListener("scroll",A);let{innerWidth:F,innerHeight:X}=N,v=()=>{let{innerWidth:M,innerHeight:G}=N;if((B?Math.abs(M-F):Math.abs(G-X))<1)return;F=M,X=G,W.containerSize=B?M:G,W.crossSize=B?G:M,U.forceRender(),L.emit("resize",{width:M,height:G})};if(N.addEventListener("resize",v),Q=()=>N.removeEventListener("resize",v),J)U.setScrollToPosFn((M,G,O,Y,y)=>{let D=K2(B?J.left:J.top),R=K2(B?J.right:J.bottom);if(Y===0)return 0;let u=Math.max(0,Math.min(M,Y-1)),c=G.getOffset(u),E=G.getSize(u),l=G.getTotalSize(),s=Math.max(0,l-O+R),S;switch(y){case"center":S=c-D-(O-D-R-E)/2;break;case"end":S=c-O+E+R;break;default:S=c-D}return Math.max(-D,Math.min(S,s))}),U.registerMethod("_scrollItemIntoView",(M)=>{let G=B?N.innerWidth:N.innerHeight,O=K2(B?J.left:J.top),Y=K2(B?J.right:J.bottom),y=Z.viewport.getBoundingClientRect(),D=B?N.scrollX:N.scrollY,R=B?y.left:y.top,u=R+D,c=K.getOffset(M),E=K.getSize(M),l=R+c,s=G-Y,S=D;if(l<O)S=u+c-O;else if(l+E>s)S=u+c+E-s;if(S!==D)if(B)N.scrollTo({left:S,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:S,behavior:"instant"})});U.registerDestroyHandler(()=>{if(j?.(),Q?.(),z!==null)clearTimeout(z)})},destroy(){j?.(),Q?.(),j=void 0,Q=void 0}}}var V4=($)=>{try{let J=sessionStorage.getItem($);if(!J)return;return JSON.parse(J)}catch{return}};function t0($){let J=$?.autoSave,Q=J?V4(J):$?.restore,j=!1,U=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:K,emitter:q}=Z,L=Z.getState(),B=()=>{let{scrollPosition:z,totalItems:A}=L,X=Z.getMethod("getSelected")?.();if(A===0){let R={index:0,offsetInItem:0,total:0};if(X?.length)R.selectedIds=X;return R}let v=K.indexAtOffset(z),M=z-K.getOffset(v);M=Math.max(0,M);let G={index:v,offsetInItem:M,total:A,scrollTop:z},O=K.getSize(v);if(O)G.offsetRatio=M/O;let Y=Z.getMethod("_layoutToDataIndex");if(Y){let R=Y(v);if(R<0){for(let u=v+1;u<A;u++)if(R=Y(u),R>=0)break}if(R>=0)G.dataIndex=R}let y=Z.getMethod("_getTotal");if(y)G.dataTotal=y();if(X?.length)G.selectedIds=X;let D=Z.getMethod("_getFocusedId");if(D){let R=D();if(R!==void 0)G.focusedId=R}return G};Z.registerMethod("getScrollSnapshot",B);let N=(z,A=!0)=>{let{index:F,offsetInItem:X,selectedIds:v,focusedId:M}=z,G=L.totalItems,O=z.dataTotal??z.total;if(G===0&&O&&O>0){let h=Z.getMethod("_setTotal");if(h)h(O),G=L.totalItems;K.rebuild(G),Z.updateContentSize(K.getTotalSize()),L.totalSize=K.getTotalSize()}if(G===0)return Promise.resolve();if(!Number.isFinite(F)||!Number.isFinite(X))return Promise.resolve();if(K.getTotal()===0)K.rebuild(G),Z.updateContentSize(K.getTotalSize()),L.totalSize=K.getTotalSize();let y=Z.getMethod("_dataToLayoutIndex"),D=F;if(z.dataIndex!==void 0&&z.dataIndex>=0)D=y?y(z.dataIndex):z.dataIndex;else if(y)D=y(F);let R=Math.max(0,Math.min(D,G-1)),u=K.getSize(R),c=z.offsetRatio!==void 0?z.offsetRatio*u:Math.min(X,u),E=Z.getMethod("_getTotal")?.(),l=z.total===G||E!==void 0&&z.dataTotal===E,s;if(z.scrollTop!==void 0&&l)s=z.scrollTop;else s=K.getOffset(R)+c;let S=Math.max(0,L.totalSize-L.containerSize);if(s=Math.max(0,Math.min(s,S)),Z.scrollTo(s),A&&v?.length){let h=Z.getMethod("select");if(h)h(...v)}let t=Z.getMethod("loadVisibleRange"),d=()=>{if(M===void 0)return;let h=Z.getMethod("_focusById");if(h)h(M)};return new Promise((h)=>{let m=(T)=>{if(T)d();h()};if(t){let T=0,p=()=>{if(L.containerSize>0){if(Math.abs(L.scrollPosition-s)>1)Z.scrollTo(s);t().then(()=>m(!0),()=>m(!1))}else if(++T<10)requestAnimationFrame(p);else m(!1)};requestAnimationFrame(p)}else{let T=Z.getMethod("reload");if(T)requestAnimationFrame(()=>{T().then(()=>m(!0),()=>m(!1))});else requestAnimationFrame(()=>m(!0))}})};Z.registerMethod("restoreScroll",N);let W=!!(Q&&J);if(Z.registerDestroyHandler(()=>{j=!0}),J){U=()=>{if(j||W)return;let G=B();try{sessionStorage.setItem(J,JSON.stringify(G))}catch{}},Z.registerMethod("_saveSnapshot",U);let z=0,A=()=>{if(z)return;z=requestAnimationFrame(()=>{if(z=0,U)U()})};q.on("selection:change",A),q.on("focus:change",A);let F=0,X=()=>{if(F=0,U)U()},v=()=>{if(F)clearTimeout(F);F=setTimeout(X,300)};q.on("scroll",v);let M=()=>{U?.()};if(window.addEventListener("beforeunload",M),Z.registerDestroyHandler(()=>{if(z)cancelAnimationFrame(z);if(F)clearTimeout(F);window.removeEventListener("beforeunload",M)}),Q&&Q.total&&Q.total>0){let G=Z.getMethod("_cancelAutoLoad");if(G)G();let O=Z.getMethod("_setTotal");if(O)O(Q.total)}}if(Q){let z=!0;if(Q.selectedIds?.length){let A=Z.getMethod("_seedSelection");if(A)A(Q.selectedIds),z=!1}queueMicrotask(()=>{if(N(Q,z),W=!1,U)U()})}},hooks:{onIdle(){if(U&&!j)U()}},destroy(){j=!0,U=null}}}function F1($,J){if(J===!1)return null;return{duration:Math.min(J?.duration??$.duration,1000),easing:J?.easing??$.easing}}function L2($){let J=$?.duration??200,Q=$?.easing??"cubic-bezier(0.2, 0, 0, 1)",j={duration:J,easing:Q},U=F1(j,$?.remove),Z=F1(j,$?.insert),K=null,q=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(L){let{sizeCache:B,emitter:N}=L,W=L.config,z=L.dom,A=L.getState(),F=W.reverse?"bottom center":"top center",X=W.axis.primary==="x"?"translateX":"translateY",v=L.getMethod("_dataToLayoutIndex")??null,M=(Y)=>v?v(Y):Y,G=(Y)=>{let y=String(Y).replace(/"/g,"\\\""),D=z.content.querySelector(`[data-id="${y}"]`),R=D?parseInt(D.dataset.index??"-1",10):-1;return{el:D,layoutIndex:R}},O=()=>{let Y=z.content.children;for(let y=0;y<Y.length;y++)Y[y].style.transition="none";z.content.offsetHeight;for(let y=0;y<Y.length;y++)Y[y].style.transition=""};if(U){let Y=(D)=>{if(K)K();let R=typeof document<"u"?document.activeElement:null,u=R&&z.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,c=G(D),E=c.layoutIndex,l=c.el,s=E>=0?B.getSize(E):0,S=E>=0?B.getOffset(E):0;if(!l||E<0){if(L.removeItemById(D)<0)return!1;if(L.forceRender(),O(),N.emit("data:change",{type:"remove",id:D}),u>=0){let B0=A.totalItems;if(B0>0)L.getRenderedElement(Math.min(u,B0-1))?.focus()}return N.emit("remove:end",{id:D}),!0}let t=l.cloneNode(!0);t.style.pointerEvents="none",t.style.overflow="hidden",t.removeAttribute("data-index"),t.removeAttribute("data-id"),t.removeAttribute("id"),t.removeAttribute("aria-selected"),t.classList.remove(`${W.classPrefix}-item--selected`);let d=W.axis.primary==="x"?"scrollLeft":"scrollTop",h=z.viewport[d];if(L.removeItemById(D)<0)return!1;L.forceRender(),O(),N.emit("data:change",{type:"remove",id:D});let T=h-z.viewport[d];t.style.zIndex="1",z.content.appendChild(t);let p=U,V={duration:p.duration,easing:p.easing},b=[],g=Math.round(S-T);b.push(t.animate([{transform:`${X}(${g}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${X}(${Math.round(S)}px) scaleY(0)`,opacity:0,transformOrigin:F}],V));let o=T>0,I=z.content.children;for(let e=0;e<I.length;e++){let B0=I[e];if(B0===t)continue;let H=parseInt(B0.dataset?.index??"-1",10);if(H<0||!o&&H<E)continue;let P=B.getOffset(H),k=H>=E?Math.round(P+s-T):Math.round(P-T),f=Math.round(P);if(k===f)continue;b.push(B0.animate([{transform:`${X}(${k}px)`},{transform:`${X}(${f}px)`}],V))}let _=!1,w=()=>{if(_)return;_=!0,K=null,t.remove();for(let e of b)if(e.playState!=="finished")e.cancel();if(u>=0){let e=A.totalItems;if(e>0)L.getRenderedElement(Math.min(u,e-1))?.focus()}N.emit("remove:end",{id:D})};return K=w,Promise.all(b.map((e)=>e.finished)).then(w,w),setTimeout(w,p.duration+50),!0},y=(D)=>{if(D.length===0)return 0;if(D.length===1)return Y(D[0])?1:0;if(K)K();if(q)q();let R=typeof document<"u"?document.activeElement:null,u=R&&z.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,c=[];for(let _ of D){let w=G(_);c.push({id:_,layoutIndex:w.layoutIndex,el:w.el,size:w.layoutIndex>=0?B.getSize(w.layoutIndex):0,offset:w.layoutIndex>=0?B.getOffset(w.layoutIndex):0})}c.sort((_,w)=>w.layoutIndex-_.layoutIndex);let E=[];for(let _ of c){if(!_.el||_.layoutIndex<0)continue;let w=_.el.cloneNode(!0);w.style.pointerEvents="none",w.style.overflow="hidden",w.removeAttribute("data-index"),w.removeAttribute("data-id"),w.removeAttribute("id"),w.removeAttribute("aria-selected"),w.classList.remove(`${W.classPrefix}-item--selected`),E.push({clone:w,offset:_.offset,size:_.size,layoutIndex:_.layoutIndex})}let l=new Map,s=z.content.children;for(let _=0;_<s.length;_++){let w=s[_],e=w.dataset?.id,B0=parseInt(w.dataset?.index??"-1",10);if(e&&B0>=0)l.set(e,B.getOffset(B0))}let S=W.axis.primary==="x"?"scrollLeft":"scrollTop",t=z.viewport[S],d=[];for(let _ of c)if(L.removeItemById(_.id)>=0)d.push(_.id);if(d.length===0)return 0;L.forceRender(),O();for(let _ of d)N.emit("data:change",{type:"remove",id:_});if(E.length===0){if(u>=0){let _=A.totalItems;if(_>0)L.getRenderedElement(Math.min(u,_-1))?.focus()}for(let _ of d)N.emit("remove:end",{id:_});return d.length}let h=t-z.viewport[S],m=U,T={duration:m.duration,easing:m.easing},p=[];E.sort((_,w)=>_.layoutIndex-w.layoutIndex);let V=0;for(let _ of E){_.clone.style.zIndex="1",z.content.appendChild(_.clone);let w=Math.round(_.offset-h),e=Math.round(_.offset-V);p.push(_.clone.animate([{transform:`${X}(${w}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${X}(${e}px) scaleY(0)`,opacity:0,transformOrigin:F}],T)),V+=_.size}let b=new Set(E.map((_)=>_.clone)),g=z.content.children;for(let _=0;_<g.length;_++){let w=g[_];if(b.has(w))continue;let e=w.dataset?.id,B0=parseInt(w.dataset?.index??"-1",10);if(!e||B0<0)continue;let H=l.get(e);if(H===void 0)continue;let P=B.getOffset(B0),k=Math.round(H-h),f=Math.round(P);if(k===f)continue;p.push(w.animate([{transform:`${X}(${k}px)`},{transform:`${X}(${f}px)`}],T))}let o=!1,I=()=>{if(o)return;o=!0,K=null;for(let{clone:_}of E)_.remove();for(let _ of p)if(_.playState!=="finished")_.cancel();if(u>=0){let _=A.totalItems;if(_>0)L.getRenderedElement(Math.min(u,_-1))?.focus()}for(let _ of d)N.emit("remove:end",{id:_})};return K=I,Promise.all(p.map((_)=>_.finished)).then(I,I),setTimeout(I,m.duration+50),d.length};L.registerMethod("removeItem",Y),L.registerMethod("removeItems",y)}if(Z){let Y=(y,D)=>{if(q)q();if(K)K();let R=D??0,u=new Map,c=z.content.children;for(let _=0;_<c.length;_++){let w=c[_],e=w.dataset?.id,B0=parseInt(w.dataset?.index??"-1",10);if(e&&B0>=0)u.set(e,B.getOffset(B0))}let E=W.axis.primary==="x"?"scrollLeft":"scrollTop",l=W.axis.primary==="x"?"scrollWidth":"scrollHeight",s=W.axis.primary==="x"?"clientWidth":"clientHeight",S=z.viewport[E],t=z.viewport[l]-z.viewport[s],d=S>=t-1;L.insertItemAt(y,R),L.forceRender(),O(),N.emit("data:change",{type:"insert",id:y.id});let h=z.viewport[E]-S,m=M(R);if(W.reverse&&h===0&&d){z.viewport[E]=z.viewport[l]-z.viewport[s];let _=z.viewport[E];if(A.prevScrollPosition=A.scrollPosition,A.scrollPosition=_,h=_-S,h>0)L.forceRender(),O()}let T=L.getRenderedElement(m),p=Z,V={duration:p.duration,easing:p.easing},b=[];if(T){let _=B.getOffset(m);b.push(T.animate([{transform:`${X}(${Math.round(_)}px) scaleY(0)`,opacity:0,transformOrigin:F},{transform:`${X}(${Math.round(_)}px) scaleY(1)`,opacity:1,transformOrigin:F}],V))}let g=z.content.children;for(let _=0;_<g.length;_++){let w=g[_];if(w===T)continue;let e=w.dataset?.id,B0=parseInt(w.dataset?.index??"-1",10);if(!e||B0<0)continue;let H=u.get(e);if(H===void 0)continue;let P=B.getOffset(B0),k=Math.round(H+h),f=Math.round(P);if(k===f)continue;b.push(w.animate([{transform:`${X}(${k}px)`},{transform:`${X}(${f}px)`}],V))}if(b.length===0)return;let o=!1,I=()=>{if(o)return;o=!0,q=null;for(let _ of b)if(_.playState!=="finished")_.cancel()};q=I,Promise.all(b.map((_)=>_.finished)).then(I,I),setTimeout(I,p.duration+50)};L.registerMethod("insertItem",Y)}},destroy(){if(K)K();if(q)q()}}}function F2($){let J=$?.gap??0,Q=null,j=null,U,Z,K,q,L=new Map,B=new WeakMap,N=0,W=!1,z=!1,A=!1,F=2;function X(Y){return L.get(Y)??q}function v(){return Math.max(0,j.sizeCache.getTotalSize()+j.config.mainAxisPadding-U.containerSize)}function M(){let Y=v();return Y>0&&U.scrollPosition>=Y-F}function G(){let Y=v();if(Y>U.scrollPosition)j.scrollTo(Y)}function O(){j.updateContentSize(j.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(Y){if(j=Y,U=Y.getState(),Z=Y.config.axis.primary==="x",K=Z?"width":"height",J===0)J=Y.config.gap;if(q=typeof Y.rawSizeSpec==="function"?Y.rawSizeSpec(0)+J:Y.rawSizeSpec+J,Y.setSizeConfig(X),J>0){let R=Y.sizeCache.getTotalSize;Y.sizeCache.getTotalSize=()=>{let u=R();return u>0?u-J:0}}Q=new ResizeObserver((R)=>{if(U.destroyed||!j)return;let u=!1,c=Y.sizeCache.indexAtOffset(U.scrollPosition);for(let t of R){let d=t.target,h=B.get(d);if(h===void 0)continue;if(d.getAttribute("data-index")!==String(h)){Q.unobserve(d);continue}if(L.has(h))continue;let m=t.borderBoxSize[0];if(!m)continue;let T=Z?m.inlineSize:m.blockSize;if(T<=0)continue;let p=T+J,V=q;if(L.set(h,p),u=!0,h<c&&p!==V)N+=p-V;Q.unobserve(d),d.style[K]=`${T}px`}if(!u)return;let E=M();if(Y.rebuildSizeCache(),N)Y.scrollTo(U.scrollPosition+N),N=0;let l=U.scrollDirection!==0,s=U.totalItems>0&&U.prevRangeEnd>=U.totalItems-1,S=z&&!A;if(S||E||s||!l){if(O(),W=!1,S||E)G()}else W=!0;Y.forceRender()}),Y.setScrollToIndexFn((R,u,c,E,l)=>{let s=R>=U.totalItems-1&&u==="end";if(z=s,A=!1,!s)return!1;let S=Y.config.mainAxisPadding,t=()=>{let d=Y.sizeCache.getTotalSize();return Math.max(0,d+S-U.containerSize)};if(c==="smooth")A=!0,Y.smoothScrollTo(t,E??300,l,()=>{A=!1});else Y.scrollTo(t())});let y=()=>{z=!1},D=Y.dom.viewport;D.addEventListener("wheel",y,{passive:!0}),D.addEventListener("touchstart",y,{passive:!0}),Y.registerDestroyHandler(()=>{D.removeEventListener("wheel",y),D.removeEventListener("touchstart",y)}),Y.registerMethod("isMeasured",(R)=>L.has(R)),Y.registerMethod("setMeasuredSize",(R,u)=>{L.set(R,u)}),Y.registerMethod("getMeasuredCount",()=>L.size),Y.registerDestroyHandler(()=>{if(Q)Q.disconnect(),Q=null})},hooks:{onCommit(Y){if(!Q||!j)return;for(let y=0;y<Y.visibleCount;y++){let D=Y.visibleIndices[y];if(L.has(D))continue;let R=j.getRenderedElement(D);if(!R)continue;R.style[K]="",B.set(R,D),Q.observe(R)}},onIdle(){if(!j||!W)return;let Y=M();if(O(),W=!1,Y)G(),j.forceRender()}},destroy(){if(Q)Q.disconnect(),Q=null;L.clear(),z=!1,A=!1,j=null}}}var R1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.containerSize,U=$.crossOffset??0,Z=$.mainOffset??0,K=0,q=[],L=()=>{let M=(J-1)*Q;K=Math.max(0,(j-M)/J),q=Array(J);let G=K+Q;for(let O=0;O<J;O++)q[O]=U+O*G};L();let B=[],N=0,W=[],z=(M,G)=>{if(M<=0)return N=0,B=[],[];let O=Array(J).fill(Z),Y=Array(J);for(let R=0;R<J;R++)Y[R]=[];let y=Array(M);for(let R=0;R<M;R++){let u=0,c=O[0];for(let s=1;s<J;s++){let S=O[s];if(S<c)c=S,u=s}let E=G(R),l=O[u];y[R]={index:R,x:q[u],y:l,lane:u,size:E,crossSize:K},Y[u].push(R),O[u]=l+E+Q}B=Y;let D=0;for(let R=0;R<J;R++){let u=O[R],c=u>0?u-Q:0;if(c>D)D=c}return N=D,y},A=(M)=>{if(M.length===0)return N;if(N)return N;let G=Array(J).fill(0);for(let Y of M){let y=Y.y+Y.size,D=G[Y.lane];if(y>D)G[Y.lane]=y}let O=0;for(let Y=0;Y<J;Y++)if(G[Y]>O)O=G[Y];return O},F=(M,G,O)=>{if(M.length===0||O<=G)return W.length=0,W;if(B.length===0||B.length!==J)return X(M,G,O);W.length=0;for(let Y=0;Y<J;Y++){let y=B[Y],D=y.length;if(!D)continue;let R=0,u=D;while(R<u){let c=R+u>>>1,E=M[y[c]];if(E.y+E.size<=G)R=c+1;else u=c}for(let c=R;c<D;c++){let E=M[y[c]];if(E.y>=O)break;W.push(E)}}return W},X=(M,G,O)=>{W.length=0;for(let Y of M)if(Y.y+Y.size>G&&Y.y<O)W.push(Y);return W};return{get columns(){return J},get gap(){return Q},get containerSize(){return j},update:(M)=>{let G=!1;if(M.columns!==void 0){let O=Math.max(1,Math.floor(M.columns));if(O!==J)J=O,G=!0}if(M.gap!==void 0&&M.gap!==Q)Q=M.gap,G=!0;if(M.containerSize!==void 0&&M.containerSize!==j)j=M.containerSize,G=!0;if(M.crossOffset!==void 0&&M.crossOffset!==U)U=M.crossOffset,G=!0;if(M.mainOffset!==void 0&&M.mainOffset!==Z)Z=M.mainOffset,G=!0;if(G)L()},calculateLayout:z,getTotalSize:A,getVisibleItems:F}};var E1=($,J,Q)=>{let j=Array.from(J).sort((K,q)=>K-q);if(j.length<=1)return;let U=[];for(let K=0;K<j.length;K++){let q=Q(j[K]);if(q)U.push(q)}if(U.length<=1)return;let Z=$.firstChild;for(let K=0;K<U.length;K++){let q=U[K];if(q===Z)Z=Z.nextSibling;else $.insertBefore(q,Z)}};var N4=($=200)=>{let J=[];return{acquire:()=>{let Z=J.pop();if(Z)return Z;let K=document.createElement("div");return K.setAttribute("role","option"),K},release:(Z)=>{if(Z.remove(),J.length<$)Z.className="",Z.textContent="",Z.removeAttribute("style"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.removeAttribute("data-lane"),J.push(Z)},clear:()=>{J.length=0}}},M4=1,b1=($,J,Q,j=!1,U,Z,K,q,L=()=>0)=>{let B=N4(),N=new Map,W=new Set,z=0,A="",F=-1,X={selected:!1,focused:!1},v=(d,h)=>{return X.selected=d,X.focused=h,X},M=`${Q}-item ${Q}-masonry-item`,G=`${Q}-group-header`,O=`${Q}-item--selected`,Y=`${Q}-item--focused`,y=(d,h)=>{if(typeof h==="string")d.innerHTML=h;else d.replaceChildren(h);u0(d)},D=(d,h,m)=>{d.classList.toggle(O,h),d.classList.toggle(Y,m)},R=(d,h)=>{let m=Math.round(h.y-L());if(j)d.style.transform=`translate(${m}px, ${Math.round(h.x)}px)`;else d.style.transform=`translate(${Math.round(h.x)}px, ${m}px)`},u=(d,h)=>{if(j)d.style.width=`${h.size}px`,d.style.height=`${h.crossSize}px`;else d.style.width=`${h.crossSize}px`,d.style.height=`${h.size}px`},c=(d,h,m,T,p)=>{let V=B.acquire(),b=h.__groupHeader,g=v(T,p);if(V.className=b?G:M,V.dataset.index=String(d),V.dataset.id=String(h.id),V.dataset.lane=String(m.lane),b)V.setAttribute("role","presentation"),V.removeAttribute("aria-selected"),V.removeAttribute("aria-setsize"),V.removeAttribute("aria-posinset"),V.removeAttribute("id");else if(q===!0){if(V.setAttribute("role","option"),V.ariaSelected=String(T),Z)V.id=`${Z}-item-${d}`;if(U){let I=U();if(I!==F)F=I,A=String(I);V.setAttribute("aria-setsize",A);let _=K?K(d):d+1;V.setAttribute("aria-posinset",String(_))}}else if(V.setAttribute("role","listitem"),V.removeAttribute("aria-selected"),U){let I=U();if(I!==F)F=I,A=String(I);V.setAttribute("aria-setsize",A);let _=K?K(d):d+1;V.setAttribute("aria-posinset",String(_))}u(V,m);let o=J(h,d,g);return y(V,o),D(V,T,p),R(V,m),{element:V,lastItem:h,lastSelected:T,lastFocused:p,lastY:m.y-L(),lastX:m.x,lastSize:m.size,lastCrossSize:m.crossSize,lastSeenFrame:z}},E=(d,h,m,T)=>{z++,W.clear();for(let V=0;V<h.length;V++)W.add(h[V].index);let p=null;for(let V=0;V<h.length;V++){let b=h[V],g=b.index,o=d(g);if(!o)continue;let I=m.has(o.id),_=g===T,w=N.get(g);if(w){let e=w.lastItem!==o,B0=w.lastSelected!==I,H=w.lastFocused!==_,P=w.lastY!==b.y-L()||w.lastX!==b.x,k=w.lastSize!==b.size||w.lastCrossSize!==b.crossSize;if(e){let f=v(I,_),i=J(o,g,f);if(y(w.element,i),w.element.dataset.id=String(o.id),w.lastItem=o,!o.__groupHeader){let X0=K?K(g):g+1;w.element.setAttribute("aria-posinset",String(X0))}}if(e||B0||H)D(w.element,I,_),w.element.ariaSelected=String(I),w.lastSelected=I,w.lastFocused=_;if(k)u(w.element,b),w.lastSize=b.size,w.lastCrossSize=b.crossSize;if(P)R(w.element,b),w.lastY=b.y-L(),w.lastX=b.x}else{let e=c(g,o,b,I,_);if(!p)p=document.createDocumentFragment();p.appendChild(e.element),N.set(g,e)}}if(p)$.appendChild(p);for(let[V,b]of N)if(W.has(V))b.lastSeenFrame=z;else if(z-b.lastSeenFrame>M4)B.release(b.element),N.delete(V)},l=()=>{for(let d of N.values())B.release(d.element);N.clear(),$.innerHTML=""};return{render:E,getElement:(d)=>N.get(d)?.element,updateItemClasses:(d,h,m)=>{let T=N.get(d);if(!T)return;let p=T.lastSelected!==h,V=T.lastFocused!==m;if(p||V)D(T.element,h,m),T.lastSelected=h,T.lastFocused=m},sortDOM:()=>{E1($,N.keys(),(d)=>N.get(d)?.element)},clear:l,destroy:()=>{l(),B.clear()}}};var X4=100,A4=new Set;function R2($){if(!$.columns||$.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,Q=null,j,U=null,Z,K,q,L=[],B=-1,N=-1,W=!0,z=-1,A=-1,F=0,X=0,v=0,M=0,G={columnWidth:0,columns:0,gap:0,containerWidth:0},O=[],Y=(H)=>O[H],y=null,D=null,R=!1;function u(){if(R||!U)return;R=!0,y=U.getMethod("_getSelectedIds")??null,D=U.getMethod("_getFocusedIndex")??null}let c=[],E=new Int32Array(0),l=[],s=null,S=null,t=null,d=null,h=!1,m=!0;function T(){if(h||!U)return;if(s=U.getMethod("_getItemLane")??null,S=U.getMethod("_getItemY")??null,t=U.getMethod("_getItemH")??null,d=U.getMethod("_isGroupHeader")??null,s||d)h=!0}function p(){T();let H=J.columns,P=!!s;if(P){let k=j.totalItems;c=Array(H);for(let f=0;f<H;f++)c[f]=[];if(E.length<k)E=new Int32Array(k);for(let f=0;f<k;f++){if(d?.(f))continue;let i=s(f);if(i<0||i>=H)continue;E[f]=c[i].length,c[i].push(f)}}else{let k=L.length;c=Array(H);for(let f=0;f<H;f++)c[f]=[];if(E.length<k)E=new Int32Array(k);for(let f=0;f<k;f++){let i=L[f];E[f]=c[i.lane].length,c[i.lane].push(f)}}l=Array(H);for(let k=0;k<H;k++){let f=c[k],i=new Float64Array(f.length);for(let Z0=0;Z0<f.length;Z0++){let X0=f[Z0];if(P&&S&&t){let Y0=S(X0),N0=t(X0);i[Z0]=Y0>=0?Y0+(N0>0?N0*0.5:0):0}else{let Y0=L[X0];i[Z0]=Y0.y+Y0.size*0.5}}l[k]=i}}function V(H,P){let k=H.length;if(!k)return-1;let f=0,i=k-1;while(f<i){let Z0=f+i>>1;if(H[Z0]<P)f=Z0+1;else i=Z0}if(f>0&&Math.abs(H[f-1]-P)<=Math.abs(H[f]-P))return f-1;return f}function b(H,P,k){if(m)p(),m=!1;let f=!!s,i,Z0;if(f){if(d?.(H))return H;if(i=s(H),i<0)return H;Z0=E[H]}else{let W0=L[H];if(!W0)return H;i=W0.lane,Z0=E[H]}let X0=J.columns,Y0=c[i];switch(Z?P==="ArrowDown"?"ArrowRight":P==="ArrowUp"?"ArrowLeft":P==="ArrowRight"?"ArrowDown":P==="ArrowLeft"?"ArrowUp":P:P){case"ArrowDown":if(Z0+1<Y0.length)return Y0[Z0+1];return H;case"ArrowUp":if(Z0>0)return Y0[Z0-1];return H;case"ArrowRight":{if(i>=X0-1)return H;let W0=i+1,O0=c[W0];if(!O0.length)return H;let x=V(l[W0],l[i]?.[Z0]??0);return x>=0?O0[x]:H}case"ArrowLeft":{if(i<=0)return H;let W0=i-1,O0=c[W0];if(!O0.length)return H;let x=V(l[W0],l[i]?.[Z0]??0);return x>=0?O0[x]:H}case"Home":return 0;case"End":{let W0=c[X0-1];return W0.length>0?W0[W0.length-1]:H}case"PageDown":{let W0=j.containerSize,O0=f?null:L[H],x=O0&&O0.size>0?O0.size:150,n=Math.max(1,Math.floor(W0/x)),Q0=Math.min(Z0+n,Y0.length-1);return Y0[Q0]}case"PageUp":{let W0=j.containerSize,O0=f?null:L[H],x=O0&&O0.size>0?O0.size:150,n=Math.max(1,Math.floor(W0/x)),Q0=Math.max(0,Z0-n);return Y0[Q0]}}return H}let g=null;function o(){if($.size)return(H)=>$.size(H,G);if(g!==null&&typeof g==="function")return(H)=>g(H,G);return(H)=>U.sizeCache.getSize(H)}function I(){let{columns:H,gap:P}=J;G.containerWidth=J.containerSize,G.columns=H,G.gap=P,G.columnWidth=Math.max(0,(J.containerSize-(H-1)*P)/H)}function _(){if(!U)return;I();let H=j.totalItems;L=J.calculateLayout(H,o()),z=H,m=!0,w()}function w(){if(!U)return;let H=J.getTotalSize(L)+M;if(H===A)return;A=H,U.updateContentSize(H)}function e(){if(j.destroyed||!U||!Q)return;if(j.totalItems!==z)_();if(W)A=-1,w();u();let{scrollPosition:H,containerSize:P}=j;if(!W&&H===B&&P===N)return;if(B=H,N=P,W=!1,P<=0||L.length===0)return;let k=Math.max(0,H-q),f=H+P+q,i=J.getVisibleItems(L,k,f),Z0=y?.()??A4,X0=D?.()??-1;O=U.getItems(),Q.render(Y,i,Z0,X0);let Y0=i.length,N0=Y0>0?i[0].index:0,W0=Y0>0?i[Y0-1].index:0;j.prevRangeStart=N0,j.prevRangeEnd=W0,j.renderPending=!1;let O0=Math.min(Y0,j.capacity);j.visibleCount=O0,j.startIndex=N0;for(let x=0;x<O0;x++){let n=i[x];j.visibleIndices[x]=n.index,j.visibleOffsets[x]=n.y,j.visibleSizes[x]=n.size}}function B0(){if(j.destroyed)return;A=-1,_(),j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,W=!0,e()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(H){if(U=H,j=H.getState(),g=H.rawSizeSpec,Z=H.config.axis.primary==="x",K=H.config.classPrefix,q=H.config.overscan*X4,H.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");F=H.config.crossAxisPadding,X=H.config.crossPadStart,v=H.config.startPadding,M=H.config.endPadding;let P=j.crossSize-F;J=R1({columns:$.columns,gap:$.gap??0,containerSize:P,crossOffset:X,mainOffset:v}),Q=b1(H.dom.content,H.template,K,Z,()=>j.totalItems,void 0,void 0,void 0,()=>j.baseOffset),H.dom.root.classList.add(`${K}--masonry`),H.setRenderFn(e,B0),_(),H.registerMethod("getMasonryLayout",()=>J),H.registerMethod("updateMasonry",(k)=>{if(k.columns!==void 0&&k.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(k.gap!==void 0&&k.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let f={};if(k.columns!==void 0)f.columns=k.columns;if(k.gap!==void 0)f.gap=k.gap;J.update(f),Q?.clear(),B0()}),H.registerMethod("scrollToIndex",(k,f="start")=>{let i=L[k];if(!i)return;let Z0=typeof f==="string"?f:f.align??"start",X0=typeof f==="object"?f.behavior:void 0,Y0=typeof f==="object"?f.duration:void 0,N0=j.containerSize,W0=J.getTotalSize(L)+M,O0=Math.max(0,W0-N0),x=i.y;if(Z0==="center")x=i.y-N0/2+i.size/2;else if(Z0==="end"){if(x=i.y-N0+i.size,k>=j.totalItems-1&&i.y+i.size>O0)x=O0}if(x=Math.max(0,Math.min(x,O0)),X0==="smooth"&&Y0&&Y0>0)H.smoothScrollTo(x,Y0);else H.scrollTo(x)}),H.registerMethod("_scrollItemIntoView",(k)=>{let f=L[k];if(!f)return;let{scrollPosition:i,containerSize:Z0}=j,X0=J.getTotalSize(L)+M,Y0=Math.max(0,X0-Z0),N0=f.y,W0=N0+f.size;if(N0-v<i)H.scrollTo(Math.max(0,N0-v));else if(W0+M>i+Z0){let O0=c[J.columns-1];if(O0&&O0.length>0&&k===O0[O0.length-1]&&N0>=Y0)H.scrollTo(Y0);else H.scrollTo(Math.min(W0+M-Z0,Y0))}}),H.setNavConfig({total:()=>j.totalItems,navigate:b}),H.registerDestroyHandler(()=>{Q?.destroy(),Q=null,H.dom.root.classList.remove(`${K}--masonry`)})},hooks:{onResize(H,P){if(!J||!U)return;let k=j.crossSize-F;if(Math.abs(k-J.containerSize)<1)return;J.update({containerSize:k}),Q?.clear(),B0()},onIdle(){Q?.sortDOM()}},destroy(){Q?.destroy(),Q=null,L=[],U=null}}}var T1=($={})=>{let{chunkSize:J=100,maxCachedItems:Q=5000,evictionBuffer:j=200,onEvict:U}=$,Z=new Map,K=0,q=0,L=(m)=>{let T=Z.get(m);if(!T)T={items:Array(J),count:0,lastAccess:Date.now()},Z.set(m,T);else T.lastAccess=Date.now();return T},B=(m)=>{return Math.floor(m/J)},N=(m)=>{return m%J},W=()=>K,z=(m)=>{K=m},A=(m)=>{if(m<0||m>=K)return;let T=B(m),p=Z.get(T);if(!p)return;return p.items[N(m)]},F=(m)=>{if(m<0||m>=K)return!1;let T=B(m),p=Z.get(T);if(!p)return!1;return p.items[N(m)]!==void 0},X=(m,T)=>{let p=B(m),V=L(p),b=N(m),g=V.items[b]===void 0;if(V.items[b]=T,g)V.count++,q++;if(m>=K)K=m+1},v=(m,T)=>{for(let p=0;p<T.length;p++){let V=T[p];if(V!==void 0)X(m+p,V)}},M=(m,T)=>{if(m<0||m>K)return;let p=B(m),V=Array.from(Z.keys()).filter((_)=>_>=p).sort((_,w)=>_-w),b=[];for(let _ of V){let w=Z.get(_),e=_*J;for(let B0=0;B0<J;B0++){if(w.items[B0]===void 0)continue;let H=e+B0;if(H<m)continue;b.push({oldIndex:H,item:w.items[B0]})}}for(let{oldIndex:_}of b){let w=B(_),e=Z.get(w);if(!e)continue;let B0=N(_);if(e.items[B0]!==void 0){if(e.items[B0]=void 0,e.count--,q--,e.count===0)Z.delete(w)}}K++;for(let{oldIndex:_,item:w}of b){let e=_+1,B0=B(e),H=L(B0),P=N(e);H.items[P]=w,H.count++,q++}let g=B(m),o=L(g),I=N(m);o.items[I]=T,o.count++,q++},G=(m)=>{if(m<0||m>=K)return!1;let T=B(m),p=Z.get(T),V=N(m);if(!(p!==void 0&&p.items[V]!==void 0))return!1;let g=T,o=Array.from(Z.keys()).filter((_)=>_>=g).sort((_,w)=>_-w),I=[];for(let _ of o){let w=Z.get(_),e=_*J;for(let B0=0;B0<J;B0++){if(w.items[B0]===void 0)continue;let H=e+B0;if(H<=m)continue;I.push({oldIndex:H,item:w.items[B0]})}}if(p.items[V]=void 0,p.count--,q--,p.count===0)Z.delete(T);for(let{oldIndex:_}of I){let w=B(_),e=Z.get(w);if(!e)continue;let B0=N(_);if(e.items[B0]!==void 0){if(e.items[B0]=void 0,e.count--,q--,e.count===0)Z.delete(w)}}for(let{oldIndex:_,item:w}of I){let e=_-1,B0=B(e),H=L(B0),P=N(e);H.items[P]=w,H.count++,q++}return K--,!0},O=(m,T)=>{let p=[];for(let V=m;V<=T&&V<K;V++)p.push(A(V));return p},Y=(m,T)=>{for(let p=m;p<=T&&p<K;p++)if(!F(p))return!1;return!0},y=()=>{let m=[],T=null,p=Array.from(Z.keys()).sort((V,b)=>V-b);for(let V of p){let b=Z.get(V);if(!b)continue;let g=V*J;for(let o=0;o<J;o++){let I=g+o;if(I>=K)break;if(b.items[o]!==void 0)if(T===null)T={start:I,end:I};else if(I===T.end+1)T.end=I;else m.push(T),T={start:I,end:I};else if(T!==null)m.push(T),T=null}}if(T!==null)m.push(T);return m},D=(m,T)=>{let p=[],V=null;for(let b=m;b<=T&&b<K;b++)if(!F(b))if(V===null)V={start:b,end:b};else V.end=b;else if(V!==null)p.push(V),V=null;if(V!==null)p.push(V);return p},R=(m)=>{return Z.has(m)},u=(m)=>{let T=Z.get(m);if(!T)return!1;let p=m*J,V=Math.min(J,K-p);return T.count>=V},c=(m)=>{let T=Z.get(m);if(T)T.lastAccess=Date.now()},E=(m,T)=>{if(m>T||Z.size===0)return;let p=Date.now(),V=B(Math.max(0,m)),b=B(Math.min(K-1,T));for(let g=V;g<=b;g++){let o=Z.get(g);if(o)o.lastAccess=p}},l=(m,T)=>{if(q<=Q)return 0;let p=Math.max(0,m-j),V=Math.min(K-1,T+j),b=B(p),g=B(V),o=0,I=[];for(let[_,w]of Z)if(_<b||_>g)o+=w.count,I.push(_),q-=w.count,Z.delete(_);if(o>0&&U)U(o,I);return o},s=()=>{if(q<=Q)return 0;let m=Array.from(Z.entries()).sort(([,V],[,b])=>V.lastAccess-b.lastAccess),T=0,p=[];for(let[V,b]of m){if(q<=Q)break;T+=b.count,q-=b.count,p.push(V),Z.delete(V)}if(T>0&&U)U(T,p);return T},S=()=>{return{totalItems:K,cachedItems:q,cachedChunks:Z.size,chunkSize:J,maxCachedItems:Q,memoryEfficiency:K>0?1-q/K:1}},t=()=>q,d=()=>{Z.clear(),q=0};return{chunkSize:J,maxCachedItems:Q,getTotal:W,setTotal:z,get:A,has:F,set:X,setRange:v,insert:M,delete:G,getRange:O,isRangeLoaded:Y,getLoadedRanges:y,findUnloadedRanges:D,getChunkIndex:B,isChunkLoaded:R,isChunkFullyLoaded:u,touchChunk:c,touchChunksForRange:E,evictDistant:l,evictToLimit:s,getStats:S,getCachedCount:t,clear:d,reset:()=>{d(),K=0}}};var k1=($={})=>{let{maskCharacter:J=n2,maxSampleSize:Q=t2}=$,j=[],U=!1,Z=(N)=>{if(U||N.length===0)return;let W=Math.min(N.length,Q);for(let z=0;z<W;z++){let A=N[z];if(!A||typeof A!=="object")continue;let F={},X=!1;for(let[v,M]of Object.entries(A)){if(v.startsWith("_")||v==="id")continue;F[v]=String(M??"").length,X=!0}if(X)j.push(F)}U=!0},K=()=>U,q=(N)=>{let W={id:`${I0}${N}`,[V2]:!0,_index:N};if(j.length===0)return W.label=J.repeat(12),W;let z=j[N%j.length];for(let[A,F]of Object.entries(z))W[A]=J.repeat(Math.max(1,F));return W};return{analyzeStructure:Z,hasAnalyzedStructure:K,generate:q,generateRange:(N,W)=>{let z=[];for(let A=N;A<=W;A++)z.push(q(A));return z},clear:()=>{j=[],U=!1}}},q2=($)=>{if(!$||typeof $!=="object")return!1;return $[V2]===!0};var G4=50,P1=($={})=>{let{adapter:J,initialItems:Q,initialTotal:j,storage:U,placeholder:Z,pageSize:K=G4,maxConcurrent:q=0,onStateChange:L,onDataChange:B,onItemsLoaded:N,onItemsEvicted:W,onLoadError:z}=$,A=T1({...U,onEvict:(n,Q0)=>{W?.(n),l(),E()}}),F=null,X=()=>{if(!F)F=k1(Z);return F},v=new Map,M=!1,G,O=!0,Y,y,D=[],R=0,u=new Map,c=()=>{for(let n of u.values())n[1].abort();u.clear()},E=()=>{L?.(V())},l=()=>{B?.()},s=()=>{v.clear();let n=A.getLoadedRanges();for(let Q0 of n)for(let _0=Q0.start;_0<=Q0.end;_0++){let U0=A.get(_0);if(U0&&!q2(U0))v.set(U0.id,_0)}},S=(n,Q0)=>{if(!q2(Q0))v.set(Q0.id,n)},t=(n)=>{v.delete(n)},d=(n,Q0)=>{return`${n}-${Q0}`},h=()=>A.getTotal(),m=()=>A.getCachedCount(),T=()=>M,p=()=>O,V=()=>({total:A.getTotal(),cached:A.getCachedCount(),isLoading:M,pendingRanges:D,error:G,hasMore:O,cursor:Y}),b=()=>A,g=()=>X(),o=(n)=>{let Q0=A.get(n);if(Q0!==void 0)return Q0;if(n>=0&&n<A.getTotal())return X().generate(n);return},I=(n)=>{let Q0=v.get(n);if(Q0===void 0)return;return A.get(Q0)},_=(n)=>{return v.get(n)??-1},w=(n)=>{let Q0=A.get(n);return Q0!==void 0&&!q2(Q0)},e=(n,Q0)=>{let _0=[],U0=A.getTotal();A.touchChunksForRange(n,Math.min(Q0,U0-1));for(let D0=n;D0<=Q0&&D0<U0;D0++){let R0=A.get(D0);if(R0!==void 0)_0.push(R0);else _0.push(X().generate(D0))}return _0},B0=(n)=>{A.setTotal(n),O=A.getCachedCount()<n,l(),E()},H=(n,Q0=0,_0)=>{if(J&&n.length>0){let U0=X();if(!U0.hasAnalyzedStructure())U0.analyzeStructure(n)}for(let U0=0;U0<n.length;U0++){let D0=n[U0];if(D0!==void 0){let R0=Q0+U0;A.set(R0,D0),S(R0,D0)}}if(_0!==void 0)A.setTotal(_0);else if(Q0+n.length>A.getTotal())A.setTotal(Q0+n.length);if(A.getCachedCount()>=A.getTotal()&&A.getTotal()>0)O=!1;l(),E(),N?.(n,Q0,A.getTotal())},P=(n,Q0)=>{let _0=A.get(n);if(!_0)return!1;let U0=_0.id,D0={..._0,...Q0};if(A.set(n,D0),Q0.id!==void 0&&Q0.id!==U0)t(U0);return S(n,D0),l(),E(),!0},k=(n,Q0)=>{A.insert(Q0,n),s(),c(),l(),E()},f=(n)=>{let Q0=v.get(n);if(Q0===void 0)return!1;if(!A.delete(Q0))return!1;return s(),c(),l(),E(),!0},i=async(n,Q0)=>{if(!J)return;let _0=A.chunkSize,U0=Math.floor(n/_0),D0=Math.floor(Q0/_0),R0=_0*2;for(let[F0,T0]of u){let z0=F0.indexOf("-"),C=parseInt(F0.slice(0,z0),10);if(Math.abs(C-n)>R0)T0[1].abort(),u.delete(F0)}let P0=[],b0=[];for(let F0=U0;F0<=D0;F0++){let T0=F0*_0,z0=T0+_0-1,C=d(T0,z0);if(A.isChunkFullyLoaded(F0))continue;let $0=u.get(C);if($0)b0.push($0[0]);else P0.push({start:T0,end:z0})}if(P0.length===0){if(b0.length>0)await Promise.all(b0);return}if(q>0){let F0=u.size+P0.length;if(F0>q){let T0=(n+Q0)/2,z0=Math.min(F0-q,u.size);while(z0>0){let j0=null,$0=-1,V0=null;for(let[J0,H0]of u){let E0=J0.indexOf("-"),w0=parseInt(J0.slice(0,E0),10),y0=parseInt(J0.slice(E0+1),10),M0=Math.abs((w0+y0)/2-T0);if(M0>$0)$0=M0,j0=J0,V0=H0[1]}if(j0)V0.abort(),u.delete(j0);z0--}let C=q-u.size;if(P0.length>C)P0.sort((j0,$0)=>{let V0=Math.abs((j0.start+j0.end)/2-T0),J0=Math.abs(($0.start+$0.end)/2-T0);return V0-J0}),P0.length=Math.max(0,C)}}if(P0.length===0){if(b0.length>0)await Promise.all(b0);return}for(let F0 of P0){let T0=d(F0.start,F0.end),z0=new AbortController,C=(async()=>{D.push(F0),M=!0,G=void 0,E();try{let j0=F0.end-F0.start+1,$0={offset:F0.start,limit:j0,cursor:F0.start===y?Y:void 0,signal:z0.signal},V0=await J.read($0);if(H(V0.items,F0.start,V0.total),V0.cursor)Y=V0.cursor,y=F0.start+V0.items.length;let J0=F0.start+V0.items.length;if(J0>=R){if(R=J0,V0.hasMore!==void 0)O=V0.hasMore;else if(V0.total!==void 0)O=J0<V0.total}}catch(j0){if(j0?.name==="AbortError")return;G=j0 instanceof Error?j0:Error(String(j0)),z?.(G,F0)}finally{u.delete(T0);let j0=D.findIndex(($0)=>$0.start===F0.start&&$0.end===F0.end);if(j0>=0)D.splice(j0,1);M=u.size>0,E()}})();u.set(T0,[C,z0]),b0.push(C)}await Promise.all(b0)},Z0=async(n,Q0)=>{if(A.isRangeLoaded(n,Q0))return;await i(n,Q0)},X0=async()=>{if(!J)return;await i(0,K-1)},Y0=async()=>{if(!J||M||!O)return!1;let n=A.getCachedCount(),Q0=A.getTotal(),_0=n,U0=Math.min(_0+K-1,Q0>0?Q0-1:_0+K-1);if(_0>=Q0&&Q0>0)return O=!1,!1;return await i(_0,U0),A.getCachedCount()>n},N0=async()=>{if(A.clear(),v.clear(),F)F.clear();c(),D=[],M=!1,Y=void 0,y=void 0,O=!0,R=0,G=void 0,l(),E()},W0=(n,Q0)=>{if(A.evictDistant(n,Q0)>0)s()},O0=()=>{A.clear(),v.clear(),Y=void 0,y=void 0,G=void 0,D=[],M=!1,l(),E()},x=()=>{if(A.reset(),v.clear(),F)F.clear();Y=void 0,y=void 0,O=!0,R=0,G=void 0,D=[],M=!1,l(),E()};if(Q&&Q.length>0)H(Q,0,j??Q.length);else if(j!==void 0)A.setTotal(j),l(),E();return{getState:V,getTotal:h,getCached:m,getIsLoading:T,getHasMore:p,getStorage:b,getPlaceholders:g,getItem:o,getItemById:I,getIndexById:_,isItemLoaded:w,getItemsInRange:e,setTotal:B0,setItems:H,updateItem:P,insertItem:k,removeItem:f,loadRange:i,ensureRange:Z0,loadInitial:X0,loadMore:Y0,reload:N0,evictDistant:W0,clear:O0,reset:x}};function E2($){let{adapter:J,total:Q,autoLoad:j=!0,storage:U}=$,Z=$.loading?.cancelThreshold??c2,K=$.loading?.preloadThreshold??m2,q=$.loading?.preloadAhead??x2,L=$.loading?.maxConcurrent??d2,B,N,W,z,A,F,X=null,v=null,M=null,G=0,O=!1,Y=null,y=_2,D=-1,R=-1,u=-1,c=-1,E=U?.chunkSize??$2,l=()=>{if(X=null,v!==null)clearTimeout(v),v=null},s=(V,b)=>{return B.ensureRange(V,b)},S=(V,b=$2)=>{z.emit("load:start",{offset:V,limit:b})},t=(V)=>{z.emit("error",{error:V,context:"ensureRange"})},d=()=>{if(!X)return;X=null;let V={start:N.startIndex,end:N.startIndex+Math.max(0,N.visibleCount-1)};if(V.end<V.start)return;s(V.start,V.end).catch(t)},h=()=>{if(Y!==null)clearTimeout(Y),Y=null},m=()=>{if(N.destroyed)return;let V=B.getTotal();if(N.visibleCount<=0||N.startIndex>=V)return;let b=Math.min(N.startIndex+N.visibleCount-1,V-1);if(b<N.startIndex)return;s(N.startIndex,b).catch(t)},T=()=>{if(Y!==null||N.destroyed)return;Y=setTimeout(()=>{Y=null,m()},y),y=Math.min(y*2,l2)},p=()=>{h(),y=_2};return{name:"data",priority:20,setup(V){N=V.getState(),W=V.sizeCache,z=V.emitter,A=V.dom,F=V.forceRender.bind(V);let b=null;V.setVirtualTotalFn(()=>b?.getTotal()??0),V.setGetIndexByIdFn((o)=>b?.getIndexById(o)??-1),B=b=P1({adapter:J,...Q!==void 0&&{initialTotal:Q},pageSize:U?.chunkSize??$2,maxConcurrent:L,...U&&{storage:{...U.chunkSize!==void 0&&{chunkSize:U.chunkSize},...U.maxCachedItems!==void 0&&{maxCachedItems:U.maxCachedItems},...U.evictionBuffer!==void 0&&{evictionBuffer:U.evictionBuffer}}},onDataChange:()=>{if(N.initialized){let o=B.getTotal(),I=B.getCached();if(N.totalItems=o,o!==D||I!==R)D=o,R=I,W.rebuild(o);V.updateContentSize(W.getTotalSize()),V.renderIfNeeded()}},onItemsLoaded:(o)=>{if(p(),N.initialized)V.updateContentSize(W.getTotalSize()),F(),z.emit("load:end",{items:o,total:B.getTotal()})},onLoadError:(o)=>{if(z.emit("error",{error:o,context:"load"}),N.initialized)V.renderIfNeeded();T()}}),V.setGetItemFn((o)=>B.getItem(o)),V.setRemoveItemFn((o)=>{let I=B.getIndexById(o);if(I<0)return-1;if(!B.removeItem(o))return-1;return I}),V.setInsertItemFn((o,I)=>{B.insertItem(o,I)}),V.setUpdateItemFn((o,I)=>{let _=B.getIndexById(o);if(_<0)return!1;return B.updateItem(_,I)}),V.registerMethod("reload",async()=>{if(X=null,u=-1,c=-1,p(),V.forceRender(),await B.reload(),V.scrollTo(0),j)S(0),await B.loadInitial(),V.forceRender()}),V.registerMethod("loadVisibleRange",async()=>{X=null,V.forceRender();let o=B.getTotal();if(N.visibleCount>0&&N.startIndex<o){let I=Math.min(N.startIndex+N.visibleCount-1,o-1);S(N.startIndex,I-N.startIndex+1),await s(N.startIndex,I)}}),V.registerMethod("loadInitial",async()=>{S(0),await B.loadInitial(),V.forceRender()}),V.registerMethod("getTotal",()=>{return B.getTotal()}),V.registerMethod("setTotal",(o)=>{B.setTotal(o)}),V.registerMethod("_getTotal",()=>B.getTotal()),V.registerMethod("_setTotal",(o)=>{B.setTotal(o)}),V.registerMethod("_cancelAutoLoad",()=>{O=!0}),V.registerMethod("_getLoadedItem",(o)=>{return B.getStorage().get(o)}),V.registerMethod("_getItem",(o)=>{return B.getItem(o)}),V.registerMethod("_getLoadedCount",()=>B.getCached()),z.on("load:start",()=>{A.root.setAttribute("aria-busy","true")}),z.on("load:end",()=>{A.root.removeAttribute("aria-busy")}),V.registerDestroyHandler(()=>{if(M!==null)clearTimeout(M),M=null;l(),h()}),z.on("velocity:change",({velocity:o})=>{G=Math.abs(o)});let g=()=>{if(N.destroyed)return;p(),m(),d()};if(window.addEventListener("online",g),V.registerDestroyHandler(()=>{window.removeEventListener("online",g)}),j)queueMicrotask(()=>{if(O)return;S(0),B.loadInitial().catch((o)=>{z.emit("error",{error:o,context:"loadInitial"})})});else if(Q!==void 0)B.setTotal(Q)},hooks:{onAfterScroll(){if(N.destroyed)return;let V=N.startIndex+Math.max(0,N.visibleCount-1);if(G>Z){if(v!==null)clearTimeout(v),v=null;X={start:N.startIndex,end:V};return}if(G>K){let o=Math.floor(N.startIndex/E),I=Math.floor(V/E);if(o!==u||I!==c){if(u=o,c=I,V>=N.startIndex)s(N.startIndex,V).catch(t)}let _=N.startIndex,w=V,e=N.scrollDirection;if(e>0)w=Math.min(w+q,B.getTotal()-1);else if(e<0)_=Math.max(0,_-q);if(X={start:_,end:w},v!==null)clearTimeout(v);v=setTimeout(()=>{if(v=null,N.destroyed||!X)return;let{start:B0,end:H}=X;if(X=null,H>=B0)s(B0,H).catch(t)},100);return}l();let b=Math.floor(N.startIndex/E),g=Math.floor(V/E);if(b!==u||g!==c){if(u=b,c=g,V>=N.startIndex)s(N.startIndex,V).catch(t)}},onIdle(){if(N.destroyed)return;G=0,u=-1,c=-1,d(),l()},onResize(){if(N.destroyed)return;let V=B.getTotal();if(V<=0)return;if(N.visibleCount<=0||N.startIndex>=V)return;let b=Math.min(N.startIndex+N.visibleCount-1,V-1);if(b<N.startIndex)return;S(N.startIndex,b-N.startIndex+1),s(N.startIndex,b).catch(t)}},destroy(){if(M!==null)clearTimeout(M);l(),h()}}}var b2=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].headerLayoutIndex<=J)Q=U;else j=U-1}return Q},z1=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].firstDataIndex<=J)Q=U;else j=U-1}return Q},w1=($,J,Q)=>{if($===0)return[];let j=[],U=null,Z=0,K=0;for(let q=0;q<$;q++){let L=Q?.(q);if(!L)continue;let B=J(q,L);if(U===null)U=B,Z=0;else if(B!==U){let N=q-Z;j.push({key:U,groupIndex:j.length,headerLayoutIndex:K,firstDataIndex:Z,count:N}),K=K+1+N,U=B,Z=q}}if(U!==null)j.push({key:U,groupIndex:j.length,headerLayoutIndex:K,firstDataIndex:Z,count:$-Z});return j};var y1=($,J,Q)=>{let j=w1($,J.getGroupForIndex,Q),U=$+j.length,Z=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return U},get groupCount(){return j.length},get groups(){return j},getEntry:(A)=>{if(j.length===0)return{type:"item",dataIndex:A,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let F=b2(j,A),X=j[F];if(A===X.headerLayoutIndex)return{type:"header",group:X};let v=A-X.headerLayoutIndex-1;return{type:"item",dataIndex:X.firstDataIndex+v,group:X}},layoutToDataIndex:(A)=>{if(j.length===0)return A;let F=b2(j,A),X=j[F];if(A===X.headerLayoutIndex)return-1;let v=A-X.headerLayoutIndex-1;return X.firstDataIndex+v},dataToLayoutIndex:(A)=>{if(j.length===0)return A;let F=z1(j,A),X=j[F],v=A-X.firstDataIndex;return X.headerLayoutIndex+1+v},getGroupAtLayoutIndex:(A)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=b2(j,A);return j[F]},getGroupAtDataIndex:(A)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=z1(j,A);return j[F]},getHeaderHeight:typeof Z==="number"?(A)=>Z:(A)=>{let F=j[A];if(!F)return 0;return Z(F.key,A)},rebuild:(A,F)=>{j=w1(A,J.getGroupForIndex,F??Q),U=A+j.length}}};var T2=($,J,Q,j,U=0)=>{let Z=Q?"width":"height",K=document.createElement("div");return K.className=`${J}-sticky-header`,K.setAttribute("role","presentation"),K.setAttribute("aria-hidden","true"),K.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(Q?`position:absolute;top:0;bottom:0;left:${U||0}px`:`position:relative;top:${U||0}px`),K.style[Z]=`${j}px`,$.insertBefore(K,$.firstChild),K},v1=($,J,Q,j,U,Z=!1,K=0,q,L)=>{let B=Z?"width":"height",N=Z?"height":"width",W=Z?"X":"Y",z=(H,P)=>{H.style[B]=`${P}px`},A=q??T2($,U,Z,0,K),F=()=>{let H=document.createElement("div");return H.className="sticky-group",H.style.position="absolute",H.style.willChange="transform",H.style[N]="100%",H},X=F(),v=F();A.append(X,v);let M=X,G=v,O=J.groups,Y=[],y=[],D=[],R=0,u=()=>{O=J.groups,R=O.length,Y=Array(R),y=Array(R),D=Array(R);for(let H=0;H<R;H++)Y[H]=L?L(O[H].headerLayoutIndex):Q.getOffset(O[H].headerLayoutIndex),y[H]=J.getHeaderHeight(H),D[H]=y[H]};u();let c=-1,E=0,l=0,s=-1,S=!1,t=0,d=!1,h=(H,P)=>{j(H,P);let k=y[P];return z(H,k),k},m=(H)=>{H.replaceChildren(),H.style.transform=""},T=(H)=>{if(H===c)return;if(c=H,E=0,l=0,H<0||H>=R){m(M);return}E=h(M,H),l=D[H],z(A,E),M.style.transform=""},p=(H)=>{if(H===t)return;t=H;let P=Math.round(H);M.style.transform=`translate${W}(${P}px)`,G.style.transform=`translate${W}(${P+E}px)`},V=()=>{t=0,M.style.transform="",G.style.transform=""},b=()=>{if(!d)return;let H=M;M=G,G=H,c=s,E=c>=0?y[c]:0,l=c>=0?D[c]:0,z(A,E),m(G),s=-1,d=!1,V()},g=()=>{if(!d)return;m(G),s=-1,d=!1,V()},o=!!q,I=()=>{if(S)return;if(S=!0,o)A.style.visibility="";else A.style.display=""},_=()=>{if(!S)return;if(S=!1,o)A.style.visibility="hidden";else A.style.display="none";m(M),c=-1,E=0,l=0,g()},w=(H)=>{if(R===0){if(d)g();if(!S)I();T(-1);return}if(H<Y[0]){_();return}let P=0,k=R-1;while(P<k){let i=P+k+1>>>1;if(Y[i]+D[i]<=H)P=i;else k=i-1}if(!S)I();T(P);let f=P+1;if(f<R){let i=Y[f]-H;if(i<=0&&i>-l){if(s!==f||!d)s=f,h(G,f),d=!0;let Z0=l>0?i/l*E:i;p(Z0)}else if(i<=-l){if(d)b()}else if(d)g()}else if(d)g()},e=()=>{u();let H=c;if(c=-1,E=0,l=0,H>=0)T(H)},B0=()=>{A.remove(),c=-1,E=0,l=0,s=-1,S=!1,d=!1};if(!q)A.style.display="none";return{update:w,refresh:e,show:I,hide:_,destroy:B0}};var d0={selected:!1,focused:!1},C1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function k2($){if(!$.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=$.header?.height??$.header?.width??$.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let Q=$.header?.template??$.headerTemplate;if(!Q)throw Error("[vlist] groups: header.template is required");let j=Q,U,Z=null,K,q,L,B,N,W,z,A=null,F,X,v,M=null,G,O,Y=null,y=null,D=0,R=0,u=0,c=0,E=0,l=!1,s=null,S=new Map,t=new Set,d=new Map,h=-1,m=-1,T=!0,p=-1,V=0,b=null,g;function o(){return U.totalEntries}function I(){let x=q.totalItems;if(x===p)return;if(C1)console.log(`[groups] syncLayout: ${p} → ${x}`);let n=p>0;p=x,U.rebuild(x,A??z),g(U.totalEntries),H();let Q0=w?P():K.getTotalSize();if(B.style[F?"width":"height"]=Q0+E+"px",Z)Z.refresh(),Z.update(q.scrollPosition);if(n)i();let _0=Y?.("_scrollbar:getInstance");if(_0)_0()?.updateBounds(Q0,q.containerSize)}let _=0,w=null,e=null,B0=null;function H(){if(D<=0){w=null,e=null;return}_=((q.crossSize||B.clientWidth)-c-(D-1)*R)/D,w=new Map;let Q0=U.totalEntries,_0=Array(Q0),U0=0;if(l){let D0=s??((T0)=>K.getSize(T0)),R0=new Float64Array(D),P0=[],b0=0,F0=-1;for(let T0=0;T0<Q0;T0++){let z0=U.getEntry(T0);if(z0.type==="header"){let C=0;for(let $0=0;$0<D;$0++)if(R0[$0]>C)C=R0[$0];if(F0>=0)P0[F0]=b0+C;b0+=C;let j0=K.getSize(T0);w.set(T0,{col:-1,rowY:b0}),_0[U0++]=[T0,b0,b0+j0],b0+=j0,R0.fill(0),F0=z0.group.groupIndex}else{let C=0,j0=R0[0];for(let J0=1;J0<D;J0++)if(R0[J0]<j0)j0=R0[J0],C=J0;let $0=D0(z0.dataIndex),V0=b0+R0[C];w.set(T0,{col:C,rowY:V0,h:$0}),_0[U0++]=[T0,V0,V0+$0],R0[C]=R0[C]+$0+R}}if(F0>=0){let T0=0;for(let z0=0;z0<D;z0++)if(R0[z0]>T0)T0=R0[z0];P0[F0]=b0+T0}B0=P0}else{B0=null;let D0=0,R0=0,P0=0;for(let b0=0;b0<Q0;b0++)if(U.getEntry(b0).type==="header"){if(R0>0&&P0>0)D0+=P0;let T0=K.getSize(b0);w.set(b0,{col:-1,rowY:D0}),_0[U0++]=[b0,D0,D0+T0],D0+=T0,R0=0,P0=0}else{let T0=R0%D,z0=K.getSize(b0);if(T0===0){if(R0>0&&P0>0)D0+=P0+R;P0=z0}else if(z0>P0)P0=z0;w.set(b0,{col:T0,rowY:D0}),_0[U0++]=[b0,D0,D0+z0],R0++}}_0.length=U0,e=_0}function P(){if(!w||w.size===0)return K.getTotalSize();let x=U.totalEntries;if(l)return B0?.[B0.length-1]??0;let n=0;for(let Q0=x-1;Q0>=0;Q0--){let _0=w.get(Q0);if(_0){n=_0.rowY+(_0.h??K.getSize(Q0));break}if(U.getEntry(Q0).type==="header"){n=K.getOffset(Q0)+K.getSize(Q0);break}}return n}function k(x){if(w){let Q0=w.get(x);if(Q0){let _0=Q0.col<0?0:u+Q0.col*(_+R),U0=Q0.rowY;if(F)return`translate(${Math.round(U0)}px, ${Math.round(_0)}px)`;return`translate(${Math.round(_0)}px, ${Math.round(U0)}px)`}}let n=K.getOffset(x);if(F)return`translate(${Math.round(n)}px, 0)`;return`translate(0, ${Math.round(n)}px)`}function f(x,n){let Q0=w?.get(n);if(Q0){let U0=Q0.h??K.getSize(n);if(Q0.col<0)if(F)x.style.width=`${U0}px`,x.style.height="";else x.style.height=`${U0}px`,x.style.width="100%";else if(F)x.style.width=`${U0}px`,x.style.height=`${_}px`;else x.style.height=`${U0}px`,x.style.width=`${_}px`;return}let _0=K.getSize(n);if(F)x.style.width=`${_0}px`;else x.style.height=`${_0}px`}function i(){S.forEach((x)=>{x.remove();let n=x.getAttribute("data-id");if(n)d.set(n,x);else L.release(x)}),S.clear(),t.clear()}function Z0(){if(d.size>0)d.forEach((x)=>L.release(x)),d.clear()}function X0(x,n,Q0,_0){if(y===null)y=!!Y?.("_getSelectedIds");if(n.type==="header"){let F0=`__group_header_${n.group.groupIndex}`;if(x.getAttribute("data-id")===F0)return!0;if(x.className=O,x.setAttribute("role","presentation"),x.removeAttribute("aria-selected"),x.setAttribute("data-id",F0),F&&Z&&n.group.groupIndex===0)x.style.display="none";else{x.style.display="";let T0=j(n.group.key,n.group.groupIndex);if(typeof T0==="string")x.innerHTML=T0;else x.innerHTML="",x.appendChild(T0)}return!0}let U0=n.dataIndex,D0=z(U0);if(!D0)return x.innerHTML="",!1;let R0=D0._isPlaceholder===!0,P0=String(D0.id);if(!R0&&x.getAttribute("data-id")===P0){if(y)x.id=`${X}-item-${_0}`,x.setAttribute("aria-posinset",String(U0+1)),x.setAttribute("aria-setsize",String(q.totalItems));return!0}if(x.className=G,x.setAttribute("role",y?"option":"listitem"),x.setAttribute("data-id",P0),y)x.id=`${X}-item-${_0}`,x.setAttribute("aria-posinset",String(U0+1)),x.setAttribute("aria-setsize",String(q.totalItems));if(R0)x.classList.add(`${X}-item--placeholder`);if(Q0)Q0(_0,d0);else d0.selected=!1,d0.focused=!1;let b0=W(D0,U0,d0);if(typeof b0==="string")x.innerHTML=b0;else x.innerHTML="",x.appendChild(b0);return u0(x),!R0}let Y0=0;function N0(){if(D<=0)return;let x=q.crossSize;if(x===Y0)return;Y0=x,H();let n=P();if(B.style[F?"width":"height"]=n+E+"px",Z)Z.refresh(),Z.update(q.scrollPosition);T=!0}function W0(){if(q.destroyed)return;I(),N0();let{scrollPosition:x,containerSize:n}=q;if(!T&&x===h&&n===m)return;h=x,m=n;let Q0=T;T=!1;let _0=o();if(n<=0||_0===0){if(S.size>0)S.forEach(($0)=>{$0.remove(),L.release($0)}),S.clear(),t.clear();return}let U0,D0;if(e){let $0=e,V0=$0.length,J0=0,H0=V0-1;while(J0<H0){let K0=J0+H0>>>1;if($0[K0][2]<=x)J0=K0+1;else H0=K0}let E0=J0;H0=V0-1;while(J0<H0){let K0=J0+H0+1>>>1;if($0[K0][1]>=x+n)H0=K0-1;else J0=K0}let w0=J0,y0=$0[E0][0],M0=$0[w0][0];for(let K0=y0-1;K0>=0;K0--)if(U.getEntry(K0).type==="header"){y0=K0;break}let r=v*D;U0=Math.max(0,y0-r),D0=Math.min(_0-1,M0+r)}else{let $0=K.indexAtOffset(x),V0=K.indexAtOffset(x+n);if(V0<_0-1)V0++;$0=Math.max(0,$0),V0=Math.min(_0-1,Math.max(0,V0)),U0=Math.max(0,$0-v),D0=Math.min(_0-1,V0+v)}if(U0===q.prevRangeStart&&D0===q.prevRangeEnd&&!q.renderPending)return;S.forEach(($0,V0)=>{if(V0<U0||V0>D0)$0.remove(),L.release($0),S.delete(V0),t.delete(V0)});let R0=M?.()??null,P0=R0?`${X}-item--selected`:"",b0=R0?`${X}-item--focused`:"",F0=null;for(let $0=U0;$0<=D0;$0++){let V0=S.get($0),J0=!1;if(V0===void 0){let H0=U.getEntry($0);J0=H0.type==="header";let E0;if(H0.type==="header")E0=`__group_header_${H0.group.groupIndex}`;else{let y0=z(H0.dataIndex);if(y0&&y0._isPlaceholder!==!0)E0=String(y0.id)}if(E0!==void 0){let y0=d.get(E0);if(y0)d.delete(E0),V0=y0}if(!V0)V0=L.acquire();if(V0.setAttribute("data-index",String($0)),X0(V0,H0,R0,$0))t.delete($0);else t.add($0);if(f(V0,$0),V0.style.transform=k($0),S.set($0,V0),!F0)F0=document.createDocumentFragment();F0.appendChild(V0)}else if(Q0&&t.has($0)){let H0=U.getEntry($0);if(H0.type==="item")if(X0(V0,H0,R0,$0))t.delete($0);else t.add($0)}else if(J0=V0.classList.contains(O),Q0)f(V0,$0),V0.style.transform=k($0);if(!J0&&R0)if(R0($0,d0),V0.classList.toggle(P0,d0.selected),V0.classList.toggle(b0,d0.focused),d0.selected)V0.setAttribute("aria-selected","true");else V0.removeAttribute("aria-selected")}if(F0)B.appendChild(F0);Z0();let T0=w?P():K.getTotalSize();B.style[F?"width":"height"]=T0+E+"px",q.prevRangeStart=U0,q.prevRangeEnd=D0,q.renderPending=!1;let z0=0,C=0,j0=!1;for(let $0=U0;$0<=D0&&z0<q.capacity;$0++){let V0=U.getEntry($0);if(V0.type==="item"){if(!j0)C=V0.dataIndex,j0=!0;q.visibleIndices[z0]=V0.dataIndex,q.visibleOffsets[z0]=K.getOffset($0),q.visibleSizes[z0]=K.getSize($0),z0++}}q.visibleCount=z0,q.startIndex=C}function O0(){if(q.destroyed)return;if(N0(),C1)console.log(`[groups] forceRender, placeholders: ${t.size}, rendered: ${S.size}`);let x=b?.()??0;if(x!==V){V=x;let n=U.groups,Q0=n.length;U.rebuild(p,A??z);let _0=U.groups,U0=_0.length!==Q0;if(!U0){for(let D0=0;D0<Q0;D0++)if(_0[D0].headerLayoutIndex!==n[D0].headerLayoutIndex){U0=!0;break}}if(U0){g(U.totalEntries),H();let D0=w?P():K.getTotalSize();if(B.style[F?"width":"height"]=D0+"px",Z)Z.refresh(),Z.update(q.scrollPosition);let R0=1/0,P0=Math.min(Q0,_0.length);for(let F0=0;F0<P0;F0++)if(_0[F0].headerLayoutIndex!==n[F0].headerLayoutIndex){R0=Math.min(_0[F0].headerLayoutIndex,n[F0].headerLayoutIndex);break}if(_0.length>Q0&&P0<_0.length)R0=Math.min(R0,_0[P0].headerLayoutIndex);else if(Q0>_0.length&&P0<Q0)R0=Math.min(R0,n[P0].headerLayoutIndex);if(R0<=q.prevRangeEnd)i();let b0=Y?.("_scrollbar:getInstance");if(b0)b0()?.updateBounds(D0,q.containerSize)}}q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,T=!0,W0()}return{name:"groups",priority:10,setup(x){K=x.sizeCache,q=x.getState(),L=x.pool,B=x.dom.content,N=x.dom.root,W=x.template,F=x.config.axis.primary==="x",X=x.config.classPrefix,v=x.config.overscan,E=x.config.mainAxisPadding,z=x.getItem.bind(x),M=()=>x.getItemStateFn(),Y=x.getMethod.bind(x),y=null,G=`${X}-item`,O=`${X}-group-header`;let n=Y?.("getGridLayout"),Q0=Y?.("getMasonryLayout");if(n){let C=n();D=C.columns,R=C.gap,u=x.config.crossPadStart,c=x.config.crossAxisPadding}else if(Q0){let C=Q0();D=C.columns,R=C.gap,u=x.config.crossPadStart,c=x.config.crossAxisPadding,l=!0;let j0=x.rawSizeSpec;if(typeof j0==="function")s=($0)=>{return j0($0,{columnWidth:_})}}queueMicrotask(()=>{let C=Y?.("_getLoadedItem");if(C)A=C;let j0=Y?.("_getLoadedCount");if(j0)b=j0});let _0=q.totalItems;U=y1(_0,$,A??z),p=_0;let U0=typeof J==="number"?(C)=>J:(C)=>{let j0=U.groups[C];if(!j0)return 0;return J(j0.key,C)},D0=K.getSize,R0=(C)=>{let j0=U.getEntry(C);if(j0.type==="header"){if($.sticky!==!1&&j0.group.groupIndex===0)return 0;return U0(j0.group.groupIndex)}return D0(j0.dataIndex)};x.setSizeConfig(R0);let P0=!1,b0=-1;if(x.registerMethod("_setSizeCacheBase",(C)=>{g=C}),g=K.rebuild,K.rebuild=(C)=>{if(P0){if(!b)b=Y?.("_getLoadedCount")??null;let j0=b?.()??0;if(C!==p||j0!==b0){if(p=C,b0=j0,!A)A=Y?.("_getLoadedItem")??null;if(U.rebuild(C,A??(($0)=>x.getItems()[$0])),q.totalItems=U.totalEntries,Z)Z.refresh(),Z.update(q.scrollPosition)}}g(U.totalEntries)},K.rebuild(U.totalEntries),H(),x.setVirtualTotalFn(()=>U.totalEntries),N.classList.add(`${X}--grouped`),$.sticky!==!1){let C=(J0,H0)=>{let E0=U.groups[H0];if(!E0)return;let w0=j(E0.key,H0);if(typeof w0==="string")J0.innerHTML=w0;else J0.replaceChildren(w0)},j0=U.getHeaderHeight(0),$0=T2(N,X,F,j0),V0=D>0?(J0)=>{let H0=w?.get(J0);return H0?H0.rowY:K.getOffset(J0)}:void 0;if(Z=v1(N,U,K,C,X,F,0,$0,V0),Z.update(q.scrollPosition),!F)x.dom.viewport.style.height=`calc(100% - ${j0}px)`;else x.dom.viewport.style.width=`calc(100% - ${j0}px)`,x.dom.viewport.style.marginLeft=`${j0}px`}let F0=!!Y?.("_updateTableForGroups");if(P0=F0,F0)queueMicrotask(()=>{let C=Y?.("_getItem")??null,j0=x.getItems.bind(x);x.setGetItemFn((V0)=>{let J0=U.getEntry(V0);if(J0.type==="header")return{id:`__group_header_${J0.group.groupIndex}`,__groupHeader:!0,groupKey:J0.group.key,groupIndex:J0.group.groupIndex};return C?C(J0.dataIndex):j0()[J0.dataIndex]});let $0=Y?.("_updateTableForGroups");if($0)$0((V0)=>!!V0.__groupHeader,j)});else x.setRenderFn(W0,O0);x.registerMethod("getGroupLayout",()=>U),x.registerMethod("_dataToLayoutIndex",(C)=>U.dataToLayoutIndex(C)),x.registerMethod("_layoutToDataIndex",(C)=>U.layoutToDataIndex(C)),x.registerMethod("_getRenderedElement",(C)=>S.get(C)??null),x.registerMethod("_isGroupHeader",(C)=>{return U.getEntry(C).type==="header"}),x.registerMethod("_getItemLane",(C)=>{let j0=w?.get(C);return j0?j0.col:-1}),x.registerMethod("_getItemY",(C)=>{let j0=w?.get(C);return j0?j0.rowY:-1}),x.registerMethod("_getItemH",(C)=>{return w?.get(C)?.h??-1});let T0=x.config.startPadding,z0=E-T0;x.registerMethod("_scrollItemIntoView",(C)=>{if(C<0)return;let j0=w?.get(C),$0=j0?j0.rowY:K.getOffset(C),V0=j0?.h??K.getSize(C),J0=q.containerSize,H0=q.scrollPosition;if($0<H0+T0)x.scrollTo(Math.max(0,$0-T0));else if($0+V0+z0>H0+J0)x.scrollTo($0+V0+z0-J0)}),x.registerMethod("scrollToIndex",(C,j0="start")=>{let $0=U.dataToLayoutIndex(C),V0=U.totalEntries;if(V0===0)return;let J0=Math.max(0,Math.min($0,V0-1)),H0=q.containerSize,E0=w?.get(J0),w0=E0?E0.rowY:K.getOffset(J0),y0=E0?E0.h??K.getSize(J0):K.getSize(J0),M0=w?P()+E:K.getTotalSize(),r=Math.max(0,M0-H0),K0=typeof j0==="string"?j0:j0.align??"start",q0=typeof j0==="object"?j0.behavior:void 0,L0=typeof j0==="object"?j0.duration:void 0,k0=w?E:0,A0=w0+y0;if(l&&B0){let G0=U.getEntry(J0).group.groupIndex,v0=B0[G0];if(v0!==void 0)A0=v0}let a;switch(K0){case"center":a=w0-(H0-y0)/2;break;case"end":a=A0-H0+k0;break;default:a=w0}if(a=Math.max(0,Math.min(a,r)),q0==="smooth"&&L0&&L0>0)x.smoothScrollTo(a,L0);else x.scrollTo(a)}),x.registerDestroyHandler(()=>{for(let[,C]of S)C.remove();if(S.clear(),t.clear(),Z)Z.destroy(),Z=null;N.classList.remove(`${X}--grouped`)})},hooks:{onAfterScroll(x,n){if(Z)Z.update(x)},onResize(x,n){if(D<=0)return;g(U.totalEntries),Y0=q.crossSize,H();let Q0=P();if(B.style[F?"width":"height"]=Q0+E+"px",Z)Z.refresh(),Z.update(q.scrollPosition);T=!0,W0()}},destroy(){if(Z)Z.destroy(),Z=null;S.clear(),t.clear(),d.clear()}}}var S1=($,J=50,Q=1/0,j=!0,U="none")=>{let Z=$,K=[],q=0,L=0,B=()=>{K=Z.map((O,Y)=>({def:O,index:Y,width:0,minWidth:D4(O.minWidth??J,1),maxWidth:O.maxWidth??Q,resizable:O.resizable??j,offset:0}))},N=()=>{if(U==="none"||q<=0||q>=L)return;if(U==="spacer"){q=L;return}let O=L-q,Y=q;for(let y=0;y<K.length;y++){let D=K[y];D.width=Y2(D.width+O*(D.width/Y),D.minWidth,D.maxWidth)}z()},W=(O)=>{if(L=O,K.length===0){q=0;return}let Y=0,y=0;for(let D=0;D<K.length;D++){let R=K[D],u=R.def;if(u.width!==void 0)R.width=Y2(u.width,R.minWidth,R.maxWidth),Y+=R.width;else y++}if(y){let R=Math.max(0,O-Y)/y;for(let u=0;u<K.length;u++){let c=K[u];if(c.def.width===void 0)c.width=Y2(R,c.minWidth,c.maxWidth)}}z(),N()},z=()=>{let O=0;for(let Y=0;Y<K.length;Y++){let y=K[Y];y.offset=O,O+=y.width}q=O},A=(O,Y)=>{if(O<0||O>=K.length)return 0;let y=K[O];if(!y.resizable)return y.width;let D=Y2(Y,y.minWidth,y.maxWidth);if(y.width=D,z(),U==="spacer")N();return D},F=(O)=>{return K[O]},X=(O)=>{if(K.length===0)return;if(O<0)return K[0];if(O>=q)return K[K.length-1];let Y=0,y=K.length-1;while(Y<y){let D=Y+y>>>1,R=K[D];if(O<R.offset)y=D-1;else if(O>=R.offset+R.width)Y=D+1;else return R}return K[Y]},v=(O)=>{if(O<0||O>=K.length)return 0;return K[O].offset},M=(O)=>{if(O<0||O>=K.length)return 0;return K[O].width},G=(O)=>{Z=O,B()};return B(),{get columns(){return K},get totalWidth(){return q},resolve:W,updateColumns:G,resizeColumn:A,getColumn:F,getColumnAtX:X,getColumnOffset:v,getColumnWidth:M}},Y2=($,J,Q)=>Math.min(Q,Math.max(J,$)),D4=($,J)=>Math.max(J,$);var h1=($,J,Q,j,U,Z)=>{let K=document.createElement("div");K.setAttribute("role","rowgroup");let q=document.createElement("div");q.className=`${Q}-table-header`,q.setAttribute("role","row"),q.setAttribute("aria-rowindex","1"),q.style.height=`${J}px`;let L=document.createElement("div");L.className=`${Q}-table-header-scroll`,L.setAttribute("role","presentation"),q.appendChild(L),K.appendChild(q),$.insertBefore(K,$.firstChild),$.style.setProperty("--vlist-table-header-height",`${J}px`);let B=[],N=[],W=!0,z=null,A="asc",F=null,X=!1,v=-1,M=0,G=0,O=0,Y=(T,p)=>{let V=document.createElement("div");V.className=`${Q}-table-header-cell`,V.setAttribute("role","columnheader"),V.setAttribute("aria-colindex",String(p+1)),V.setAttribute("tabindex",p===0?"0":"-1"),V.dataset.columnKey=T.def.key;let b=T.def.align;if(b==="center")V.classList.add(`${Q}-table-header-cell--center`);else if(b==="right")V.classList.add(`${Q}-table-header-cell--right`);let g=document.createElement("div");g.className=`${Q}-table-header-content`;let o=T.def.header?T.def.header(T.def):T.def.label;if(typeof o==="string")g.textContent=o;else g.appendChild(o);if(V.appendChild(g),T.def.sortable){let I=document.createElement("span");I.className=`${Q}-table-header-sort`,I.setAttribute("aria-hidden","true"),V.appendChild(I),N.push(I),V.classList.add(`${Q}-table-header-cell--sortable`)}else N.push(null);if(T.resizable){let I=document.createElement("div");I.className=`${Q}-table-header-resize`,I.dataset.resizeIndex=String(p),V.appendChild(I)}return V},y=(T)=>{F=T,L.textContent="",B=[],N=[];let p=T.columns;for(let V=0;V<p.length;V++){let b=p[V],g=Y(b,V);B.push(g),L.appendChild(g)}if(D(T),z)R(z,A)},D=(T)=>{F=T;let p=T.columns;L.style.width=`${T.totalWidth}px`;for(let V=0;V<B.length&&V<p.length;V++){let b=B[V],g=p[V];b.style.width=`${g.width}px`}},R=(T,p)=>{if(z=T,A=p,!F)return;let V=F.columns;for(let b=0;b<N.length&&b<V.length;b++){let g=N[b];if(!g)continue;if(V[b].def.key===T)g.textContent=p==="asc"?"▲":"▼",g.style.opacity="0.7",B[b].setAttribute("aria-sort",p==="asc"?"ascending":"descending");else g.textContent="",g.style.opacity="0",B[b].removeAttribute("aria-sort")}},u=(T)=>{L.style.transform=`translateX(${-T}px)`},c=(T)=>{let p=T.target;if(!p.dataset.resizeIndex)return;if(T.preventDefault(),T.stopPropagation(),v=+p.dataset.resizeIndex,!F)return;let V=F.getColumn(v);if(!V?.resizable)return;X=!0,M=T.clientX,G=V.width,$.classList.add(`${Q}--col-resizing`),$.style.cursor="col-resize",p.classList.add(`${Q}-table-header-resize--active`),p.setPointerCapture(T.pointerId),p.addEventListener("pointermove",E),p.addEventListener("pointerup",l),p.addEventListener("pointercancel",l)},E=(T)=>{if(!X||!F)return;let p=T.clientX-M;if(Math.abs(p)<1)return;let V=Math.max(0,G+p);j(v,V)},l=(T)=>{if(!X)return;let p=T.target;p.removeEventListener("pointermove",E),p.removeEventListener("pointerup",l),p.removeEventListener("pointercancel",l);try{p.releasePointerCapture(T.pointerId)}catch{}p.classList.remove(`${Q}-table-header-resize--active`),$.classList.remove(`${Q}--col-resizing`),$.style.cursor="",X=!1,v=-1},s=(T)=>{let p=T.target;if(p.dataset.resizeIndex)return;if(X)return;let V=p;while(V&&!V.dataset.columnKey)if(V=V.parentElement,V===q||V===null)return;let b=V.dataset.columnKey;if(!F)return;let g=F.columns,o=-1;for(let _=0;_<g.length;_++)if(g[_].def.key===b){o=_;break}if(o===-1)return;let I=g[o];if(Z)Z({key:b,index:o,event:T});if(I.def.sortable&&U){let _;if(z===b)_=A==="asc"?"desc":null;else _="asc";U({key:b,index:o,direction:_})}},S=(T)=>{if(T<0||T>=B.length)return;B[O]?.setAttribute("tabindex","-1"),O=T;let p=B[O];p.setAttribute("tabindex","0"),p.focus()},t=(T)=>{let p=T.key;if(p==="ArrowRight"){if(T.ctrlKey||T.metaKey){if(!F)return;let V=F.getColumn(O);if(V?.resizable)j(O,V.width+10),T.preventDefault()}else if(O<B.length-1)S(O+1),T.preventDefault();T.stopPropagation();return}if(p==="ArrowLeft"){if(T.ctrlKey||T.metaKey){if(!F)return;let V=F.getColumn(O);if(V?.resizable)j(O,V.width-10),T.preventDefault()}else if(O>0)S(O-1),T.preventDefault();T.stopPropagation();return}if(p==="Home"){S(0),T.preventDefault(),T.stopPropagation();return}if(p==="End"){S(B.length-1),T.preventDefault(),T.stopPropagation();return}if(p==="Enter"||p===" "){if(!F)return;let V=F.getColumn(O);if(V?.def.sortable&&U){let b;if(z===V.def.key)b=A==="asc"?"desc":null;else b="asc";U({key:V.def.key,index:O,direction:b}),T.preventDefault()}T.stopPropagation();return}if(p==="ArrowDown"){$.focus(),T.preventDefault(),T.stopPropagation();return}};return q.addEventListener("pointerdown",c),q.addEventListener("click",s),q.addEventListener("keydown",t),{element:q,update:D,updateSort:R,rebuild:y,show:()=>{if(W)return;W=!0,q.style.display=""},hide:()=>{if(!W)return;W=!1,q.style.display="none"},destroy:()=>{q.removeEventListener("pointerdown",c),q.removeEventListener("click",s),q.removeEventListener("keydown",t),$.style.removeProperty("--vlist-table-header-height"),K.remove(),B=[],N=[],F=null,W=!1},syncScroll:u}};var H4=()=>{let $=[];return{acquire:()=>$.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(J),$.length<200)J.className="",J.removeAttribute("data-id"),J.removeAttribute("data-index"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-rowindex"),J.removeAttribute("role"),J.style.cssText="",J.textContent="",$.push(J)},clear:()=>{$.length=0}}},I1=($,J,Q,j,U,Z,K,q,L,B=()=>0)=>{let N=H4(),W=new Map,z=-1,A=Q,F=null,X=null,v=null,M=(P,k)=>{X=P,v=k},G=(P,k)=>{k?P.setAttribute("aria-selected","true"):P.removeAttribute("aria-selected")},O=(P,k,f,i)=>{P.setAttribute("role",k),P.setAttribute("data-id",String(f)),P.setAttribute("data-index",String(i))},Y=(P)=>String(P).startsWith("__placeholder_"),y=`${U}-item ${U}-table-row`,D=`${U}-item--selected`,R=`${U}-item--focused`,u=`${U}-table-cell`,c=`${U}-table-cell--center`,E=`${U}-table-cell--right`,l=`${U}-table-cell-skeleton`,s=`${U}-item--odd`,S=`${U}-item--placeholder`,t=`${U}-item--replaced`,d=`${U}-table-row ${U}-table-group-header`,h=`${U}-table-group-header-content`,m=(P,k,f,i,Z0=!1)=>{if(f.def.cell){let X0=f.def.cell(k,f.def,i);if(typeof X0==="string")P.innerHTML=X0;else P.replaceChildren(X0)}else{let X0=k[f.def.key],Y0=X0!=null?String(X0):"";if(Z0&&Y0)P.innerHTML=`<span>${Y0}</span>`;else P.textContent=Y0}if(Z0&&P.firstElementChild===null){P.replaceChildren();let X0=document.createElement("span");X0.className=l,P.appendChild(X0)}},T=(P,k,f,i,Z0=!1)=>{let X0=y;if(q){if(F){let Y0=F(k);if(Y0>=0&&(Y0&1)===1)X0+=` ${s}`}else if((k&1)===1)X0+=` ${s}`}if(Z0)X0+=` ${S}`;if(f)X0+=` ${D}`;if(i)X0+=` ${R}`;P.className=X0},p=(P,k)=>{let f=k.def.align;if(f==="center")P.classList.add(c),P.classList.remove(E);else if(f==="right")P.classList.add(E),P.classList.remove(c);else P.classList.remove(c,E)},V=(P,k)=>{let i=A.columns.length;if(k.length===i)return k;let Z0=[];for(let X0=0;X0<i;X0++){let Y0;if(X0<k.length)Y0=k[X0];else Y0=document.createElement("div"),Y0.className=u,P.appendChild(Y0);Z0.push(Y0)}for(let X0=i;X0<k.length;X0++)k[X0].remove();return Z0},b=(P,k,f)=>{let i=N.acquire(),Z0=P,X0=f.getSize(k),Y0=f.getOffset(k)-B();i.style.cssText=`width:${A.totalWidth}px;height:${X0}px;transform:translateY(${Y0}px)`,i.className=d,O(i,"presentation",P.id,k),i.removeAttribute("aria-selected"),i.removeAttribute("aria-rowindex"),i.replaceChildren();let N0=document.createElement("div");if(N0.className=h,v){let W0=v(Z0.groupKey,Z0.groupIndex);if(typeof W0==="string")N0.innerHTML=W0;else N0.appendChild(W0)}return i.appendChild(N0),{element:i,cells:[],index:k,isGroupHeader:!0,_lastItem:P,lastItemId:P.id,lastSelected:!1,lastFocused:!1,lastOffset:Y0,lastHeight:X0}},g=(P,k,f,i,Z0)=>{let X0=N.acquire(),Y0=Z0.getSize(k),N0=Z0.getOffset(k)-B(),W0=Y(P.id);X0.style.cssText=`width:${A.totalWidth}px;height:${Y0}px;transform:translateY(${N0}px)`,T(X0,k,f,i,W0),O(X0,"row",P.id,k),X0.id=`${Z}-item-${k}`,X0.setAttribute("aria-rowindex",String(k+2)),G(X0,f);let O0=V(X0,[]),x=A.columns;for(let n=0;n<O0.length&&n<x.length;n++){let Q0=O0[n],_0=x[n];Q0.style.cssText=`left:${_0.offset}px;width:${_0.width}px`,Q0.setAttribute("role","gridcell"),Q0.setAttribute("aria-colindex",String(n+1)),p(Q0,_0),m(Q0,P,_0,k,W0)}return{element:X0,cells:O0,index:k,isGroupHeader:!1,_lastItem:P,lastItemId:P.id,lastSelected:f,lastFocused:i,lastOffset:N0,lastHeight:Y0}},o=(P,k,f,i)=>{let Z0=!1,X0=K();if(X0!==z)z=X0,Z0=!0;let Y0=null,N0=J();F=typeof q==="string"&&L?L():null;for(let W0=k.start;W0<=k.end;W0++){let O0=W0-k.start,x=P[O0];if(!x)continue;let n=f.has(x.id),Q0=W0===i,_0=X?X(x):!1,U0=W.get(W0);if(U0){if(U0.isGroupHeader!==_0){N.release(U0.element),W.delete(W0);let D0=_0?b(x,W0,N0):g(x,W0,n,Q0,N0);if(W.set(W0,D0),!Y0)Y0=document.createDocumentFragment();Y0.appendChild(D0.element);continue}if(_0){if(U0._lastItem!==x){let b0=x,F0=U0.element.firstElementChild;if(F0&&v){let T0=v(b0.groupKey,b0.groupIndex);if(typeof T0==="string")F0.innerHTML=T0;else F0.replaceChildren(T0)}U0.element.setAttribute("data-id",String(x.id)),U0._lastItem=x,U0.lastItemId=x.id}let R0=N0.getOffset(W0)-B();if(U0.lastOffset!==R0)U0.lastOffset=R0,U0.element.style.transform=`translateY(${R0}px)`;let P0=N0.getSize(W0);if(U0.lastHeight!==P0)U0.lastHeight=P0,U0.element.style.height=`${P0}px`}else{let D0=U0._lastItem!==x,R0=U0.lastSelected!==n,P0=U0.lastFocused!==Q0;if(D0){let T0=U0.lastItemId!=null&&Y(U0.lastItemId),z0=Y(x.id);if(!z0&&n0(f,W0,x.id))n=!0;let C=A.columns;for(let j0=0;j0<U0.cells.length&&j0<C.length;j0++)m(U0.cells[j0],x,C[j0],W0,z0);if(T(U0.element,W0,n,Q0,z0),U0.element.setAttribute("data-id",String(x.id)),G(U0.element,n),T0&&!z0)U0.element.classList.add(t),setTimeout(()=>{U0.element.classList.remove(t)},300);U0._lastItem=x,U0.lastItemId=x.id,U0.lastSelected=n,U0.lastFocused=Q0}else if(R0||P0)T(U0.element,W0,n,Q0,Y(x.id)),G(U0.element,n),U0.lastSelected=n,U0.lastFocused=Q0;let b0=N0.getOffset(W0)-B();if(U0.lastOffset!==b0)U0.lastOffset=b0,U0.element.style.transform=`translateY(${b0}px)`;let F0=N0.getSize(W0);if(U0.lastHeight!==F0)U0.lastHeight=F0,U0.element.style.height=`${F0}px`;if(Z0)U0.element.setAttribute("aria-rowindex",String(W0+2))}}else{if(n0(f,W0,x.id))n=!0;let D0=_0?b(x,W0,N0):g(x,W0,n,Q0,N0);if(W.set(W0,D0),!Y0)Y0=document.createDocumentFragment();Y0.appendChild(D0.element)}}if(Y0)$.appendChild(Y0);for(let[W0,O0]of W)if(W0<k.start||W0>k.end)N.release(O0.element),W.delete(W0)},I=(P,k,f,i)=>{let Z0=W.get(P);if(!Z0)return;if(Z0.isGroupHeader)return;let X0=A.columns;for(let Y0=0;Y0<Z0.cells.length&&Y0<X0.length;Y0++)m(Z0.cells[Y0],k,X0[Y0],P);Z0.element.setAttribute("data-id",String(k.id)),Z0._lastItem=k,Z0.lastItemId=k.id,T(Z0.element,P,f,i),G(Z0.element,f),Z0.lastSelected=f,Z0.lastFocused=i},_=(P,k,f)=>{let i=W.get(P);if(!i)return;if(i.isGroupHeader)return;let Z0=i.lastSelected!==k,X0=i.lastFocused!==f;if(Z0||X0)T(i.element,P,k,f),G(i.element,k),i.lastSelected=k,i.lastFocused=f},w=(P)=>{A=P;let k=P.columns;for(let[,f]of W)if(f.element.style.width=`${P.totalWidth}px`,f.cells.length>0)for(let i=0;i<f.cells.length&&i<k.length;i++){let Z0=f.cells[i],X0=k[i];Z0.style.left=`${X0.offset}px`,Z0.style.width=`${X0.width}px`}},e=(P)=>{return W.get(P)?.element},B0=()=>{for(let[,P]of W)N.release(P.element);W.clear(),z=-1};return{render:o,updateItem:I,updateItemClasses:_,getElement:e,updateColumnLayout:w,setGroupHeaderFn:M,clear:B0,destroy:()=>{B0(),N.clear()}}};var O4=new Set;function P2($){if(!$.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if($.rowHeight===void 0&&$.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,Q=null,j=null,U,Z,K=null,q=null,L=null,B=!1,N=-1,W=-1;function z(){if(B||!K)return;B=!0,q=K.getMethod("_getSelectedIds")??null,L=K.getMethod("_getFocusedIndex")??null}let A=[],F={start:0,end:0};function X(){if(U.destroyed||!K||!j||!J)return;let{containerSize:M,totalItems:G}=U;if(M<=0||G===0)return;let O=G+1;if(O!==N)N=O,K.dom.root.setAttribute("aria-rowcount",`${O}`);let Y=U.scrollPosition,y=K.config.overscan,D=Z.indexAtOffset(Y),R=Z.indexAtOffset(Y+M);if(R<G-1)R++;D=Math.max(0,D),R=Math.min(G-1,R);let u=Math.max(0,D-y),c=Math.min(G-1,R+y);if(u===U.prevRangeStart&&c===U.prevRangeEnd&&!U.renderPending)return;z();let E=q?.()??O4,l=L?.()??-1;A.length=0;for(let t=u;t<=c;t++){let d=K.getItem(t);if(d)A.push(d)}F.start=u,F.end=c,j.render(A,F,E,l),U.prevRangeStart=u,U.prevRangeEnd=c,U.renderPending=!1;let s=c-u+1;U.visibleCount=Math.min(s,U.capacity),U.startIndex=u;for(let t=0;t<U.visibleCount;t++){let d=u+t;U.visibleIndices[t]=d,U.visibleOffsets[t]=Z.getOffset(d),U.visibleSizes[t]=Z.getSize(d)}let S=Z.getTotalSize();if(S!==W)W=S,K.updateContentSize(S)}function v(){if(U.destroyed)return;W=-1,U.prevRangeStart=-1,U.prevRangeEnd=-1,U.renderPending=!0,X()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(M){K=M,U=M.getState(),Z=M.sizeCache;let{dom:G,config:O,emitter:Y}=M,{classPrefix:y}=O;if(O.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(O.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let D=$.resizable??!0,R=$.minColumnWidth??50,u=$.maxColumnWidth??1/0,c=$.fillWidth===!1?"none":$.fillWidth===!0?"stretch":$.fillWidth??"spacer",E=$.rowBorders??!0,l=$.rowHeight,s=$.headerHeight??(typeof l==="number"?l:40),S=$.sort?.key??null,t=$.sort?.direction??"asc";if(J=S1($.columns,R,u,D,c),typeof l==="function"||typeof l==="number")M.setSizeConfig(l);if(M.rebuildSizeCache(),G.root.classList.add(`${y}--table`),E)G.root.classList.add(`${y}--table-row-borders`);if($.columnBorders)G.root.classList.add(`${y}--table-col-borders`);queueMicrotask(()=>{if(M.getMethod("_getSelectedIds"))G.root.setAttribute("tabindex","0")}),G.root.setAttribute("role","grid"),G.root.setAttribute("aria-colcount",`${$.columns.length}`),G.viewport.setAttribute("role","none"),G.content.setAttribute("role","rowgroup");let d=U.crossSize;J.resolve(d);let h=()=>{if(!J)return;G.content.style.minWidth=`${J.totalWidth}px`},m=(g,o)=>{if(!J)return;let I=J.getColumn(g);if(!I)return;let _=I.width,w=J.resizeColumn(g,o);Q?.update(J),j?.updateColumnLayout(J),h(),Y.emit("column:resize",{key:I.def.key,index:g,previousWidth:_,width:w})},T=(g)=>{S=g.direction===null?null:g.key,t=g.direction??"asc",Q?.updateSort(S,t),Y.emit("column:sort",g)};if(Q=h1(G.root,s,y,m,T),Q.rebuild(J),S)Q.updateSort(S,t);h(),j=I1(G.content,()=>Z,J,$.columns,y,y,()=>U.totalItems,O.striped||void 0,void 0,()=>U.baseOffset),M.setRenderFn(X,v);let p=Q,V=-1,b=()=>{let g=G.viewport.scrollLeft;if(g!==V)V=g,p?.syncScroll?.(g)};G.viewport.addEventListener("scroll",b,{passive:!0}),M.registerMethod("updateColumns",(g)=>{if(!J||!Q)return;if(J.updateColumns(g),J.resolve(U.crossSize),Q.rebuild(J),S)Q.updateSort(S,t);h(),j?.updateColumnLayout(J),j?.clear(),M.forceRender()}),M.registerMethod("resizeColumn",(g,o)=>{if(!J)return;let I;if(typeof g==="string"){let _=J.columns;I=-1;for(let w=0;w<_.length;w++)if(_[w].def.key===g){I=w;break}if(I===-1)return}else I=g;m(I,o)}),M.registerMethod("getColumnWidths",()=>{if(!J)return{};let g={},o=J.columns;for(let I=0;I<o.length;I++)g[o[I].def.key]=o[I].width;return g}),M.registerMethod("setSort",(g,o)=>{S=g,t=o??"asc",Q?.updateSort(S,t)}),M.registerMethod("getSort",()=>{return{key:S,direction:t}}),M.registerMethod("_getTableLayout",()=>J),M.registerMethod("_getTableHeaderHeight",()=>s),M.registerMethod("_updateRenderedItem",(g,o,I,_)=>{j?.updateItem(g,o,I,_)}),M.registerMethod("_replaceTableRenderer",(g)=>{j=g}),M.registerMethod("_updateTableForGroups",(g,o)=>{j?.setGroupHeaderFn(g,o)}),M.registerMethod("_updateItemClasses",(g,o,I)=>{j?.updateItemClasses(g,o,I)}),M.registerKeydownHandler((g)=>{if(g.key!=="ArrowLeft"&&g.key!=="ArrowRight")return;if(!J)return;let o=J.columns;if(o.length===0)return;let I=G.viewport.clientWidth;if(J.totalWidth<=I)return;let _=G.viewport.scrollLeft;if(g.key==="ArrowRight"){for(let w=0;w<o.length;w++)if(o[w].offset>_+1){G.viewport.scrollLeft=o[w].offset,g.preventDefault();return}}else{for(let w=o.length-1;w>=0;w--)if(o[w].offset<_-1){G.viewport.scrollLeft=o[w].offset,g.preventDefault();return}if(_>0)G.viewport.scrollLeft=0,g.preventDefault()}}),M.registerDestroyHandler(()=>{G.viewport.removeEventListener("scroll",b),Q?.destroy(),Q=null,j?.destroy(),j=null,G.content.style.minWidth="",G.root.classList.remove(`${y}--table`),G.root.classList.remove(`${y}--table-row-borders`),G.root.classList.remove(`${y}--table-col-borders`),G.root.removeAttribute("role"),G.root.removeAttribute("aria-colcount"),G.root.removeAttribute("aria-rowcount"),G.root.removeAttribute("tabindex"),G.viewport.removeAttribute("role"),G.content.removeAttribute("role")})},hooks:{onResize(M,G){if(!J||!K)return;let O=U.crossSize;if(J.resolve(O),Q?.update(J),j?.updateColumnLayout(J),J)K.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!K||!Q)return;Q?.syncScroll?.(K.dom.viewport.scrollLeft)}},destroy(){Q?.destroy(),Q=null,j?.destroy(),j=null,K=null}}}function z2($){let J=$?.handle??null,Q=$?.ghostClass??"vlist-sort-ghost",j=$?.shiftDuration??150,U=$?.edgeScrollZone??40,Z=$?.edgeScrollSpeed??20,K=$?.dragThreshold??5,q=$?.ghostContainer??null,L,B,N=null,W,z,A,F,X,v,M,G,O,Y,y=!1,D=-1,R=-1,u=0,c=0,E=0,l=0,s=!1,S=null,t=0,d=null,h=0,m=0,T=0,p=null,V=!1,b="",g=-1,o=-1,I=[],_="",w=null,e=null,B0="",H=!1,P=(r)=>{return r.closest("[data-index]")},k=(r)=>{let K0=r.dataset.index;return K0===void 0?-1:+K0},f=(r)=>{let K0=r.getBoundingClientRect(),q0=r.cloneNode(!0);return q0.className=`${F}-item ${Q}`,q0.removeAttribute("data-index"),q0.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${K0.width}px;height:${K0.height}px;left:${K0.left}px;top:${K0.top}px;transition:none;will-change:transform`,(q||document.body).appendChild(q0),q0},i=()=>{if(!S)return;S.style.left=`${E-m}px`,S.style.top=`${l-T}px`},Z0=()=>{let r=L.totalItems;if(r===0)return 0;let K0=z.getBoundingClientRect(),q0=L.scrollPosition,L0=X?E-m-K0.left+z.scrollLeft+q0:l-T-K0.top+q0,k0=L0+h,A0=B.getOffset(D)+B.getSize(D);if(k0>A0){let G0=B.indexAtOffset(k0),v0=B.getOffset(G0)+B.getSize(G0)/2,C0=k0>v0?G0:G0-1;return Math.min(Math.max(C0,D),r-1)}let a=B.getOffset(D);if(L0<a){let G0=B.indexAtOffset(L0),v0=B.getOffset(G0)+B.getSize(G0)/2,C0=L0<v0?G0:G0+1;return Math.max(Math.min(C0,D),0)}return D},X0=()=>{let r=W.children,K0=h;for(let q0=0;q0<r.length;q0++){let L0=r[q0],k0=k(L0);if(k0<0||k0===D)continue;let A0=0;if(R>D){if(k0>D&&k0<=R)A0=-K0}else if(R<D){if(k0>=R&&k0<D)A0=K0}let a=B.getOffset(k0),G0=Math.round(a+A0);L0.style.transition=M,L0.style.transform=`${v}(${G0}px)`}},Y0=()=>{let r=W.children;for(let K0=0;K0<r.length;K0++){let q0=r[K0],L0=k(q0);if(L0>=0)q0.style.transform=`${v}(${Math.round(B.getOffset(L0))}px)`;q0.style.transition=""}},N0=()=>{if(!N)return;let r=Z0();if(r===R)return;R=r,X0(),N.emitter.emit("sort:move",{fromIndex:D,currentIndex:R})},W0=()=>{let r=z.getBoundingClientRect();if(X)return E<r.left||E>r.right;return l<r.top||l>r.bottom},O0=()=>{let r=N?.getMethod("_getFocusedIndex");return r?r():-1},x=(r)=>{let K0=N?.getMethod("_focusById");if(K0)K0(r)},n=(r)=>{if(!N)return;let K0=X?z.clientWidth:z.clientHeight,q0=L.scrollPosition,L0=B.getOffset(r),k0=L0+B.getSize(r);if(L0<q0)N.scrollTo(Math.max(0,L0));else if(k0>q0+K0)N.scrollTo(k0-K0)},Q0=(r)=>{if(!e)return;e.textContent="",e.offsetHeight,e.textContent=r},_0=(r)=>{if(!N)return"";let q0=N.getItems()[r];if(!q0)return"";return W.querySelector(`[data-index="${r}"]`)?.textContent?.trim()||String(q0.id)},U0=()=>String(L.totalItems),D0=(r)=>{let K0=W.children;for(let q0=0;q0<K0.length;q0++)K0[q0].style.transition=r},R0=()=>{let r=()=>{if(!y||!N)return;let K0=z.getBoundingClientRect(),q0=0,L0=3;if(X){let A0=E-K0.left,a=K0.right-E;if(A0<U){let G0=Math.min(L0,1-A0/U);q0=-Z*G0*G0}else if(a<U){let G0=Math.min(L0,1-a/U);q0=Z*G0*G0}}else{let A0=l-K0.top,a=K0.bottom-l;if(A0<U){let G0=Math.min(L0,1-A0/U);q0=-Z*G0*G0}else if(a<U){let G0=Math.min(L0,1-a/U);q0=Z*G0*G0}}let k0=W0();if(q0!==0){let A0=L.scrollPosition,a=B.getTotalSize()-(X?z.clientWidth:z.clientHeight);if(q0<0&&A0<=0||q0>0&&A0>=a)H=k0;else H=!0,N.scrollTo(A0+q0)}else H=k0;t=requestAnimationFrame(r)};t=requestAnimationFrame(r)},P0=()=>{if(t)cancelAnimationFrame(t),t=0},b0=(r=!1)=>{if(y=!1,s=!1,S&&S.parentNode)S.remove();S=null,d=null;let K0=W.children;for(let L0=0;L0<K0.length;L0++){let k0=K0[L0];k0.classList.remove(Y);let A0=k(k0);if(A0>=0)k0.style.transform=`${v}(${Math.round(B.getOffset(A0))}px)`;k0.style.transition=""}P0(),A.classList.remove(G),document.body.style.cursor="";let q0=window.getSelection();if(q0)q0.removeAllRanges();if(document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",$0),!r&&N)N.forceRender()},F0=(r,K0)=>{if(!N)return;let q0=r!==K0&&r>=0&&K0>=0,L0=()=>{if(!N)return;if(y=!1,q0){if(A.classList.add(O),N.emitter.emit("sort:end",{fromIndex:r,toIndex:K0}),p!==null)x(p);b0(!0),requestAnimationFrame(()=>A.classList.remove(O))}else A.classList.add(O),N.emitter.emit("sort:cancel",{originalItems:[...N.getItems()]}),b0(!1),requestAnimationFrame(()=>A.classList.remove(O))};if(!S){L0();return}let k0=z.getBoundingClientRect(),A0=L.scrollPosition,a=B.getOffset(K0),G0=j>0?j:150;if(S.style.transition=`left ${G0}ms ease, top ${G0}ms ease`,X)S.style.left=`${k0.left-z.scrollLeft+a-A0}px`,S.style.top=`${k0.top}px`;else S.style.left=`${k0.left}px`,S.style.top=`${k0.top+a-A0}px`;let v0=!1,C0=()=>{if(v0)return;v0=!0,S?.removeEventListener("transitionend",C0),L0()};S.addEventListener("transitionend",C0),setTimeout(C0,G0+50)},T0=(r)=>{if(L.destroyed||!N)return;if(y)return;if(V)w0();if(r.button!==0)return;let K0=r.target;if(J){if(!K0.closest(J))return}let q0=P(K0);if(!q0)return;let L0=k(q0);if(L0<0)return;u=r.clientX,c=r.clientY,E=r.clientX,l=r.clientY,D=L0,s=!1,d=q0;let k0=q0.getBoundingClientRect();m=r.clientX-k0.left,T=r.clientY-k0.top,document.addEventListener("pointermove",z0),document.addEventListener("pointerup",C),document.addEventListener("pointercancel",$0)};function z0(r){if(!N)return;if(E=r.clientX,l=r.clientY,!s){let K0=E-u,q0=l-c;if(Math.sqrt(K0*K0+q0*q0)<K)return;if(s=!0,y=!0,R=D,A.classList.add(G),document.body.style.cursor="grabbing",h=B.getSize(D),d)S=f(d),d.classList.add(Y);let L0=O0();if(L0>=0){let A0=N.getItems()[L0];p=A0?A0.id:null}else p=null;N.emitter.emit("sort:start",{index:D}),R0()}if(y){if(r.preventDefault(),i(),!H)N0();else if(W0()){if(R!==D)R=D,Y0()}}}function C(r){if(!s){document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",$0),d=null;return}r.preventDefault(),document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",$0),P0(),F0(D,R)}let j0=()=>{if(!s)return;document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",$0),P0(),Y0(),F0(D,D)};function $0(){j0()}let V0=()=>{let r=W.querySelectorAll(`.${B0}`);for(let K0=0;K0<r.length;K0++)r[K0].classList.remove(B0)},J0=()=>{V0();let r=W.querySelector(`[data-id="${b}"]`);if(r)r.classList.add(B0)},H0=(r)=>{if(!N)return;let K0=N.getItems(),q0=K0[r];if(!q0)return;V=!0,b=q0.id,g=r,o=r,I=[...K0],A.classList.add(G),N.emitter.emit("sort:start",{index:r}),J0(),Q0(`Grabbed ${_0(r)}. Current position ${r+1} of ${U0()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},E0=()=>{if(!V||!N)return;V=!1;let r=o,K0=_0(r);D0("none"),A.classList.remove(G),V0(),x(b),N.forceRender(),Q0(`${K0} dropped. Final position ${r+1} of ${U0()}.`),I=[],requestAnimationFrame(()=>D0(""))},w0=()=>{if(!V||!N)return;V=!1;let r=g;if(D0("none"),A.classList.remove(G),V0(),o!==r)N.emitter.emit("sort:cancel",{originalItems:I});x(b),N.forceRender(),n(r),Q0(`Reorder cancelled. Returned to position ${r+1} of ${U0()}.`),I=[],requestAnimationFrame(()=>D0(""))},y0=(r)=>{if(!V||!N)return;let K0=L.totalItems,q0=o+r;if(q0<0||q0>=K0)return;let L0=o,k0=q0;D0("none"),N.emitter.emit("sort:end",{fromIndex:L0,toIndex:k0}),o=k0,x(b),N.forceRender(),n(k0),J0(),Q0(`${_0(k0)} moved. New position ${k0+1} of ${U0()}.`),requestAnimationFrame(()=>D0(""))},M0=(r)=>{if(L.destroyed)return;if(y){if(r.key==="Escape")r.preventDefault(),r.stopImmediatePropagation(),j0();return}if(V)switch(r.key){case" ":case"Enter":r.preventDefault(),r.stopImmediatePropagation(),E0();return;case"Escape":r.preventDefault(),r.stopImmediatePropagation(),w0();return;case"ArrowUp":case"ArrowLeft":r.preventDefault(),r.stopImmediatePropagation(),y0(-1);return;case"ArrowDown":case"ArrowRight":r.preventDefault(),r.stopImmediatePropagation(),y0(1);return;default:if(!r.key.startsWith("F")&&r.key!=="Tab")r.preventDefault(),r.stopImmediatePropagation();return}if(r.key===" "&&!r.shiftKey&&!r.ctrlKey&&!r.metaKey){let K0=O0();if(K0>=0)r.preventDefault(),r.stopImmediatePropagation(),H0(K0)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(r){N=r,L=r.getState(),B=r.sizeCache,W=r.dom.content,z=r.dom.viewport,A=r.dom.root,F=r.config.classPrefix,X=r.config.axis.primary==="x",v=X?"translateX":"translateY",M=j>0?`transform ${j}ms ease`:"none",G=`${F}--sorting`,O=`${F}--settling`,Y=`${F}-item--drag-source`,B0=`${F}-item--kb-sorting`,r.registerMethod("isSorting",()=>y||V),W.addEventListener("pointerdown",T0),A.addEventListener("keydown",M0),_=`${F}-sort-instructions`,w=document.createElement("div"),w.id=_,w.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",w.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",A.appendChild(w),e=document.createElement("div"),e.setAttribute("role","status"),e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),e.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",A.appendChild(e),r.registerDestroyHandler(()=>{if(V)w0();b0(),W.removeEventListener("pointerdown",T0),A.removeEventListener("keydown",M0),w?.remove(),e?.remove()})},hooks:{onCommit(){if(!N)return;let r=W.children;for(let K0=0;K0<r.length;K0++){let q0=r[K0],L0=k(q0);if(L0<0)continue;if(q0.setAttribute("aria-roledescription","sortable item"),q0.setAttribute("aria-describedby",_),V)if(q0.getAttribute("data-id")===String(b))q0.classList.add(B0);else q0.classList.remove(B0);if(y)if(L0===D)q0.classList.add(Y),d=q0;else{q0.classList.remove(Y);let k0=0;if(R>D){if(L0>D&&L0<=R)k0=-h}else if(R<D){if(L0>=R&&L0<D)k0=h}let A0=Math.round(B.getOffset(L0)+k0);q0.style.transform=`${v}(${A0}px)`}}}},destroy(){if(S&&S.parentNode)S.remove();S=null,P0(),w?.remove(),e?.remove(),N=null}}}function w2($,J){let Q=[],j=J,U=new Map,Z=[];function K(){U.clear();for(let D=0;D<Q.length;D++)U.set(Q[D].id,D)}function q(D){let R=Q[D].depth,u=0;for(let c=D+1;c<Q.length;c++){if(Q[c].depth<=R)break;u++}return u}function L(D,R,u,c){for(let E=0;E<D.length;E++){let l=D[E],s=l.id,S=$(l),t=S.length>0,d=t&&j.has(s);if(c.push({item:l,id:s,depth:u,parentId:R,hasChildren:t,expanded:d,childCount:S.length,siblingCount:D.length,positionInSiblings:E,isLastChild:E===D.length-1,loading:!1}),d)L(S,s,u+1,c)}}function B(D,R,u){for(let c of D){if(c.id===R)return c;let E=$(c);if(E.length>0){u?.push(c.id);let l=B(E,R,u);if(l)return l;u?.pop()}}return}function N(D,R){if(R===null)return Z;let u=B(Z,R);return u?$(u):[]}function W(D,R){let u=B(Z,R);if(!u)return!1;return B($(u),D)!==void 0}function z(D){let R=new Set;function u(c){for(let E of c){if(R.has(E.id))throw Error(`[vlist] tree: duplicate id "${E.id}"`);R.add(E.id);let l=$(E);if(l.length>0)u(l)}}u(D)}function A(D,R){if(Z=D,!R)z(D);Q.length=0,L(D,null,0,Q),K()}function F(D){let R=U.get(D);if(R===void 0)return 0;let u=Q[R];if(!u.hasChildren||u.expanded)return 0;let c=[],E=$(u.item);if(L(E,D,u.depth+1,c),c.length===0)return 0;u.expanded=!0,j.add(D);let l=R+1,s=Q.splice(l);for(let S=0;S<c.length;S++)Q.push(c[S]);for(let S=0;S<s.length;S++)Q.push(s[S]);return K(),c.length}function X(D){let R=U.get(D);if(R===void 0)return 0;let u=Q[R];if(!u.hasChildren||!u.expanded)return 0;u.expanded=!1,j.delete(D);let c=q(R);if(c>0)Q.splice(R+1,c),K();return c}function v(D){function R(u){for(let c of u){let E=$(c);if(E.length>0)j.add(c.id),R(E)}}R(D),A(D)}function M(){j.clear(),A(Z,!0)}function G(D){let R=[];if(!B(Z,D,R))return;for(let u of R)j.add(u);A(Z,!0)}function O(D,R,u){if(U.has(R.id)||B(Z,R.id))throw Error(`[vlist] tree: duplicate id "${R.id}"`);if(D===null){let S=Z,t=u??S.length;S.splice(t,0,R),A(Z,!0);return}let c=U.get(D);if(c===void 0)throw Error(`[vlist] tree: parent "${D}" not found`);let E=Q[c],l=$(E.item),s=u??l.length;if(l.splice(s,0,R),!E.hasChildren)E.hasChildren=!0,E.childCount=1,E.expanded=!1;else E.childCount=l.length;if(E.expanded)A(Z,!0);else K()}function Y(D){let R=U.get(D);if(R===void 0)return 0;let u=Q[R],E=q(R)+1;for(let S=R;S<R+E;S++)j.delete(Q[S].id);if(Q.splice(R,E),u.parentId!==null){let S=U.get(u.parentId);if(S!==void 0){let t=Q[S];if(t.childCount--,t.childCount===0)t.hasChildren=!1,t.expanded=!1,j.delete(t.id)}}let l=N(D,u.parentId),s=l.findIndex((S)=>S.id===D);if(s>=0)l.splice(s,1);return A(Z,!0),E}function y(D,R,u){if(R!==null&&W(R,D))throw Error(`[vlist] tree: cannot move "${D}" to its own descendant "${R}"`);if(D===R)throw Error(`[vlist] tree: cannot move "${D}" to itself`);let c=U.get(D);if(c===void 0)return;let E=Q[c],l=N(D,E.parentId),s=l.findIndex((S)=>S.id===D);if(s>=0)l.splice(s,1);if(R===null){let S=Z,t=u??S.length;S.splice(t,0,E.item)}else{let S=B(Z,R);if(!S)throw Error(`[vlist] tree: new parent "${R}" not found`);let t=$(S),d=u??t.length;t.splice(d,0,E.item)}A(Z,!0)}return{flatNodes:Q,expandedIds:j,idToIndex:U,rebuild:A,expand:F,collapse:X,expandAll:v,collapseAll:M,expandTo:G,getSubtreeSize:q,addChild:O,removeNode:Y,moveNode:y,get totalVisible(){return Q.length},get rootItems(){return Z}}}var L4=()=>[];function F4($){let{children:J,parentId:Q}=$;if(Q!==void 0)return L4;if(J===void 0||J==="children")return(j)=>j.children??[];if(typeof J==="string"){let j=J;return(U)=>U[j]??[]}return J}function R4($){let{label:J}=$;if(J===void 0)return(Q)=>{let j=Q;return String(j.name??j.label??j.title??Q.id)};if(typeof J==="string"){let Q=J;return(j)=>String(j[Q]??j.id)}return J}function E4($,J,Q){let{expanded:j}=$,U=new Set;if(j===void 0||j===!1)return U;if(Array.isArray(j)){for(let q of j)U.add(q);return U}let Z=j===!0?null:j;function K(q){for(let L of q){let B=Q(L);if(B.length>0){if(!Z||Z(L))U.add(L.id);K(B)}}}return K(J),U}function f1($,J){let{parentId:Q}=J;if(Q===void 0)throw Error("[vlist] tree: parentId not set");let j=typeof Q==="string"?(q)=>q[Q]??null:Q,U=(q)=>j(q)??null,Z=new Map,K=new Map;for(let q of $){K.set(q.id,q);let L=U(q),B=Z.get(L);if(!B)B=[],Z.set(L,B);B.push(q)}for(let q of $){let L=U(q);if(L!==null&&L!==void 0&&!K.has(L))console.warn(`[vlist] tree: orphaned node "${q.id}" — parentId "${L}" not found`)}return{roots:Z.get(null)??[],getChildren:(q)=>{let L=Z.get(q.id);if(!L)L=[],Z.set(q.id,L);return L}}}var g0={selected:!1,focused:!1},l0={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g0.tree=l0;function y2($){let J=$??{},Q=J.indent??24,j=J.paddingStart??0,U=J.expandOnClick??!1,Z=J.connectorLines??!1,K=J.parentId!==void 0,q,L,B,N,W,z,A,F,X,v,M=null,G,O,Y,y,D,R,u,c,E,l,s=new Map,S=-1,t=-1,d=-1,h=!0,m=null,T=!1,p,V=-1,b=!1,g=!1,o="",I=null;function _(){if(g){let C=G("_getFocusedIndex");return C?C():-1}return b?V:-1}let w,e,B0;function H(){if(e!==void 0)return;w=G("select")??null,e=G("_focusById")??null,B0=G("_isFollowFocus")??null}function P(C){if(C<0||C>=q.totalVisible)return;let j0=q.flatNodes[C];if(!j0)return;if(g){if(H(),e)e(j0.id);if(B0?.()&&w)w(j0.id);else i();k(C)}else V=C,b=!0,W.setAttribute("aria-activedescendant",`${X}-item-${C}`),k(C),i()}function k(C){let j0=L.getOffset(C),$0=L.getSize(C),V0=B.scrollPosition,J0=B.containerSize;if(j0<V0)f(j0);else if(j0+$0>V0+J0)f(j0-J0+$0)}let f,i,Z0;function X0(C){return F?`translate(${Math.round(C)}px, 0)`:`translate(0, ${Math.round(C)}px)`}function Y0(C){if(C===d)return;d=C,W.style[F?"width":"height"]=C+"px"}function N0(){s.forEach((C)=>{C.remove(),N.release(C)}),s.clear()}let W0=0;function O0(){let C=Z0();if(C===m&&C.length===W0)return;if(m=C,W0=C.length,K){let{roots:j0,getChildren:$0}=f1(C,J),V0=J.loadChildren?(J0)=>Q0.get(J0.id)??$0(J0):$0;q=w2(V0,q.expandedIds),q.rebuild(j0,!0)}else q.rebuild(C,!0);x(),N0()}function x(){B.totalItems=q.totalVisible,p(q.totalVisible);let C=L.getTotalSize();Y0(C);let j0=G("_scrollbar:getInstance");if(j0)j0()?.updateBounds(C,B.containerSize)}function n(){x(),N0(),i()}let Q0=new Map,_0=new Set;async function U0(C){if(!J.loadChildren||_0.has(C))return;let j0=q.idToIndex.get(C);if(j0===void 0)return;let $0=q.flatNodes[j0];_0.add(C),$0.loading=!0,queueMicrotask(()=>i());try{let V0=await J.loadChildren($0.item);_0.delete(C);let J0=q.idToIndex.get(C);if(J0===void 0)return;let H0=q.flatNodes[J0];if(H0.loading=!1,Q0.set(C,V0),H0.hasChildren=V0.length>0,H0.childCount=V0.length,V0.length>0)H0.expanded=!0,q.expandedIds.add(C),q.rebuild(q.rootItems);n(),O.emit("tree:load",{id:C,item:H0.item,children:V0})}catch(V0){_0.delete(C),Q0.set(C,[]);let J0=q.idToIndex.get(C);if(J0!==void 0)q.flatNodes[J0].loading=!1;i(),O.emit("tree:load:error",{id:C,item:$0.item,error:V0})}}function D0(C){let j0=q.idToIndex.get(C);if(j0===void 0)return;let $0=q.flatNodes[j0];if(J.loadChildren&&!$0.hasChildren&&!$0.loading){if(!Q0.has(C)){U0(C);return}}if(q.expand(C)===0)return;n(),O.emit("tree:expand",{id:C,item:$0.item,depth:$0.depth})}function R0(C){let j0=q.idToIndex.get(C);if(j0===void 0)return;let $0=q.flatNodes[j0],V0=q.collapse(C);if(V0===0)return;if(!g&&V>j0){if(V<=j0+V0)V=j0;else V-=V0;if(b)W.setAttribute("aria-activedescendant",`${X}-item-${V}`)}n(),O.emit("tree:collapse",{id:C,item:$0.item,depth:$0.depth})}function P0(C,j0,$0,V0){let{depth:J0,expanded:H0,hasChildren:E0,loading:w0,siblingCount:y0,positionInSiblings:M0,isLastChild:r,id:K0}=j0;if(C.className=y,H0)C.classList.add(D);if(!E0)C.classList.add(R);if(w0)C.classList.add(u);if(Z&&r)C.classList.add(c);if(C.setAttribute("role","treeitem"),C.setAttribute("data-index",String($0)),C.setAttribute("data-id",String(K0)),C.id=`${X}-item-${$0}`,C.setAttribute("aria-level",String(J0+1)),C.setAttribute("aria-setsize",String(y0)),C.setAttribute("aria-posinset",String(M0+1)),E0)C.setAttribute("aria-expanded",String(H0));else C.removeAttribute("aria-expanded");if(C.style.paddingLeft=`${j+J0*Q}px`,C.style.setProperty("--vlist-tree-depth",String(J0)),Z)C.style.setProperty("--vlist-tree-indent",`${Q}px`),C.style.setProperty("--vlist-tree-pad",`${j}px`);if(V0)V0($0,g0);else g0.selected=!1,g0.focused=!1;l0.depth=J0,l0.expanded=H0,l0.hasChildren=E0,l0.isLeaf=!E0,l0.isLastChild=r,l0.loading=w0;let q0=A(j0.item,$0,g0);if(typeof q0==="string")C.innerHTML=q0;else C.innerHTML="",C.appendChild(q0);u0(C)}function b0(){if(B.destroyed)return;if(O0(),!T){if(T=!0,W.setAttribute("role","tree"),W.setAttribute("tabindex","0"),z.classList.add(`${X}--tree`),Z)z.classList.add(`${X}--tree-lines`)}let{scrollPosition:C,containerSize:j0}=B;if(!h&&C===S&&j0===t)return;S=C,t=j0,h=!1;let $0=q.totalVisible;if(j0<=0||$0===0){if(s.size>0)N0();return}let V0=L.indexAtOffset(C),J0=L.indexAtOffset(C+j0);if(J0<$0-1)J0++;V0=Math.max(0,V0),J0=Math.min($0-1,Math.max(0,J0));let H0=Math.max(0,V0-v),E0=Math.min($0-1,J0+v);if(H0===B.prevRangeStart&&E0===B.prevRangeEnd&&!B.renderPending)return;s.forEach((r,K0)=>{if(K0<H0||K0>E0)r.remove(),N.release(r),s.delete(K0)});let w0=M?.()??null,y0=null;for(let r=H0;r<=E0;r++){let K0=q.flatNodes[r],q0=s.get(r);if(q0===void 0){if(q0=N.acquire(),P0(q0,K0,r,w0),q0.style[F?"width":"height"]=`${L.getSize(r)}px`,s.set(r,q0),!y0)y0=document.createDocumentFragment();y0.appendChild(q0)}else if(q0.getAttribute("data-id")!==String(K0.id)||q0.classList.contains(u)!==K0.loading)P0(q0,K0,r,w0);if(q0.style.transform=X0(L.getOffset(r)),w0)if(w0(r,g0),q0.classList.toggle(E,g0.selected),q0.classList.toggle(l,g0.focused),g0.selected)q0.setAttribute("aria-selected","true");else q0.removeAttribute("aria-selected");else if(!g){let L0=b&&V===r;q0.classList.toggle(l,L0)}}if(y0)W.appendChild(y0);Y0(L.getTotalSize()),B.prevRangeStart=H0,B.prevRangeEnd=E0,B.renderPending=!1;let M0=0;for(let r=H0;r<=E0&&M0<B.capacity;r++)B.visibleIndices[M0]=r,B.visibleOffsets[M0]=L.getOffset(r),B.visibleSizes[M0]=L.getSize(r),M0++;B.visibleCount=M0,B.startIndex=H0}function F0(){if(B.destroyed)return;B.prevRangeStart=-1,B.prevRangeEnd=-1,B.renderPending=!0,h=!0,b0()}function T0(C,j0){if(o+=C.toLowerCase(),I!==null)clearTimeout(I);I=setTimeout(()=>{o="",I=null},500);let $0=q.totalVisible;for(let V0=1;V0<=$0;V0++){let J0=(j0+V0)%$0,H0=q.flatNodes[J0];if(Y(H0.item).toLowerCase().startsWith(o)){P(J0);return}}}function z0(C){let j0=!1;for(let $0 of q.flatNodes)if($0.parentId===C.parentId&&$0.hasChildren&&!$0.expanded)q.expandedIds.add($0.id),j0=!0;if(!j0)return;q.rebuild(q.rootItems,!0),n()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(C){L=C.sizeCache,B=C.getState(),N=C.pool,W=C.dom.content,z=C.dom.root,A=C.template,F=C.config.axis.primary==="x",X=C.config.classPrefix,v=C.config.overscan,O=C.emitter,M=C.getItemStateFn.bind(C),G=C.getMethod.bind(C),f=C.scrollTo.bind(C),i=C.forceRender.bind(C),Z0=C.getItems.bind(C),y=`${X}-item ${X}-tree-node`,D=`${X}-tree-node--expanded`,R=`${X}-tree-node--leaf`,u=`${X}-tree-node--loading`,c=`${X}-tree-node--last`,E=`${X}-item--selected`,l=`${X}-item--focused`;let j0=C.getItems();m=j0,W0=j0.length;let $0,V0;if(K){let M0=f1(j0,J);$0=M0.getChildren,V0=M0.roots}else $0=F4(J),V0=j0;let J0=J.loadChildren?(M0)=>Q0.get(M0.id)??$0(M0):$0;Y=R4(J);let H0=E4(J,V0,J0);q=w2(J0,H0),q.rebuild(V0),p=L.rebuild,L.rebuild=(M0)=>{p(q.totalVisible)},L.rebuild(q.totalVisible),B.totalItems=q.totalVisible,C.setVirtualTotalFn(()=>q.totalVisible),C.setGetItemFn((M0)=>{let r=q.flatNodes[M0];return r?r.item:void 0}),C.setGetIndexByIdFn((M0)=>{return q.idToIndex.get(M0)??-1}),C.setRenderFn(b0,F0),C.registerMethod("_layoutToDataIndex",(M0)=>M0),C.registerMethod("_dataToLayoutIndex",(M0)=>M0),C.registerMethod("_getLoadedItem",(M0)=>{let r=q.flatNodes[M0];return r?r.item:void 0}),C.registerMethod("_getRenderedElement",(M0)=>s.get(M0)??null),queueMicrotask(()=>{g=!!(G("_getFocusedIndex")||C.getItemStateFn())}),C.setInsertItemFn((M0,r)=>{let K0=Z0(),q0=Math.min(r,K0.length);K0.splice(q0,0,M0),W0=K0.length,q.rebuild(K0),n()}),C.setRemoveItemFn((M0)=>{let r=q.idToIndex.get(M0),K0=null;if(K&&r!==void 0){K0=new Set,K0.add(M0);let L0=q.getSubtreeSize(r);for(let k0=r+1;k0<=r+L0;k0++)K0.add(q.flatNodes[k0].id)}let q0=q.removeNode(M0);if(q0===0)return-1;if(!g&&r!==void 0&&V>=r)V=Math.max(0,Math.min(V-q0,q.totalVisible-1));if(K&&K0){let L0=Z0();for(let k0=L0.length-1;k0>=0;k0--)if(K0.has(L0[k0].id))L0.splice(k0,1)}return W0=Z0().length,n(),O.emit("data:change",{type:"remove",id:M0}),q0}),C.setUpdateItemFn((M0,r)=>{let K0=q.idToIndex.get(M0);if(K0===void 0)return!1;let q0=q.flatNodes[K0];Object.assign(q0.item,r);let L0=s.get(K0);if(L0)P0(L0,q0,K0,M?.()??null);return O.emit("data:change",{type:"update",id:M0}),!0}),C.registerClickHandler((M0)=>{let r=M0.target.closest("[data-index]");if(!r)return;let K0=parseInt(r.dataset.index??"-1",10);if(K0<0)return;let q0=q.flatNodes[K0];if(!q0)return;let L0=q0.id,k0=!1;if(U&&(q0.hasChildren||J.loadChildren&&!q0.loading&&!Q0.has(L0))){let A0=q.totalVisible;if(q0.expanded)R0(L0);else D0(L0);k0=q.totalVisible!==A0}if(g&&k0){if(H(),e)e(L0);if(w)w(L0)}else if(!g)V=q.idToIndex.get(L0)??K0,b=!1,W.focus({preventScroll:!0})});let E0=()=>{if(B.destroyed||g)return;if(!W.matches(":focus-visible")&&!z.matches(":focus-visible"))return;let M0=q.totalVisible;if(M0===0)return;V=V>=0?Math.min(V,M0-1):0,b=!0,W.setAttribute("aria-activedescendant",`${X}-item-${V}`),k(V),F0()};z.addEventListener("focusin",E0);let w0=(M0)=>{if(B.destroyed||g)return;let r=M0.relatedTarget;if(r&&z.contains(r))return;b=!1,W.removeAttribute("aria-activedescendant"),F0()};z.addEventListener("focusout",w0),C.registerKeydownHandler((M0)=>{if(B.destroyed)return;let r=q.totalVisible;if(r===0)return;let K0=_();if(K0<0&&!g&&(M0.key==="ArrowDown"||M0.key==="Home")){P(0),M0.preventDefault();return}if(K0<0)return;let q0=q.flatNodes[K0];if(!q0)return;switch(M0.key){case"ArrowRight":{if(q0.hasChildren||J.loadChildren&&!q0.loading)if(!q0.expanded)D0(q0.id);else P(K0+1);M0.preventDefault();break}case"ArrowLeft":{if(q0.hasChildren&&q0.expanded)R0(q0.id);else if(q0.parentId!==null){let L0=q.idToIndex.get(q0.parentId);if(L0!==void 0)P(L0)}M0.preventDefault();break}case"*":{z0(q0),M0.preventDefault();break}default:{if(!g){if(M0.key==="ArrowDown"){if(K0<r-1)P(K0+1);M0.preventDefault();break}if(M0.key==="ArrowUp"){if(K0>0)P(K0-1);M0.preventDefault();break}if(M0.key==="Home"){P(0),M0.preventDefault();break}if(M0.key==="End"){P(r-1),M0.preventDefault();break}if(M0.key==="Enter"){O.emit("item:click",{item:q0.item,index:K0,event:M0}),M0.preventDefault();break}}if(M0.key.length===1&&!M0.ctrlKey&&!M0.altKey&&!M0.metaKey)T0(M0.key,K0),M0.preventDefault()}}}),C.registerMethod("expand",D0),C.registerMethod("collapse",R0),C.registerMethod("toggle",(M0)=>{let r=q.idToIndex.get(M0);if(r===void 0)return;if(q.flatNodes[r].expanded)R0(M0);else D0(M0)}),C.registerMethod("expandAll",()=>{q.expandAll(q.rootItems),n()}),C.registerMethod("collapseAll",()=>{q.collapseAll(),n()}),C.registerMethod("expandTo",(M0)=>{q.expandTo(M0),n();let r=q.idToIndex.get(M0);if(r!==void 0)k(r)}),C.registerMethod("getExpanded",()=>Array.from(q.expandedIds)),C.registerMethod("isExpanded",(M0)=>q.expandedIds.has(M0));let y0=K&&typeof J.parentId==="string"?J.parentId:null;C.registerMethod("addChild",(M0,r,K0)=>{if(y0)r[y0]=M0;if(K){let q0=Z0();q0.push(r),W0=q0.length}q.addChild(M0,r,K0),n(),O.emit("data:change",{type:"add",id:r.id})}),C.registerMethod("moveNode",(M0,r,K0)=>{if(y0){let q0=q.idToIndex.get(M0);if(q0!==void 0)q.flatNodes[q0].item[y0]=r}q.moveNode(M0,r,K0),n()}),C.registerMethod("getTreeLayout",()=>({totalVisible:q.totalVisible,flatNodes:q.flatNodes})),C.registerDestroyHandler(()=>{if(z.removeEventListener("focusin",E0),z.removeEventListener("focusout",w0),N0(),z.classList.remove(`${X}--tree`),z.classList.remove(`${X}--tree-lines`),I!==null)clearTimeout(I)})},destroy(){if(s.clear(),I!==null)clearTimeout(I)}}}var p1=($)=>{if(typeof $==="function")return $;if(typeof $==="string")return(J)=>{let Q=J[$];return Q==null?"":String(Q)};return(J)=>{if(J==null)return"";let Q="";for(let j in J){let U=J[j];if(typeof U==="string")Q+=Q?" "+U:U}return Q}},v2=($,J,Q)=>{if(!J)return!1;return(Q?$:$.toLowerCase()).includes(J)},b4=($,J)=>{let Q=$.querySelectorAll(`mark.${J}`);for(let j=Q.length-1;j>=0;j--){let U=Q[j],Z=U.parentNode;if(!Z)continue;let K=document.createTextNode(U.textContent??"");Z.replaceChild(K,U),Z.normalize()}},C2=($,J,Q,j)=>{if(!J)return;b4($,j);let U=Q?J:J.toLowerCase(),Z=J.length,K=document.createTreeWalker($,NodeFilter.SHOW_TEXT,{acceptNode(B){let N=B.nodeValue??"";return(Q?N:N.toLowerCase()).includes(U)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),q=[],L;while((L=K.nextNode())!==null)q.push(L);for(let B of q){let N=B.nodeValue??"",W=Q?N:N.toLowerCase(),z=document.createDocumentFragment(),A=0,F=W.indexOf(U,0);while(F!==-1){if(F>A)z.appendChild(document.createTextNode(N.slice(A,F)));let X=document.createElement("mark");X.className=j,X.textContent=N.slice(F,F+Z),z.appendChild(X),A=F+Z,F=W.indexOf(U,A)}if(A<N.length)z.appendChild(document.createTextNode(N.slice(A)));B.parentNode?.replaceChild(z,B)}};var S2=($,J,Q,j)=>{let U=document.createElement("button");return U.type="button",U.className=$,U.tabIndex=j,U.setAttribute("aria-label",J),U.innerHTML=Q,U},u1=($,J,Q,j,U,Z,K)=>{let q=`${Q}-search`,L=document.createElement("div");if(L.className=`${q} ${q}--bar ${q}--${j}`,L.setAttribute("role","search"),L.setAttribute("aria-disabled","false"),U.region)L.setAttribute("aria-label",U.region);let B=document.createElement("div");B.className=`${q}__container`;let N=document.createElement("span");N.className=`${q}__leading-icon`,N.setAttribute("aria-hidden","true"),N.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let W=document.createElement("div");W.className=`${q}__input-wrapper`;let z=document.createElement("input");if(z.type="text",z.className=`${q}__input`,z.placeholder=U.placeholder,z.spellcheck=!1,z.autocomplete="off",z.setAttribute("aria-label",U.placeholder),Z)z.setAttribute("aria-controls",Z);W.appendChild(z);let A=document.createElement("span");A.className=`${q}__counter`,A.setAttribute("aria-live","polite");let F=S2(`${q}__nav-prev`,U.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),X=S2(`${q}__nav-next`,U.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),v=S2(`${q}__clear-button ${q}__clear-button--hidden`,U.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(B.append(N,W,A,F,X,v),L.appendChild(B),j==="top"&&J)$.insertBefore(L,J);else if(j==="top")$.insertBefore(L,$.firstChild);else $.appendChild(L);let M=()=>{v.classList.toggle(`${q}__clear-button--hidden`,z.value.length===0)},G=()=>{M(),K.onInput(z.value)},O=(u)=>K.onKeydown(u),Y=()=>z.focus(),y=()=>{K.onClear(),z.focus()},D=()=>K.onPrev(),R=()=>K.onNext();return z.addEventListener("input",G),z.addEventListener("keydown",O),N.addEventListener("click",Y),v.addEventListener("click",y),F.addEventListener("click",D),X.addEventListener("click",R),{root:L,input:z,setCounter(u){A.textContent=u},showNav(u){F.classList.toggle(`${q}__nav-prev--hidden`,!u),X.classList.toggle(`${q}__nav-next--hidden`,!u)},focus(){z.focus(),z.select()},setValue(u){z.value=u,M()},destroy(){z.removeEventListener("input",G),z.removeEventListener("keydown",O),N.removeEventListener("click",Y),v.removeEventListener("click",y),F.removeEventListener("click",D),X.removeEventListener("click",R),L.remove()}}};var h2={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:($)=>`${$} result${$===1?"":"s"}`,position:($,J)=>`${$} of ${J}`,region:""};function I2($={}){let J=$.mode??"filter",Q=$.position??"top",j={...h2,...$.text},U=$.caseSensitive??!1,Z=$.highlight!==!1,K=typeof $.highlight==="object"&&$.highlight!==null?$.highlight.within:void 0,q=$.minLength??1,L=$.cancelTimeout??0,B=$.variant??"default",N=p1($.field),W,z,A,F,X,v=null,M=!1,G="",O=[],Y=new Set,y=0,D=!1,R=null,u=!1,c=null,E=null,l=null,s=()=>{if(u)return;u=!0,c=W.getMethod("scrollToIndex")??null,E=W.getMethod("filterTree")??null,l=W.getMethod("clearTreeFilter")??null},S=()=>{if(O=[],Y.clear(),G.length<q)return;let H=U?G:G.toLowerCase(),P=W.getItems();for(let k=0;k<P.length;k++){let f=P[k];if(f!==void 0&&v2(N(f),H,U))O.push(k),Y.add(k)}},t=()=>{if(s(),E){let k=U?G:G.toLowerCase();E((f)=>v2(N(f),k,U)),D=!0;return}let H=W.getItems(),P=O;W.setGetItemFn((k)=>H[P[k]]),W.setVirtualTotalFn(()=>P.length),z.totalItems=P.length,W.rebuildSizeCache(),W.updateContentSize(W.sizeCache.getTotalSize()),D=!0},d=()=>{if(!D)return;if(D=!1,l){l();return}W.setGetItemFn((H)=>W.getItems()[H]),W.setVirtualTotalFn(()=>W.getItems().length),z.totalItems=W.getItems().length,W.rebuildSizeCache(),W.updateContentSize(W.sizeCache.getTotalSize())},h=()=>{s();let H=O[y];if(H===void 0)return;if(c)c(H,"center");else W.scrollTo(Math.max(0,W.sizeCache.getOffset(H)-W.getState().containerSize/2));let P=W.getItem(H);W.emitter.emit("search:match",{index:H,item:P,matchIndex:y,matches:O.length})},m=()=>{if(!v)return;if(G.length<q)v.setCounter("");else if(O.length===0)v.setCounter(j.noResults);else if(J==="navigate")v.setCounter(j.position(y+1,O.length));else v.setCounter(j.results(O.length))},T=()=>{let H=M&&G.length>=q;W.dom.root.classList.toggle(`${A}--searching`,H)},p=(H)=>{if(G=H,v?.setValue(G),S(),y=0,J==="filter")if(G.length>=q)t();else d();if(T(),m(),W.forceRender(),J==="navigate"&&O.length>0)h();W.emitter.emit("search:change",{query:G,matches:O.length,total:W.getItems().length}),I()},V=()=>{if(!M)M=!0,W.dom.root.classList.add(`${A}--search-open`),W.emitter.emit("search:open",void 0);v?.focus(),I()},b=()=>{o();let H=M||G.length>0;if(M=!1,G.length>0)p("");if(W.dom.root.classList.remove(`${A}--search-open`),T(),H)W.emitter.emit("search:close",void 0)},g=(H)=>{if(O.length===0)return;if(y=(y+H+O.length)%O.length,m(),J==="navigate")h(),W.forceRender()},o=()=>{if(R!==null)clearTimeout(R),R=null},I=()=>{if(o(),L>0&&M)R=setTimeout(()=>{R=null,b()},L)},_=(H)=>{if(!Z||G.length<q)return;let P=H.startIndex,k=P+Math.max(0,H.visibleCount-1),f=J==="navigate"?O[y]:-1;for(let i=P;i<=k;i++){let Z0=W.getRenderedElement(i);if(!Z0)continue;if(K){let X0=Z0.querySelectorAll(K);for(let Y0=0;Y0<X0.length;Y0++)C2(X0[Y0],G,U,F)}else C2(Z0,G,U,F);if(J==="navigate"){let X0=i===f,Y0=Z0.querySelectorAll(`.${F}`);for(let N0=0;N0<Y0.length;N0++)Y0[N0].classList.toggle(X,X0)}}},w=(H)=>H.key.length===1&&!H.ctrlKey&&!H.metaKey&&!H.altKey,e=(H)=>{if((H.ctrlKey||H.metaKey)&&(H.key==="f"||H.key==="F")){H.preventDefault(),V();return}if(!M){if(Q==="none"&&w(H))H.preventDefault(),V(),p(G+H.key);return}switch(H.key){case"Escape":H.preventDefault(),b();break;case"Enter":H.preventDefault(),g(H.shiftKey?-1:1);break;case"ArrowDown":H.preventDefault(),g(1);break;case"ArrowUp":H.preventDefault(),g(-1);break;default:if(Q==="none"){if(H.key==="Backspace"){if(H.preventDefault(),p(G.slice(0,-1)),G.length===0)b()}else if(w(H))H.preventDefault(),p(G+H.key)}}},B0=(H)=>{if(H.key==="Escape"||H.key==="Enter"||H.key==="ArrowDown"||H.key==="ArrowUp")e(H)};return{name:"search",priority:55,setup(H){if(W=H,z=W.getState(),A=W.config.classPrefix,F=`${A}-search-match`,X=`${A}-search-match--current`,Q!=="none"){let k=W.dom.root.id||void 0;if(v=u1(W.dom.root,W.dom.viewport,A,Q,{placeholder:j.placeholder,clear:j.clear,previous:j.previous,next:j.next,region:j.region},k,{onInput:(f)=>p(f),onClear:()=>p(""),onPrev:()=>g(-1),onNext:()=>g(1),onKeydown:B0}),v.showNav(J==="navigate"),B!=="default")v.root.classList.add(`${A}-search--${B}`);W.dom.root.classList.add(`${A}--has-search`)}let P=W.getItemStateFn();W.setItemStateFn((k,f)=>{if(P)P(k,f);if(G.length<q){delete f.search;return}if(J==="filter")f.search={matched:!0,query:G,matchIndex:k,isCurrent:!1};else{let i=O.indexOf(k);f.search={matched:Y.has(k),query:G,matchIndex:i,isCurrent:i!==-1&&i===y}}}),W.registerMethod("openSearch",V),W.registerMethod("closeSearch",b),W.registerMethod("setQuery",(k)=>{if(!M)V();p(k)}),W.registerMethod("getQuery",()=>G),W.registerMethod("nextMatch",()=>g(1)),W.registerMethod("prevMatch",()=>g(-1)),W.registerMethod("getMatches",()=>O.slice()),W.registerKeydownHandler(e),W.registerDestroyHandler(()=>{o(),d(),v?.destroy(),v=null,W.dom.root.classList.remove(`${A}--search-open`,`${A}--searching`,`${A}--has-search`)})},hooks:{onCommit(H){_(H)}}}}function g1($){let{slots:J,focalSlot:Q,containerSize:j,gap:U=0}=$,Z=J.length,K=Math.max(0,Z-1)*U,q=j-K,L=J.map((X)=>Math.round(X*q)),B=q-L.reduce((X,v)=>X+v,0);if(Q<L.length)L[Q]+=B;let N=(L[Q]??0)+U;function W(X,v,M){let G=X-v,O=Q+G,Y=O-1,y=z(O),D=z(Y);return y+M*(D-y)}function z(X){if(X<0||X>=Z)return 0;return L[X]??0}function A(X,v,M,G){let O=X-v,Y=W(X,v,M),y=G;if(O>0)for(let s=0;s<O;s++){let S=W(v+s,v,M);y+=S+(S>0?U:0)}else if(O<0)for(let s=-1;s>=O;s--){let S=W(v+s,v,M);y-=S+(S>0?U:0)}let D=Q+O,R=D-1,u;if(D===Q)u=M;else if(R===Q)u=1-M;else u=1;let c=L[Q]??0,E=c>0?Y/c:0,l=E>0.6?"large":E>0.3?"medium":"small";return{size:Y,offset:y,progress:u,relOffset:O,role:l}}function F(X,v){if(Q===0)return 0;let M=0;for(let G=-1;G>=-Q;G--){let O=W(X+G,X,v);M+=O+(O>0?U:0)}return M}return{slotWidths:L,stepSize:N,focalSlot:Q,getItemLayout:A,getItemSize:W,getAnchorOffset:F}}function T4(){return{slots:[1],focalSlot:0}}function k4($,J){return{slots:[($-J)/$,J/$],focalSlot:0}}function P4($,J){return{slots:[J/$,($-2*J)/$,J/$],focalSlot:1}}function z4(){return{slots:[0.4,0.3,0.2,0.09999999999999998],focalSlot:0}}function w4($){let J=Math.max(2,Math.floor($/($*0.33))),Q=1/J;return{slots:Array.from({length:J},()=>Q),focalSlot:0}}function x1($,J,Q){switch($){case"hero":return k4(J,Q);case"hero-center":return P4(J,Q);case"multi":return z4();case"uncontained":return w4(J);case"full":return T4();case"static":default:return null}}var m1=101,B2=50,y4=10;function f2($){let J=$?.variant??"full",Q=typeof J==="object",j=Q?"custom":J,U=Q?J:null,Z=$?.snap??j!=="free",K=$?.snapDuration??400,q=$?.initialIndex??0,L=$?.peek??"auto",B,N,W=null,z,A=q,F=0,X=0,v=0,M=0,G=!1,O="vlist";function Y(h){if(F<=0)return 0;return(h%F+F)%F}function y(h,m,T){if(F<=1)return 0;let p=((m-h)%F+F)%F,V=F-p;if(T==="forward")return p;if(T==="backward")return-V;return p<=V?p:-V}function D(h){return B2*F+h}function R(h){if(F<=0)return 0;return(h%F+F)%F}function u(h){if(j==="full")return 0;if(typeof L==="number")return L;if(typeof L==="string"&&L.endsWith("%"))return Math.round(h*parseFloat(L)/100);return Math.max(40,Math.min(Math.round(h*0.15),120))}function c(h){return h*X}function E(h){if(X<=0)return 0;return Math.round(h/X)}function l(h,m){W?.smoothScrollTo(h,m)}let s=null;function S(){if(!W)return;let h=W.getItems().length;if(h===F)return;let m=A;if(F=h,M=F*m1,v=X*F,B.totalItems=M,F>1){let T=m<F?m:0;A=T,W.scrollTo((B2*F+T)*X)}}function t(){if(!W||F<=0||!s)return;let m=W.dom.content.children,T=B.scrollPosition,p=Math.floor(T/X),V=X>0?T/X-p:0,b=z?"width":"height",g=T+s.getAnchorOffset(p,V),o=B.baseOffset,I=p-p%F;for(let _=0;_<m.length;_++){let w=m[_],e=w.dataset.index;if(e===void 0)continue;let B0=parseInt(e,10),H=I+B0;if(H-p>F/2)H-=F;if(p-H>F/2)H+=F;let P=s.getItemLayout(H,p,V,g),k=Math.max(0,Math.round(P.size)),f=Math.round(P.offset-o);if(k<=0)w.style.display="none",w.classList.remove(`${O}-item--focused`,`${O}-item--selected`),w.removeAttribute("aria-selected");else w.style.display="",w.style[b]=k+"px",w.style.transform=z?`translateX(${f}px)`:`translateY(${f}px)`;w.style.setProperty("--vlist-carousel-progress",P.progress.toFixed(3)),w.style.setProperty("--vlist-carousel-offset",String(P.relOffset)),w.style.setProperty("--vlist-carousel-role",P.role),w.style.setProperty("--vlist-carousel-width",k+"px")}}function d(h,m,T){if(!W)return;if(A=h,F<=1)return;let p=B.scrollPosition,V=E(p),b=R(V),g=((h-b)%F+F)%F,o=F-g,I=g<=o?g:-o,_=c(V+I);if(m)l(_,T);else W.scrollTo(_),t()}return{name:"carousel",priority:10,conflicts:["scale"],setup(h){B=h.getState(),N=h.sizeCache,W=h,z=h.config.axis.primary==="x",O=h.config.classPrefix,F=B.totalItems;let m=F>0?N.getSize(0):0,T=B.containerSize,p=u(T),V=U??x1(j,T,p);if(V)s=g1({slots:V.slots,focalSlot:V.focalSlot,containerSize:T,gap:$?.gap??0}),X=s.stepSize;else X=m;if(v=X*F,M=F*m1,A=Y(q),F>1)h.setGetItemFn((I)=>{let _=R(I);return h.getItems()[_]}),N.getTotalSize=()=>M*X,N.getOffset=(I)=>I*X,N.getSize=(I)=>X,N.indexAtOffset=(I)=>{if(X<=0)return 0;return Math.max(0,Math.min(Math.floor(I/X),M-1))},N.getTotal=()=>M,B.totalItems=M,h.setVirtualTotalFn(()=>F),h.setIndexMapFn(R),h.registerMethod("_layoutToDataIndex",R),h.setBoundedWrap({lapSize:()=>v,home:()=>B2*v,thresholdLaps:B2-y4}),G=!0;if(h.registerMethod("next",(I,_)=>{if(F<=1)return;let w=I??1,e=A;A=Y(A+w);let B0=_?.behavior!=="auto",H=_?.duration??K;W.cancelScroll();let k=Math.round(B.scrollPosition/X)*X+w*X;if(B0)l(k,H);else W.scrollTo(k),t();if(A!==e)W.emitter.emit("carousel:change",{index:A,scrollPosition:B.scrollPosition})}),h.registerMethod("prev",(I,_)=>{if(F<=1)return;let w=I??1,e=A;A=Y(A-w);let B0=_?.behavior!=="auto",H=_?.duration??K;W.cancelScroll();let k=Math.round(B.scrollPosition/X)*X-w*X;if(B0)l(k,H);else W.scrollTo(k),t();if(A!==e)W.emitter.emit("carousel:change",{index:A,scrollPosition:B.scrollPosition})}),h.registerMethod("goTo",(I,_)=>{if(F<=0)return;let w=Y(I),e=_?.direction??"auto",B0=_?.behavior==="smooth",H=_?.duration??K;if(F<=1){A=w;return}if(W.cancelScroll(),e==="forward"||e==="backward"){let P=y(A,w,e==="forward"?"forward":"backward");A=w;let f=B.scrollPosition+P*X;if(B0)l(f,H);else W.scrollTo(f),t()}else d(w,B0,H)}),h.registerMethod("getCarouselState",()=>{let I=B.scrollPosition,_=F>0&&v>0?(I%v+v)%v:0;return{index:A,progress:0,offset:0,scrollPosition:_,role:"large"}}),h.setScrollToIndexFn((I,_,w,e,B0)=>{if(F<=1)return!1;let H=Y(I);d(H,w==="smooth",e??K)}),h.setNavConfig({total:()=>F,navigate:(I,_,w)=>{let e=I;if(_==="ArrowRight"||_==="ArrowDown")e=(I+1)%w;else if(_==="ArrowLeft"||_==="ArrowUp")e=(I-1+w)%w;else if(_==="Home")e=0;else if(_==="End")e=w-1;if(e!==I)d(e,!1,0),W?.forceRender(),t();return e}}),!h.dom.content.getAttribute("tabindex"))h.dom.content.setAttribute("tabindex","0");let b=h.getMethod("next"),g=h.getMethod("prev"),o=h.getMethod("goTo");h.registerKeydownHandler((I)=>{let _=I.key;if(_==="ArrowRight"||_==="ArrowDown")I.preventDefault(),b(1,{behavior:"smooth",duration:K});else if(_==="ArrowLeft"||_==="ArrowUp")I.preventDefault(),g(1,{behavior:"smooth",duration:K});else if(_==="Home")I.preventDefault(),o(0,{behavior:"smooth",duration:K});else if(_==="End")I.preventDefault(),o(F-1,{behavior:"smooth",duration:K})}),h.registerDestroyHandler(()=>{W?.cancelScroll()})},destroy(){W?.cancelScroll(),W=null},hooks:{onCommit(){if(!G||!W)return;G=!1;let h=c(D(A));W.scrollTo(h),W.forceRender(),t()},onAfterScroll(h){if(G||!W)return;if(S(),F<=1)return;let m=B.scrollPosition,T=E(m),p=R(T);if(p!==A)A=p,W.emitter.emit("carousel:change",{index:A,scrollPosition:m});t()},onIdle(){if(!Z||!W||F<=1)return;let h=B.scrollPosition,m=Math.round(h/X),T=m*X;if(Math.abs(h-T)>1)A=R(m),l(T,K)}}}}var v4=50,C4=0.1;function c1($){let J=0,Q=0,j=0;function U(){return j>0?Q/j:0}function Z(L){if(J=L,L>C4&&L<v4)Q+=L,j++}function K(){let L=$.getTotal();if(L===0)return 0;let B=$.getItemSize();if(B<=0)return 0;let N=$.getContainerSize();if(N<=0)return 0;let W=$.getScrollPosition(),z=typeof $.getColumns==="function"?$.getColumns():1,F=Math.ceil(L/z)*B,v=Math.min(F,o0)-N,M=F-N,G=v>0?M/v:1,O=W*G,Y=Math.ceil((O+N)/B);return Math.min(Y*z,L)}function q(){let L=$.getTotal(),B=K();return{progress:L>0?Math.min(100,Math.max(0,B/L*100)):0,velocity:J,velocityAvg:U(),itemCount:B,total:L}}return{getState:q,onVelocity:Z}}async function d1($,J,Q){let j=Q?.key,U;if($){let F=$.getScrollSnapshot;if(typeof F==="function")U=F()}if(U&&j)try{sessionStorage.setItem(j,JSON.stringify(U))}catch{}let Z=t0(j?{autoSave:j}:U?{restore:U}:void 0),K=J(Z),q=K.element;if(q.style.position="absolute",q.style.inset="0",q.style.visibility="hidden",Q?.ready)await Q.ready(K);else await new Promise((F)=>requestAnimationFrame(()=>F()));let L=Q?.delay;if(L&&L>0)await new Promise((F)=>setTimeout(F,L));let B=Q?.transition,N=typeof B==="number"?B:B?.fadeIn??0,W=typeof B==="number"?B:B?.fadeOut??0,z=typeof B==="object"?B?.fadeOutDelay??0:0,A=Math.max(N,W+z);if(A>0&&$){let F=$.element;q.style.visibility="",q.style.opacity="0",q.offsetHeight,q.style.transition=`opacity ${N}ms ease`,F.style.transition=`opacity ${W}ms ease ${z}ms`,q.style.opacity="1",F.style.opacity="0",await new Promise((X)=>{setTimeout(X,A+50)}),q.style.transition="",q.style.opacity="",F.style.transition="",F.style.opacity=""}else q.style.visibility="";if(q.style.position="",q.style.inset="",$)$.destroy();return K}export{y2 as tree,L2 as transition,P2 as table,z2 as sortable,t0 as snapshots,H2 as selection,I2 as search,A2 as scrollbar,d1 as rebuild,O2 as page,R2 as masonry,k2 as groups,G2 as grid,E2 as data,D1 as createVList,c1 as createStats,f2 as carousel,F2 as autosize,D2 as a11y};