1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1779],{5876:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(37876);s(14232);var r=s(28766);let i=({text:e,className:t=""})=>(0,a.jsxs)("div",{className:`flex flex-col justify-center items-center ${t}`,children:[(0,a.jsxs)("div",{className:"relative w-10 h-10","aria-hidden":!0,children:[(0,a.jsx)("div",{className:"absolute inset-0 rounded-full border-2 border-gray-200 border-t-blue-600 animate-spin"}),(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,a.jsx)("img",{src:r.A.src??r.A,alt:"",className:"w-6 h-6 object-contain pointer-events-none"})})]}),e&&(0,a.jsx)("p",{className:"mt-2 text-sm text-gray-600",children:e})]})},7897:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var a=s(37876),r=s(14232),i=s(23872),n=s(48166),l=s(78240),o=s(10880);function d({networkSlug:e}){let{trains:t}=(0,l._I)(e),{units:s,convertSpeed:c}=(0,n.t)(),[m,u]=(0,r.useState)([]),[h,g]=(0,r.useState)(""),[x,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=t.filter(e=>"ghost"!==e.position_source&&!e.isGhost),a=e.filter(e=>e.normalized?.speed?.has_speed&&e.normalized.speed.value>0);if(p(a.length>0),a.length>0){let t=a.reduce((e,t)=>c(t.normalized.speed.value,t.normalized.speed.unit,s)>(e?c(e.normalized.speed.value,e.normalized.speed.unit,s):0)?t:e,null),r=t?c(t.normalized.speed.value,t.normalized.speed.unit,s):0,i=Math.round(a.reduce((e,t)=>e+c(t.normalized.speed.value,t.normalized.speed.unit,s),0)/a.length);u([{name:"Active Trains",stat:e.length,unit:""},{name:"Trains with Speed Data",stat:a.length,unit:""},{name:"Current Top Speed",stat:r,unit:(0,o.rT)(s)},{name:"Current Average Speed",stat:i,unit:(0,o.rT)(s)}]),t&&u(e=>e.map(e=>"Current Top Speed"===e.name?{...e,topSpeedTrain:t}:e))}else u([{name:"Active Trains",stat:e.length,unit:""},{name:"Trains with Speed Data",stat:0,unit:""},{name:"Current Top Speed",stat:0,unit:(0,o.rT)(s)},{name:"Current Average Speed",stat:0,unit:(0,o.rT)(s)}]);g(new Date().toLocaleTimeString())},[t,e,s,c]),(0,a.jsxs)("div",{className:"mx-auto mt-0 max-w-7xl px-6 lg:px-48 bg-gradient-to-r from-blue-800 to-cyan-600 py-16 xl:rounded-lg",children:[(0,a.jsx)("h3",{className:"text-base font-semibold leading-6 text-white",children:"Real-Time Train Statistics"}),(0,a.jsxs)("p",{className:"text-sm text-blue-100 mt-2",children:["These statistics are updated in real-time based on current train data for this network.",!x&&" (Speed data not available for this network)"]}),(0,a.jsx)("dl",{className:"mt-5 grid grid-cols-1 gap-5 sm:grid-cols-4",children:m.map(e=>(0,a.jsxs)("div",{className:"overflow-hidden rounded-lg bg-white px-4 py-5 shadow sm:p-6",children:[(0,a.jsx)("dt",{className:"truncate text-sm font-medium text-gray-500",children:e.name}),(0,a.jsxs)("dd",{className:"mt-1",children:[(0,a.jsx)("div",{className:"text-6xl font-semibold tracking-tight text-gray-900",children:"Last Updated"===e.name?(0,a.jsx)("span",{children:h}):(0,a.jsx)(i.Ay,{end:e.stat??0})}),e.unit&&(0,a.jsx)("div",{className:"text-lg text-gray-600",children:e.unit})]}),"Current Top Speed"===e.name&&e.topSpeedTrain&&(0,a.jsx)("div",{className:"mt-2 text-sm text-gray-500",children:(0,a.jsx)("a",{href:`/networks/${e.topSpeedTrain.agency}/trains/${e.topSpeedTrain.vid}/`,children:(0,a.jsx)("p",{className:"text-indigo-600 hover:text-indigo-900",children:e.topSpeedTrain.name?`(Train ${e.topSpeedTrain.name})`:""})})})]},e.name))})]})}},10880:(e,t,s)=>{"use strict";s.d(t,{rT:()=>a});let a=e=>{switch(e){case"kph":return"km/h";case"mph":return"mph";default:return e}}},49915:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(37876),r=s(60570),i=s(48230),n=s.n(i);function l({pages:e}){return(0,a.jsx)("nav",{"aria-label":"Breadcrumb",className:"flex",children:(0,a.jsxs)("ol",{role:"list",className:"flex items-center space-x-4 pt-6",children:[(0,a.jsx)("li",{children:(0,a.jsx)("div",{children:(0,a.jsxs)(n(),{href:"/",className:"text-gray-400 hover:text-gray-500",children:[(0,a.jsx)(r.A,{"aria-hidden":"true",className:"h-5 w-5 flex-shrink-0"}),(0,a.jsx)("span",{className:"sr-only",children:"Home"})]})})}),e.map(e=>(0,a.jsx)("li",{children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("svg",{fill:"currentColor",viewBox:"0 0 20 20","aria-hidden":"true",className:"h-5 w-5 flex-shrink-0 text-gray-300",children:(0,a.jsx)("path",{d:"M5.555 17.776l8-16 .894.448-8 16-.894-.448z"})}),(0,a.jsx)(n(),{href:e.href,"aria-current":e.current?"page":void 0,className:"ml-4 text-sm font-medium text-gray-500 hover:text-gray-700",children:e.name})]})},e.name))]})})}},56785:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(12107),r=s(34299),i=s(89099),n=s(74880);function l({networkName:e,networkSlug:t,network:s}){let o=(0,i.useRouter)(),d=s??n.Y.getNetwork(t),c=[{name:"Trains",href:`/networks/${t}/`,icon:a.A},{name:"Statistics",href:`/networks/${t}/statistics/`,icon:r.A},...["ttc","stm","translink"].includes(t)?[{name:"Metro Map",href:`/networks/${t}/metromap/`,icon:a.A}]:[]].map(e=>{let s="Trains"===e.name&&(o.asPath===`/networks/${t}/`||o.asPath.includes(`/networks/${t}/trains`)||o.asPath.includes(`/networks/${t}/train`))||"Stations"===e.name&&o.asPath.includes(`/networks/${t}/stations`)||"Routes"===e.name&&o.asPath.includes(`/networks/${t}/routes`)||"Statistics"===e.name&&o.asPath.includes(`/networks/${t}/statistics`)||"Metro Map"===e.name&&o.asPath.includes(`/networks/${t}/metromap`);return{...e,isActive:s}});return{networkName:e,networkSlug:t,network:d,links:c}}},59836:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__N_SSP:()=>T,default:()=>$});var a=s(37876),r=s(89099),i=s(14232),n=s(49915),l=s(85392),o=s(74),d=s(93408),c=s(81047),m=s(31134),u=s(78240),h=s(77604);c.t1.register(c.PP,c.kc,c.FN,c.No,c.hE,c.m_,c.s$);let g=({network:e,timescale:t})=>{let{data:s}=(0,u.p0)(e,{hours:"24 hours"===t?24:168,granularity:"raw",includeRoutes:!0}),{routes:r}=(0,u.qe)(e),[n,l]=(0,i.useState)({labels:[],datasets:[]});return(0,i.useEffect)(()=>
1{if(s&&r&&s&&Array.isArray(s)&&s.length>0){let e=(0,h.Ym)(r),a={};r.forEach((t,s)=>{let r=e[s]?.primary||`Route ${t.route_id}`;a[t.route_id]="Route other"===r?"Other":r});let i=new Date,n="24 hours"===t?864e5:6048e5,o=[...s.filter(e=>i-new Date(e.timestamp)<=n)].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),d=new Set;o.forEach(e=>{e.number_trains_by_route_id&&Object.keys(e.number_trains_by_route_id).forEach(e=>{d.add(e)})});let c="24 hours"===t?9e5:36e5,m=new Map;o.forEach(e=>{let t=Math.floor(new Date(e.timestamp).getTime()/c)*c;m.has(t)||m.set(t,{count:0,routeData:Object.fromEntries([...d].map(e=>[e,[]]))});let s=m.get(t);s.count++,e.number_trains_by_route_id&&Object.entries(e.number_trains_by_route_id).forEach(([e,t])=>{s.routeData[e].push(t)})});let u=Array.from(m.entries()).map(([e,t])=>({timestamp:new Date(e),routeAverages:Object.fromEntries(Object.entries(t.routeData).map(([e,t])=>[e,t.length>0?Math.round(t.reduce((e,t)=>e+t,0)/t.length):0]))})),g=u.map(e=>e.timestamp.toLocaleString()),x=["rgb(59, 130, 246)","rgb(99, 102, 241)","rgb(14, 165, 233)","rgb(236, 72, 153)","rgb(168, 85, 247)","rgb(34, 197, 94)","rgb(249, 115, 22)","rgb(234, 179, 8)"];l({labels:g,datasets:Array.from(d).map((e,t)=>({label:a[e]||`Route ${e}`,data:u.map(t=>t.routeAverages[e]||0),borderColor:x[t%x.length],backgroundColor:x[t%x.length].replace("rgb","rgba").replace(")",", 0.5)"),tension:.4,fill:!1}))})}},[s,r,t]),(0,a.jsxs)("div",{className:"bg-white p-6 rounded-lg border border-gray-300",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h5",{className:"text-xl font-bold text-gray-800",children:"Trains by Route"}),(0,a.jsxs)("p",{className:"text-base text-gray-600",children:["Number of trains on each route (","24 hours"===t?"15-minute":"hourly"," averages)"]})]})}),(0,a.jsx)("div",{className:"h-64",children:(0,a.jsx)(m.N1,{options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"top",labels:{color:"rgba(0, 0, 0, 0.7)"}},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(e){let t=e.dataset.label||"";return t&&(t+=": "),null!==e.parsed.y&&(t+=Math.round(e.parsed.y)+" trains"),t}}}},scales:{x:{display:!0,grid:{display:!0,drawBorder:!1,color:"rgba(0, 0, 0, 0.1)"},ticks:{color:"rgba(0, 0, 0, 0.7)",maxRotation:45,minRotation:45,callback:function(e){return new Date(this.getLabelForValue(e)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}}},y:{display:!0,beginAtZero:!0,grid:{display:!1,drawBorder:!1},ticks:{color:"rgba(0, 0, 0, 0.7)",stepSize:1}}},elements:{point:{radius:0},line:{tension:.4}}},data:n})})]})};var x=s(56785);c.t1.register(c.Bs,c.m_,c.s$);let p=({network:e})=>{let{data:t}=(0,u.p0)(e,{hours:168,granularity:"raw",includeRoutes:!0}),{routes:s}=(0,u.qe)(e),[r,n]=(0,i.useState)({labels:[],datasets:[]});return(0,i.useEffect)(()=>{if(t&&s&&t&&Array.isArray(t)&&t.length>0){let e=(0,h.Ym)(s),a={};s.forEach((t,s)=>{let r=e[s]?.primary||`Route ${t.route_id}`;a[t.route_id]="Route other"===r?"Other":r});let r={};s.forEach(e=>{r[e.route_id]=0});let i=0;t.forEach(e=>{e.number_trains_by_route_id&&Object.entries(e.number_trains_by_route_id).forEach(([e,t])=>{r[e]=(r[e]||0)+t,i+=t})});let l={};Object.keys(r).forEach(e=>{let s=r[e]/t.length;l[e]=i>0?s/(i/t.length)*100:0});let o=["rgb(59, 130, 246)","rgb(99, 102, 241)","rgb(14, 165, 233)","rgb(236, 72, 153)","rgb(168, 85, 247)","rgb(34, 197, 94)","rgb(249, 115, 22)","rgb(234, 179, 8)"],d=Object.keys(l).map(e=>a[e]||`Route ${e}`),c=Object.values(l);n({labels:d,datasets:[{data:c,backgroundColor:o.slice(0,c.length),borderColor:o.slice(0,c.length).map(e=>e.replace("rgb","rgba").replace(")",", 0.2)")),borderWidth:1}]})}},[t,s]),(0,a.jsxs)("div",{className:"bg-white p-6 rounded-lg border border-gray-300",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h5",{className:"text-xl font-bold text-gray-800",children:"Train Distribution by Route"}),(0,a.jsx)("p",{className:"text-base text-gray-600",children:"Percentage of trains operating on each route"})]})}),(0,a.jsx)("div",{className:"h-64",children:(0,a.jsx)(m.Fq,{options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"right",labels:{color:"rgba(0, 0, 0, 0.7)",padding:20,font:{size:12}}},tooltip:{callbacks:{label:function(e){let t=e.label||"",s=e.raw||0;return`${t}: ${s.toFixed(1)}%`}}}}},data:r})})]})};var b=s(5876);function j({className:e=""}){return(0,a.jsx)("div",{className:`animate-pulse rounded bg-gray-200 ${e}`,"aria-hidden":!0})}function f({height:e=320}){return(0,a.jsx)("div",{className:"animate-pulse rounded-xl bg-gray-100 border border-gray-200",style:{height:e},"aria-hidden":!0})}function y(){return(0,a.jsxs)("div",{className:"py-8 space-y-12",children:[(0,a.jsx)("div",{className:"flex justify-center py-4",children:(0,a.jsx)(b.A,{text:"Loading statisticsâ¦"})}),(0,a.jsxs)("div",{className:"mx-auto mt-0 max-w-7xl px-6 lg:px-48 bg-gray-200 py-16 xl:rounded-lg animate-pulse",children:[(0,a.jsx)(j,{className:"h-4 w-48"}),(0,a.jsx)(j,{className:"h-3 w-96 mt-2"}),(0,a.jsx)("div",{className:"mt-5 grid grid-cols-1 gap-5 sm:grid-cols-4",children:[1,2,3,4].map(e=>(0,a.jsxs)("div",{className:"overflow-hidden rounded-lg bg-white/80 px-4 py-5 shadow sm:p-6",children:[(0,a.jsx)(j,{className:"h-4 w-24"}),(0,a.jsx)(j,{className:"h-12 w-20 mt-3"})]},e))})]}),(0,a.jsxs)("div",{className:"py-8 mt-4",children:[(0,a.jsx)(j,{className:"h-8 w-64 mb-1"}),(0,a.jsx)(j,{className:"h-4 w-full max-w-xl mb-10"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-1 gap-8",children:[(0,a.jsx)(f,{}),(0,a.jsx)(f,{}),(0,a.jsx)(f,{})]})]}),(0,a.jsx)("hr",{className:"my-8 border-gray-200"}),(0,a.jsxs)("div",{className:"mt-12",children:[(0,a.jsx)(j,{className:"h-8 w-56 mb-1"}),(0,a.jsx)(j,{className:"h-4 w-full max-w-xl mb-10"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-1 gap-8",children:[(0,a.jsx)(f,{}),(0,a.jsx)(f,{}),(0,a.jsx)(f,{})]})]}),(0,a.jsxs)("div",{className:"mt-12",children:[(0,a.jsx)(j,{className:"h-8 w-52 mb-1"}),(0,a.jsx)(j,{className:"h-4 w-full max-w-md mb-10"}),(0,a.jsx)(f,{height:360})]})]})}var v=s(7897);c.t1.register(c.PP,c.kc,c.FN,c.No,c.hE,c.m_,c.s$);let w=({data:e,timescale:t})=>{let[s,r]=(0,i.useState)({labels:[],datasets:[]});return(0,i.useEffect)(()=>
1{if(e&&Array.isArray(e)&&e.length>0){let s=new Date,a="24 hours"===t?864e5:6048e5,i=[...e.filter(e=>s-new Date(e.timestamp)<=a)].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),n="24 hours"===t?9e5:36e5,l=new Map;i.forEach(e=>{let t=Math.floor(new Date(e.timestamp).getTime()/n)*n;l.has(t)||l.set(t,{count:0,trainCounts:[]});let s=l.get(t);s.count++,s.trainCounts.push(e.number_trains)});let o=Array.from(l.entries()).map(([e,t])=>({timestamp:new Date(e),averageTrains:Math.round(t.trainCounts.reduce((e,t)=>e+t,0)/t.trainCounts.length)}));r({labels:o.map(e=>e.timestamp.toLocaleString()),datasets:[{label:"Number of Trains",data:o.map(e=>e.averageTrains),borderColor:"rgb(59, 130, 246)",backgroundColor:"rgba(59, 130, 246, 0.5)",tension:.4,fill:!0}]})}},[e,t]),(0,a.jsxs)("div",{className:"bg-white p-6 rounded-lg border border-gray-300",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h5",{className:"text-xl font-bold text-gray-800",children:"Number of Trains"}),(0,a.jsxs)("p",{className:"text-base text-gray-600",children:["Number of trains (","24 hours"===t?"15-minute":"hourly"," averages)"]})]})}),(0,a.jsx)("div",{className:"h-64",children:(0,a.jsx)(m.N1,{options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"top",labels:{color:"rgba(0, 0, 0, 0.7)"}},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(e){let t=e.dataset.label||"";return t&&(t+=": "),null!==e.parsed.y&&(t+=e.parsed.y+" trains"),t}}}},scales:{x:{display:!0,grid:{display:!0,drawBorder:!1,color:"rgba(0, 0, 0, 0.1)"},ticks:{color:"rgba(0, 0, 0, 0.7)",maxRotation:45,minRotation:45,callback:function(e){return new Date(this.getLabelForValue(e)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}}},y:{display:!0,beginAtZero:!0,grid:{display:!1,drawBorder:!1},ticks:{color:"rgba(0, 0, 0, 0.7)",stepSize:1}}},elements:{point:{radius:0},line:{tension:.4}}},data:s})})]})};var N=s(48166),k=s(10880);c.t1.register(c.PP,c.kc,c.FN,c.No,c.hE,c.m_,c.s$);let _=({data:e,timescale:t="24 hours"})=>{let{units:s,convertSpeed:r}=(0,N.t)(),i={labels:e?.map(e=>new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}))||[],datasets:[{label:"Fastest Speed",data:e?.map(e=>{let t=e.speed?.values?.fastest||e.fastest_speed;return t?r(t,"kph",s):null})||[],borderColor:"rgb(59, 130, 246)",backgroundColor:"rgba(59, 130, 246, 0.5)",tension:.4},{label:"Average Speed",data:e?.map(e=>{let t=e.speed?.values?.average||e.average_speed;return t?r(t,"kph",s):null})||[],borderColor:"rgb(34, 197, 94)",backgroundColor:"rgba(34, 197, 94, 0.5)",tension:.4}]},n=e&&e.some(e=>e.speed?.values?.fastest||e.speed?.values?.average||e.fastest_speed||e.average_speed);return(0,a.jsxs)("div",{className:"bg-white p-6 rounded-lg border border-gray-300",children:[(0,a.jsx)("div",{className:"flex justify-between items-center mb-4",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h5",{className:"text-xl font-bold text-gray-800",children:"Train Speeds"}),(0,a.jsxs)("p",{className:"text-base text-gray-600",children:["Fastest and Average Speeds (","24 hours"===t?"15-minute":"hourly"," averages) (",(0,k.rT)(s),")"]})]})}),(0,a.jsx)("div",{className:"h-64",children:n?(0,a.jsx)(m.N1,{options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top"},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return t&&(t+=": "),null!==e.parsed.y&&(t+=e.parsed.y+` ${(0,k.rT)(s)}`),t}}}},scales:{x:{display:!0,grid:{display:!0,drawBorder:!1,color:"rgba(0, 0, 0, 0.1)"},ticks:{color:"rgba(0, 0, 0, 0.7)",maxRotation:45,minRotation:45,callback:function(e){return new Date(this.getLabelForValue(e)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}}},y:{display:!0,beginAtZero:!0,grid:{display:!1,drawBorder:!1},ticks:{color:"rgba(0, 0, 0, 0.7)",callback:function(e){return e+` ${(0,k.rT)(s)}`}}}},elements:{point:{radius:0},line:{tension:.4}}},data:i}):(0,a.jsx)("p",{className:"text-gray-500 text-center pt-16",children:"Speed data not available for this network"})})]})};var S=s(74880),A=s(73865),T=!0;function $({network:e}){let{networkSlug:t}=(0,r.useRouter)().query,{t:s}=(0,A.B)(),{data:c,isLoading:m,error:h}=(0,u.p0)(e.slug,{hours:168,granularity:"hour",includeRoutes:!1}),g=(0,x.A)({networkName:e?.name,networkSlug:t,network:e}),b=[{name:s("networks"),href:"/networks",current:!1},{name:e.name,href:`/networks/${t}/`,current:!1},{name:s("statsBreadcrumb"),href:`/networks/${t}/statistics/`,current:!0}],j=S.Y.getNetwork(t),f=j?j.cities:[],w=f.length>0?f.join(", "):"various cities";return((0,i.useEffect)(()=>{window.gtag&&window.gtag("event","page_view",{page_title:`${e.name} Statistics | trains.fyi`,page_location:window.location.href,page_path:`/networks/${t}/statistics/`})},[e.name,t]),h)?(0,a.jsx)("div",{children:s("statsLoadError")}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(d.A,{title:`${e.name} Statistics`,description:`Historical statistics for ${e.name} trains in ${w}.`,canonical:`/networks/${t}/statistics/`,image:"/social.png",type:"website",keywords:`${e.name}, train statistics, historical train data, ${w}, train speeds, route distribution`}),(0,a.jsx)(o.A,{networkNav:g}),(0,a.jsx)("main",{className:"flex-grow",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,a.jsx)("div",{className:"py-4",children:(0,a.jsx)(n.A,{pages:b})}),(0,a.jsxs)("div",{className:"my-8",children:[(0,a.jsxs)("div",{className:"text-5xl font-bold mb-4 text-gray-900",children:[e.name," ",s("statsPageTitleSuffix")]}),(0,a.jsx)("div",{className:"text-xl text-gray-500",children:s("statsPageSubtitle").replace("{name}",e.name).replace("{cities}",w)})]}),m?(0,a.jsx)(y,{}):(0,a.jsxs)("div",{className:"py-8",children:[(0,a.jsx)(v.A,{networkSlug:e.slug}),(0,a.jsx)(D,{network:e,statistics:c,isLoading:m,error:h,t:s}),(0,a.jsxs)("div",{className:"mt-12",children:[(0,a.jsx)("h2",{className:"text-3xl font-bold text-gray-900 mb-1",children:s("statsRouteDistH2")}),(0,a.jsx)("p",{className:"mb-10 text-gray-800",children:s("statsRouteDistP")}),(0,a.jsx)(p,{network:e.slug})]})]})]})}),(0,a.jsx)(l.A,{})]})}let D=({network:e,statistics:t,isLoading:s,error:r,t:i})=>{let n=S.Y.getNetwork(e.slug),l=n?n.name:e.name;if(s)return(0,a.jsx)("div",{className:"text-center py-4",children:i("statsLoading")});if(r)return(0,a.jsx)("div",{className:"text-center py-4 text-red-500",children:i("statsDataError").replace("{error}",r.message)});let o=t?.map(e=>({...e,speed:{unit:e.speed?.unit||e.normalized?.speed?.unit||"mph",values:{fastest:e.speed?.values?.fastest||e.normalized?.speed?.fastest||e.fastest_speed||0,average:e.speed?.values?.average||e.normalized?.speed?.average||e.average_speed||0}}})),d=(t,s)=>(0,a.jsxs)("div",{className:"py-8 mt-4",children:[(0,a.jsx)("h2",{className:"text-3xl font-bold text-gray-900 mb-1",children:i(s)}),"statsLast24H"===s?(0,a.jsx)("p",{className:"mb-10 text-gray-800",children:i("statsPerf24H").replace("{name}",l)}):(0,a.jsx)("p",{className:"mb-10 text-gray-800",children:i("statsPerfWeek").replace("{name}",l)}),o&&Array.isArray(o)&&o.length>0?(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-1 gap-8",children:[(0,a.jsx)(w,{data:o,timescale:t}),(0,a.jsx)(_,{data:o,timescale:t}),(0,a.jsx)(g,{network:e.slug,timescale:t})]}):(0,a.jsx)("p",{className:"text-gray-500",children:i("statsNoData")})]});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-12",children:d("24 hours","statsLast24H")}),(0,a.jsx)("hr",{className:"my-8 border-gray-300"}),(0,a.jsx)("div",{className:"mt-12",children:d("7 days","statsLast7D")})]})}},64214:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/networks/[networkSlug]/statistics",function(){return s(59836)}])}},e=>
1{e.O(0,[6701,2697,3927,2325,8638,3872,3990,8447,5392,636,6593,8792],()=>e(e.s=64214)),_N_E=e.O()}]);
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.