1const A=["Elite","Excellent","Good","Average","Developing"],f={2e3:{under30:[360,400,440,480],"30-39":[380,420,460,510],"40-49":[400,450,500,550],"50-59":[430,480,540,600],"60+":[470,530,600,660]},500:{under30:[82,90,100,112],"30-39":[86,95,105,118],"40-49":[92,102,112,126],"50-59":[98,110,122,136],"60+":[108,120,134,150]}},p={2e3:{under30:[420,460,510,560],"30-39":[440,490,540,600],"40-49":[470,520,580,640],"50-59":[510,570,630,700],"60+":[560,620,690,760]},500:{under30:[96,106,118,132],"30-39":[100,112,124,138],"40-49":[106,118,132,146],"50-59":[114,128,142,158],"60+":[126,140,156,172]}},m=e=>e<30?"under30":e<40?"30-39":e<50?"40-49":e<60?"50-59":"60+",g=[[10,[605.1,566,527.6,491.9,460.1,417.8]],[15,[528.6,494.4,460.9,429.7,401.9,365]],[20,[497.6,465.4,433.9,404.5,378.3,343.6]],[25,[490.6,458.8,427.8,398.8,373,338.7]],[30,[486.9,455.4,424.6,395.9,370.2,336.2]],[35,[493.6,461.6,430.4,401.3,375.3,340.8]],[40,[503.7,471.1,439.2,409.5,383,347.8]],[45,[513.8,480.5,448,417.7,390.7,354.8]],[50,[523.9,490,456.8,425.9,398.3,361.7]],[55,[539.6,504.7,470.6,438.7,410.3,372.6]],[60,[551.4,515.7,480.8,448.2,419.2,380.7]],[65,[569.9,533,497,463.3,433.3,393.5]],[70,[596.8,558.2,520.4,485.2,453.8,412.1]],[75,[615.9,576.1,537.1,500.7,468.3,425.3]],[80,[646.8,605,564,525.8,491.8,446.6]],[85,[686.8,642.4,598.9,558.3,522.2,474.2]],[90,[756.6,707.6,659.7,615.1,575.3,522.4]]],v=e=>{let n=g[0];for(const s of g)e>=s[0]&&(n=s);const[t,o,r,i,l,c]=n[1];return{ageBracket:n[0],beginner:t,novice:o,intermediate:r,advanced:i,elite:l,worldRecord:c}},u=(e,n,t)=>{if(t==="male"&&e===2e3){const r=v(n);return[r.elite,r.advanced,r.intermediate,r.novice]}const o=t==="male"?f:p;return(o[e]??o[2e3])[m(n)]},h=(e,n,t,o)=>{const r=u(n,t,o);return e<=r[0]?"Elite":e<=r[1]?"Excellent":e<=r[2]?"Good":e<=r[3]?"Average":"Developing"},d=(e,n)=>e/(n/500),w=e=>Math.round(2.8/Math.pow(e/500,3)),F=(e,n)=>w(d(e,n)),_=e=>{const n=Math.max(0,e),t=Math.floor(n/60),o=n-t*60;return`${t}:${o.toFixed(1).padStart(4,"0")}`},E=e=>{const n=Math.max(0,Math.round(e));return`${Math.floor(n/60)}:${String(n%60).padStart(2,"0")}`},$=(e,n,t,o)=>{const r=u(e,n,t).map(c=>d(c,e)),i=Math.max(0,r[0]-20),l=Math.max(o+5,r[3]+20);return[{rating:"Elite",from:i,to:r[0]},{rating:"Excellent",from:r[0],to:r[1]},{rating:"Good",from:r[1],to:r[2]},{rating:"Average",from:r[2],to:r[3]},{rating:"Developing",from:r[3],to:l}]},O={Elite:.14,Excellent:.1,Good:.07,Average:.04,Developing:.015},k=e=>500*Math.cbrt(2.8/Math.max(1,e)),y=(e,n)=>e*(n/500),M=(e,n,t)=>{if(n===t)return e;const o=Math.log2(t/n);return e+5*o},x={harvardIndex:e=>e>=90?{score:5,label:"Excellent",color:"bg-green-500",description:"Outstanding cardiovascular fitness"}:e>=80?{score:4,label:"Good",color:"bg-blue-500",description:"Above average cardiovascular fitness"}:e>=65?{score:3,label:"Average",color:"bg-yellow-500",description:"Average cardiovascular fitness"}:e>=55?{score:2,label:"Below Average",color:"bg-orange-500",description:"Below average, room for improvement"}:{score:1,label:"Poor",color:"bg-red-500",description:"Needs significant improvement"},vo2max:(e,n)=>{const t=n?.age??30,o=n?.gender??"male",r=t>40?(t-40)*.5:0,i=o==="female"?-5:0,l=e+r-i;return l>=55?{score:5,label:"Excellent",color:"bg-green-500",description:"Superior cardiovascular fitness"}:l>=45?{score:4,label:"Good",color:"bg-blue-500",description:"Above average cardiovascular fitness"}:l>=35?{score:3,label:"Average",color:"bg-yellow-500",description:"Average cardiovascular fitness"}:l>=25?{score:2,label:"Below Average",color:"bg-orange-500",description:"Below average, room for improvement"}:{score:1,label:"Poor",color:"bg-red-500",description:"Needs significant improvement"}},elitePST:e=>e>=450?{score:5,label:"SEAL Team",color:"bg-gradient-to-r from-yellow-500 to-yellow-600",description:"Elite operator level"}:e>=400?{score:4,label:"Operator",color:"bg-green-500",description:"Advanced tactical fitness"}:e>=350?{score:3,label:"Candidate",color:"bg-blue-500",description:"BUD/S ready candidate"}:e>=300?{score:2,label:"Trainee",color:"bg-yellow-500",description:"Pre-BUD/S level"}:e>=250?{score:1,label:"Developing",color:"bg-orange-500",description:"Building foundation"}:{score:0,label:"Beginner",color:"bg-red-500",description:"Significant training needed"},stairTraining:e=>e<=45?{score:5,label:"Elite",color:"bg-green-500",description:"Exceptional stair performance"}:e<=55?{score:4,label:"Advanced",color:"bg-blue-500",description:"Strong conditioning"}:e<=70?{score:3,label:"Intermediate",color:"bg-yellow-500",description:"Good foundation"}:e<=90?{score:2,label:"Developing",color:"bg-orange-500",description:"Building endurance"}:{score:1,label:"Beginner",color:"bg-red-500",description:"Starting out"},plankHold:e=>e>=120?{score:5,label:"Excellent",color:"bg-green-500",description:"Superior core strength"}:e>=90?{score:4,label:"Good",color:"bg-blue-500",description:"Above average core stability"}:e>=60?{score:3,label:"Average",color:"bg-yellow-500",description:"Average core strength"}:e>=30?{score:2,label:"Below Average",color:"bg-orange-500",description:"Core needs work"}:{score:1,label:"Needs Improvement",color:"bg-red-500",description:"Focus on core training"},wallSit:e=>e>=90?{score:5,label:"Excellent",color:"bg-green-500",description:"Exceptional leg endurance"}:e>=60?{score:4,label:"Good",color:"bg-blue-500",description:"Strong leg endurance"}:e>=45?{score:3,label:"Average",color:"bg-yellow-500",description:"Average leg endurance"}:e>=30?{score:2,label:"Below Average",color:"bg-orange-500",description:"Leg endurance needs work"}:{score:1,label:"Needs Improvement",color:"bg-red-500",description:"Focus on leg conditioning"},pushups:(e,n)=>{const t=n?.age??30,o=n?.gender==="male",r=t<30?0:t<40?1:t<50?2:t<60?3:4,l=(o?[[36,29,22,17],[30,24,17,13],[25,20,13,10],[21,16,10,8],[18,13,8,5]]:[[30,21,15,10],[27,20,13,8],[24,15,11,5],[21,11,7,2],[17,12,5,2]])[r];return e>=l[0]?{score:5,label:"Excellent",color:"bg-green-500",description:"Outstanding upper body strength"}:e>=l[1]?{score:4,label:"Good",color:"bg-blue-500",description:"Above average strength"}:e>=l[2]?{score:3,label:"Average",color:"bg-yellow-500",description:"Average strength level"}:e>=l[3]?{score:2,label:"Below Average",color:"bg-orange-500",description:"Room for improvement"}:{score:1,label:"Needs Improvement",color:"bg-red-500",description:"Focus on strength training"}},squats:(e,n)=>{const t=n?.age??30,r=n?.gender==="male"?30:25,i=Math.max(0,(t-30)*.5),l=r-i,c=e/l;return c>=1.3?{score:5,label:"Excellent",color:"bg-green-500",description:"Outstanding lower body strength"}:c>=1.1?{score:4,label:"Good",color:"bg-blue-500",description:"Above average leg power"}:c>=.9?{score:3,label:"Average",color:"bg-yellow-500",description:"Average leg strength"}:c>=.7?{score:2,label:"Below Average",color:"bg-orange-500",description:"Leg strength needs work"}:{score:1,label:"Needs Improvement",color:"bg-red-500",description:"Focus on leg training"}},flexibility:(e,n)=>{const o=n?.gender==="male"?[17,6,0,-8]:[21,11,1,-7];return e>=o[0]?{score:5,label:"Excellent",color:"bg-green-500",description:"Outstanding flexibility"}:e>=o[1]?{score:4,label:"Good",color:"bg-blue-500",description:"Above average flexibility"}:e>=o[2]?{score:3,label:"Average",color:"bg-yellow-500",description:"Average flexibility"}:e>=o[3]?{score:2,label:"Below Average",color:"bg-orange-500",description:"Flexibility needs work"}:{score:1,label:"Needs Improvement",color:"bg-red-500",description:"Focus on stretching"}},cooperTest:(e,n)=>{const t=(e-504.9)/44.73;return e>=2800?{score:5,label:"Excellent",color:"bg-green-500",description:`VO2max: ${t.toFixed(1)} ml/kg/min`}:e>=2400?{score:4,label:"Good",color:"bg-blue-500",description:`VO2max: ${t.toFixed(1)} ml/kg/min`}:e>=2e3?{score:3,label:"Average",color:"bg-yellow-500",description:`VO2max: ${t.toFixed(1)} ml/kg/min`}:e>=1600?{score:2,label:"Below Average",color:"bg-orange-500",description:`VO2max: ${t.toFixed(1)} ml/kg/min`}:{score:1,label:"Poor",color:"bg-red-500",description:`VO2max: ${t.toFixed(1)} ml/kg/min`}},rowing2000m:(e,n)=>{const t=e/4,o=2.8/Math.pow(t/500,3),r=n?.weight??75,i=n?.gender==="female"?310:430,l=(o*14.4+i)/r;return e<=390?{score:5,label:"Elite",color:"bg-gradient-to-r from-yellow-500 to-yellow-600",description:`VO2max: ${l.toFixed(1)} ml/kg/min | ${Math.round(o)}W`}:e<=420?{score:4,label:"Excellent",color:"bg-green-500",description:`VO2max: ${l.toFixed(1)} ml/kg/min | ${Math.round(o)}W`}:e<=460?{score:3,label:"Good",color:"bg-blue-500",description:`VO2max: ${l.toFixed(1)} ml/kg/min | ${Math.round(o)}W`}:e<=510?{score:2,label:"Average",color:"bg-yellow-500",description:`VO2max: ${l.toFixed(1)} ml/kg/min | ${Math.round(o)}W`}:{score:1,label:"Developing",color:"bg-orange-500",description:`VO2max: ${l.toFixed(1)} ml/kg/min | ${Math.round(o)}W`}},pwc170:(e,n)=>{const t=n?.weight??75,o=e/t,r=10.8*o+7;return o>=3?{score:5,label:"Excellent",color:"bg-green-500",description:`${o.toFixed(2)} W/kg | VO2max: ${r.toFixed(1)}`}:o>=2.5?{score:4,label:"Good",color:"bg-blue-500",description:`${o.toFixed(2)} W/kg | VO2max: ${r.toFixed(1)}`}:o>=2?{score:3,label:"Average",color:"bg-yellow-500",description:`${o.toFixed(2)} W/kg | VO2max: ${r.toFixed(1)}`}:o>=1.5?{score:2,label:"Below Average",color:"bg-orange-500",description:`${o.toFixed(2)} W/kg | VO2max: ${r.toFixed(1)}`}:{score:1,label:"Poor",color:"bg-red-500",description:`${o.toFixed(2)} W/kg | VO2max: ${r.toFixed(1)}`}}};function G(e,n,t){if(!t)return null;const o=e.toLowerCase(),r=t==="male",i=(s,a)=>({value:s,unit:a,higherIsBetter:!0,scope:"Sex-based coaching reference · not age-adjusted"});if(o.includes("plank"))return i(r?90:70,"seconds");if(o.includes("wall sit"))return i(r?70:55,"seconds");if(o.includes("dead hang"))return i(r?70:45,"seconds");if(o.includes("pull-up"))return i(r?15:8,"reps");if(o.includes("vertical"))return i(r?61:46,"cm");if(n==null||n<18||n>89)return null;const l=n<30?0:n<40?1:n<50?2:n<60?3:4,c=(s,a,b=!0)=>({value:s,unit:a,higherIsBetter:b,scope:`Age ${n} · ${t} · coaching reference`});if(o.includes("rowing"))return c(u(o.includes("500m")?500:2e3,n,t)[2],"seconds",!1);if(o.includes("grip"))return c((r?[85,80,75,70,60]:[55,50,45,42,38])[l],"kg");if(o.includes("push-up")){for(let s=0;s<=200;s++)if(x.pushups(s,{age:n,gender:t}).score>=4)return c(s,"reps")}return o.includes("cooper")?c((r?[2400,2300,2100,2e3,2e3]:[2200,2e3,1900,1700,1700])[l],"m"):null}function B(e,n,t){const o=new Map;for(const r of e){if(r.test_name.toLowerCase()!==n.toLowerCase())continue;const i=Number(r.result_value);if(!Number.isFinite(i))continue;const l=o.get(r.client_id);(l===void 0||(t?i>l.result_value:i<l.result_value))&&o.set(r.client_id,{...r,result_value:i,client_name:r.client_name??l?.client_name})}return[...o.values()].sort((r,i)=>t?i.result_value-r.result_value:r.result_value-i.result_value).slice(0,3).map(r=>({client_id:r.client_id,client_name:r.client_name,result_value:r.result_value}))}function N(e,n,t,o,r){if(!Number.isFinite(t))return null;const i=new Map;for(const c of e){if(c.test_name.toLowerCase()!==n.toLowerCase())continue;const s=Number(c.result_value);if(!Number.isFinite(s))continue;const a=i.get(c.client_id);(a===void 0||(o?s>a:s<a))&&i.set(c.client_id,s)}if(r&&i.set(r,t),!i.size)return null;let l=1;for(const[c,s]of i)c!==r&&(o?s>t:s<t)&&(l+=1);return{rank:l,field:i.size}}export{O as R,N as a,u as b,B as c,_ as d,d as e,E as f,G as g,k as h,F as i,$ as j,A as k,M as p,h as r,x as s,y as t,w};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.