ucr-max commited on
Commit
b306cc1
·
verified ·
1 Parent(s): 7233de0

Update fixed leaderboard table

Browse files
build/_app/immutable/assets/0.BhVp1zZ_.css ADDED
@@ -0,0 +1 @@
 
 
1
+ :root{--bg: #040619;--block: #1a1820;--primary: #6C8CFF;--secondary: #52B788;--instruction: color-mix(in srgb, var(--secondary) 70%, var(--primary));--highlight: #ffe23e;--separator: #302934;--font-sans: Manrope, "Avenir Next", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-sans);color:color-mix(in srgb,white 92%,var(--block));background:var(--bg);font-synthesis:none;font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background-color:var(--bg);background-image:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--highlight) 5%,transparent),transparent 34rem),radial-gradient(circle at 0% 38%,color-mix(in srgb,var(--highlight) 5%,transparent),transparent 25rem),radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--highlight) 4%,transparent),transparent 24rem),radial-gradient(circle at 22% 82%,color-mix(in srgb,var(--highlight) 2.5%,transparent),transparent 28rem);background-attachment:fixed;font-size:16px;font-weight:400;line-height:1.5;scrollbar-color:color-mix(in srgb,var(--secondary) 42%,var(--block)) var(--bg);scrollbar-width:thin}*{scrollbar-color:color-mix(in srgb,var(--secondary) 42%,var(--block)) var(--bg);scrollbar-width:thin}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:color-mix(in srgb,var(--bg) 92%,var(--block))}*::-webkit-scrollbar-thumb{border:2px solid color-mix(in srgb,var(--bg) 92%,var(--block));border-radius:999px;background:color-mix(in srgb,var(--secondary) 42%,var(--block))}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--secondary) 68%,var(--primary))}*::-webkit-scrollbar-corner{background:var(--bg)}button{font:inherit}strong{font-weight:500}main{max-width:1440px;margin:0 auto;padding:0 40px}.track{color:color-mix(in srgb,white 66%,var(--block));border:0;border-radius:0;padding:0;font-size:12px;font-weight:400}.hero{position:relative;display:block;max-width:900px;min-height:620px;padding:68px 0 62px}.hero-copy{position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:22px}.hero-kicker .eyebrow{margin:0}.edition{margin-left:3px;padding-left:12px;border-left:1px solid color-mix(in srgb,white 22%,transparent);color:color-mix(in srgb,white 44%,var(--block));font-size:10px;letter-spacing:.12em;text-transform:uppercase}.eyebrow{margin:0 0 13px;color:color-mix(in srgb,white 74%,var(--block));text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.12em}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-weight:400}h1{margin-bottom:0;font-size:clamp(56px,6.4vw,88px);line-height:.91;color:color-mix(in srgb,white 94%,var(--block))}h1 span{color:inherit;font-style:italic;font-weight:300}h2{font-size:29px;line-height:1.15}.hero-description{max-width:590px;margin:34px 0 0;color:color-mix(in srgb,white 65%,var(--block));font-size:17px;line-height:1.6}.hero-link{display:inline-block;margin-top:26px;color:var(--highlight);font-size:12px;font-weight:500;letter-spacing:.08em;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--highlight) 65%,transparent);text-decoration-thickness:1px;text-underline-offset:5px;text-transform:uppercase;transition:color .16s ease,text-decoration-color .16s ease}.hero-link:hover,.hero-link:focus-visible{color:color-mix(in srgb,var(--highlight) 78%,white);text-decoration-color:currentColor}.protocol-notice{max-width:650px;margin:18px 0 0;padding-left:13px;border-left:2px solid color-mix(in srgb,var(--highlight) 70%,var(--block));color:color-mix(in srgb,white 62%,var(--block));font-size:13px;line-height:1.55}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid color-mix(in srgb,var(--secondary) 45%,transparent);background:color-mix(in srgb,var(--secondary) 45%,transparent)}.summary-grid article{position:relative;min-height:132px;display:flex;align-items:flex-end;justify-content:space-between;padding:24px 27px;background:var(--bg)}.summary-grid article+article{border-left:1px solid color-mix(in srgb,var(--secondary) 45%,transparent)}.summary-grid article>div{display:grid;gap:2px}.summary-index{position:absolute;left:27px;top:20px;color:color-mix(in srgb,white 35%,var(--block))!important;font-size:10px!important;letter-spacing:.14em;text-transform:uppercase}.summary-grid strong{color:color-mix(in srgb,white 92%,var(--block));font-size:40px;font-weight:400;letter-spacing:-.05em}.summary-grid span{color:color-mix(in srgb,white 60%,var(--block));font-size:13px}.leaderboard-section{padding:68px 0 46px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px}.section-heading .eyebrow{margin-bottom:9px}.filters,.task-tabs,.size-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-stack{display:grid;justify-items:end;gap:8px}.top-filter-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.leaderboard-controls{display:flex;align-items:center;gap:12px}.view-filter{width:max-content;flex:0 0 auto}.filters{border:1px solid var(--block);padding:3px;border-radius:9px;background:var(--block)}.filters button,.task-tabs button,.size-filters button{border:1px solid transparent;background:transparent;color:color-mix(in srgb,white 65%,var(--block));border-radius:6px;cursor:pointer;padding:9px 12px;font-size:13px;font-weight:400}.filters button:hover,.task-tabs button:hover,.size-filters button:hover{color:color-mix(in srgb,white 92%,var(--block))}.filters button.active{color:color-mix(in srgb,white 88%,var(--block));background:color-mix(in srgb,var(--block) 70%,var(--primary))}.size-filters{border:1px solid var(--block);padding:3px;border-radius:9px;background:var(--block);color:color-mix(in srgb,white 48%,var(--block));font-size:11px}.size-filters span{margin-right:2px;text-transform:uppercase;letter-spacing:.1em}.size-filters button{padding:6px 9px;border-color:var(--block);font-size:11px}.filters button,.size-filters button,.view-filter button{height:30px;padding:0 9px;font-size:11px;line-height:1}.size-filters button.active{color:color-mix(in srgb,white 88%,var(--block));border-color:var(--block);background:color-mix(in srgb,var(--block) 70%,var(--primary))}.table-wrap{block-size:clamp(540px,80vh,860px);overflow:scroll;margin-top:24px;border:1px solid var(--block);border-radius:10px;background:var(--block);overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:color-mix(in srgb,var(--secondary) 46%,var(--block)) color-mix(in srgb,var(--bg) 82%,var(--block))}.table-wrap::-webkit-scrollbar-track{background:color-mix(in srgb,var(--bg) 82%,var(--block))}.table-wrap::-webkit-scrollbar-thumb{border-color:color-mix(in srgb,var(--bg) 82%,var(--block));background:color-mix(in srgb,var(--secondary) 46%,var(--block))}.table-wrap::-webkit-scrollbar-thumb:hover{background:var(--secondary)}table{min-width:1320px;width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}th{position:sticky;top:0;z-index:1;color:color-mix(in srgb,white 64%,var(--block));background:color-mix(in srgb,var(--primary) 30%,var(--block));padding:16px;border-bottom:1px solid var(--block);text-align:left;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:500;white-space:nowrap}.sort-button{display:block;width:100%;margin:0;padding:0;border:0;color:color-mix(in srgb,white 82%,var(--block));background:transparent;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;white-space:inherit;cursor:pointer}.sort-button:hover,th.sortable.sorted .sort-button{color:color-mix(in srgb,white 94%,var(--block))}.sort-button:focus-visible{outline:1px solid color-mix(in srgb,white 52%,transparent);outline-offset:4px}th:first-child,td:first-child{padding-left:22px}th span{text-transform:none;letter-spacing:0;font-weight:400}td{border-bottom:1px solid color-mix(in srgb,white 6%,var(--block));padding:18px 16px;vertical-align:middle;white-space:nowrap;color:color-mix(in srgb,white 78%,var(--block))}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--block) 92%,white)}.table-note{margin:9px 0 0;color:color-mix(in srgb,white 48%,var(--block));font-size:11px;line-height:1.4}.rank{color:color-mix(in srgb,white 92%,var(--block));font-variant-numeric:tabular-nums;font-weight:500}.model-name{color:color-mix(in srgb,white 92%,var(--block));font-weight:500}.model-link{color:inherit;text-decoration:none}.model-link:hover .model-name,.model-link:focus-visible .model-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.model-link:focus-visible{outline:2px solid color-mix(in srgb,white 45%,transparent);outline-offset:3px;border-radius:2px}.model-source,.metric span{display:block;color:color-mix(in srgb,white 52%,var(--block));font-size:11px;margin-top:4px}.metric{font-variant-numeric:tabular-nums}.score-main{color:color-mix(in srgb,white 88%,var(--block));font-weight:500}.simplified .model-source,.simplified .metric span,.simplified .score-head span,.simplified .metadata,.simplified .metadata-head,.simplified .track-cell,.simplified .track-head{display:none}.simplified .score-head,.simplified .metric-head,.simplified .metric{text-align:center}.track{padding:0}.track.instruction{color:color-mix(in srgb,white 78%,var(--block));background:transparent}.empty-row td{color:color-mix(in srgb,white 55%,var(--block));padding:45px 18px;text-align:center}.panel{border:1px solid var(--block);background:var(--block);border-radius:12px}.landscape{padding:32px 34px 28px}.legend{display:flex;align-items:center;gap:7px;color:color-mix(in srgb,white 64%,var(--block));font-size:13px;white-space:nowrap}.legend-dot{display:inline-block;height:8px;width:8px;margin-left:8px;border-radius:50%;background:var(--primary)}.legend-dot:first-child{margin-left:0}.legend-dot.instruction{background:var(--instruction)}.frontier-key{display:inline-block;width:22px;margin-left:10px;border-top:2px dashed color-mix(in srgb,white 78%,var(--block))}.frontier-label{display:inline-flex;align-items:center;gap:7px;margin-left:10px}.scatter-area{position:relative;margin-top:22px;min-height:412px;padding-bottom:22px}.scatter-area svg{display:block;width:100%;height:auto;min-height:320px;overflow:visible;shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.grid-line{stroke:color-mix(in srgb,var(--primary) 35%,var(--bg));stroke-width:1}.axis-line{stroke:color-mix(in srgb,var(--primary) 42%,var(--bg));stroke-width:1}.axis-text,.axis-title{fill:color-mix(in srgb,white 57%,var(--block));font-size:13px;font-family:var(--font-sans);font-weight:400;letter-spacing:.005em}.axis-title{font-size:13.5px;fill:color-mix(in srgb,white 72%,var(--block));letter-spacing:.01em}.frontier-line{fill:none;stroke:color-mix(in srgb,white 78%,var(--block));stroke-width:2;stroke-dasharray:7 6;opacity:.9}.point{fill:var(--primary);stroke:var(--block);stroke-width:3;cursor:pointer;transition:r .15s ease,filter .15s ease}.point:hover,.point:focus-visible{r:8;filter:brightness(1.25)}.point:focus{outline:none}.point.instruction-point{fill:var(--instruction)}.chart-tooltip{pointer-events:none;position:absolute;transform:translate(-50%,-100%);min-width:160px;max-width:calc(100% - 20px);z-index:2;padding:12px 14px;border:1px solid var(--block);border-radius:8px;background:var(--block);color:color-mix(in srgb,white 92%,var(--block));box-shadow:0 12px 28px #00000073;font-size:13px}.chart-tooltip strong,.chart-tooltip span,.chart-tooltip b{display:block}.chart-tooltip strong{font-weight:500}.chart-tooltip span{margin:4px 0 8px;color:color-mix(in srgb,white 68%,var(--block))}.chart-tooltip b{color:color-mix(in srgb,white 88%,var(--block));font-size:15px;font-weight:500}.chart-tooltip em{font-style:normal;font-size:11px;color:color-mix(in srgb,white 56%,var(--block));font-weight:400}.chart-controls{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:46px 0 22px}.chart-controls .eyebrow{margin-bottom:7px}.chart-controls .section-note{margin:0;max-width:460px}.chart-controls .task-tabs{margin:0;justify-content:flex-end}.score-panel{margin-top:22px;padding:32px 34px 34px}.compact-heading{display:block}.section-note{max-width:720px;margin:12px 0 0;color:color-mix(in srgb,white 65%,var(--block));font-size:14px;line-height:1.6}.task-tabs{margin:28px 0 22px}.task-tabs button{border-color:transparent;background:color-mix(in srgb,var(--bg) 62%,var(--block));border-radius:6px;font-size:12px}.task-tabs button.active{border-color:transparent;background:color-mix(in srgb,var(--block) 70%,var(--primary));color:color-mix(in srgb,white 88%,var(--block))}.bar-list{padding:12px 0}.bar-toggle{display:grid;place-items:center;width:46px;height:32px;margin:12px auto 0;padding:0;border:0;border-radius:999px;background:transparent;color:color-mix(in srgb,white 72%,var(--block));cursor:pointer;transition:background .16s ease,color .16s ease}.bar-toggle:hover,.bar-toggle:focus-visible{background:color-mix(in srgb,var(--primary) 28%,transparent);color:color-mix(in srgb,white 92%,var(--block));outline:none}.bar-toggle-chevron{width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .18s ease}.bar-toggle.expanded .bar-toggle-chevron{transform:translateY(3px) rotate(225deg)}.bar-row{display:grid;grid-template-columns:30px minmax(165px,220px) 1fr 58px;gap:16px;align-items:center;min-height:46px}.bar-rank{color:color-mix(in srgb,white 48%,var(--block));font-size:12px;text-align:right}.bar-name{color:color-mix(in srgb,white 74%,var(--block));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.bar-track{position:relative;height:18px;overflow:hidden;border-radius:4px;background:color-mix(in srgb,var(--block) 88%,var(--primary))}.zero-line{position:absolute;z-index:1;top:0;bottom:0;left:var(--zero);border-left:1px solid color-mix(in srgb,var(--secondary) 45%,var(--bg))}.bar-fill{position:absolute;z-index:2;top:2px;bottom:2px;left:var(--start);width:var(--width);border-radius:3px;background:var(--primary)}.bar-fill.instruction-fill{background:var(--instruction)}.bar-fill.negative{background:color-mix(in srgb,var(--primary) 48%,var(--block))}.ci-band{position:absolute;z-index:3;top:2px;bottom:2px;left:var(--start);width:var(--width);border-radius:3px;background:color-mix(in srgb,white 30%,transparent)}.ci-band.instruction-band{background:color-mix(in srgb,white 26%,transparent)}.ci-band.negative-band{background:color-mix(in srgb,white 22%,transparent)}.bar-row strong{color:color-mix(in srgb,white 83%,var(--block));font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.empty-chart{min-height:320px;display:grid;place-items:center;color:color-mix(in srgb,white 58%,var(--block));border:1px dashed var(--block);background:var(--block);margin-top:20px;border-radius:8px;font-size:14px}.empty-chart.short{min-height:180px}.bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:22px 0 46px}.method-card,.protocol-card{padding:32px 34px}.method-card p:not(.eyebrow),.protocol-card p:not(.eyebrow),.protocol-card li{color:color-mix(in srgb,white 70%,var(--block));font-size:14px;line-height:1.6}.formula{color:color-mix(in srgb,white 92%,var(--block))!important;font-size:24px!important;letter-spacing:-.04em;margin:24px 0 18px}.formula span{color:color-mix(in srgb,white 78%,var(--block))}.protocol-card ul{padding-left:17px;margin:20px 0}.protocol-card a{color:color-mix(in srgb,white 84%,var(--block));font-size:14px;font-weight:500;text-decoration-color:color-mix(in srgb,var(--primary) 55%,transparent);text-underline-offset:3px}.protocol-card a:hover{color:#fff}.additional-card{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:22px;padding:30px 34px}.additional-card .eyebrow{margin-bottom:9px}.additional-card h2{margin:0}.credits-content{max-width:680px}.credits-content p{margin:0;color:color-mix(in srgb,white 70%,var(--block));font-size:14px;line-height:1.6}.credits-content .credits-attribution{margin-top:14px;color:color-mix(in srgb,white 58%,var(--block))}.credits-content a{color:color-mix(in srgb,white 84%,var(--block));text-decoration-color:color-mix(in srgb,var(--primary) 55%,transparent);text-underline-offset:3px}.credits-content a:hover{color:#fff}footer{color:color-mix(in srgb,white 50%,var(--block));border-top:1px solid var(--separator);padding:26px 0 38px;font-size:12px;line-height:1.6}footer p{margin:0}footer p+p{margin-top:4px}footer a{color:var(--secondary);text-decoration:none}footer a:hover,footer a:focus-visible{color:color-mix(in srgb,white 92%,var(--block));text-decoration:underline}@media(max-width:760px){html,body{width:100%}main{width:100%;max-width:none;padding:0 20px}.hero{grid-template-columns:1fr;gap:35px;min-height:0;padding:52px 0 38px}h1{font-size:clamp(51px,16vw,72px)}.hero-description{margin-top:26px;font-size:15px}.hero-kicker{flex-wrap:wrap}.summary-grid{width:min(100%,390px);margin-inline:auto;grid-template-columns:1fr}.summary-grid article{display:grid;align-content:center;justify-items:center;text-align:center;padding-inline:27px}.summary-grid article+article{padding-left:27px}.summary-index{left:0;right:0;width:100%;transform:none;text-align:center!important}.summary-grid article>div{position:absolute;left:0;right:0;top:58%;width:auto;max-width:none;margin:0;display:grid!important;justify-items:center;gap:2px;transform:translateY(-50%);text-align:center!important}.summary-grid article>div>strong,.summary-grid article>div>span{display:block;align-self:center;text-align:center!important}.summary-grid strong{font-size:30px}.section-heading{align-items:flex-start;flex-direction:column}.chart-controls{align-items:flex-start;flex-direction:column;gap:12px;margin:34px 0 18px}.chart-controls .task-tabs{justify-content:flex-start;width:100%;overflow:visible;flex-wrap:wrap;gap:4px}.chart-controls .task-tabs button{padding:8px 9px;font-size:11px}.filters,.filter-stack{width:100%}.leaderboard-controls{width:100%;flex-direction:column;align-items:stretch;gap:8px}.top-filter-row{width:100%}.top-filter-row .view-filter{width:max-content}.top-filter-row .filters{width:auto;flex:1;min-width:0}.filter-stack{justify-items:stretch}.size-filters{justify-self:start;width:max-content;max-width:100%;flex-wrap:nowrap;overflow-x:auto}.filters button{flex:1}.leaderboard-section{padding:52px 0 35px}.landscape,.score-panel{padding:22px 16px}.legend{flex-wrap:wrap;white-space:normal}.frontier-label{margin-left:0}.scatter-area{min-height:0;margin-top:14px;padding-bottom:6px}.scatter-area svg{height:auto;min-height:0}.chart-tooltip{left:50%!important;min-width:0;width:max-content;max-width:calc(100% - 20px);padding:10px 12px;font-size:12px}.bar-row{grid-template-columns:22px minmax(90px,120px) 1fr 58px;gap:9px}.bar-name,.bar-row strong{font-size:11px}.bottom-grid{grid-template-columns:1fr}.method-card,.protocol-card{padding:28px 24px}.additional-card{grid-template-columns:1fr;gap:14px;padding:26px 24px}}@media(min-width:761px)and (max-width:1040px){.hero{min-height:620px}.visual-tag{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
build/_app/immutable/chunks/yC-If9Zk.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var rt=e=>{throw TypeError(e)};var Vt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var y=(e,t,n)=>(Vt(e,t,"read from private field"),n?n.call(e):t.get(e)),U=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{aV as Oe,b9 as Mt,aF as ve,ba as Bt,aG as T,L as I,al as P}from"./CdZ30l9o.js";import{o as at}from"./Cx7tSjKg.js";const F=[];function Be(e,t=Oe){let n=null;const a=new Set;function r(s){if(Mt(e,s)&&(e=s,n)){const c=!F.length;for(const l of a)l[1](),F.push(l,e);if(c){for(let l=0;l<F.length;l+=2)F[l][0](F[l+1]);F.length=0}}}function i(s){r(s(e))}function o(s,c=Oe){const l=[s,c];return a.add(l),a.size===1&&(n=t(r,i)||Oe),s(e),()=>{a.delete(l),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:o}}const Ft="1784621670130";var ht;const A=((ht=globalThis.__sveltekit_1veti1)==null?void 0:ht.base)??"";var pt;const Kt=((pt=globalThis.__sveltekit_1veti1)==null?void 0:pt.assets)??A??"";new URL("sveltekit-internal://");function Gt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Ht(e){return e.split("%25").map(decodeURI).join("%25")}function zt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}const Wt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,Jt=/^\/\((?:[^)]+)\)$/;function Yt(e){const t=[];return{pattern:e==="/"||Jt.test(e)?/^\/$/:new RegExp(`^${Qt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Ce(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Ce(String.fromCharCode(...c.slice(2).split("-").map(m=>parseInt(m,16))));const f=Wt.exec(c),[,h,_,u,d]=f;return t.push({name:u,matcher:d,optional:!!h,rest:!!_,chained:_?l===1&&o[0]==="":!1}),_?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return Ce(c)}).join("")}).join("")}/?$`),params:t}}function Xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Qt(e){return e.slice(1).split("/").filter(Xt)}function Zt(e,t,n){const a={},r=e.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<t.length;s+=1){const c=t[s];let l=r[s-o];if(c.chained&&c.rest&&o&&(l=r.slice(s-o,s+1).filter(f=>f).join("/"),o=0),l===void 0)if(c.rest)l="";else continue;if(!c.matcher||n[c.matcher](l)){a[c.name]=l;const f=t[s+1],h=r[s+1];f&&!f.rest&&f.optional&&h&&c.chained&&(o=0),!f&&!h&&Object.keys(a).length===i.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return a}function Ce(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}class Fe{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ke{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Ge extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}function N(){}function en(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function tn(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const nn=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&Z.delete(He(e)),nn(e,t));const Z=new Map;function rn(e,t){const n=He(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);a.getAttribute("data-b64")!==null&&(r=tn(r));const s=a.getAttribute("data-ttl");return s&&Z.set(n,{body:r,init:i,ttl:1e3*Number(s)}),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function an(e,t,n){if(Z.size>0){const a=He(e,n),r=Z.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);Z.delete(a)}}return window.fetch(t,n)}function He(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${en(...r)}"]`}return a}function on({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([s,[c,l,f]])=>{const{pattern:h,params:_}=Yt(s),u={id:s,exec:d=>{const m=h.exec(d);if(m)return Zt(m,_,a)},errors:[1,...f||[]].map(d=>e[d]),layouts:[0,...l||[]].map(o),leaf:i(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function o(s){return s===void 0?s:[r.has(s),e[s]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const vt="sveltekit:snapshot",yt="sveltekit:scroll",bt="sveltekit:states",sn="sveltekit:pageurl",H="sveltekit:history",te="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Et=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Et];const cn=new Set([...Et]);[...cn];function ln(e){return e.filter(t=>t!=null)}function _e(e,t){return e+"/"+t}function ze(e){return e instanceof Fe||e instanceof Ge?e.status:500}function fn(e){return e instanceof Ge?e.text:"Internal Error"}const un=new Set(["icon","shortcut icon","apple-touch-icon"]);let X=null;const q=wt(yt)??{},ne=wt(vt)??{},j={url:ut({}),page:ut({}),navigating:Be(null),updated:In()};function We(e){q[e]=M()}function dn(e,t){let n=e+1;for(;q[n];)delete q[n],n+=1;for(n=t+1;ne[n];)delete ne[n],n+=1}function re(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(N)}async function kt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(A||"/");e&&await e.update()}}let Je,qe,ye,O,De,E;const be=[],Ee=[];let v=null;function ke(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null,G={element:void 0,href:void 0}}const we=new Map,St=new Set,hn=new Set,ee=new Set;let w={branch:[],error:null,url:null},Rt=!1,Se=!1,st=!0,ae=!1,Q=!1,xt=!1,Ye=!1,Lt,k,x,C;const Re=new Set,it=new Map,ct=new Map;async function Nn(e,t,n){var i,o,s,c;if(globalThis.__sveltekit_1veti1.data){const{q:l={},p:f={},l:h={},f:_={}}=globalThis.__sveltekit_1veti1.data;for(const u in l)l[u];for(const u in h)h[u];for(const u in _)_[u];for(const u in f)f[u]}document.URL!==location.href&&(location.href=location.href),E=e,await((o=(i=e.hooks).init)==null?void 0:o.call(i)),Je=on(e),O=document.documentElement,De=t,qe=e.nodes[0],ye=e.nodes[1],qe(),ye(),k=(s=history.state)==null?void 0:s[H],x=(c=history.state)==null?void 0:c[te],k||(k=x=Date.now(),history.replaceState({...history.state,[H]:k,[te]:x},""));const a=q[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(De,n)):(await z({type:"enter",url:Ct(E.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function pn(){be.length=0,Ye=!1}function At(e){Ee.some(t=>t==null?void 0:t.snapshot)&&(ne[e]=Ee.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ut(e){var t;(t=ne[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=Ee[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function lt(){We(k),ot(yt,q),At(x),ot(vt,ne)}async function gn(e,t,n,a){let r,i;t.invalidateAll&&ke(),await z({type:"goto",url:Ct(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{var o;if(t.invalidateAll){Ye=!0,r=new Set;for(const[s,c]of it)for(const[l,f]of c)(o=f.resource)==null||o.reset(),r.add(_e(s,l));i=new Set;for(const[s,c]of ct)for(const l of c.keys())i.add(_e(s,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&ve().then(ve).then(()=>{for(const[o,s]of it)for(const[c,{resource:l}]of s)r!=null&&r.has(_e(o,c))&&l.start();for(const[o,s]of ct)for(const[c,{resource:l}]of s)i!=null&&i.has(_e(o,c))&&l.reconnect()})}async function mn(e){if(e.id!==(v==null?void 0:v.id)){ke();const t={};Re.add(t),v={id:e.id,token:t,promise:It({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&ke(),n)),fork:null}}return v.promise}async function Ne(e){var n;const t=(n=await Ue(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function Tt(e,t,n){var r;const a={params:w.params,route:{id:((r=w.route)==null?void 0:r.id)??null},url:new URL(location.href)};if(w={...e.state,nav:a},Dt(e.props.page),Lt=new E.root({target:t,props:{...e.props,stores:j,components:Ee},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){const i={from:null,to:{...a,scroll:q[k]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};ee.forEach(o=>o(i))}Ut(x),Se=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:o,form:s}){let c="never";if(A&&(e.pathname===A||e.pathname===A+"/"))c="always";else for(const d of n)(d==null?void 0:d.slash)!==void 0&&(c=d.slash);e.pathname=Gt(e.pathname,c),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:o},props:{constructors:ln(n).map(d=>d.node.component),page:tt(L)}};s!==void 0&&(l.props.form=s);let f={},h=!L,_=0;for(let d=0;d<Math.max(n.length,w.branch.length);d+=1){const m=n[d],g=w.branch[d];(m==null?void 0:m.data)!==(g==null?void 0:g.data)&&(h=!0),m&&(f={...f,...m.data},h&&(l.props[`data_${_}`]=f),_+=1)}return(!w.url||e.href!==w.url.href||w.error!==i||s!==void 0&&s!==L.form||h)&&(l.props.page={error:i,params:t,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(e),form:s??null,data:h?f:L.data}),l}async function Xe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var l,f;let o=null;const s={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();return{node:c,loader:e,server:i,universal:(l=c.universal)!=null&&l.load?{type:"data",data:o,uses:s}:null,data:o??(i==null?void 0:i.data)??null,slash:((f=c.universal)==null?void 0:f.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Se?an(a,r.href,t):rn(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Ye)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==w.params[o])return!0;for(const o of r.dependencies)if(be.some(s=>s(new URL(o))))return!0;return!1}function Qe(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function vn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function yn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:tt(L),constructors:[]}}}async function It({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Re.delete(v.token),v.promise;const{errors:o,layouts:s,leaf:c}=r,l=[...s,c];o.forEach(g=>g==null?void 0:g().catch(N)),l.forEach(g=>g==null?void 0:g[1]().catch(N));const f=w.url?e!==Le(w.url):!1,h=w.route?r.id!==w.route.id:!1,_=vn(w.url,n);let u=!1;const d=l.map(async(g,p)=>{var $;if(!g)return;const b=w.branch[p];return g[1]===(b==null?void 0:b.loader)&&!wn(u,h,f,_,($=b.universal)==null?void 0:$.uses,a)?b:(u=!0,Xe({loader:g[1],url:n,params:a,route:r,parent:async()=>{var me;const D={};for(let B=0;B<p;B+=1)Object.assign(D,(me=await d[B])==null?void 0:me.data);return D},server_data_node:Qe(g[0]?{type:"skip"}:null,g[0]?b==null?void 0:b.server:void 0)}))});for(const g of d)g.catch(N);const m=[];for(let g=0;g<l.length;g+=1)if(l[g])try{m.push(await d[g])}catch(p){if(p instanceof Ke)return{type:"redirect",location:p.location};if(i&&Re.has(i))return yn({error:await W(p,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=ze(p),R;if(p instanceof Fe)R=p.body;else{if(await j.updated.check())return await kt(),await re(n);R=await W(p,{params:a,url:n,route:{id:r.id}})}const $=await bn(g,m,o);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:o,status:b,error:R,route:r}):await Ot(n,{id:r.id},R,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:o,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ze({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const o=await Xe({loader:qe,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Qe(i)}),s={node:await ye(),loader:ye,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[o,s],status:e,error:t,errors:[],route:null})}catch(o){if(o instanceof Ke){await gn(new URL(o.location,location.href),{},0);return}const s=await E.get_error_template(),c=await W(o,{url:n,params:r,route:a}),l=String((c==null?void 0:c.message)??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),f=s({status:e,message:l}),h=new DOMParser().parseFromString(f,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),o}}async function En(e){const t=e.href;if(we.has(t))return we.get(t);let n;try{const a=(async()=>{let r=await E.hooks.reroute({url:new URL(e),fetch:async(i,o)=>_n(i,o,e).promise})??e;if(typeof r=="string"){const i=new URL(e);E.hash?i.hash=r:i.pathname=r,r=i}return r})();we.set(t,a),n=await a}catch{we.delete(t);return}return n}async function Ue(e,t){if(e&&!Te(e,A,E.hash)){const n=await En(e);if(!n)return;const a=kn(n);for(const r of Je){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:zt(i),url:e}}}}function kn(e){return Ht(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(A.length))||"/"}function Le(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Pt({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=et(w,n,e,t,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const c={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return ae||St.forEach(l=>l(c)),o?null:s}async function z({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:c={},accept:l=N,block:f=N,event:h}){var B;const _=C;C=c;const u=await Ue(t,!1),d=e==="enter"?et(w,u,t,e):Pt({url:t,type:e,delta:n==null?void 0:n.delta,intent:u,scroll:n==null?void 0:n.scroll,event:h});if(!d){f(),C===c&&(C=_);return}const m=k,g=x;l(),ae=!0,Se&&d.navigation.type!=="enter"&&j.navigating.set(oe.current=d.navigation);let p=u&&await It(u);if(!p){if(Te(t,A,E.hash))return await re(t,i);p=await Ot(t,{id:null},await W(new Ge(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(u==null?void 0:u.url)||t,C!==c){d.reject(new Error("navigation aborted"));return}if(!p)return;if(p.type==="redirect"){if(s<20){await z({type:e,url:new URL(p.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:c}),d.fulfil(void 0);return}if(p=await Ze({status:500,error:await W(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!p)return}else if(p.props.page.status>=400&&await j.updated.check())return await kt(),await re(t,i);if(pn(),We(m),At(g),p.props.page.url.pathname!==t.pathname&&(t.pathname=p.props.page.url.pathname),o=n?n.state:o,!n){const S=i?0:1,J={[H]:k+=S,[te]:x+=S,[bt]:o};(i?history.replaceState:history.pushState).call(history,J,"",t),i||dn(k,x)}const b=u&&(v==null?void 0:v.id)===u.id?v.fork:null;v!=null&&v.fork&&!b?ke():(v=null,G={element:void 0,href:void 0}),p.props.page.state=o;let R;if(Se){const S=(await Promise.all(Array.from(hn,Y=>Y(d.navigation)))).filter(Y=>typeof Y=="function");if(S.length>0){let Y=function(){S.forEach(Pe=>{ee.delete(Pe)})};S.push(Y),S.forEach(Pe=>{ee.add(Pe)})}const J=d.navigation.to;w={...p.state,nav:{params:J.params,route:J.route,url:J.url}},p.props.page&&(p.props.page.url=t),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const Ie=b&&await b;Ie?R=Ie.commit():(X=null,Lt.$set(p.props),X&&Object.assign(p.props.page,X),Dt(p.props.page),R=(B=Bt)==null?void 0:B()),xt=!0}else await Tt(p,De,!1);const{activeElement:$}=document;if(await R,await ve(),await ve(),C!==c){d.reject(new Error("navigation aborted"));return}p.props.page&&X&&Object.assign(p.props.page,X);let D=null;if(st){const S=n?n.scroll:r?M():null;S?scrollTo(S.x,S.y):(D=t.hash&&document.getElementById($t(t)))?D.scrollIntoView():scrollTo(0,0)}const me=document.activeElement!==$&&document.activeElement!==document.body;!a&&!me&&Un(t,!D),st=!0,ae=!1,d.fulfil(void 0),d.navigation.to&&(d.navigation.to.scroll=M()),ee.forEach(S=>S(d.navigation)),e==="popstate"&&Ut(x),j.navigating.set(oe.current=null)}async function Ot(e,t,n,a,r){return e.origin===nt&&e.pathname===location.pathname&&!Rt?await Ze({status:a,error:n,url:e,route:t}):await re(e,r)}let G={element:void 0,href:void 0};function Sn(){let e,t;O.addEventListener("mousemove",o=>{const s=o.target;clearTimeout(e),e=setTimeout(()=>{r(s,V.hover)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],V.tap)}O.addEventListener("mousedown",n),O.addEventListener("touchstart",n,{passive:!0});const a=new IntersectionObserver(o=>{for(const s of o)s.isIntersecting&&(Ne(new URL(s.target.href)),a.unobserve(s.target))},{threshold:0});async function r(o,s){const c=jt(o,O),l=c===G.element&&(c==null?void 0:c.href)===G.href&&s>=t;if(!c||l)return;const{url:f,external:h,download:_}=Me(c,A,E.hash);if(h||_)return;const u=Ae(c),d=f&&Le(w.url)===Le(f);if(!(u.reload||d))if(s<=u.preload_data){G={element:c,href:c.href},t=V.tap;const m=await Ue(f,!1);if(!m)return;mn(m)}else s<=u.preload_code&&(G={element:c,href:c.href},t=s,Ne(f))}function i(){a.disconnect();for(const o of O.querySelectorAll("a")){const{url:s,external:c,download:l}=Me(o,A,E.hash);if(c||l)continue;const f=Ae(o);f.reload||(f.preload_code===V.viewport&&a.observe(o),f.preload_code===V.eager&&Ne(s))}}ee.add(i),i()}function W(e,t){if(e instanceof Fe)return e.body;const n=ze(e),a=fn(e);return E.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(lt(),!ae){const r=et(w,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};St.forEach(o=>o(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&lt()}),(t=navigator.connection)!=null&&t.saveData||Sn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=jt(n.composedPath()[0],O);if(!a)return;const{url:r,external:i,target:o,download:s}=Me(a,A,E.hash);if(!r)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const c=Ae(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[f,h]=(E.hash?r.hash.replace(/^#/,""):r.href).split("#"),_=f===$e(location);if(i||c.reload&&(!_||!h)){Pt({url:r,type:"link",event:n})?ae=!0:n.preventDefault();return}if(h!==void 0&&_){const[,u]=w.url.href.split("#");if(u===h){if(n.preventDefault(),h===""||h==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const d=a.ownerDocument.getElementById(decodeURIComponent(h));d&&(d.scrollIntoView(),d.focus())}return}if(Q=!0,We(k),e(r),!c.replace_state)return;Q=!1}n.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await z({type:"link",url:r,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const s=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Te(s,A,!1))return;const c=n.target,l=Ae(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const f=new FormData(c,r);s.search=new URLSearchParams(f).toString(),z({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Ve){if((a=n.state)!=null&&a[H]){const r=n.state[H];if(C={},r===k)return;const i=q[r],o=n.state[bt]??{},s=new URL(n.state[sn]??location.href),c=n.state[te],l=w.url?$e(location)===$e(w.url):!1;if(c===x&&(xt||l)){o!==L.state&&(L.state=o),e(s),q[k]=M(),i&&scrollTo(i.x,i.y),k=r;return}const h=r-k;await z({type:"popstate",url:s,popped:{state:o,scroll:i,delta:h},accept:()=>{k=r,x=c},block:()=>{history.go(-h)},nav_token:C,event:n})}else if(!Q){const r=new URL(location.href);e(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Q&&(Q=!1,history.replaceState({...history.state,[H]:++k,[te]:x},"",location.href))});for(const n of document.querySelectorAll("link"))un.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&j.navigating.set(oe.current=null)});function e(n){w.url=L.url=n,j.page.set(tt(L)),j.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:c}){Rt=!0;const l=new URL(location.href);let f;({params:r={},route:i={id:null}}=await Ue(l,!1)||{}),f=Je.find(({id:u})=>u===i.id);let h,_=!0;try{const u=a.map(async(m,g)=>{const p=s[g];return p!=null&&p.uses&&(p.uses=An(p.uses)),Xe({loader:E.nodes[m],url:l,params:r,route:i,parent:async()=>{const b={};for(let R=0;R<g;R+=1)Object.assign(b,(await u[R]).data);return b},server_data_node:Qe(p)})}),d=await Promise.all(u);if(f){const m=f.layouts;for(let g=0;g<m.length;g++)m[g]||d.splice(g,0,void 0)}h=await xe({url:l,params:r,branch:d,status:t,error:n,errors:f==null?void 0:f.errors,form:c,route:f??null})}catch(u){if(u instanceof Ke)return await re(new URL(u.location,location.href));h=await Ze({status:ze(u),error:await W(u,{url:l,params:r,route:i}),url:l,route:i}),e.textContent="",_=!1}h&&(h.props.page&&(h.props.page.state={}),await Tt(h,e,_))}function An(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Ve=!1;function Un(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=$t(e);if(a&&document.getElementById(a)){const{x:i,y:o}=M();setTimeout(()=>{const s=history.state;Ve=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(i,o),Ve=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],c=r.getRangeAt(o);if(s.commonAncestorContainer!==c.commonAncestorContainer||s.startContainer!==c.startContainer||s.endContainer!==c.endContainer||s.startOffset!==c.startOffset||s.endOffset!==c.endOffset)return}r.removeAllRanges()}})}}}function et(e,t,n,a,r=null){var l,f;let i,o;const s=new Promise((h,_)=>{i=h,o=_});return s.catch(N),{navigation:{from:{params:e.params,route:{id:((l=e.route)==null?void 0:l.id)??null},url:e.url,scroll:M()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((f=t==null?void 0:t.route)==null?void 0:f.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:s},fulfil:i,reject:o}}function tt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function $t(e){let t;if(E.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}const nt=location.origin;function Ct(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function M(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const ft={...V,"":V.hover};function Nt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function jt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Nt(e)}}function Me(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Te(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(a==null?void 0:a.origin)===nt&&e.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function Ae(e){let t=null,n=null,a=null,r=null,i=null,o=null,s=e;for(;s&&s!==document.documentElement;)a===null&&(a=K(s,"preload-code")),r===null&&(r=K(s,"preload-data")),t===null&&(t=K(s,"keepfocus")),n===null&&(n=K(s,"noscroll")),i===null&&(i=K(s,"reload")),o===null&&(o=K(s,"replacestate")),s=Nt(s);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ft[a??"off"],preload_data:ft[r??"off"],keepfocus:c(t),noscroll:c(n),reload:c(i),replace_state:c(o)}}function ut(e){const t=Be(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function i(o){let s;return t.subscribe(c=>{(s===void 0||n&&c!==s)&&o(s=c)})}return{notify:a,set:r,subscribe:i}}const qt={v:N};function In(){const{set:e,subscribe:t}=Be(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Kt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==Ft;return o&&(e(!0),qt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function Te(e,t,n){return e.origin!==nt||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function jn(e){}let L,oe,je;const Pn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),dt="a:";var se,ie,ce,le,fe,ue,de,he,gt,pe,mt,ge,_t;Pn?(L={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(dt)},oe={current:null},je={current:!1}):(L=new(gt=class{constructor(){U(this,se,T({}));U(this,ie,T(null));U(this,ce,T(null));U(this,le,T({}));U(this,fe,T({id:null}));U(this,ue,T({}));U(this,de,T(-1));U(this,he,T(new URL(dt)))}get data(){return I(y(this,se))}set data(t){P(y(this,se),t)}get form(){return I(y(this,ie))}set form(t){P(y(this,ie),t)}get error(){return I(y(this,ce))}set error(t){P(y(this,ce),t)}get params(){return I(y(this,le))}set params(t){P(y(this,le),t)}get route(){return I(y(this,fe))}set route(t){P(y(this,fe),t)}get state(){return I(y(this,ue))}set state(t){P(y(this,ue),t)}get status(){return I(y(this,de))}set status(t){P(y(this,de),t)}get url(){return I(y(this,he))}set url(t){P(y(this,he),t)}},se=new WeakMap,ie=new WeakMap,ce=new WeakMap,le=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,he=new WeakMap,gt),oe=new(mt=class{constructor(){U(this,pe,T(null))}get current(){return I(y(this,pe))}set current(t){P(y(this,pe),t)}},pe=new WeakMap,mt),je=new(_t=class{constructor(){U(this,ge,T(!1))}get current(){return I(y(this,ge))}set current(t){P(y(this,ge),t)}},ge=new WeakMap,_t),qt.v=()=>je.current=!0);function Dt(e){Object.assign(L,e)}export{Nn as a,jn as l,L as p,j as s};
build/_app/immutable/entry/app.CaYJDMTI.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.C906-JqX.js","../chunks/D0-Lpew9.js","../chunks/CdZ30l9o.js","../chunks/DP5BbXZE.js","../assets/0.BhVp1zZ_.css","../nodes/1.FU7WamiZ.js","../chunks/CryQBVor.js","../chunks/yC-If9Zk.js","../chunks/Cx7tSjKg.js","../nodes/2.BAgY3fC9.js","../chunks/DHQwSDIs.js"])))=>i.map(i=>d[i]);
2
+ var G=t=>{throw TypeError(t)};var H=(t,e,a)=>e.has(t)||G("Cannot "+a);var m=(t,e,a)=>(H(t,e,"read from private field"),a?a.call(t):e.get(t)),k=(t,e,a)=>e.has(t)?G("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),C=(t,e,a,o)=>(H(t,e,"write to private field"),o?o.call(t,a):e.set(t,a),a);import{al as x,am as Q,L as g,an as se,a6 as ie,ao as oe,h as W,i as ce,g as ue,E as fe,j as le,k as de,l as _e,n as Z,ac as me,f as ve,q as he,ap as ge,M as ye,t as X,D as p,aq as Ee,ar as $,as as Pe,at as Re,au as Se,av as be,aw as Oe,ax as we,ay as Ae,o as Te,az as Ie,aA as xe,aB as J,aC as Le,aD as De,v as Be,aE as je,u as ke,aF as Ce,w as D,B as Ne,y as Ye,aG as N,z as qe,A as Ue,x as Me,aH as Y}from"../chunks/CdZ30l9o.js";import{h as Ve,m as ze,u as Fe,s as Ge}from"../chunks/CryQBVor.js";import{a as A,c as q,f as ee,t as He}from"../chunks/D0-Lpew9.js";import{o as We}from"../chunks/Cx7tSjKg.js";import{B as Ze,i as U}from"../chunks/DHQwSDIs.js";const Je="modulepreload",Ke=function(t,e){return new URL(t,e).href},K={},j=function(e,a,o){let c=Promise.resolve();if(a&&a.length>0){let n=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),v=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));c=n(a.map(u=>{if(u=Ke(u,o),u in K)return;K[u]=!0;const d=u.endsWith(".css"),R=d?'[rel="stylesheet"]':"";if(!!o)for(let f=r.length-1;f>=0;f--){const _=r[f];if(_.href===u&&(!d||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${R}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":Je,d||(h.as="script"),h.crossOrigin="",h.href=u,v&&h.setAttribute("nonce",v),document.head.appendChild(h),d)return new Promise((f,_)=>{h.addEventListener("load",f),h.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${u}`)))})}))}function l(n){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=n,window.dispatchEvent(r),!r.defaultPrevented)throw n}return c.then(n=>{for(const r of n||[])r.status==="rejected"&&l(r.reason);return e().catch(l)})},ut={};let B=!1;function Qe(t){var e=B;try{return B=!1,[t(),B]}finally{B=e}}function Xe(t){return class extends pe{constructor(e){super({component:t,...e})}}}var O,y;class pe{constructor(e){k(this,O);k(this,y);var l;var a=new Map,o=(n,r)=>{var s=oe(r,!1,!1);return a.set(n,s),s};const c=new Proxy({...e.props||{},$$events:{}},{get(n,r){return g(a.get(r)??o(r,Reflect.get(n,r)))},has(n,r){return r===Q?!0:(g(a.get(r)??o(r,Reflect.get(n,r))),Reflect.has(n,r))},set(n,r,s){return x(a.get(r)??o(r,s),s),Reflect.set(n,r,s)}});C(this,y,(e.hydrate?Ve:ze)(e.component,{target:e.target,anchor:e.anchor,props:c,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((l=e==null?void 0:e.props)!=null&&l.$$host)||e.sync===!1)&&se(),C(this,O,c.$$events);for(const n of Object.keys(m(this,y)))n==="$set"||n==="$destroy"||n==="$on"||ie(this,n,{get(){return m(this,y)[n]},set(r){m(this,y)[n]=r},enumerable:!0});m(this,y).$set=n=>{Object.assign(c,n)},m(this,y).$destroy=()=>{Fe(m(this,y))}}$set(e){m(this,y).$set(e)}$on(e,a){m(this,O)[e]=m(this,O)[e]||[];const o=(...c)=>a.call(this,...c);return m(this,O)[e].push(o),()=>{m(this,O)[e]=m(this,O)[e].filter(c=>c!==o)}}$destroy(){m(this,y).$destroy()}}O=new WeakMap,y=new WeakMap;function M(t,e,a){var o;W&&(o=ve,ce());var c=new Ze(t);ue(()=>{var l=e()??null;if(W){var n=le(o),r=n===me,s=l!==null;if(r!==s){var v=de();_e(v),c.anchor=v,Z(!1),c.ensure(l,l&&(u=>a(u,l))),Z(!0);return}}c.ensure(l,l&&(u=>a(u,l)))},fe)}function V(t,e){return t===e||(t==null?void 0:t[$])===e}function z(t={},e,a,o){var c=he.r,l=p;return ge(()=>{var n,r;return ye(()=>{n=r,r=[],X(()=>{V(a(...r),t)||(e(t,...r),n&&V(a(...n),t)&&e(null,...n))})}),()=>{let s=l;for(;s!==c&&s.parent!==null&&s.parent.f&Ee;)s=s.parent;const v=()=>{r&&V(a(...r),t)&&e(null,...r)},u=s.teardown;s.teardown=()=>{v(),u==null||u()}}}),t}function F(t,e,a,o){var b;var c=!Te||(a&Ie)!==0,l=(a&Ae)!==0,n=(a&De)!==0,r=o,s=!0,v=void 0,u=()=>n&&c?(v??(v=J(o)),g(v)):(s&&(s=!1,r=n?X(o):o),r);let d;if(l){var R=$ in t||Q in t;d=((b=Pe(t,e))==null?void 0:b.set)??(R&&e in t?i=>t[e]=i:void 0)}var w,h=!1;l?[w,h]=Qe(()=>t[e]):w=t[e],w===void 0&&o!==void 0&&(w=u(),d&&(c&&Re(),d(w)));var f;if(c?f=()=>{var i=t[e];return i===void 0?u():(s=!0,i)}:f=()=>{var i=t[e];return i!==void 0&&(r=void 0),i===void 0?r:i},c&&(a&Se)===0)return f;if(d){var _=t.$$legacy;return(function(i,T){return arguments.length>0?((!c||!T||_||h)&&d(T?f():i),i):f()})}var E=!1,P=((a&xe)!==0?J:Le)(()=>(E=!1,f()));l&&g(P);var S=p;return(function(i,T){if(arguments.length>0){const I=T?g(P):c&&l?be(i):i;return x(P,I),E=!0,r!==void 0&&(r=I),i}return Oe&&E||(S.f&we)!==0?P.v:g(P)})}var $e=ee('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),et=ee("<!> <!>",1);function tt(t,e){Be(e,!0);let a=F(e,"components",23,()=>[]),o=F(e,"data_0",3,null),c=F(e,"data_1",3,null);je(()=>e.stores.page.set(e.page)),ke(()=>{e.stores,e.page,e.constructors,a(),e.form,o(),c(),e.stores.page.notify()});let l=N(!1),n=N(!1),r=N(null);We(()=>{const f=e.stores.page.subscribe(()=>{g(l)&&(x(n,!0),Ce().then(()=>{x(r,document.title||"untitled page",!0)}))});return x(l,!0),f});const s=Y(()=>e.constructors[1]);var v=et(),u=D(v);{var d=f=>{const _=Y(()=>e.constructors[0]);var E=q(),P=D(E);M(P,()=>g(_),(S,b)=>{z(b(S,{get data(){return o()},get form(){return e.form},get params(){return e.page.params},children:(i,T)=>{var I=q(),re=D(I);M(re,()=>g(s),(ae,ne)=>{z(ne(ae,{get data(){return c()},get form(){return e.form},get params(){return e.page.params}}),L=>a()[1]=L,()=>{var L;return(L=a())==null?void 0:L[1]})}),A(i,I)},$$slots:{default:!0}}),i=>a()[0]=i,()=>{var i;return(i=a())==null?void 0:i[0]})}),A(f,E)},R=f=>{const _=Y(()=>e.constructors[0]);var E=q(),P=D(E);M(P,()=>g(_),(S,b)=>{z(b(S,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),i=>a()[0]=i,()=>{var i;return(i=a())==null?void 0:i[0]})}),A(f,E)};U(u,f=>{e.constructors[1]?f(d):f(R,-1)})}var w=Ne(u,2);{var h=f=>{var _=$e(),E=qe(_);{var P=S=>{var b=He();Me(()=>Ge(b,g(r))),A(S,b)};U(E,S=>{g(n)&&S(P)})}Ue(_),A(f,_)};U(w,f=>{g(l)&&f(h)})}A(t,v),Ye()}const ft=Xe(tt),lt=[()=>j(()=>import("../nodes/0.C906-JqX.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>j(()=>import("../nodes/1.FU7WamiZ.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>j(()=>import("../nodes/2.BAgY3fC9.js"),__vite__mapDeps([9,1,2,3,8,6,10]),import.meta.url)],dt=[],_t={"/":[2]},te={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},rt=Object.fromEntries(Object.entries(te.transport).map(([t,e])=>[t,e.decode])),mt=Object.fromEntries(Object.entries(te.transport).map(([t,e])=>[t,e.encode])),vt=!1,ht=(t,e)=>rt[t](e),gt=()=>j(()=>import("../chunks/wbPk3Yxo.js"),[],import.meta.url).then(t=>t.default);export{ht as decode,rt as decoders,_t as dictionary,mt as encoders,gt as get_error_template,vt as hash,te as hooks,ut as matchers,lt as nodes,ft as root,dt as server_loads};
build/_app/immutable/entry/start.DRhwpU0X.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{l as o,a as r}from"../chunks/yC-If9Zk.js";export{o as load_css,r as start};
build/_app/immutable/nodes/0.C906-JqX.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{c as f,a as l}from"../chunks/D0-Lpew9.js";import"../chunks/DP5BbXZE.js";import{h as s,i as u,w as c}from"../chunks/CdZ30l9o.js";function d(n,e,t,r,_){var i;s&&u();var a=(i=e.$$slots)==null?void 0:i[t],o=!1;a===!0&&(a=e.children,o=!0),a===void 0||a(n,o?()=>r:r)}const m=!0,h=Object.freeze(Object.defineProperty({__proto__:null,prerender:m},Symbol.toStringTag,{value:"Module"}));function b(n,e){var t=f(),r=c(t);d(r,e,"default",{}),l(n,t)}export{b as component,h as universal};
build/_app/immutable/nodes/1.FU7WamiZ.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{a as h,f as g}from"../chunks/D0-Lpew9.js";import{v,w as d,x as l,y as x,z as a,A as o,B as _}from"../chunks/CdZ30l9o.js";import{s as p}from"../chunks/CryQBVor.js";import{s as $,p as m}from"../chunks/yC-If9Zk.js";const k={get error(){return m.error},get status(){return m.status}};$.updated.check;const c=k;var b=g("<h1> </h1> <p> </p>",1);function B(f,n){v(n,!0);var t=b(),r=d(t),u=a(r,!0);o(r);var e=_(r,2),i=a(e,!0);o(e),l(()=>{var s;p(u,c.status),p(i,(s=c.error)==null?void 0:s.message)}),h(f,t),x()}export{B as component};
build/_app/immutable/nodes/2.BAgY3fC9.js ADDED
The diff for this file is too large to render. See raw diff
 
build/_app/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"1784552917601"}
 
1
+ {"version":"1784621670130"}
build/index.html CHANGED
@@ -7,34 +7,34 @@
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500&display=swap" rel="stylesheet" />
10
- <link href="./_app/immutable/entry/start.D4TIGLtM.js" rel="modulepreload">
11
- <link href="./_app/immutable/chunks/UWALBBqO.js" rel="modulepreload">
12
  <link href="./_app/immutable/chunks/CdZ30l9o.js" rel="modulepreload">
13
  <link href="./_app/immutable/chunks/Cx7tSjKg.js" rel="modulepreload">
14
- <link href="./_app/immutable/entry/app.DoRsE-be.js" rel="modulepreload">
15
  <link href="./_app/immutable/chunks/CryQBVor.js" rel="modulepreload">
16
  <link href="./_app/immutable/chunks/D0-Lpew9.js" rel="modulepreload">
17
  <link href="./_app/immutable/chunks/DHQwSDIs.js" rel="modulepreload">
18
- <link href="./_app/immutable/nodes/0.eFSw7z9t.js" rel="modulepreload">
19
  <link href="./_app/immutable/chunks/DP5BbXZE.js" rel="modulepreload">
20
- <link href="./_app/immutable/nodes/2.C-8ae8EP.js" rel="modulepreload">
21
  <!--1uha8ag--><meta name="description" content="A carefully scored compact language model benchmark from Universal Computing Research."/><!----><title>Compact Language Model Index</title>
22
- <link href="./_app/immutable/assets/0.uHywWbNV.css" rel="stylesheet">
23
  </head>
24
  <body data-sveltekit-preload-data="hover">
25
- <div style="display: contents"><!--[--><!--[0--><!--[--><!--[--><!--[--><main><section class="hero" id="top"><div class="hero-copy"><div class="hero-kicker"><p class="eyebrow">Small language model evaluation</p> <span class="edition">Research index</span></div> <h1>Compact<br/>Language Model<br/><span>Index</span></h1> <p class="hero-description">A fixed evaluation of compact language models across six benchmarks, with chance-normalized scores and 95% intervals</p> <a class="hero-link" href="#leaderboard-title">Explore the leaderboard</a></div></section> <section class="summary-grid" aria-label="Suite summary"><article><span class="summary-index">Evaluation breadth</span><div class="summary-value"><strong>6</strong><span>core benchmarks</span></div></article> <article><span class="summary-index">Linguistic depth</span><div class="summary-value"><strong>12</strong><span>BLiMP categories</span></div></article> <article><span class="summary-index">Current sample</span><div class="summary-value"><strong>18</strong><span>models measured</span></div></article></section> <section class="leaderboard-section" aria-labelledby="leaderboard-title"><div class="section-heading table-heading"><div><p class="eyebrow">Ranked results</p> <h2 id="leaderboard-title">Core leaderboard</h2></div> <div class="leaderboard-controls"><div class="filter-stack"><div class="top-filter-row"><div class="filters view-filter"><button type="button" aria-pressed="false">Simplified view</button></div> <div class="filters" aria-label="Model track filter"><!--[--><button class="active">All tracks</button><button>Base</button><button>Instruction</button><!--]--></div></div> <div class="size-filters" aria-label="Maximum parameter count"><!--[--><button class="active">All</button><button>&lt;10M</button><button>&lt;50M</button><button>&lt;100M</button><button>&lt;300M</button><!--]--></div></div></div></div> <div class="table-wrap"><table><thead><tr><th>Rank</th><th class="sortable"><button class="sort-button" type="button">Model</button></th><th class="metadata-head" title="Hugging Face repository creation date">Release date</th><th class="sortable"><button class="sort-button" type="button">Parameters</button></th><th class="metadata-head">Vocab. size</th><th class="track-head">Track</th><th class="sortable score-head sorted"><button class="sort-button" type="button">Average score <span>95% CI</span></button></th><!--[--><th class="sortable metric-head"><button class="sort-button" type="button">HellaSwag</button></th><th class="sortable metric-head"><button class="sort-button" type="button">PIQA</button></th><th class="sortable metric-head"><button class="sort-button" type="button">ARC-Easy</button></th><th class="sortable metric-head"><button class="sort-button" type="button">ARC-Challenge</button></th><th class="sortable metric-head"><button class="sort-button" type="button">CommonsenseQA</button></th><th class="sortable metric-head"><button class="sort-button" type="button">BLiMP</button></th><!--]--></tr></thead><tbody><!--[-1--><!--[--><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/LiquidAI/LFM2-350M" target="_blank" rel="noreferrer" aria-label="Open LFM2 350M on Hugging Face"><span class="model-name">LFM2 350M</span></a><!--]--> <!--[0--><span class="model-source">LiquidAI/LFM2-350M</span><!--]--></td><td class="metadata">2025-07-10</td><td>354M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->43.2<span>42.0–44.2</span><!--]--></td><td class="metric"><!--[0-->32.0<span>30.6–33.3</span><!--]--></td><td class="metric"><!--[0-->39.2<span>35.0–43.2</span><!--]--></td><td class="metric"><!--[0-->55.2<span>52.6–57.7</span><!--]--></td><td class="metric"><!--[0-->19.5<span>15.7–23.3</span><!--]--></td><td class="metric"><!--[0-->31.3<span>27.9–34.9</span><!--]--></td><td class="metric"><!--[0-->58.1<span>57.2–58.4</span><!--]--></td><!--]--></tr><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/Qwen/Qwen2.5-0.5B" target="_blank" rel="noreferrer" aria-label="Open Qwen2.5 0.5B on Hugging Face"><span class="model-name">Qwen2.5 0.5B</span></a><!--]--> <!--[0--><span class="model-source">Qwen/Qwen2.5-0.5B</span><!--]--></td><td class="metadata">2024-09-15</td><td>494M</td><td class="metadata">151,936</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->43.0<span>41.9–44.0</span><!--]--></td><td class="metric"><!--[0-->36.2<span>34.8–37.5</span><!--]--></td><td class="metric"><!--[0-->38.8<span>34.7–42.8</span><!--]--></td><td class="metric"><!--[0-->44.6<span>41.9–47.2</span><!--]--></td><td class="metric"><!--[0-->9.3<span>5.8–13.1</span><!--]--></td><td class="metric"><!--[0-->26.2<span>22.9–29.7</span><!--]--></td><td class="metric"><!--[0-->68.7<span>67.9–68.9</span><!--]--></td><!--]--></tr><tr><td class="rank">3</td><td><!--[0--><a class="model-link" href="https://huggingface.co/google/gemma-3-270m" target="_blank" rel="noreferrer" aria-label="Open Gemma 3 270M on Hugging Face"><span class="model-name">Gemma 3 270M</span></a><!--]--> <!--[0--><span class="model-source">google/gemma-3-270m</span><!--]--></td><td class="metadata">2025-08-05</td><td>270M</td><td class="metadata">262,144</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->38.9<span>37.8–39.9</span><!--]--></td><td class="metric"><!--[0-->21.9<span>20.7–23.3</span><!--]--></td><td class="metric"><!--[0-->37.0<span>32.9–41.2</span><!--]--></td><td class="metric"><!--[0-->43.0<span>40.4–45.6</span><!--]--></td><td class="metric"><!--[0-->4.0<span>0.6–7.3</span><!--]--></td><td class="metric"><!--[0-->28.2<span>24.8–31.7</span><!--]--></td><td class="metric"><!--[0-->64.3<span>63.5–64.5</span><!--]--></td><!--]--></tr><tr><td class="rank">4</td><td><!--[0--><a class="model-link" href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M" target="_blank" rel="noreferrer" aria-label="Open SmolLM2 135M on Hugging Face"><span class="model-name">SmolLM2 135M</span></a><!--]--> <!--[0--><span class="model-source">HuggingFaceTB/SmolLM2-135M</span><!--]--></td><td class="metadata">2024-10-31</td><td>135M</td><td class="metadata">49,152</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->37.8<span>36.7–38.8</span><!--]--></td><td class="metric"><!--[0-->24.3<span>23.0–25.6</span><!--]--></td><td class="metric"><!--[0-->36.3<span>32.1–40.6</span><!--]--></td><td class="metric"><!--[0-->44.9<span>42.3–47.5</span><!--]--></td><td class="metric"><!--[0-->6.3<span>2.6–9.7</span><!--]--></td><td class="metric"><!--[0-->19.4<span>16.2–22.8</span><!--]--></td><td class="metric"><!--[0-->62.7<span>61.9–63.1</span><!--]--></td><!--]--></tr><tr><td class="rank">5</td><td><!--[0--><a class="model-link" href="https://huggingface.co/AxiomicLabs/GPT-X2-125M" target="_blank" rel="noreferrer" aria-label="Open GPT-X2 125M on Hugging Face"><span class="model-name">GPT-X2 125M</span></a><!--]--> <!--[0--><span class="model-source">AxiomicLabs/GPT-X2-125M</span><!--]--></td><td class="metadata">2026-03-25</td><td>125M</td><td class="metadata">32,768</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->35.5<span>34.3–36.5</span><!--]--></td><td class="metric"><!--[0-->20.7<span>19.4–21.9</span><!--]--></td><td class="metric"><!--[0-->34.2<span>29.7–38.4</span><!--]--></td><td class="metric"><!--[0-->35.5<span>32.8–38.2</span><!--]--></td><td class="metric"><!--[0-->3.4<span>-0.1–7.1</span><!--]--></td><td class="metric"><!--[0-->18.3<span>14.9–21.6</span><!--]--></td><td class="metric"><!--[0-->65.8<span>65.0–66.1</span><!--]--></td><!--]--></tr><tr><td class="rank">6</td><td><!--[0--><a class="model-link" href="https://huggingface.co/facebook/MobileLLM-R1-140M-base" target="_blank" rel="noreferrer" aria-label="Open MobileLLM-R1 140M Base on Hugging Face"><span class="model-name">MobileLLM-R1 140M Base</span></a><!--]--> <!--[0--><span class="model-source">facebook/MobileLLM-R1-140M-base</span><!--]--></td><td class="metadata">2025-09-10</td><td>140M</td><td class="metadata">128,256</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->31.2<span>30.1–32.2</span><!--]--></td><td class="metric"><!--[0-->12.1<span>10.9–13.3</span><!--]--></td><td class="metric"><!--[0-->26.6<span>22.2–30.8</span><!--]--></td><td class="metric"><!--[0-->33.2<span>30.5–35.7</span><!--]--></td><td class="metric"><!--[0-->-1.1<span>-4.6–2.3</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.0–22.8</span><!--]--></td><td class="metric"><!--[0-->61.6<span>60.7–61.8</span><!--]--></td><!--]--></tr><tr><td class="rank">7</td><td><!--[0--><a class="model-link" href="https://huggingface.co/PleIAs/Baguettotron" target="_blank" rel="noreferrer" aria-label="Open Baguettotron on Hugging Face"><span class="model-name">Baguettotron</span></a><!--]--> <!--[0--><span class="model-source">PleIAs/Baguettotron</span><!--]--></td><td class="metadata">2025-11-10</td><td>321M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->29.6<span>28.4–30.7</span><!--]--></td><td class="metric"><!--[0-->13.9<span>12.6–15.1</span><!--]--></td><td class="metric"><!--[0-->24.2<span>19.6–28.7</span><!--]--></td><td class="metric"><!--[0-->34.1<span>31.5–36.7</span><!--]--></td><td class="metric"><!--[0-->7.2<span>3.8–10.6</span><!--]--></td><td class="metric"><!--[0-->13.3<span>10.0–16.6</span><!--]--></td><td class="metric"><!--[0-->56.9<span>56.0–57.2</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/openai-community/gpt2" target="_blank" rel="noreferrer" aria-label="Open GPT-2 124M on Hugging Face"><span class="model-name">GPT-2 124M</span></a><!--]--> <!--[0--><span class="model-source">openai-community/gpt2</span><!--]--></td><td class="metadata">2022-03-02</td><td>124M</td><td class="metadata">50,257</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.9<span>26.8–28.9</span><!--]--></td><td class="metric"><!--[0-->8.2<span>7.0–9.4</span><!--]--></td><td class="metric"><!--[0-->25.0<span>20.7–29.4</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.7–21.9</span><!--]--></td><td class="metric"><!--[0-->-3.4<span>-6.6–-0.2</span><!--]--></td><td class="metric"><!--[0-->12.3<span>9.2–15.5</span><!--]--></td><td class="metric"><!--[0-->67.5<span>66.8–67.8</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/SupraLabs/Supra-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Supra 50M Base on Hugging Face"><span class="model-name">Supra 50M Base</span></a><!--]--> <!--[0--><span class="model-source">SupraLabs/Supra-50M-Base</span><!--]--></td><td class="metadata">2026-05-21</td><td>51.8M</td><td class="metadata">32,000</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.3<span>26.2–28.3</span><!--]--></td><td class="metric"><!--[0-->8.8<span>7.6–10.0</span><!--]--></td><td class="metric"><!--[0-->23.4<span>18.9–28.0</span><!--]--></td><td class="metric"><!--[0-->27.5<span>24.7–30.2</span><!--]--></td><td class="metric"><!--[0-->-0.1<span>-3.5–3.2</span><!--]--></td><td class="metric"><!--[0-->12.5<span>9.2–15.7</span><!--]--></td><td class="metric"><!--[0-->59.0<span>57.9–59.1</span><!--]--></td><!--]--></tr><tr><td class="rank">10</td><td><!--[0--><a class="model-link" href="https://huggingface.co/veyra-ai/Veyra2-Apricot-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Veyra2 Apricot 50M Base on Hugging Face"><span class="model-name">Veyra2 Apricot 50M Base</span></a><!--]--> <!--[0--><span class="model-source">veyra-ai/Veyra2-Apricot-50M-Base</span><!--]--></td><td class="metadata">2026-06-14</td><td>49.3M</td><td class="metadata">8,192</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->26.1<span>24.9–27.1</span><!--]--></td><td class="metric"><!--[0-->8.4<span>7.2–9.5</span><!--]--></td><td class="metric"><!--[0-->23.4<span>19.0–27.9</span><!--]--></td><td class="metric"><!--[0-->23.7<span>20.9–26.4</span><!--]--></td><td class="metric"><!--[0-->-2.0<span>-5.2–1.1</span><!--]--></td><td class="metric"><!--[0-->10.8<span>7.7–14.0</span><!--]--></td><td class="metric"><!--[0-->58.7<span>57.7–58.9</span><!--]--></td><!--]--></tr><!--]--><!--]--></tbody></table></div> <!--[0--><button class="bar-toggle table-toggle" type="button" aria-expanded="false" aria-label="Show all 18 models" title="Show all 18 models"><span class="bar-toggle-chevron" aria-hidden="true"></span></button><!--]--></section> <section class="chart-controls" aria-label="Chart metric selector"><div><p class="eyebrow">Chart metric</p> <p class="section-note">Select a benchmark to update both the scaling chart and score comparison below.</p></div> <div class="task-tabs" aria-label="Benchmark score selector"><!--[--><button class="active">Average</button><button>HellaSwag</button><button>PIQA</button><button>ARC-Easy</button><button>ARC-Challenge</button><button>CommonsenseQA</button><button>BLiMP</button><!--]--></div></section> <section class="panel landscape" aria-labelledby="landscape-title"><div class="section-heading"><div><p class="eyebrow">Model scaling</p> <h2 id="landscape-title">Parameters and Average score</h2></div> <div class="legend"><span class="legend-dot base"></span>Base <span class="legend-dot instruction"></span>Instruction-tuned <span class="frontier-label"><span class="frontier-key"></span>Pareto trend</span></div></div> <!--[0--><div class="scatter-area" role="group" aria-label="Interactive Average score scatter chart"><svg viewBox="0 0 1120 390" preserveAspectRatio="xMidYMid meet" aria-label="Scatter chart of model size and chance-normalized Average score" role="img"><text class="axis-title" x="7" y="195" text-anchor="middle" transform="rotate(-90 7 195)">Chance-normalized score</text><!--[--><line class="grid-line" x1="62" x2="1092" y1="338" y2="338"></line><text class="axis-text" x="48" y="342" text-anchor="end">-5.0</text><line class="grid-line" x1="62" x2="1092" y1="260.5" y2="260.5"></line><text class="axis-text" x="48" y="264.5" text-anchor="end">8.0</text><line class="grid-line" x1="62" x2="1092" y1="183" y2="183"></line><text class="axis-text" x="48" y="187" text-anchor="end">21.0</text><line class="grid-line" x1="62" x2="1092" y1="105.5" y2="105.5"></line><text class="axis-text" x="48" y="109.5" text-anchor="end">34.0</text><line class="grid-line" x1="62" x2="1092" y1="28" y2="28"></line><text class="axis-text" x="48" y="32" text-anchor="end">47.0</text><!--]--><line class="axis-line" x1="62" x2="1092" y1="338" y2="338"></line><!--[--><text class="axis-text" x="62" y="373" text-anchor="middle">1.00M</text><text class="axis-text" x="405.33333333333326" y="373" text-anchor="middle">66.2M</text><text class="axis-text" x="748.6666666666666" y="373" text-anchor="middle">233M</text><text class="axis-text" x="1092" y="373" text-anchor="middle">502M</text><!--]--><text class="axis-title" x="560" y="389" dy="16" text-anchor="middle">Parameters (square-root scale)</text><!--[0--><line class="frontier-line" x1="62" y1="216.56388959058867" x2="1092" y2="28"></line><!--]--><!--[--><circle class="point instruction-point" cx="920.0643854317169" cy="50.780455838519174" r="7" tabindex="0" role="button" aria-label="LFM2 350M: 354M, Average score 43.2"></circle><circle class="point" cx="1083.6305651411053" cy="51.90738346440537" r="7" tabindex="0" role="button" aria-label="Qwen2.5 0.5B: 494M, Average score 43.0"></circle><circle class="point" cx="804.7395806967118" cy="76.21220794018353" r="7" tabindex="0" role="button" aria-label="Gemma 3 270M: 270M, Average score 38.9"></circle><circle class="point" cx="573.0989971860241" cy="82.58687530918641" r="7" tabindex="0" role="button" aria-label="SmolLM2 135M: 135M, Average score 37.8"></circle><circle class="point" cx="552.1640728408827" cy="96.41524426650113" r="7" tabindex="0" role="button" aria-label="GPT-X2 125M: 125M, Average score 35.5"></circle><circle class="point" cx="583.3609510834209" cy="122.12647039897544" r="7" tabindex="0" role="button" aria-label="MobileLLM-R1 140M Base: 140M, Average score 31.2"></circle><circle class="point instruction-point" cx="876.2040679057936" cy="131.5429165333165" r="7" tabindex="0" role="button" aria-label="Baguettotron: 321M, Average score 29.6"></circle><circle class="point" cx="549.8315227770954" cy="142.03728477664495" r="7" tabindex="0" role="button" aria-label="GPT-2 124M: 124M, Average score 27.9"></circle><circle class="point" cx="360.2314798696789" cy="145.2155148919247" r="7" tabindex="0" role="button" aria-label="Supra 50M Base: 51.8M, Average score 27.3"></circle><circle class="point" cx="351.8148480745461" cy="152.66228173290887" r="7" tabindex="0" role="button" aria-label="Veyra2 Apricot 50M Base: 49.3M, Average score 26.1"></circle><circle class="point instruction-point" cx="470.47840980935945" cy="184.1896780254373" r="7" tabindex="0" role="button" aria-label="Falcon H1 Tiny R 90M: 90.0M, Average score 20.8"></circle><circle class="point" cx="165.83340068793552" cy="187.3757702798596" r="7" tabindex="0" role="button" aria-label="SLM 10M: 9.97M, Average score 20.3"></circle><circle class="point" cx="622.6814934529776" cy="187.69827382415878" r="7" tabindex="0" role="button" aria-label="Pythia 160M: 160M, Average score 20.2"></circle><circle class="point" cx="125.54930588890744" cy="193.25663346409905" r="7" tabindex="0" role="button" aria-label="GPT-S2 5M: 5.38M, Average score 19.3"></circle><circle class="point" cx="518.6696792594654" cy="201.73683063453336" r="7" tabindex="0" role="button" aria-label="nanowhale 100M Base: 110M, Average score 17.9"></circle><circle class="point" cx="281.8503408278001" cy="207.2645820788696" r="7" tabindex="0" role="button" aria-label="Pythia 31M: 31.0M, Average score 16.9"></circle><circle class="point" cx="102.78494456761237" cy="222.7794839267102" r="7" tabindex="0" role="button" aria-label="Atom 3.4M: 3.41M, Average score 14.3"></circle><circle class="point" cx="71.34471923620197" cy="234.94264108877815" r="7" tabindex="0" role="button" aria-label="GPT-S 1.4M: 1.43M, Average score 12.3"></circle><!--]--></svg> <!--[-1--><!--]--></div><!--]--></section> <section class="panel score-panel" aria-labelledby="scores-title"><div class="section-heading compact-heading"><div><h2 id="scores-title">Model score comparison</h2> <p class="section-note">The top 10 matching models are shown by default. This comparison uses the shared metric selected above.</p></div></div> <!--[0--><div class="bar-list" style="--zero:0%"><!--[--><div class="bar-row"><span class="bar-rank">1</span> <span class="bar-name" title="LFM2 350M">LFM2 350M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:97.66531842166003%"></i><!--[0--><i class="ci-band instruction-band" style="--start:95.08105379287115%; --width:4.918946207128863%"></i><!--]--></div> <strong>43.2</strong></div><div class="bar-row"><span class="bar-rank">2</span> <span class="bar-name" title="Qwen2.5 0.5B">Qwen2.5 0.5B</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:97.23774780038632%"></i><!--[0--><i class="ci-band" style="--start:94.69030884335038%; --width:4.757187813642953%"></i><!--]--></div> <strong>43.0</strong></div><div class="bar-row"><span class="bar-rank">3</span> <span class="bar-name" title="Gemma 3 270M">Gemma 3 270M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:88.01618941247756%"></i><!--[0--><i class="ci-band" style="--start:85.44044110865632%; --width:4.839940668657898%"></i><!--]--></div> <strong>38.9</strong></div><div class="bar-row"><span class="bar-rank">4</span> <span class="bar-name" title="SmolLM2 135M">SmolLM2 135M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:85.597559835237%"></i><!--[0--><i class="ci-band" style="--start:82.96844443078491%; --width:4.905403281355444%"></i><!--]--></div> <strong>37.8</strong></div><div class="bar-row"><span class="bar-rank">5</span> <span class="bar-name" title="GPT-X2 125M">GPT-X2 125M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:80.35090142482527%"></i><!--[0--><i class="ci-band" style="--start:77.6741650567042%; --width:4.842527680048843%"></i><!--]--></div> <strong>35.5</strong></div><div class="bar-row"><span class="bar-rank">6</span> <span class="bar-name" title="MobileLLM-R1 140M Base">MobileLLM-R1 140M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:70.59573642696135%"></i><!--[0--><i class="ci-band" style="--start:68.01351553652728%; --width:4.856246906950909%"></i><!--]--></div> <strong>31.2</strong></div><div class="bar-row"><span class="bar-rank">7</span> <span class="bar-name" title="Baguettotron">Baguettotron</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:67.0230174418495%"></i><!--[0--><i class="ci-band instruction-band" style="--start:64.30273366073322%; --width:5.102435679356783%"></i><!--]--></div> <strong>29.6</strong></div><div class="bar-row"><span class="bar-rank">8</span> <span class="bar-name" title="GPT-2 124M">GPT-2 124M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:63.04132114955523%"></i><!--[0--><i class="ci-band" style="--start:60.53290469836335%; --width:4.737448055935418%"></i><!--]--></div> <strong>27.9</strong></div><div class="bar-row"><span class="bar-rank">9</span> <span class="bar-name" title="Supra 50M Base">Supra 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:61.835460370454776%"></i><!--[0--><i class="ci-band" style="--start:59.165814883947%; --width:4.859755028382519%"></i><!--]--></div> <strong>27.3</strong></div><div class="bar-row"><span class="bar-rank">10</span> <span class="bar-name" title="Veyra2 Apricot 50M Base">Veyra2 Apricot 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:59.01006266829425%"></i><!--[0--><i class="ci-band" style="--start:56.36520694817211%; --width:4.826922398471318%"></i><!--]--></div> <strong>26.1</strong></div><!--]--></div> <!--[0--><button class="bar-toggle" type="button" aria-expanded="false" aria-label="Show all 18 models" title="Show all 18 models"><span class="bar-toggle-chevron" aria-hidden="true"></span></button><!--]--><!--]--></section> <section class="bottom-grid"><article class="panel method-card"><p class="eyebrow">Scoring method</p> <h3>Chance-normalized composite score</h3> <p class="formula">100 × <span>(accuracy − chance)</span> / <span>(1 − chance)</span></p> <p>For each benchmark, the observed result is normalized against its chance level: chance maps to 0 and a perfect result maps to 100.</p> <p>HellaSwag, PIQA, and CommonsenseQA form a commonsense domain worth 50% of the composite, with each benchmark weighted equally within that domain. Science and world knowledge contribute 25% after combining ARC-Easy (75%) and ARC-Challenge (25%). BLiMP contributes the remaining 25% for grammatical competence and is macro-averaged across its 12 linguistic categories.</p> <p>CommonsenseQA scores the likelihood of each full answer text with length normalization, rather than scoring the A–E answer label. This prevents a model’s letter preference from being mistaken for commonsense capability.</p> <p>Each benchmark interval is a 95% percentile bootstrap. Model comparisons use paired bootstrap resampling on matched evaluation items. Results below chance remain negative, and rank ranges reflect comparisons that do not distinguish neighbouring models.</p></article> <article class="panel protocol-card"><p class="eyebrow">Evaluation protocol</p> <h2>Curated evaluation</h2> <p>CompactLMIndex is a curated benchmark, not an open intake list. We are establishing a Pareto-frontier baseline across model sizes and highlighting training or inference strategies that put a model ahead of its peers at a comparable parameter count.</p> <ul><li>Complete core suite required for a rank</li><li>Zero-shot, non-chat log-likelihood prompts</li><li>Paired bootstrap comparisons on matched questions</li></ul> <p>Every published result is independently checked through our internal verification process. Final inclusion and presentation decisions remain with Universal Computing Research.</p> <p>If you have interesting results for a model you think is suitable for this benchmark, you can open a discussion on the Space for consideration.</p></article></section> <section class="panel additional-card" aria-labelledby="credits-title"><div><p class="eyebrow">Credits &amp; scope</p> <h2 id="credits-title">Efficiency at smaller scales</h2></div> <div class="credits-content"><p>CompactLMIndex looks at smaller language models. At this scale, architecture, training, and inference choices can make a real difference. Every model follows the same evaluation protocol, so results are compared fairly rather than by size alone.</p> <p class="credits-attribution">Inspired by the <a href="https://huggingface.co/open-llm-leaderboard" target="_blank" rel="noreferrer">Open LLM Leaderboard</a>, <a href="https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard" target="_blank" rel="noreferrer">Axiomic Labs Open SLM Leaderboard</a>, and <a href="https://github.com/openai/parameter-golf" target="_blank" rel="noreferrer">OpenAI Parameter Golf</a>.</p></div></section> <footer><p>Compact Language Model Index by <a href="https://huggingface.co/UniversalComputingResearch" target="_blank" rel="noreferrer">Universal Computing Research</a></p></footer></main><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
26
 
27
  <script>
28
  {
29
- __sveltekit_1olruol = {
30
  base: new URL(".", location).pathname.slice(0, -1)
31
  };
32
 
33
  const element = document.currentScript.parentElement;
34
 
35
  Promise.all([
36
- import("./_app/immutable/entry/start.D4TIGLtM.js"),
37
- import("./_app/immutable/entry/app.DoRsE-be.js")
38
  ]).then(([kit, app]) => {
39
  kit.start(app, element, {
40
  node_ids: [0, 2],
 
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500&display=swap" rel="stylesheet" />
10
+ <link href="./_app/immutable/entry/start.DRhwpU0X.js" rel="modulepreload">
11
+ <link href="./_app/immutable/chunks/yC-If9Zk.js" rel="modulepreload">
12
  <link href="./_app/immutable/chunks/CdZ30l9o.js" rel="modulepreload">
13
  <link href="./_app/immutable/chunks/Cx7tSjKg.js" rel="modulepreload">
14
+ <link href="./_app/immutable/entry/app.CaYJDMTI.js" rel="modulepreload">
15
  <link href="./_app/immutable/chunks/CryQBVor.js" rel="modulepreload">
16
  <link href="./_app/immutable/chunks/D0-Lpew9.js" rel="modulepreload">
17
  <link href="./_app/immutable/chunks/DHQwSDIs.js" rel="modulepreload">
18
+ <link href="./_app/immutable/nodes/0.C906-JqX.js" rel="modulepreload">
19
  <link href="./_app/immutable/chunks/DP5BbXZE.js" rel="modulepreload">
20
+ <link href="./_app/immutable/nodes/2.BAgY3fC9.js" rel="modulepreload">
21
  <!--1uha8ag--><meta name="description" content="A carefully scored compact language model benchmark from Universal Computing Research."/><!----><title>Compact Language Model Index</title>
22
+ <link href="./_app/immutable/assets/0.BhVp1zZ_.css" rel="stylesheet">
23
  </head>
24
  <body data-sveltekit-preload-data="hover">
25
+ <div style="display: contents"><!--[--><!--[0--><!--[--><!--[--><!--[--><main><section class="hero" id="top"><div class="hero-copy"><div class="hero-kicker"><p class="eyebrow">Small language model evaluation</p> <span class="edition">Research index</span></div> <h1>Compact<br/>Language Model<br/><span>Index</span></h1> <p class="hero-description">A fixed evaluation of compact language models across six benchmarks, with chance-normalized scores and 95% intervals</p> <a class="hero-link" href="#leaderboard-title">Explore the leaderboard</a></div></section> <section class="summary-grid" aria-label="Suite summary"><article><span class="summary-index">Evaluation breadth</span><div class="summary-value"><strong>6</strong><span>core benchmarks</span></div></article> <article><span class="summary-index">Linguistic depth</span><div class="summary-value"><strong>12</strong><span>BLiMP categories</span></div></article> <article><span class="summary-index">Current sample</span><div class="summary-value"><strong>18</strong><span>models measured</span></div></article></section> <section class="leaderboard-section" aria-labelledby="leaderboard-title"><div class="section-heading table-heading"><div><p class="eyebrow">Ranked results</p> <h2 id="leaderboard-title">Core leaderboard</h2></div> <div class="leaderboard-controls"><div class="filter-stack"><div class="top-filter-row"><div class="filters view-filter"><button type="button" aria-pressed="false">Simplified view</button></div> <div class="filters" aria-label="Model track filter"><!--[--><button class="active">All tracks</button><button>Base</button><button>Instruction</button><!--]--></div></div> <div class="size-filters" aria-label="Maximum parameter count"><!--[--><button class="active">All</button><button>&lt;10M</button><button>&lt;50M</button><button>&lt;100M</button><button>&lt;300M</button><!--]--></div></div></div></div> <div class="table-wrap"><table><thead><tr><th>Rank</th><th class="sortable"><button class="sort-button" type="button">Model</button></th><th class="metadata-head" title="Hugging Face repository creation date">Release date</th><th class="sortable"><button class="sort-button" type="button">Parameters</button></th><th class="metadata-head">Vocab. size</th><th class="track-head">Track</th><th class="sortable score-head sorted"><button class="sort-button" type="button">Score <span>95% CI</span></button></th><!--[--><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by HellaSwag"><!--[-1-->HellaSwag<!--]--></button></th><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by PIQA"><!--[-1-->PIQA<!--]--></button></th><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by ARC-Easy"><!--[0-->ARC-E*<!--]--></button></th><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by ARC-Challenge"><!--[1-->ARC-C*<!--]--></button></th><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by CommonsenseQA"><!--[2-->CQA*<!--]--></button></th><th class="sortable metric-head"><button class="sort-button" type="button" aria-label="Sort by BLiMP"><!--[-1-->BLiMP<!--]--></button></th><!--]--></tr></thead><tbody><!--[-1--><!--[--><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/LiquidAI/LFM2-350M" target="_blank" rel="noreferrer" aria-label="Open LFM2 350M on Hugging Face"><span class="model-name">LFM2 350M</span></a><!--]--> <!--[0--><span class="model-source">LiquidAI/LFM2-350M</span><!--]--></td><td class="metadata">2025-07-10</td><td>354M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->43.2<span>42.0–44.2</span><!--]--></td><td class="metric"><!--[0-->32.0<span>30.6–33.3</span><!--]--></td><td class="metric"><!--[0-->39.2<span>35.0–43.2</span><!--]--></td><td class="metric"><!--[0-->55.2<span>52.6–57.7</span><!--]--></td><td class="metric"><!--[0-->19.5<span>15.7–23.3</span><!--]--></td><td class="metric"><!--[0-->31.3<span>27.9–34.9</span><!--]--></td><td class="metric"><!--[0-->58.1<span>57.2–58.4</span><!--]--></td><!--]--></tr><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/Qwen/Qwen2.5-0.5B" target="_blank" rel="noreferrer" aria-label="Open Qwen2.5 0.5B on Hugging Face"><span class="model-name">Qwen2.5 0.5B</span></a><!--]--> <!--[0--><span class="model-source">Qwen/Qwen2.5-0.5B</span><!--]--></td><td class="metadata">2024-09-15</td><td>494M</td><td class="metadata">151,936</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->43.0<span>41.9–44.0</span><!--]--></td><td class="metric"><!--[0-->36.2<span>34.8–37.5</span><!--]--></td><td class="metric"><!--[0-->38.8<span>34.7–42.8</span><!--]--></td><td class="metric"><!--[0-->44.6<span>41.9–47.2</span><!--]--></td><td class="metric"><!--[0-->9.3<span>5.8–13.1</span><!--]--></td><td class="metric"><!--[0-->26.2<span>22.9–29.7</span><!--]--></td><td class="metric"><!--[0-->68.7<span>67.9–68.9</span><!--]--></td><!--]--></tr><tr><td class="rank">3</td><td><!--[0--><a class="model-link" href="https://huggingface.co/google/gemma-3-270m" target="_blank" rel="noreferrer" aria-label="Open Gemma 3 270M on Hugging Face"><span class="model-name">Gemma 3 270M</span></a><!--]--> <!--[0--><span class="model-source">google/gemma-3-270m</span><!--]--></td><td class="metadata">2025-08-05</td><td>270M</td><td class="metadata">262,144</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->38.9<span>37.8–39.9</span><!--]--></td><td class="metric"><!--[0-->21.9<span>20.7–23.3</span><!--]--></td><td class="metric"><!--[0-->37.0<span>32.9–41.2</span><!--]--></td><td class="metric"><!--[0-->43.0<span>40.4–45.6</span><!--]--></td><td class="metric"><!--[0-->4.0<span>0.6–7.3</span><!--]--></td><td class="metric"><!--[0-->28.2<span>24.8–31.7</span><!--]--></td><td class="metric"><!--[0-->64.3<span>63.5–64.5</span><!--]--></td><!--]--></tr><tr><td class="rank">4</td><td><!--[0--><a class="model-link" href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M" target="_blank" rel="noreferrer" aria-label="Open SmolLM2 135M on Hugging Face"><span class="model-name">SmolLM2 135M</span></a><!--]--> <!--[0--><span class="model-source">HuggingFaceTB/SmolLM2-135M</span><!--]--></td><td class="metadata">2024-10-31</td><td>135M</td><td class="metadata">49,152</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->37.8<span>36.7–38.8</span><!--]--></td><td class="metric"><!--[0-->24.3<span>23.0–25.6</span><!--]--></td><td class="metric"><!--[0-->36.3<span>32.1–40.6</span><!--]--></td><td class="metric"><!--[0-->44.9<span>42.3–47.5</span><!--]--></td><td class="metric"><!--[0-->6.3<span>2.6–9.7</span><!--]--></td><td class="metric"><!--[0-->19.4<span>16.2–22.8</span><!--]--></td><td class="metric"><!--[0-->62.7<span>61.9–63.1</span><!--]--></td><!--]--></tr><tr><td class="rank">5</td><td><!--[0--><a class="model-link" href="https://huggingface.co/AxiomicLabs/GPT-X2-125M" target="_blank" rel="noreferrer" aria-label="Open GPT-X2 125M on Hugging Face"><span class="model-name">GPT-X2 125M</span></a><!--]--> <!--[0--><span class="model-source">AxiomicLabs/GPT-X2-125M</span><!--]--></td><td class="metadata">2026-03-25</td><td>125M</td><td class="metadata">32,768</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->35.5<span>34.3–36.5</span><!--]--></td><td class="metric"><!--[0-->20.7<span>19.4–21.9</span><!--]--></td><td class="metric"><!--[0-->34.2<span>29.7–38.4</span><!--]--></td><td class="metric"><!--[0-->35.5<span>32.8–38.2</span><!--]--></td><td class="metric"><!--[0-->3.4<span>-0.1–7.1</span><!--]--></td><td class="metric"><!--[0-->18.3<span>14.9–21.6</span><!--]--></td><td class="metric"><!--[0-->65.8<span>65.0–66.1</span><!--]--></td><!--]--></tr><tr><td class="rank">6</td><td><!--[0--><a class="model-link" href="https://huggingface.co/facebook/MobileLLM-R1-140M-base" target="_blank" rel="noreferrer" aria-label="Open MobileLLM-R1 140M Base on Hugging Face"><span class="model-name">MobileLLM-R1 140M Base</span></a><!--]--> <!--[0--><span class="model-source">facebook/MobileLLM-R1-140M-base</span><!--]--></td><td class="metadata">2025-09-10</td><td>140M</td><td class="metadata">128,256</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->31.2<span>30.1–32.2</span><!--]--></td><td class="metric"><!--[0-->12.1<span>10.9–13.3</span><!--]--></td><td class="metric"><!--[0-->26.6<span>22.2–30.8</span><!--]--></td><td class="metric"><!--[0-->33.2<span>30.5–35.7</span><!--]--></td><td class="metric"><!--[0-->-1.1<span>-4.6–2.3</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.0–22.8</span><!--]--></td><td class="metric"><!--[0-->61.6<span>60.7–61.8</span><!--]--></td><!--]--></tr><tr><td class="rank">7</td><td><!--[0--><a class="model-link" href="https://huggingface.co/PleIAs/Baguettotron" target="_blank" rel="noreferrer" aria-label="Open Baguettotron on Hugging Face"><span class="model-name">Baguettotron</span></a><!--]--> <!--[0--><span class="model-source">PleIAs/Baguettotron</span><!--]--></td><td class="metadata">2025-11-10</td><td>321M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->29.6<span>28.4–30.7</span><!--]--></td><td class="metric"><!--[0-->13.9<span>12.6–15.1</span><!--]--></td><td class="metric"><!--[0-->24.2<span>19.6–28.7</span><!--]--></td><td class="metric"><!--[0-->34.1<span>31.5–36.7</span><!--]--></td><td class="metric"><!--[0-->7.2<span>3.8–10.6</span><!--]--></td><td class="metric"><!--[0-->13.3<span>10.0–16.6</span><!--]--></td><td class="metric"><!--[0-->56.9<span>56.0–57.2</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/openai-community/gpt2" target="_blank" rel="noreferrer" aria-label="Open GPT-2 124M on Hugging Face"><span class="model-name">GPT-2 124M</span></a><!--]--> <!--[0--><span class="model-source">openai-community/gpt2</span><!--]--></td><td class="metadata">2022-03-02</td><td>124M</td><td class="metadata">50,257</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.9<span>26.8–28.9</span><!--]--></td><td class="metric"><!--[0-->8.2<span>7.0–9.4</span><!--]--></td><td class="metric"><!--[0-->25.0<span>20.7–29.4</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.7–21.9</span><!--]--></td><td class="metric"><!--[0-->-3.4<span>-6.6–-0.2</span><!--]--></td><td class="metric"><!--[0-->12.3<span>9.2–15.5</span><!--]--></td><td class="metric"><!--[0-->67.5<span>66.8–67.8</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/SupraLabs/Supra-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Supra 50M Base on Hugging Face"><span class="model-name">Supra 50M Base</span></a><!--]--> <!--[0--><span class="model-source">SupraLabs/Supra-50M-Base</span><!--]--></td><td class="metadata">2026-05-21</td><td>51.8M</td><td class="metadata">32,000</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.3<span>26.2–28.3</span><!--]--></td><td class="metric"><!--[0-->8.8<span>7.6–10.0</span><!--]--></td><td class="metric"><!--[0-->23.4<span>18.9–28.0</span><!--]--></td><td class="metric"><!--[0-->27.5<span>24.7–30.2</span><!--]--></td><td class="metric"><!--[0-->-0.1<span>-3.5–3.2</span><!--]--></td><td class="metric"><!--[0-->12.5<span>9.2–15.7</span><!--]--></td><td class="metric"><!--[0-->59.0<span>57.9–59.1</span><!--]--></td><!--]--></tr><tr><td class="rank">10</td><td><!--[0--><a class="model-link" href="https://huggingface.co/veyra-ai/Veyra2-Apricot-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Veyra2 Apricot 50M Base on Hugging Face"><span class="model-name">Veyra2 Apricot 50M Base</span></a><!--]--> <!--[0--><span class="model-source">veyra-ai/Veyra2-Apricot-50M-Base</span><!--]--></td><td class="metadata">2026-06-14</td><td>49.3M</td><td class="metadata">8,192</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->26.1<span>24.9–27.1</span><!--]--></td><td class="metric"><!--[0-->8.4<span>7.2–9.5</span><!--]--></td><td class="metric"><!--[0-->23.4<span>19.0–27.9</span><!--]--></td><td class="metric"><!--[0-->23.7<span>20.9–26.4</span><!--]--></td><td class="metric"><!--[0-->-2.0<span>-5.2–1.1</span><!--]--></td><td class="metric"><!--[0-->10.8<span>7.7–14.0</span><!--]--></td><td class="metric"><!--[0-->58.7<span>57.7–58.9</span><!--]--></td><!--]--></tr><tr><td class="rank">11–13</td><td><!--[0--><a class="model-link" href="https://huggingface.co/tiiuae/Falcon-H1-Tiny-R-90M" target="_blank" rel="noreferrer" aria-label="Open Falcon H1 Tiny R 90M on Hugging Face"><span class="model-name">Falcon H1 Tiny R 90M</span></a><!--]--> <!--[0--><span class="model-source">tiiuae/Falcon-H1-Tiny-R-90M</span><!--]--></td><td class="metadata">2026-01-12</td><td>90.0M</td><td class="metadata">32,768</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->20.8<span>19.6–21.8</span><!--]--></td><td class="metric"><!--[0-->7.7<span>6.6–8.9</span><!--]--></td><td class="metric"><!--[0-->21.5<span>17.0–25.9</span><!--]--></td><td class="metric"><!--[0-->19.0<span>16.3–21.5</span><!--]--></td><td class="metric"><!--[0-->-0.1<span>-3.4–3.2</span><!--]--></td><td class="metric"><!--[0-->10.4<span>7.4–13.6</span><!--]--></td><td class="metric"><!--[0-->42.5<span>41.6–43.0</span><!--]--></td><!--]--></tr><tr><td class="rank">11–13</td><td><!--[0--><a class="model-link" href="https://huggingface.co/liodon-ai/slm-10m" target="_blank" rel="noreferrer" aria-label="Open SLM 10M on Hugging Face"><span class="model-name">SLM 10M</span></a><!--]--> <!--[0--><span class="model-source">liodon-ai/slm-10m</span><!--]--></td><td class="metadata">2026-06-13</td><td>9.97M</td><td class="metadata">8,192</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->20.3<span>19.1–21.2</span><!--]--></td><td class="metric"><!--[0-->3.1<span>2.0–4.2</span><!--]--></td><td class="metric"><!--[0-->14.1<span>9.7–18.5</span><!--]--></td><td class="metric"><!--[0-->14.3<span>11.6–16.8</span><!--]--></td><td class="metric"><!--[0-->-1.9<span>-5.1–1.3</span><!--]--></td><td class="metric"><!--[0-->7.5<span>4.5–10.6</span><!--]--></td><td class="metric"><!--[0-->54.4<span>53.5–54.7</span><!--]--></td><!--]--></tr><tr><td class="rank">11–14</td><td><!--[0--><a class="model-link" href="https://huggingface.co/EleutherAI/pythia-160m" target="_blank" rel="noreferrer" aria-label="Open Pythia 160M on Hugging Face"><span class="model-name">Pythia 160M</span></a><!--]--> <!--[0--><span class="model-source">EleutherAI/pythia-160m</span><!--]--></td><td class="metadata">2023-02-08</td><td>160M</td><td class="metadata">50,304</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->20.2<span>19.1–21.2</span><!--]--></td><td class="metric"><!--[0-->7.3<span>6.2–8.5</span><!--]--></td><td class="metric"><!--[0-->16.9<span>12.5–21.2</span><!--]--></td><td class="metric"><!--[0-->15.8<span>13.2–18.4</span><!--]--></td><td class="metric"><!--[0-->-2.6<span>-5.7–0.6</span><!--]--></td><td class="metric"><!--[0-->11.7<span>8.4–14.8</span><!--]--></td><td class="metric"><!--[0-->45.7<span>44.8–46.2</span><!--]--></td><!--]--></tr><tr><td class="rank">13–14</td><td><!--[0--><a class="model-link" href="https://huggingface.co/AxiomicLabs/GPT-S2-5M" target="_blank" rel="noreferrer" aria-label="Open GPT-S2 5M on Hugging Face"><span class="model-name">GPT-S2 5M</span></a><!--]--> <!--[0--><span class="model-source">AxiomicLabs/GPT-S2-5M</span><!--]--></td><td class="metadata">2026-06-19</td><td>5.38M</td><td class="metadata">4,096</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->19.3<span>18.2–20.3</span><!--]--></td><td class="metric"><!--[0-->3.4<span>2.3–4.5</span><!--]--></td><td class="metric"><!--[0-->12.9<span>8.3–17.4</span><!--]--></td><td class="metric"><!--[0-->11.3<span>8.6–13.9</span><!--]--></td><td class="metric"><!--[0-->-3.8<span>-6.9–-0.7</span><!--]--></td><td class="metric"><!--[0-->6.0<span>3.2–9.2</span><!--]--></td><td class="metric"><!--[0-->54.6<span>53.9–55.0</span><!--]--></td><!--]--></tr><tr><td class="rank">15–16</td><td><!--[0--><a class="model-link" href="https://huggingface.co/HuggingFaceTB/nanowhale-100m-base" target="_blank" rel="noreferrer" aria-label="Open nanowhale 100M Base on Hugging Face"><span class="model-name">nanowhale 100M Base</span></a><!--]--> <!--[0--><span class="model-source">HuggingFaceTB/nanowhale-100m-base</span><!--]--></td><td class="metadata">2026-04-24</td><td>110M</td><td class="metadata">129,280</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->17.9<span>16.8–18.9</span><!--]--></td><td class="metric"><!--[0-->2.8<span>1.6–4.0</span><!--]--></td><td class="metric"><!--[0-->14.7<span>10.2–19.3</span><!--]--></td><td class="metric"><!--[0-->16.4<span>13.7–19.0</span><!--]--></td><td class="metric"><!--[0-->-3.4<span>-6.5–-0.2</span><!--]--></td><td class="metric"><!--[0-->9.7<span>6.6–12.9</span><!--]--></td><td class="metric"><!--[0-->41.8<span>41.0–42.3</span><!--]--></td><!--]--></tr><tr><td class="rank">15–16</td><td><!--[0--><a class="model-link" href="https://huggingface.co/EleutherAI/pythia-31m" target="_blank" rel="noreferrer" aria-label="Open Pythia 31M on Hugging Face"><span class="model-name">Pythia 31M</span></a><!--]--> <!--[0--><span class="model-source">EleutherAI/pythia-31m</span><!--]--></td><td class="metadata">2026-02-24</td><td>31.0M</td><td class="metadata">50,304</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->16.9<span>15.8–18.0</span><!--]--></td><td class="metric"><!--[0-->2.9<span>1.8–4.1</span><!--]--></td><td class="metric"><!--[0-->13.6<span>9.1–18.1</span><!--]--></td><td class="metric"><!--[0-->12.1<span>9.7–14.5</span><!--]--></td><td class="metric"><!--[0-->-4.4<span>-7.6–-1.1</span><!--]--></td><td class="metric"><!--[0-->8.1<span>5.1–11.1</span><!--]--></td><td class="metric"><!--[0-->43.3<span>42.5–43.9</span><!--]--></td><!--]--></tr><tr><td class="rank">17</td><td><!--[0--><a class="model-link" href="https://huggingface.co/UniversalComputingResearch/Atom3.4m" target="_blank" rel="noreferrer" aria-label="Open Atom 3.4M on Hugging Face"><span class="model-name">Atom 3.4M</span></a><!--]--> <!--[0--><span class="model-source">UniversalComputingResearch/Atom3.4m</span><!--]--></td><td class="metadata">2026-06-19</td><td>3.41M</td><td class="metadata">4,096</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->14.3<span>13.3–15.3</span><!--]--></td><td class="metric"><!--[0-->3.5<span>2.4–4.5</span><!--]--></td><td class="metric"><!--[0-->11.4<span>6.9–15.9</span><!--]--></td><td class="metric"><!--[0-->10.8<span>8.4–13.2</span><!--]--></td><td class="metric"><!--[0-->-4.2<span>-7.4–-1.1</span><!--]--></td><td class="metric"><!--[0-->5.9<span>2.9–9.2</span><!--]--></td><td class="metric"><!--[0-->36.4<span>35.6–37.0</span><!--]--></td><!--]--></tr><tr><td class="rank">18</td><td><!--[0--><a class="model-link" href="https://huggingface.co/AxiomicLabs/GPT-S-1.4M" target="_blank" rel="noreferrer" aria-label="Open GPT-S 1.4M on Hugging Face"><span class="model-name">GPT-S 1.4M</span></a><!--]--> <!--[0--><span class="model-source">AxiomicLabs/GPT-S-1.4M</span><!--]--></td><td class="metadata">2026-06-01</td><td>1.43M</td><td class="metadata">4,096</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->12.3<span>11.2–13.3</span><!--]--></td><td class="metric"><!--[0-->2.5<span>1.3–3.6</span><!--]--></td><td class="metric"><!--[0-->10.3<span>5.7–14.7</span><!--]--></td><td class="metric"><!--[0-->9.0<span>6.5–11.5</span><!--]--></td><td class="metric"><!--[0-->-4.0<span>-7.1–-0.7</span><!--]--></td><td class="metric"><!--[0-->4.3<span>1.5–7.4</span><!--]--></td><td class="metric"><!--[0-->32.0<span>31.2–32.6</span><!--]--></td><!--]--></tr><!--]--><!--]--></tbody></table></div> <p class="table-note">ARC-E* = ARC-Easy · ARC-C* = ARC-Challenge · CQA* = CommonsenseQA</p></section> <section class="chart-controls" aria-label="Chart metric selector"><div><p class="eyebrow">Chart metric</p> <p class="section-note">Select a benchmark to update both the scaling chart and score comparison below.</p></div> <div class="task-tabs" aria-label="Benchmark score selector"><!--[--><button class="active">Average</button><button>HellaSwag</button><button>PIQA</button><button>ARC-Easy</button><button>ARC-Challenge</button><button>CommonsenseQA</button><button>BLiMP</button><!--]--></div></section> <section class="panel landscape" aria-labelledby="landscape-title"><div class="section-heading"><div><p class="eyebrow">Model scaling</p> <h2 id="landscape-title">Parameters and Average score</h2></div> <div class="legend"><span class="legend-dot base"></span>Base <span class="legend-dot instruction"></span>Instruction-tuned <span class="frontier-label"><span class="frontier-key"></span>Pareto trend</span></div></div> <!--[0--><div class="scatter-area" role="group" aria-label="Interactive Average score scatter chart"><svg viewBox="0 0 1120 390" preserveAspectRatio="xMidYMid meet" aria-label="Scatter chart of model size and chance-normalized Average score" role="img"><text class="axis-title" x="7" y="195" text-anchor="middle" transform="rotate(-90 7 195)">Chance-normalized score</text><!--[--><line class="grid-line" x1="62" x2="1092" y1="338" y2="338"></line><text class="axis-text" x="48" y="342" text-anchor="end">-5.0</text><line class="grid-line" x1="62" x2="1092" y1="260.5" y2="260.5"></line><text class="axis-text" x="48" y="264.5" text-anchor="end">8.0</text><line class="grid-line" x1="62" x2="1092" y1="183" y2="183"></line><text class="axis-text" x="48" y="187" text-anchor="end">21.0</text><line class="grid-line" x1="62" x2="1092" y1="105.5" y2="105.5"></line><text class="axis-text" x="48" y="109.5" text-anchor="end">34.0</text><line class="grid-line" x1="62" x2="1092" y1="28" y2="28"></line><text class="axis-text" x="48" y="32" text-anchor="end">47.0</text><!--]--><line class="axis-line" x1="62" x2="1092" y1="338" y2="338"></line><!--[--><text class="axis-text" x="62" y="373" text-anchor="middle">1.00M</text><text class="axis-text" x="405.33333333333326" y="373" text-anchor="middle">66.2M</text><text class="axis-text" x="748.6666666666666" y="373" text-anchor="middle">233M</text><text class="axis-text" x="1092" y="373" text-anchor="middle">502M</text><!--]--><text class="axis-title" x="560" y="389" dy="16" text-anchor="middle">Parameters (square-root scale)</text><!--[0--><line class="frontier-line" x1="62" y1="216.56388959058867" x2="1092" y2="28"></line><!--]--><!--[--><circle class="point instruction-point" cx="920.0643854317169" cy="50.780455838519174" r="7" tabindex="0" role="button" aria-label="LFM2 350M: 354M, Average score 43.2"></circle><circle class="point" cx="1083.6305651411053" cy="51.90738346440537" r="7" tabindex="0" role="button" aria-label="Qwen2.5 0.5B: 494M, Average score 43.0"></circle><circle class="point" cx="804.7395806967118" cy="76.21220794018353" r="7" tabindex="0" role="button" aria-label="Gemma 3 270M: 270M, Average score 38.9"></circle><circle class="point" cx="573.0989971860241" cy="82.58687530918641" r="7" tabindex="0" role="button" aria-label="SmolLM2 135M: 135M, Average score 37.8"></circle><circle class="point" cx="552.1640728408827" cy="96.41524426650113" r="7" tabindex="0" role="button" aria-label="GPT-X2 125M: 125M, Average score 35.5"></circle><circle class="point" cx="583.3609510834209" cy="122.12647039897544" r="7" tabindex="0" role="button" aria-label="MobileLLM-R1 140M Base: 140M, Average score 31.2"></circle><circle class="point instruction-point" cx="876.2040679057936" cy="131.5429165333165" r="7" tabindex="0" role="button" aria-label="Baguettotron: 321M, Average score 29.6"></circle><circle class="point" cx="549.8315227770954" cy="142.03728477664495" r="7" tabindex="0" role="button" aria-label="GPT-2 124M: 124M, Average score 27.9"></circle><circle class="point" cx="360.2314798696789" cy="145.2155148919247" r="7" tabindex="0" role="button" aria-label="Supra 50M Base: 51.8M, Average score 27.3"></circle><circle class="point" cx="351.8148480745461" cy="152.66228173290887" r="7" tabindex="0" role="button" aria-label="Veyra2 Apricot 50M Base: 49.3M, Average score 26.1"></circle><circle class="point instruction-point" cx="470.47840980935945" cy="184.1896780254373" r="7" tabindex="0" role="button" aria-label="Falcon H1 Tiny R 90M: 90.0M, Average score 20.8"></circle><circle class="point" cx="165.83340068793552" cy="187.3757702798596" r="7" tabindex="0" role="button" aria-label="SLM 10M: 9.97M, Average score 20.3"></circle><circle class="point" cx="622.6814934529776" cy="187.69827382415878" r="7" tabindex="0" role="button" aria-label="Pythia 160M: 160M, Average score 20.2"></circle><circle class="point" cx="125.54930588890744" cy="193.25663346409905" r="7" tabindex="0" role="button" aria-label="GPT-S2 5M: 5.38M, Average score 19.3"></circle><circle class="point" cx="518.6696792594654" cy="201.73683063453336" r="7" tabindex="0" role="button" aria-label="nanowhale 100M Base: 110M, Average score 17.9"></circle><circle class="point" cx="281.8503408278001" cy="207.2645820788696" r="7" tabindex="0" role="button" aria-label="Pythia 31M: 31.0M, Average score 16.9"></circle><circle class="point" cx="102.78494456761237" cy="222.7794839267102" r="7" tabindex="0" role="button" aria-label="Atom 3.4M: 3.41M, Average score 14.3"></circle><circle class="point" cx="71.34471923620197" cy="234.94264108877815" r="7" tabindex="0" role="button" aria-label="GPT-S 1.4M: 1.43M, Average score 12.3"></circle><!--]--></svg> <!--[-1--><!--]--></div><!--]--></section> <section class="panel score-panel" aria-labelledby="scores-title"><div class="section-heading compact-heading"><div><h2 id="scores-title">Model score comparison</h2> <p class="section-note">The top 10 matching models are shown by default. This comparison uses the shared metric selected above.</p></div></div> <!--[0--><div class="bar-list" style="--zero:0%"><!--[--><div class="bar-row"><span class="bar-rank">1</span> <span class="bar-name" title="LFM2 350M">LFM2 350M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:97.66531842166003%"></i><!--[0--><i class="ci-band instruction-band" style="--start:95.08105379287115%; --width:4.918946207128863%"></i><!--]--></div> <strong>43.2</strong></div><div class="bar-row"><span class="bar-rank">2</span> <span class="bar-name" title="Qwen2.5 0.5B">Qwen2.5 0.5B</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:97.23774780038632%"></i><!--[0--><i class="ci-band" style="--start:94.69030884335038%; --width:4.757187813642953%"></i><!--]--></div> <strong>43.0</strong></div><div class="bar-row"><span class="bar-rank">3</span> <span class="bar-name" title="Gemma 3 270M">Gemma 3 270M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:88.01618941247756%"></i><!--[0--><i class="ci-band" style="--start:85.44044110865632%; --width:4.839940668657898%"></i><!--]--></div> <strong>38.9</strong></div><div class="bar-row"><span class="bar-rank">4</span> <span class="bar-name" title="SmolLM2 135M">SmolLM2 135M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:85.597559835237%"></i><!--[0--><i class="ci-band" style="--start:82.96844443078491%; --width:4.905403281355444%"></i><!--]--></div> <strong>37.8</strong></div><div class="bar-row"><span class="bar-rank">5</span> <span class="bar-name" title="GPT-X2 125M">GPT-X2 125M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:80.35090142482527%"></i><!--[0--><i class="ci-band" style="--start:77.6741650567042%; --width:4.842527680048843%"></i><!--]--></div> <strong>35.5</strong></div><div class="bar-row"><span class="bar-rank">6</span> <span class="bar-name" title="MobileLLM-R1 140M Base">MobileLLM-R1 140M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:70.59573642696135%"></i><!--[0--><i class="ci-band" style="--start:68.01351553652728%; --width:4.856246906950909%"></i><!--]--></div> <strong>31.2</strong></div><div class="bar-row"><span class="bar-rank">7</span> <span class="bar-name" title="Baguettotron">Baguettotron</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:67.0230174418495%"></i><!--[0--><i class="ci-band instruction-band" style="--start:64.30273366073322%; --width:5.102435679356783%"></i><!--]--></div> <strong>29.6</strong></div><div class="bar-row"><span class="bar-rank">8</span> <span class="bar-name" title="GPT-2 124M">GPT-2 124M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:63.04132114955523%"></i><!--[0--><i class="ci-band" style="--start:60.53290469836335%; --width:4.737448055935418%"></i><!--]--></div> <strong>27.9</strong></div><div class="bar-row"><span class="bar-rank">9</span> <span class="bar-name" title="Supra 50M Base">Supra 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:61.835460370454776%"></i><!--[0--><i class="ci-band" style="--start:59.165814883947%; --width:4.859755028382519%"></i><!--]--></div> <strong>27.3</strong></div><div class="bar-row"><span class="bar-rank">10</span> <span class="bar-name" title="Veyra2 Apricot 50M Base">Veyra2 Apricot 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:59.01006266829425%"></i><!--[0--><i class="ci-band" style="--start:56.36520694817211%; --width:4.826922398471318%"></i><!--]--></div> <strong>26.1</strong></div><!--]--></div> <!--[0--><button class="bar-toggle" type="button" aria-expanded="false" aria-label="Show all 18 models" title="Show all 18 models"><span class="bar-toggle-chevron" aria-hidden="true"></span></button><!--]--><!--]--></section> <section class="bottom-grid"><article class="panel method-card"><p class="eyebrow">Scoring method</p> <h3>Chance-normalized composite score</h3> <p class="formula">100 × <span>(accuracy − chance)</span> / <span>(1 − chance)</span></p> <p>For each benchmark, the observed result is normalized against its chance level: chance maps to 0 and a perfect result maps to 100.</p> <p>HellaSwag, PIQA, and CommonsenseQA form a commonsense domain worth 50% of the composite, with each benchmark weighted equally within that domain. Science and world knowledge contribute 25% after combining ARC-Easy (75%) and ARC-Challenge (25%). BLiMP contributes the remaining 25% for grammatical competence and is macro-averaged across its 12 linguistic categories.</p> <p>CommonsenseQA scores the likelihood of each full answer text with length normalization, rather than scoring the A–E answer label. This prevents a model’s letter preference from being mistaken for commonsense capability.</p> <p>Each benchmark interval is a 95% percentile bootstrap. Model comparisons use paired bootstrap resampling on matched evaluation items. Results below chance remain negative, and rank ranges reflect comparisons that do not distinguish neighbouring models.</p></article> <article class="panel protocol-card"><p class="eyebrow">Evaluation protocol</p> <h2>Curated evaluation</h2> <p>CompactLMIndex is a curated benchmark, not an open intake list. We are establishing a Pareto-frontier baseline across model sizes and highlighting training or inference strategies that put a model ahead of its peers at a comparable parameter count.</p> <ul><li>Complete core suite required for a rank</li><li>Zero-shot, non-chat log-likelihood prompts</li><li>Paired bootstrap comparisons on matched questions</li></ul> <p>Every published result is independently checked through our internal verification process. Final inclusion and presentation decisions remain with Universal Computing Research.</p> <p>If you have interesting results for a model you think is suitable for this benchmark, you can open a discussion on the Space for consideration.</p></article></section> <section class="panel additional-card" aria-labelledby="credits-title"><div><p class="eyebrow">Credits &amp; scope</p> <h2 id="credits-title">Efficiency at smaller scales</h2></div> <div class="credits-content"><p>CompactLMIndex looks at smaller language models. At this scale, architecture, training, and inference choices can make a real difference. Every model follows the same evaluation protocol, so results are compared fairly rather than by size alone.</p> <p class="credits-attribution">Inspired by the <a href="https://huggingface.co/open-llm-leaderboard" target="_blank" rel="noreferrer">Open LLM Leaderboard</a>, <a href="https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard" target="_blank" rel="noreferrer">Axiomic Labs Open SLM Leaderboard</a>, and <a href="https://github.com/openai/parameter-golf" target="_blank" rel="noreferrer">OpenAI Parameter Golf</a>.</p></div></section> <footer><p>Compact Language Model Index by <a href="https://huggingface.co/UniversalComputingResearch" target="_blank" rel="noreferrer">Universal Computing Research</a></p></footer></main><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
26
 
27
  <script>
28
  {
29
+ __sveltekit_1veti1 = {
30
  base: new URL(".", location).pathname.slice(0, -1)
31
  };
32
 
33
  const element = document.currentScript.parentElement;
34
 
35
  Promise.all([
36
+ import("./_app/immutable/entry/start.DRhwpU0X.js"),
37
+ import("./_app/immutable/entry/app.CaYJDMTI.js")
38
  ]).then(([kit, app]) => {
39
  kit.start(app, element, {
40
  node_ids: [0, 2],
src/app.css CHANGED
@@ -144,17 +144,17 @@ h2 {
144
  }
145
  .hero-link {
146
  display: inline-block; margin-top: 26px;
147
- color: var(--primary);
148
  font-size: 12px; font-weight: 500; letter-spacing: 0.08em;
149
  text-decoration: underline;
150
- text-decoration-color: color-mix(in srgb, var(--primary) 65%, transparent);
151
  text-decoration-thickness: 1px;
152
  text-underline-offset: 5px;
153
  text-transform: uppercase;
154
  transition: color 160ms ease, text-decoration-color 160ms ease;
155
  }
156
  .hero-link:hover, .hero-link:focus-visible {
157
- color: color-mix(in srgb, var(--primary) 78%, white);
158
  text-decoration-color: currentColor;
159
  }
160
  .protocol-notice {
@@ -300,11 +300,14 @@ h2 {
300
  background: color-mix(in srgb, var(--block) 70%, var(--primary));
301
  }
302
  .table-wrap {
303
- overflow: auto;
 
304
  margin-top: 24px;
305
  border: 1px solid var(--block);
306
  border-radius: 10px;
307
  background: var(--block);
 
 
308
  scrollbar-color: color-mix(in srgb, var(--secondary) 46%, var(--block)) color-mix(in srgb, var(--bg) 82%, var(--block));
309
  }
310
  .table-wrap::-webkit-scrollbar-track {
@@ -325,6 +328,9 @@ table {
325
  line-height: 1.45;
326
  }
327
  th {
 
 
 
328
  color: color-mix(in srgb, white 64%, var(--block));
329
  background: color-mix(in srgb, var(--primary) 30%, var(--block));
330
  padding: 16px;
@@ -381,6 +387,12 @@ tbody tr:last-child td {
381
  tbody tr:hover {
382
  background: color-mix(in srgb, var(--block) 92%, white);
383
  }
 
 
 
 
 
 
384
  .rank {
385
  color: color-mix(in srgb, white 92%, var(--block));
386
  font-variant-numeric: tabular-nums;
 
144
  }
145
  .hero-link {
146
  display: inline-block; margin-top: 26px;
147
+ color: var(--highlight);
148
  font-size: 12px; font-weight: 500; letter-spacing: 0.08em;
149
  text-decoration: underline;
150
+ text-decoration-color: color-mix(in srgb, var(--highlight) 65%, transparent);
151
  text-decoration-thickness: 1px;
152
  text-underline-offset: 5px;
153
  text-transform: uppercase;
154
  transition: color 160ms ease, text-decoration-color 160ms ease;
155
  }
156
  .hero-link:hover, .hero-link:focus-visible {
157
+ color: color-mix(in srgb, var(--highlight) 78%, white);
158
  text-decoration-color: currentColor;
159
  }
160
  .protocol-notice {
 
300
  background: color-mix(in srgb, var(--block) 70%, var(--primary));
301
  }
302
  .table-wrap {
303
+ block-size: clamp(540px, 80vh, 860px);
304
+ overflow: scroll;
305
  margin-top: 24px;
306
  border: 1px solid var(--block);
307
  border-radius: 10px;
308
  background: var(--block);
309
+ overscroll-behavior: contain;
310
+ scrollbar-gutter: stable;
311
  scrollbar-color: color-mix(in srgb, var(--secondary) 46%, var(--block)) color-mix(in srgb, var(--bg) 82%, var(--block));
312
  }
313
  .table-wrap::-webkit-scrollbar-track {
 
328
  line-height: 1.45;
329
  }
330
  th {
331
+ position: sticky;
332
+ top: 0;
333
+ z-index: 1;
334
  color: color-mix(in srgb, white 64%, var(--block));
335
  background: color-mix(in srgb, var(--primary) 30%, var(--block));
336
  padding: 16px;
 
387
  tbody tr:hover {
388
  background: color-mix(in srgb, var(--block) 92%, white);
389
  }
390
+ .table-note {
391
+ margin: 9px 0 0;
392
+ color: color-mix(in srgb, white 48%, var(--block));
393
+ font-size: 11px;
394
+ line-height: 1.4;
395
+ }
396
  .rank {
397
  color: color-mix(in srgb, white 92%, var(--block));
398
  font-variant-numeric: tabular-nums;
src/routes/+page.svelte CHANGED
@@ -1,6 +1,6 @@
1
  <script>
2
  import { onMount } from 'svelte';
3
- import { fade, slide } from 'svelte/transition';
4
  import evaluatedLeaderboard from '$lib/leaderboard.json';
5
  import exampleLeaderboard from '$lib/example-leaderboard.json';
6
 
@@ -26,12 +26,10 @@
26
  let allBars = [];
27
  let bars = [];
28
  let showAllBars = false;
29
- let showAllTableRows = false;
30
  let isMobile = false;
31
  let sortKey = 'average';
32
  let sortDirection = 'desc';
33
  let sortedCompleted = [];
34
- let visibleTableRows = [];
35
  let simplifiedView = false;
36
 
37
  const defaultBarCount = 10;
@@ -103,7 +101,6 @@
103
  );
104
  $: completed = filtered.filter((model) => model.complete && Number.isFinite(Number(model.params_m)));
105
  $: sortedCompleted = sortedModels(completed, sortKey, sortDirection);
106
- $: visibleTableRows = showAllTableRows ? sortedCompleted : sortedCompleted.slice(0, defaultBarCount);
107
  $: measuredCount = (leaderboard.models || []).filter((model) => model.complete).length;
108
  $: allBars = [...completed]
109
  .filter((model) => Number.isFinite(scoreFor(model, activeMetric)))
@@ -254,9 +251,9 @@
254
  <th class="sortable" class:sorted={sortKey === 'parameters'}><button class="sort-button" type="button" onclick={() => setSort('parameters')}>Parameters</button></th>
255
  <th class="metadata-head">Vocab. size</th>
256
  <th class="track-head">Track</th>
257
- <th class="sortable score-head" class:sorted={sortKey === 'average'}><button class="sort-button" type="button" onclick={() => setSort('average')}>Average score <span>95% CI</span></button></th>
258
  {#each core.slice(1) as metric}
259
- <th class="sortable metric-head" class:sorted={sortKey === metric.id}><button class="sort-button" type="button" onclick={() => setSort(metric.id)}>{metric.label}</button></th>
260
  {/each}
261
  </tr>
262
  </thead>
@@ -266,9 +263,9 @@
266
  {:else if !completed.length}
267
  <tr class="empty-row"><td colspan="13">No complete results for this track yet.</td></tr>
268
  {:else}
269
- {#each visibleTableRows as model (model.id)}
270
  {@const href = modelHref(model)}
271
- <tr transition:fade={{ duration: 180 }}>
272
  <td class="rank">{displayRank(model)}</td>
273
  <td>
274
  {#if href}
@@ -292,17 +289,7 @@
292
  </tbody>
293
  </table>
294
  </div>
295
- {#if sortedCompleted.length > defaultBarCount}
296
- <button
297
- class="bar-toggle table-toggle"
298
- class:expanded={showAllTableRows}
299
- type="button"
300
- aria-expanded={showAllTableRows}
301
- aria-label={showAllTableRows ? `Show top ${defaultBarCount} models` : `Show all ${sortedCompleted.length} models`}
302
- title={showAllTableRows ? `Show top ${defaultBarCount} models` : `Show all ${sortedCompleted.length} models`}
303
- onclick={() => showAllTableRows = !showAllTableRows}
304
- ><span class="bar-toggle-chevron" aria-hidden="true"></span></button>
305
- {/if}
306
  </section>
307
 
308
  <section class="chart-controls" aria-label="Chart metric selector">
 
1
  <script>
2
  import { onMount } from 'svelte';
3
+ import { slide } from 'svelte/transition';
4
  import evaluatedLeaderboard from '$lib/leaderboard.json';
5
  import exampleLeaderboard from '$lib/example-leaderboard.json';
6
 
 
26
  let allBars = [];
27
  let bars = [];
28
  let showAllBars = false;
 
29
  let isMobile = false;
30
  let sortKey = 'average';
31
  let sortDirection = 'desc';
32
  let sortedCompleted = [];
 
33
  let simplifiedView = false;
34
 
35
  const defaultBarCount = 10;
 
101
  );
102
  $: completed = filtered.filter((model) => model.complete && Number.isFinite(Number(model.params_m)));
103
  $: sortedCompleted = sortedModels(completed, sortKey, sortDirection);
 
104
  $: measuredCount = (leaderboard.models || []).filter((model) => model.complete).length;
105
  $: allBars = [...completed]
106
  .filter((model) => Number.isFinite(scoreFor(model, activeMetric)))
 
251
  <th class="sortable" class:sorted={sortKey === 'parameters'}><button class="sort-button" type="button" onclick={() => setSort('parameters')}>Parameters</button></th>
252
  <th class="metadata-head">Vocab. size</th>
253
  <th class="track-head">Track</th>
254
+ <th class="sortable score-head" class:sorted={sortKey === 'average'}><button class="sort-button" type="button" onclick={() => setSort('average')}>Score <span>95% CI</span></button></th>
255
  {#each core.slice(1) as metric}
256
+ <th class="sortable metric-head" class:sorted={sortKey === metric.id}><button class="sort-button" type="button" aria-label={`Sort by ${metric.label}`} onclick={() => setSort(metric.id)}>{#if metric.id === 'arc_easy'}ARC-E*{:else if metric.id === 'arc_challenge'}ARC-C*{:else if metric.id === 'commonsense_qa'}CQA*{:else}{metric.label}{/if}</button></th>
257
  {/each}
258
  </tr>
259
  </thead>
 
263
  {:else if !completed.length}
264
  <tr class="empty-row"><td colspan="13">No complete results for this track yet.</td></tr>
265
  {:else}
266
+ {#each sortedCompleted as model (model.id)}
267
  {@const href = modelHref(model)}
268
+ <tr>
269
  <td class="rank">{displayRank(model)}</td>
270
  <td>
271
  {#if href}
 
289
  </tbody>
290
  </table>
291
  </div>
292
+ <p class="table-note">ARC-E* = ARC-Easy · ARC-C* = ARC-Challenge · CQA* = CommonsenseQA</p>
 
 
 
 
 
 
 
 
 
 
293
  </section>
294
 
295
  <section class="chart-controls" aria-label="Chart metric selector">