PageSourceSearch

https://betting-insight-ai--guybostonvideo.replit.app/assets/nfl-simulation-tracker-BJ3Pr7Ga.js

js betting-insight-ai--guybostonvideo.replit.app collected 2026-10-03 03:50:58 UTC 21,911 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-ui-DVg5vlja.js";import{r as b}from"./vendor-charts-0WqoWmMF.js";import{u as T}from"./vendor-query-DdcG7b8d.js";import{u as I,L as E,b as O,X as V}from"./layout-G0LJ2LXm.js";import{C as L,e as A}from"./index-BNgjLe9x.js";import{S as F}from"./skeleton-DJZ21Dig.js";import{L as G}from"./lock-D_2SkQQO.js";import{R as U}from"./refresh-cw-CVNP42wc.js";import{C as Y}from"./input-Czw0F4nb.js";import{C as B}from"./circle-x-Cdz_3ZMf.js";import"./vendor-react-BzrpNAyj.js";const C=[7,14,30,365],v=l=>l===null?"—":`${(l*100).toFixed(1)}%`,m=(l,h=1)=>l===null?"—":l.toFixed(h);function H(l){const h=new Map;for(const r of l){const o=r.totalProbabilityMarkets?.length?r.totalProbabilityMarkets:r.totalLine!==null&&r.totalLine!==void 0&&r.totalOverProbability!==null&&r.totalOverProbability!==void 0&&r.totalUnderProbability!==null&&r.totalUnderProbability!==void 0?[{line:r.totalLine,overProbability:r.totalOverProbability,underProbability:r.totalUnderProbability}]:[],d=r.actualAway+r.actualHome;if(!(!r.gameId||!Number.isFinite(r.actualAway)||!Number.isFinite(r.actualHome)))for(const s of o){if(!Number.isFinite(s.line)||!Number.isFinite(s.overProbability)||!Number.isFinite(s.underProbability)||s.overProbability<0||s.overProbability>1||s.underProbability<0||s.underProbability>1)continue;const N=s.overProbability+s.underProbability;if(!(N>0)||N>1||!Number.isFinite(N))continue;const y=s.overProbability/N;if(!Number.isFinite(y)||y<0||y>1||d===s.line)continue;const c=`${r.gameId}:${s.line}`;h.has(c)||h.set(c,{probability:y,observed:d>s.line?1:0})}}const n=Array.from(h.values()),f=r=>Math.max(1e-12,Math.min(1-1e-12,r)),k=n.length?n.reduce((r,o)=>r+(o.probability-o.observed)**2,0)/n.length:null,p=n.length?n.reduce((r,o)=>r-(o.observed?Math.log(f(o.probability)):Math.log(f(1-o.probability))),0)/n.length:null,w=[{label:"0–20%",minimum:0,maximum:.2},{label:"20–40%",minimum:.2,maximum:.4},{label:"40–60%",minimum:.4,maximum:.6},{label:"60–80%",minimum:.6,maximum:.8},{label:"80–100%",minimum:.8,maximum:1.000001}].flatMap(r=>{const o=n.filter(d=>d.probability>=r.minimum&&d.probability<r.maximum);return o.length?[{bucket:r.label,observations:o.length,meanProbability:o.reduce((d,s)=>d+s.probability,0)/o.length,observedRate:o.reduce((d,s)=>d+s.observed,0)/o.length}]:[]});return{observations:n.length,brierScore:k,logLoss:p,reliability:w}}function $({grade:l}){const h=l.line===null?"":` ${l.line>0?"+":""}${l.line}`,n=l.result==="N/A"?"Unavailable":`${l.call}${h}`;return l.result==="HIT"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-emerald-400",children:[e.jsx(Y,{className:"h-3.5 w-3.5"}),"HIT · ",n]}):l.result==="MISS"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-red-400",children:[e.jsx(B,{className:"h-3.5 w-3.5"}),"MISS · ",n]}):e.jsxs("span",{className:"inline-flex items-center gap-1 text-muted-foreground",children:[e.jsx(V,{className:"h-3.5 w-3.5"}),l.result," · ",n]})}function x({label:l,value:h,detail:n}){return e.jsx(L,{className:"border-border/60",children:e.jsxs(A,{className:"p-4",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:l}),e.jsx("div",{className:"mt-1 text-2xl font-bold text-primary",children:h}),e.jsx("div",{className:"mt-1 text-[11px] text-muted-foreground",children:n})]})})}function te(){const{user:l,isLoading:h}=I(),n=Number(new URLSearchParams(window.location.search).get("days")),[f,k]=b.useState(C.includes(n)?n:30),[p,w]=b.useState("ALL"),[r,o]=b.useState("ALL");b.useEffect(()=>{const t=document.title;document.title="NFL Simulation Tracker | Buckets to Bucks";let a=document.querySelector('meta[name="robots"]');const i=!a,j=a?.content;return a||(a=document.createElement("meta"),a.name="robots",document.head.appendChild(a)),a.content="noindex,nofollow,noarchive",()=>{document.title=t,i?a?.remove():a&&(a.content=j||"")}},[]);const d=T({queryKey:["nfl-simulation-tracker",f],queryFn:async()=>{const t=await fetch(`/api/nfl/model-performance?days=${f}`,{credentials:"include",cache:"no-store"});if(!t.ok)throw new Error(t.status===403?"Owner access required":"Unable to load NFL simulation tracker");return t.json()},enabled:l?.isOwner===!0,staleTime:6e4,retry:!1}),s=d.data?.data,N=b.useMemo(()=>Array.from(new Set((s?.games||[]).flatMap(t=>[t.away,t.home]))).sort(),[s]),y=b.useMemo(()=>Array.from(new Set((s?.games||[]).map(t=>t.modelVersion))).sort().reverse(),[s]),c=b.useMemo(()=>(s?.games||[]).filter(t=>(p==="ALL"||t.away===p||t.home===p)&&(r==="ALL"||t.modelVersion===r)),[s,p,r]),M=b.useMemo(()=>(s?.players||[]).filter(t=>(p==="ALL"||t.team===p)&&c.some(a=>a.gameId===t.gameId)),[s,p,c]),u=b.useMemo(()=>{const t=a=>{const i=a.filter(S=>S.result==="HIT"||S.result==="MISS"),j=i.filter(S=>S.result==="HIT").length;return{hits:j,attempts:i.length,rate:i.length?j/i.length:null}};return{games:c.length,moneyline:t(c.map(a=>a.moneyline)),spread:t(c.map(a=>a.spread)),total:t(c.map(a=>a.total)),scoreMae:c.length?c.reduce((a,i)=>a+i.scoreError/2,0)/c.length:null}},[c]),P=b.useMemo(()=>Array.from(new Set(M.map(t=>t.stat))).map(t=>{const a=M.filter(i=>i.stat===t);return{stat:t,observations:a.length,mae:a.reduce((i,j)=>i+j.error,0)/a.length,meanSignedError:a.reduce((i,j)=>i+j.projected-j.actual,0)/a.length}}),[M]),g=b.useMemo(()=>H(c),[c]),R=t=>{k(t);const a=new URL(window.location.href);a.searchParams.set("days",String(t)),window.history.replaceState({},"",`${a.pathname}${a.search}`)};return h?e.jsx(E,{children:e.jsx("main",{className:"p-6",children:e.jsx(F,{className:"mx-auto h-40 max-w-4xl"})})}):l?.isOwner?e.jsx(E,{children:e.jsxs("main",{className:"min-h-screen space-y-5 bg-background p-4 md:p-6","data-testid":"nfl-simulation-tracker",children:[e.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(O,{className:"h-6 w-6 text-primary"}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-bold",children:"NFL Simulation Tracker"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Private read-only results from frozen pregame projections"})]})]}),e.jsxs("button",{type:"button",onClick:()=>d.refetch(),disabled:d.isFetching,className:"inline-flex items-center gap-1.5 rounded-lg border border-primary/20 bg-primary/10 px-3 py-2 text-xs text-primary disabled:opacity-50",children:[e.jsx(U,{className:`h-3.5 w-3.5 ${d.isFetching?"animate-spin":""}`}),"Refresh"]})]}),e.jsx("div",{className:"flex flex-wrap gap-2","aria-label":"Tracker date range",children:C.map(t=>e.jsx("button",{type:"button",onClick:()=>R(t),className:`rounded-lg border px-3 py-1.5 text-xs ${f===t?"border-primary/40 bg-primary/15 text-primary":"border-border text-muted-foreground"}`,children:t===365?"Season":`${t} Days`},t))}),d.isLoading?e.jsx(F,{className:"h-64 w-full"}):d.isError?e.jsx(L,{className:"border-destructive/40",children:e.jsx(A,{className:"p-6 text-sm text-destructive",children:d.error.message})}
1):s?e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[e.jsx(x,{label:"Moneyline Accuracy",value:v(u.moneyline.rate),detail:`${u.moneyline.hits}/${u.moneyline.attempts} graded picks`}),e.jsx(x,{label:"Spread Accuracy",value:v(u.spread.rate),detail:`${u.spread.hits}/${u.spread.attempts} graded picks`}),e.jsx(x,{label:"Total Accuracy",value:v(u.total.rate),detail:`${u.total.hits}/${u.total.attempts} graded picks`}),e.jsx(x,{label:"Score MAE",value:m(u.scoreMae,2),detail:`points per team · ${u.games} final games`})]}),e.jsxs("section",{className:"space-y-3","data-testid":"nfl-player-bias-diagnostics",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-semibold",children:"Player-stat bias"}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Signed bias is projected minus actual. Negative means projections were too low; positive means projections were too high."})]}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-3",children:["Pass Yds","Rush Yds","Rec Yds"].map(t=>{const a=P.find(i=>i.stat===t);return e.jsx(x,{label:`${t} bias`,value:m(a?.meanSignedError??null,2),detail:`${a?.observations??0} observations · projected − actual`},t)})}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full min-w-[520px] text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Stat"}),e.jsx("th",{className:"p-3 text-right",children:"Observations"}),e.jsx("th",{className:"p-3 text-right",children:"MAE"}),e.jsx("th",{className:"p-3 text-right",children:"Mean signed error (bias)"})]})}),e.jsxs("tbody",{children:[P.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.stat}),e.jsx("td",{className:"p-3 text-right",children:t.observations}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.mae,2)}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.meanSignedError,2)})]},t.stat)),!P.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,className:"p-6 text-center text-muted-foreground",children:"No reconciled player stats match these filters."})})]})]})})]}),e.jsxs("section",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[e.jsx(x,{label:"Margin bias",value:m(s.summary.marginBias??null,2),detail:"projected minus actual points"}),e.jsx(x,{label:"Margin RMSE",value:m(s.summary.marginRmse??null,2),detail:"game-balanced points"}),e.jsx(x,{label:"Total bias",value:m(s.summary.totalBias??null,2),detail:"projected minus actual points"}),e.jsx(x,{label:"80% total coverage",value:v(s.summary.distributionCoverage?.totalP10P90.rate??null),detail:`${s.summary.distributionCoverage?.totalP10P90.observations??0} game intervals`})]}),e.jsxs("section",{className:"flex flex-wrap gap-3",children:[e.jsxs("label",{className:"text-xs text-muted-foreground",children:["Team",e.jsxs("select",{value:p,onChange:t=>w(t.target.value),className:"ml-2 rounded-md border border-border bg-card px-2 py-1.5 text-foreground",children:[e.jsx("option",{value:"ALL",children:"All teams"}),N.map(t=>e.jsx("option",{children:t},t))]})]}),e.jsxs("label",{className:"text-xs text-muted-foreground",children:["Model",e.jsxs("select",{value:r,onChange:t=>o(t.target.value),className:"ml-2 rounded-md border border-border bg-card px-2 py-1.5 text-foreground",children:[e.jsx("option",{value:"ALL",children:"All versions"}),y.map(t=>e.jsx("option",{children:t},t))]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Game Results"}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full min-w-[900px] text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Date"}),e.jsx("th",{className:"p-3 text-left",children:"Matchup"}),e.jsx("th",{className:"p-3 text-center",children:"Projected"}),e.jsx("th",{className:"p-3 text-center",children:"Actual"}),e.jsx("th",{className:"p-3 text-left",children:"Moneyline"}),e.jsx("th",{className:"p-3 text-left",children:"Spread"}),e.jsx("th",{className:"p-3 text-left",children:"Total"}),e.jsx("th",{className:"p-3 text-center",children:"Score Error"})]})}),e.jsxs("tbody",{children:[c.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.date}),e.jsxs("td",{className:"p-3 font-medium",children:[t.away," @ ",t.home,e.jsx("div",{className:"text-[10px] text-muted-foreground",children:t.modelVersion})]}),e.jsxs("td",{className:"p-3 text-center font-mono",children:[t.projectedAway.toFixed(1),"–",t.projectedHome.toFixed(1)]}),e.jsxs("td",{className:"p-3 text-center font-mono font-bold",children:[t.actualAway,"–",t.actualHome]}),e.jsx("td",{className:"p-3",children:e.jsx($,{grade:t.moneyline})}),e.jsx("td",{className:"p-3",children:e.jsx($,{grade:t.spread})}),e.jsx("td",{className:"p-3",children:e.jsx($,{grade:t.total})}),e.jsx("td",{className:"p-3 text-center font-mono",children:t.scoreError.toFixed(1)})]},t.gameId)),!c.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:8,className:"p-8 text-center text-muted-foreground",children:"No completed frozen simulations match these filters."})})]})]})})]}),!!s.summary.byWeek?.length&&e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Performance by Week"}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Cohort"}),e.jsx("th",{className:"p-3 text-right",children:"Games"}),e.jsx("th",{className:"p-3 text-right",children:"Margin MAE"}),e.jsx("th",{className:"p-3 text-right",children:"Total MAE"})]})}),e.jsx("tbody",{children:s.summary.byWeek.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.cohort}),e.jsx("td",{className:"p-3 text-right",children:t.games}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.marginMae??null,2)}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.totalMae??null,2)})]},t.cohort))})]})})]}),!!s.summary.byInputAvailability?.length&&e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Performance by Input Availability"}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Inputs"}),e.jsx("th",{className:"p-3 text-right",children:"Games"}),e.jsx("th",{className:"p-3 text-right",children:"Margin MAE"}),e.jsx("th",{className:"p-3 text-right",children:"Total MAE"})]})}),e.jsx("tbody",{children:s.summary.byInputAvailability.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3 max-w-[32rem] truncate",children:t.cohort}),e.jsx("td",{className:"p-3 text-right",children:t.games}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.marginMae??null,2)}),e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.totalMae??null,2)})]},t.cohort))})]})})]}),!!s.summary.byModelVersion?.length&&e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Player bias by model version"}),e.jsx("p",{className:"mb-2 text-xs text-muted-foreground",children:"Cohort comparisons help identify regressions after a model release."}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full min-w-[680px] text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Model version"}),e.jsx("th",{className:"p-3 text-right",children:"Games"}),["Pass Yds","Rush Yds","Rec Yds"].map(t=>e.jsxs("th",{className:"p-3 text-right",children:[t," bias"]},t))]})}),e.jsx("tbody",{children:s.summary.byModelVersion.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.modelVersion}),e.jsx("td",{className:"p-3 text-right",children:t.games}),["Pass Yds","Rush Yds","Rec Yds"].map(a=>e.jsx("td",{className:"p-3 text-right font-mono",children:m(t.byStat?.find(i=>i.stat===a)?.meanSignedError??null,2)},a))]},t.modelVersion))})]})})]}),s.shadowEvaluation&&e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Production shadow evaluation"}),e.jsx(L,{className:"border-border/60",children:e.jsxs(A,{className:"p-4 text-xs",children:[e.jsxs("div",{className:"flex flex-wrap gap-4",children:[e.jsxs("span",{children:["Live: ",e.jsx("strong",{children:s.shadowEvaluation.liveModelVersion||"—"})]}
1),e.jsxs("span",{children:["Prior baseline: ",e.jsx("strong",{children:s.shadowEvaluation.baselineModelVersion||s.shadowEvaluation.candidateModelVersion||"—"})]}),e.jsxs("span",{children:["Paired games: ",e.jsx("strong",{children:s.shadowEvaluation.pairedGames})]}),e.jsx("span",{className:s.shadowEvaluation.promotion.eligible?"text-emerald-400":"text-amber-400",children:s.shadowEvaluation.promotion.eligible?"Live comparison passed":"Live comparison evidence incomplete"})]}),e.jsx("div",{className:"mt-2 text-muted-foreground",children:Object.entries(s.shadowEvaluation.promotion.gates).map(([t,a])=>e.jsxs("span",{className:"mr-3",children:[t,": ",a.passed?"pass":`blocked (${a.samples}/${a.required})`]},t))})]})})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Player Projection Error by Stat"}),e.jsx("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5",children:P.map(t=>e.jsx(L,{className:"border-border/60",children:e.jsxs(A,{className:"p-3",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:t.stat}),e.jsxs("div",{className:"mt-1 font-mono text-lg font-bold",children:[t.mae.toFixed(2)," MAE"]}),e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[t.observations," observations"]})]})},t.stat))}),!P.length&&e.jsx("div",{className:"rounded-lg border border-border p-6 text-center text-xs text-muted-foreground",children:"No reconciled player results match these filters."})]}),e.jsxs("section",{className:"space-y-3","data-testid":"nfl-probability-diagnostics",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-semibold",children:"Probability diagnostics · Game Total Over/Under"}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Uses saved game-total Over probabilities and actual Over rates on non-push outcomes. Results respect the selected team and model filters."})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:[e.jsx(x,{label:"Game-total observations",value:String(g.observations),detail:g.observations===0?"No qualifying saved game / lines":g.observations<30?"Small sample; directional only":"one saved game / line"}),e.jsx(x,{label:"Brier score",value:m(g.brierScore,3),detail:"lower is better"}),e.jsx(x,{label:"Log loss",value:m(g.logLoss,3),detail:"lower is better"})]}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full min-w-[560px] text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Predicted Over probability"}),e.jsx("th",{className:"p-3 text-right",children:"Samples"}),e.jsx("th",{className:"p-3 text-right",children:"Mean predicted"}),e.jsx("th",{className:"p-3 text-right",children:"Observed Over rate"})]})}),e.jsxs("tbody",{children:[g.reliability.map(t=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.bucket}),e.jsx("td",{className:"p-3 text-right",children:t.observations}),e.jsx("td",{className:"p-3 text-right font-mono",children:v(t.meanProbability)}),e.jsx("td",{className:"p-3 text-right font-mono",children:v(t.observedRate)})]},t.bucket)),!g.reliability.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,className:"p-6 text-center text-muted-foreground",children:"No non-push game-total probability observations match these filters."})})]})]})}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Player prop probability metadata is unavailable in saved snapshots; this section covers Game Total Over/Under only."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-2 text-base font-semibold",children:"Player Results"}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border",children:e.jsxs("table",{className:"w-full min-w-[780px] text-xs",children:[e.jsx("thead",{className:"bg-muted/30 text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-3 text-left",children:"Date"}),e.jsx("th",{className:"p-3 text-left",children:"Player"}),e.jsx("th",{className:"p-3 text-left",children:"Stat"}),e.jsx("th",{className:"p-3 text-center",children:"Projected"}),e.jsx("th",{className:"p-3 text-center",children:"Actual"}),e.jsx("th",{className:"p-3 text-center",children:"Absolute Error"}),e.jsx("th",{className:"p-3 text-center",children:"Signed Bias"})]})}),e.jsxs("tbody",{children:[M.map((t,a)=>e.jsxs("tr",{className:"border-t border-border/60",children:[e.jsx("td",{className:"p-3",children:t.date}),e.jsxs("td",{className:"p-3 font-medium",children:[t.player,e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[t.team," · ",t.modelVersion]})]}),e.jsx("td",{className:"p-3",children:t.stat}),e.jsx("td",{className:"p-3 text-center font-mono",children:t.projected.toFixed(1)}),e.jsx("td",{className:"p-3 text-center font-mono",children:t.actual}),e.jsx("td",{className:"p-3 text-center font-mono",children:t.error.toFixed(1)}),e.jsx("td",{className:"p-3 text-center font-mono",children:(t.projected-t.actual).toFixed(1)})]},`${t.gameId}-${t.player}-${t.stat}-${a}`)),!M.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"p-8 text-center text-muted-foreground",children:"No reconciled player results match these filters."})})]})]})})]})]}):null]})}):e.jsx(E,{children:e.jsxs("main",{className:"flex min-h-[60vh] flex-col items-center justify-center gap-3 text-muted-foreground",children:[e.jsx(G,{className:"h-10 w-10"}),e.jsx("h1",{className:"text-lg font-semibold text-foreground",children:"Owner access only"}),e.jsx("p",{className:"text-sm",children:"This private tracker is not available for this account."})]})})}export{te as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.