codexmeter 1.0.22 → 1.0.23
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.
|
@@ -28,4 +28,4 @@ yyyy`);var r=kc(t),i=n?`getUTC`:`get`,a=r[i+`FullYear`](),o=r[i+`Month`]()+1,s=r
|
|
|
28
28
|
`)}function WB(e){let t=Math.max(1,e||1),n=300/t,r=Math.max(1.25,Math.min(24,n*(t>80?.68:t>45?.78:.88)));return{barWidth:r,barMaxWidth:Math.max(4,Math.min(28,r*1.2))}}function GB(e){let{dates:t,series:n}=aB(e,{split:`model`,metric:`tokens`});return{dates:t,series:n}}function KB(e){return Math.max(0,Math.min(1,e))}function qB(e,t,n=0){if(!e?.length)return 0;if(!t)return e.length-1;let r=JB(e,t),i=e.length-1,a=KB(((n||0)-.08)/.92)**.82,o=r+(i-r)*a;return Math.max(r,Math.min(i,Math.floor(o+32)))}function JB(e,t){return e?.length?t?Math.min(e.length-1,6):e.length-1:0}function YB(e,t,n,r){if(!r)return e;let i=Math.max(0,(n||1)-1),a=Math.max(0,Math.min(i,Number.isFinite(t)?t:0));return a>=i-.01?i:Math.max(e,Math.min(i,a+1.25))}function XB(e,t){if(!e?.dates?.length)return{dates:[],series:[]};let n=e.dates.length-1,r=Math.max(0,Math.min(n,t||0)),i=Math.floor(r),a=Math.min(n,Math.ceil(r)),o=r-i,s=Math.max(1,a+1),c=e.dates.slice(0,s);return{dates:c,series:(e.series||[]).map(e=>({...e,data:c.map((t,n)=>{let r=e.data?.[n]||0;return n<=i?r:r*o})}))}}function ZB(e,t,n){if(!e?.length||!t?.length)return Math.max(0,Math.min(Math.max((t?.length||1)-1,0),n||0));let r=e.length-1,i=Math.max(0,Math.min(r,Number.isFinite(n)?n:r)),a=Math.floor(i),o=Math.min(r,Math.ceil(i)),s=i-a,c=new Map(t.map((e,t)=>[e,t])),l=c.get(e[a]);if(l==null)return Math.max(0,Math.min(t.length-1,i));if(o===a)return l;let u=c.get(e[o]);return u==null?Math.max(0,Math.min(t.length-1,l+s)):l+(u-l)*s}function QB(e,t){return!e||!t?e||{}:Object.fromEntries(Object.entries(e).filter(([e])=>String(e)<=String(t)))}function $B(e,t){if(!t?.dates?.length)return e||{dates:[],series:[]};if(!e?.dates?.length)return t;let n=[...new Set([...e.dates,...t.dates])].sort(),r=new Map(e.dates.map((e,t)=>[e,t])),i=new Map(t.dates.map((e,t)=>[e,t])),a=[],o=new Map,s=new Map;for(let t of e.series||[])o.set(t.key,t);for(let e of t.series||[])s.set(e.key,e),a.push(e.key);for(let t of e.series||[])s.has(t.key)||a.push(t.key);return{dates:n,series:a.map(e=>{let t=s.get(e),a=o.get(e);return{key:e,label:t?.label||a?.label||e,data:n.map(e=>{let n=i.get(e);if(t&&n!==void 0)return t.data?.[n]||0;let o=r.get(e);return a&&o!==void 0&&a.data?.[o]||0})}})}}function eV(e,{ingestProgress:t=0,isIngestActive:n=!1}={}){let r=(0,b.useRef)({dates:[],series:[]}),i=(0,b.useMemo)(()=>n?(r.current=$B(r.current,e),r.current):(r.current=e||{dates:[],series:[]},r.current),[e,n]),a=(0,b.useMemo)(()=>qB(i?.dates||[],n,t),[i?.dates,t,n]),[o,s]=(0,b.useState)(()=>JB(i?.dates||[],n)),c=YB(a,o,i?.dates?.length||0,n),l=!!(n&&(i?.dates?.length||0)>0&&o>=i.dates.length-1-.01),[u,d]=(0,b.useState)(0),f=(0,b.useRef)(o),p=(0,b.useRef)(0),m=(0,b.useRef)(i?.dates||[]),h=(0,b.useRef)(0),g=(0,b.useRef)(0);f.current=o;let _=e=>{let t=Math.round(Math.max(0,e||0)*10)/10;Math.abs(p.current-t)<.05||(p.current=t,d(t))};return(0,b.useLayoutEffect)(()=>{let e=i?.dates||[],t=m.current||[];if(t===e||(m.current=e,!n))return;let r=ZB(t,e,f.current);Math.abs(r-f.current)<.001||(f.current=r,s(r))},[i?.dates,n]),(0,b.useEffect)(()=>{let e=i?.dates?.length||0;if(!e){_(0);return}if(!n){f.current=c,s(c),_(0);return}cancelAnimationFrame(h.current),h.current=0,g.current=0;let t=r=>{g.current||=r;let i=Math.max(1,r-g.current);g.current=r;let o=f.current,c=YB(a,o,e,n),l=c-o;if(Math.abs(l)<=.01){f.current=c,s(c),_(0),h.current=0;return}let u=Math.min(4.2,Math.max(.65,1.15+Math.max(0,Math.abs(l)-8)*.11));_(u);let d=o+Math.sign(l)*Math.min(Math.abs(l),u*i/1e3);f.current=d,s(d),h.current=requestAnimationFrame(t)};return h.current=requestAnimationFrame(t),()=>{cancelAnimationFrame(h.current),h.current=0}},[i?.dates?.length,a,n]),(0,b.useEffect)(()=>()=>{cancelAnimationFrame(h.current),h.current=0},[]),{daily:(0,b.useMemo)(()=>XB(i,o),[i,o]),cursor:o,rawTargetIndex:a,sourceDaily:i,speedDaysPerSecond:u,targetIndex:c,waitingForDailyData:l}}function tV(e,t,n=null,r=!1){if(!t)return{startValue:0,endValue:0};if(r&&Number.isFinite(n)){let r=t;e===`d7`&&(r=7),e===`d30`&&(r=30);let i=e===`d30`?29:6,a=Math.max(t-1,i),o=Math.max(i,Math.min(a,n)),s=e===`total`?Math.max(7,o+1):Math.max(1,Math.min(r,o+1));return{startValue:e===`total`?0:Math.max(0,o-s+1),endValue:o}}let i=t;return e===`d7`&&(i=7),e===`d30`&&(i=30),{startValue:t-Math.max(1,Math.min(i,t)),endValue:t-1}}function nV(e,t,n,r,i){if(cancelAnimationFrame(r.current),r.current=0,Math.abs(e.startValue-t.startValue)<.01&&Math.abs(e.endValue-t.endValue)<.01)return;let a=0,o=s=>{a||=s;let c=Math.min(1,(s-a)/i),l=1-(1-c)**3;n({startValue:e.startValue+(t.startValue-e.startValue)*l,endValue:e.endValue+(t.endValue-e.endValue)*l}),r.current=c<1?requestAnimationFrame(o):0};return r.current=requestAnimationFrame(o),()=>{cancelAnimationFrame(r.current),r.current=0}}function rV(e,t,{hideLabels:n=!1}={}){return e.map(e=>{let r=t(e.key);return{name:e.label,value:e.tokens,itemStyle:{color:r},label:{show:!n,color:r},labelLine:{show:!n}}})}function iV(e,t){return e.map(e=>({...e,tokens:Math.max(0,(e.tokens||0)*t)}))}function aV(e,t){let n=new Map((t||[]).map(e=>[e.key,e])),r=[],i=new Set;for(let t of e||[]){if(!t?.key||i.has(t.key))continue;i.add(t.key);let e=n.get(t.key);r.push({key:t.key,label:e?.label||t.label,tokens:Math.max(0,e?.tokens??t.tokens??0)})}for(let e of t||[])!e?.key||i.has(e.key)||(i.add(e.key),r.push({key:e.key,label:e.label,tokens:Math.max(0,e.tokens||0)}));return r}function oV(e){return e.length===1?e=>{let t=e.rect||{x:0,y:0,width:0,height:0},n=e.labelRect||{width:0,height:0};return{x:t.x+t.width+14,y:t.y+t.height/2-n.height/2,align:`left`,verticalAlign:`middle`,moveOverlap:`shiftY`,hideOverlap:!1}}:null}function sV({daily:e,fullDaily:t=null,elasticDaily:n=null,range:r=`total`,isIngestActive:i=!1,currentDateBucket:a=null,exportMode:o=!1,exportPlayback:s=!1,onDayClick:c}){let l=t||e;if(!l?.dates?.length)return(0,z.jsxs)(`div`,{className:`overview-daily-spark overview-daily-spark-empty`,children:[(0,z.jsx)(`span`,{className:`overview-daily-spark-title`,children:`Daily Usage`}),(0,z.jsx)(`span`,{className:`overview-daily-spark-empty-text`,children:`No daily data`})]});let u=n||{daily:l,cursor:l.dates.length-1,rawTargetIndex:l.dates.length-1,sourceDaily:l,targetIndex:l.dates.length-1},d=u.daily,f=!o&&!s&&i,p=(0,b.useMemo)(()=>tV(r,d.dates.length,u.cursor,f),[r,d.dates.length,u.cursor,f]),[m,h]=(0,b.useState)(()=>tV(r,d.dates.length)),g=(0,b.useRef)(p),_=(0,b.useRef)(f),v=(0,b.useRef)(m),y=(0,b.useRef)(0),x=MB(d,f,`overview-daily-spark`),S=f?p:_.current?g.current:m;v.current=S,(0,b.useEffect)(()=>{if(f){g.current=p,_.current=!0;return}let e=tV(r,d.dates.length);return _.current&&=(v.current=g.current,h(g.current),!1),nV(v.current,e,h,y,220)},[f,p,r,d.dates.length]),(0,b.useEffect)(()=>()=>{cancelAnimationFrame(y.current),y.current=0},[]);let{startValue:C,endValue:w}=S,T=Math.max(1,w-C+1||d.dates.length),{barWidth:E,barMaxWidth:D}=WB(T),O=f,k=Math.max(-.5,C-.5),A=Math.max(k+1,w+.5),j=e=>d.dates[Math.max(0,Math.min(d.dates.length-1,Math.round(e)))],ee=(0,b.useRef)(``);(0,b.useEffect)(()=>{let e=FB(l,a),t=FB(d,a),n=Math.round(C),r=Math.round(w),i=[a,u.targetIndex,e.days,e.lastNonzero,e.overreachDays,t.days,t.lastNonzero,t.overreachDays,n,r].join(`|`);i!==ee.current&&(ee.current=i,zB(`dailySpark.present`,{currentDateBucket:a,cursor:Number(u.cursor.toFixed(2)),targetIndex:u.targetIndex,rawTargetIndex:u.rawTargetIndex,lagDays:Number((u.targetIndex-u.cursor).toFixed(2)),source:e,presentationSource:FB(u.sourceDaily,a),display:t,zoom:{startValue:Number(C.toFixed(2)),endValue:Number(w.toFixed(2)),visibleDateCount:Number(T.toFixed(2))}}))},[a,u.cursor,u.targetIndex,l,d,C,w,T]);let M={backgroundColor:`transparent`,...Zz,tooltip:{trigger:`axis`,axisPointer:{type:`shadow`},appendToBody:!0,confine:!0,formatter:e=>{if(!e?.length)return``;let t=`<b>${j(Array.isArray(e[0].data)?e[0].data[0]:e[0].dataIndex)}</b><br/>`,n=0,r=[...e].filter(e=>(Array.isArray(e.value)?e.value[1]:e.value)>0).sort((e,t)=>((Array.isArray(t.value)?t.value[1]:t.value)||0)-((Array.isArray(e.value)?e.value[1]:e.value)||0));for(let e of r){let r=Array.isArray(e.value)?e.value[1]:e.value;t+=`${e.marker} ${e.seriesName}: ${BB(r)}<br/>`,n+=r}return t+=`<b>Total: ${BB(n)}</b>`,t}},grid:{left:4,right:4,top:4,bottom:4},xAxis:O?{type:`value`,min:k,max:A,show:!1}:{type:`category`,data:x.dates||d.dates,min:Math.max(0,Math.floor(C)),max:Math.max(0,Math.floor(w)),show:!1},yAxis:{type:`value`,show:!1,scale:!1,min:0},series:x.series.map(e=>({id:`overview-daily-${e.key}`,name:e.label,type:`bar`,stack:`total`,data:O?e.data.map((e,t)=>[t,e]):e.data,itemStyle:{color:Ue(e.key)},...E?{barWidth:E}:{},barMaxWidth:D}))},N=c&&!o&&!s?{click:e=>{let t=Array.isArray(e?.data)?e.data[0]:e?.dataIndex,n=Number.isFinite(t)?j(t):e?.axisValue||e?.name;n&&c(n)}}:void 0;return(0,z.jsxs)(`div`,{className:`overview-daily-spark`,children:[(0,z.jsx)(`span`,{className:`overview-daily-spark-title`,children:`Daily Usage`}),(0,z.jsx)(`div`,{className:`overview-daily-spark-chart`,style:N?{cursor:`pointer`}:void 0,children:(0,z.jsx)(Ae,{echarts:VA,option:M,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!1,notMerge:o,replaceMerge:[`series`],onEvents:N})})]})}var cV=[{key:`tokens`,label:`Tokens`,fmt:BB},{key:`elapsed`,label:`Time`,fmt:e=>HB(e)},{key:`cost`,label:`Cost`,fmt:VB}],lV=Iz.heatmap?.popDurationMs??380,uV=Iz.heatmap?.settleThreshold??.998;function dV({heatmapData:e,isIngestActive:t=!1,ingestProgress:n=0,currentDateBucket:r=null,onDayClick:i,interactive:a=!0}){let[o,s]=(0,b.useState)(`tokens`),[c,l]=(0,b.useState)(new Set),[u,d]=(0,b.useState)(new Set),f=(0,b.useRef)({}),p=(0,b.useRef)(1),m=(0,b.useRef)(``),h=e||{};(0,b.useEffect)(()=>{let e=IB(h,r),t=[e.currentDateBucket,e.nonzeroDays,e.lastNonzero,e.overreachDays,e.totalTokens].join(`|`);t!==m.current&&(m.current=t,zB(`heatmap.present`,e))},[h,r]);let g=new Date,_=[],v=[];for(let e=364;e>=0;e--){let t=new Date(g);t.setDate(t.getDate()-e);let n=t.toLocaleDateString(`en-CA`),r=h[n]&&h[n][o]||0;_.push({key:n,val:r,date:t}),t.getDate()===1&&v.push({idx:364-e,label:t.toLocaleDateString(`en-US`,{month:`short`})})}let y=Math.max(..._.map(e=>e.val),1);(0,b.useEffect)(()=>{if(!t||n>=uV){f.current={},p.current=1;return}let e=new Date,r=f.current,i=p.current,a=new Set,s=new Set,c=Math.max(.05,Math.min(i,y)*.002),u=Iz.heatmap?.intensityRiseThreshold??.08,m=Iz.heatmap?.whiteThreshold??.88,g=Iz.heatmap?.nearMaxRatio??.985;for(let t=364;t>=0;t--){let n=new Date(e);n.setDate(n.getDate()-t);let l=n.toLocaleDateString(`en-CA`),d=h[l]&&h[l][o]||0,f=r[l]??0,p=i>0?f/i:0,_=y>0?d/y:0,v=y>i+c&&d>=y*g&&(f<y*g||f===void 0),b=_>=m&&p<m,x=d>f+c,S=_>p+u;v||b||x||S?a.add(l):(d<f-c||d>0&&i>0&&y>i+c&&p>=.85&&_<p-.02)&&s.add(l),r[l]=d}if(p.current=y,a.size>0||s.size>0){l(a),d(s);let e=setTimeout(()=>{l(new Set),d(new Set)},lV);return()=>clearTimeout(e)}},[h,o,t,n,y]);function x(e){if(e===0)return`var(--bg-elevated)`;let t=e/y,n=1/4;return t<n?`rgba(99, 102, 241, 0.14)`:t<2*n?`rgba(99, 102, 241, 0.38)`:t<3*n?`rgba(99, 102, 241, 0.62)`:t<1?`rgba(99, 102, 241, 0.88)`:`#fff`}let S=_[0]?.date.getDay()||0,C=Array(S).fill(null).concat(_);return(0,z.jsxs)(`div`,{className:`heatmap-wrap`,children:[(0,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`0.75rem`},children:[(0,z.jsx)(`span`,{className:`chart-title`,children:`Activity`}),(0,z.jsx)(`div`,{className:`btn-group`,children:cV.map(e=>(0,z.jsx)(`button`,{className:`btn ${o===e.key?`active`:``}`,onClick:()=>s(e.key),children:e.label},e.key))})]}),(0,z.jsx)(`div`,{className:`heatmap-grid`,style:{gridTemplateRows:`repeat(7, 1fr)`},children:C.map((e,t)=>e?(0,z.jsx)(`div`,{role:i&&a?`button`:void 0,tabIndex:i&&a?0:void 0,onClick:i&&a?()=>i(e.key):void 0,onKeyDown:i&&a?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),i(e.key))}:void 0,className:`heatmap-cell ${e.val>0?`active`:``} ${c.has(e.key)?`heatmap-cell-pop`:``} ${u.has(e.key)?`heatmap-cell-pop-dim`:``}`,style:{background:x(e.val),cursor:i&&a?`pointer`:void 0},title:`${e.key}: ${cV.find(e=>e.key===o).fmt(e.val)}`},e.key):(0,z.jsx)(`div`,{className:`heatmap-cell`,style:{visibility:`hidden`}},`pad-${t}`))}),(0,z.jsx)(`div`,{className:`heatmap-labels`,children:v.slice(-12).map((e,t)=>(0,z.jsx)(`span`,{children:e.label},t))})]})}function fV({presentation:e,rawPresentation:t=null,fullDaily:n=null,sourceDailyRows:r=null,range:i=`total`,ingestProgress:a=0,isIngestActive:o=!1,currentDateBucket:s=null,exportMode:c=!1,exportPlayback:l=!1,exportPhase:u=null,exportSeekMs:d=0,exportDaily:f=null,exportDailyTiming:p=null,onDailyDebugStatsChange:m=null,onPresentationDateRangeChange:h=null,onNavigateToDailyDay:g,onNavigateToRepo:_,onNavigateToModel:v}){if(!e?.ready)return null;let y=l?gV(d):1,x=l&&u===`replay`&&t?.ready?t:e,S=l&&t?.daily||e.daily,C=l&&S?.dates?.length?S:n,w=!c&&!l&&o,T=eV(C,{ingestProgress:a,isIngestActive:w});(0,b.useEffect)(()=>{m?.(w?{speedDaysPerSecond:T.speedDaysPerSecond,waitingForDailyData:T.waitingForDailyData}:null)},[w,T.speedDaysPerSecond,T.waitingForDailyData,m]),(0,b.useEffect)(()=>()=>m?.(null),[m]);let E=T.daily?.dates||[],D=E[E.length-1]||s,O=cB(i,E),k={from:O[0]||D,to:O[O.length-1]||D};(0,b.useEffect)(()=>{h?.(w?k:null)},[w,h,k.from,k.to]),(0,b.useEffect)(()=>()=>h?.(null),[h]);let A=o&&t?.heatmap?t.heatmap:e.heatmap,j=o&&!l?D:s,ee=o&&j&&!l?QB(A,j):A||{},M=(0,b.useMemo)(()=>w?_B({daily:r,range:i,cursor:T.cursor,fallback:x}):x,[x,w,T.cursor,i,r]),{stats:N,topRepos:P,topFamilies:F,topModels:I}=M,te=l&&u===`replay`?iV(aV(t?.topRepos||x.topRepos||[],e.topRepos||x.topRepos||[]),y):M.topRepos||[],ne=l&&u===`replay`?iV(aV(t?.topFamilies||x.topFamilies||[],e.topFamilies||x.topFamilies||[]),y):M.topFamilies||[],re=l&&u===`replay`?iV(aV(t?.topModels||x.topModels||[],e.topModels||x.topModels||[]),y):M.topModels||[],ie=[...te.slice(0,6)].reverse(),ae=Math.max(...te.slice(0,6).map(e=>e.tokens||0),1),oe=[...ne].sort((e,t)=>String(e.label).localeCompare(String(t.label))),se=[...re.slice(0,6)].sort((e,t)=>String(e.label).localeCompare(String(t.label))),ce=!c&&!l&&!o,L=vV(d,l),le=!c&&!l&&eB,ue=l?_V(d,Iz.videoExport?.barsChartIntroUpdateDurationMs,Iz.videoExport?.barsChartUpdateDurationMs,u===`tail`||u===`final_hold`?Iz.videoExport?.barsChartTailUpdateDurationMs:null):0,de={backgroundColor:`transparent`,...Qz,...c?{animation:!1}:{},...l?{animation:!0,animationDuration:0,animationDurationUpdate:ue,animationEasingUpdate:`cubicOut`}:{},tooltip:{trigger:`axis`,axisPointer:{type:`shadow`},appendToBody:!0,confine:!0,formatter:e=>e?.length?`${e[0].axisValue}: ${BB(e[0].value)} tokens`:``},grid:{left:100,right:5,top:5,bottom:5},xAxis:{type:`value`,show:!1,max:ae||1},yAxis:{type:`category`,data:ie.map(e=>e.label),axisLabel:{color:`#8b949e`,fontSize:11,formatter:e=>UB(e)},axisTick:{show:!1},axisLine:{show:!1}},series:[{id:`overview-top-repos`,type:`bar`,data:ie.map(e=>{let t=e.tokens||0,n=t/ae>=.7,r=ze(e.label);return{value:t,itemStyle:{color:r,borderRadius:[0,3,3,0]},label:{show:!0,position:n?`insideRight`:`right`,distance:5,offset:[0,1.5],formatter:()=>BB(t),color:n?Be(r):`#8b949e`,fontSize:10}}}),barWidth:`80%`}]},fe=ce&&_?{click:e=>{if(e?.componentType!==`series`||e?.dataIndex==null)return;let t=ie[e.dataIndex];t?.label&&_(t.label)}}:void 0,pe=oe.reduce((e,t)=>e+(t.tokens||0),0),me=oe.filter(e=>pe>0?(e.tokens||0)/pe>=.01:!1),he=l&&me.length===1,R=oV(me),ge={backgroundColor:`transparent`,...$z,...c||l?{animation:!1}:{},tooltip:{trigger:`item`,appendToBody:!0,confine:!0,formatter:e=>`${e.name}: ${BB(e.value)} tokens (${e.percent}%)`},series:[{id:`overview-work-type`,type:`pie`,animation:le,avoidLabelOverlap:!R,radius:L,center:[`50%`,`50%`],label:{show:!he,color:`#8b949e`,fontSize:11,formatter:`{b}`,alignTo:`edge`,edgeDistance:5,bleedMargin:5,distanceToLabelLine:5},labelLine:{show:!he,lineStyle:{color:`#30363d`},length:8,length2:6},itemStyle:{borderColor:`#161b22`,borderWidth:2},...!he&&R?{labelLayout:R}:{},data:rV(me,We,{hideLabels:he})}]},_e=se.reduce((e,t)=>e+(t.tokens||0),0),ve=se.filter(e=>_e>0?(e.tokens||0)/_e>=.01:!1),ye=l&&ve.length===1,be=oV(ve),xe={backgroundColor:`transparent`,...$z,...c||l?{animation:!1}:{},tooltip:{trigger:`item`,appendToBody:!0,confine:!0,formatter:e=>`${e.name}: ${BB(e.value)} tokens (${e.percent}%)`},series:[{id:`overview-models`,type:`pie`,animation:le,avoidLabelOverlap:!be,radius:L,center:[`50%`,`50%`],label:{show:!ye,color:`#8b949e`,fontSize:11,formatter:`{b}`,alignTo:`edge`,edgeDistance:5,bleedMargin:5,distanceToLabelLine:5},labelLine:{show:!ye,lineStyle:{color:`#30363d`},length:8,length2:6},itemStyle:{borderColor:`#161b22`,borderWidth:2},...!ye&&be?{labelLayout:be}:{},data:rV(ve,Ue,{hideLabels:ye})}]},Se=ce&&v?{click:e=>{if(e?.componentType!==`series`||e?.dataIndex==null)return;let t=ve[e.dataIndex]?.label||e?.name;t&&v(t)}}:void 0;return(0,z.jsxs)(`div`,{className:`animate-in${l?` export-overview-frame`:``}`,children:[(0,z.jsxs)(`div`,{className:`stat-row`,children:[(0,z.jsxs)(`div`,{className:`stat-cards`,children:[(0,z.jsxs)(`div`,{className:`stat-card`,children:[(0,z.jsx)(`div`,{className:`stat-label`,children:`Tokens`}),(0,z.jsx)(`div`,{className:`stat-value`,children:BB(N.tokens)}),(0,z.jsxs)(`div`,{className:`stat-per-day`,children:[(0,z.jsx)(`span`,{className:`stat-per-day-value`,children:BB(N.tokens/N.days)}),` per day`]})]}),(0,z.jsxs)(`div`,{className:`stat-card`,children:[(0,z.jsx)(`div`,{className:`stat-label`,children:`Agent Time`}),(0,z.jsx)(`div`,{className:`stat-value`,children:HB(N.elapsed)}),(0,z.jsxs)(`div`,{className:`stat-per-day`,children:[(0,z.jsx)(`span`,{className:`stat-per-day-value`,children:HB(N.elapsed/N.days)}),` per day`]})]}),(0,z.jsxs)(`div`,{className:`stat-card`,children:[(0,z.jsx)(`div`,{className:`stat-label`,children:`Est. API Cost`}),(0,z.jsx)(`div`,{className:`stat-value`,children:VB(N.cost)}),(0,z.jsxs)(`div`,{className:`stat-per-day`,children:[(0,z.jsx)(`span`,{className:`stat-per-day-value`,children:VB(N.cost/N.days)}),` per day`]})]}),(0,z.jsxs)(`div`,{className:`stat-card`,children:[(0,z.jsx)(`div`,{className:`stat-label`,children:`Sessions`}),(0,z.jsx)(`div`,{className:`stat-value`,children:Math.round(N.sessions).toLocaleString()}),(0,z.jsxs)(`div`,{className:`stat-per-day`,children:[(0,z.jsx)(`span`,{className:`stat-per-day-value`,children:(N.sessions/N.days).toFixed(1)}),` per day`]})]})]}),l?(0,z.jsx)(ot,{daily:f||n||S,seekMs:d,timing:p}):(0,z.jsx)(sV,{daily:S,fullDaily:n,elasticDaily:T,range:i,isIngestActive:o,currentDateBucket:s,exportMode:c,exportPlayback:l,onDayClick:ce?g:void 0})]}),(0,z.jsx)(dV,{heatmapData:ee,isIngestActive:o,ingestProgress:a,currentDateBucket:j,onDayClick:ce?g:void 0,interactive:ce}),(0,z.jsxs)(`div`,{className:`grid-3`,children:[(0,z.jsxs)(`div`,{className:`chart-card overview-donut-card`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Top Repos`}),P.length>0?(0,z.jsx)(Ae,{echarts:VA,option:de,style:{height:180,cursor:fe?`pointer`:void 0},theme:`dark`,lazyUpdate:!1,notMerge:c,onEvents:fe}):(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem 0`,textAlign:`center`},children:`No data`})]}),(0,z.jsxs)(`div`,{className:`chart-card overview-donut-card`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Work Type`}),F.length>0?(0,z.jsx)(Ae,{echarts:VA,option:ge,style:{height:180},theme:`dark`,lazyUpdate:!1,notMerge:c}):(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem 0`,textAlign:`center`},children:`No data`})]}),(0,z.jsxs)(`div`,{className:`chart-card`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Models`}),I.length>0?(0,z.jsx)(Ae,{echarts:VA,option:xe,style:{height:180,cursor:Se?`pointer`:void 0},theme:`dark`,lazyUpdate:!1,notMerge:c,onEvents:Se}):(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem 0`,textAlign:`center`},children:`No data`})]})]}),(0,z.jsxs)(`div`,{className:`coverage-subtle`,children:[(0,z.jsx)(`span`,{style:{fontWeight:500},children:`Session coverage:`}),(0,z.jsxs)(`span`,{className:`coverage-item`,children:[(0,z.jsx)(`span`,{className:`coverage-dot`,style:{background:`#22c55e`}}),(0,z.jsx)(`span`,{className:`coverage-nums`,children:Math.round(N.exactPriced)}),` `,`exact-priced`]}),(0,z.jsxs)(`span`,{className:`coverage-item`,children:[(0,z.jsx)(`span`,{className:`coverage-dot`,style:{background:`#c084fc`}}),(0,z.jsx)(`span`,{className:`coverage-nums`,children:Math.round(N.fallbackPriced)}),` `,`fallback-priced`]}),(0,z.jsxs)(`span`,{className:`coverage-item`,children:[(0,z.jsx)(`span`,{className:`coverage-dot`,style:{background:`#64748b`}}),(0,z.jsx)(`span`,{className:`coverage-nums`,children:Math.round(N.unpriced)}),` `,`unpriced`]})]})]})}function pV({data:e,heatmap:t,daily:n,families:r,repos:i,models:a,range:o=`total`,onPresentationSettledChange:s=null,ingestProgress:c=0,isIngestActive:l=!1,currentDateBucket:u=null,clockNowMs:d=null,onDailyDebugStatsChange:f=null,onPresentationDateRangeChange:p=null,onNavigateToDailyDay:m,onNavigateToRepo:h,onNavigateToModel:g}){return(0,z.jsx)(fV,{presentation:TB({overview:e,heatmap:t,daily:n,families:r,repos:i,models:a,range:o},{duration:qz,onSettledChange:s,ingestProgress:c,isIngestActive:l,clockNowMs:d}),rawPresentation:b.useMemo(()=>yB({overview:e,heatmap:t,daily:n,families:r,repos:i,models:a,range:o}),[e,t,n,r,i,a,o]),fullDaily:b.useMemo(()=>GB(n),[n]),sourceDailyRows:n,range:o,ingestProgress:c,isIngestActive:l,currentDateBucket:u,onDailyDebugStatsChange:f,onPresentationDateRangeChange:p,onNavigateToDailyDay:m,onNavigateToRepo:h,onNavigateToModel:g})}function mV(e,t){return e.data===t.data&&e.heatmap===t.heatmap&&e.daily===t.daily&&e.families===t.families&&e.repos===t.repos&&e.models===t.models&&e.range===t.range&&e.onPresentationSettledChange===t.onPresentationSettledChange&&e.ingestProgress===t.ingestProgress&&e.isIngestActive===t.isIngestActive&&e.currentDateBucket===t.currentDateBucket&&e.clockNowMs===t.clockNowMs&&e.onDailyDebugStatsChange===t.onDailyDebugStatsChange&&e.onPresentationDateRangeChange===t.onPresentationDateRangeChange&&e.onNavigateToDailyDay===t.onNavigateToDailyDay&&e.onNavigateToRepo===t.onNavigateToRepo&&e.onNavigateToModel===t.onNavigateToModel}var hV=(0,b.memo)(pV,mV);function gV(e){return bV(e)}function _V(e,t,n,r=null){if(r!=null)return Math.max(0,Math.round(r));let i=Math.max(0,Math.round(n??0)),a=Math.max(i,Math.round(t??i)),o=bV(e);return Math.round(a+(i-a)*o)}function vV(e,t=!1){if(!t)return[`48%`,`72%`];let n=.9+bV(e)*.1;return[`${yV(48*n)}%`,`${yV(72*n)}%`]}function yV(e){return Math.round(e*100)/100}function bV(e){let t=Math.max(Iz.videoExport?.chartIntroWindowMs??2200,1),n=Math.max(e||0,0),r=t/3;return Math.min(1,1-Math.exp(-n/Math.max(r,1)))}function xV(e,t){return e==="default"?t:e}function SV(e,t=`tokens`){return Object.entries(e||{}).map(([e,t])=>({key:e,...t})).sort((e,n)=>(n[t]||0)-(e[t]||0))}function CV({title:e,rows:t,valueKey:n=`tokens`,colorForKey:r,valueFormatter:i,chartMode:a=`default`,defaultMode:o=`bar`,emptyLabel:s=`No data`,renderTitleInChart:c=!0,barLabelProgress:l=1}){let u=xV(a,o),d=(t||[]).map((e,t)=>{let n=e?.key??e?.repo_label??e?.model_name??e?.family??null;return n?{...e,key:String(n),_idx:t}:null}).filter(Boolean),f={xAxis:{show:!1},yAxis:{show:!1},series:[],graphic:{type:`text`,left:`center`,top:`60%`,style:{text:s,fill:`#484f58`,fontSize:11}}};if(c&&(f.title={text:e,left:`center`,top:`middle`,textStyle:{fontSize:12,color:`#484f58`,fontWeight:`normal`}}),!d.length)return f;if(u===`donut`){let t=d.reduce((e,t)=>e+(t[n]||0),0),a={backgroundColor:`transparent`,...zz,tooltip:{trigger:`item`,appendToBody:!0,confine:!0,formatter:e=>`${e.name}: ${i(e.value)} (${e.percent}%)`},series:[{type:`pie`,...zz,radius:[`40%`,`62%`],center:[`50%`,`52%`],label:{show:!0,color:`#8b949e`,fontSize:10,formatter:`{b}`,overflow:`truncate`,width:90,...Rz},labelLine:{lineStyle:{color:`#30363d`}},itemStyle:{borderColor:`#161b22`,borderWidth:2},data:d.map(e=>{let i=e[n]||0,a=(t>0?i/t:0)>=.01;return{name:e.key,value:i,itemStyle:{color:r(e.key)},label:{show:a,color:r(e.key)},labelLine:{show:a}}})}]};return c&&(a.title={text:e,left:`center`,top:8,textStyle:{fontSize:11,color:`#8b949e`,fontWeight:`normal`}}),a}let p=[...d].reverse(),m=Math.max(...d.map(e=>e[n]||0),0),h={backgroundColor:`transparent`,...Bz,tooltip:{trigger:`axis`,axisPointer:{type:`shadow`},appendToBody:!0,confine:!0,formatter:e=>{let t=p[e?.[0]?.dataIndex];return t?`${t.key}: ${i(t[n]||0)}`:``}},grid:{left:65,right:50,top:c?35:20,bottom:20},xAxis:{type:`value`,splitNumber:4,max:m||1,axisLabel:{formatter:e=>i(e),color:`#484f58`,fontSize:10,showMinLabel:!0,showMaxLabel:!0},splitLine:{lineStyle:{color:[`transparent`,`#21262d`,`#21262d`,`#21262d`,`transparent`]}}},yAxis:{type:`category`,data:p.map(e=>e.key),axisLabel:{color:`#8b949e`,fontSize:10,overflow:`truncate`,width:55},axisTick:{show:!1},axisLine:{show:!1}},series:[{type:`bar`,data:p.map(e=>({value:e[n]||0,itemStyle:{color:r(e.key),borderRadius:[0,3,3,0]}})),barMaxWidth:14,label:{show:!0,position:`right`,formatter:e=>i((e.value??0)*l),color:`#8b949e`,fontSize:9,...Vz}}]};return c&&(h.title={text:e,left:`center`,top:8,textStyle:{fontSize:11,color:`#8b949e`,fontWeight:`normal`}}),h}uk([FN,iP,zI,nR,aR,Mz]);function wV(e){return Nz(e)}function TV(e){return e==null||e===0?`—`:e>=1e3?`$`+(e/1e3).toFixed(1)+`K`:`$`+e.toFixed(2)}var EV=[`all`,`review`,`exploration`,`planning`,`memory`,`generic`],DV=[`review`,`exploration`,`planning`,`memory`,`generic`];function OV(e){if(!e.current)return;let t=e.current.getEchartsInstance().getDataURL({type:`png`,pixelRatio:2,backgroundColor:`#06080f`});Object.assign(document.createElement(`a`),{href:t,download:`codexmeter-repos.png`}).click()}function kV(e,t=`total`){let n=e?.data;return Array.isArray(n)?n:n?.[t]||n?.total||[]}function AV({repo:e,chartMode:t}){let[n,r]=(0,b.useState)(!1),i=(0,b.useMemo)(()=>SV(e.by_model),[e.by_model]),a=(0,b.useMemo)(()=>SV(e.by_family),[e.by_family]),o=CV({title:`Models in repo`,rows:i,valueKey:`tokens`,colorForKey:Ue,valueFormatter:wV,chartMode:t,defaultMode:`donut`,renderTitleInChart:!1}),s=CV({title:`Work type in repo`,rows:a,valueKey:`tokens`,colorForKey:We,valueFormatter:wV,chartMode:t,defaultMode:`donut`,renderTitleInChart:!1}),c=[...i.slice(0,4).map(e=>({...e,scope:`model`})),...a.slice(0,4).map(e=>({...e,scope:`family`}))];return(0,z.jsxs)(`div`,{className:`model-detail-wrap`,children:[(0,z.jsxs)(`div`,{className:`model-detail-charts`,children:[(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Models in repo`}),(0,z.jsx)(Ae,{echarts:VA,option:o,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]}),(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Work type in repo`}),(0,z.jsx)(Ae,{echarts:VA,option:s,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]})]}),(0,z.jsx)(`div`,{className:`model-detail-footer`,children:(0,z.jsxs)(`button`,{type:`button`,className:`model-detail-toggle`,onClick:()=>r(e=>!e),"aria-expanded":n,children:[(0,z.jsx)(`span`,{className:`model-detail-toggle-text`,children:n?`Hide details`:`Show details`}),(0,z.jsx)(`span`,{className:`model-detail-toggle-arrow ${n?`expanded`:``}`,"aria-hidden":!0,children:`▼`})]})}),(0,z.jsx)(`div`,{className:`model-detail-summary-wrap ${n?`expanded`:``}`,children:(0,z.jsx)(`div`,{className:`model-detail-summary`,children:c.map(e=>(0,z.jsxs)(`div`,{className:`model-detail-summary-card`,children:[(0,z.jsxs)(`div`,{className:`model-detail-summary-head`,children:[(0,z.jsx)(`span`,{className:`model-detail-swatch`,style:{background:e.scope===`model`?Ue(e.key):We(e.key)}}),(0,z.jsx)(`span`,{className:`model-detail-summary-name`,title:e.key,children:e.key})]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[wV(e.tokens),` tokens`]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[e.sessions||0,` sessions`]}),(0,z.jsx)(`div`,{className:`model-detail-summary-line`,children:TV(e.cost)})]},`${e.scope}-${e.key}`))})})]})}function jV({data:e,range:t=`total`,chartMode:n=`default`,focusRequest:r=null,onFocusRequestConsumed:i}){let[a,o]=(0,b.useState)(`all`),[s,c]=(0,b.useState)(null),l=(0,b.useRef)(null),u=(0,b.useRef)(null),d=(0,b.useMemo)(()=>kV(e,t),[e,t]),f=(0,b.useMemo)(()=>d?.length?a===`all`?d:d.map(e=>{let t=e.by_family?.[a];return t?{...e,tokens:t.tokens,cost:t.cost,sessions:t.sessions}:null}).filter(Boolean).sort((e,t)=>t.tokens-e.tokens):[],[d,a]);if((0,b.useEffect)(()=>{s&&(f.some(e=>e.repo_key===s)||c(null))},[s,f]),(0,b.useEffect)(()=>{if(!r){u.current=null;return}let{id:e,repoLabel:t}=r;if(!t||u.current===e)return;let n=d.find(e=>e.repo_label===t||e.repo_key===t);u.current=e,n&&c(n.repo_key),i?.()},[r,d,i]),!d?.length)return(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem`},children:`No data`});let p=f.slice(0,15),m=[...p].reverse(),h=Math.max(...p.map(e=>e.tokens||0),0),g=Math.max(250,p.length*28),_=(0,b.useMemo)(()=>({backgroundColor:`transparent`,...Lz,tooltip:{trigger:`axis`,axisPointer:{type:`shadow`},appendToBody:!0,confine:!0,formatter:e=>{let t=p[p.length-1-e[0].dataIndex];return t?`<b>${t.repo_label}</b><br/>Tokens: ${wV(t.tokens)}<br/>Cost: ${TV(t.cost)}<br/>Sessions: ${t.sessions}`:``}},grid:{left:150,right:50,top:8,bottom:8},xAxis:{type:`value`,splitNumber:4,max:h||1,axisLabel:{formatter:e=>wV(e),color:`#484f58`,showMinLabel:!0,showMaxLabel:!0},splitLine:{lineStyle:{color:[`transparent`,`#21262d`,`#21262d`,`#21262d`,`transparent`]}}},yAxis:{type:`category`,data:m.map(e=>e.repo_label),axisLabel:{color:`#8b949e`,fontSize:11},axisTick:{show:!1},axisLine:{show:!1}},series:[{id:`repos-range-bars`,type:`bar`,universalTransition:!0,data:m.map(e=>({id:e.repo_key,name:e.repo_label,value:e.tokens,itemStyle:{color:ze(e.repo_label),borderRadius:[0,3,3,0]}})),barMaxWidth:16,label:{show:!0,position:`right`,formatter:e=>wV(e.value??0),color:`#8b949e`,fontSize:10,...Rz}}]}),[h,m,p]),v=(0,b.useMemo)(()=>({click:e=>{if(e?.componentType===`series`&&e?.dataIndex!=null){let t=p[p.length-1-e.dataIndex];t&&c(e=>e===t.repo_key?null:t.repo_key)}}}),[p]);return(0,z.jsxs)(`div`,{className:`animate-in`,children:[(0,z.jsxs)(`div`,{className:`section-header`,children:[(0,z.jsx)(`span`,{className:`section-title`,children:`Repos`}),(0,z.jsx)(`div`,{className:`btn-group`,children:EV.map(e=>(0,z.jsx)(`button`,{className:`btn ${a===e?`active`:``}`,onClick:()=>o(e),children:e},e))})]}),(0,z.jsxs)(`div`,{className:`chart-card`,children:[(0,z.jsx)(`button`,{className:`export-btn`,onClick:()=>OV(l),children:`PNG`}),(0,z.jsx)(`div`,{style:{height:g,transition:`height 220ms cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,z.jsx)(Ae,{ref:l,echarts:VA,option:_,style:{height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1,onEvents:v})})]}),(0,z.jsx)(`div`,{className:`table-wrap`,children:(0,z.jsxs)(`table`,{children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{children:`Repo`}),(0,z.jsx)(`th`,{children:`Tokens`}),(0,z.jsx)(`th`,{children:`Cost`}),(0,z.jsx)(`th`,{children:`Sessions`}),(0,z.jsx)(`th`,{style:{width:200},children:`Families`})]})}),(0,z.jsx)(`tbody`,{children:f.map(e=>(0,z.jsxs)(b.Fragment,{children:[(0,z.jsxs)(`tr`,{onClick:()=>c(s===e.repo_key?null:e.repo_key),style:{cursor:`pointer`},children:[(0,z.jsxs)(`td`,{style:{fontWeight:500,color:`var(--text-primary)`},children:[(0,z.jsx)(`span`,{style:{display:`inline-block`,width:8,height:8,borderRadius:2,background:ze(e.repo_label),marginRight:8}}),e.repo_label]}),(0,z.jsx)(`td`,{style:{fontFamily:`var(--font-mono)`},children:wV(e.tokens)}),(0,z.jsx)(`td`,{style:{fontFamily:`var(--font-mono)`},children:TV(e.cost)}),(0,z.jsx)(`td`,{children:e.sessions}),(0,z.jsx)(`td`,{children:Object.entries(e.by_family||{}).sort(([e],[t])=>{let n=DV.indexOf(e),r=DV.indexOf(t);return(n===-1?999:n)-(r===-1?999:r)}).slice(0,3).map(([e])=>(0,z.jsx)(`span`,{className:`tag tag-${e}`,style:{marginRight:3},children:e},e))})]}),s===e.repo_key&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:5,style:{background:`var(--bg-surface)`,padding:`0.75rem 1rem`},children:(0,z.jsx)(AV,{repo:e,chartMode:n})})})]},e.repo_key))})]})})]})}uk([FN,iP,zI,nR,aR,Mz]);function MV(e){return Nz(e)}function NV(e){return e==null||e===0?`—`:e>=1e3?`$`+(e/1e3).toFixed(1)+`K`:`$`+e.toFixed(2)}var PV=[`low`,`medium`,`high`,`xhigh`,`unknown`];function FV(e){return[...e].sort(([e],[t])=>{let n=PV.indexOf((e||``).toLowerCase()),r=PV.indexOf((t||``).toLowerCase());return(n===-1?999:n)-(r===-1?999:r)})}function IV({model:e,fmt:t,chartMode:n}){let[r,i]=(0,b.useState)(!1),a=(0,b.useMemo)(()=>FV(Object.entries(e.by_effort||{})),[e.by_effort]);if(!a.length)return null;let o=a.map(([e,t])=>({effort:e,sessions:t.sessions,tokens:t.tokens,avgTokens:t.sessions?Math.round(t.tokens/t.sessions):0,cost:t.cost,exactPriced:t.exact_priced||0,fallbackPriced:t.heuristic_priced||0})),s=o.map(e=>({key:e.effort,sessions:e.sessions,tokens:e.tokens,avgTokens:e.avgTokens})),c=CV({title:`Sessions by effort`,rows:s,valueKey:`sessions`,colorForKey:Ge,valueFormatter:e=>Math.round(e).toLocaleString(),chartMode:n,defaultMode:`donut`,renderTitleInChart:!1}),l=CV({title:`Tokens by effort`,rows:s,valueKey:`tokens`,colorForKey:Ge,valueFormatter:t,chartMode:n,defaultMode:`donut`,renderTitleInChart:!1}),u=CV({title:`Avg tokens per session`,rows:s,valueKey:`avgTokens`,colorForKey:Ge,valueFormatter:t,chartMode:n,defaultMode:`bar`,renderTitleInChart:!1});return(0,z.jsxs)(`div`,{className:`model-detail-wrap`,children:[(0,z.jsxs)(`div`,{className:`model-detail-charts`,children:[(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Sessions by effort`}),(0,z.jsx)(Ae,{echarts:VA,option:c,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]}),(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Tokens by effort`}),(0,z.jsx)(Ae,{echarts:VA,option:l,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]}),(0,z.jsxs)(`div`,{className:`model-detail-bar`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Avg tokens per session`}),(0,z.jsx)(Ae,{echarts:VA,option:u,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]})]}),(0,z.jsx)(`div`,{className:`model-detail-footer`,children:(0,z.jsxs)(`button`,{type:`button`,className:`model-detail-toggle`,onClick:()=>i(e=>!e),"aria-expanded":r,children:[(0,z.jsx)(`span`,{className:`model-detail-toggle-text`,children:r?`Hide details`:`Show details`}),(0,z.jsx)(`span`,{className:`model-detail-toggle-arrow ${r?`expanded`:``}`,"aria-hidden":!0,children:`▼`})]})}),(0,z.jsx)(`div`,{className:`model-detail-summary-wrap ${r?`expanded`:``}`,children:(0,z.jsx)(`div`,{className:`model-detail-summary`,children:o.map(e=>(0,z.jsxs)(`div`,{className:`model-detail-summary-card`,children:[(0,z.jsxs)(`div`,{className:`model-detail-summary-head`,children:[(0,z.jsx)(`span`,{className:`model-detail-swatch`,style:{background:Ge(e.effort)}}),(0,z.jsx)(`span`,{className:`model-detail-summary-name`,title:e.effort,children:e.effort})]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[e.sessions,` sessions`]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[t(e.tokens),` tokens`]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[t(e.avgTokens),` avg/session`]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[NV(e.cost),` cost`]}),(0,z.jsxs)(`div`,{className:`model-detail-summary-line`,children:[e.exactPriced,` exact · `,e.fallbackPriced,` fallback`]})]},e.effort))})})]})}function LV(e){if(!e.current)return;let t=e.current.getEchartsInstance().getDataURL({type:`png`,pixelRatio:2,backgroundColor:`#06080f`});Object.assign(document.createElement(`a`),{href:t,download:`codexmeter-models.png`}).click()}function RV(e,t=`total`){let n=e?.data;return Array.isArray(n)?n:n?.[t]||n?.total||[]}function zV({data:e,range:t=`total`,chartMode:n=`default`,focusRequest:r=null,onFocusRequestConsumed:i}){let[a,o]=(0,b.useState)(null),s=(0,b.useRef)(null),c=(0,b.useRef)(null),l=(0,b.useMemo)(()=>RV(e,t),[e,t]);if((0,b.useEffect)(()=>{a&&(l.some(e=>e.model_name===a)||o(null))},[a,l]),(0,b.useEffect)(()=>{if(!r){c.current=null;return}let{id:e,modelName:t}=r;if(!t||c.current===e)return;let n=l.find(e=>e.model_name===t);c.current=e,n&&o(n.model_name),i?.()},[r,l,i]),!l?.length)return(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem`},children:`No data`});let u=[...l].reverse(),d=Math.max(...l.map(e=>e.tokens||0),0),f=Math.max(180,l.length*34),p=(0,b.useMemo)(()=>({backgroundColor:`transparent`,...Lz,tooltip:{trigger:`axis`,axisPointer:{type:`shadow`},appendToBody:!0,confine:!0,formatter:e=>{let t=l[l.length-1-e[0].dataIndex];return`<b>${t.model_name}</b><br/>Tokens: ${MV(t.tokens)}<br/>Cost: ${NV(t.cost)}<br/>Sessions: ${t.sessions}`}},grid:{left:160,right:50,top:8,bottom:8},xAxis:{type:`value`,splitNumber:4,max:d||1,axisLabel:{formatter:e=>MV(e),color:`#484f58`,fontSize:10,showMinLabel:!0,showMaxLabel:!0},splitLine:{lineStyle:{color:[`transparent`,`#21262d`,`#21262d`,`#21262d`,`transparent`]}}},yAxis:{type:`category`,data:u.map(e=>e.model_name),axisLabel:{color:`#8b949e`,fontSize:11},axisTick:{show:!1},axisLine:{show:!1}},series:[{id:`models-range-bars`,type:`bar`,universalTransition:!0,data:u.map(e=>({id:e.model_name,name:e.model_name,value:e.tokens,itemStyle:{color:Ue(e.model_name),borderRadius:[0,3,3,0]}})),barMaxWidth:18,label:{show:!0,position:`right`,formatter:e=>MV(e.value??0),color:`#8b949e`,fontSize:10,...Rz}}]}),[d,l,u]),m=(0,b.useMemo)(()=>({click:e=>{if(e?.componentType===`series`&&e?.dataIndex!=null){let t=l[l.length-1-e.dataIndex];t&&o(e=>e===t.model_name?null:t.model_name)}}}),[l]);return(0,z.jsxs)(`div`,{className:`animate-in`,children:[(0,z.jsx)(`div`,{className:`section-header`,children:(0,z.jsx)(`span`,{className:`section-title`,children:`Models`})}),(0,z.jsxs)(`div`,{className:`chart-card`,children:[(0,z.jsx)(`button`,{className:`export-btn`,onClick:()=>LV(s),children:`PNG`}),(0,z.jsx)(`div`,{style:{height:f,transition:`height 220ms cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,z.jsx)(Ae,{ref:s,echarts:VA,option:p,style:{height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1,onEvents:m})})]}),(0,z.jsx)(`div`,{className:`table-wrap`,children:(0,z.jsxs)(`table`,{children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{children:`Model`}),(0,z.jsx)(`th`,{children:`Tokens`}),(0,z.jsx)(`th`,{children:`Cost`}),(0,z.jsx)(`th`,{children:`Sessions`}),(0,z.jsx)(`th`,{children:`Effort Levels`})]})}),(0,z.jsx)(`tbody`,{children:l.map(e=>(0,z.jsxs)(b.Fragment,{children:[(0,z.jsxs)(`tr`,{onClick:()=>o(a===e.model_name?null:e.model_name),style:{cursor:`pointer`},children:[(0,z.jsxs)(`td`,{style:{fontWeight:500,color:`var(--text-primary)`,fontFamily:`var(--font-mono)`},children:[(0,z.jsx)(`span`,{style:{display:`inline-block`,width:8,height:8,borderRadius:2,background:Ue(e.model_name),marginRight:8}}),e.model_name]}),(0,z.jsx)(`td`,{style:{fontFamily:`var(--font-mono)`},children:MV(e.tokens)}),(0,z.jsx)(`td`,{style:{fontFamily:`var(--font-mono)`},children:NV(e.cost)}),(0,z.jsx)(`td`,{children:e.sessions}),(0,z.jsx)(`td`,{children:Object.keys(e.by_effort).length})]}),a===e.model_name&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:5,style:{background:`var(--bg-surface)`,padding:`0.75rem 1rem`},children:(0,z.jsx)(IV,{model:e,fmt:MV,chartMode:n})})})]},e.model_name))})]})})]})}uk([FN,Uj,iP,zI,nR,aR,jR,cz,rL,Mz]);function BV(e){return Nz(e)}function VV(e){return e==null||e===0?`$0`:`$`+e.toFixed(2)}function HV(e){return e?(e/3600).toFixed(1)+`h`:`0h`}var UV=[{key:`tokens`,label:`Tokens`,fn:BV},{key:`elapsed_seconds`,label:`Time`,fn:HV},{key:`cost`,label:`Cost`,fn:VV}],WV=[{key:`model`,label:`By Model`},{key:`family`,label:`By Work`}],GV=[{key:`absolute`,label:`Absolute`},{key:`relative`,label:`Relative`}];function KV(e){if(!e.current)return;let t=e.current.getEchartsInstance().getDataURL({type:`png`,pixelRatio:2,backgroundColor:`#06080f`});Object.assign(document.createElement(`a`),{href:t,download:`codexmeter-daily.png`}).click()}function qV(e,t){if(!t)return{startValue:0,endValue:0};let n=t;return e===`d7`&&(n=7),e===`d30`&&(n=30),{startValue:t-Math.max(1,Math.min(n,t)),endValue:t-1}}var JV=280,YV={left:70,right:20,bottom:12,height:24};function XV(e,t,n){let r=e?.batch?.[0]??e,i=Math.max(0,t.length-1),a,o;return r&&typeof r.startValue==`number`&&typeof r.endValue==`number`?(a=r.startValue,o=r.endValue):r&&typeof r.start==`number`&&typeof r.end==`number`&&t.length?(a=Math.round(r.start/100*i),o=Math.round(r.end/100*i)):r&&typeof r.startValue==`string`&&typeof r.endValue==`string`&&t.length?(a=t.indexOf(r.startValue),o=t.indexOf(r.endValue),a<0&&(a=n.startValue),o<0&&(o=n.endValue)):(a=n.startValue,o=n.endValue),a=Math.max(0,Math.min(i,Math.floor(a))),o=Math.max(0,Math.min(i,Math.floor(o))),a>o?{startValue:o,endValue:a}:{startValue:a,endValue:o}}function ZV(e,t,n,r,i){if(cancelAnimationFrame(r.current),r.current=0,Math.round(e.startValue)===Math.round(t.startValue)&&Math.round(e.endValue)===Math.round(t.endValue))return;let a=0,o=s=>{a||=s;let c=Math.min(1,(s-a)/i),l=1-(1-c)**3;n({startValue:Math.round(e.startValue+(t.startValue-e.startValue)*l),endValue:Math.round(e.endValue+(t.endValue-e.endValue)*l)}),r.current=c<1?requestAnimationFrame(o):0};return r.current=requestAnimationFrame(o),()=>{cancelAnimationFrame(r.current),r.current=0}}function QV(e,t){return{left:YV.left,right:e-YV.right,top:t-YV.bottom-YV.height,bottom:t-YV.bottom}}function $V(e,t,n,r){let i=QV(e,t),a=Math.max(n-1,1),o=Math.max(0,Math.min(1,(r?.startValue??0)/a)),s=Math.max(0,Math.min(1,(r?.endValue??a)/a)),c=Math.max(0,i.right-i.left);return{...i,selectionLeft:i.left+c*Math.min(o,s),selectionRight:i.left+c*Math.max(o,s)}}function eH(e,t){return e===`d7`?44:e===`d30`?22:t<=14?36:t<=31?18:14}function tH(e,t){return e===`d7`?8:e===`d30`?3:t<=31?2:+(t<=90)}function nH(e,t){return e===`d7`?`72%`:e===`d30`?`54%`:t<=14?`64%`:t<=31?`48%`:`36%`}function rH(e,t){return e?t===`elapsed_seconds`?e.elapsed_seconds||0:t===`cost`?e.cost||0:e.tokens||0:0}function iH(e,t){if(!e)return`Day detail`;let n=UV.find(e=>e.key===t)||UV[0],r=new Date(`${e.date}T00:00:00`).toLocaleDateString(`en-US`,{weekday:`long`}),i=n.fn(rH(e,t));return`Day detail: ${r} - ${e.date} - ${n.label}: ${i}`}function aH(e,t){let n=e.length;if(n===0)return null;let r=Array(n),i=Array(n),a=[];for(let t=0;t<n;t++){for(;a.length&&e[a[a.length-1]]>=e[t];)a.pop();r[t]=a.length?a[a.length-1]:-1,a.push(t)}a.length=0;for(let t=n-1;t>=0;t--){for(;a.length&&e[a[a.length-1]]>=e[t];)a.pop();i[t]=a.length?a[a.length-1]:n,a.push(t)}let o=0,s=0;for(let t=0;t<n;t++){let n=(i[t]-r[t]-1)*e[t];n>o&&(o=n,s=t)}return[(r[s]+i[s])/2,t[s]+e[s]/2]}function oH({day:e,chartMode:t}){let n=(0,b.useMemo)(()=>SV(e.by_model),[e.by_model]),r=(0,b.useMemo)(()=>SV(e.by_repo),[e.by_repo]),i=(0,b.useMemo)(()=>SV(e.by_family),[e.by_family]),a=CV({title:`Models`,rows:n,valueKey:`tokens`,colorForKey:Ue,valueFormatter:BV,chartMode:t,defaultMode:`donut`,renderTitleInChart:!1}),o=CV({title:`Repos`,rows:r,valueKey:`tokens`,colorForKey:ze,valueFormatter:BV,chartMode:t,defaultMode:`donut`,renderTitleInChart:!1}),s=CV({title:`Work Type`,rows:i,valueKey:`tokens`,colorForKey:We,valueFormatter:BV,chartMode:t,defaultMode:`donut`,renderTitleInChart:!1});return(0,z.jsx)(`div`,{className:`model-detail-wrap`,children:(0,z.jsxs)(`div`,{className:`model-detail-charts`,children:[(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Repos`}),(0,z.jsx)(Ae,{echarts:VA,option:o,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]}),(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Models`}),(0,z.jsx)(Ae,{echarts:VA,option:a,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]}),(0,z.jsxs)(`div`,{className:`model-detail-donut`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.5rem`},children:`Work Type`}),(0,z.jsx)(Ae,{echarts:VA,option:s,style:{width:`100%`,height:`100%`},theme:`dark`,lazyUpdate:!0,notMerge:!1})]})]})})}var sH=b.memo(function({daily:e,range:t,metric:n,split:r,displayMode:i,onSelectDate:a,navigateToDayRequest:o,onNavigateToDayConsumed:s}){let[c,l]=(0,b.useState)({startValue:0,endValue:0}),u=(0,b.useRef)(null),d=(0,b.useRef)(c);d.current=c;let f=(0,b.useRef)(0),p=(0,b.useRef)(null),m=(0,b.useRef)(0),h=(0,b.useRef)(!1),g=(0,b.useRef)(null),_=(0,b.useRef)(null),v=(0,b.useRef)(0),y=(0,b.useMemo)(()=>e.map(e=>e.date),[e]),x=UV.find(e=>e.key===n),S=(0,b.useMemo)(()=>qV(t,y.length),[t,y.length]);(0,b.useEffect)(()=>{if(!y.length)return;let e=qV(t,y.length),n=_.current===null,r=!n&&_.current!==t,i=!n&&v.current!==y.length;if(_.current=t,v.current=y.length,cancelAnimationFrame(m.current),m.current=0,n){l(e);return}if(r)return ZV(d.current,e,l,m,JV);i&&l(e)},[t,y.length]),(0,b.useEffect)(()=>()=>{cancelAnimationFrame(f.current),f.current=0,g.current?.(),g.current=null},[]);let C=(0,b.useCallback)(()=>{let e=u.current?.getEchartsInstance?.();if(!e)return;g.current?.();let t=e.getZr(),n=n=>{let r=n?.offsetX??n?.zrX,i=n?.offsetY??n?.zrY;if(!Number.isFinite(r)||!Number.isFinite(i)){t.setCursorStyle(`default`);return}let a=$V(e.getWidth(),e.getHeight(),y.length,d.current);if(!(r>=a.left&&r<=a.right&&i>=a.top&&i<=a.bottom)){t.setCursorStyle(`default`);return}if(r>=a.selectionLeft&&r<=a.selectionRight){t.setCursorStyle(h.current?`grabbing`:`grab`);return}t.setCursorStyle(`ew-resize`)},r=e=>n(e),i=t=>{let r=t?.offsetX??t?.zrX,i=t?.offsetY??t?.zrY;if(!Number.isFinite(r)||!Number.isFinite(i))return;let a=$V(e.getWidth(),e.getHeight(),y.length,d.current);h.current=r>=a.selectionLeft&&r<=a.selectionRight&&i>=a.top&&i<=a.bottom,n(t)},a=e=>{h.current=!1,n(e)},o=()=>{h.current=!1,t.setCursorStyle(`default`)};t.on(`mousemove`,r),t.on(`mousedown`,i),t.on(`mouseup`,a),t.on(`globalout`,o),g.current=()=>{t.off(`mousemove`,r),t.off(`mousedown`,i),t.off(`mouseup`,a),t.off(`globalout`,o),t.setCursorStyle(`default`)}},[y.length]),w=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(!o){w.current=null;return}let{id:t,centerDate:n}=o;if(!n||!e.length||w.current===t)return;let r=e.map(e=>e.date),i=r.indexOf(n);if(i<0){s?.();return}w.current=t;let c=Math.max(0,i-3),u=Math.min(r.length-1,i+3);cancelAnimationFrame(m.current),m.current=0,l({startValue:c,endValue:u}),a(n),s?.()},[o,e,a,s]);let T=(0,b.useMemo)(()=>{if(!y.length)return 0;let e=Math.max(0,Math.min(y.length-1,Math.floor(c.startValue??S.startValue??0))),t=Math.max(e,Math.min(y.length-1,Math.floor(c.endValue??S.endValue??y.length-1)));return Math.max(1,t-e+1)},[y.length,c,S]),E=(0,b.useMemo)(()=>{if(!y.length)return{startIdx:0,endIdx:-1};let e=Math.max(0,Math.min(y.length-1,Math.floor(c.startValue??S.startValue??0)));return{startIdx:e,endIdx:Math.max(e,Math.min(y.length-1,Math.floor(c.endValue??S.endValue??y.length-1)))}},[y.length,c,S]),D=(0,b.useMemo)(()=>eH(t,T),[t,T]),O=(0,b.useMemo)(()=>tH(t,T),[t,T]),k=(0,b.useMemo)(()=>nH(t,T),[t,T]),A=(0,b.useMemo)(()=>aB(e,{split:r,metric:n}),[e,r,n]),j=A.groups,ee=(0,b.useMemo)(()=>A.series.map(e=>({name:e.key,values:e.data})),[A.series]),M=A.dayTotals,N=(0,b.useMemo)(()=>{if(!M.length||E.endIdx<E.startIdx)return 0;let e=0;for(let t=E.startIdx;t<=E.endIdx;t++)e=Math.max(e,M[t]||0);return e},[M,E]),P=i===`relative`,F=(0,b.useMemo)(()=>({dates:y,series:ee.map(e=>({key:e.name,label:e.name,data:e.values}))}),[y,ee]),I=`${n}\0${r}`,te=MB(F,!P,I),ne=(0,b.useMemo)(()=>new Map((te?.series||[]).map(e=>[e.key,e])),[te]),re=(0,b.useMemo)(()=>{if(P)return M;let e=y.length,t=Array(e).fill(0);for(let n of te?.series||[])for(let r=0;r<e;r++)t[r]+=n.data[r]||0;return t},[P,M,te,y.length]),ie=(0,b.useMemo)(()=>{if(i===`relative`)return 100;if(N)return Math.ceil(N*1.1)},[i,N]),ae=(0,b.useMemo)(()=>{if(!P)return null;if(!ee.length)return[];let e=ee.map(e=>{let t=e.values.map((e,t)=>M[t]>0?e/M[t]*100:0);for(let e=1;e<t.length;e++)M[e]===0&&(t[e]=t[e-1]);return t}),t=e[0].map(()=>0);return e.map((e,n)=>{let r=[...t];return t=t.map((t,n)=>t+e[n]),{values:e,prevStack:r}})},[P,ee,M]),oe=(0,b.useMemo)(()=>P?j.map((e,t)=>{let n=r===`model`?Ue(e):We(e);if(!ee[t])return null;let i=ae[t];return i?{id:`daily-${r}-${e}`,name:e,type:`line`,stack:`total`,smooth:.2,areaStyle:{opacity:1},lineStyle:{width:0},symbol:`none`,data:i.values,itemStyle:{color:n}}:null}).filter(Boolean):j.map(e=>{let t=r===`model`?Ue(e):We(e),n=ne.get(e)?.data??y.map(()=>0);return{id:`daily-${r}-${e}`,name:e,type:`bar`,stack:`total`,data:n,itemStyle:{color:t},barWidth:k,barMaxWidth:D,barMinWidth:O}}),[P,j,r,ae,ee,ne,y,k,D,O]),se=(0,b.useMemo)(()=>!P||!ae?[]:ae.map((e,t)=>{let n=ee[t],i=Be(r===`model`?Ue(n.name):We(n.name)),a=aH(e.values,e.prevStack);return!a||Math.max(...e.values)<8?null:{name:n.name,labelColor:i,coord:a}}).filter(Boolean),[P,ae,ee,r]),ce=(0,b.useCallback)(()=>{if(!u.current)return;let e=u.current.getEchartsInstance();if(!P||se.length===0){e.setOption({graphic:{elements:[]}},{notMerge:!1});return}let t=se.map(t=>{let[n,r]=e.convertToPixel({xAxisIndex:0,yAxisIndex:0},t.coord);return{type:`text`,left:n,top:r,style:{text:t.name,fill:t.labelColor,fontSize:10,fontWeight:500,textAlign:`center`,textVerticalAlign:`middle`},z:10,silent:!0}});e.setOption({graphic:{elements:t}},{notMerge:!1})},[P,se]);(0,b.useEffect)(()=>{let e=setTimeout(ce,150);return()=>clearTimeout(e)},[P,se,ce]),(0,b.useEffect)(()=>{let e=()=>ce();return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[ce]),(0,b.useEffect)(()=>{C()},[C,c]);let L={backgroundColor:`transparent`,tooltip:{trigger:`axis`,axisPointer:{type:P?`line`:`shadow`},appendToBody:!0,confine:!0,formatter:e=>{if(!e?.length)return``;let t=e[0]?.dataIndex,n=re,r=t==null?0:n[t],a=t;if(i===`relative`&&r===0&&t!=null){for(let e=t-1;e>=0;e--)if(n[e]>0){a=e;break}}let o=i===`relative`&&r===0?n[a]??0:r,s=`<b>${e[0]?.axisValue??``}</b><br/>`,c=[...e].filter(e=>e.value>0).sort((e,t)=>(t.value||0)-(e.value||0));for(let e of c){let t=i===`relative`?ee.find(t=>t.name===e.seriesName)?.values[a]??0:e.value;i===`relative`?s+=`${e.marker} ${e.seriesName}: ${e.value.toFixed(1)}% (${x.fn(t)})<br/>`:s+=`${e.marker} ${e.seriesName}: ${x.fn(e.value)}<br/>`}return s+=i===`relative`?`<b>Total: 100% (${x.fn(o)})</b>`:`<b>Total: ${x.fn(r)}</b>`,s}},legend:{data:j,textStyle:{color:`#8b949e`,fontSize:10},top:0,itemWidth:10,itemHeight:10},grid:{left:YV.left,right:YV.right,top:35,bottom:55},dataZoom:[{type:`slider`,startValue:c.startValue,endValue:c.endValue,left:YV.left,right:YV.right,bottom:YV.bottom,height:YV.height,borderColor:`#30363d`,fillerColor:`rgba(99, 102, 241, 0.08)`,handleStyle:{color:`#6366f1`},textStyle:{color:`#484f58`}}],xAxis:{type:`category`,data:y,boundaryGap:i!==`relative`,axisLabel:{color:`#484f58`,fontSize:10,rotate:45},axisTick:{show:!1},axisLine:{lineStyle:{color:`#30363d`}}},yAxis:{type:`value`,min:0,max:i===`relative`?100:ie,scale:!1,axisLabel:{formatter:i===`relative`?e=>e+`%`:e=>x.fn(e),color:`#484f58`},splitLine:{lineStyle:{color:`#21262d`}}},series:oe,...P?Lz:Zz};return(0,z.jsxs)(`div`,{className:`chart-card`,children:[(0,z.jsx)(`button`,{className:`export-btn`,onClick:()=>KV(u),children:`PNG`}),(0,z.jsx)(Ae,{ref:u,echarts:VA,option:L,style:{height:400},theme:`dark`,notMerge:!1,replaceMerge:[`series`,`legend`,`graphic`],lazyUpdate:!1,onChartReady:()=>{ce(),C()},onEvents:{click:e=>{let t=e?.axisValue||e?.name;t&&a(t)},datazoom:e=>{p.current=XV(e,y,d.current),f.current||=requestAnimationFrame(()=>{f.current=0,p.current&&=(l(p.current),null),P&&ce()})}}})]})});function cH({data:e,range:t=`total`,chartMode:n=`default`,navigateToDayRequest:r=null,onNavigateToDayConsumed:i}){let[a,o]=(0,b.useState)(`tokens`),[s,c]=(0,b.useState)(`model`),[l,u]=(0,b.useState)(`absolute`),[d,f]=(0,b.useState)(null);if(!e?.data?.length)return(0,z.jsx)(`div`,{style:{color:`var(--text-muted)`,padding:`2rem`},children:`No data`});let p=(0,b.useMemo)(()=>nB(e),[e]);(0,b.useEffect)(()=>{!d&&p[0]&&f(p[p.length-1]?.date||p[0]?.date)},[p,d]);let m=(0,b.useCallback)(e=>{e&&f(e)},[]),h=p.find(e=>e.date===d)||null;return(0,z.jsxs)(`div`,{className:`animate-in`,children:[(0,z.jsxs)(`div`,{className:`section-header`,children:[(0,z.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.75rem`},children:(0,z.jsx)(`span`,{className:`section-title`,children:`Daily Usage`})}),(0,z.jsxs)(`div`,{style:{display:`flex`,gap:`0.5rem`},children:[(0,z.jsx)(`div`,{className:`btn-group`,children:UV.map(e=>(0,z.jsx)(`button`,{className:`btn ${a===e.key?`active`:``}`,onClick:()=>o(e.key),children:e.label},e.key))}),(0,z.jsx)(`div`,{className:`btn-group`,children:WV.map(e=>(0,z.jsx)(`button`,{className:`btn ${s===e.key?`active`:``}`,onClick:()=>c(e.key),children:e.label},e.key))}),(0,z.jsx)(`div`,{className:`btn-group`,children:GV.map(e=>(0,z.jsx)(`button`,{className:`btn ${l===e.key?`active`:``}`,onClick:()=>u(e.key),children:e.label},e.key))})]})]}),(0,z.jsx)(sH,{daily:p,range:t,metric:a,split:s,displayMode:l,onSelectDate:m,navigateToDayRequest:r,onNavigateToDayConsumed:i}),h&&(0,z.jsxs)(`div`,{className:`chart-card`,children:[(0,z.jsx)(`div`,{className:`chart-title`,style:{marginBottom:`0.75rem`},children:iH(h,a)}),(0,z.jsx)(oH,{day:h,chartMode:n})]})]})}function lH(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function uH(e,t){return typeof e==`function`?e(t):e}function dH(e,t){return n=>{t.setState(t=>({...t,[e]:uH(n,t[e])}))}}function fH(e){return e instanceof Function}function pH(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function mH(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function hH(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
|
|
29
29
|
font-size: .6rem;
|
|
30
30
|
font-weight: bold;
|
|
31
|
-
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function gH(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function _H(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:hH(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),gH(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function vH(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:hH(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],gH(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:hH(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},gH(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var yH=`debugHeaders`;function bH(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var xH={createTable:e=>{e.getHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return SH(t,[...a,...s,...o],e)},gH(e.options,yH,`getHeaderGroups`)),e.getCenterHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),SH(t,n,e,`center`)),gH(e.options,yH,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>SH(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),gH(e.options,yH,`getLeftHeaderGroups`)),e.getRightHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>SH(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),gH(e.options,yH,`getRightHeaderGroups`)),e.getFooterGroups=hH(()=>[e.getHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getFooterGroups`)),e.getLeftFooterGroups=hH(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getLeftFooterGroups`)),e.getCenterFooterGroups=hH(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getCenterFooterGroups`)),e.getRightFooterGroups=hH(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getRightFooterGroups`)),e.getFlatHeaders=hH(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getFlatHeaders`)),e.getLeftFlatHeaders=hH(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=hH(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getCenterFlatHeaders`)),e.getRightFlatHeaders=hH(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getRightFlatHeaders`)),e.getCenterLeafHeaders=hH(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=hH(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getLeftLeafHeaders`)),e.getRightLeafHeaders=hH(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getRightLeafHeaders`)),e.getLeafHeaders=hH(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),gH(e.options,yH,`getLeafHeaders`))}};function SH(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=bH(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>bH(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var CH=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>mH(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:hH(()=>[e.getAllLeafColumns()],t=>t.map(t=>_H(e,s,t,t.id)),gH(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:hH(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),gH(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},wH={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},TH=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};TH.autoRemove=e=>FH(e);var EH=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};EH.autoRemove=e=>FH(e);var DH=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};DH.autoRemove=e=>FH(e);var OH=(e,t,n)=>e.getValue(t)?.includes(n);OH.autoRemove=e=>FH(e);var kH=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});kH.autoRemove=e=>FH(e)||!(e!=null&&e.length);var AH=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));AH.autoRemove=e=>FH(e)||!(e!=null&&e.length);var jH=(e,t,n)=>e.getValue(t)===n;jH.autoRemove=e=>FH(e);var MH=(e,t,n)=>e.getValue(t)==n;MH.autoRemove=e=>FH(e);var NH=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};NH.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},NH.autoRemove=e=>FH(e)||FH(e[0])&&FH(e[1]);var PH={includesString:TH,includesStringSensitive:EH,equalsString:DH,arrIncludes:OH,arrIncludesAll:kH,arrIncludesSome:AH,equals:jH,weakEquals:MH,inNumberRange:NH};function FH(e){return e==null||e===``}var IH={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:dH(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?PH.includesString:typeof n==`number`?PH.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?PH.equals:Array.isArray(n)?PH.arrIncludes:PH.weakEquals},e.getFilterFn=()=>fH(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??PH[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=uH(n,i?i.value:void 0);if(LH(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>uH(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&LH(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function LH(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var RH={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!pH(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},zH={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:dH(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return RH.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return RH.extent},e.getAggregationFn=()=>{if(!e)throw Error();return fH(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??RH[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function BH(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var VH={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:dH(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=hH(e=>[QH(t,e)],t=>t.findIndex(t=>t.id===e.id),gH(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>QH(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=QH(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=hH(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return BH(i,t,n)},gH(e.options,`debugTable`,`_getOrderColumnsFn`))}},HH=()=>({left:[],right:[]}),UH={getInitialState:e=>({columnPinning:HH(),...e}),getDefaultOptions:e=>({onColumnPinningChange:dH(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},gH(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),gH(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),gH(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?HH():e.initialState?.columnPinning??HH()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),gH(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),gH(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},gH(e.options,`debugColumns`,`getCenterLeafColumns`))}};function WH(e){return e||(typeof document<`u`?document:null)}var GH={size:150,minSize:20,maxSize:2**53-1},KH=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),qH={getDefaultColumnDef:()=>GH,getInitialState:e=>({columnSizing:{},columnSizingInfo:KH(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:dH(`columnSizing`,e),onColumnSizingInfoChange:dH(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??GH.minSize,n??e.columnDef.size??GH.size),e.columnDef.maxSize??GH.maxSize)},e.getStart=hH(e=>[e,QH(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),gH(t.options,`debugColumns`,`getStart`)),e.getAfter=hH(e=>[e,QH(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),gH(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),XH(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=XH(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=WH(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=YH()?{passive:!1}:!1;XH(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?KH():e.initialState.columnSizingInfo??KH())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},JH=null;function YH(){if(typeof JH==`boolean`)return JH;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return JH=e,JH}function XH(e){return e.type===`touchstart`}var ZH={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:dH(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=hH(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),gH(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=hH(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],gH(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>hH(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),gH(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function QH(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var $H={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},eU={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:dH(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>PH.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return fH(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??PH[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},tU={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:dH(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},nU=0,rU=10,iU=()=>({pageIndex:nU,pageSize:rU}),aU={getInitialState:e=>({...e,pagination:{...iU(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:dH(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>uH(t,e)),e.resetPagination=t=>{e.setPagination(t?iU():e.initialState.pagination??iU())},e.setPageIndex=t=>{e.setPagination(n=>{let r=uH(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?nU:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??nU)},e.resetPageSize=t=>{var n;e.setPageSize(t?rU:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??rU)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,uH(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=uH(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=hH(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},gH(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},oU=()=>({top:[],bottom:[]}),sU={getInitialState:e=>({rowPinning:oU(),...e}),getDefaultOptions:e=>({onRowPinningChange:dH(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?oU():e.initialState?.rowPinning??oU()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),gH(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),gH(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},gH(e.options,`debugRows`,`getCenterRows`))}},cU={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:dH(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{lU(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return lU(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return dU(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return fU(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return fU(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},lU=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>lU(e,t.id,n,r,i))};function uU(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=dU(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function dU(e,t){return t[e.id]??!1}function fU(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(dU(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=fU(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var pU=/([0-9]+)/gm,mU=(e,t,n)=>SU(xU(e.getValue(n)).toLowerCase(),xU(t.getValue(n)).toLowerCase()),hU=(e,t,n)=>SU(xU(e.getValue(n)),xU(t.getValue(n))),gU=(e,t,n)=>bU(xU(e.getValue(n)).toLowerCase(),xU(t.getValue(n)).toLowerCase()),_U=(e,t,n)=>bU(xU(e.getValue(n)),xU(t.getValue(n))),vU=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},yU=(e,t,n)=>bU(e.getValue(n),t.getValue(n));function bU(e,t){return e===t?0:e>t?1:-1}function xU(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function SU(e,t){let n=e.split(pU).filter(Boolean),r=t.split(pU).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var CU={alphanumeric:mU,alphanumericCaseSensitive:hU,text:gU,textCaseSensitive:_U,datetime:vU,basic:yU},wU=[xH,ZH,VH,UH,wH,IH,$H,eU,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:dH(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return CU.datetime;if(typeof n==`string`&&(r=!0,n.split(pU).length>1))return CU.alphanumeric}return r?CU.text:CU.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return fH(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??CU[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},zH,tU,aU,sU,cU,qH];function TU(e){let t=[...wU,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(uH(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:hH(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),gH(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:hH(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=vH(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},gH(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:hH(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),gH(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:hH(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),gH(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:hH(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),gH(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function EU(){return e=>hH(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=CH(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},gH(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function DU(){return e=>hH(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;let r=e.getState().sorting,i=[],a=r.filter(t=>e.getColumn(t.id)?.getCanSort()),o={};a.forEach(t=>{let n=e.getColumn(t.id);n&&(o[t.id]={sortUndefined:n.columnDef.sortUndefined,invertSorting:n.columnDef.invertSorting,sortingFn:n.getSortingFn()})});let s=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<a.length;n+=1){let r=a[n],i=o[r.id],s=i.sortUndefined,c=r?.desc??!1,l=0;if(s){let n=e.getValue(r.id),i=t.getValue(r.id),a=n===void 0,o=i===void 0;if(a||o){if(s===`first`)return a?-1:1;if(s===`last`)return a?1:-1;l=a&&o?0:a?s:-s}}if(l===0&&(l=i.sortingFn(e,t,r.id)),l!==0)return c&&(l*=-1),i.invertSorting&&(l*=-1),l}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),(t=e.subRows)!=null&&t.length&&(e.subRows=s(e.subRows))}),t};return{rows:s(n.rows),flatRows:i,rowsById:n.rowsById}},gH(e.options,`debugTable`,`getSortedRowModel`,()=>e._autoResetPageIndex()))}function OU(e,t){return e?kU(e)?b.createElement(e,t):e:null}function kU(e){return AU(e)||typeof e==`function`||jU(e)}function AU(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function jU(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function MU(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=b.useState(()=>({current:TU(t)})),[r,i]=b.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}var NU=_();function PU(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function FU(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function IU(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var LU=(e,t)=>Math.abs(e-t)<1.01,RU=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},zU,BU=()=>{if(zU!==void 0)return zU;if(typeof navigator>`u`)return zU=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return zU=!0;let e=navigator.maxTouchPoints;return zU=navigator.platform===`MacIntel`&&e!==void 0&&e>0},VU=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},HU=e=>e,UU=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},WU=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(VU(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(VU(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},GU={passive:!0},KU=typeof window>`u`?!0:`onscrollend`in window,qU=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&KU,o=0,s=a?null:RU(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,GU),a&&r.addEventListener(`scrollend`,u,GU),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},JU=(e,t)=>qU(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),YU=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},XU=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},ZU=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:HU,rangeExtractor:UU,onChange:()=>{},measureElement:YU,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=FU(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!BU()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,GU),e.addEventListener(`touchend`,n,GU),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(BU()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=FU(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=FU(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=PU(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=FU(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?$U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:r===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=FU(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=FU(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return IU(t[QU(0,t.length-1,r?e=>n[e*2]:e=>IU(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(BU()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&LU(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},QU=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function $U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:i}){let a=e.length-1,o=i?e=>i[e*2]:t=>e[t].start,s=i?e=>i[e*2]+i[e*2+1]:t=>e[t].end;if(e.length<=r)return{startIndex:0,endIndex:a};let c=QU(0,a,o,n),l=c;if(r===1)for(;l<a&&s(l)<n+t;)l++;else if(r>1){let i=Array(r).fill(0);for(;l<a&&i.some(e=>e<n+t);){let t=e[l];i[t.lane]=t.end,l++}let o=Array(r).fill(n+t);for(;c>=0&&o.some(e=>e>=n);){let t=e[c];o[t.lane]=t.start,c--}c=Math.max(0,c-c%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:c,endIndex:l}}var eW=typeof document<`u`?b.useLayoutEffect:b.useEffect;function tW({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=b.useReducer(e=>e+1,0)[1],a=b.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,NU.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=b.useState(()=>{let e=new ZU(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),eW(()=>c._didMount(),[]),eW(()=>c._willUpdate()),eW(()=>{o(c)}),c}function nW(e){return tW({observeElementRect:WU,observeElementOffset:JU,scrollToFn:XU,...e})}function rW(e){return Nz(e)}function iW(e){return e==null?`—`:`$`+e.toFixed(2)}function aW(e){if(!e||e<=0)return`—`;let t=Math.floor(e/60),n=Math.floor(t/60);return n>0?`${n}h ${t%60}m`:`${t}m`}function oW(e){return e?new Date(e*1e3).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):`—`}var sW=lH(),cW={review:`tag-review`,exploration:`tag-exploration`,planning:`tag-planning`,memory:`tag-memory`,generic:`tag-generic`};function lW({data:e}){let[t,n]=(0,b.useState)(``),[r,i]=(0,b.useState)([{id:`started_at`,desc:!0}]),a=(0,b.useRef)(null),o=(0,b.useMemo)(()=>{if(!e?.data)return[];let n=t.toLowerCase();return n?e.data.filter(e=>(e.repo_label||``).toLowerCase().includes(n)||(e.model_name||``).toLowerCase().includes(n)||(e.agent_role||``).toLowerCase().includes(n)||(e.agent_nickname||``).toLowerCase().includes(n)||(e.title||``).toLowerCase().includes(n)||(e.descendant_models||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_families||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_roles||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_nicknames||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.related_titles||[]).some(e=>(e||``).toLowerCase().includes(n))):e.data},[e,t]),s=(0,b.useMemo)(()=>[sW.accessor(`started_at`,{header:`Time`,cell:e=>oW(e.getValue()),size:130}),sW.accessor(`repo_label`,{header:`Repo`,cell:e=>e.getValue()||`—`,size:140}),sW.accessor(`model_name`,{header:`Model`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`0.72rem`},children:e.getValue()||`?`}),size:130}),sW.accessor(`thread_count`,{header:`Threads`,cell:e=>{let t=e.getValue()||1,n=e.row.original;return t>1?`${t} (${n.subagent_count||0} sub)`:`1`},size:92}),sW.accessor(`agent_family`,{header:`Root`,cell:e=>(0,z.jsx)(`span`,{className:`tag ${cW[e.getValue()]||`tag-generic`}`,children:e.getValue()}),size:100}),sW.accessor(`agent_nickname`,{header:`Agent`,cell:e=>e.getValue()||`—`,size:85}),sW.accessor(`reasoning_effort`,{header:`Effort`,cell:e=>e.getValue()||`—`,size:70}),sW.accessor(`elapsed_seconds`,{header:`Duration`,cell:e=>aW(e.getValue()),size:85}),sW.accessor(`tokens_used`,{header:`Tokens`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:rW(e.getValue())}),size:90}),sW.accessor(`cost`,{header:`Cost`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:e.getValue()==null?`—`:iW(e.getValue())}),size:80}),sW.accessor(`title`,{header:`Title`,cell:e=>(0,z.jsx)(`span`,{title:e.getValue(),style:{opacity:.6},children:(e.getValue()||``).slice(0,55)}),size:240})],[]),c=MU({data:o,columns:s,state:{sorting:r},onSortingChange:i,getCoreRowModel:EU(),getSortedRowModel:DU()}),l=c.getRowModel().rows,u=(0,b.useMemo)(()=>o.reduce((e,t)=>(e.sessions+=1,e.tokens+=t.tokens_used||0,e.cost+=t.cost||0,e.elapsed+=t.elapsed_seconds||0,e),{sessions:0,tokens:0,cost:0,elapsed:0}),[o]),d=nW({count:l.length,getScrollElement:()=>a.current,estimateSize:()=>36,overscan:10,getItemKey:e=>l[e]?.id??e}),f=d.getVirtualItems(),p=f.length>0?f[0].start:0,m=f.length>0?d.getTotalSize()-f[f.length-1].end:0;return(0,z.jsx)(`div`,{className:`animate-in`,children:(0,z.jsxs)(`div`,{className:`table-wrap`,children:[(0,z.jsx)(`div`,{className:`table-search`,children:(0,z.jsx)(`input`,{placeholder:`Search sessions...`,value:t,onChange:e=>n(e.target.value)})}),(0,z.jsxs)(`div`,{style:{fontSize:`0.7rem`,color:`var(--text-muted)`,padding:`0.4rem 1rem`,borderBottom:`1px solid var(--border)`},children:[o.length.toLocaleString(),` root sessions`,e&&!e.complete&&(0,z.jsx)(`span`,{className:`incomplete-badge`,style:{marginLeft:`0.5rem`},children:`partial`})]}),(0,z.jsxs)(`div`,{style:{fontSize:`0.7rem`,color:`var(--text-muted)`,padding:`0.45rem 1rem`,borderBottom:`1px solid var(--border)`,display:`flex`,gap:`1rem`,flexWrap:`wrap`},children:[(0,z.jsxs)(`span`,{children:[`Filtered sessions: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:u.sessions.toLocaleString()})]}),(0,z.jsxs)(`span`,{children:[`Tokens: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:rW(u.tokens)})]}),(0,z.jsxs)(`span`,{children:[`Cost: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:iW(u.cost)})]}),(0,z.jsxs)(`span`,{children:[`Time: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:aW(u.elapsed)})]})]}),(0,z.jsx)(`div`,{ref:a,style:{height:`600px`,overflow:`auto`},children:(0,z.jsxs)(`table`,{style:{tableLayout:`fixed`,width:`100%`},children:[(0,z.jsx)(`thead`,{style:{position:`sticky`,top:0,background:`var(--bg-card)`,zIndex:1},children:c.getHeaderGroups().map(e=>(0,z.jsx)(`tr`,{children:e.headers.map(e=>(0,z.jsxs)(`th`,{style:{width:e.getSize()},onClick:e.column.getToggleSortingHandler(),children:[OU(e.column.columnDef.header,e.getContext()),{asc:` ↑`,desc:` ↓`}[e.column.getIsSorted()]||``]},e.id))},e.id))}),(0,z.jsxs)(`tbody`,{children:[f.length===0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{textAlign:`center`,padding:`2rem`,color:`var(--text-muted)`},children:`No sessions`})}),p>0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{height:`${p}px`,padding:0,borderBottom:`none`}})}),f.map(e=>{let t=l[e.index];return(0,z.jsx)(`tr`,{style:{height:e.size},children:t.getVisibleCells().map(e=>(0,z.jsx)(`td`,{style:{width:e.column.getSize()},children:OU(e.column.columnDef.cell,e.getContext())},e.id))},t.id)}),m>0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{height:`${m}px`,padding:0,borderBottom:`none`}})})]})]})})]})})}function uW(){return{ingest_id:null,seq:0,overview:{total:{},d7:{},d30:{},cost_assumptions:null},repos:{total:[],d7:[],d30:[]},models:{total:[],d7:[],d30:[]},families:{total:[],d7:[],d30:[]},daily:{},heatmap:{}}}function dW(e,t,n){let r=n===`bootstrap`||n===`snapshot`||n===`complete`||!e||e.ingest_id!==t.ingest_id?uW():{...e};return r.ingest_id=t.ingest_id,r.seq=t.seq,t.data?.overview?r.overview={...r.overview,...t.data.overview,total:t.data.overview.total?{...r.overview.total,...t.data.overview.total}:r.overview.total,d7:t.data.overview.d7?{...r.overview.d7,...t.data.overview.d7}:r.overview.d7,d30:t.data.overview.d30?{...r.overview.d30,...t.data.overview.d30}:r.overview.d30}:e&&(r.overview=e.overview),r.repos=fW(e?.repos,t.data?.repos,r.repos),r.models=fW(e?.models,t.data?.models,r.models),r.families=fW(e?.families,t.data?.families,r.families),r.daily=t.data?.daily?{...e?.daily||{},...t.data.daily}:e?.daily||r.daily,r.heatmap=t.data?.heatmap?{...e?.heatmap||{},...t.data.heatmap}:e?.heatmap||r.heatmap,r}function fW(e,t,n){if(!t)return e||n;let r={total:e?e.total:n.total,d7:e?e.d7:n.d7,d30:e?e.d30:n.d30};for(let e of[`total`,`d7`,`d30`])t[e]&&(r[e]=t[e]);return r}function pW(e){return e?{overview:{data:e.overview,coverage:e.overview?.total?.coverage||{total:0,enriched:0,priced:0,time_valid:0}},repos:{data:e.repos},models:{data:e.models},families:{data:e.families},daily:{data:Object.entries(e.daily).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({date:e,...t}))},heatmap:{data:e.heatmap}}:null}function mW(e,t,n=0){let r=uW();return r.ingest_id=t||null,r.seq=n,r.overview=e?.overview?.data||r.overview,r.repos=e?.repos?.data||r.repos,r.models=e?.models?.data||r.models,r.families=e?.families?.data||r.families,r.daily=Object.fromEntries((e?.daily?.data||[]).map(e=>[e.date,{...e}])),r.heatmap=e?.heatmap?.data||r.heatmap,r}function hW(e){let t=e.replay?.bootstrap?.payload||{},n=CW(t.progress||{percent:0,complete:!1}),r=dW(null,t,`bootstrap`),i=e.replay?.events||[],a=i.findIndex(EW),o=a>=0&&i[a].at_ms||0,s=wW(e,r,i),c=s[0]?.presentation||MW(),l=CW(a>=0&&i[a].payload?.progress||n),u=Math.max(e.startHoldDurationMs||0,0),d=Math.max(e.replayDurationMs||e.replay?.duration_ms||1,1),f=Math.max(e.tailDurationMs||0,0),p=Math.max(e.finalHoldDurationMs||0,0),m=Math.max(e.durationMs||u+d+f+p||1,1),h=Math.max(e.replay?.duration_ms||0,0),g=Math.min(Math.max(o,0),h),_=Math.max(1,h-g),v=NW(e.tailSourceFraction??.035),y=Math.max(1,Math.round(_*v)),b=Math.max(0,_-y),x=Math.max(g,h-y),S=e.replayEasing||`cubicInOut`,C=e.tailEasing||`cubicInOut`,w=TW(e)||s[s.length-1]?.presentation||c,T=jW(s,x),E=Math.min(3600,Math.max(1800,Math.round(d*.32))),D=Math.max(0+u,0+u+d-E),O=NW((D-(0+u))/Math.max(d,1)),k=Math.round(g+b*BW(S,O)),A=AW({keyframes:s,startSourceMs:k,endSourceMs:x,startPresentation:jW(s,k),endPresentation:T,durationMs:E,startSmoothing:.05,endSmoothing:.14}),j=kW({keyframes:s,tailSourceStartMs:x,sourceDurationMs:h,tailStartPresentation:T,finalPresentation:w,tailDurationMs:f});return{renderData:e,totalDurationMs:m,frontloadSettledDurationMs:0,startHoldDurationMs:u,replayDurationMs:d,tailDurationMs:f,finalHoldDurationMs:p,sourceDurationMs:h,sourceStartMs:g,effectiveSourceDurationMs:_,tailSourceDurationMs:y,tailSourceStartMs:x,mainReplaySourceDurationMs:b,replayStartMs:u,lateReplayStartMs:D,lateReplayDurationMs:E,lateReplaySourceStartMs:k,tailStartMs:u+d,finalHoldStartMs:u+d+f,currentSeekMs:0,started:!1,finished:!1,startWallClockMs:0,initialPresentation:c,presentation:c,keyframes:s,keyframeIndex:0,lateReplayFrames:A,tailStartPresentation:T,tailFrames:j,finalPresentation:w,progress:l||{...n,percent:0,complete:!1},bootstrapProgress:n,replayEasing:S,tailEasing:C,debugState:null,debugTrace:[]}}function gW(e){return{liveData:{ready:!0},presentation:e.presentation,rawPresentation:e.presentation,progress:e.progress,phase:e.debugState?.phase||`replay`,seekMs:e.currentSeekMs||0}}function _W(e,t){let n=Math.min(Math.max(Number(t)||0,0),e.totalDurationMs);e.currentSeekMs=n;let r=`replay`,i=0,a=null;if(n<e.startHoldDurationMs)r=`start_hold`,e.presentation=e.initialPresentation||MW();else if(n<e.tailStartMs)if(n<e.lateReplayStartMs)i=vW(e,n),e.presentation=DW(e,i);else{let t=NW((n-e.lateReplayStartMs)/Math.max(e.lateReplayDurationMs,1));i=PW(e.lateReplaySourceStartMs,e.tailSourceStartMs,t),e.presentation=OW(e.lateReplayFrames,LW(t))}else n<e.finalHoldStartMs?(r=`tail`,a=NW((n-e.tailStartMs)/Math.max(e.tailDurationMs,1)),e.presentation=OW(e.tailFrames,BW(e.tailEasing,a))):(r=`final_hold`,e.presentation=e.finalPresentation);n>=e.finalHoldStartMs?((n-e.finalHoldStartMs)/Math.max(e.finalHoldDurationMs||1,1),e.progress={...e.progress||{},percent:1,complete:!0,phase:`complete`}):e.progress={...e.progress||{},complete:!1},n>=e.totalDurationMs&&(e.finished=!0);let o={frame:e.debugTrace.length,seekMs:n,phase:r,sourceMs:i,tailProgress:a,progress:e.progress?.percent??0,complete:!!e.progress?.complete,signature:FW(e.presentation)};return e.debugState=o,e.debugTrace.push(o),gW(e)}function vW(e,t){if(t<=e.replayStartMs)return 0;let n=t-e.replayStartMs;if(n<=e.replayDurationMs){let t=NW(n/Math.max(e.replayDurationMs,1));return e.sourceStartMs+e.mainReplaySourceDurationMs*BW(e.replayEasing,t)}return e.sourceDurationMs}function yW(e,t,n,r){if(!e)return t;let i=Iz.videoExport||{};if(r<(i.displayTweenStartMs??200))return t;let a=(i.startHoldDurationMs??0)+(i.replayDurationMs??0)+(i.tailDurationMs??0)+(i.finalHoldDurationMs??0)||19e3,o=i.displayTweenLateWindowMs??2200,s=NW((r-(a-o))/Math.max(o,1)),c=Math.round(PW(i.displayTweenBaseMs??240,i.displayTweenLateMs??420,RW(s))),l=RW(1-Math.exp(-n/Math.max(c,1))),u=e.progress||{},d=t.progress||{};return{liveData:t.liveData,presentation:wB(e.presentation,t.presentation,l),rawPresentation:t.rawPresentation||t.presentation,progress:{...d,percent:PW(u.percent||0,d.percent||0,l),complete:d.complete},phase:t.phase,seekMs:t.seekMs||0}}function bW(e,t){let n=Iz.videoExport||{},r=Math.max(n.finalFlashDurationMs??280,0),i=Math.max(n.finalFlashDelayMs??0,0),a=Math.max(n.finalFlashMaxOpacity??.22,0);if(!r||!a||t==null)return{opacity:0,boxShadow:`none`};let o=e-t-i;if(o<0||o>r)return{opacity:0,boxShadow:`none`};let s=a*(1-RW(NW(o/r)));return{opacity:s,boxShadow:`0 0 120px 50px rgba(255, 255, 255, ${Math.min(1,s*.7)}) inset`}}function xW(e){let t=Iz.videoExport||{};if(!t.introFadeEnabled)return 0;let n=Math.max(0,Math.min(1,t.introFadeStartOpacity??.2)),r=Math.max(0,t.introFadeDelayMs??0),i=Math.max(0,t.introFadeDurationMs??900);if(!n)return 0;if(e<=r)return n;if(!i)return 0;let a=NW((e-r)/i);return n*(1-BW(t.introFadeEasing||`cubicOut`,a))}function SW(e){let t=Iz.videoExport||{};if(!t.introFadeEnabled)return 1;let n=Math.max(0,Math.min(1,t.introContentStartOpacity??.35)),r=Math.max(0,t.introFadeDelayMs??0),i=Math.max(0,t.introFadeDurationMs??900);if(e<=r)return n;if(!i)return 1;let a=NW((e-r)/i);return PW(n,1,BW(t.introFadeEasing||`cubicOut`,a))}function CW(e){return e?{...e}:null}function wW(e,t,n){let r=[],i=t;for(let e of n)EW(e)&&(i=dW(i,e.payload,e.event),r.push({at_ms:Math.max(0,e.at_ms||0),presentation:yB({overview:{data:i.overview},heatmap:{data:i.heatmap},daily:{data:Object.entries(i.daily).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({date:e,...t}))},families:{data:i.families},repos:{data:i.repos},models:{data:i.models},range:`total`})}));return r.length||r.push({at_ms:0,presentation:MW()}),r}function TW(e){let t=e.settledEnvelope;return t?.overview?.data?yB({overview:t.overview,heatmap:t.heatmap||{data:{}},daily:t.daily||{data:[]},families:t.families||{data:{total:[],d7:[],d30:[]}},repos:t.repos||{data:{total:[],d7:[],d30:[]}},models:t.models||{data:{total:[],d7:[],d30:[]}},range:`total`}):null}function EW(e){return e?.payload?.data&&(e.event===`patch`||e.event===`snapshot`||e.event===`complete`)}function DW(e,t){return jW(e.keyframes,t,e)}function OW(e,t){if(!e?.length)return MW();if(t<=e[0].u)return e[0].presentation;for(let n=0;n<e.length-1;n+=1){let r=e[n],i=e[n+1];if(t<=i.u){let e=NW((t-r.u)/Math.max(i.u-r.u,1e-6));return wB(r.presentation,i.presentation,e)}}return e[e.length-1].presentation}function kW({keyframes:e,tailSourceStartMs:t,sourceDurationMs:n,tailStartPresentation:r,finalPresentation:i,tailDurationMs:a}){return AW({keyframes:e,startSourceMs:t,endSourceMs:n,startPresentation:r,endPresentation:i,durationMs:a,startSmoothing:.08,endSmoothing:.2,bidirectional:!0})}function AW({keyframes:e,startSourceMs:t,endSourceMs:n,startPresentation:r,endPresentation:i,durationMs:a,startSmoothing:o,endSmoothing:s,bidirectional:c=!1}){let l=Math.max(36,Math.min(96,Math.round(a/80))),u=[{u:0,presentation:r}];for(let r=1;r<l-1;r+=1){let i=r/(l-1),a=PW(t,n,i);u.push({u:i,presentation:jW(e,a)})}u.push({u:1,presentation:i});let d=[{u:0,presentation:r}],f=r;for(let e=1;e<u.length-1;e+=1){let t=u[e],n=PW(o,s,t.u);f=wB(f,t.presentation,n),d.push({u:t.u,presentation:f})}if(d.push({u:1,presentation:i}),!c)return d;let p=Array(u.length);p[u.length-1]={u:1,presentation:i};let m=i;for(let e=u.length-2;e>0;--e){let t=u[e],n=PW(s,o,1-t.u);m=wB(m,t.presentation,n),p[e]={u:t.u,presentation:m}}return p[0]={u:0,presentation:r},u.map((e,t)=>t===0?{u:0,presentation:r}:t===u.length-1?{u:1,presentation:i}:{u:e.u,presentation:wB(d[t].presentation,p[t].presentation,LW(e.u))})}function jW(e,t,n=null){if(!e.length)return MW();if(t<=e[0].at_ms)return e[0].presentation;let r=n?.keyframeIndex||0;for(;r+1<e.length&&e[r+1].at_ms<=t;)r+=1;n&&(n.keyframeIndex=r);let i=e[r],a=e[Math.min(r+1,e.length-1)];if(!a||a.at_ms<=i.at_ms)return i.presentation;let o=NW((t-i.at_ms)/Math.max(a.at_ms-i.at_ms,1));return wB(i.presentation,a.presentation,o)}function MW(){return yB({overview:{data:null},heatmap:{data:{}},daily:{data:[]},families:{data:{total:[],d7:[],d30:[]}},repos:{data:{total:[],d7:[],d30:[]}},models:{data:{total:[],d7:[],d30:[]}},range:`total`})}function NW(e){return Math.min(Math.max(e||0,0),1)}function PW(e,t,n){return e+(t-e)*n}function FW(e){if(!e)return null;let t=e.stats||{},n=e.daily||{dates:[],series:[]},r=Array.isArray(e.topRepos)?e.topRepos:[],i=Array.isArray(e.topModels)?e.topModels:[],a=Math.max(0,(n.dates?.length||0)-1),o=n.dates?.[a]||null,s=(n.series||[]).reduce((e,t)=>e+(Number(t?.data?.[a])||0),0),c=r[0]||null,l=i[0]||null;return{totalTokens:Math.round(Number(t.tokens)||0),totalCost:Number((Number(t.cost)||0).toFixed(4)),totalSessions:Math.round(Number(t.sessions)||0),dailyPoints:n.dates?.length||0,lastDailyDate:o,lastDailyTotal:Math.round(s),topRepo:c?.label||null,topRepoValue:Math.round(Number(c?.tokens)||0),topModel:l?.label||null,topModelValue:Math.round(Number(l?.tokens)||0)}}function IW(e){let t=NW(e);return t*t*t}function LW(e){let t=NW(e);return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function RW(e){return 1-(1-NW(e))**3}function zW(e){let t=NW(e),n=[[0,0],[.12,.03],[.24,.09],[.4,.22],[.58,.42],[.74,.62],[.86,.77],[.93,.86],[.975,.93],[.992,.975],[1,1]];for(let e=0;e<n.length-1;e+=1){let[r,i]=n[e],[a,o]=n[e+1];if(t<=a)return PW(i,o,LW(NW((t-r)/Math.max(a-r,1e-6))))}return 1}function BW(e,t){switch(e){case`trainBrake`:return zW(t);case`cubicOut`:return RW(t);case`cubicInOut`:return LW(t);case`linear`:return NW(t);default:return IW(t)}}function VW({jobId:e}){let[t,n]=(0,b.useState)(null),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(!1),l=(0,b.useRef)(null),u=(0,b.useRef)(0),d=(0,b.useRef)(null),f=(0,b.useRef)(0),p=(0,b.useRef)(null);if((0,b.useEffect)(()=>{let t=!0;return(async()=>{try{let r=await fetch(E.url(`/api/export/${encodeURIComponent(e)}/render-data`));if(!r.ok)throw Error(`API error: ${r.status}`);let i=await r.json();if(!t)return;n(i),l.current=hW(i);let a=gW(l.current);d.current=a,f.current=0,o(a),c(!1),p.current=null}catch(e){if(!t)return;i(e.message||String(e))}})(),()=>{t=!1,u.current&&cancelAnimationFrame(u.current)}},[e]),(0,b.useEffect)(()=>{if(!a?.liveData||r)return;let e=!1,t=0,n=0,i=0,o=0,s=0,l=()=>{let t=Array.from(document.querySelectorAll(`.stat-card .stat-value`)),n=Array.from(document.querySelectorAll(`canvas`)),r=t.length>=4&&t.every(e=>String(e.textContent||``).trim().length>0),i=!!document.querySelector(`.overview-daily-spark-chart, .overview-daily-spark-empty`),a=n.length>=3&&i&&n.every(e=>{let t=e.getBoundingClientRect();return t.width>0&&t.height>0}),u=document.querySelectorAll(`.heatmap-cell`).length>=300;if(!(r&&a&&u)){o=requestAnimationFrame(l);return}s=window.setTimeout(()=>{e||c(!0)},180)};return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o=requestAnimationFrame(l)})})}),()=>{e=!0,t&&cancelAnimationFrame(t),n&&cancelAnimationFrame(n),i&&cancelAnimationFrame(i),o&&cancelAnimationFrame(o),s&&window.clearTimeout(s)}},[r,a]),(0,b.useEffect)(()=>{if(a){if(a.phase===`final_hold`){p.current??=a.seekMs||0;return}p.current=null}},[a?.phase,a?.seekMs]),(0,b.useEffect)(()=>{let n=()=>{let e=l.current;if(!e||e.started)return;e.started=!0,e.startWallClockMs=Date.now();let t=()=>{let e=l.current;if(!e)return;let n=Date.now(),r=Math.min(e.totalDurationMs,n-e.startWallClockMs),i=_W(e,r),a=f.current?Math.max(1,n-f.current):16;f.current=n;let s=yW(d.current,i,a,r);if(d.current=s,o(s),r>=e.totalDurationMs){e.finished=!0,u.current=0;return}u.current=requestAnimationFrame(t)};u.current=requestAnimationFrame(t)};return window.__CODEXMETER_EXPORT__={ready:!!(t&&!r&&s),jobId:e,start(){n()},get currentTimeMs(){return l.current?.currentSeekMs||0},get finished(){return!!l.current?.finished},getDebugState(){return l.current?.debugState||null},getDebugTrace(){return l.current?.debugTrace||[]}},()=>{delete window.__CODEXMETER_EXPORT__}},[s,r,e,t]),r)return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsxs)(`div`,{style:WW,children:[`Export error: `,r]})});if(!a?.liveData)return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsx)(`div`,{style:WW,children:`CodexMeter exporting…`})});let m=l.current,h=m?{startMs:m.startHoldDurationMs,endMs:m.finalHoldStartMs}:null;return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsxs)(`div`,{style:UW,children:[(0,z.jsxs)(`div`,{style:{...YW,opacity:SW(a.seekMs)},children:[(0,z.jsx)(fV,{presentation:a.presentation,rawPresentation:a.rawPresentation,ingestProgress:Math.min(Math.max(a.progress?.percent||0,0),1),isIngestActive:!!(a.progress&&!a.progress.complete),exportMode:!1,exportPlayback:!0,exportPhase:a.phase,exportSeekMs:a.seekMs,exportDaily:m?.finalPresentation?.daily||null,exportDailyTiming:h}),(0,z.jsxs)(`div`,{style:GW,children:[`Made with `,(0,z.jsx)(`span`,{style:KW,children:`♥`}),` by JJ`]})]}),(0,z.jsx)(`div`,{style:{...JW,opacity:xW(a.seekMs)}}),(0,z.jsx)(`div`,{style:{...qW,...bW(a.seekMs,p.current)}})]})})}var HW={width:`100vw`,minHeight:`100vh`,background:`#06080f`,display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`hidden`},UW={position:`relative`,width:1080,height:864,padding:`24px 28px 20px`,background:`#06080f`,overflow:`hidden`},WW={color:`#8b949e`,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,fontSize:18},GW={position:`absolute`,right:18,bottom:10,color:`rgba(139, 148, 158, 0.58)`,fontSize:10,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,letterSpacing:`0.02em`,opacity:.62,pointerEvents:`none`},KW={color:`rgba(244, 63, 94, 0.52)`},qW={position:`absolute`,inset:0,background:`linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,255,1) 100%)`,pointerEvents:`none`,zIndex:20,mixBlendMode:`screen`},JW={position:`absolute`,inset:0,background:`#000000`,pointerEvents:`none`,zIndex:30},YW={position:`relative`,zIndex:1},XW=[`Overview`,`Repos`,`Models`,`Daily`,`Sessions`],ZW=[{key:`d7`,label:`7d`},{key:`d30`,label:`30d`},{key:`total`,label:`All`}];function QW(e){return e?new Date(e*1e3).toLocaleDateString(`en-US`,{month:`short`,day:`2-digit`}):`—`}function $W(e){return!Number.isFinite(e)||e<=0?0:Math.floor(e/86400)*86400}function eG(e){let t=Date.parse(`${e}T12:00:00Z`);return Number.isFinite(t)?Math.floor(t/1e3):null}var tG={idle:`Starting...`,inventory:`Reading threads`,normalizing:`Normalizing`,enrichment:`Enriching rollouts`,aggregation:`Building aggregates`,finalizing:`Finalizing view`,complete:`Complete`,error:`Error`};function nG(e){return Object.values(e?.daily||{}).filter(e=>(e?.tokens||0)>0||(e?.sessions||0)>0).length>=7}function rG(){let e=typeof window<`u`?new URLSearchParams(window.location.search):null,t=e?.get(`export`),n=e?.get(`job`);if(t===`overview-video`&&n)return(0,z.jsx)(VW,{jobId:n});let[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(`Overview`),[s,c]=(0,b.useState)(`total`),[l,u]=(0,b.useState)({}),[d,f]=(0,b.useState)(null),[p,m]=(0,b.useState)(!0),[h,g]=(0,b.useState)(!1),[_,v]=(0,b.useState)(!1),[y,x]=(0,b.useState)(!1),[S,C]=(0,b.useState)(!1),[w,T]=(0,b.useState)(!1),[D,O]=(0,b.useState)(!0),[k,A]=(0,b.useState)(!1),[j,ee]=(0,b.useState)(null),[M,N]=(0,b.useState)(!1),[P,F]=(0,b.useState)(!1),[I,te]=(0,b.useState)({available:!0,reason:null,portable_download:null}),[ne,re]=(0,b.useState)(null),[ie,ae]=(0,b.useState)(null),[oe,se]=(0,b.useState)(null),[ce,L]=(0,b.useState)(null),[le,ue]=(0,b.useState)(null),[de,fe]=(0,b.useState)(null),pe=(0,b.useRef)(!1),me=(0,b.useRef)(0),he=(0,b.useRef)(null),R=(0,b.useCallback)(async()=>{try{let[e,t,n,r,i,a,o]=await Promise.all([E.overview(),E.repos(),E.models(),E.daily(),E.sessions(),E.heatmap(),E.families()]),s={overview:e,repos:t,models:n,daily:r,sessions:i,heatmap:a,families:o};return u(s),s}catch(e){throw console.error(`Fetch error:`,e),e}},[]),ge=(0,b.useCallback)(async()=>{if(!w)try{T(!0),o(`Overview`),await E.rerun(),window.location.reload()}catch(e){console.error(`Rerun error:`,e),T(!1)}},[w]),_e=(0,b.useCallback)(async()=>{if(!(M||[`queued`,`running`].includes(j?.status)))try{N(!0);let e=!I?.available&&I?.portable_download?.available,t=!1;if(e){let e=I.portable_download.approx_size_mb?`about ${I.portable_download.approx_size_mb} MB`:`a fairly large download`;if(!window.confirm(`No supported browser was found for video export.\n\nCodexMeter can download a single-use portable Chromium bundle (${e}) for this export only, then delete it afterward.\n\nDo you want to continue?`))return;t=!0,F(!0)}ee(await E.startOverviewVideoExport(t?{install_portable_browser:!0}:{}))}catch(e){console.error(`Video export error:`,e)}finally{N(!1)}},[j?.status,I,M]);(0,b.useEffect)(()=>{P&&j&&j.phase!==`downloading_browser`&&(j.phase===`rendering`||j.phase===`encoding`||j.status===`complete`||j.status===`failed`)&&F(!1)},[j,P]);let ve=(0,b.useCallback)(()=>{!j?.id||j.status!==`complete`||(window.location.href=E.url(`/api/export/${encodeURIComponent(j.id)}/file`))},[j]);(0,b.useEffect)(()=>{!j?.id||j.status!==`complete`||he.current!==j.id&&(he.current=j.id,window.location.href=E.url(`/api/export/${encodeURIComponent(j.id)}/file`))},[j]),(0,b.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await E.exportSupport();e&&te(t)}catch(t){console.error(`Export support probe error:`,t),e&&te({available:!1,reason:`Video export availability could not be detected.`,portable_download:null})}})(),()=>{e=!1}},[]),(0,b.useEffect)(()=>{let e=!0,t=null,n=null,r=!1,a=!1,o=!1,s=[],c=0,l=null,u=null,d=null,p=!1,m=()=>{d&&=(clearTimeout(d),null)},h=()=>{if(c=0,!e||s.length===0)return;let t=l,n=u;for(let e of s){let{payload:r,mode:i,progressOnly:a}=e;if(n=r.progress,!a){if(t&&r.ingest_id===t.ingest_id&&r.seq<=t.seq)continue;t=dW(t,r,i)}}zB(`apply`,{events:s.map(e=>({mode:e.mode,progressOnly:e.progressOnly,seq:e.payload?.seq})),progress:n,state:RB(t,n)}),s=[],n!==u&&(u=n,i(n)),t!==l&&(l=t,f(t),!p&&nG(t)&&(p=!0,v(!0),zB(`initial-live-ready`,RB(t,n))))},g=(e,t,n=!1)=>{zB(`receive`,{mode:t,progressOnly:n,payload:LB(e)}),s.push({payload:e,mode:t,progressOnly:n}),m(),c||=requestAnimationFrame(h)},_=(e,t=null,n=0)=>{let r=mW(e,t,Math.max((l?.seq||0)+1,n,1));l=r,f(r)},y=async(t,n=null,{hydrateLiveState:r=!1,seq:i=0}={})=>{if(!e||!t?.complete||o)return;o=!0;let a=await R();return e&&r&&_(a,n,i),a},b=()=>{if(r||!e)return;r=!0;let n=async()=>{try{let n=await E.progress();if(!e)return;if(i(n),n.percent>.08&&await R(),n.complete){await R(),clearInterval(t);return}(n.error||n.phase===`error`)&&clearInterval(t)}catch(e){console.error(`Polling fallback error:`,e)}};n(),t=setInterval(n,1200)};return(()=>{if(typeof EventSource>`u`){b();return}n=E.live(),n.addEventListener(`bootstrap`,t=>{if(!e)return;let n=JSON.parse(t.data);g(n,`bootstrap`),y(n.progress,n.ingest_id).catch(e=>{console.error(`Settled fetch error:`,e),o=!1})}),n.addEventListener(`progress`,t=>{if(!e)return;let n=JSON.parse(t.data);g(n,`progress`,!0),y(n.progress,n.ingest_id).catch(e=>{console.error(`Settled fetch error:`,e),o=!1})}),n.addEventListener(`patch`,t=>{e&&g(JSON.parse(t.data),`patch`)}),n.addEventListener(`snapshot`,t=>{e&&g(JSON.parse(t.data),`snapshot`)}),n.addEventListener(`complete`,async t=>{if(!e)return;let r=JSON.parse(t.data);a=!0,g(r,r.data?`complete`:`progress`,!r.data),await y(r.progress,r.ingest_id,{hydrateLiveState:!0,seq:(r.seq||0)+1}),e&&n?.close()}),n.addEventListener(`ingest-error`,t=>{if(!e)return;let r=JSON.parse(t.data);a=!0,g(r,`progress`,!0),n?.close()}),n.addEventListener(`error`,t=>{if(e&&!a){if(n?.readyState===EventSource.CLOSED){console.warn(`SSE stream closed, falling back to polling:`,t),b();return}n?.readyState===EventSource.CONNECTING&&!r&&!d&&(d=setTimeout(()=>{d=null,!(!e||a||r)&&n?.readyState!==EventSource.OPEN&&(console.warn(`SSE stream stalled during reconnect, falling back to polling:`,t),n?.close(),b())},4e3))}})})(),()=>{e=!1,clearInterval(t),m(),c&&cancelAnimationFrame(c),n?.close()}},[R]),(0,b.useEffect)(()=>{if(r){if((_||r.percent>.08)&&p&&!h){g(!0);let e=setTimeout(()=>m(!1),600);return()=>clearTimeout(e)}if(r.complete&&p&&!h){g(!0);let e=setTimeout(()=>m(!1),600);return()=>clearTimeout(e)}}},[r,_,p,h]);let ye=!!r?.complete,be=Math.round((r?.percent||0)*100),xe=Math.min(Math.max(r?.percent||0,0),1),Se=!ye||k,Ce=!!(r&&Se&&r.phase!==`error`);(0,b.useEffect)(()=>{r?.complete||O(!1)},[r?.complete]),(0,b.useEffect)(()=>{let e=ye&&!pe.current;if(pe.current=ye,!ye){A(!1);return}if(e&&!D){A(!0);return}k&&D&&A(!1)},[ye,D,k]),(0,b.useEffect)(()=>{let e=!0,t=null,n=async()=>{try{let r=!!j?.id,i=r?await E.exportStatus(j.id):await E.activeExport();if(!e)return;let a=r?i:i.job;if(!a){j?.id||ee(null);return}ee(a),[`complete`,`failed`].includes(a.status)||(t=setTimeout(n,900))}catch(t){if(!e)return;console.error(`Export status error:`,t)}};return ye&&n(),()=>{e=!1,t&&clearTimeout(t)}},[ye,j?.id]),(0,b.useEffect)(()=>{!Se&&!y&&x(!0),Se&&(x(!1),C(!1))},[Se,y]),(0,b.useEffect)(()=>{if(!y)return;let e=setTimeout(()=>C(!0),350);return()=>clearTimeout(e)},[y]);let we=(0,b.useMemo)(()=>d?pW(d):null,[d]),Te=!!(l.overview?.complete&&l.overview?.data),Ee=!!(we&&!Te),De=Ee?we.overview:l.overview||we?.overview,Oe=Ee?we.heatmap:l.heatmap||we?.heatmap,ke=Ee?we.daily:l.daily||we?.daily,Ae=Ee?we.families:l.families||we?.families,je=Ee?we.repos:l.repos||we?.repos,Me=Ee?we.models:l.models||we?.models,Ne=De?.data,Pe=(Ne?.[s]||Ne?.total||{})?.date_range,Fe=Ce&&de?.from?eG(de.from):null,Ie=Ce&&de?.to?eG(de.to):null,Le=Pe&&Ie?{...Pe,from:Fe||Pe.from,to:Ie}:Pe;(0,b.useEffect)(()=>{if(me.current&&=(cancelAnimationFrame(me.current),0),!Le?.from||!Le?.to){re(null);return}let e={from:$W(Le.from),to:$W(Le.to)};return re(t=>{if(!t||ye||Ce||t.from!==e.from||e.to<=t.to)return e;let n=t.to,r=e.to,i=Math.max(1,Math.round((r-n)/86400)),a=Math.min(1400,Math.max(320,i*110)),o=performance.now(),s=t=>{let i=Math.min(1,(t-o)/a),c=$W(n+(r-n)*i);re(t=>!t||t.from!==e.from||c<=t.to?t:{...t,to:c}),i<1?me.current=requestAnimationFrame(s):(me.current=0,re(e))};return me.current=requestAnimationFrame(s),t}),()=>{me.current&&=(cancelAnimationFrame(me.current),0)}},[ye,Le?.from,Le?.to,Ce]);let Re=M||[`queued`,`running`].includes(j?.status),ze=!I?.available&&I?.portable_download?.available,Be=P||ze&&M||ze&&j?.phase===`downloading_browser`?`Downloading single-use portable Chromium for this export.`:!I?.available&&!ze?I.reason||`Video export requires Chrome, Chromium, or Edge.`:ze?`No supported browser found. Click to download a single-use portable Chromium for this export.`:ye?Re?`Video export is already running.`:`Render Overview ingest replay video`:`Finish ingest to render the replay video.`,Ve=(0,b.useCallback)(e=>{e&&(c(`d7`),o(`Daily`),ae({id:Date.now(),centerDate:e}))},[]),He=(0,b.useCallback)(e=>{e&&(o(`Repos`),se({id:Date.now(),repoLabel:String(e)}))},[]),Ue=(0,b.useCallback)(e=>{e&&(o(`Models`),L({id:Date.now(),modelName:String(e)}))},[]),We=j?.status===`complete`?`Download MP4`:P||Re&&(M&&ze||j?.phase===`downloading_browser`)?`Downloading ${Math.max(1,Math.round((j?.progress||.03)*100))}%`:Re?`Rendering ${Math.max(1,Math.round((j?.progress||0)*100))}%`:`Render Video`;return(0,z.jsxs)(`div`,{className:`app`,children:[p&&(0,z.jsxs)(`div`,{className:`loading-overlay ${h?`fading`:``}`,children:[(0,z.jsx)(`div`,{className:`loading-logo`,children:`CodexMeter`}),(0,z.jsx)(`div`,{className:`loading-bar-wrap`,children:(0,z.jsx)(`div`,{className:`loading-bar`,style:{width:`${be}%`}})}),(0,z.jsx)(`div`,{className:`loading-phase`,children:tG[r?.phase]||`Starting...`}),r?.phase===`enrichment`&&(0,z.jsxs)(`div`,{className:`loading-detail`,children:[r.enriched,`/`,r.needs_enrichment,` rollouts`,r.current_date_bucket&&` — ${r.current_date_bucket}`]}),r?.phase===`error`&&r?.error&&(0,z.jsx)(`div`,{className:`loading-detail`,children:r.error}),(0,z.jsxs)(`div`,{className:`loading-footer`,children:[`Made with `,(0,z.jsx)(`span`,{className:`loading-heart`,children:`♥`}),` by JJ`]})]}),(0,z.jsxs)(`div`,{className:`app-content ${h||!p?`app-content-revealed`:``}`,children:[(0,z.jsx)(`nav`,{className:`navbar`,children:(0,z.jsxs)(`div`,{className:`navbar-inner`,children:[(0,z.jsx)(`span`,{className:`navbar-brand`,children:`CodexMeter`}),(0,z.jsx)(`div`,{className:`navbar-tabs`,children:XW.map(e=>(0,z.jsx)(`button`,{className:`navbar-tab ${a===e?`active`:``} ${!(ye&&S)&&e!==`Overview`?`navbar-tab-dimmed`:``}`,onClick:()=>o(e),disabled:!ye&&e!==`Overview`,children:e},e))}),(0,z.jsx)(`div`,{className:`navbar-meta`,children:Le&&(0,z.jsxs)(`div`,{className:`navbar-date-wrap ${ye?``:`navbar-date-wrap-dimmed`}`,children:[(0,z.jsxs)(`span`,{className:`navbar-date`,style:{fontSize:`0.78rem`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:[QW(ne?.from||Le.from),` — `,QW(ne?.to||Le.to)]}),(0,z.jsx)(`div`,{className:`range-toggle`,children:ZW.map(e=>(0,z.jsx)(`button`,{className:`range-btn ${s===e.key?`active`:``}`,onClick:()=>c(e.key),disabled:!ye,children:e.label},e.key))}),(0,z.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Rerun ingest`,title:`Rerun ingest`,onClick:ge,disabled:w||!ye,children:`↻`}),(0,z.jsx)(`button`,{type:`button`,className:`navbar-tab active export-video-btn ${I?.available?``:`range-btn-unsupported`}`,onClick:j?.status===`complete`?ve:_e,disabled:!I?.available&&!ze||!ye||Re,style:{minWidth:110},title:j?.status===`complete`?`Download rendered Overview video`:Be,children:We})]})})]})}),(0,z.jsxs)(`div`,{className:`main-content`,children:[a===`Overview`&&(0,z.jsx)(hV,{data:De,heatmap:Oe,daily:ke,families:Ae,repos:je,models:Me,range:s,onPresentationSettledChange:O,ingestProgress:xe,isIngestActive:Ce,currentDateBucket:r?.current_date_bucket||null,onDailyDebugStatsChange:ue,onPresentationDateRangeChange:fe,onNavigateToDailyDay:Ve,onNavigateToRepo:He,onNavigateToModel:Ue}),a===`Repos`&&(0,z.jsx)(jV,{data:l.repos,range:s,focusRequest:oe,onFocusRequestConsumed:()=>se(null)}),a===`Models`&&(0,z.jsx)(zV,{data:l.models,range:s,focusRequest:ce,onFocusRequestConsumed:()=>L(null)}),a===`Daily`&&(0,z.jsx)(cH,{data:l.daily,range:s,navigateToDayRequest:ie,onNavigateToDayConsumed:()=>ae(null)}),a===`Sessions`&&(0,z.jsx)(lW,{data:l.sessions})]}),Ce&&le&&(0,z.jsxs)(`div`,{className:`app-footer-debug`,children:[`Daily Usage presentation: `,le.speedDaysPerSecond.toFixed(1),` days/s`,le.waitingForDailyData?` (waiting for daily data)`:``]}),(0,z.jsxs)(`div`,{className:`app-footer`,children:[`Made with `,(0,z.jsx)(`span`,{className:`loading-heart`,children:`♥`}),` by JJ`]})]})]})}x.createRoot(document.getElementById(`root`)).render((0,z.jsx)(rG,{}));
|
|
31
|
+
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function gH(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function _H(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:hH(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),gH(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function vH(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:hH(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],gH(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:hH(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},gH(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var yH=`debugHeaders`;function bH(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var xH={createTable:e=>{e.getHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return SH(t,[...a,...s,...o],e)},gH(e.options,yH,`getHeaderGroups`)),e.getCenterHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),SH(t,n,e,`center`)),gH(e.options,yH,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>SH(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),gH(e.options,yH,`getLeftHeaderGroups`)),e.getRightHeaderGroups=hH(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>SH(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),gH(e.options,yH,`getRightHeaderGroups`)),e.getFooterGroups=hH(()=>[e.getHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getFooterGroups`)),e.getLeftFooterGroups=hH(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getLeftFooterGroups`)),e.getCenterFooterGroups=hH(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getCenterFooterGroups`)),e.getRightFooterGroups=hH(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),gH(e.options,yH,`getRightFooterGroups`)),e.getFlatHeaders=hH(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getFlatHeaders`)),e.getLeftFlatHeaders=hH(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=hH(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getCenterFlatHeaders`)),e.getRightFlatHeaders=hH(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),gH(e.options,yH,`getRightFlatHeaders`)),e.getCenterLeafHeaders=hH(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=hH(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getLeftLeafHeaders`)),e.getRightLeafHeaders=hH(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),gH(e.options,yH,`getRightLeafHeaders`)),e.getLeafHeaders=hH(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),gH(e.options,yH,`getLeafHeaders`))}};function SH(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=bH(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>bH(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var CH=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>mH(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:hH(()=>[e.getAllLeafColumns()],t=>t.map(t=>_H(e,s,t,t.id)),gH(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:hH(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),gH(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},wH={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},TH=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};TH.autoRemove=e=>FH(e);var EH=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};EH.autoRemove=e=>FH(e);var DH=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};DH.autoRemove=e=>FH(e);var OH=(e,t,n)=>e.getValue(t)?.includes(n);OH.autoRemove=e=>FH(e);var kH=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});kH.autoRemove=e=>FH(e)||!(e!=null&&e.length);var AH=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));AH.autoRemove=e=>FH(e)||!(e!=null&&e.length);var jH=(e,t,n)=>e.getValue(t)===n;jH.autoRemove=e=>FH(e);var MH=(e,t,n)=>e.getValue(t)==n;MH.autoRemove=e=>FH(e);var NH=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};NH.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},NH.autoRemove=e=>FH(e)||FH(e[0])&&FH(e[1]);var PH={includesString:TH,includesStringSensitive:EH,equalsString:DH,arrIncludes:OH,arrIncludesAll:kH,arrIncludesSome:AH,equals:jH,weakEquals:MH,inNumberRange:NH};function FH(e){return e==null||e===``}var IH={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:dH(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?PH.includesString:typeof n==`number`?PH.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?PH.equals:Array.isArray(n)?PH.arrIncludes:PH.weakEquals},e.getFilterFn=()=>fH(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??PH[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=uH(n,i?i.value:void 0);if(LH(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>uH(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&LH(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function LH(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var RH={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!pH(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},zH={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:dH(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return RH.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return RH.extent},e.getAggregationFn=()=>{if(!e)throw Error();return fH(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??RH[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function BH(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var VH={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:dH(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=hH(e=>[QH(t,e)],t=>t.findIndex(t=>t.id===e.id),gH(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>QH(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=QH(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=hH(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return BH(i,t,n)},gH(e.options,`debugTable`,`_getOrderColumnsFn`))}},HH=()=>({left:[],right:[]}),UH={getInitialState:e=>({columnPinning:HH(),...e}),getDefaultOptions:e=>({onColumnPinningChange:dH(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},gH(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),gH(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=hH(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),gH(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?HH():e.initialState?.columnPinning??HH()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),gH(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),gH(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=hH(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},gH(e.options,`debugColumns`,`getCenterLeafColumns`))}};function WH(e){return e||(typeof document<`u`?document:null)}var GH={size:150,minSize:20,maxSize:2**53-1},KH=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),qH={getDefaultColumnDef:()=>GH,getInitialState:e=>({columnSizing:{},columnSizingInfo:KH(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:dH(`columnSizing`,e),onColumnSizingInfoChange:dH(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??GH.minSize,n??e.columnDef.size??GH.size),e.columnDef.maxSize??GH.maxSize)},e.getStart=hH(e=>[e,QH(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),gH(t.options,`debugColumns`,`getStart`)),e.getAfter=hH(e=>[e,QH(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),gH(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),XH(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=XH(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=WH(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=YH()?{passive:!1}:!1;XH(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?KH():e.initialState.columnSizingInfo??KH())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},JH=null;function YH(){if(typeof JH==`boolean`)return JH;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return JH=e,JH}function XH(e){return e.type===`touchstart`}var ZH={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:dH(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=hH(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),gH(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=hH(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],gH(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>hH(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),gH(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function QH(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var $H={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},eU={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:dH(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>PH.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return fH(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??PH[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},tU={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:dH(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},nU=0,rU=10,iU=()=>({pageIndex:nU,pageSize:rU}),aU={getInitialState:e=>({...e,pagination:{...iU(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:dH(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>uH(t,e)),e.resetPagination=t=>{e.setPagination(t?iU():e.initialState.pagination??iU())},e.setPageIndex=t=>{e.setPagination(n=>{let r=uH(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?nU:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??nU)},e.resetPageSize=t=>{var n;e.setPageSize(t?rU:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??rU)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,uH(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=uH(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=hH(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},gH(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},oU=()=>({top:[],bottom:[]}),sU={getInitialState:e=>({rowPinning:oU(),...e}),getDefaultOptions:e=>({onRowPinningChange:dH(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?oU():e.initialState?.rowPinning??oU()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),gH(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),gH(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=hH(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},gH(e.options,`debugRows`,`getCenterRows`))}},cU={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:dH(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{lU(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=hH(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?uU(e,n):{rows:[],flatRows:[],rowsById:{}},gH(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return lU(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return dU(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return fU(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return fU(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},lU=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>lU(e,t.id,n,r,i))};function uU(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=dU(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function dU(e,t){return t[e.id]??!1}function fU(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(dU(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=fU(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var pU=/([0-9]+)/gm,mU=(e,t,n)=>SU(xU(e.getValue(n)).toLowerCase(),xU(t.getValue(n)).toLowerCase()),hU=(e,t,n)=>SU(xU(e.getValue(n)),xU(t.getValue(n))),gU=(e,t,n)=>bU(xU(e.getValue(n)).toLowerCase(),xU(t.getValue(n)).toLowerCase()),_U=(e,t,n)=>bU(xU(e.getValue(n)),xU(t.getValue(n))),vU=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},yU=(e,t,n)=>bU(e.getValue(n),t.getValue(n));function bU(e,t){return e===t?0:e>t?1:-1}function xU(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function SU(e,t){let n=e.split(pU).filter(Boolean),r=t.split(pU).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var CU={alphanumeric:mU,alphanumericCaseSensitive:hU,text:gU,textCaseSensitive:_U,datetime:vU,basic:yU},wU=[xH,ZH,VH,UH,wH,IH,$H,eU,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:dH(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return CU.datetime;if(typeof n==`string`&&(r=!0,n.split(pU).length>1))return CU.alphanumeric}return r?CU.text:CU.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return fH(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??CU[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},zH,tU,aU,sU,cU,qH];function TU(e){let t=[...wU,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(uH(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:hH(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),gH(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:hH(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=vH(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},gH(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:hH(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),gH(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:hH(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),gH(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:hH(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),gH(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function EU(){return e=>hH(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=CH(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},gH(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function DU(){return e=>hH(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;let r=e.getState().sorting,i=[],a=r.filter(t=>e.getColumn(t.id)?.getCanSort()),o={};a.forEach(t=>{let n=e.getColumn(t.id);n&&(o[t.id]={sortUndefined:n.columnDef.sortUndefined,invertSorting:n.columnDef.invertSorting,sortingFn:n.getSortingFn()})});let s=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<a.length;n+=1){let r=a[n],i=o[r.id],s=i.sortUndefined,c=r?.desc??!1,l=0;if(s){let n=e.getValue(r.id),i=t.getValue(r.id),a=n===void 0,o=i===void 0;if(a||o){if(s===`first`)return a?-1:1;if(s===`last`)return a?1:-1;l=a&&o?0:a?s:-s}}if(l===0&&(l=i.sortingFn(e,t,r.id)),l!==0)return c&&(l*=-1),i.invertSorting&&(l*=-1),l}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),(t=e.subRows)!=null&&t.length&&(e.subRows=s(e.subRows))}),t};return{rows:s(n.rows),flatRows:i,rowsById:n.rowsById}},gH(e.options,`debugTable`,`getSortedRowModel`,()=>e._autoResetPageIndex()))}function OU(e,t){return e?kU(e)?b.createElement(e,t):e:null}function kU(e){return AU(e)||typeof e==`function`||jU(e)}function AU(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function jU(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function MU(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=b.useState(()=>({current:TU(t)})),[r,i]=b.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}var NU=_();function PU(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function FU(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function IU(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var LU=(e,t)=>Math.abs(e-t)<1.01,RU=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},zU,BU=()=>{if(zU!==void 0)return zU;if(typeof navigator>`u`)return zU=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return zU=!0;let e=navigator.maxTouchPoints;return zU=navigator.platform===`MacIntel`&&e!==void 0&&e>0},VU=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},HU=e=>e,UU=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},WU=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(VU(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(VU(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},GU={passive:!0},KU=typeof window>`u`?!0:`onscrollend`in window,qU=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&KU,o=0,s=a?null:RU(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,GU),a&&r.addEventListener(`scrollend`,u,GU),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},JU=(e,t)=>qU(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),YU=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},XU=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},ZU=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:HU,rangeExtractor:UU,onChange:()=>{},measureElement:YU,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=FU(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!BU()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,GU),e.addEventListener(`touchend`,n,GU),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(BU()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=FU(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=FU(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=PU(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=FU(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?$U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:r===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=FU(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=FU(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return IU(t[QU(0,t.length-1,r?e=>n[e*2]:e=>IU(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(BU()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&LU(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},QU=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function $U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:i}){let a=e.length-1,o=i?e=>i[e*2]:t=>e[t].start,s=i?e=>i[e*2]+i[e*2+1]:t=>e[t].end;if(e.length<=r)return{startIndex:0,endIndex:a};let c=QU(0,a,o,n),l=c;if(r===1)for(;l<a&&s(l)<n+t;)l++;else if(r>1){let i=Array(r).fill(0);for(;l<a&&i.some(e=>e<n+t);){let t=e[l];i[t.lane]=t.end,l++}let o=Array(r).fill(n+t);for(;c>=0&&o.some(e=>e>=n);){let t=e[c];o[t.lane]=t.start,c--}c=Math.max(0,c-c%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:c,endIndex:l}}var eW=typeof document<`u`?b.useLayoutEffect:b.useEffect;function tW({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=b.useReducer(e=>e+1,0)[1],a=b.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,NU.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=b.useState(()=>{let e=new ZU(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),eW(()=>c._didMount(),[]),eW(()=>c._willUpdate()),eW(()=>{o(c)}),c}function nW(e){return tW({observeElementRect:WU,observeElementOffset:JU,scrollToFn:XU,...e})}function rW(e){return Nz(e)}function iW(e){return e==null?`—`:`$`+e.toFixed(2)}function aW(e){if(!e||e<=0)return`—`;let t=Math.floor(e/60),n=Math.floor(t/60);return n>0?`${n}h ${t%60}m`:`${t}m`}function oW(e){return e?new Date(e*1e3).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):`—`}var sW=lH(),cW={review:`tag-review`,exploration:`tag-exploration`,planning:`tag-planning`,memory:`tag-memory`,generic:`tag-generic`};function lW({data:e}){let[t,n]=(0,b.useState)(``),[r,i]=(0,b.useState)([{id:`started_at`,desc:!0}]),a=(0,b.useRef)(null),o=(0,b.useMemo)(()=>{if(!e?.data)return[];let n=t.toLowerCase();return n?e.data.filter(e=>(e.repo_label||``).toLowerCase().includes(n)||(e.model_name||``).toLowerCase().includes(n)||(e.agent_role||``).toLowerCase().includes(n)||(e.agent_nickname||``).toLowerCase().includes(n)||(e.title||``).toLowerCase().includes(n)||(e.descendant_models||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_families||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_roles||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.descendant_nicknames||[]).some(e=>(e||``).toLowerCase().includes(n))||(e.related_titles||[]).some(e=>(e||``).toLowerCase().includes(n))):e.data},[e,t]),s=(0,b.useMemo)(()=>[sW.accessor(`started_at`,{header:`Time`,cell:e=>oW(e.getValue()),size:130}),sW.accessor(`repo_label`,{header:`Repo`,cell:e=>e.getValue()||`—`,size:140}),sW.accessor(`model_name`,{header:`Model`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`0.72rem`},children:e.getValue()||`?`}),size:130}),sW.accessor(`thread_count`,{header:`Threads`,cell:e=>{let t=e.getValue()||1,n=e.row.original;return t>1?`${t} (${n.subagent_count||0} sub)`:`1`},size:92}),sW.accessor(`agent_family`,{header:`Root`,cell:e=>(0,z.jsx)(`span`,{className:`tag ${cW[e.getValue()]||`tag-generic`}`,children:e.getValue()}),size:100}),sW.accessor(`agent_nickname`,{header:`Agent`,cell:e=>e.getValue()||`—`,size:85}),sW.accessor(`reasoning_effort`,{header:`Effort`,cell:e=>e.getValue()||`—`,size:70}),sW.accessor(`elapsed_seconds`,{header:`Duration`,cell:e=>aW(e.getValue()),size:85}),sW.accessor(`tokens_used`,{header:`Tokens`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:rW(e.getValue())}),size:90}),sW.accessor(`cost`,{header:`Cost`,cell:e=>(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:e.getValue()==null?`—`:iW(e.getValue())}),size:80}),sW.accessor(`title`,{header:`Title`,cell:e=>(0,z.jsx)(`span`,{title:e.getValue(),style:{opacity:.6},children:(e.getValue()||``).slice(0,55)}),size:240})],[]),c=MU({data:o,columns:s,state:{sorting:r},onSortingChange:i,getCoreRowModel:EU(),getSortedRowModel:DU()}),l=c.getRowModel().rows,u=(0,b.useMemo)(()=>o.reduce((e,t)=>(e.sessions+=1,e.tokens+=t.tokens_used||0,e.cost+=t.cost||0,e.elapsed+=t.elapsed_seconds||0,e),{sessions:0,tokens:0,cost:0,elapsed:0}),[o]),d=nW({count:l.length,getScrollElement:()=>a.current,estimateSize:()=>36,overscan:10,getItemKey:e=>l[e]?.id??e}),f=d.getVirtualItems(),p=f.length>0?f[0].start:0,m=f.length>0?d.getTotalSize()-f[f.length-1].end:0;return(0,z.jsx)(`div`,{className:`animate-in`,children:(0,z.jsxs)(`div`,{className:`table-wrap`,children:[(0,z.jsx)(`div`,{className:`table-search`,children:(0,z.jsx)(`input`,{placeholder:`Search sessions...`,value:t,onChange:e=>n(e.target.value)})}),(0,z.jsxs)(`div`,{style:{fontSize:`0.7rem`,color:`var(--text-muted)`,padding:`0.4rem 1rem`,borderBottom:`1px solid var(--border)`},children:[o.length.toLocaleString(),` root sessions`,e&&!e.complete&&(0,z.jsx)(`span`,{className:`incomplete-badge`,style:{marginLeft:`0.5rem`},children:`partial`})]}),(0,z.jsxs)(`div`,{style:{fontSize:`0.7rem`,color:`var(--text-muted)`,padding:`0.45rem 1rem`,borderBottom:`1px solid var(--border)`,display:`flex`,gap:`1rem`,flexWrap:`wrap`},children:[(0,z.jsxs)(`span`,{children:[`Filtered sessions: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:u.sessions.toLocaleString()})]}),(0,z.jsxs)(`span`,{children:[`Tokens: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:rW(u.tokens)})]}),(0,z.jsxs)(`span`,{children:[`Cost: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:iW(u.cost)})]}),(0,z.jsxs)(`span`,{children:[`Time: `,(0,z.jsx)(`strong`,{style:{color:`var(--text-secondary)`},children:aW(u.elapsed)})]})]}),(0,z.jsx)(`div`,{ref:a,style:{height:`600px`,overflow:`auto`},children:(0,z.jsxs)(`table`,{style:{tableLayout:`fixed`,width:`100%`},children:[(0,z.jsx)(`thead`,{style:{position:`sticky`,top:0,background:`var(--bg-card)`,zIndex:1},children:c.getHeaderGroups().map(e=>(0,z.jsx)(`tr`,{children:e.headers.map(e=>(0,z.jsxs)(`th`,{style:{width:e.getSize()},onClick:e.column.getToggleSortingHandler(),children:[OU(e.column.columnDef.header,e.getContext()),{asc:` ↑`,desc:` ↓`}[e.column.getIsSorted()]||``]},e.id))},e.id))}),(0,z.jsxs)(`tbody`,{children:[f.length===0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{textAlign:`center`,padding:`2rem`,color:`var(--text-muted)`},children:`No sessions`})}),p>0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{height:`${p}px`,padding:0,borderBottom:`none`}})}),f.map(e=>{let t=l[e.index];return(0,z.jsx)(`tr`,{style:{height:e.size},children:t.getVisibleCells().map(e=>(0,z.jsx)(`td`,{style:{width:e.column.getSize()},children:OU(e.column.columnDef.cell,e.getContext())},e.id))},t.id)}),m>0&&(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:s.length,style:{height:`${m}px`,padding:0,borderBottom:`none`}})})]})]})})]})})}function uW(){return{ingest_id:null,seq:0,overview:{total:{},d7:{},d30:{},cost_assumptions:null},repos:{total:[],d7:[],d30:[]},models:{total:[],d7:[],d30:[]},families:{total:[],d7:[],d30:[]},daily:{},heatmap:{}}}function dW(e,t,n){let r=n===`bootstrap`||n===`snapshot`||n===`complete`||!e||e.ingest_id!==t.ingest_id?uW():{...e};return r.ingest_id=t.ingest_id,r.seq=t.seq,t.data?.overview?r.overview={...r.overview,...t.data.overview,total:t.data.overview.total?{...r.overview.total,...t.data.overview.total}:r.overview.total,d7:t.data.overview.d7?{...r.overview.d7,...t.data.overview.d7}:r.overview.d7,d30:t.data.overview.d30?{...r.overview.d30,...t.data.overview.d30}:r.overview.d30}:e&&(r.overview=e.overview),r.repos=fW(e?.repos,t.data?.repos,r.repos),r.models=fW(e?.models,t.data?.models,r.models),r.families=fW(e?.families,t.data?.families,r.families),r.daily=t.data?.daily?{...e?.daily||{},...t.data.daily}:e?.daily||r.daily,r.heatmap=t.data?.heatmap?{...e?.heatmap||{},...t.data.heatmap}:e?.heatmap||r.heatmap,r}function fW(e,t,n){if(!t)return e||n;let r={total:e?e.total:n.total,d7:e?e.d7:n.d7,d30:e?e.d30:n.d30};for(let e of[`total`,`d7`,`d30`])t[e]&&(r[e]=t[e]);return r}function pW(e){return e?{overview:{data:e.overview,coverage:e.overview?.total?.coverage||{total:0,enriched:0,priced:0,time_valid:0}},repos:{data:e.repos},models:{data:e.models},families:{data:e.families},daily:{data:Object.entries(e.daily).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({date:e,...t}))},heatmap:{data:e.heatmap}}:null}function mW(e,t,n=0){let r=uW();return r.ingest_id=t||null,r.seq=n,r.overview=e?.overview?.data||r.overview,r.repos=e?.repos?.data||r.repos,r.models=e?.models?.data||r.models,r.families=e?.families?.data||r.families,r.daily=Object.fromEntries((e?.daily?.data||[]).map(e=>[e.date,{...e}])),r.heatmap=e?.heatmap?.data||r.heatmap,r}function hW(e){let t=e.replay?.bootstrap?.payload||{},n=CW(t.progress||{percent:0,complete:!1}),r=dW(null,t,`bootstrap`),i=e.replay?.events||[],a=i.findIndex(EW),o=a>=0&&i[a].at_ms||0,s=wW(e,r,i),c=s[0]?.presentation||MW(),l=CW(a>=0&&i[a].payload?.progress||n),u=Math.max(e.startHoldDurationMs||0,0),d=Math.max(e.replayDurationMs||e.replay?.duration_ms||1,1),f=Math.max(e.tailDurationMs||0,0),p=Math.max(e.finalHoldDurationMs||0,0),m=Math.max(e.durationMs||u+d+f+p||1,1),h=Math.max(e.replay?.duration_ms||0,0),g=Math.min(Math.max(o,0),h),_=Math.max(1,h-g),v=NW(e.tailSourceFraction??.035),y=Math.max(1,Math.round(_*v)),b=Math.max(0,_-y),x=Math.max(g,h-y),S=e.replayEasing||`cubicInOut`,C=e.tailEasing||`cubicInOut`,w=TW(e)||s[s.length-1]?.presentation||c,T=jW(s,x),E=Math.min(3600,Math.max(1800,Math.round(d*.32))),D=Math.max(0+u,0+u+d-E),O=NW((D-(0+u))/Math.max(d,1)),k=Math.round(g+b*BW(S,O)),A=AW({keyframes:s,startSourceMs:k,endSourceMs:x,startPresentation:jW(s,k),endPresentation:T,durationMs:E,startSmoothing:.05,endSmoothing:.14}),j=kW({keyframes:s,tailSourceStartMs:x,sourceDurationMs:h,tailStartPresentation:T,finalPresentation:w,tailDurationMs:f});return{renderData:e,totalDurationMs:m,frontloadSettledDurationMs:0,startHoldDurationMs:u,replayDurationMs:d,tailDurationMs:f,finalHoldDurationMs:p,sourceDurationMs:h,sourceStartMs:g,effectiveSourceDurationMs:_,tailSourceDurationMs:y,tailSourceStartMs:x,mainReplaySourceDurationMs:b,replayStartMs:u,lateReplayStartMs:D,lateReplayDurationMs:E,lateReplaySourceStartMs:k,tailStartMs:u+d,finalHoldStartMs:u+d+f,currentSeekMs:0,started:!1,finished:!1,startWallClockMs:0,initialPresentation:c,presentation:c,keyframes:s,keyframeIndex:0,lateReplayFrames:A,tailStartPresentation:T,tailFrames:j,finalPresentation:w,progress:l||{...n,percent:0,complete:!1},bootstrapProgress:n,replayEasing:S,tailEasing:C,debugState:null,debugTrace:[]}}function gW(e){return{liveData:{ready:!0},presentation:e.presentation,rawPresentation:e.presentation,progress:e.progress,phase:e.debugState?.phase||`replay`,seekMs:e.currentSeekMs||0}}function _W(e,t){let n=Math.min(Math.max(Number(t)||0,0),e.totalDurationMs);e.currentSeekMs=n;let r=`replay`,i=0,a=null;if(n<e.startHoldDurationMs)r=`start_hold`,e.presentation=e.initialPresentation||MW();else if(n<e.tailStartMs)if(n<e.lateReplayStartMs)i=vW(e,n),e.presentation=DW(e,i);else{let t=NW((n-e.lateReplayStartMs)/Math.max(e.lateReplayDurationMs,1));i=PW(e.lateReplaySourceStartMs,e.tailSourceStartMs,t),e.presentation=OW(e.lateReplayFrames,LW(t))}else n<e.finalHoldStartMs?(r=`tail`,a=NW((n-e.tailStartMs)/Math.max(e.tailDurationMs,1)),e.presentation=OW(e.tailFrames,BW(e.tailEasing,a))):(r=`final_hold`,e.presentation=e.finalPresentation);n>=e.finalHoldStartMs?((n-e.finalHoldStartMs)/Math.max(e.finalHoldDurationMs||1,1),e.progress={...e.progress||{},percent:1,complete:!0,phase:`complete`}):e.progress={...e.progress||{},complete:!1},n>=e.totalDurationMs&&(e.finished=!0);let o={frame:e.debugTrace.length,seekMs:n,phase:r,sourceMs:i,tailProgress:a,progress:e.progress?.percent??0,complete:!!e.progress?.complete,signature:FW(e.presentation)};return e.debugState=o,e.debugTrace.push(o),gW(e)}function vW(e,t){if(t<=e.replayStartMs)return 0;let n=t-e.replayStartMs;if(n<=e.replayDurationMs){let t=NW(n/Math.max(e.replayDurationMs,1));return e.sourceStartMs+e.mainReplaySourceDurationMs*BW(e.replayEasing,t)}return e.sourceDurationMs}function yW(e,t,n,r){if(!e)return t;let i=Iz.videoExport||{};if(r<(i.displayTweenStartMs??200))return t;let a=(i.startHoldDurationMs??0)+(i.replayDurationMs??0)+(i.tailDurationMs??0)+(i.finalHoldDurationMs??0)||19e3,o=i.displayTweenLateWindowMs??2200,s=NW((r-(a-o))/Math.max(o,1)),c=Math.round(PW(i.displayTweenBaseMs??240,i.displayTweenLateMs??420,RW(s))),l=RW(1-Math.exp(-n/Math.max(c,1))),u=e.progress||{},d=t.progress||{};return{liveData:t.liveData,presentation:wB(e.presentation,t.presentation,l),rawPresentation:t.rawPresentation||t.presentation,progress:{...d,percent:PW(u.percent||0,d.percent||0,l),complete:d.complete},phase:t.phase,seekMs:t.seekMs||0}}function bW(e,t){let n=Iz.videoExport||{},r=Math.max(n.finalFlashDurationMs??280,0),i=Math.max(n.finalFlashDelayMs??0,0),a=Math.max(n.finalFlashMaxOpacity??.22,0);if(!r||!a||t==null)return{opacity:0,boxShadow:`none`};let o=e-t-i;if(o<0||o>r)return{opacity:0,boxShadow:`none`};let s=a*(1-RW(NW(o/r)));return{opacity:s,boxShadow:`0 0 120px 50px rgba(255, 255, 255, ${Math.min(1,s*.7)}) inset`}}function xW(e){let t=Iz.videoExport||{};if(!t.introFadeEnabled)return 0;let n=Math.max(0,Math.min(1,t.introFadeStartOpacity??.2)),r=Math.max(0,t.introFadeDelayMs??0),i=Math.max(0,t.introFadeDurationMs??900);if(!n)return 0;if(e<=r)return n;if(!i)return 0;let a=NW((e-r)/i);return n*(1-BW(t.introFadeEasing||`cubicOut`,a))}function SW(e){let t=Iz.videoExport||{};if(!t.introFadeEnabled)return 1;let n=Math.max(0,Math.min(1,t.introContentStartOpacity??.35)),r=Math.max(0,t.introFadeDelayMs??0),i=Math.max(0,t.introFadeDurationMs??900);if(e<=r)return n;if(!i)return 1;let a=NW((e-r)/i);return PW(n,1,BW(t.introFadeEasing||`cubicOut`,a))}function CW(e){return e?{...e}:null}function wW(e,t,n){let r=[],i=t;for(let e of n)EW(e)&&(i=dW(i,e.payload,e.event),r.push({at_ms:Math.max(0,e.at_ms||0),presentation:yB({overview:{data:i.overview},heatmap:{data:i.heatmap},daily:{data:Object.entries(i.daily).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({date:e,...t}))},families:{data:i.families},repos:{data:i.repos},models:{data:i.models},range:`total`})}));return r.length||r.push({at_ms:0,presentation:MW()}),r}function TW(e){let t=e.settledEnvelope;return t?.overview?.data?yB({overview:t.overview,heatmap:t.heatmap||{data:{}},daily:t.daily||{data:[]},families:t.families||{data:{total:[],d7:[],d30:[]}},repos:t.repos||{data:{total:[],d7:[],d30:[]}},models:t.models||{data:{total:[],d7:[],d30:[]}},range:`total`}):null}function EW(e){return e?.payload?.data&&(e.event===`patch`||e.event===`snapshot`||e.event===`complete`)}function DW(e,t){return jW(e.keyframes,t,e)}function OW(e,t){if(!e?.length)return MW();if(t<=e[0].u)return e[0].presentation;for(let n=0;n<e.length-1;n+=1){let r=e[n],i=e[n+1];if(t<=i.u){let e=NW((t-r.u)/Math.max(i.u-r.u,1e-6));return wB(r.presentation,i.presentation,e)}}return e[e.length-1].presentation}function kW({keyframes:e,tailSourceStartMs:t,sourceDurationMs:n,tailStartPresentation:r,finalPresentation:i,tailDurationMs:a}){return AW({keyframes:e,startSourceMs:t,endSourceMs:n,startPresentation:r,endPresentation:i,durationMs:a,startSmoothing:.08,endSmoothing:.2,bidirectional:!0})}function AW({keyframes:e,startSourceMs:t,endSourceMs:n,startPresentation:r,endPresentation:i,durationMs:a,startSmoothing:o,endSmoothing:s,bidirectional:c=!1}){let l=Math.max(36,Math.min(96,Math.round(a/80))),u=[{u:0,presentation:r}];for(let r=1;r<l-1;r+=1){let i=r/(l-1),a=PW(t,n,i);u.push({u:i,presentation:jW(e,a)})}u.push({u:1,presentation:i});let d=[{u:0,presentation:r}],f=r;for(let e=1;e<u.length-1;e+=1){let t=u[e],n=PW(o,s,t.u);f=wB(f,t.presentation,n),d.push({u:t.u,presentation:f})}if(d.push({u:1,presentation:i}),!c)return d;let p=Array(u.length);p[u.length-1]={u:1,presentation:i};let m=i;for(let e=u.length-2;e>0;--e){let t=u[e],n=PW(s,o,1-t.u);m=wB(m,t.presentation,n),p[e]={u:t.u,presentation:m}}return p[0]={u:0,presentation:r},u.map((e,t)=>t===0?{u:0,presentation:r}:t===u.length-1?{u:1,presentation:i}:{u:e.u,presentation:wB(d[t].presentation,p[t].presentation,LW(e.u))})}function jW(e,t,n=null){if(!e.length)return MW();if(t<=e[0].at_ms)return e[0].presentation;let r=n?.keyframeIndex||0;for(;r+1<e.length&&e[r+1].at_ms<=t;)r+=1;n&&(n.keyframeIndex=r);let i=e[r],a=e[Math.min(r+1,e.length-1)];if(!a||a.at_ms<=i.at_ms)return i.presentation;let o=NW((t-i.at_ms)/Math.max(a.at_ms-i.at_ms,1));return wB(i.presentation,a.presentation,o)}function MW(){return yB({overview:{data:null},heatmap:{data:{}},daily:{data:[]},families:{data:{total:[],d7:[],d30:[]}},repos:{data:{total:[],d7:[],d30:[]}},models:{data:{total:[],d7:[],d30:[]}},range:`total`})}function NW(e){return Math.min(Math.max(e||0,0),1)}function PW(e,t,n){return e+(t-e)*n}function FW(e){if(!e)return null;let t=e.stats||{},n=e.daily||{dates:[],series:[]},r=Array.isArray(e.topRepos)?e.topRepos:[],i=Array.isArray(e.topModels)?e.topModels:[],a=Math.max(0,(n.dates?.length||0)-1),o=n.dates?.[a]||null,s=(n.series||[]).reduce((e,t)=>e+(Number(t?.data?.[a])||0),0),c=r[0]||null,l=i[0]||null;return{totalTokens:Math.round(Number(t.tokens)||0),totalCost:Number((Number(t.cost)||0).toFixed(4)),totalSessions:Math.round(Number(t.sessions)||0),dailyPoints:n.dates?.length||0,lastDailyDate:o,lastDailyTotal:Math.round(s),topRepo:c?.label||null,topRepoValue:Math.round(Number(c?.tokens)||0),topModel:l?.label||null,topModelValue:Math.round(Number(l?.tokens)||0)}}function IW(e){let t=NW(e);return t*t*t}function LW(e){let t=NW(e);return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function RW(e){return 1-(1-NW(e))**3}function zW(e){let t=NW(e),n=[[0,0],[.12,.03],[.24,.09],[.4,.22],[.58,.42],[.74,.62],[.86,.77],[.93,.86],[.975,.93],[.992,.975],[1,1]];for(let e=0;e<n.length-1;e+=1){let[r,i]=n[e],[a,o]=n[e+1];if(t<=a)return PW(i,o,LW(NW((t-r)/Math.max(a-r,1e-6))))}return 1}function BW(e,t){switch(e){case`trainBrake`:return zW(t);case`cubicOut`:return RW(t);case`cubicInOut`:return LW(t);case`linear`:return NW(t);default:return IW(t)}}function VW({jobId:e}){let[t,n]=(0,b.useState)(null),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(!1),l=(0,b.useRef)(null),u=(0,b.useRef)(0),d=(0,b.useRef)(null),f=(0,b.useRef)(0),p=(0,b.useRef)(null);if((0,b.useEffect)(()=>{let t=!0;return(async()=>{try{let r=await fetch(E.url(`/api/export/${encodeURIComponent(e)}/render-data`));if(!r.ok)throw Error(`API error: ${r.status}`);let i=await r.json();if(!t)return;n(i),l.current=hW(i);let a=gW(l.current);d.current=a,f.current=0,o(a),c(!1),p.current=null}catch(e){if(!t)return;i(e.message||String(e))}})(),()=>{t=!1,u.current&&cancelAnimationFrame(u.current)}},[e]),(0,b.useEffect)(()=>{if(!a?.liveData||r)return;let e=!1,t=0,n=0,i=0,o=0,s=0,l=()=>{let t=Array.from(document.querySelectorAll(`.stat-card .stat-value`)),n=Array.from(document.querySelectorAll(`canvas`)),r=t.length>=4&&t.every(e=>String(e.textContent||``).trim().length>0),i=!!document.querySelector(`.overview-daily-spark-chart, .overview-daily-spark-empty`),a=n.length>=3&&i&&n.every(e=>{let t=e.getBoundingClientRect();return t.width>0&&t.height>0}),u=document.querySelectorAll(`.heatmap-cell`).length>=300;if(!(r&&a&&u)){o=requestAnimationFrame(l);return}s=window.setTimeout(()=>{e||c(!0)},180)};return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o=requestAnimationFrame(l)})})}),()=>{e=!0,t&&cancelAnimationFrame(t),n&&cancelAnimationFrame(n),i&&cancelAnimationFrame(i),o&&cancelAnimationFrame(o),s&&window.clearTimeout(s)}},[r,a]),(0,b.useEffect)(()=>{if(a){if(a.phase===`final_hold`){p.current??=a.seekMs||0;return}p.current=null}},[a?.phase,a?.seekMs]),(0,b.useEffect)(()=>{let n=()=>{let e=l.current;if(!e||e.started)return;e.started=!0,e.startWallClockMs=Date.now();let t=()=>{let e=l.current;if(!e)return;let n=Date.now(),r=Math.min(e.totalDurationMs,n-e.startWallClockMs),i=_W(e,r),a=f.current?Math.max(1,n-f.current):16;f.current=n;let s=yW(d.current,i,a,r);if(d.current=s,o(s),r>=e.totalDurationMs){e.finished=!0,u.current=0;return}u.current=requestAnimationFrame(t)};u.current=requestAnimationFrame(t)};return window.__CODEXMETER_EXPORT__={ready:!!(t&&!r&&s),jobId:e,start(){n()},get currentTimeMs(){return l.current?.currentSeekMs||0},get finished(){return!!l.current?.finished},getDebugState(){return l.current?.debugState||null},getDebugTrace(){return l.current?.debugTrace||[]}},()=>{delete window.__CODEXMETER_EXPORT__}},[s,r,e,t]),r)return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsxs)(`div`,{style:WW,children:[`Export error: `,r]})});if(!a?.liveData)return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsx)(`div`,{style:WW,children:`CodexMeter exporting…`})});let m=l.current,h=m?{startMs:m.startHoldDurationMs,endMs:m.finalHoldStartMs}:null;return(0,z.jsx)(`div`,{style:HW,children:(0,z.jsxs)(`div`,{style:UW,children:[(0,z.jsxs)(`div`,{style:{...YW,opacity:SW(a.seekMs)},children:[(0,z.jsx)(fV,{presentation:a.presentation,rawPresentation:a.rawPresentation,ingestProgress:Math.min(Math.max(a.progress?.percent||0,0),1),isIngestActive:!!(a.progress&&!a.progress.complete),exportMode:!1,exportPlayback:!0,exportPhase:a.phase,exportSeekMs:a.seekMs,exportDaily:m?.finalPresentation?.daily||null,exportDailyTiming:h}),(0,z.jsxs)(`div`,{style:GW,children:[`Made with `,(0,z.jsx)(`span`,{style:KW,children:`♥`}),` by JJ`]})]}),(0,z.jsx)(`div`,{style:{...JW,opacity:xW(a.seekMs)}}),(0,z.jsx)(`div`,{style:{...qW,...bW(a.seekMs,p.current)}})]})})}var HW={width:`100vw`,minHeight:`100vh`,background:`#06080f`,display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`hidden`},UW={position:`relative`,width:1080,height:864,padding:`24px 28px 20px`,background:`#06080f`,overflow:`hidden`},WW={color:`#8b949e`,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,fontSize:18},GW={position:`absolute`,right:18,bottom:10,color:`rgba(139, 148, 158, 0.58)`,fontSize:10,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,letterSpacing:`0.02em`,opacity:.62,pointerEvents:`none`},KW={color:`rgba(244, 63, 94, 0.52)`},qW={position:`absolute`,inset:0,background:`linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,255,1) 100%)`,pointerEvents:`none`,zIndex:20,mixBlendMode:`screen`},JW={position:`absolute`,inset:0,background:`#000000`,pointerEvents:`none`,zIndex:30},YW={position:`relative`,zIndex:1},XW=[`Overview`,`Repos`,`Models`,`Daily`,`Sessions`],ZW=[{key:`d7`,label:`7d`},{key:`d30`,label:`30d`},{key:`total`,label:`All`}];function QW(e){return e?new Date(e*1e3).toLocaleDateString(`en-US`,{month:`short`,day:`2-digit`}):`—`}function $W(e){return!Number.isFinite(e)||e<=0?0:Math.floor(e/86400)*86400}function eG(e){let t=Date.parse(`${e}T12:00:00Z`);return Number.isFinite(t)?Math.floor(t/1e3):null}var tG={idle:`Starting...`,inventory:`Reading threads`,normalizing:`Normalizing`,enrichment:`Enriching rollouts`,aggregation:`Building aggregates`,finalizing:`Finalizing view`,complete:`Complete`,error:`Error`};function nG(e){return Object.values(e?.daily||{}).filter(e=>(e?.tokens||0)>0||(e?.sessions||0)>0).length>=7}function rG(){let e=typeof window<`u`?new URLSearchParams(window.location.search):null,t=e?.get(`export`),n=e?.get(`job`);if(t===`overview-video`&&n)return(0,z.jsx)(VW,{jobId:n});let[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(`Overview`),[s,c]=(0,b.useState)(`total`),[l,u]=(0,b.useState)({}),[d,f]=(0,b.useState)(null),[p,m]=(0,b.useState)(!0),[h,g]=(0,b.useState)(!1),[_,v]=(0,b.useState)(!1),[y,x]=(0,b.useState)(!1),[S,C]=(0,b.useState)(!1),[w,T]=(0,b.useState)(!1),[D,O]=(0,b.useState)(!0),[k,A]=(0,b.useState)(!1),[j,ee]=(0,b.useState)(null),[M,N]=(0,b.useState)(!1),[P,F]=(0,b.useState)(!1),[I,te]=(0,b.useState)({available:!0,reason:null,portable_download:null}),[ne,re]=(0,b.useState)(null),[ie,ae]=(0,b.useState)(null),[oe,se]=(0,b.useState)(null),[ce,L]=(0,b.useState)(null),[le,ue]=(0,b.useState)(null),[de,fe]=(0,b.useState)(null),pe=(0,b.useRef)(!1),me=(0,b.useRef)(0),he=(0,b.useRef)(null),R=(0,b.useCallback)(async()=>{try{let[e,t,n,r,i,a,o]=await Promise.all([E.overview(),E.repos(),E.models(),E.daily(),E.sessions(),E.heatmap(),E.families()]),s={overview:e,repos:t,models:n,daily:r,sessions:i,heatmap:a,families:o};return u(s),s}catch(e){throw console.error(`Fetch error:`,e),e}},[]),ge=(0,b.useCallback)(async()=>{if(!w)try{T(!0),o(`Overview`),await E.rerun(),window.location.reload()}catch(e){console.error(`Rerun error:`,e),T(!1)}},[w]),_e=(0,b.useCallback)(async()=>{if(!(M||[`queued`,`running`].includes(j?.status)))try{N(!0);let e=!I?.available&&I?.portable_download?.available,t=!1;if(e){let e=I.portable_download.approx_size_mb?`about ${I.portable_download.approx_size_mb} MB`:`a fairly large download`;if(!window.confirm(`No supported browser was found for video export.\n\nCodexMeter can download a single-use portable Chromium bundle (${e}) for this export only, then delete it afterward.\n\nDo you want to continue?`))return;t=!0,F(!0)}ee(await E.startOverviewVideoExport(t?{install_portable_browser:!0}:{}))}catch(e){console.error(`Video export error:`,e)}finally{N(!1)}},[j?.status,I,M]);(0,b.useEffect)(()=>{P&&j&&j.phase!==`downloading_browser`&&(j.phase===`rendering`||j.phase===`encoding`||j.status===`complete`||j.status===`failed`)&&F(!1)},[j,P]);let ve=(0,b.useCallback)(()=>{!j?.id||j.status!==`complete`||(window.location.href=E.url(`/api/export/${encodeURIComponent(j.id)}/file`))},[j]);(0,b.useEffect)(()=>{!j?.id||j.status!==`complete`||he.current!==j.id&&(he.current=j.id,window.location.href=E.url(`/api/export/${encodeURIComponent(j.id)}/file`))},[j]),(0,b.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await E.exportSupport();e&&te(t)}catch(t){console.error(`Export support probe error:`,t),e&&te({available:!1,reason:`Video export availability could not be detected.`,portable_download:null})}})(),()=>{e=!1}},[]),(0,b.useEffect)(()=>{let e=!0,t=null,n=null,r=!1,a=!1,o=!1,s=!1,c=[],l=0,u=null,d=null,p=null,m=!1,h=()=>{p&&=(clearTimeout(p),null)},g=()=>{if(l=0,!e||c.length===0)return;let t=u,n=d;for(let e of c){let{payload:r,mode:i,progressOnly:a}=e;if(n=r.progress,!a){if(t&&r.ingest_id===t.ingest_id&&r.seq<=t.seq)continue;t=dW(t,r,i)}}zB(`apply`,{events:c.map(e=>({mode:e.mode,progressOnly:e.progressOnly,seq:e.payload?.seq})),progress:n,state:RB(t,n)}),c=[],n!==d&&(d=n,i(n)),t!==u&&(u=t,f(t),!m&&nG(t)&&(m=!0,v(!0),zB(`initial-live-ready`,RB(t,n))))},_=(e,t,n=!1)=>{zB(`receive`,{mode:t,progressOnly:n,payload:LB(e)}),c.push({payload:e,mode:t,progressOnly:n}),h(),l||=requestAnimationFrame(g)},y=(e,t=null,n=0)=>{let r=mW(e,t,Math.max((u?.seq||0)+1,n,1));u=r,f(r)},b=async(t,n=null,{hydrateLiveState:r=!1,seq:i=0}={})=>{if(!(!e||!t)){if(t.complete){if(o)return;o=!0;let t=await R();return e&&r&&y(t,n,i),t}if(t.partial_ready&&!s){s=!0;try{return await R()}catch(e){throw s=!1,e}}}},x=()=>{if(r||!e)return;r=!0;let n=async()=>{try{let n=await E.progress();if(!e)return;if(i(n),n.percent>.08&&await R(),n.complete){await R(),clearInterval(t);return}(n.error||n.phase===`error`)&&clearInterval(t)}catch(e){console.error(`Polling fallback error:`,e)}};n(),t=setInterval(n,1200)};return(()=>{if(typeof EventSource>`u`){x();return}n=E.live(),n.addEventListener(`bootstrap`,t=>{if(!e)return;let n=JSON.parse(t.data);_(n,`bootstrap`),b(n.progress,n.ingest_id).catch(e=>{console.error(`Settled fetch error:`,e),o=!1})}),n.addEventListener(`progress`,t=>{if(!e)return;let n=JSON.parse(t.data);_(n,`progress`,!0),b(n.progress,n.ingest_id).catch(e=>{console.error(`Settled fetch error:`,e),o=!1})}),n.addEventListener(`patch`,t=>{e&&_(JSON.parse(t.data),`patch`)}),n.addEventListener(`snapshot`,t=>{e&&_(JSON.parse(t.data),`snapshot`)}),n.addEventListener(`complete`,async t=>{if(!e)return;let r=JSON.parse(t.data);a=!0,_(r,r.data?`complete`:`progress`,!r.data),await b(r.progress,r.ingest_id,{hydrateLiveState:!0,seq:(r.seq||0)+1}),e&&n?.close()}),n.addEventListener(`ingest-error`,t=>{if(!e)return;let r=JSON.parse(t.data);a=!0,_(r,`progress`,!0),n?.close()}),n.addEventListener(`error`,t=>{if(e&&!a){if(n?.readyState===EventSource.CLOSED){console.warn(`SSE stream closed, falling back to polling:`,t),x();return}n?.readyState===EventSource.CONNECTING&&!r&&!p&&(p=setTimeout(()=>{p=null,!(!e||a||r)&&n?.readyState!==EventSource.OPEN&&(console.warn(`SSE stream stalled during reconnect, falling back to polling:`,t),n?.close(),x())},4e3))}})})(),()=>{e=!1,clearInterval(t),h(),l&&cancelAnimationFrame(l),n?.close()}},[R]),(0,b.useEffect)(()=>{if(r){if((_||r.partial_ready||r.percent>.08)&&p&&!h){g(!0);let e=setTimeout(()=>m(!1),600);return()=>clearTimeout(e)}if(r.complete&&p&&!h){g(!0);let e=setTimeout(()=>m(!1),600);return()=>clearTimeout(e)}}},[r,_,p,h]);let ye=!!r?.complete,be=!!l.overview?.data,xe=ye||be,Se=Math.round((r?.percent||0)*100),Ce=Math.min(Math.max(r?.percent||0,0),1),we=!ye||k,Te=!!(r&&we&&r.phase!==`error`);(0,b.useEffect)(()=>{r?.complete||O(!1)},[r?.complete]),(0,b.useEffect)(()=>{let e=ye&&!pe.current;if(pe.current=ye,!ye){A(!1);return}if(e&&!D){A(!0);return}k&&D&&A(!1)},[ye,D,k]),(0,b.useEffect)(()=>{let e=!0,t=null,n=async()=>{try{let r=!!j?.id,i=r?await E.exportStatus(j.id):await E.activeExport();if(!e)return;let a=r?i:i.job;if(!a){j?.id||ee(null);return}ee(a),[`complete`,`failed`].includes(a.status)||(t=setTimeout(n,900))}catch(t){if(!e)return;console.error(`Export status error:`,t)}};return ye&&n(),()=>{e=!1,t&&clearTimeout(t)}},[ye,j?.id]),(0,b.useEffect)(()=>{!we&&!y&&x(!0),we&&(x(!1),C(!1))},[we,y]),(0,b.useEffect)(()=>{if(!y)return;let e=setTimeout(()=>C(!0),350);return()=>clearTimeout(e)},[y]);let Ee=(0,b.useMemo)(()=>d?pW(d):null,[d]),De=!!(Ee&&!be),Oe=De?Ee.overview:l.overview||Ee?.overview,ke=De?Ee.heatmap:l.heatmap||Ee?.heatmap,Ae=De?Ee.daily:l.daily||Ee?.daily,je=De?Ee.families:l.families||Ee?.families,Me=De?Ee.repos:l.repos||Ee?.repos,Ne=De?Ee.models:l.models||Ee?.models,Pe=Oe?.data,Fe=(Pe?.[s]||Pe?.total||{})?.date_range,Ie=Te&&de?.from?eG(de.from):null,Le=Te&&de?.to?eG(de.to):null,Re=Fe&&Le?{...Fe,from:Ie||Fe.from,to:Le}:Fe;(0,b.useEffect)(()=>{if(me.current&&=(cancelAnimationFrame(me.current),0),!Re?.from||!Re?.to){re(null);return}let e={from:$W(Re.from),to:$W(Re.to)};return re(t=>{if(!t||ye||Te||t.from!==e.from||e.to<=t.to)return e;let n=t.to,r=e.to,i=Math.max(1,Math.round((r-n)/86400)),a=Math.min(1400,Math.max(320,i*110)),o=performance.now(),s=t=>{let i=Math.min(1,(t-o)/a),c=$W(n+(r-n)*i);re(t=>!t||t.from!==e.from||c<=t.to?t:{...t,to:c}),i<1?me.current=requestAnimationFrame(s):(me.current=0,re(e))};return me.current=requestAnimationFrame(s),t}),()=>{me.current&&=(cancelAnimationFrame(me.current),0)}},[ye,Re?.from,Re?.to,Te]);let ze=M||[`queued`,`running`].includes(j?.status),Be=!I?.available&&I?.portable_download?.available,Ve=P||Be&&M||Be&&j?.phase===`downloading_browser`?`Downloading single-use portable Chromium for this export.`:!I?.available&&!Be?I.reason||`Video export requires Chrome, Chromium, or Edge.`:Be?`No supported browser found. Click to download a single-use portable Chromium for this export.`:ye?ze?`Video export is already running.`:`Render Overview ingest replay video`:`Finish ingest to render the replay video.`,He=(0,b.useCallback)(e=>{e&&(c(`d7`),o(`Daily`),ae({id:Date.now(),centerDate:e}))},[]),Ue=(0,b.useCallback)(e=>{e&&(o(`Repos`),se({id:Date.now(),repoLabel:String(e)}))},[]),We=(0,b.useCallback)(e=>{e&&(o(`Models`),L({id:Date.now(),modelName:String(e)}))},[]),Ge=j?.status===`complete`?`Download MP4`:P||ze&&(M&&Be||j?.phase===`downloading_browser`)?`Downloading ${Math.max(1,Math.round((j?.progress||.03)*100))}%`:ze?`Rendering ${Math.max(1,Math.round((j?.progress||0)*100))}%`:`Render Video`;return(0,z.jsxs)(`div`,{className:`app`,children:[p&&(0,z.jsxs)(`div`,{className:`loading-overlay ${h?`fading`:``}`,children:[(0,z.jsx)(`div`,{className:`loading-logo`,children:`CodexMeter`}),(0,z.jsx)(`div`,{className:`loading-bar-wrap`,children:(0,z.jsx)(`div`,{className:`loading-bar`,style:{width:`${Se}%`}})}),(0,z.jsx)(`div`,{className:`loading-phase`,children:tG[r?.phase]||`Starting...`}),r?.phase===`enrichment`&&(0,z.jsxs)(`div`,{className:`loading-detail`,children:[r.enriched,`/`,r.needs_enrichment,` rollouts`,r.current_date_bucket&&` — ${r.current_date_bucket}`]}),r?.phase===`error`&&r?.error&&(0,z.jsx)(`div`,{className:`loading-detail`,children:r.error}),(0,z.jsxs)(`div`,{className:`loading-footer`,children:[`Made with `,(0,z.jsx)(`span`,{className:`loading-heart`,children:`♥`}),` by JJ`]})]}),(0,z.jsxs)(`div`,{className:`app-content ${h||!p?`app-content-revealed`:``}`,children:[(0,z.jsx)(`nav`,{className:`navbar`,children:(0,z.jsxs)(`div`,{className:`navbar-inner`,children:[(0,z.jsx)(`span`,{className:`navbar-brand`,children:`CodexMeter`}),(0,z.jsx)(`div`,{className:`navbar-tabs`,children:XW.map(e=>(0,z.jsx)(`button`,{className:`navbar-tab ${a===e?`active`:``} ${!xe&&e!==`Overview`?`navbar-tab-dimmed`:``}`,onClick:()=>o(e),disabled:!xe&&e!==`Overview`,children:e},e))}),(0,z.jsx)(`div`,{className:`navbar-meta`,children:Re&&(0,z.jsxs)(`div`,{className:`navbar-date-wrap ${xe?``:`navbar-date-wrap-dimmed`}`,children:[(0,z.jsxs)(`span`,{className:`navbar-date`,style:{fontSize:`0.78rem`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:[QW(ne?.from||Re.from),` — `,QW(ne?.to||Re.to)]}),(0,z.jsx)(`div`,{className:`range-toggle`,children:ZW.map(e=>(0,z.jsx)(`button`,{className:`range-btn ${s===e.key?`active`:``}`,onClick:()=>c(e.key),disabled:!xe,children:e.label},e.key))}),(0,z.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Rerun ingest`,title:`Rerun ingest`,onClick:ge,disabled:w||!ye,children:`↻`}),(0,z.jsx)(`button`,{type:`button`,className:`navbar-tab active export-video-btn ${I?.available?``:`range-btn-unsupported`}`,onClick:j?.status===`complete`?ve:_e,disabled:!I?.available&&!Be||!ye||ze,style:{minWidth:110},title:j?.status===`complete`?`Download rendered Overview video`:Ve,children:Ge})]})})]})}),(0,z.jsxs)(`div`,{className:`main-content`,children:[a===`Overview`&&(0,z.jsx)(hV,{data:Oe,heatmap:ke,daily:Ae,families:je,repos:Me,models:Ne,range:s,onPresentationSettledChange:O,ingestProgress:Ce,isIngestActive:Te,currentDateBucket:r?.current_date_bucket||null,onDailyDebugStatsChange:ue,onPresentationDateRangeChange:fe,onNavigateToDailyDay:He,onNavigateToRepo:Ue,onNavigateToModel:We}),a===`Repos`&&(0,z.jsx)(jV,{data:l.repos,range:s,focusRequest:oe,onFocusRequestConsumed:()=>se(null)}),a===`Models`&&(0,z.jsx)(zV,{data:l.models,range:s,focusRequest:ce,onFocusRequestConsumed:()=>L(null)}),a===`Daily`&&(0,z.jsx)(cH,{data:l.daily,range:s,navigateToDayRequest:ie,onNavigateToDayConsumed:()=>ae(null)}),a===`Sessions`&&(0,z.jsx)(lW,{data:l.sessions})]}),Te&&le&&(0,z.jsxs)(`div`,{className:`app-footer-debug`,children:[`Daily Usage presentation: `,le.speedDaysPerSecond.toFixed(1),` days/s`,le.waitingForDailyData?` (waiting for daily data)`:``]}),(0,z.jsxs)(`div`,{className:`app-footer`,children:[`Made with `,(0,z.jsx)(`span`,{className:`loading-heart`,children:`♥`}),` by JJ`]})]})]})}x.createRoot(document.getElementById(`root`)).render((0,z.jsx)(rG,{}));
|
package/dist/index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-8ykzgYb0.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/index-DdbEQTfc.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codexmeter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "Local telemetry dashboard for Codex CLI usage",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"pretest": "npm run build",
|
|
25
25
|
"test": "node --test \"test/*.test.js\" \"test/**/*.test.js\"",
|
|
26
26
|
"audit:prod": "npm audit --omit=dev --audit-level=moderate",
|
|
27
|
+
"browser:smoke": "node scripts/browser-smoke.mjs",
|
|
27
28
|
"start": "node bin/codexmeter.js",
|
|
28
29
|
"preview": "npm run build && node bin/codexmeter.js",
|
|
29
30
|
"prepublishOnly": "npm run build"
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
"echarts": "^6.1.0",
|
|
46
47
|
"echarts-for-react": "^3.0.6",
|
|
47
48
|
"nodemon": "^3.1.14",
|
|
49
|
+
"playwright": "^1.61.0",
|
|
48
50
|
"react": "^19.2.7",
|
|
49
51
|
"react-dom": "^19.2.7",
|
|
50
52
|
"vite": "^8.0.16"
|
package/server/day-key.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
const dayFormatterCache = new Map();
|
|
2
|
+
const zonedDayStartCache = new Map();
|
|
3
|
+
|
|
1
4
|
export function createDayKeyFormatter(tz) {
|
|
2
|
-
const formatter =
|
|
3
|
-
timeZone: tz,
|
|
4
|
-
year: 'numeric',
|
|
5
|
-
month: '2-digit',
|
|
6
|
-
day: '2-digit',
|
|
7
|
-
});
|
|
5
|
+
const formatter = getDayFormatter(tz);
|
|
8
6
|
|
|
9
7
|
return (ms) => {
|
|
10
8
|
const parts = formatter.formatToParts(new Date(ms));
|
|
@@ -22,6 +20,9 @@ export function addDaysToDayKey(dayKey, days) {
|
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
export function getZonedDayStartMs(dayKey, tz) {
|
|
23
|
+
const cacheKey = `${tz}\0${dayKey}`;
|
|
24
|
+
if (zonedDayStartCache.has(cacheKey)) return zonedDayStartCache.get(cacheKey);
|
|
25
|
+
|
|
25
26
|
const toDayKey = createDayKeyFormatter(tz);
|
|
26
27
|
const guess = Date.parse(`${dayKey}T00:00:00Z`);
|
|
27
28
|
let low = guess - 36 * 60 * 60 * 1000;
|
|
@@ -33,6 +34,7 @@ export function getZonedDayStartMs(dayKey, tz) {
|
|
|
33
34
|
else high = mid;
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
zonedDayStartCache.set(cacheKey, low);
|
|
36
38
|
return low;
|
|
37
39
|
}
|
|
38
40
|
|
|
@@ -58,3 +60,15 @@ export function splitIntervalByDay(startMs, endMs, tz) {
|
|
|
58
60
|
|
|
59
61
|
return result;
|
|
60
62
|
}
|
|
63
|
+
|
|
64
|
+
function getDayFormatter(tz) {
|
|
65
|
+
if (!dayFormatterCache.has(tz)) {
|
|
66
|
+
dayFormatterCache.set(tz, new Intl.DateTimeFormat('en-CA', {
|
|
67
|
+
timeZone: tz,
|
|
68
|
+
year: 'numeric',
|
|
69
|
+
month: '2-digit',
|
|
70
|
+
day: '2-digit',
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
return dayFormatterCache.get(tz);
|
|
74
|
+
}
|
package/server/index.js
CHANGED
package/server/ingest.js
CHANGED
|
@@ -34,6 +34,7 @@ export function createIngestState() {
|
|
|
34
34
|
enriched: 0,
|
|
35
35
|
current_date_bucket: null,
|
|
36
36
|
percent: 0,
|
|
37
|
+
partial_ready: false,
|
|
37
38
|
complete: false,
|
|
38
39
|
error: null,
|
|
39
40
|
sessions: [],
|
|
@@ -144,6 +145,8 @@ export async function runIngest(codexHome, state, opts = {}) {
|
|
|
144
145
|
state.phase = 'enrichment';
|
|
145
146
|
queueLiveProgress(state);
|
|
146
147
|
|
|
148
|
+
publishPartialAggregates(sessions, state, opts, tz, toDayKey);
|
|
149
|
+
|
|
147
150
|
const bootstrapCandidates = sessions.filter((session) => !session.rollout_path);
|
|
148
151
|
if (bootstrapCandidates.length) {
|
|
149
152
|
assignRootThreadIds(sessions);
|
|
@@ -356,6 +359,7 @@ export function restartIngest(codexHome, state, opts = {}) {
|
|
|
356
359
|
state.enriched = 0;
|
|
357
360
|
state.current_date_bucket = null;
|
|
358
361
|
state.percent = 0;
|
|
362
|
+
state.partial_ready = false;
|
|
359
363
|
state.complete = false;
|
|
360
364
|
state.error = null;
|
|
361
365
|
state.sessions = [];
|
|
@@ -383,6 +387,17 @@ function rebuildAggregates(sessions, state, opts, tz, mode = {}) {
|
|
|
383
387
|
state.generated_at = new Date().toISOString();
|
|
384
388
|
}
|
|
385
389
|
|
|
390
|
+
function publishPartialAggregates(sessions, state, opts, tz, toDayKey) {
|
|
391
|
+
for (const session of sessions) {
|
|
392
|
+
finalizeSessionMetrics(session, toDayKey);
|
|
393
|
+
}
|
|
394
|
+
assignRootThreadIds(sessions, toDayKey);
|
|
395
|
+
rebuildAggregates(sessions, state, opts, tz);
|
|
396
|
+
state.partial_ready = true;
|
|
397
|
+
state.percent = Math.max(state.percent, 0.081);
|
|
398
|
+
queueLiveProgress(state);
|
|
399
|
+
}
|
|
400
|
+
|
|
386
401
|
export function filterVisibleSessions(sessions) {
|
|
387
402
|
return sessions.filter((session) => !isReviewLauncherSession(session));
|
|
388
403
|
}
|
|
@@ -875,6 +890,7 @@ function progressPayload(state) {
|
|
|
875
890
|
enriched: state.enriched,
|
|
876
891
|
current_date_bucket: state.current_date_bucket,
|
|
877
892
|
percent: state.percent,
|
|
893
|
+
partial_ready: state.partial_ready,
|
|
878
894
|
complete: state.complete,
|
|
879
895
|
error: state.error,
|
|
880
896
|
generated_at: state.generated_at,
|