diff --git a/compendium_v2/static/AlienWave-AkIzVytY.js b/compendium_v2/static/AlienWave-CmOcxAf3.js similarity index 87% rename from compendium_v2/static/AlienWave-AkIzVytY.js rename to compendium_v2/static/AlienWave-CmOcxAf3.js index 77b476b37c92c528fe3d6f0a75fea8ee10cee609..b79ec813913206e4b25a5e4912d2d2164d3b4878 100644 --- a/compendium_v2/static/AlienWave-AkIzVytY.js +++ b/compendium_v2/static/AlienWave-CmOcxAf3.js @@ -1,4 +1,4 @@ -import{c as T,r as Y,F as S,j as v,t as j,S as E}from"./index-BBqwf-sR.js";import{u as W,g as C,n as F,D as M,F as P,f as R}from"./useData-CR6GUHnJ.js";import{P as L}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function K(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:p}=Y.useContext(S),{data:_,years:w,nrens:y}=W("/api/alien-wave",p,x);let s,h;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=C(s,"alien_wave_third_party");h=F(D,A),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=h}else s=e[4],h=e[5];const b=h;let n,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","Planned","No"],m=new Map([[n[0],"yes"],[n[1],"planned"],[n[2],"no"]]),e[9]=n,e[10]=m):(n=e[9],m=e[10]);const k=m;let i;e[11]!==w?(i=[...w],e[11]=w,e[12]=i):i=e[12];let r;e[13]!==y?(r=y.values(),e[13]=y,e[14]=r):r=e[14];let l;e[15]!==r?(l=[...r],e[15]=r,e[16]=l):l=e[16];let o;e[17]!==i||e[18]!==l?(o={availableYears:i,availableNrens:l},e[17]=i,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==p||e[22]!==o?(u=v.jsx(P,{filterOptions:o,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=o,e[23]=u):u=e[23];const N=u;let c;e[24]!==b?(c=v.jsx(R,{children:v.jsx(L,{columns:n,columnLookup:k,dataLookup:b})}),e[24]=b,e[25]=c):c=e[25];let f;return e[26]!==N||e[27]!==s||e[28]!==c?(f=v.jsx(M,{title:j["alien-wave"],description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. +import{c as T,r as Y,F as S,j as v,t as j,S as E}from"./index-C21YiIe4.js";import{u as W,g as C,n as F,D as M,F as P,f as R}from"./useData-DpGbPZTZ.js";import{P as L}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function K(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:p}=Y.useContext(S),{data:_,years:w,nrens:y}=W("/api/alien-wave",p,x);let s,h;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=C(s,"alien_wave_third_party");h=F(D,A),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=h}else s=e[4],h=e[5];const b=h;let n,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","Planned","No"],m=new Map([[n[0],"yes"],[n[1],"planned"],[n[2],"no"]]),e[9]=n,e[10]=m):(n=e[9],m=e[10]);const k=m;let i;e[11]!==w?(i=[...w],e[11]=w,e[12]=i):i=e[12];let r;e[13]!==y?(r=y.values(),e[13]=y,e[14]=r):r=e[14];let l;e[15]!==r?(l=[...r],e[15]=r,e[16]=l):l=e[16];let o;e[17]!==i||e[18]!==l?(o={availableYears:i,availableNrens:l},e[17]=i,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==p||e[22]!==o?(u=v.jsx(P,{filterOptions:o,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=o,e[23]=u):u=e[23];const N=u;let c;e[24]!==b?(c=v.jsx(R,{children:v.jsx(L,{columns:n,columnLookup:k,dataLookup:b})}),e[24]=b,e[25]=c):c=e[25];let f;return e[26]!==N||e[27]!==s||e[28]!==c?(f=v.jsx(M,{title:j["alien-wave"],description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table. In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a DWDM line system that pass through the network, i.e. they are not sourced/terminated by the line-system operator’s diff --git a/compendium_v2/static/AlienWaveInternal-Bu7lZ_Lb.js b/compendium_v2/static/AlienWaveInternal-AuuSyo2W.js similarity index 85% rename from compendium_v2/static/AlienWaveInternal-Bu7lZ_Lb.js rename to compendium_v2/static/AlienWaveInternal-AuuSyo2W.js index 0919f0f1eca7d15585d4318193e7c260a92ee88a..ec0cd4af882405edce3335922a5b4fcab3f624ea 100644 --- a/compendium_v2/static/AlienWaveInternal-Bu7lZ_Lb.js +++ b/compendium_v2/static/AlienWaveInternal-AuuSyo2W.js @@ -1,4 +1,4 @@ -import{c as k,r as Y,F as S,j as w,t as j,S as F}from"./index-BBqwf-sR.js";import{u as M,g as T,D as W,F as C,f as E}from"./useData-CR6GUHnJ.js";import{P}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function B(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const N=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:g,nrens:x}=M("/api/alien-wave",d,N);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=D=>t.selectedYears.includes(D.year)&&t.selectedNrens.includes(D.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=T(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const y=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==g?(a=[...g],e[11]=g,e[12]=a):a=e[12];let l;e[13]!==x?(l=x.values(),e[13]=x,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let h;e[20]!==t||e[21]!==d||e[22]!==r?(h=w.jsx(C,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=h):h=e[23];const _=h;let o;e[24]!==y?(o=w.jsx(E,{children:w.jsx(P,{columns:n,columnLookup:b,dataLookup:y})}),e[24]=y,e[25]=o):o=e[25];let f;return e[26]!==_||e[27]!==s||e[28]!==o?(f=w.jsx(W,{title:j["alien-wave-internal"],description:`The table below shows NREN usage of alien waves internally within their own networks. +import{c as k,r as Y,F as S,j as w,t as j,S as F}from"./index-C21YiIe4.js";import{u as M,g as T,D as W,F as C,f as E}from"./useData-DpGbPZTZ.js";import{P}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function B(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const N=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:g,nrens:x}=M("/api/alien-wave",d,N);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=D=>t.selectedYears.includes(D.year)&&t.selectedNrens.includes(D.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=T(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const y=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==g?(a=[...g],e[11]=g,e[12]=a):a=e[12];let l;e[13]!==x?(l=x.values(),e[13]=x,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let h;e[20]!==t||e[21]!==d||e[22]!==r?(h=w.jsx(C,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=h):h=e[23];const _=h;let o;e[24]!==y?(o=w.jsx(E,{children:w.jsx(P,{columns:n,columnLookup:b,dataLookup:y})}),e[24]=y,e[25]=o):o=e[25];let f;return e[26]!==_||e[27]!==s||e[28]!==o?(f=w.jsx(W,{title:j["alien-wave-internal"],description:`The table below shows NREN usage of alien waves internally within their own networks. This includes, for example, alien waves used between two equipment vendors, eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment. diff --git a/compendium_v2/static/Audits-DcXTaRMU.js b/compendium_v2/static/Audits-DhlH6W8m.js similarity index 84% rename from compendium_v2/static/Audits-DcXTaRMU.js rename to compendium_v2/static/Audits-DhlH6W8m.js index 1f2b2a77a573d20ddd4eeb7f966a298273643a23..23cf767d5c7387bb045460e0e06d2f3740704e8f 100644 --- a/compendium_v2/static/Audits-DcXTaRMU.js +++ b/compendium_v2/static/Audits-DhlH6W8m.js @@ -1,4 +1,4 @@ -import{c as Y,r as w,F as j,j as x,t as F,S as P}from"./index-BBqwf-sR.js";import{u as C,g as D,n as E,D as L,F as R,f as M}from"./useData-CR6GUHnJ.js";import{P as A}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function K(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:b,years:y,nrens:N}=C("/api/standards",u,k);let i,m;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren)&&_.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=b.filter(d);const T=D(i,"audits");m=E(T,I),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const g=m;let a,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],p=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=p):(a=e[9],p=e[10]);const S=p;let r;e[11]!==y?(r=[...y],e[11]=y,e[12]=r):r=e[12];let l;e[13]!==N?(l=N.values(),e[13]=N,e[14]=l):l=e[14];let o;e[15]!==l?(o=[...l],e[15]=l,e[16]=o):o=e[16];let n;e[17]!==r||e[18]!==o?(n={availableYears:r,availableNrens:o},e[17]=r,e[18]=o,e[19]=n):n=e[19];let f;e[20]!==t||e[21]!==u||e[22]!==n?(f=x.jsx(R,{filterOptions:n,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=n,e[23]=f):f=e[23];const v=f;let c;e[24]!==g?(c=x.jsx(M,{children:x.jsx(A,{columns:a,columnLookup:S,dataLookup:g})}),e[24]=g,e[25]=c):c=e[25];let h;return e[26]!==v||e[27]!==i||e[28]!==c?(h=x.jsx(L,{title:F.audits,description:`The table below shows whether NRENs have external and/or internal audits +import{c as Y,r as w,F as j,j as x,t as F,S as P}from"./index-C21YiIe4.js";import{u as C,g as D,n as E,D as L,F as R,f as M}from"./useData-DpGbPZTZ.js";import{P as A}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function K(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:b,years:y,nrens:N}=C("/api/standards",u,k);let i,m;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren)&&_.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=b.filter(d);const T=D(i,"audits");m=E(T,I),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const g=m;let a,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],p=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=p):(a=e[9],p=e[10]);const S=p;let r;e[11]!==y?(r=[...y],e[11]=y,e[12]=r):r=e[12];let l;e[13]!==N?(l=N.values(),e[13]=N,e[14]=l):l=e[14];let o;e[15]!==l?(o=[...l],e[15]=l,e[16]=o):o=e[16];let n;e[17]!==r||e[18]!==o?(n={availableYears:r,availableNrens:o},e[17]=r,e[18]=o,e[19]=n):n=e[19];let f;e[20]!==t||e[21]!==u||e[22]!==n?(f=x.jsx(R,{filterOptions:n,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=n,e[23]=f):f=e[23];const v=f;let c;e[24]!==g?(c=x.jsx(M,{children:x.jsx(A,{columns:a,columnLookup:S,dataLookup:g})}),e[24]=g,e[25]=c):c=e[25];let h;return e[26]!==v||e[27]!==i||e[28]!==c?(h=x.jsx(L,{title:F.audits,description:`The table below shows whether NRENs have external and/or internal audits of the information security management systems (eg. risk management and policies). Where extra information has been provided, such as whether a certified security auditor on ISP 27001 is performing the audits, it can be viewed by hovering over the indicator diff --git a/compendium_v2/static/Automation--jMOuNQ2.js b/compendium_v2/static/Automation-qp3Ba25C.js similarity index 94% rename from compendium_v2/static/Automation--jMOuNQ2.js rename to compendium_v2/static/Automation-qp3Ba25C.js index effa534f5cef0b5a377ff6371e4bf21cbd241b86..e62a759aee8dff1c243e613b11e2f09fe16c740b 100644 --- a/compendium_v2/static/Automation--jMOuNQ2.js +++ b/compendium_v2/static/Automation-qp3Ba25C.js @@ -1,4 +1,4 @@ -import{c as ee,r as te,F as se,S as ne,j as t,t as le}from"./index-BBqwf-sR.js";import{u as oe,g as re,F as ie,D as ae,f as ce}from"./useData-CR6GUHnJ.js";import{C as Q}from"./ColorPill-CiiNPUcs.js";import{T as he}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function we(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:U,years:c,nrens:R}=oe("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==U||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=F=>l.selectedYears.includes(F.year)&&l.selectedNrens.includes(F.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=U.filter(A),X=re(V,"network_automation");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let D;e[27]!==T?(D=[...T],e[27]=T,e[28]=D):D=e[28];let $;e[29]!==C||e[30]!==D?($={availableYears:C,availableNrens:D},e[29]=C,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(ie,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=F=>c.has(F),e[36]=c,e[37]=M):M=e[37];const W=[...l.selectedYears.filter(M)].sort();x=ae,b=le["network-automation"],S=`The table below shows which NRENs have, or plan to, automate their +import{c as ee,r as te,F as se,S as ne,j as t,t as le}from"./index-C21YiIe4.js";import{u as oe,g as re,F as ie,D as ae,f as ce}from"./useData-DpGbPZTZ.js";import{C as Q}from"./ColorPill-DVzGsevT.js";import{T as he}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function we(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:U,years:c,nrens:R}=oe("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==U||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=F=>l.selectedYears.includes(F.year)&&l.selectedNrens.includes(F.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=U.filter(A),X=re(V,"network_automation");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let D;e[27]!==T?(D=[...T],e[27]=T,e[28]=D):D=e[28];let $;e[29]!==C||e[30]!==D?($={availableYears:C,availableNrens:D},e[29]=C,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(ie,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=F=>c.has(F),e[36]=c,e[37]=M):M=e[37];const W=[...l.selectedYears.filter(M)].sort();x=ae,b=le["network-automation"],S=`The table below shows which NRENs have, or plan to, automate their operational processes, with specification of which processes, and the names of software and tools used for this given when appropriate. Where NRENs indicated that they are using automation for some network tasks, diff --git a/compendium_v2/static/Budget-B6Lx0dmb.js b/compendium_v2/static/Budget-BSIMGep_.js similarity index 84% rename from compendium_v2/static/Budget-B6Lx0dmb.js rename to compendium_v2/static/Budget-BSIMGep_.js index 27bb8d63adcc4c7bcb4ba78f1765cc658b0aa6ad..a48e6c76f21cc9e86297c1368fe4d65e520a7221 100644 --- a/compendium_v2/static/Budget-B6Lx0dmb.js +++ b/compendium_v2/static/Budget-BSIMGep_.js @@ -1 +1 @@ -import{c as _,r as S,F as j,j as s,t as v,S as C}from"./index-BBqwf-sR.js";import{L as R}from"./index-BsZyajo4.js";import{C as L,a as w,L as D,P as F,b as P,p as M,c as O,d as T,u as B,e as G,D as k,F as q,f as A}from"./useData-CR6GUHnJ.js";import{g as H}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";L.register(w,D,F,P,M,O,T);function Q(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=B("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=G(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(q,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=H({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(A,{children:s.jsx(R,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(k,{title:v.budget,description:p,category:C.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{Q as default}; +import{c as _,r as S,F as j,j as s,t as v,S as C}from"./index-C21YiIe4.js";import{L as R}from"./index-X7mNNoWD.js";import{C as L,a as w,L as D,P as F,b as P,p as M,c as O,d as T,u as B,e as G,D as k,F as q,f as A}from"./useData-DpGbPZTZ.js";import{g as H}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";L.register(w,D,F,P,M,O,T);function Q(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=B("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=G(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(q,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=H({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(A,{children:s.jsx(R,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(k,{title:v.budget,description:p,category:C.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{Q as default}; diff --git a/compendium_v2/static/BusinessContinuity-BqGcddh4.js b/compendium_v2/static/BusinessContinuity-BzDSOQxq.js similarity index 85% rename from compendium_v2/static/BusinessContinuity-BqGcddh4.js rename to compendium_v2/static/BusinessContinuity-BzDSOQxq.js index a0759e9cf18edc28909ee56d4f93b6c3177a5225..986a5a84a4c6071b9d4d17ae4de1788ab984a956 100644 --- a/compendium_v2/static/BusinessContinuity-BqGcddh4.js +++ b/compendium_v2/static/BusinessContinuity-BzDSOQxq.js @@ -1,4 +1,4 @@ -import{c as v,r as S,F as j,j as y,t as C,S as E}from"./index-BBqwf-sR.js";import{u as F,g as P,n as D,D as L,F as R,f as M}from"./useData-CR6GUHnJ.js";import{P as B}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function Q(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const w=s,{filterSelection:t,setFilterSelection:p}=S.useContext(j),{data:b,years:_,nrens:x}=F("/api/standards",p,w);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const g=P(n,"business_continuity_plans");d=D(g,O),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const N=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const Y=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==x?(o=x.values(),e[13]=x,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==N?(c=y.jsx(M,{children:y.jsx(B,{columns:i,columnLookup:Y,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(L,{title:C["business-continuity"],description:`The table below shows which NRENs have business continuity plans in place to +import{c as v,r as S,F as j,j as y,t as C,S as E}from"./index-C21YiIe4.js";import{u as F,g as P,n as D,D as L,F as R,f as M}from"./useData-DpGbPZTZ.js";import{P as B}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function Q(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const w=s,{filterSelection:t,setFilterSelection:p}=S.useContext(j),{data:b,years:_,nrens:x}=F("/api/standards",p,w);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const g=P(n,"business_continuity_plans");d=D(g,O),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const N=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const Y=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==x?(o=x.values(),e[13]=x,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==N?(c=y.jsx(M,{children:y.jsx(B,{columns:i,columnLookup:Y,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(L,{title:C["business-continuity"],description:`The table below shows which NRENs have business continuity plans in place to ensure business continuation and operations. Extra details about whether the NREN complies with any international standards, and whether they test the continuity plans regularly can be seen by hovering over the marker. The presence of this extra information diff --git a/compendium_v2/static/CapacityCoreIP-B88yhdLX.js b/compendium_v2/static/CapacityCoreIP-Ccd1ZuBQ.js similarity index 82% rename from compendium_v2/static/CapacityCoreIP-B88yhdLX.js rename to compendium_v2/static/CapacityCoreIP-Ccd1ZuBQ.js index a3f7e316d9386ebd4586e355fd1d43cccc05fe65..2500c68566e570a17b032b05416c4615844d82e3 100644 --- a/compendium_v2/static/CapacityCoreIP-B88yhdLX.js +++ b/compendium_v2/static/CapacityCoreIP-Ccd1ZuBQ.js @@ -1,3 +1,3 @@ -import{c as P,r as Y,F as I,j as y,S as G,t as R}from"./index-BBqwf-sR.js";import{B as L}from"./index-BsZyajo4.js";import{C as O,a as $,L as A,B as M,p as T,c as U,d as q,u as z,o as H,D as J,F as K,f as Q}from"./useData-CR6GUHnJ.js";import{p as V}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import{a as W}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";O.register($,A,M,T,U,q);function oe(){const e=P.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=Y.useContext(I),{data:N,years:d,nrens:u}=z("/api/capacity",s,B);let i,l,a,g;if(e[1]!==N||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=N.filter(n),i=H(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==h?(S=y.jsx(K,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=S):S=e[25],l=S,g=Array.from(new Set(a.map(X))),e[1]=N,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const w=g.length,D=Math.max(w*t.selectedYears.length*1.5+5,50),v=R["capacity-core-ip"],E=`The graph below shows the typical core usable backbone IP capacity of +import{c as P,r as Y,F as I,j as y,S as G,t as R}from"./index-C21YiIe4.js";import{B as L}from"./index-X7mNNoWD.js";import{C as O,a as $,L as A,B as M,p as T,c as U,d as q,u as z,o as H,D as J,F as K,f as Q}from"./useData-DpGbPZTZ.js";import{p as V}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import{a as W}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";O.register($,A,M,T,U,q);function oe(){const e=P.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=Y.useContext(I),{data:N,years:d,nrens:u}=z("/api/capacity",s,B);let i,l,a,g;if(e[1]!==N||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=N.filter(n),i=H(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==h?(S=y.jsx(K,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=S):S=e[25],l=S,g=Array.from(new Set(a.map(X))),e[1]=N,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const w=g.length,D=Math.max(w*t.selectedYears.length*1.5+5,50),v=R["capacity-core-ip"],E=`The graph below shows the typical core usable backbone IP capacity of NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over the network.`;let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=W({title:v,tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=_):_=e[26];const F=_,k=`${D}rem`;let r;e[27]!==k?(r={height:k},e[27]=k,e[28]=r):r=e[28];let x;e[29]===Symbol.for("react.memo_cache_sentinel")?(x=[V],e[29]=x):x=e[29];let c;e[30]!==i?(c=y.jsx(L,{data:i,options:F,plugins:x}),e[30]=i,e[31]=c):c=e[31];let o;e[32]!==r||e[33]!==c?(o=y.jsx(Q,{children:y.jsx("div",{className:"chart-container",style:r,children:c})}),e[32]=r,e[33]=c,e[34]=o):o=e[34];let C;return e[35]!==l||e[36]!==a||e[37]!==o?(C=y.jsx(J,{title:v,description:E,category:G.Network,filter:l,data:a,filename:"capacity_core_ip",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=C):C=e[38],C}function X(e){return e.nren}export{oe as default}; diff --git a/compendium_v2/static/CapacityLargestLink-60HM0Osr.js b/compendium_v2/static/CapacityLargestLink-Bx0d8lUw.js similarity index 83% rename from compendium_v2/static/CapacityLargestLink-60HM0Osr.js rename to compendium_v2/static/CapacityLargestLink-Bx0d8lUw.js index 492b7741426de56cef6bae27ce5d3e51aa4df4e2..3a7c9a54a31ab24ddbb00f6ec359cc1809af4b7a 100644 --- a/compendium_v2/static/CapacityLargestLink-60HM0Osr.js +++ b/compendium_v2/static/CapacityLargestLink-Bx0d8lUw.js @@ -1,3 +1,3 @@ -import{c as L,r as Y,F as G,j as u,S as R,t as O}from"./index-BBqwf-sR.js";import{B as P}from"./index-BsZyajo4.js";import{C as $,a as A,L as M,B as U,p as W,c as q,d as z,u as H,o as I,D as J,F as K,f as Q}from"./useData-CR6GUHnJ.js";import{p as T}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import{a as V}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";$.register(A,M,U,W,q,z);function ce(){const e=L.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=o=>o.largest_link_capacity!=null,e[0]=y):y=e[0];const j=y,{filterSelection:t,setFilterSelection:s}=Y.useContext(G),{data:b,years:h,nrens:g}=H("/api/capacity",s,j);let i,l,a,_;if(e[1]!==b||e[2]!==t||e[3]!==g||e[4]!==s||e[5]!==h){let o;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(o=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&j(v),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=o):o=e[12],a=b.filter(o),i=I(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==d?(S=u.jsx(K,{filterOptions:d,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=d,e[25]=S):S=e[25],l=S,_=Array.from(new Set(a.map(X))),e[1]=b,e[2]=t,e[3]=g,e[4]=s,e[5]=h,e[6]=i,e[7]=l,e[8]=a,e[9]=_}else i=e[6],l=e[7],a=e[8],_=e[9];const B=_.length,D=Math.max(B*t.selectedYears.length*1.5+5,50),w=O["capacity-largest-link"],E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in +import{c as L,r as Y,F as G,j as u,S as R,t as O}from"./index-C21YiIe4.js";import{B as P}from"./index-X7mNNoWD.js";import{C as $,a as A,L as M,B as U,p as W,c as q,d as z,u as H,o as I,D as J,F as K,f as Q}from"./useData-DpGbPZTZ.js";import{p as T}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import{a as V}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";$.register(A,M,U,W,q,z);function ce(){const e=L.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=o=>o.largest_link_capacity!=null,e[0]=y):y=e[0];const j=y,{filterSelection:t,setFilterSelection:s}=Y.useContext(G),{data:b,years:h,nrens:g}=H("/api/capacity",s,j);let i,l,a,_;if(e[1]!==b||e[2]!==t||e[3]!==g||e[4]!==s||e[5]!==h){let o;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(o=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&j(v),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=o):o=e[12],a=b.filter(o),i=I(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==d?(S=u.jsx(K,{filterOptions:d,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=d,e[25]=S):S=e[25],l=S,_=Array.from(new Set(a.map(X))),e[1]=b,e[2]=t,e[3]=g,e[4]=s,e[5]=h,e[6]=i,e[7]=l,e[8]=a,e[9]=_}else i=e[6],l=e[7],a=e[8],_=e[9];const B=_.length,D=Math.max(B*t.selectedYears.length*1.5+5,50),w=O["capacity-largest-link"],E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in their network used for internet traffic (either shared or dedicated). While they were invited to provide the sum of aggregated links, backup capacity was not to be included.`;let k;e[26]===Symbol.for("react.memo_cache_sentinel")?(k=V({title:w,tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=k):k=e[26];const F=k,N=`${D}rem`;let r;e[27]!==N?(r={height:N},e[27]=N,e[28]=r):r=e[28];let x;e[29]===Symbol.for("react.memo_cache_sentinel")?(x=[T],e[29]=x):x=e[29];let n;e[30]!==i?(n=u.jsx(P,{data:i,options:F,plugins:x}),e[30]=i,e[31]=n):n=e[31];let c;e[32]!==r||e[33]!==n?(c=u.jsx(Q,{children:u.jsx("div",{className:"chart-container",style:r,children:n})}),e[32]=r,e[33]=n,e[34]=c):c=e[34];let C;return e[35]!==l||e[36]!==a||e[37]!==c?(C=u.jsx(J,{title:w,description:E,category:R.Network,filter:l,data:a,filename:"capacity_largest_link",children:c}),e[35]=l,e[36]=a,e[37]=c,e[38]=C):C=e[38],C}function X(e){return e.nren}export{ce as default}; diff --git a/compendium_v2/static/CentralProcurement-BMUmHoyZ.js b/compendium_v2/static/CentralProcurement-BHctLo1Q.js similarity index 82% rename from compendium_v2/static/CentralProcurement-BMUmHoyZ.js rename to compendium_v2/static/CentralProcurement-BHctLo1Q.js index fe35b71bb1ee87fb884b596d5af7bfac9c393f77..9c64060b21690ad6905d42932df802e4b3deb324 100644 --- a/compendium_v2/static/CentralProcurement-BMUmHoyZ.js +++ b/compendium_v2/static/CentralProcurement-BHctLo1Q.js @@ -1 +1 @@ -import{c as Y,r as I,F as T,j as h,S as $,t as L}from"./index-BBqwf-sR.js";import{C as O,a as V,L as k,B as A,p as M,c as U,d as Z,u as q,o as z,D as G,F as H,f as J}from"./useData-CR6GUHnJ.js";import{p as K}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import{B as Q}from"./index-BsZyajo4.js";import{a as W}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";O.register(V,k,A,M,U,Z);function ce(){const e=Y.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=I.useContext(T),{data:w,years:d,nrens:y}=q("/api/central-procurement",l,v);let o,n,r,x;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=z(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(H,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,x=Array.from(new Set(r.map(X))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=x}else o=e[6],n=e[7],r=e[8],x=e[9];const P=x.length,B=Math.max(P*t.selectedYears.length*1.5+5,50),D=L["central-procurement"];let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=N):N=e[26];const F=N;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=W({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=S):S=e[27];const R=S,E=`${B}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(Q,{data:o,options:R,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(J,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(G,{title:D,description:F,category:$.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function X(e){return e.nren}export{ce as default}; +import{c as Y,r as I,F as T,j as h,S as $,t as L}from"./index-C21YiIe4.js";import{C as O,a as V,L as k,B as A,p as M,c as U,d as Z,u as q,o as z,D as G,F as H,f as J}from"./useData-DpGbPZTZ.js";import{p as K}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import{B as Q}from"./index-X7mNNoWD.js";import{a as W}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";O.register(V,k,A,M,U,Z);function ce(){const e=Y.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=I.useContext(T),{data:w,years:d,nrens:y}=q("/api/central-procurement",l,v);let o,n,r,x;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=z(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(H,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,x=Array.from(new Set(r.map(X))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=x}else o=e[6],n=e[7],r=e[8],x=e[9];const P=x.length,B=Math.max(P*t.selectedYears.length*1.5+5,50),D=L["central-procurement"];let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=N):N=e[26];const F=N;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=W({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=S):S=e[27];const R=S,E=`${B}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(Q,{data:o,options:R,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(J,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(G,{title:D,description:F,category:$.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function X(e){return e.nren}export{ce as default}; diff --git a/compendium_v2/static/CertificateProvider-BD7n0iWU.js b/compendium_v2/static/CertificateProvider-KfK8hzPh.js similarity index 81% rename from compendium_v2/static/CertificateProvider-BD7n0iWU.js rename to compendium_v2/static/CertificateProvider-KfK8hzPh.js index 57c6a1a47d382edef2a8b7df9e94868ce417f906..1481c128ce035856eba345a716c77fafea83e379 100644 --- a/compendium_v2/static/CertificateProvider-BD7n0iWU.js +++ b/compendium_v2/static/CertificateProvider-KfK8hzPh.js @@ -1 +1 @@ -import{c as _,r as Y,F as j,j as S,t as k,S as D}from"./index-BBqwf-sR.js";import{u as E,g as P,D as T,F as w,f as F}from"./useData-CR6GUHnJ.js";import{P as L}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function G(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:N,years:x,nrens:b}=E("/api/certificate-providers",c);let s,n;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=N.filter(u),n=P(s,"provider_names"),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const v=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=S.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const C=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const h=d;let p;e[22]===Symbol.for("react.memo_cache_sentinel")?(p=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=p):p=e[22];const y=p;let a;e[23]!==v?(a=S.jsx(F,{children:S.jsx(L,{columns:h,dataLookup:v,circle:!0,columnLookup:y})}),e[23]=v,e[24]=a):a=e[24];let m;return e[25]!==C||e[26]!==s||e[27]!==a?(m=S.jsx(T,{title:k["certificate-provider"],description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:D.Network,filter:C,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=C,e[26]=s,e[27]=a,e[28]=m):m=e[28],m}export{G as default}; +import{c as _,r as Y,F as j,j as S,t as k,S as D}from"./index-C21YiIe4.js";import{u as E,g as P,D as T,F as w,f as F}from"./useData-DpGbPZTZ.js";import{P as L}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function G(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:N,years:x,nrens:b}=E("/api/certificate-providers",c);let s,n;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=N.filter(u),n=P(s,"provider_names"),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const v=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=S.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const C=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const h=d;let p;e[22]===Symbol.for("react.memo_cache_sentinel")?(p=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=p):p=e[22];const y=p;let a;e[23]!==v?(a=S.jsx(F,{children:S.jsx(L,{columns:h,dataLookup:v,circle:!0,columnLookup:y})}),e[23]=v,e[24]=a):a=e[24];let m;return e[25]!==C||e[26]!==s||e[27]!==a?(m=S.jsx(T,{title:k["certificate-provider"],description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:D.Network,filter:C,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=C,e[26]=s,e[27]=a,e[28]=m):m=e[28],m}export{G as default}; diff --git a/compendium_v2/static/ChargingStructure-BcIkFCQl.js b/compendium_v2/static/ChargingStructure-C0PO-607.js similarity index 83% rename from compendium_v2/static/ChargingStructure-BcIkFCQl.js rename to compendium_v2/static/ChargingStructure-C0PO-607.js index c3d4fa77717a200f32e1792fc9baa9908095efa1..8687711f2553397743ea3f5d4ebbe797c4cd8168 100644 --- a/compendium_v2/static/ChargingStructure-BcIkFCQl.js +++ b/compendium_v2/static/ChargingStructure-C0PO-607.js @@ -1,3 +1,3 @@ -import{c as Y,r as j,F as v,j as p,t as E,S as F}from"./index-BBqwf-sR.js";import{u as D,g as R,D as k,F as w,f as P}from"./useData-CR6GUHnJ.js";import{P as T}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function G(){const e=Y.c(29),C=L,{filterSelection:t,setFilterSelection:c}=j.useContext(v),{data:g,years:b,nrens:N}=D("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],a=g.filter(m),f=R(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(w,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const S=d;let o;e[23]!==_?(o=p.jsx(P,{children:p.jsx(T,{columns:s,dataLookup:_,columnLookup:S})}),e[23]=_,e[24]=o):o=e[24];let h;return e[25]!==y||e[26]!==a||e[27]!==o?(h=p.jsx(k,{title:E.charging,description:`The charging structure is the way in which NRENs charge their customers for the services they provide. +import{c as Y,r as j,F as v,j as p,t as E,S as F}from"./index-C21YiIe4.js";import{u as D,g as R,D as k,F as w,f as P}from"./useData-DpGbPZTZ.js";import{P as T}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function G(){const e=Y.c(29),C=L,{filterSelection:t,setFilterSelection:c}=j.useContext(v),{data:g,years:b,nrens:N}=D("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],a=g.filter(m),f=R(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(w,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const S=d;let o;e[23]!==_?(o=p.jsx(P,{children:p.jsx(T,{columns:s,dataLookup:_,columnLookup:S})}),e[23]=_,e[24]=o):o=e[24];let h;return e[25]!==y||e[26]!==a||e[27]!==o?(h=p.jsx(k,{title:E.charging,description:`The charging structure is the way in which NRENs charge their customers for the services they provide. The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge. By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs.`,category:F.Organisation,filter:y,data:a,filename:"charging_mechanism_of_nrens_per_year",children:o}),e[25]=y,e[26]=a,e[27]=o,e[28]=h):h=e[28],h}function L(e){return e.fee_type!=null}export{G as default}; diff --git a/compendium_v2/static/ColorPill-CiiNPUcs.js b/compendium_v2/static/ColorPill-DVzGsevT.js similarity index 92% rename from compendium_v2/static/ColorPill-CiiNPUcs.js rename to compendium_v2/static/ColorPill-DVzGsevT.js index fce4c46a58561a8b91f37857f8573b8598d334c4..252fde513f2bdc401bf7348ee05bf57ff39f6785 100644 --- a/compendium_v2/static/ColorPill-CiiNPUcs.js +++ b/compendium_v2/static/ColorPill-DVzGsevT.js @@ -1 +1 @@ -import{c as m,j as a}from"./index-BBqwf-sR.js";function f(p){const t=m.c(10),{year:e,active:s,tooltip:i,rounded:c}=p,n=(c===void 0?!1:c)?"30px":"75px";let d;t[0]!==n?(d={width:n,height:"30px",margin:"2px"},t[0]=n,t[1]=d):d=t[1];const l=d;let o;t[2]!==s||t[3]!==l||t[4]!==i||t[5]!==e?(o=s&&i?a.jsx("div",{className:`rounded-pill bg-color-of-the-year-${e%9} bottom-tooltip pill-shadow`,style:l,"data-description":`${e}: ${i}`}):s?a.jsx("div",{className:`rounded-pill bg-color-of-the-year-${e%9} bottom-tooltip-small`,style:l,"data-description":e}):a.jsx("div",{className:"rounded-pill bg-color-of-the-year-blank",style:l}),t[2]=s,t[3]=l,t[4]=i,t[5]=e,t[6]=o):o=t[6];let r;return t[7]!==o||t[8]!==e?(r=a.jsx("div",{className:"d-inline-block",children:o},e),t[7]=o,t[8]=e,t[9]=r):r=t[9],r}export{f as C}; +import{c as m,j as a}from"./index-C21YiIe4.js";function f(p){const t=m.c(10),{year:e,active:s,tooltip:i,rounded:c}=p,n=(c===void 0?!1:c)?"30px":"75px";let d;t[0]!==n?(d={width:n,height:"30px",margin:"2px"},t[0]=n,t[1]=d):d=t[1];const l=d;let o;t[2]!==s||t[3]!==l||t[4]!==i||t[5]!==e?(o=s&&i?a.jsx("div",{className:`rounded-pill bg-color-of-the-year-${e%9} bottom-tooltip pill-shadow`,style:l,"data-description":`${e}: ${i}`}):s?a.jsx("div",{className:`rounded-pill bg-color-of-the-year-${e%9} bottom-tooltip-small`,style:l,"data-description":e}):a.jsx("div",{className:"rounded-pill bg-color-of-the-year-blank",style:l}),t[2]=s,t[3]=l,t[4]=i,t[5]=e,t[6]=o):o=t[6];let r;return t[7]!==o||t[8]!==e?(r=a.jsx("div",{className:"d-inline-block",children:o},e),t[7]=o,t[8]=e,t[9]=r):r=t[9],r}export{f as C}; diff --git a/compendium_v2/static/ConnectedInstitutionsURLs-Bs2tapfG.js b/compendium_v2/static/ConnectedInstitutionsURLs-BFMdMAD5.js similarity index 78% rename from compendium_v2/static/ConnectedInstitutionsURLs-Bs2tapfG.js rename to compendium_v2/static/ConnectedInstitutionsURLs-BFMdMAD5.js index 0e08b7582cf66401d6103f5402234784165032ed..3c307a70cdf99ebc7271a5be05aa0189713dbddf 100644 --- a/compendium_v2/static/ConnectedInstitutionsURLs-Bs2tapfG.js +++ b/compendium_v2/static/ConnectedInstitutionsURLs-BFMdMAD5.js @@ -1 +1 @@ -import{c as g,r as y,F as C,j as x,t as L,S as R}from"./index-BBqwf-sR.js";import{u as S,q as k,k as v,i as F,D as T,F as U,f as w,s as E}from"./useData-CR6GUHnJ.js";import{N as O}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function G(){const t=g.c(24),{filterSelection:e,setFilterSelection:s}=y.useContext(C),{data:i,nrens:a}=S("/api/institution-urls",s);let n,o,u;if(t[0]!==i||t[1]!==e||t[2]!==a||t[3]!==s){const j=i?k(i):[];let d;t[7]!==e.selectedNrens?(d=N=>e.selectedNrens.includes(N.nren),t[7]=e.selectedNrens,t[8]=d):d=t[8];const D=j.filter(d),h=v(D);n=F(h,_);let m;t[9]===Symbol.for("react.memo_cache_sentinel")?(m=[],t[9]=m):m=t[9];let l;t[10]!==a?(l=a.values(),t[10]=a,t[11]=l):l=t[11];let c;t[12]!==l?(c={availableYears:m,availableNrens:[...l]},t[12]=l,t[13]=c):c=t[13];let p;t[14]!==e||t[15]!==s||t[16]!==c?(p=x.jsx(U,{filterOptions:c,filterSelection:e,setFilterSelection:s}),t[14]=e,t[15]=s,t[16]=c,t[17]=p):p=t[17],o=p,u=D.map(Y),t[0]=i,t[1]=e,t[2]=a,t[3]=s,t[4]=n,t[5]=o,t[6]=u}else n=t[4],o=t[5],u=t[6];const b=u;let r;t[18]!==n?(r=x.jsx(w,{children:x.jsx(O,{data:n,columnTitle:"Institution URLs",keysAreURLs:!0,noDots:!0})}),t[18]=n,t[19]=r):r=t[19];let f;return t[20]!==b||t[21]!==o||t[22]!==r?(f=x.jsx(T,{title:L["institutions-urls"],description:"Many NRENs have a page on their website listing user institutions. Links to the pages are shown in the table below.",category:R.ConnectedUsers,filter:o,data:b,filename:"institution_urls",children:r}),t[20]=b,t[21]=o,t[22]=r,t[23]=f):f=t[23],f}function Y(t){return{...t,urls:(t.urls??[]).join(", ")}}function _(t,e){const s=E(e);if(s!=null)for(const[i,a]of Object.entries(s))t[i]=a}export{G as default}; +import{c as g,r as y,F as C,j as x,t as L,S as R}from"./index-C21YiIe4.js";import{u as S,q as k,k as v,i as F,D as T,F as U,f as w,s as E}from"./useData-DpGbPZTZ.js";import{N as O}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function G(){const t=g.c(24),{filterSelection:e,setFilterSelection:s}=y.useContext(C),{data:i,nrens:a}=S("/api/institution-urls",s);let n,o,u;if(t[0]!==i||t[1]!==e||t[2]!==a||t[3]!==s){const j=i?k(i):[];let d;t[7]!==e.selectedNrens?(d=N=>e.selectedNrens.includes(N.nren),t[7]=e.selectedNrens,t[8]=d):d=t[8];const D=j.filter(d),h=v(D);n=F(h,_);let m;t[9]===Symbol.for("react.memo_cache_sentinel")?(m=[],t[9]=m):m=t[9];let l;t[10]!==a?(l=a.values(),t[10]=a,t[11]=l):l=t[11];let c;t[12]!==l?(c={availableYears:m,availableNrens:[...l]},t[12]=l,t[13]=c):c=t[13];let p;t[14]!==e||t[15]!==s||t[16]!==c?(p=x.jsx(U,{filterOptions:c,filterSelection:e,setFilterSelection:s}),t[14]=e,t[15]=s,t[16]=c,t[17]=p):p=t[17],o=p,u=D.map(Y),t[0]=i,t[1]=e,t[2]=a,t[3]=s,t[4]=n,t[5]=o,t[6]=u}else n=t[4],o=t[5],u=t[6];const b=u;let r;t[18]!==n?(r=x.jsx(w,{children:x.jsx(O,{data:n,columnTitle:"Institution URLs",keysAreURLs:!0,noDots:!0})}),t[18]=n,t[19]=r):r=t[19];let f;return t[20]!==b||t[21]!==o||t[22]!==r?(f=x.jsx(T,{title:L["institutions-urls"],description:"Many NRENs have a page on their website listing user institutions. Links to the pages are shown in the table below.",category:R.ConnectedUsers,filter:o,data:b,filename:"institution_urls",children:r}),t[20]=b,t[21]=o,t[22]=r,t[23]=f):f=t[23],f}function Y(t){return{...t,urls:(t.urls??[]).join(", ")}}function _(t,e){const s=E(e);if(s!=null)for(const[i,a]of Object.entries(s))t[i]=a}export{G as default}; diff --git a/compendium_v2/static/ConnectedUser-z-HdwgL6.js b/compendium_v2/static/ConnectedUser-zGB3iGh0.js similarity index 95% rename from compendium_v2/static/ConnectedUser-z-HdwgL6.js rename to compendium_v2/static/ConnectedUser-zGB3iGh0.js index c7d8f16a5f5f568011ec8539f31b0370d102df33..11f207a67678dd7688e058203f9996050c56b3bc 100644 --- a/compendium_v2/static/ConnectedUser-z-HdwgL6.js +++ b/compendium_v2/static/ConnectedUser-zGB3iGh0.js @@ -1 +1 @@ -import{a as t,t as l,j as o,L as Y,c as F,r as U,F as D,S as A,b as T,d as P,U as j}from"./index-BBqwf-sR.js";import{u as G,r as u,D as $,F as q,f as B}from"./useData-CR6GUHnJ.js";import{S as z}from"./ScrollableMatrix-BjIkN-ZD.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";const I={[t.ConnectedProportion]:l["connected-proportion"],[t.ConnectivityLevel]:l["connectivity-level"],[t.ConnectionCarrier]:l["connection-carrier"],[t.ConnectivityLoad]:l["connectivity-load"],[t.ConnectivityGrowth]:l["connectivity-growth"],[t.CommercialChargingLevel]:l["commercial-charging-level"],[t.CommercialConnectivity]:l["commercial-connectivity"]},H={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(Y,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:I[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},L={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function te(M){const e=F.c(36),{page:n}=M,O=`/api/connected-${n.toString()}`,{filterSelection:i,setFilterSelection:y}=U.useContext(D),{data:_,years:b,nrens:N}=G(O,y);let r,a,c,s;if(e[0]!==_||e[1]!==i.selectedNrens||e[2]!==i.selectedYears||e[3]!==n){let C;e[8]!==i.selectedNrens||e[9]!==i.selectedYears?(C=S=>i.selectedYears.includes(S.year)&&i.selectedNrens.includes(S.nren),e[8]=i.selectedNrens,e[9]=i.selectedYears,e[10]=C):C=e[10],s=_.filter(C),c=!1,n==t.CommercialConnectivity?(r=T,c=!0,a=u(s,Object.keys(T),void 0)):n==t.CommercialChargingLevel?(r=P,c=!0,a=u(s,Object.keys(P),void 0)):n==t.ConnectionCarrier?(r=j,c=!0,a=u(s,["carry_mechanism"],"user_category")):n==t.ConnectedProportion?(r=j,a=u(s,Object.values(L[n]),"user_category",!1)):(r=j,a=u(s,Object.values(L[n]),"user_category",!1)),e[0]=_,e[1]=i.selectedNrens,e[2]=i.selectedYears,e[3]=n,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let h;e[11]!==b?(h=[...b],e[11]=b,e[12]=h):h=e[12];let d;e[13]!==N?(d=N.values(),e[13]=N,e[14]=d):d=e[14];let f;e[15]!==d?(f=[...d],e[15]=d,e[16]=f):f=e[16];let p;e[17]!==h||e[18]!==f?(p={availableYears:h,availableNrens:f},e[17]=h,e[18]=f,e[19]=p):p=e[19];let g;e[20]!==i||e[21]!==y||e[22]!==p?(g=o.jsx(q,{filterOptions:p,filterSelection:i,setFilterSelection:y}),e[20]=i,e[21]=y,e[22]=p,e[23]=g):g=e[23];const w=g,E=L[n],k=`nren_connected_${n.toString()}`,x=I[n],R=H[n];let m;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==E?(m=o.jsx(B,{children:o.jsx(z,{dataLookup:a,rowInfo:E,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=E,e[28]=m):m=e[28];let v;return e[29]!==k||e[30]!==w||e[31]!==s||e[32]!==x||e[33]!==R||e[34]!==m?(v=o.jsx($,{title:x,description:R,category:A.ConnectedUsers,filter:w,data:s,filename:k,children:m}),e[29]=k,e[30]=w,e[31]=s,e[32]=x,e[33]=R,e[34]=m,e[35]=v):v=e[35],v}export{te as default}; +import{a as t,t as l,j as o,L as Y,c as F,r as U,F as D,S as A,b as T,d as P,U as j}from"./index-C21YiIe4.js";import{u as G,r as u,D as $,F as q,f as B}from"./useData-DpGbPZTZ.js";import{S as z}from"./ScrollableMatrix-di2VBWdy.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";const I={[t.ConnectedProportion]:l["connected-proportion"],[t.ConnectivityLevel]:l["connectivity-level"],[t.ConnectionCarrier]:l["connection-carrier"],[t.ConnectivityLoad]:l["connectivity-load"],[t.ConnectivityGrowth]:l["connectivity-growth"],[t.CommercialChargingLevel]:l["commercial-charging-level"],[t.CommercialConnectivity]:l["commercial-connectivity"]},H={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(Y,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:I[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},L={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function te(M){const e=F.c(36),{page:n}=M,O=`/api/connected-${n.toString()}`,{filterSelection:i,setFilterSelection:y}=U.useContext(D),{data:_,years:b,nrens:N}=G(O,y);let r,a,c,s;if(e[0]!==_||e[1]!==i.selectedNrens||e[2]!==i.selectedYears||e[3]!==n){let C;e[8]!==i.selectedNrens||e[9]!==i.selectedYears?(C=S=>i.selectedYears.includes(S.year)&&i.selectedNrens.includes(S.nren),e[8]=i.selectedNrens,e[9]=i.selectedYears,e[10]=C):C=e[10],s=_.filter(C),c=!1,n==t.CommercialConnectivity?(r=T,c=!0,a=u(s,Object.keys(T),void 0)):n==t.CommercialChargingLevel?(r=P,c=!0,a=u(s,Object.keys(P),void 0)):n==t.ConnectionCarrier?(r=j,c=!0,a=u(s,["carry_mechanism"],"user_category")):n==t.ConnectedProportion?(r=j,a=u(s,Object.values(L[n]),"user_category",!1)):(r=j,a=u(s,Object.values(L[n]),"user_category",!1)),e[0]=_,e[1]=i.selectedNrens,e[2]=i.selectedYears,e[3]=n,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let h;e[11]!==b?(h=[...b],e[11]=b,e[12]=h):h=e[12];let d;e[13]!==N?(d=N.values(),e[13]=N,e[14]=d):d=e[14];let f;e[15]!==d?(f=[...d],e[15]=d,e[16]=f):f=e[16];let p;e[17]!==h||e[18]!==f?(p={availableYears:h,availableNrens:f},e[17]=h,e[18]=f,e[19]=p):p=e[19];let g;e[20]!==i||e[21]!==y||e[22]!==p?(g=o.jsx(q,{filterOptions:p,filterSelection:i,setFilterSelection:y}),e[20]=i,e[21]=y,e[22]=p,e[23]=g):g=e[23];const w=g,E=L[n],k=`nren_connected_${n.toString()}`,x=I[n],R=H[n];let m;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==E?(m=o.jsx(B,{children:o.jsx(z,{dataLookup:a,rowInfo:E,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=E,e[28]=m):m=e[28];let v;return e[29]!==k||e[30]!==w||e[31]!==s||e[32]!==x||e[33]!==R||e[34]!==m?(v=o.jsx($,{title:x,description:R,category:A.ConnectedUsers,filter:w,data:s,filename:k,children:m}),e[29]=k,e[30]=w,e[31]=s,e[32]=x,e[33]=R,e[34]=m,e[35]=v):v=e[35],v}export{te as default}; diff --git a/compendium_v2/static/CorporateStrategy-CP8TjFmN.js b/compendium_v2/static/CorporateStrategy-Dgb-JL-i.js similarity index 80% rename from compendium_v2/static/CorporateStrategy-CP8TjFmN.js rename to compendium_v2/static/CorporateStrategy-Dgb-JL-i.js index 6bf88a393ca0f9e3647bf6aa9fc7ea73dad448d2..fc6218206d6d38f7e94ba2651d01b967c569f1a3 100644 --- a/compendium_v2/static/CorporateStrategy-CP8TjFmN.js +++ b/compendium_v2/static/CorporateStrategy-Dgb-JL-i.js @@ -1,3 +1,3 @@ -import{c as k,r as C,F as j,j as y,t as E,S as F}from"./index-BBqwf-sR.js";import{u as R,q as T,k as Y,i as w,D as L,F as P,f as B}from"./useData-CR6GUHnJ.js";import{N as q}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function J(){const e=k.c(23);let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=x=>!!x.strategic_plan,e[0]=l):l=e[0];const b=l,{filterSelection:t,setFilterSelection:i}=C.useContext(j),{data:n,nrens:h}=R("/api/policy",i,b);let a,c;if(e[1]!==n||e[2]!==t.selectedNrens){const x=n?T(n):[];let d;e[5]!==t.selectedNrens?(d=D=>t.selectedNrens.includes(D.nren),e[5]=t.selectedNrens,e[6]=d):d=e[6],a=x.filter(d);const v=Y(a);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(D,S)=>{const _=S.strategic_plan;D[_]=_},e[7]=u):u=e[7],c=w(v,u),e[1]=n,e[2]=t.selectedNrens,e[3]=a,e[4]=c}else a=e[3],c=e[4];const g=c;let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[8]=p):p=e[8];let s;e[9]!==h?(s=h.values(),e[9]=h,e[10]=s):s=e[10];let r;e[11]!==s?(r={availableYears:p,availableNrens:[...s]},e[11]=s,e[12]=r):r=e[12];let m;e[13]!==t||e[14]!==i||e[15]!==r?(m=y.jsx(P,{filterOptions:r,filterSelection:t,setFilterSelection:i}),e[13]=t,e[14]=i,e[15]=r,e[16]=m):m=e[16];const N=m;let o;e[17]!==g?(o=y.jsx(B,{children:y.jsx(q,{data:g,columnTitle:"Corporate Strategy",noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[17]=g,e[18]=o):o=e[18];let f;return e[19]!==N||e[20]!==a||e[21]!==o?(f=y.jsx(L,{title:E["corporate-strategy"],description:`The table below contains links to the NRENs most recent corporate strategic plans. +import{c as k,r as C,F as j,j as y,t as E,S as F}from"./index-C21YiIe4.js";import{u as R,q as T,k as Y,i as w,D as L,F as P,f as B}from"./useData-DpGbPZTZ.js";import{N as q}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function J(){const e=k.c(23);let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=x=>!!x.strategic_plan,e[0]=l):l=e[0];const b=l,{filterSelection:t,setFilterSelection:i}=C.useContext(j),{data:n,nrens:h}=R("/api/policy",i,b);let a,c;if(e[1]!==n||e[2]!==t.selectedNrens){const x=n?T(n):[];let d;e[5]!==t.selectedNrens?(d=D=>t.selectedNrens.includes(D.nren),e[5]=t.selectedNrens,e[6]=d):d=e[6],a=x.filter(d);const v=Y(a);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(D,S)=>{const _=S.strategic_plan;D[_]=_},e[7]=u):u=e[7],c=w(v,u),e[1]=n,e[2]=t.selectedNrens,e[3]=a,e[4]=c}else a=e[3],c=e[4];const g=c;let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[8]=p):p=e[8];let s;e[9]!==h?(s=h.values(),e[9]=h,e[10]=s):s=e[10];let r;e[11]!==s?(r={availableYears:p,availableNrens:[...s]},e[11]=s,e[12]=r):r=e[12];let m;e[13]!==t||e[14]!==i||e[15]!==r?(m=y.jsx(P,{filterOptions:r,filterSelection:t,setFilterSelection:i}),e[13]=t,e[14]=i,e[15]=r,e[16]=m):m=e[16];const N=m;let o;e[17]!==g?(o=y.jsx(B,{children:y.jsx(q,{data:g,columnTitle:"Corporate Strategy",noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[17]=g,e[18]=o):o=e[18];let f;return e[19]!==N||e[20]!==a||e[21]!==o?(f=y.jsx(L,{title:E["corporate-strategy"],description:`The table below contains links to the NRENs most recent corporate strategic plans. NRENs are asked if updates have been made to their corporate strategy over the previous year. To avoid showing outdated links, only the most recent responses are shown.`,category:F.Policy,filter:N,data:a,filename:"nren_corporate_strategy",children:o}),e[19]=N,e[20]=a,e[21]=o,e[22]=f):f=e[22],f}export{J as default}; diff --git a/compendium_v2/static/CrisisExercises-xbYaGsrv.js b/compendium_v2/static/CrisisExercises-C85Rczen.js similarity index 87% rename from compendium_v2/static/CrisisExercises-xbYaGsrv.js rename to compendium_v2/static/CrisisExercises-C85Rczen.js index f8063052fa164f0181b857e8f5d1e18ea2e4aa0d..3332dff15eb3b4a912cf2e575c55fd66ab0d3bbc 100644 --- a/compendium_v2/static/CrisisExercises-xbYaGsrv.js +++ b/compendium_v2/static/CrisisExercises-C85Rczen.js @@ -1,2 +1,2 @@ -import{c as P,r as S,F as D,S as L,j as W,t as M}from"./index-BBqwf-sR.js";import{u as R,g as O,F as A,D as G,f as V}from"./useData-CR6GUHnJ.js";import{P as $}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function Z(){const e=P.c(51),{filterSelection:t,setFilterSelection:i}=S.useContext(D),{data:C,years:E,nrens:T}=R("/api/crisis-exercises",i);let s,w;if(e[0]!==C||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=F=>t.selectedYears.includes(F.year)&&t.selectedNrens.includes(F.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=C.filter(r),w=O(s,"exercise_descriptions"),e[0]=C,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=w}else s=e[3],w=e[4];const Y=w;let a;e[8]!==E?(a=[...E],e[8]=E,e[9]=a):a=e[9];let l;e[10]!==T?(l=T.values(),e[10]=T,e[11]=l):l=e[11];let n;e[12]!==l?(n=[...l],e[12]=l,e[13]=n):n=e[13];let o;e[14]!==a||e[15]!==n?(o={availableYears:a,availableNrens:n},e[14]=a,e[15]=n,e[16]=o):o=e[16];let v;e[17]!==t||e[18]!==i||e[19]!==o?(v=W.jsx(A,{filterOptions:o,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=o,e[20]=v):v=e[20];const k=v;let c,p,u,d,m,x,f,h,N,_,y;if(e[21]!==k||e[22]!==s){const r={geant_workshops:"We participate in GEANT Crisis workshops such as CLAW",national_excercises:"We participated in National crisis exercises ",tabletop_exercises:"We run our own tabletop exercises",simulation_excercises:"We run our own simulation exercises",other_excercises:"We have done/participated in other exercises or trainings",real_crisis:"We had a real crisis",internal_security_programme:"We run an internal security awareness programme",none:"No, we have not done any crisis exercises or trainings"};d=new Map(Object.entries(r).map(q)),u=G,N=M["crisis-exercise"],_=`Many NRENs run or participate in crisis exercises to test procedures and train employees. +import{c as P,r as S,F as D,S as L,j as W,t as M}from"./index-C21YiIe4.js";import{u as R,g as O,F as A,D as G,f as V}from"./useData-DpGbPZTZ.js";import{P as $}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function Z(){const e=P.c(51),{filterSelection:t,setFilterSelection:i}=S.useContext(D),{data:C,years:E,nrens:T}=R("/api/crisis-exercises",i);let s,w;if(e[0]!==C||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=F=>t.selectedYears.includes(F.year)&&t.selectedNrens.includes(F.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=C.filter(r),w=O(s,"exercise_descriptions"),e[0]=C,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=w}else s=e[3],w=e[4];const Y=w;let a;e[8]!==E?(a=[...E],e[8]=E,e[9]=a):a=e[9];let l;e[10]!==T?(l=T.values(),e[10]=T,e[11]=l):l=e[11];let n;e[12]!==l?(n=[...l],e[12]=l,e[13]=n):n=e[13];let o;e[14]!==a||e[15]!==n?(o={availableYears:a,availableNrens:n},e[14]=a,e[15]=n,e[16]=o):o=e[16];let v;e[17]!==t||e[18]!==i||e[19]!==o?(v=W.jsx(A,{filterOptions:o,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=o,e[20]=v):v=e[20];const k=v;let c,p,u,d,m,x,f,h,N,_,y;if(e[21]!==k||e[22]!==s){const r={geant_workshops:"We participate in GEANT Crisis workshops such as CLAW",national_excercises:"We participated in National crisis exercises ",tabletop_exercises:"We run our own tabletop exercises",simulation_excercises:"We run our own simulation exercises",other_excercises:"We have done/participated in other exercises or trainings",real_crisis:"We had a real crisis",internal_security_programme:"We run an internal security awareness programme",none:"No, we have not done any crisis exercises or trainings"};d=new Map(Object.entries(r).map(q)),u=G,N=M["crisis-exercise"],_=`Many NRENs run or participate in crisis exercises to test procedures and train employees. The table below shows whether NRENs have run or participated in an exercise in the previous year. `,y=L.Policy,m=k,x=s,f="crisis_exercise_nrens_per_year",p=V,c=$,h=Object.values(r),e[21]=k,e[22]=s,e[23]=c,e[24]=p,e[25]=u,e[26]=d,e[27]=m,e[28]=x,e[29]=f,e[30]=h,e[31]=N,e[32]=_,e[33]=y}else c=e[23],p=e[24],u=e[25],d=e[26],m=e[27],x=e[28],f=e[29],h=e[30],N=e[31],_=e[32],y=e[33];let b;e[34]!==c||e[35]!==d||e[36]!==Y||e[37]!==h?(b=W.jsx(c,{columns:h,dataLookup:Y,circle:!0,columnLookup:d}),e[34]=c,e[35]=d,e[36]=Y,e[37]=h,e[38]=b):b=e[38];let g;e[39]!==p||e[40]!==b?(g=W.jsx(p,{children:b}),e[39]=p,e[40]=b,e[41]=g):g=e[41];let j;return e[42]!==u||e[43]!==m||e[44]!==x||e[45]!==f||e[46]!==g||e[47]!==N||e[48]!==_||e[49]!==y?(j=W.jsx(u,{title:N,description:_,category:y,filter:m,data:x,filename:f,children:g}),e[42]=u,e[43]=m,e[44]=x,e[45]=f,e[46]=g,e[47]=N,e[48]=_,e[49]=y,e[50]=j):j=e[50],j}function q(e){const[t,i]=e;return[i,t]}export{Z as default}; diff --git a/compendium_v2/static/CrisisManagement-56Z2YwTx.js b/compendium_v2/static/CrisisManagement-DBVWnDHG.js similarity index 81% rename from compendium_v2/static/CrisisManagement-56Z2YwTx.js rename to compendium_v2/static/CrisisManagement-DBVWnDHG.js index 6f1123cf07458cd655cc32c5d6f4168c46888f2f..4a272ddd568df7b11783eef4a0d75c4fe24b37e1 100644 --- a/compendium_v2/static/CrisisManagement-56Z2YwTx.js +++ b/compendium_v2/static/CrisisManagement-DBVWnDHG.js @@ -1 +1 @@ -import{c as C,r as F,F as v,j as x,t as P,S as k}from"./index-BBqwf-sR.js";import{u as w,g as D,D as E,F as T,f as L}from"./useData-CR6GUHnJ.js";import{P as M}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function H(){const e=C.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.crisis_management_procedure!==null,e[0]=m):m=e[0];const S=m,{filterSelection:t,setFilterSelection:d}=F.useContext(v),{data:N,years:_,nrens:g}=w("/api/standards",d,S);let s,f;if(e[1]!==N||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&S(Y),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=N.filter(c),f=D(s,"crisis_management_procedure"),e[1]=N,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=f}else s=e[4],f=e[5];const b=f;let l,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],p=new Map([[l[0],"True"],[l[1],"False"]]),e[9]=l,e[10]=p):(l=e[9],p=e[10]);const j=p;let a;e[11]!==_?(a=[..._],e[11]=_,e[12]=a):a=e[12];let r;e[13]!==g?(r=g.values(),e[13]=g,e[14]=r):r=e[14];let i;e[15]!==r?(i=[...r],e[15]=r,e[16]=i):i=e[16];let n;e[17]!==a||e[18]!==i?(n={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=n):n=e[19];let u;e[20]!==t||e[21]!==d||e[22]!==n?(u=x.jsx(T,{filterOptions:n,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=n,e[23]=u):u=e[23];const y=u;let o;e[24]!==b?(o=x.jsx(L,{children:x.jsx(M,{columns:l,columnLookup:j,dataLookup:b})}),e[24]=b,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=x.jsx(E,{title:P["crisis-management"],description:"The table below shows whether NRENs have a formal crisis management procedure.",category:k.Policy,filter:y,data:s,filename:"crisis_management_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{H as default}; +import{c as C,r as F,F as v,j as x,t as P,S as k}from"./index-C21YiIe4.js";import{u as w,g as D,D as E,F as T,f as L}from"./useData-DpGbPZTZ.js";import{P as M}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function H(){const e=C.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.crisis_management_procedure!==null,e[0]=m):m=e[0];const S=m,{filterSelection:t,setFilterSelection:d}=F.useContext(v),{data:N,years:_,nrens:g}=w("/api/standards",d,S);let s,f;if(e[1]!==N||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&S(Y),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=N.filter(c),f=D(s,"crisis_management_procedure"),e[1]=N,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=f}else s=e[4],f=e[5];const b=f;let l,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],p=new Map([[l[0],"True"],[l[1],"False"]]),e[9]=l,e[10]=p):(l=e[9],p=e[10]);const j=p;let a;e[11]!==_?(a=[..._],e[11]=_,e[12]=a):a=e[12];let r;e[13]!==g?(r=g.values(),e[13]=g,e[14]=r):r=e[14];let i;e[15]!==r?(i=[...r],e[15]=r,e[16]=i):i=e[16];let n;e[17]!==a||e[18]!==i?(n={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=n):n=e[19];let u;e[20]!==t||e[21]!==d||e[22]!==n?(u=x.jsx(T,{filterOptions:n,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=n,e[23]=u):u=e[23];const y=u;let o;e[24]!==b?(o=x.jsx(L,{children:x.jsx(M,{columns:l,columnLookup:j,dataLookup:b})}),e[24]=b,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=x.jsx(E,{title:P["crisis-management"],description:"The table below shows whether NRENs have a formal crisis management procedure.",category:k.Policy,filter:y,data:s,filename:"crisis_management_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{H as default}; diff --git a/compendium_v2/static/DarkFibreInstalled-Dz0FBRNU.js b/compendium_v2/static/DarkFibreInstalled-Dh0ss9Ok.js similarity index 82% rename from compendium_v2/static/DarkFibreInstalled-Dz0FBRNU.js rename to compendium_v2/static/DarkFibreInstalled-Dh0ss9Ok.js index 02a8a9fc8a6fd6eab6a1795b7dd3e95d56560860..14f0a43a357bbd98b1e5221c1e3185ff99615844 100644 --- a/compendium_v2/static/DarkFibreInstalled-Dz0FBRNU.js +++ b/compendium_v2/static/DarkFibreInstalled-Dh0ss9Ok.js @@ -1 +1 @@ -import{c as N,r as j,F as D,j as n,t as F,S as L}from"./index-BBqwf-sR.js";import{L as w}from"./index-BsZyajo4.js";import{C as E,a as v,L as P,P as R,b as I,p as K,c as O,d as T,u as U,e as Y,D as $,F as q,f as z}from"./useData-CR6GUHnJ.js";import{g as A}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";E.register(v,P,R,I,K,O,T);function X(){const e=N.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.fibre_length_in_country!=null,e[0]=o):o=e[0];const k=o,{filterSelection:t,setFilterSelection:c}=j.useContext(D),{data:u,nrens:_}=U("/api/dark-fibre-installed",c,k);let i,f;if(e[1]!==u||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=y=>t.selectedNrens.includes(y.nren)&&k(y),e[5]=t.selectedNrens,e[6]=r):r=e[6],i=u.filter(r),f=Y(i,"fibre_length_in_country"),e[1]=u,e[2]=t.selectedNrens,e[3]=i,e[4]=f}else i=e[3],f=e[4];const g=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let l;e[10]!==s?(l={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=l):l=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==l?(d=n.jsx(q,{filterOptions:l,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=l,e[15]=d):d=e[15];const x=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Kilometres of Installed Dark Fibre",tooltipUnit:"km",unit:"km"}),e[16]=p):p=e[16];const S=p;let h;e[17]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("span",{children:"This graph shows the number of Kilometres of dark fibre installed by NRENs within their own countries, which they own themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."}),e[17]=h):h=e[17];const C=h;let a;e[18]!==g?(a=n.jsx(z,{children:n.jsx(w,{data:g,options:S})}),e[18]=g,e[19]=a):a=e[19];let b;return e[20]!==x||e[21]!==i||e[22]!==a?(b=n.jsx($,{title:F["dark-fibre-installed"],description:C,category:L.Network,filter:x,data:i,filename:"dark_fibre_lease_installed",children:a}),e[20]=x,e[21]=i,e[22]=a,e[23]=b):b=e[23],b}export{X as default}; +import{c as N,r as j,F as D,j as n,t as F,S as L}from"./index-C21YiIe4.js";import{L as w}from"./index-X7mNNoWD.js";import{C as E,a as v,L as P,P as R,b as I,p as K,c as O,d as T,u as U,e as Y,D as $,F as q,f as z}from"./useData-DpGbPZTZ.js";import{g as A}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";E.register(v,P,R,I,K,O,T);function X(){const e=N.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.fibre_length_in_country!=null,e[0]=o):o=e[0];const k=o,{filterSelection:t,setFilterSelection:c}=j.useContext(D),{data:u,nrens:_}=U("/api/dark-fibre-installed",c,k);let i,f;if(e[1]!==u||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=y=>t.selectedNrens.includes(y.nren)&&k(y),e[5]=t.selectedNrens,e[6]=r):r=e[6],i=u.filter(r),f=Y(i,"fibre_length_in_country"),e[1]=u,e[2]=t.selectedNrens,e[3]=i,e[4]=f}else i=e[3],f=e[4];const g=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let l;e[10]!==s?(l={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=l):l=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==l?(d=n.jsx(q,{filterOptions:l,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=l,e[15]=d):d=e[15];const x=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Kilometres of Installed Dark Fibre",tooltipUnit:"km",unit:"km"}),e[16]=p):p=e[16];const S=p;let h;e[17]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("span",{children:"This graph shows the number of Kilometres of dark fibre installed by NRENs within their own countries, which they own themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."}),e[17]=h):h=e[17];const C=h;let a;e[18]!==g?(a=n.jsx(z,{children:n.jsx(w,{data:g,options:S})}),e[18]=g,e[19]=a):a=e[19];let b;return e[20]!==x||e[21]!==i||e[22]!==a?(b=n.jsx($,{title:F["dark-fibre-installed"],description:C,category:L.Network,filter:x,data:i,filename:"dark_fibre_lease_installed",children:a}),e[20]=x,e[21]=i,e[22]=a,e[23]=b):b=e[23],b}export{X as default}; diff --git a/compendium_v2/static/DarkFibreLease-cn3v1y2M.js b/compendium_v2/static/DarkFibreLease-Ck5R0dcY.js similarity index 85% rename from compendium_v2/static/DarkFibreLease-cn3v1y2M.js rename to compendium_v2/static/DarkFibreLease-Ck5R0dcY.js index 09bfb09916fc4de03ce4fa2154c3f7e3ea01fa2f..d4c0b8cb75642b7a032ec0234e15ee5a2179b522 100644 --- a/compendium_v2/static/DarkFibreLease-cn3v1y2M.js +++ b/compendium_v2/static/DarkFibreLease-Ck5R0dcY.js @@ -1 +1 @@ -import{c as w,r as R,F as P,j as c,S as I,t as D}from"./index-BBqwf-sR.js";import{L as U}from"./index-BsZyajo4.js";import{C as K,a as O,L as T,P as $,b as A,p as Y,c as q,d as z,u as B,e as G,D as H,F as J,f as M}from"./useData-CR6GUHnJ.js";import{g as Q}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";K.register(O,T,$,A,Y,q,z);function ae(E){const e=w.c(32),{national:f}=E,s=f?"fibre_length_in_country":"fibre_length_outside_country";let d;e[0]!==s?(d=o=>o[s]!=null,e[0]=s,e[1]=d):d=e[1];const a=d,{filterSelection:t,setFilterSelection:m}=R.useContext(P),{data:k,nrens:x}=B("/api/dark-fibre-lease",m,a);let i,p;if(e[2]!==k||e[3]!==s||e[4]!==t.selectedNrens||e[5]!==a){let o;e[8]!==t.selectedNrens||e[9]!==a?(o=j=>t.selectedNrens.includes(j.nren)&&a(j),e[8]=t.selectedNrens,e[9]=a,e[10]=o):o=e[10],i=k.filter(o),p=G(i,s),e[2]=k,e[3]=s,e[4]=t.selectedNrens,e[5]=a,e[6]=i,e[7]=p}else i=e[6],p=e[7];const N=p;let h;e[11]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[11]=h):h=e[11];let l;e[12]!==x?(l=x.values(),e[12]=x,e[13]=l):l=e[13];let r;e[14]!==l?(r={availableYears:h,availableNrens:[...l]},e[14]=l,e[15]=r):r=e[15];let b;e[16]!==t||e[17]!==m||e[18]!==r?(b=c.jsx(J,{filterOptions:r,filterSelection:t,setFilterSelection:m}),e[16]=t,e[17]=m,e[18]=r,e[19]=b):b=e[19];const y=b;let u;e[20]===Symbol.for("react.memo_cache_sentinel")?(u=Q({title:"Kilometres of Leased Dark Fibre",tooltipUnit:"km",unit:"km"}),e[20]=u):u=e[20];const F=u,C=f?"within":"outside";let g;e[21]!==C?(g=c.jsxs("span",{children:["This graph shows the number of Kilometres of dark fibre leased by NRENs ",C," their own countries. Also included is fibre leased via an IRU (Indefeasible Right of Use), a type of long-term lease of a portion of the capacity of a cable. It does not however, include fibre NRENs have installed, and own, themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."]}),e[21]=C,e[22]=g):g=e[22];const L=g,S=f?D["dark-fibre-lease"]:D["dark-fibre-lease-international"],v=`dark_fibre_lease_${f?"national":"international"}`;let n;e[23]!==N?(n=c.jsx(M,{children:c.jsx(U,{data:N,options:F})}),e[23]=N,e[24]=n):n=e[24];let _;return e[25]!==L||e[26]!==y||e[27]!==i||e[28]!==S||e[29]!==v||e[30]!==n?(_=c.jsx(H,{title:S,description:L,category:I.Network,filter:y,data:i,filename:v,children:n}),e[25]=L,e[26]=y,e[27]=i,e[28]=S,e[29]=v,e[30]=n,e[31]=_):_=e[31],_}export{ae as default}; +import{c as w,r as R,F as P,j as c,S as I,t as D}from"./index-C21YiIe4.js";import{L as U}from"./index-X7mNNoWD.js";import{C as K,a as O,L as T,P as $,b as A,p as Y,c as q,d as z,u as B,e as G,D as H,F as J,f as M}from"./useData-DpGbPZTZ.js";import{g as Q}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";K.register(O,T,$,A,Y,q,z);function ae(E){const e=w.c(32),{national:f}=E,s=f?"fibre_length_in_country":"fibre_length_outside_country";let d;e[0]!==s?(d=o=>o[s]!=null,e[0]=s,e[1]=d):d=e[1];const a=d,{filterSelection:t,setFilterSelection:m}=R.useContext(P),{data:k,nrens:x}=B("/api/dark-fibre-lease",m,a);let i,p;if(e[2]!==k||e[3]!==s||e[4]!==t.selectedNrens||e[5]!==a){let o;e[8]!==t.selectedNrens||e[9]!==a?(o=j=>t.selectedNrens.includes(j.nren)&&a(j),e[8]=t.selectedNrens,e[9]=a,e[10]=o):o=e[10],i=k.filter(o),p=G(i,s),e[2]=k,e[3]=s,e[4]=t.selectedNrens,e[5]=a,e[6]=i,e[7]=p}else i=e[6],p=e[7];const N=p;let h;e[11]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[11]=h):h=e[11];let l;e[12]!==x?(l=x.values(),e[12]=x,e[13]=l):l=e[13];let r;e[14]!==l?(r={availableYears:h,availableNrens:[...l]},e[14]=l,e[15]=r):r=e[15];let b;e[16]!==t||e[17]!==m||e[18]!==r?(b=c.jsx(J,{filterOptions:r,filterSelection:t,setFilterSelection:m}),e[16]=t,e[17]=m,e[18]=r,e[19]=b):b=e[19];const y=b;let u;e[20]===Symbol.for("react.memo_cache_sentinel")?(u=Q({title:"Kilometres of Leased Dark Fibre",tooltipUnit:"km",unit:"km"}),e[20]=u):u=e[20];const F=u,C=f?"within":"outside";let g;e[21]!==C?(g=c.jsxs("span",{children:["This graph shows the number of Kilometres of dark fibre leased by NRENs ",C," their own countries. Also included is fibre leased via an IRU (Indefeasible Right of Use), a type of long-term lease of a portion of the capacity of a cable. It does not however, include fibre NRENs have installed, and own, themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."]}),e[21]=C,e[22]=g):g=e[22];const L=g,S=f?D["dark-fibre-lease"]:D["dark-fibre-lease-international"],v=`dark_fibre_lease_${f?"national":"international"}`;let n;e[23]!==N?(n=c.jsx(M,{children:c.jsx(U,{data:N,options:F})}),e[23]=N,e[24]=n):n=e[24];let _;return e[25]!==L||e[26]!==y||e[27]!==i||e[28]!==S||e[29]!==v||e[30]!==n?(_=c.jsx(H,{title:S,description:L,category:I.Network,filter:y,data:i,filename:v,children:n}),e[25]=L,e[26]=y,e[27]=i,e[28]=S,e[29]=v,e[30]=n,e[31]=_):_=e[31],_}export{ae as default}; diff --git a/compendium_v2/static/ECProjects-D8UUvws2.js b/compendium_v2/static/ECProjects-CH8H8hIs.js similarity index 81% rename from compendium_v2/static/ECProjects-D8UUvws2.js rename to compendium_v2/static/ECProjects-CH8H8hIs.js index ab65d8a6277d28fcd87f3417add2f33aa9010355..59eed055d2550b0235e46f50f7da9c8b41177e8b 100644 --- a/compendium_v2/static/ECProjects-D8UUvws2.js +++ b/compendium_v2/static/ECProjects-CH8H8hIs.js @@ -1 +1 @@ -import{c as v,r as Y,F as y,j as u,S as C}from"./index-BBqwf-sR.js";import{u as D,h as T,i as _,D as g,F,f as P}from"./useData-CR6GUHnJ.js";import{N as R}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function $(){const e=v.c(27),{filterSelection:t,setFilterSelection:s}=Y.useContext(y),{data:a,years:j,nrens:N}=D("/api/ec-project",s);let r,d;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==a){let f;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(f=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=f):f=e[7],r=a.filter(f);const E=T(r);d=_(E,S),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=a,e[3]=r,e[4]=d}else r=e[3],d=e[4];const b=d;let o;e[8]!==j?(o=[...j],e[8]=j,e[9]=o):o=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==o||e[15]!==n?(l={availableYears:o,availableNrens:n},e[14]=o,e[15]=n,e[16]=l):l=e[16];let p;e[17]!==t||e[18]!==s||e[19]!==l?(p=u.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=p):p=e[20];const h=p;let c;e[21]!==b?(c=u.jsx(P,{children:u.jsx(R,{data:b,columnTitle:"EC Project Membership",dottedBorder:!0})}),e[21]=b,e[22]=c):c=e[22];let m;return e[23]!==h||e[24]!==r||e[25]!==c?(m=u.jsx(g,{title:"NREN Involvement in European Commission Projects",description:"Many NRENs are involved in a number of different European Commission project, besides GÉANT. The list of projects in the table below is not necessarily exhaustive, but does contain projects the NRENs consider important or worthy of mention.",category:C.Organisation,filter:h,data:r,filename:"nren_involvement_in_european_commission_projects",children:c}),e[23]=h,e[24]=r,e[25]=c,e[26]=m):m=e[26],m}function S(e,t){const s=t.map(O).sort();s.length&&s.forEach(a=>{e[a]=a})}function O(e){return e.project}export{$ as default}; +import{c as v,r as Y,F as y,j as u,S as C}from"./index-C21YiIe4.js";import{u as D,h as T,i as _,D as g,F,f as P}from"./useData-DpGbPZTZ.js";import{N as R}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function $(){const e=v.c(27),{filterSelection:t,setFilterSelection:s}=Y.useContext(y),{data:a,years:j,nrens:N}=D("/api/ec-project",s);let r,d;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==a){let f;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(f=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=f):f=e[7],r=a.filter(f);const E=T(r);d=_(E,S),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=a,e[3]=r,e[4]=d}else r=e[3],d=e[4];const b=d;let o;e[8]!==j?(o=[...j],e[8]=j,e[9]=o):o=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==o||e[15]!==n?(l={availableYears:o,availableNrens:n},e[14]=o,e[15]=n,e[16]=l):l=e[16];let p;e[17]!==t||e[18]!==s||e[19]!==l?(p=u.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=p):p=e[20];const h=p;let c;e[21]!==b?(c=u.jsx(P,{children:u.jsx(R,{data:b,columnTitle:"EC Project Membership",dottedBorder:!0})}),e[21]=b,e[22]=c):c=e[22];let m;return e[23]!==h||e[24]!==r||e[25]!==c?(m=u.jsx(g,{title:"NREN Involvement in European Commission Projects",description:"Many NRENs are involved in a number of different European Commission project, besides GÉANT. The list of projects in the table below is not necessarily exhaustive, but does contain projects the NRENs consider important or worthy of mention.",category:C.Organisation,filter:h,data:r,filename:"nren_involvement_in_european_commission_projects",children:c}),e[23]=h,e[24]=r,e[25]=c,e[26]=m):m=e[26],m}function S(e,t){const s=t.map(O).sort();s.length&&s.forEach(a=>{e[a]=a})}function O(e){return e.project}export{$ as default}; diff --git a/compendium_v2/static/EOSCListings-sOTW_FmU.js b/compendium_v2/static/EOSCListings-DU0cXeMj.js similarity index 81% rename from compendium_v2/static/EOSCListings-sOTW_FmU.js rename to compendium_v2/static/EOSCListings-DU0cXeMj.js index d4037503381583f18b8ff21c515e0dc9caca55a6..fc9dd0c8938de7872229bb6ffdb07df221412efc 100644 --- a/compendium_v2/static/EOSCListings-sOTW_FmU.js +++ b/compendium_v2/static/EOSCListings-DU0cXeMj.js @@ -1 +1 @@ -import{c as Y,r as j,F as C,j as f,t as D,S as E}from"./index-BBqwf-sR.js";import{u as _,h as F,i as R,D as L,F as k,f as O}from"./useData-CR6GUHnJ.js";import{N as P}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function H(){const e=Y.c(28),{filterSelection:t,setFilterSelection:l}=j.useContext(C),{data:a,years:N,nrens:x}=_("/api/eosc-listings",l);let s,d;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let h;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(h=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=h):h=e[7],s=a.filter(h);const y=F(s);d=R(y,T),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=d}else s=e[3],d=e[4];const S=d;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let r;e[10]!==x?(r=x.values(),e[10]=x,e[11]=r):r=e[11];let o;e[12]!==r?(o=[...r],e[12]=r,e[13]=o):o=e[13];let n;e[14]!==i||e[15]!==o?(n={availableYears:i,availableNrens:o},e[14]=i,e[15]=o,e[16]=n):n=e[16];let m;e[17]!==t||e[18]!==l||e[19]!==n?(m=f.jsx(k,{filterOptions:n,filterSelection:t,setFilterSelection:l}),e[17]=t,e[18]=l,e[19]=n,e[20]=m):m=e[20];const g=m;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=f.jsx("span",{children:"Some NRENs choose to list services on the EOSC portal, these can be seen in the table below. Click on the name of the NREN to expand the detail and see the names of the services they list."}),e[21]=p):p=e[21];const v=p;let c;e[22]!==S?(c=f.jsx(O,{children:f.jsx(P,{data:S,columnTitle:"Service Name",dottedBorder:!0,keysAreURLs:!0,noDots:!0})}),e[22]=S,e[23]=c):c=e[23];let u;return e[24]!==g||e[25]!==s||e[26]!==c?(u=f.jsx(L,{title:D.eosc_listings,description:v,category:E.Policy,filter:g,data:s,filename:"nren_eosc_listings",children:c}),e[24]=g,e[25]=s,e[26]=c,e[27]=u):u=e[27],u}function T(e,t){for(const l of t)for(const a of l.service_names)e[a]=a}export{H as default}; +import{c as Y,r as j,F as C,j as f,t as D,S as E}from"./index-C21YiIe4.js";import{u as _,h as F,i as R,D as L,F as k,f as O}from"./useData-DpGbPZTZ.js";import{N as P}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function H(){const e=Y.c(28),{filterSelection:t,setFilterSelection:l}=j.useContext(C),{data:a,years:N,nrens:x}=_("/api/eosc-listings",l);let s,d;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let h;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(h=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=h):h=e[7],s=a.filter(h);const y=F(s);d=R(y,T),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=d}else s=e[3],d=e[4];const S=d;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let r;e[10]!==x?(r=x.values(),e[10]=x,e[11]=r):r=e[11];let o;e[12]!==r?(o=[...r],e[12]=r,e[13]=o):o=e[13];let n;e[14]!==i||e[15]!==o?(n={availableYears:i,availableNrens:o},e[14]=i,e[15]=o,e[16]=n):n=e[16];let m;e[17]!==t||e[18]!==l||e[19]!==n?(m=f.jsx(k,{filterOptions:n,filterSelection:t,setFilterSelection:l}),e[17]=t,e[18]=l,e[19]=n,e[20]=m):m=e[20];const g=m;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=f.jsx("span",{children:"Some NRENs choose to list services on the EOSC portal, these can be seen in the table below. Click on the name of the NREN to expand the detail and see the names of the services they list."}),e[21]=p):p=e[21];const v=p;let c;e[22]!==S?(c=f.jsx(O,{children:f.jsx(P,{data:S,columnTitle:"Service Name",dottedBorder:!0,keysAreURLs:!0,noDots:!0})}),e[22]=S,e[23]=c):c=e[23];let u;return e[24]!==g||e[25]!==s||e[26]!==c?(u=f.jsx(L,{title:D.eosc_listings,description:v,category:E.Policy,filter:g,data:s,filename:"nren_eosc_listings",children:c}),e[24]=g,e[25]=s,e[26]=c,e[27]=u):u=e[27],u}function T(e,t){for(const l of t)for(const a of l.service_names)e[a]=a}export{H as default}; diff --git a/compendium_v2/static/ExternalConnections-BHYy-1Tx.js b/compendium_v2/static/ExternalConnections-DLH-LdPe.js similarity index 93% rename from compendium_v2/static/ExternalConnections-BHYy-1Tx.js rename to compendium_v2/static/ExternalConnections-DLH-LdPe.js index 92be19b93cdd66700d86d142048bb725a60ae684..2a790c7a03818b76b7f630b44ef5f20f6d0cc780 100644 --- a/compendium_v2/static/ExternalConnections-BHYy-1Tx.js +++ b/compendium_v2/static/ExternalConnections-DLH-LdPe.js @@ -1 +1 @@ -import{c as _,j as r,e as C,r as S,F as E,t as w,S as D}from"./index-BBqwf-sR.js";import{u as F,h as T,D as Y,F as R,f as L}from"./useData-CR6GUHnJ.js";import{T as O}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function $(e){const t=_.c(8),{dataLookup:l,columnInfo:a}=e;if(!l){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:"matrix-border-round"}),t[0]=s):s=t[0],s}let d;if(t[1]!==a||t[2]!==l){let s;t[4]!==a?(s=j=>{const[i,h]=j;return r.jsx(C,{title:i,theme:"-table",startCollapsed:!0,children:r.jsx("div",{className:"scrollable-horizontal",children:Array.from(h.entries()).map(m=>{const[o,b]=m,x={"--before-color":`var(--color-of-the-year-muted-${o%9})`};return r.jsxs("div",{children:[r.jsx("span",{className:`scrollable-table-year color-of-the-year-${o%9} bold-caps-16pt pt-3 ps-3`,style:x,children:o}),r.jsx("div",{className:`colored-table bg-muted-color-of-the-year-${o%9}`,children:r.jsxs(O,{children:[r.jsx("thead",{children:r.jsx("tr",{children:Object.keys(a).map(c=>r.jsx("th",{style:{position:"relative"},children:r.jsx("span",{style:x,children:c})},c))})}),r.jsx("tbody",{children:b.map((c,k)=>r.jsx("tr",{children:Object.entries(a).map(u=>{const[g,f]=u,y=c[f];return r.jsx("td",{children:y},g)})},k))})]})})]},o)})})},i)},t[4]=a,t[5]=s):s=t[5],d=Array.from(l.entries()).map(s),t[1]=a,t[2]=l,t[3]=d}else d=t[3];const p=d;let n;return t[6]!==p?(n=r.jsx("div",{className:"matrix-border-round",children:p}),t[6]=p,t[7]=n):n=t[7],n}function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:l}=S.useContext(E),{data:a,years:d,nrens:p}=F("/api/external-connections",l);let n,s;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let N;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(N=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=N):N=e[7],n=a.filter(N),s=T([...n]),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=n,e[4]=s}else n=e[3],s=e[4];const j=s;let i;e[8]!==d?(i=[...d],e[8]=d,e[9]=i):i=e[9];let h;e[10]!==p?(h=p.values(),e[10]=p,e[11]=h):h=e[11];let m;e[12]!==h?(m=[...h],e[12]=h,e[13]=m):m=e[13];let o;e[14]!==i||e[15]!==m?(o={availableYears:i,availableNrens:m},e[14]=i,e[15]=m,e[16]=o):o=e[16];let b;e[17]!==t||e[18]!==l||e[19]!==o?(b=r.jsx(R,{filterOptions:o,filterSelection:t,setFilterSelection:l,coloredYears:!0}),e[17]=t,e[18]=l,e[19]=o,e[20]=b):b=e[20];const x=b;let c;e[21]===Symbol.for("react.memo_cache_sentinel")?(c={"Link Name":"link_name","Capacity (Gbit/s)":"capacity","From Organisation":"from_organization","To Organisation":"to_organization","Interconnection Method":"interconnection_method"},e[21]=c):c=e[21];const k=c;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"The table below shows the operational external IP connections of each NREN. These include links to their regional backbone (ie. GÉANT), to other research locations, to the commercial internet, peerings to internet exchanges, cross-border dark fibre links, and any other links they may have."}),r.jsx("p",{children:"NRENs are asked to state the capacity for production purposes, not any additional link that may be there solely for the purpose of giving resilience. Cross-border fibre links are meant as those links which have been commissioned or established by the NREN from a point on their network, which is near the border to another point near the border on the network of a neighbouring NREN."})]}),e[22]=u):u=e[22];const g=u;let f;e[23]!==j?(f=r.jsx(L,{children:r.jsx($,{dataLookup:j,columnInfo:k})}),e[23]=j,e[24]=f):f=e[24];let y;return e[25]!==x||e[26]!==n||e[27]!==f?(y=r.jsx(Y,{title:w["external-connections"],description:g,category:D.Network,filter:x,data:n,filename:"nren_external_connections",children:f}),e[25]=x,e[26]=n,e[27]=f,e[28]=y):y=e[28],y}export{q as default}; +import{c as _,j as r,e as C,r as S,F as E,t as w,S as D}from"./index-C21YiIe4.js";import{u as F,h as T,D as Y,F as R,f as L}from"./useData-DpGbPZTZ.js";import{T as O}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function $(e){const t=_.c(8),{dataLookup:l,columnInfo:a}=e;if(!l){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:"matrix-border-round"}),t[0]=s):s=t[0],s}let d;if(t[1]!==a||t[2]!==l){let s;t[4]!==a?(s=j=>{const[i,h]=j;return r.jsx(C,{title:i,theme:"-table",startCollapsed:!0,children:r.jsx("div",{className:"scrollable-horizontal",children:Array.from(h.entries()).map(m=>{const[o,b]=m,x={"--before-color":`var(--color-of-the-year-muted-${o%9})`};return r.jsxs("div",{children:[r.jsx("span",{className:`scrollable-table-year color-of-the-year-${o%9} bold-caps-16pt pt-3 ps-3`,style:x,children:o}),r.jsx("div",{className:`colored-table bg-muted-color-of-the-year-${o%9}`,children:r.jsxs(O,{children:[r.jsx("thead",{children:r.jsx("tr",{children:Object.keys(a).map(c=>r.jsx("th",{style:{position:"relative"},children:r.jsx("span",{style:x,children:c})},c))})}),r.jsx("tbody",{children:b.map((c,k)=>r.jsx("tr",{children:Object.entries(a).map(u=>{const[g,f]=u,y=c[f];return r.jsx("td",{children:y},g)})},k))})]})})]},o)})})},i)},t[4]=a,t[5]=s):s=t[5],d=Array.from(l.entries()).map(s),t[1]=a,t[2]=l,t[3]=d}else d=t[3];const p=d;let n;return t[6]!==p?(n=r.jsx("div",{className:"matrix-border-round",children:p}),t[6]=p,t[7]=n):n=t[7],n}function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:l}=S.useContext(E),{data:a,years:d,nrens:p}=F("/api/external-connections",l);let n,s;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let N;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(N=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=N):N=e[7],n=a.filter(N),s=T([...n]),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=n,e[4]=s}else n=e[3],s=e[4];const j=s;let i;e[8]!==d?(i=[...d],e[8]=d,e[9]=i):i=e[9];let h;e[10]!==p?(h=p.values(),e[10]=p,e[11]=h):h=e[11];let m;e[12]!==h?(m=[...h],e[12]=h,e[13]=m):m=e[13];let o;e[14]!==i||e[15]!==m?(o={availableYears:i,availableNrens:m},e[14]=i,e[15]=m,e[16]=o):o=e[16];let b;e[17]!==t||e[18]!==l||e[19]!==o?(b=r.jsx(R,{filterOptions:o,filterSelection:t,setFilterSelection:l,coloredYears:!0}),e[17]=t,e[18]=l,e[19]=o,e[20]=b):b=e[20];const x=b;let c;e[21]===Symbol.for("react.memo_cache_sentinel")?(c={"Link Name":"link_name","Capacity (Gbit/s)":"capacity","From Organisation":"from_organization","To Organisation":"to_organization","Interconnection Method":"interconnection_method"},e[21]=c):c=e[21];const k=c;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"The table below shows the operational external IP connections of each NREN. These include links to their regional backbone (ie. GÉANT), to other research locations, to the commercial internet, peerings to internet exchanges, cross-border dark fibre links, and any other links they may have."}),r.jsx("p",{children:"NRENs are asked to state the capacity for production purposes, not any additional link that may be there solely for the purpose of giving resilience. Cross-border fibre links are meant as those links which have been commissioned or established by the NREN from a point on their network, which is near the border to another point near the border on the network of a neighbouring NREN."})]}),e[22]=u):u=e[22];const g=u;let f;e[23]!==j?(f=r.jsx(L,{children:r.jsx($,{dataLookup:j,columnInfo:k})}),e[23]=j,e[24]=f):f=e[24];let y;return e[25]!==x||e[26]!==n||e[27]!==f?(y=r.jsx(Y,{title:w["external-connections"],description:g,category:D.Network,filter:x,data:n,filename:"nren_external_connections",children:f}),e[25]=x,e[26]=n,e[27]=f,e[28]=y):y=e[28],y}export{q as default}; diff --git a/compendium_v2/static/FibreLight-6pn3GQQo.js b/compendium_v2/static/FibreLight-D4SohCzu.js similarity index 82% rename from compendium_v2/static/FibreLight-6pn3GQQo.js rename to compendium_v2/static/FibreLight-D4SohCzu.js index ebabe27597956679f71d26d4486a94a2cf2f1abc..6ac35c747a99d2044792f1fb1a55c29341ad222e 100644 --- a/compendium_v2/static/FibreLight-6pn3GQQo.js +++ b/compendium_v2/static/FibreLight-D4SohCzu.js @@ -1,2 +1,2 @@ -import{c as Y,r as j,F as k,j as h,t as v,S as E}from"./index-BBqwf-sR.js";import{u as F,g as S,D as R,F as C,f as D}from"./useData-CR6GUHnJ.js";import{P as L}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function B(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(k),{data:_,years:N,nrens:g}=F("/api/fibre-light",c);let s,p;if(e[0]!==_||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=_.filter(m),p=S(s,"light_description"),e[0]=_,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let o;e[10]!==g?(o=g.values(),e[10]=g,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let l;e[14]!==i||e[15]!==n?(l={availableYears:i,availableNrens:n},e[14]=i,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==c||e[19]!==l?(d=h.jsx(C,{filterOptions:l,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=l,e[20]=d):d=e[20];const x=d;let r,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(r=["NREN owns and operates equipment","NREN owns equipment and operation is outsourced","Ownership and management are out-sourced (turn-key model)"],f=new Map([[r[0],"nren_owns_and_operates"],[r[1],"nren_owns_outsourced_operation"],[r[2],"outsourced_ownership_and_operation"]]),e[21]=r,e[22]=f):(r=e[21],f=e[22]);const y=f;let a;e[23]!==w?(a=h.jsx(D,{children:h.jsx(L,{columns:r,dataLookup:w,columnLookup:y,circle:!0})}),e[23]=w,e[24]=a):a=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==a?(u=h.jsx(R,{title:v["fibre-light"],description:`This graphic shows the different ways NRENs can light their fibre networks. +import{c as Y,r as j,F as k,j as h,t as v,S as E}from"./index-C21YiIe4.js";import{u as F,g as S,D as R,F as C,f as D}from"./useData-DpGbPZTZ.js";import{P as L}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function B(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(k),{data:_,years:N,nrens:g}=F("/api/fibre-light",c);let s,p;if(e[0]!==_||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=_.filter(m),p=S(s,"light_description"),e[0]=_,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let o;e[10]!==g?(o=g.values(),e[10]=g,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let l;e[14]!==i||e[15]!==n?(l={availableYears:i,availableNrens:n},e[14]=i,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==c||e[19]!==l?(d=h.jsx(C,{filterOptions:l,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=l,e[20]=d):d=e[20];const x=d;let r,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(r=["NREN owns and operates equipment","NREN owns equipment and operation is outsourced","Ownership and management are out-sourced (turn-key model)"],f=new Map([[r[0],"nren_owns_and_operates"],[r[1],"nren_owns_outsourced_operation"],[r[2],"outsourced_ownership_and_operation"]]),e[21]=r,e[22]=f):(r=e[21],f=e[22]);const y=f;let a;e[23]!==w?(a=h.jsx(D,{children:h.jsx(L,{columns:r,dataLookup:w,columnLookup:y,circle:!0})}),e[23]=w,e[24]=a):a=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==a?(u=h.jsx(R,{title:v["fibre-light"],description:`This graphic shows the different ways NRENs can light their fibre networks. The option 'Other' is given, with extra information if you hover over the icon.`,category:E.Network,filter:x,data:s,filename:"fibre_light_of_nrens_per_year",children:a}),e[25]=x,e[26]=s,e[27]=a,e[28]=u):u=e[28],u}export{B as default}; diff --git a/compendium_v2/static/FundingSource-Oc3V01jg.js b/compendium_v2/static/FundingSource-CXm98sc6.js similarity index 94% rename from compendium_v2/static/FundingSource-Oc3V01jg.js rename to compendium_v2/static/FundingSource-CXm98sc6.js index baa9182470cdad47e714940d7764e5f5f9c80a1e..34da88f759f93e9dcc4f1e9455cad9a13c011915 100644 --- a/compendium_v2/static/FundingSource-Oc3V01jg.js +++ b/compendium_v2/static/FundingSource-CXm98sc6.js @@ -1 +1 @@ -import{c as D,j as s,r as P,F as z,t as G,S as M,C as y,R as T}from"./index-BBqwf-sR.js";import{B as H}from"./index-BsZyajo4.js";import{C as N,a as W,L as q,B as J,p as K,c as Q,d as U,u as V,j as X,D as Z,F as I,f as ee}from"./useData-CR6GUHnJ.js";import{p as te}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function j(e){const t=D.c(6),{index:i,active:l}=e,n=l===void 0?!0:l;let a;t[0]!==n||t[1]!==i?(a=n?s.jsx("div",{className:`color-of-badge-${i%5}`,style:{width:"20px",height:"35px",margin:"2px"}}):s.jsx("div",{className:"color-of-badge-blank",style:{width:"15px",height:"30px",margin:"2px"}}),t[0]=n,t[1]=i,t[2]=a):a=t[2];let r;return t[3]!==i||t[4]!==a?(r=s.jsx("div",{className:"d-inline-block m-2",children:a},i),t[3]=i,t[4]=a,t[5]=r):r=t[5],r}N.register(W,q,J,K,Q,U);const se={maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.y!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0},xBottom:{ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0,grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(N.instances);let i=-999999,l=999999;for(const n of t)N.instances[n]&&e.chart.scales.xBottom&&(l=Math.min(N.instances[n].scales.x.min,l),i=Math.max(N.instances[n].scales.x.max,i));e.chart.scales.xBottom.options.min=l,e.chart.scales.xBottom.options.max=i,e.chart.scales.xBottom.min=l,e.chart.scales.xBottom.max=i}},y:{ticks:{autoSkip:!1}}},indexAxis:"y"};function $(){const e=D.c(5);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:0},0),"Client Institutions"]}),e[0]=t):t=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:1},1),"Commercial"]}),e[1]=i):i=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:2},2),"European Funding"]}),e[2]=l):l=e[2];let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:3},3),"Gov/Public Bodies"]}),e[3]=n):n=e[3];let a;return e[4]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"d-flex justify-content-center bold-grey-12pt",children:s.jsxs(T,{xs:"auto",className:"border rounded-3 border-1 my-5 justify-content-center",children:[t,i,l,n,s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:4},4),"Other"]})]})}),e[4]=a):a=e[4],a}function ue(){const e=D.c(44),{filterSelection:t,setFilterSelection:i}=P.useContext(z),{data:l,years:n,nrens:a}=V("/api/funding",i);let r,c,o,_;if(e[0]!==t||e[1]!==l||e[2]!==a||e[3]!==i||e[4]!==n){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=m=>t.selectedYears.includes(m.year)&&t.selectedNrens.includes(m.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],o=l.filter(E),c=X(o),c.datasets.forEach(m=>{m.data=m.data.filter((ne,L)=>t.selectedNrens.includes(c.labels[L]))});let k;e[12]!==t.selectedNrens?(k=m=>t.selectedNrens.includes(m),e[12]=t.selectedNrens,e[13]=k):k=e[13],c.labels=c.labels.filter(k);let x;e[14]!==n?(x=[...n],e[14]=n,e[15]=x):x=e[15];let p;e[16]!==a?(p=a.values(),e[16]=a,e[17]=p):p=e[17];let g;e[18]!==p?(g=[...p],e[18]=p,e[19]=g):g=e[19];let b;e[20]!==x||e[21]!==g?(b={availableYears:x,availableNrens:g},e[20]=x,e[21]=g,e[22]=b):b=e[22];let F;e[23]!==t||e[24]!==i||e[25]!==b?(F=s.jsx(I,{filterOptions:b,filterSelection:t,setFilterSelection:i}),e[23]=t,e[24]=i,e[25]=b,e[26]=F):F=e[26],r=F,_=Array.from(new Set(o.map(ie))),e[0]=t,e[1]=l,e[2]=a,e[3]=i,e[4]=n,e[5]=r,e[6]=c,e[7]=o,e[8]=_}else r=e[5],c=e[6],o=e[7],_=e[8];const O=_.length,Y=t.selectedYears.length,A=O*Y*2+5;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsxs("span",{children:['The graph shows the percentage share of their income that NRENs derive from different sources, with any funding and NREN may receive from GÉANT included within "European funding". By "Client institutions" NRENs may be referring to universities, schools, research institutes, commercial clients, or other types of organisation. "Commercial services" include services such as being a domain registry, or security support.',s.jsx("br",{}),"Hovering over the graph bars will show the exact figures, per source. When viewing multiple years, it is advisable to restrict the number of NRENs being compared."]}),e[27]=S):S=e[27];let v;e[28]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx($,{}),e[28]=v):v=e[28];const R=`${A}rem`;let d;e[29]!==R?(d={height:R},e[29]=R,e[30]=d):d=e[30];let C;e[31]===Symbol.for("react.memo_cache_sentinel")?(C=[te],e[31]=C):C=e[31];let f;e[32]!==c?(f=s.jsx(H,{plugins:C,data:c,options:se}),e[32]=c,e[33]=f):f=e[33];let u;e[34]!==d||e[35]!==f?(u=s.jsx("div",{className:"chart-container",style:d,children:f}),e[34]=d,e[35]=f,e[36]=u):u=e[36];let B;e[37]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx($,{}),e[37]=B):B=e[37];let h;e[38]!==u?(h=s.jsxs(ee,{children:[v,u,B]}),e[38]=u,e[39]=h):h=e[39];let w;return e[40]!==r||e[41]!==o||e[42]!==h?(w=s.jsx(Z,{title:G.funding,description:S,category:M.Organisation,filter:r,data:o,filename:"income_source_of_nren_per_year",children:h}),e[40]=r,e[41]=o,e[42]=h,e[43]=w):w=e[43],w}function ie(e){return e.nren}export{ue as default}; +import{c as D,j as s,r as P,F as z,t as G,S as M,C as y,R as T}from"./index-C21YiIe4.js";import{B as H}from"./index-X7mNNoWD.js";import{C as N,a as W,L as q,B as J,p as K,c as Q,d as U,u as V,j as X,D as Z,F as I,f as ee}from"./useData-DpGbPZTZ.js";import{p as te}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function j(e){const t=D.c(6),{index:i,active:l}=e,n=l===void 0?!0:l;let a;t[0]!==n||t[1]!==i?(a=n?s.jsx("div",{className:`color-of-badge-${i%5}`,style:{width:"20px",height:"35px",margin:"2px"}}):s.jsx("div",{className:"color-of-badge-blank",style:{width:"15px",height:"30px",margin:"2px"}}),t[0]=n,t[1]=i,t[2]=a):a=t[2];let r;return t[3]!==i||t[4]!==a?(r=s.jsx("div",{className:"d-inline-block m-2",children:a},i),t[3]=i,t[4]=a,t[5]=r):r=t[5],r}N.register(W,q,J,K,Q,U);const se={maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.y!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0},xBottom:{ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0,grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(N.instances);let i=-999999,l=999999;for(const n of t)N.instances[n]&&e.chart.scales.xBottom&&(l=Math.min(N.instances[n].scales.x.min,l),i=Math.max(N.instances[n].scales.x.max,i));e.chart.scales.xBottom.options.min=l,e.chart.scales.xBottom.options.max=i,e.chart.scales.xBottom.min=l,e.chart.scales.xBottom.max=i}},y:{ticks:{autoSkip:!1}}},indexAxis:"y"};function $(){const e=D.c(5);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:0},0),"Client Institutions"]}),e[0]=t):t=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:1},1),"Commercial"]}),e[1]=i):i=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:2},2),"European Funding"]}),e[2]=l):l=e[2];let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:3},3),"Gov/Public Bodies"]}),e[3]=n):n=e[3];let a;return e[4]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"d-flex justify-content-center bold-grey-12pt",children:s.jsxs(T,{xs:"auto",className:"border rounded-3 border-1 my-5 justify-content-center",children:[t,i,l,n,s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:4},4),"Other"]})]})}),e[4]=a):a=e[4],a}function ue(){const e=D.c(44),{filterSelection:t,setFilterSelection:i}=P.useContext(z),{data:l,years:n,nrens:a}=V("/api/funding",i);let r,c,o,_;if(e[0]!==t||e[1]!==l||e[2]!==a||e[3]!==i||e[4]!==n){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=m=>t.selectedYears.includes(m.year)&&t.selectedNrens.includes(m.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],o=l.filter(E),c=X(o),c.datasets.forEach(m=>{m.data=m.data.filter((ne,L)=>t.selectedNrens.includes(c.labels[L]))});let k;e[12]!==t.selectedNrens?(k=m=>t.selectedNrens.includes(m),e[12]=t.selectedNrens,e[13]=k):k=e[13],c.labels=c.labels.filter(k);let x;e[14]!==n?(x=[...n],e[14]=n,e[15]=x):x=e[15];let p;e[16]!==a?(p=a.values(),e[16]=a,e[17]=p):p=e[17];let g;e[18]!==p?(g=[...p],e[18]=p,e[19]=g):g=e[19];let b;e[20]!==x||e[21]!==g?(b={availableYears:x,availableNrens:g},e[20]=x,e[21]=g,e[22]=b):b=e[22];let F;e[23]!==t||e[24]!==i||e[25]!==b?(F=s.jsx(I,{filterOptions:b,filterSelection:t,setFilterSelection:i}),e[23]=t,e[24]=i,e[25]=b,e[26]=F):F=e[26],r=F,_=Array.from(new Set(o.map(ie))),e[0]=t,e[1]=l,e[2]=a,e[3]=i,e[4]=n,e[5]=r,e[6]=c,e[7]=o,e[8]=_}else r=e[5],c=e[6],o=e[7],_=e[8];const O=_.length,Y=t.selectedYears.length,A=O*Y*2+5;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsxs("span",{children:['The graph shows the percentage share of their income that NRENs derive from different sources, with any funding and NREN may receive from GÉANT included within "European funding". By "Client institutions" NRENs may be referring to universities, schools, research institutes, commercial clients, or other types of organisation. "Commercial services" include services such as being a domain registry, or security support.',s.jsx("br",{}),"Hovering over the graph bars will show the exact figures, per source. When viewing multiple years, it is advisable to restrict the number of NRENs being compared."]}),e[27]=S):S=e[27];let v;e[28]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx($,{}),e[28]=v):v=e[28];const R=`${A}rem`;let d;e[29]!==R?(d={height:R},e[29]=R,e[30]=d):d=e[30];let C;e[31]===Symbol.for("react.memo_cache_sentinel")?(C=[te],e[31]=C):C=e[31];let f;e[32]!==c?(f=s.jsx(H,{plugins:C,data:c,options:se}),e[32]=c,e[33]=f):f=e[33];let u;e[34]!==d||e[35]!==f?(u=s.jsx("div",{className:"chart-container",style:d,children:f}),e[34]=d,e[35]=f,e[36]=u):u=e[36];let B;e[37]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx($,{}),e[37]=B):B=e[37];let h;e[38]!==u?(h=s.jsxs(ee,{children:[v,u,B]}),e[38]=u,e[39]=h):h=e[39];let w;return e[40]!==r||e[41]!==o||e[42]!==h?(w=s.jsx(Z,{title:G.funding,description:S,category:M.Organisation,filter:r,data:o,filename:"income_source_of_nren_per_year",children:h}),e[40]=r,e[41]=o,e[42]=h,e[43]=w):w=e[43],w}function ie(e){return e.nren}export{ue as default}; diff --git a/compendium_v2/static/HTMLLegendPlugin-B1BRh7XI.js b/compendium_v2/static/HTMLLegendPlugin-B8KIQm6m.js similarity index 93% rename from compendium_v2/static/HTMLLegendPlugin-B1BRh7XI.js rename to compendium_v2/static/HTMLLegendPlugin-B8KIQm6m.js index fee2f9038ec3cf21d9ffcbd0febe5a64e3feb968..cd29e75801af76128cff67185d2d6405da54e456 100644 --- a/compendium_v2/static/HTMLLegendPlugin-B1BRh7XI.js +++ b/compendium_v2/static/HTMLLegendPlugin-B8KIQm6m.js @@ -1 +1 @@ -import{c as g,j as p}from"./index-BBqwf-sR.js";import{f as m,C as c}from"./useData-CR6GUHnJ.js";const C=o=>{const e=g.c(8);let{children:s,location:t}=o;t||(t="both");const r=t==="top"||t==="both",a=t==="bottom"||t==="both";let n;e[0]!==r?(n=r&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"2.5rem",paddingBottom:"1.5rem"},id:"legendtop"}),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==a?(l=a&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"1.5rem"},id:"legendbottom"}),e[2]=a,e[3]=l):l=e[3];let i;return e[4]!==s||e[5]!==n||e[6]!==l?(i=p.jsxs(m,{children:[n,s,l]}),e[4]=s,e[5]=n,e[6]=l,e[7]=i):i=e[7],i},u=(o,e)=>{const s=document.getElementById(e);if(!s)return null;let t=s.querySelector("ul");return t||(t=document.createElement("ul"),t.style.display="flex",t.style.flexDirection="row",t.style.margin="0",t.style.padding="0",s.appendChild(t)),t},b={id:"htmlLegend",afterUpdate(o,e,s){for(const t of s.containerIDs){const r=u(o,t);if(!r)return;for(;r.firstChild;)r.firstChild.remove();o.options.plugins.legend.labels.generateLabels(o).forEach(n=>{const l=document.createElement("li");l.style.alignItems="center",l.style.cursor="pointer",l.style.display="flex",l.style.flexDirection="row",l.style.marginLeft="10px",l.onclick=()=>{const{type:f}=o.config;f==="pie"||f==="doughnut"?o.toggleDataVisibility(n.index):o.setDatasetVisibility(n.datasetIndex,!o.isDatasetVisible(n.datasetIndex)),o.update()};const i=document.createElement("span");i.style.background=n.fillStyle,i.style.borderColor=n.strokeStyle,i.style.borderWidth=n.lineWidth+"px",i.style.display="inline-block",i.style.height="1rem",i.style.marginRight="10px",i.style.width="2.5rem";const d=document.createElement("p");d.style.color=n.fontColor,d.style.margin="0",d.style.padding="0",d.style.textDecoration=n.hidden?"line-through":"",d.style.fontSize=`${c.defaults.font.size}px`,d.style.fontFamily=`${c.defaults.font.family}`,d.style.fontWeight=`${c.defaults.font.weight}`;const y=document.createTextNode(n.text);d.appendChild(y),l.appendChild(i),l.appendChild(d),r.appendChild(l)})}}};export{C as W,b as h}; +import{c as g,j as p}from"./index-C21YiIe4.js";import{f as m,C as c}from"./useData-DpGbPZTZ.js";const C=o=>{const e=g.c(8);let{children:s,location:t}=o;t||(t="both");const r=t==="top"||t==="both",a=t==="bottom"||t==="both";let n;e[0]!==r?(n=r&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"2.5rem",paddingBottom:"1.5rem"},id:"legendtop"}),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==a?(l=a&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"1.5rem"},id:"legendbottom"}),e[2]=a,e[3]=l):l=e[3];let i;return e[4]!==s||e[5]!==n||e[6]!==l?(i=p.jsxs(m,{children:[n,s,l]}),e[4]=s,e[5]=n,e[6]=l,e[7]=i):i=e[7],i},u=(o,e)=>{const s=document.getElementById(e);if(!s)return null;let t=s.querySelector("ul");return t||(t=document.createElement("ul"),t.style.display="flex",t.style.flexDirection="row",t.style.margin="0",t.style.padding="0",s.appendChild(t)),t},b={id:"htmlLegend",afterUpdate(o,e,s){for(const t of s.containerIDs){const r=u(o,t);if(!r)return;for(;r.firstChild;)r.firstChild.remove();o.options.plugins.legend.labels.generateLabels(o).forEach(n=>{const l=document.createElement("li");l.style.alignItems="center",l.style.cursor="pointer",l.style.display="flex",l.style.flexDirection="row",l.style.marginLeft="10px",l.onclick=()=>{const{type:f}=o.config;f==="pie"||f==="doughnut"?o.toggleDataVisibility(n.index):o.setDatasetVisibility(n.datasetIndex,!o.isDatasetVisible(n.datasetIndex)),o.update()};const i=document.createElement("span");i.style.background=n.fillStyle,i.style.borderColor=n.strokeStyle,i.style.borderWidth=n.lineWidth+"px",i.style.display="inline-block",i.style.height="1rem",i.style.marginRight="10px",i.style.width="2.5rem";const d=document.createElement("p");d.style.color=n.fontColor,d.style.margin="0",d.style.padding="0",d.style.textDecoration=n.hidden?"line-through":"",d.style.fontSize=`${c.defaults.font.size}px`,d.style.fontFamily=`${c.defaults.font.family}`,d.style.fontWeight=`${c.defaults.font.weight}`;const y=document.createTextNode(n.text);d.appendChild(y),l.appendChild(i),l.appendChild(d),r.appendChild(l)})}}};export{C as W,b as h}; diff --git a/compendium_v2/static/IRUDuration-1JiO-xsK.js b/compendium_v2/static/IRUDuration-EBsPV-4E.js similarity index 81% rename from compendium_v2/static/IRUDuration-1JiO-xsK.js rename to compendium_v2/static/IRUDuration-EBsPV-4E.js index 7c591d9c9949b57736e1d58e8a21e2979b2e67ca..5e285667fc5822f3dc6f174d5ab3a4f3b3cf2c52 100644 --- a/compendium_v2/static/IRUDuration-1JiO-xsK.js +++ b/compendium_v2/static/IRUDuration-EBsPV-4E.js @@ -1 +1 @@ -import{c as C,r as D,F as L,j as n,t as R,S as j}from"./index-BBqwf-sR.js";import{L as E}from"./index-BsZyajo4.js";import{C as v,a as k,L as F,P as I,b as U,p as P,c as w,d as O,u as Y,e as T,D as $,F as q,f as z}from"./useData-CR6GUHnJ.js";import{g as A}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";v.register(k,F,I,U,P,w,O);function W(){const e=C.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.iru_duration!=null,e[0]=o):o=e[0];const N=o,{filterSelection:t,setFilterSelection:c}=D.useContext(L),{data:g,nrens:_}=Y("/api/dark-fibre-lease",c,N);let a,f;if(e[1]!==g||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=S=>t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=r):r=e[6],a=g.filter(r),f=T(a,"iru_duration"),e[1]=g,e[2]=t.selectedNrens,e[3]=a,e[4]=f}else a=e[3],f=e[4];const x=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let i;e[10]!==s?(i={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=i):i=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==i?(d=n.jsx(q,{filterOptions:i,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=i,e[15]=d):d=e[15];const y=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Lease Duration In Years",tooltipUnit:"years",tickLimit:999}),e[16]=p):p=e[16];const b=p;let u;e[17]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("span",{children:"NRENs sometimes take out an IRU (Indefeasible Right of Use), which is essentially a long-term lease, on a portion of the capacity of a cable rather than laying cable themselves. This graph shows the average duration, in years, of the IRUs of NRENs."}),e[17]=u):u=e[17];let l;e[18]!==x?(l=n.jsx(z,{children:n.jsx(E,{data:x,options:b})}),e[18]=x,e[19]=l):l=e[19];let h;return e[20]!==y||e[21]!==a||e[22]!==l?(h=n.jsx($,{title:R["iru-duration"],description:u,category:j.Network,filter:y,data:a,filename:"iru_duration_data",children:l}),e[20]=y,e[21]=a,e[22]=l,e[23]=h):h=e[23],h}export{W as default}; +import{c as C,r as D,F as L,j as n,t as R,S as j}from"./index-C21YiIe4.js";import{L as E}from"./index-X7mNNoWD.js";import{C as v,a as k,L as F,P as I,b as U,p as P,c as w,d as O,u as Y,e as T,D as $,F as q,f as z}from"./useData-DpGbPZTZ.js";import{g as A}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";v.register(k,F,I,U,P,w,O);function W(){const e=C.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.iru_duration!=null,e[0]=o):o=e[0];const N=o,{filterSelection:t,setFilterSelection:c}=D.useContext(L),{data:g,nrens:_}=Y("/api/dark-fibre-lease",c,N);let a,f;if(e[1]!==g||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=S=>t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=r):r=e[6],a=g.filter(r),f=T(a,"iru_duration"),e[1]=g,e[2]=t.selectedNrens,e[3]=a,e[4]=f}else a=e[3],f=e[4];const x=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let i;e[10]!==s?(i={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=i):i=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==i?(d=n.jsx(q,{filterOptions:i,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=i,e[15]=d):d=e[15];const y=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Lease Duration In Years",tooltipUnit:"years",tickLimit:999}),e[16]=p):p=e[16];const b=p;let u;e[17]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("span",{children:"NRENs sometimes take out an IRU (Indefeasible Right of Use), which is essentially a long-term lease, on a portion of the capacity of a cable rather than laying cable themselves. This graph shows the average duration, in years, of the IRUs of NRENs."}),e[17]=u):u=e[17];let l;e[18]!==x?(l=n.jsx(z,{children:n.jsx(E,{data:x,options:b})}),e[18]=x,e[19]=l):l=e[19];let h;return e[20]!==y||e[21]!==a||e[22]!==l?(h=n.jsx($,{title:R["iru-duration"],description:u,category:j.Network,filter:y,data:a,filename:"iru_duration_data",children:l}),e[20]=y,e[21]=a,e[22]=l,e[23]=h):h=e[23],h}export{W as default}; diff --git a/compendium_v2/static/Landing-Ce7P-oTU.js b/compendium_v2/static/Landing-DCKBw6Tq.js similarity index 98% rename from compendium_v2/static/Landing-Ce7P-oTU.js rename to compendium_v2/static/Landing-DCKBw6Tq.js index b0621223b180a247be1613c51f2a402b4abd7faf..e1efcda22806f04be5b726a1cc1afae80625e77a 100644 --- a/compendium_v2/static/Landing-Ce7P-oTU.js +++ b/compendium_v2/static/Landing-DCKBw6Tq.js @@ -1 +1 @@ -import{c as Q,Q as K,r as L,a1 as X,D as Z,j as t,L as z,E as ee,R as te}from"./index-BBqwf-sR.js";import{u as W,w as ne}from"./xlsx-BHRztzV8.js";import{S as re}from"./SurveySidebar-W_n-2uiT.js";import{f as se,a as le}from"./survey-3meXCY6T.js";import{T as q}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";const oe=()=>{const e=Q.c(32);let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[0]=i):i=e[0];const[u,m]=L.useState(i);let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[1]=n):n=e[1];const[a,h]=L.useState(n);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=function(){fetch("/api/nren-exclusions").then(de).then(r=>{m(r)}).catch(me)},e[2]=s):s=e[2];const c=s;let f,P;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{fetch("/api/nren/list").then(he).then(l=>{const r=l.map(ue);h(r)}).catch(fe)},P=[],e[3]=f,e[4]=P):(f=e[3],P=e[4]),L.useEffect(f,P);let E;e[5]===Symbol.for("react.memo_cache_sentinel")?(E=async function(r,D){const N=await fetch("/api/nren-exclusions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({nren:r,year:D})}),$=await N.json();N.ok?m($):alert($.message),document.getElementById("excludenren").value="",document.getElementById("excludeyear").value=""},e[5]=E):E=e[5];const G=E;let S;e[6]===Symbol.for("react.memo_cache_sentinel")?(S=async function(r,D){const N=await fetch("/api/nren-exclusions",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({nren:r,year:D})}),$=await N.json();N.ok?m($):alert($.message)},e[6]=S):S=e[6];const H=S;let w,M;e[7]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{c()},M=[],e[7]=w,e[8]=M):(w=e[7],M=e[8]),L.useEffect(w,M);let x,C,k,R;e[9]===Symbol.for("react.memo_cache_sentinel")?(R=t.jsx("hr",{className:"fake-divider"}),x=t.jsx("h2",{children:"NREN Exclusions"}),C=t.jsx("p",{children:"Use this table to exclude data for a specific NREN and year."}),k=t.jsx("p",{children:"If an NREN shows up in this table, they will not be allowed to view/edit or answer their survey."}),e[9]=x,e[10]=C,e[11]=k,e[12]=R):(x=e[9],C=e[10],k=e[11],R=e[12]);let T;e[13]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"NREN"}),t.jsx("th",{children:"Year"}),t.jsx("th",{children:"Actions"})]})}),e[13]=T):T=e[13];let A;e[14]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx("option",{value:"",children:"Select NREN"}),e[14]=A):A=e[14];let y;e[15]!==a?(y=a.map(xe),e[15]=a,e[16]=y):y=e[16];let p;e[17]!==y?(p=t.jsx("td",{children:t.jsxs("select",{id:"excludenren",children:[A,y]})}),e[17]=y,e[18]=p):p=e[18];let O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsx("td",{children:t.jsx("input",{id:"excludeyear",type:"year",name:"year"})}),e[19]=O):O=e[19];let I;e[20]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx("td",{children:t.jsx("button",{className:"btn btn-primary",onClick:()=>{const l=document.getElementById("excludenren").value,r=parseInt(document.getElementById("excludeyear").value);if(!l||!r){alert("Please enter an NREN and year");return}G(l,r)},children:"Add Exclusion"})}),e[20]=I):I=e[20];let j;e[21]!==p?(j=t.jsxs("tr",{children:[p,O,I]}),e[21]=p,e[22]=j):j=e[22];let b;if(e[23]!==u){let l;e[25]===Symbol.for("react.memo_cache_sentinel")?(l=r=>t.jsxs("tr",{children:[t.jsx("td",{children:r.nren}),t.jsx("td",{children:r.year}),t.jsx("td",{children:t.jsx("button",{className:"btn btn-danger",onClick:()=>H(r.nren,r.year),children:"Delete"})})]},r.nren+r.year),e[25]=l):l=e[25],b=u.map(l),e[23]=u,e[24]=b}else b=e[24];let d;e[26]!==j||e[27]!==b?(d=t.jsxs(q,{striped:!0,bordered:!0,responsive:!0,children:[T,t.jsxs("tbody",{children:[j,b]})]}),e[26]=j,e[27]=b,e[28]=d):d=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("hr",{className:"fake-divider"}),e[29]=_):_=e[29];let v;return e[30]!==d?(v=t.jsxs(t.Fragment,{children:[R,x,C,k,d,_]}),e[30]=d,e[31]=v):v=e[31],v},ce=()=>{const e=Q.c(7),[i,u]=L.useState();let m,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{le().then(c=>{u(c[0])})},n=[],e[0]=m,e[1]=n):(m=e[0],n=e[1]),L.useEffect(m,n);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"(N)REN"}),t.jsx("th",{children:"Link"}),t.jsx("th",{children:"Survey Status"})]})}),e[2]=a):a=e[2];let h;e[3]!==i?(h=i&&i.responses.map(c=>t.jsxs("tr",{children:[t.jsx("td",{children:c.nren.name}),t.jsx("td",{children:t.jsx(z,{to:`/survey/response/${i.year}/${c.nren.name}`,children:t.jsx("span",{children:"Navigate to survey"})})}),t.jsx("td",{children:c.status})]},c.nren.id)),e[3]=i,e[4]=h):h=e[4];let s;return e[5]!==h?(s=t.jsxs(q,{striped:!0,bordered:!0,responsive:!0,children:[a,t.jsx("tbody",{children:h})]}),e[5]=h,e[6]=s):s=e[6],s};function ge(){const e=Q.c(40),{trackPageView:i}=K(),{user:u}=L.useContext(X),m=Z(),n=!!u.id,a=n?!!u.nrens.length:!1,h=a?u.nrens[0]:"",s=n?u.permissions.admin:!1,c=n?u.role==="observer":!1,[f,P]=L.useState(null);let E,G;e[0]!==i?(E=()=>{(async()=>{const N=await se();P(N)})(),i({documentTitle:"GEANT Survey Landing Page"})},G=[i],e[0]=i,e[1]=E,e[2]=G):(E=e[1],G=e[2]),L.useEffect(E,G);let S;e[3]!==h||e[4]!==f||e[5]!==m?(S=()=>{try{return m(`/survey/response/${f}/${h}`),t.jsx("li",{children:"Redirecting to survey..."})}catch(D){return console.error("Error navigating:",D),null}},e[3]=h,e[4]=f,e[5]=m,e[6]=S):S=e[6];const H=S;let w;if(e[7]===Symbol.for("react.memo_cache_sentinel")){const D=function(Y,F,g){const B=W.decode_range(Y["!ref"]??"");let J=-1;for(let o=B.s.c;o<=B.e.c;o++){const U=W.encode_cell({r:B.s.r,c:o}),V=Y[U];if(V&&typeof V.v=="string"&&V.v===F){J=o;break}}if(J===-1){console.error(`Column '${F}' not found.`);return}for(let o=B.s.r+1;o<=B.e.r;++o){const U=W.encode_cell({r:o,c:J});Y[U]&&Y[U].t==="n"&&(Y[U].z=g)}},N=function(Y){const F=W.book_new();Y.forEach(o=>{const U=W.json_to_sheet(o.data);o.meta&&D(U,o.meta.columnName,o.meta.format),W.book_append_sheet(F,U,o.name)});const g=ne(F,{bookType:"xlsx",type:"binary"}),B=new ArrayBuffer(g.length),J=new Uint8Array(B);for(let o=0;o<g.length;o++)J[o]=g.charCodeAt(o)&255;return new Blob([B],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})};w=function(){fetch("/api/data-download").then(ae).then(Y=>{const F=N(Y),g=document.createElement("a");g.href=URL.createObjectURL(F),g.download="data.xlsx",document.body.appendChild(g),g.click(),document.body.removeChild(g)}).catch(ie)},e[7]=w}else w=e[7];const M=w;let x;e[8]!==s?(x=s&&t.jsx(re,{}),e[8]=s,e[9]=x):x=e[9];let C;e[10]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS SURVEY"}),e[10]=C):C=e[10];let k,R;e[11]===Symbol.for("react.memo_cache_sentinel")?(k={maxWidth:"75rem"},R={textAlign:"left"},e[11]=k,e[12]=R):(k=e[11],R=e[12]);let T;e[13]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx("br",{}),e[13]=T):T=e[13];let A;e[14]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx("a",{href:"/login",children:"here"}),e[14]=A):A=e[14];let y;e[15]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("br",{}),e[15]=y):y=e[15];let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx("br",{}),e[16]=p):p=e[16];let O,I,j,b;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsxs("p",{style:R,children:["Hello,",T,"Welcome to the GÉANT Compendium Survey. (N)REN Compendium administrators can login via Single Sign On (SSO) ",A,", which will complete their registration to fill in the latest Compendium survey. This will send a notification to the Compendium administration team and they will assign you to your (N)REN.",y,"Once this step has been completed, you will receive an email from the administration team. We aim to get back to you the same working day, but sometimes may take a little longer.",p,"If you are not sure whether you are a Compendium Administrator for your (N)REN, please contact your GÉANT Partner Relations relationship manager.",t.jsx("br",{}),"Thank you."]}),I=t.jsx("span",{children:"Current registration status:"}),j=t.jsx("br",{}),b=t.jsx("br",{}),e[17]=O,e[18]=I,e[19]=j,e[20]=b):(O=e[17],I=e[18],j=e[19],b=e[20]);let d;e[21]!==f||e[22]!==a||e[23]!==s||e[24]!==c||e[25]!==n||e[26]!==H?(d=s?t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("span",{children:"You are logged in as a Compendium Administrator"})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(z,{to:"/survey/admin/surveys",children:"here"})," to access the survey management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(z,{to:"/survey/admin/users",children:"here"})," to access the user management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx("a",{href:"#",onClick:M,children:"here"})," to do the full data download."]})})]}):t.jsxs("ul",{children:[f&&!s&&!c&&a&&H(),n?t.jsx("li",{children:t.jsx("span",{children:"You are logged in"})}):t.jsx("li",{children:t.jsx("span",{children:"You are not logged in"})}),n&&!c&&!a&&t.jsx("li",{children:t.jsx("span",{children:"Your access to the survey has not yet been approved"})}),n&&!c&&!a&&t.jsx("li",{children:t.jsx("span",{children:"Once you have been approved, you will immediately be directed to the relevant survey upon visiting this page"})}),n&&c&&t.jsx("li",{children:t.jsx("span",{children:"You have read-only access to the following surveys:"})})]}),e[21]=f,e[22]=a,e[23]=s,e[24]=c,e[25]=n,e[26]=H,e[27]=d):d=e[27];let _;e[28]!==s?(_=s&&t.jsx(oe,{}),e[28]=s,e[29]=_):_=e[29];let v;e[30]!==c||e[31]!==n?(v=n&&c&&t.jsx(ce,{}),e[30]=c,e[31]=n,e[32]=v):v=e[32];let l;e[33]!==d||e[34]!==_||e[35]!==v?(l=t.jsx(ee,{className:"py-5 grey-container",children:t.jsx(te,{children:t.jsxs("div",{className:"center-text",children:[C,t.jsxs("div",{className:"wordwrap pt-4",style:k,children:[O,I,j,b,d,_,v]})]})})}),e[33]=d,e[34]=_,e[35]=v,e[36]=l):l=e[36];let r;return e[37]!==l||e[38]!==x?(r=t.jsxs(t.Fragment,{children:[x,l]}),e[37]=l,e[38]=x,e[39]=r):r=e[39],r}function ie(e){console.error("Error fetching data:",e),alert("An error occurred while creating the data download Excel file.")}function ae(e){if(!e.ok)throw new Error("Network response was not ok");return e.json()}function de(e){return e.json()}function me(e){console.error("Error fetching NREN exclusions:",e)}function he(e){return e.json()}function ue(e){return e.name}function fe(e){console.error("Error fetching NRENs:",e)}function xe(e){return t.jsx("option",{value:e,children:e},e)}export{ge as default}; +import{c as Q,Q as K,r as L,a1 as X,D as Z,j as t,L as z,E as ee,R as te}from"./index-C21YiIe4.js";import{u as W,w as ne}from"./xlsx-BHRztzV8.js";import{S as re}from"./SurveySidebar-jNvlLq9W.js";import{f as se,a as le}from"./survey-3meXCY6T.js";import{T as q}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";const oe=()=>{const e=Q.c(32);let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[0]=i):i=e[0];const[u,m]=L.useState(i);let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[1]=n):n=e[1];const[a,h]=L.useState(n);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=function(){fetch("/api/nren-exclusions").then(de).then(r=>{m(r)}).catch(me)},e[2]=s):s=e[2];const c=s;let f,P;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{fetch("/api/nren/list").then(he).then(l=>{const r=l.map(ue);h(r)}).catch(fe)},P=[],e[3]=f,e[4]=P):(f=e[3],P=e[4]),L.useEffect(f,P);let E;e[5]===Symbol.for("react.memo_cache_sentinel")?(E=async function(r,D){const N=await fetch("/api/nren-exclusions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({nren:r,year:D})}),$=await N.json();N.ok?m($):alert($.message),document.getElementById("excludenren").value="",document.getElementById("excludeyear").value=""},e[5]=E):E=e[5];const G=E;let S;e[6]===Symbol.for("react.memo_cache_sentinel")?(S=async function(r,D){const N=await fetch("/api/nren-exclusions",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({nren:r,year:D})}),$=await N.json();N.ok?m($):alert($.message)},e[6]=S):S=e[6];const H=S;let w,M;e[7]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{c()},M=[],e[7]=w,e[8]=M):(w=e[7],M=e[8]),L.useEffect(w,M);let x,C,k,R;e[9]===Symbol.for("react.memo_cache_sentinel")?(R=t.jsx("hr",{className:"fake-divider"}),x=t.jsx("h2",{children:"NREN Exclusions"}),C=t.jsx("p",{children:"Use this table to exclude data for a specific NREN and year."}),k=t.jsx("p",{children:"If an NREN shows up in this table, they will not be allowed to view/edit or answer their survey."}),e[9]=x,e[10]=C,e[11]=k,e[12]=R):(x=e[9],C=e[10],k=e[11],R=e[12]);let T;e[13]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"NREN"}),t.jsx("th",{children:"Year"}),t.jsx("th",{children:"Actions"})]})}),e[13]=T):T=e[13];let A;e[14]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx("option",{value:"",children:"Select NREN"}),e[14]=A):A=e[14];let y;e[15]!==a?(y=a.map(xe),e[15]=a,e[16]=y):y=e[16];let p;e[17]!==y?(p=t.jsx("td",{children:t.jsxs("select",{id:"excludenren",children:[A,y]})}),e[17]=y,e[18]=p):p=e[18];let O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsx("td",{children:t.jsx("input",{id:"excludeyear",type:"year",name:"year"})}),e[19]=O):O=e[19];let I;e[20]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx("td",{children:t.jsx("button",{className:"btn btn-primary",onClick:()=>{const l=document.getElementById("excludenren").value,r=parseInt(document.getElementById("excludeyear").value);if(!l||!r){alert("Please enter an NREN and year");return}G(l,r)},children:"Add Exclusion"})}),e[20]=I):I=e[20];let j;e[21]!==p?(j=t.jsxs("tr",{children:[p,O,I]}),e[21]=p,e[22]=j):j=e[22];let b;if(e[23]!==u){let l;e[25]===Symbol.for("react.memo_cache_sentinel")?(l=r=>t.jsxs("tr",{children:[t.jsx("td",{children:r.nren}),t.jsx("td",{children:r.year}),t.jsx("td",{children:t.jsx("button",{className:"btn btn-danger",onClick:()=>H(r.nren,r.year),children:"Delete"})})]},r.nren+r.year),e[25]=l):l=e[25],b=u.map(l),e[23]=u,e[24]=b}else b=e[24];let d;e[26]!==j||e[27]!==b?(d=t.jsxs(q,{striped:!0,bordered:!0,responsive:!0,children:[T,t.jsxs("tbody",{children:[j,b]})]}),e[26]=j,e[27]=b,e[28]=d):d=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("hr",{className:"fake-divider"}),e[29]=_):_=e[29];let v;return e[30]!==d?(v=t.jsxs(t.Fragment,{children:[R,x,C,k,d,_]}),e[30]=d,e[31]=v):v=e[31],v},ce=()=>{const e=Q.c(7),[i,u]=L.useState();let m,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{le().then(c=>{u(c[0])})},n=[],e[0]=m,e[1]=n):(m=e[0],n=e[1]),L.useEffect(m,n);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"(N)REN"}),t.jsx("th",{children:"Link"}),t.jsx("th",{children:"Survey Status"})]})}),e[2]=a):a=e[2];let h;e[3]!==i?(h=i&&i.responses.map(c=>t.jsxs("tr",{children:[t.jsx("td",{children:c.nren.name}),t.jsx("td",{children:t.jsx(z,{to:`/survey/response/${i.year}/${c.nren.name}`,children:t.jsx("span",{children:"Navigate to survey"})})}),t.jsx("td",{children:c.status})]},c.nren.id)),e[3]=i,e[4]=h):h=e[4];let s;return e[5]!==h?(s=t.jsxs(q,{striped:!0,bordered:!0,responsive:!0,children:[a,t.jsx("tbody",{children:h})]}),e[5]=h,e[6]=s):s=e[6],s};function ge(){const e=Q.c(40),{trackPageView:i}=K(),{user:u}=L.useContext(X),m=Z(),n=!!u.id,a=n?!!u.nrens.length:!1,h=a?u.nrens[0]:"",s=n?u.permissions.admin:!1,c=n?u.role==="observer":!1,[f,P]=L.useState(null);let E,G;e[0]!==i?(E=()=>{(async()=>{const N=await se();P(N)})(),i({documentTitle:"GEANT Survey Landing Page"})},G=[i],e[0]=i,e[1]=E,e[2]=G):(E=e[1],G=e[2]),L.useEffect(E,G);let S;e[3]!==h||e[4]!==f||e[5]!==m?(S=()=>{try{return m(`/survey/response/${f}/${h}`),t.jsx("li",{children:"Redirecting to survey..."})}catch(D){return console.error("Error navigating:",D),null}},e[3]=h,e[4]=f,e[5]=m,e[6]=S):S=e[6];const H=S;let w;if(e[7]===Symbol.for("react.memo_cache_sentinel")){const D=function(Y,F,g){const B=W.decode_range(Y["!ref"]??"");let J=-1;for(let o=B.s.c;o<=B.e.c;o++){const U=W.encode_cell({r:B.s.r,c:o}),V=Y[U];if(V&&typeof V.v=="string"&&V.v===F){J=o;break}}if(J===-1){console.error(`Column '${F}' not found.`);return}for(let o=B.s.r+1;o<=B.e.r;++o){const U=W.encode_cell({r:o,c:J});Y[U]&&Y[U].t==="n"&&(Y[U].z=g)}},N=function(Y){const F=W.book_new();Y.forEach(o=>{const U=W.json_to_sheet(o.data);o.meta&&D(U,o.meta.columnName,o.meta.format),W.book_append_sheet(F,U,o.name)});const g=ne(F,{bookType:"xlsx",type:"binary"}),B=new ArrayBuffer(g.length),J=new Uint8Array(B);for(let o=0;o<g.length;o++)J[o]=g.charCodeAt(o)&255;return new Blob([B],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})};w=function(){fetch("/api/data-download").then(ae).then(Y=>{const F=N(Y),g=document.createElement("a");g.href=URL.createObjectURL(F),g.download="data.xlsx",document.body.appendChild(g),g.click(),document.body.removeChild(g)}).catch(ie)},e[7]=w}else w=e[7];const M=w;let x;e[8]!==s?(x=s&&t.jsx(re,{}),e[8]=s,e[9]=x):x=e[9];let C;e[10]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS SURVEY"}),e[10]=C):C=e[10];let k,R;e[11]===Symbol.for("react.memo_cache_sentinel")?(k={maxWidth:"75rem"},R={textAlign:"left"},e[11]=k,e[12]=R):(k=e[11],R=e[12]);let T;e[13]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx("br",{}),e[13]=T):T=e[13];let A;e[14]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx("a",{href:"/login",children:"here"}),e[14]=A):A=e[14];let y;e[15]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("br",{}),e[15]=y):y=e[15];let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx("br",{}),e[16]=p):p=e[16];let O,I,j,b;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsxs("p",{style:R,children:["Hello,",T,"Welcome to the GÉANT Compendium Survey. (N)REN Compendium administrators can login via Single Sign On (SSO) ",A,", which will complete their registration to fill in the latest Compendium survey. This will send a notification to the Compendium administration team and they will assign you to your (N)REN.",y,"Once this step has been completed, you will receive an email from the administration team. We aim to get back to you the same working day, but sometimes may take a little longer.",p,"If you are not sure whether you are a Compendium Administrator for your (N)REN, please contact your GÉANT Partner Relations relationship manager.",t.jsx("br",{}),"Thank you."]}),I=t.jsx("span",{children:"Current registration status:"}),j=t.jsx("br",{}),b=t.jsx("br",{}),e[17]=O,e[18]=I,e[19]=j,e[20]=b):(O=e[17],I=e[18],j=e[19],b=e[20]);let d;e[21]!==f||e[22]!==a||e[23]!==s||e[24]!==c||e[25]!==n||e[26]!==H?(d=s?t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("span",{children:"You are logged in as a Compendium Administrator"})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(z,{to:"/survey/admin/surveys",children:"here"})," to access the survey management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(z,{to:"/survey/admin/users",children:"here"})," to access the user management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx("a",{href:"#",onClick:M,children:"here"})," to do the full data download."]})})]}):t.jsxs("ul",{children:[f&&!s&&!c&&a&&H(),n?t.jsx("li",{children:t.jsx("span",{children:"You are logged in"})}):t.jsx("li",{children:t.jsx("span",{children:"You are not logged in"})}),n&&!c&&!a&&t.jsx("li",{children:t.jsx("span",{children:"Your access to the survey has not yet been approved"})}),n&&!c&&!a&&t.jsx("li",{children:t.jsx("span",{children:"Once you have been approved, you will immediately be directed to the relevant survey upon visiting this page"})}),n&&c&&t.jsx("li",{children:t.jsx("span",{children:"You have read-only access to the following surveys:"})})]}),e[21]=f,e[22]=a,e[23]=s,e[24]=c,e[25]=n,e[26]=H,e[27]=d):d=e[27];let _;e[28]!==s?(_=s&&t.jsx(oe,{}),e[28]=s,e[29]=_):_=e[29];let v;e[30]!==c||e[31]!==n?(v=n&&c&&t.jsx(ce,{}),e[30]=c,e[31]=n,e[32]=v):v=e[32];let l;e[33]!==d||e[34]!==_||e[35]!==v?(l=t.jsx(ee,{className:"py-5 grey-container",children:t.jsx(te,{children:t.jsxs("div",{className:"center-text",children:[C,t.jsxs("div",{className:"wordwrap pt-4",style:k,children:[O,I,j,b,d,_,v]})]})})}),e[33]=d,e[34]=_,e[35]=v,e[36]=l):l=e[36];let r;return e[37]!==l||e[38]!==x?(r=t.jsxs(t.Fragment,{children:[x,l]}),e[37]=l,e[38]=x,e[39]=r):r=e[39],r}function ie(e){console.error("Error fetching data:",e),alert("An error occurred while creating the data download Excel file.")}function ae(e){if(!e.ok)throw new Error("Network response was not ok");return e.json()}function de(e){return e.json()}function me(e){console.error("Error fetching NREN exclusions:",e)}function he(e){return e.json()}function ue(e){return e.name}function fe(e){console.error("Error fetching NRENs:",e)}function xe(e){return t.jsx("option",{value:e,children:e},e)}export{ge as default}; diff --git a/compendium_v2/static/MonitoringTools-BSsfHtzr.js b/compendium_v2/static/MonitoringTools-CslWdQIB.js similarity index 84% rename from compendium_v2/static/MonitoringTools-BSsfHtzr.js rename to compendium_v2/static/MonitoringTools-CslWdQIB.js index f4765219d727fc42bb39a92df8656daf1c07c4a2..acc1b4f8f9facd2ac2ebe52bad4b6be863974a9e 100644 --- a/compendium_v2/static/MonitoringTools-BSsfHtzr.js +++ b/compendium_v2/static/MonitoringTools-CslWdQIB.js @@ -1,2 +1,2 @@ -import{c as v,r as S,F as T,j as h,t as Y,S as j}from"./index-BBqwf-sR.js";import{u as F,g as D,n as E,D as L,F as C,f as P}from"./useData-CR6GUHnJ.js";import{P as R}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function J(){const e=v.c(29),{filterSelection:t,setFilterSelection:c}=S.useContext(T),{data:w,years:_,nrens:N}=F("/api/monitoring-tools",c);let s,f;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=w.filter(u);const k=D(s,"tool_descriptions");f=E(k,M),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let o,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Looking Glass","Network or Services Status Dashboard","Historical traffic volume information","Netflow analysis tool"],p=new Map([[o[0],"looking_glass"],[o[1],"status_dashboard"],[o[2],"historical_traffic_volumes"],[o[3],"netflow_analysis"]]),e[8]=o,e[9]=p):(o=e[8],p=e[9]);const y=p;let l;e[10]!==_?(l=[..._],e[10]=_,e[11]=l):l=e[11];let i;e[12]!==N?(i=N.values(),e[12]=N,e[13]=i):i=e[13];let r;e[14]!==i?(r=[...i],e[14]=i,e[15]=r):r=e[15];let a;e[16]!==l||e[17]!==r?(a={availableYears:l,availableNrens:r},e[16]=l,e[17]=r,e[18]=a):a=e[18];let d;e[19]!==t||e[20]!==c||e[21]!==a?(d=h.jsx(C,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=a,e[22]=d):d=e[22];const b=d;let n;e[23]!==g?(n=h.jsx(P,{children:h.jsx(R,{columns:o,columnLookup:y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let m;return e[25]!==b||e[26]!==s||e[27]!==n?(m=h.jsx(L,{title:Y["monitoring-tools"],description:`The table below shows which tools the NREN offers to client institutions to allow them to monitor the network and troubleshoot any issues which arise. +import{c as v,r as S,F as T,j as h,t as Y,S as j}from"./index-C21YiIe4.js";import{u as F,g as D,n as E,D as L,F as C,f as P}from"./useData-DpGbPZTZ.js";import{P as R}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function J(){const e=v.c(29),{filterSelection:t,setFilterSelection:c}=S.useContext(T),{data:w,years:_,nrens:N}=F("/api/monitoring-tools",c);let s,f;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=w.filter(u);const k=D(s,"tool_descriptions");f=E(k,M),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let o,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Looking Glass","Network or Services Status Dashboard","Historical traffic volume information","Netflow analysis tool"],p=new Map([[o[0],"looking_glass"],[o[1],"status_dashboard"],[o[2],"historical_traffic_volumes"],[o[3],"netflow_analysis"]]),e[8]=o,e[9]=p):(o=e[8],p=e[9]);const y=p;let l;e[10]!==_?(l=[..._],e[10]=_,e[11]=l):l=e[11];let i;e[12]!==N?(i=N.values(),e[12]=N,e[13]=i):i=e[13];let r;e[14]!==i?(r=[...i],e[14]=i,e[15]=r):r=e[15];let a;e[16]!==l||e[17]!==r?(a={availableYears:l,availableNrens:r},e[16]=l,e[17]=r,e[18]=a):a=e[18];let d;e[19]!==t||e[20]!==c||e[21]!==a?(d=h.jsx(C,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=a,e[22]=d):d=e[22];const b=d;let n;e[23]!==g?(n=h.jsx(P,{children:h.jsx(R,{columns:o,columnLookup:y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let m;return e[25]!==b||e[26]!==s||e[27]!==n?(m=h.jsx(L,{title:Y["monitoring-tools"],description:`The table below shows which tools the NREN offers to client institutions to allow them to monitor the network and troubleshoot any issues which arise. Four common tools are named, however NRENs also have the opportunity to add their own tools to the table.`,category:j.Network,filter:b,data:s,filename:"monitoring_tools_nrens_per_year",children:n}),e[25]=b,e[26]=s,e[27]=n,e[28]=m):m=e[28],m}function M(e,t){if(e==="netflow_analysis"&&t.netflow_processing_description)return t.netflow_processing_description}export{J as default}; diff --git a/compendium_v2/static/NetworkFunctionVirtualisation-Bm2m0Hjx.js b/compendium_v2/static/NetworkFunctionVirtualisation-zU1YeO1d.js similarity index 92% rename from compendium_v2/static/NetworkFunctionVirtualisation-Bm2m0Hjx.js rename to compendium_v2/static/NetworkFunctionVirtualisation-zU1YeO1d.js index 990e926707855a18d82273e3508db37d28ece2e0..e8ca01ab57da998dbe8dced88c53e5c79c361972 100644 --- a/compendium_v2/static/NetworkFunctionVirtualisation-Bm2m0Hjx.js +++ b/compendium_v2/static/NetworkFunctionVirtualisation-zU1YeO1d.js @@ -1 +1 @@ -import{c as W,r as X,F as Z,S as k,j as t,t as ee}from"./index-BBqwf-sR.js";import{u as te,g as se,F as le,D as re,f as ne}from"./useData-CR6GUHnJ.js";import{C as I}from"./ColorPill-CiiNPUcs.js";import{T as ae}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function ue(){const e=W.c(67),{filterSelection:n,setFilterSelection:h}=X.useContext(Z),{data:J,years:c,nrens:R}=te("/api/nfv",h);let f,p,x,j,m,u,g,v,b,o,d,w,S,Y,N;if(e[0]!==J||e[1]!==n||e[2]!==R||e[3]!==h||e[4]!==c){let A;e[20]!==n.selectedNrens||e[21]!==n.selectedYears?(A=E=>n.selectedYears.includes(E.year)&&n.selectedNrens.includes(E.nren),e[20]=n.selectedNrens,e[21]=n.selectedYears,e[22]=A):A=e[22];const K=J.filter(A),Q=se(K,"nfv_specifics");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let $;e[27]!==T?($=[...T],e[27]=T,e[28]=$):$=e[28];let D;e[29]!==C||e[30]!==$?(D={availableYears:C,availableNrens:$},e[29]=C,e[30]=$,e[31]=D):D=e[31];let L;e[32]!==n||e[33]!==h||e[34]!==D?(L=t.jsx(le,{filterOptions:D,filterSelection:n,setFilterSelection:h,coloredYears:!0}),e[32]=n,e[33]=h,e[34]=D,e[35]=L):L=e[35];const U=L;let O;e[36]!==c?(O=E=>c.has(E),e[36]=c,e[37]=O):O=e[37];const M=[...n.selectedYears.filter(O)].sort();x=re,w=ee.nfv,S="The table below shows the kinds of Network Function Virtualisation (NFV) used by NRENs.",Y=k.Network,N=U,u=K,g="network_function_virtualisation_nrens_per_year",p=ne,f=ae,m="charging-struct-table",v=!0,b=!0;let _;e[38]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("col",{span:1,style:{width:"20%"}}),e[38]=_):_=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"16%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"16%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"16%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"16%"}}),e[42]=G):G=e[42],e[43]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("colgroup",{children:[_,q,z,B,G,t.jsx("col",{span:2,style:{width:"16%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Routers/switches"}),t.jsx("th",{colSpan:2,children:"Firewalls"}),t.jsx("th",{colSpan:2,children:"Load balancers"}),t.jsx("th",{colSpan:2,children:"VPN Concentrator Services"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[43]=o,e[44]=d):(o=e[43],d=e[44]),j=Array.from(Q.entries()).map(E=>{const[H,i]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:H}),["routers","firewalls","load_balancers","vpn_concentrators"].map(l=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="yes"),tooltip:"",rounded:!0},s)})},`${l}-yes`),t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="planned"),tooltip:"",rounded:!0},s)})},`${l}-planned`)]})),t.jsx("td",{children:Array.from(i.keys()).filter(ce).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="yes"),tooltip:l,rounded:!0},s)})},`${l}-yes`))},`${H}-other-yes`),t.jsx("td",{children:Array.from(i.keys()).filter(ie).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="planned"),tooltip:l,rounded:!0},s)})},`${l}-planned`))},`${H}-other-planned`)]},H)}),e[0]=J,e[1]=n,e[2]=R,e[3]=h,e[4]=c,e[5]=f,e[6]=p,e[7]=x,e[8]=j,e[9]=m,e[10]=u,e[11]=g,e[12]=v,e[13]=b,e[14]=o,e[15]=d,e[16]=w,e[17]=S,e[18]=Y,e[19]=N}else f=e[5],p=e[6],x=e[7],j=e[8],m=e[9],u=e[10],g=e[11],v=e[12],b=e[13],o=e[14],d=e[15],w=e[16],S=e[17],Y=e[18],N=e[19];let F;e[45]!==j?(F=t.jsx("tbody",{children:j}),e[45]=j,e[46]=F):F=e[46];let y;e[47]!==f||e[48]!==m||e[49]!==F||e[50]!==v||e[51]!==b||e[52]!==o||e[53]!==d?(y=t.jsxs(f,{className:m,striped:v,bordered:b,children:[o,d,F]}),e[47]=f,e[48]=m,e[49]=F,e[50]=v,e[51]=b,e[52]=o,e[53]=d,e[54]=y):y=e[54];let P;e[55]!==p||e[56]!==y?(P=t.jsx(p,{children:y}),e[55]=p,e[56]=y,e[57]=P):P=e[57];let V;return e[58]!==x||e[59]!==u||e[60]!==g||e[61]!==P||e[62]!==w||e[63]!==S||e[64]!==Y||e[65]!==N?(V=t.jsx(x,{title:w,description:S,category:Y,filter:N,data:u,filename:g,children:P}),e[58]=x,e[59]=u,e[60]=g,e[61]=P,e[62]=w,e[63]=S,e[64]=Y,e[65]=N,e[66]=V):V=e[66],V}function ie(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}function ce(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}export{ue as default}; +import{c as W,r as X,F as Z,S as k,j as t,t as ee}from"./index-C21YiIe4.js";import{u as te,g as se,F as le,D as re,f as ne}from"./useData-DpGbPZTZ.js";import{C as I}from"./ColorPill-DVzGsevT.js";import{T as ae}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function ue(){const e=W.c(67),{filterSelection:n,setFilterSelection:h}=X.useContext(Z),{data:J,years:c,nrens:R}=te("/api/nfv",h);let f,p,x,j,m,u,g,v,b,o,d,w,S,Y,N;if(e[0]!==J||e[1]!==n||e[2]!==R||e[3]!==h||e[4]!==c){let A;e[20]!==n.selectedNrens||e[21]!==n.selectedYears?(A=E=>n.selectedYears.includes(E.year)&&n.selectedNrens.includes(E.nren),e[20]=n.selectedNrens,e[21]=n.selectedYears,e[22]=A):A=e[22];const K=J.filter(A),Q=se(K,"nfv_specifics");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let $;e[27]!==T?($=[...T],e[27]=T,e[28]=$):$=e[28];let D;e[29]!==C||e[30]!==$?(D={availableYears:C,availableNrens:$},e[29]=C,e[30]=$,e[31]=D):D=e[31];let L;e[32]!==n||e[33]!==h||e[34]!==D?(L=t.jsx(le,{filterOptions:D,filterSelection:n,setFilterSelection:h,coloredYears:!0}),e[32]=n,e[33]=h,e[34]=D,e[35]=L):L=e[35];const U=L;let O;e[36]!==c?(O=E=>c.has(E),e[36]=c,e[37]=O):O=e[37];const M=[...n.selectedYears.filter(O)].sort();x=re,w=ee.nfv,S="The table below shows the kinds of Network Function Virtualisation (NFV) used by NRENs.",Y=k.Network,N=U,u=K,g="network_function_virtualisation_nrens_per_year",p=ne,f=ae,m="charging-struct-table",v=!0,b=!0;let _;e[38]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("col",{span:1,style:{width:"20%"}}),e[38]=_):_=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"16%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"16%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"16%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"16%"}}),e[42]=G):G=e[42],e[43]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("colgroup",{children:[_,q,z,B,G,t.jsx("col",{span:2,style:{width:"16%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Routers/switches"}),t.jsx("th",{colSpan:2,children:"Firewalls"}),t.jsx("th",{colSpan:2,children:"Load balancers"}),t.jsx("th",{colSpan:2,children:"VPN Concentrator Services"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[43]=o,e[44]=d):(o=e[43],d=e[44]),j=Array.from(Q.entries()).map(E=>{const[H,i]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:H}),["routers","firewalls","load_balancers","vpn_concentrators"].map(l=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="yes"),tooltip:"",rounded:!0},s)})},`${l}-yes`),t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="planned"),tooltip:"",rounded:!0},s)})},`${l}-planned`)]})),t.jsx("td",{children:Array.from(i.keys()).filter(ce).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="yes"),tooltip:l,rounded:!0},s)})},`${l}-yes`))},`${H}-other-yes`),t.jsx("td",{children:Array.from(i.keys()).filter(ie).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="planned"),tooltip:l,rounded:!0},s)})},`${l}-planned`))},`${H}-other-planned`)]},H)}),e[0]=J,e[1]=n,e[2]=R,e[3]=h,e[4]=c,e[5]=f,e[6]=p,e[7]=x,e[8]=j,e[9]=m,e[10]=u,e[11]=g,e[12]=v,e[13]=b,e[14]=o,e[15]=d,e[16]=w,e[17]=S,e[18]=Y,e[19]=N}else f=e[5],p=e[6],x=e[7],j=e[8],m=e[9],u=e[10],g=e[11],v=e[12],b=e[13],o=e[14],d=e[15],w=e[16],S=e[17],Y=e[18],N=e[19];let F;e[45]!==j?(F=t.jsx("tbody",{children:j}),e[45]=j,e[46]=F):F=e[46];let y;e[47]!==f||e[48]!==m||e[49]!==F||e[50]!==v||e[51]!==b||e[52]!==o||e[53]!==d?(y=t.jsxs(f,{className:m,striped:v,bordered:b,children:[o,d,F]}),e[47]=f,e[48]=m,e[49]=F,e[50]=v,e[51]=b,e[52]=o,e[53]=d,e[54]=y):y=e[54];let P;e[55]!==p||e[56]!==y?(P=t.jsx(p,{children:y}),e[55]=p,e[56]=y,e[57]=P):P=e[57];let V;return e[58]!==x||e[59]!==u||e[60]!==g||e[61]!==P||e[62]!==w||e[63]!==S||e[64]!==Y||e[65]!==N?(V=t.jsx(x,{title:w,description:S,category:Y,filter:N,data:u,filename:g,children:P}),e[58]=x,e[59]=u,e[60]=g,e[61]=P,e[62]=w,e[63]=S,e[64]=Y,e[65]=N,e[66]=V):V=e[66],V}function ie(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}function ce(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}export{ue as default}; diff --git a/compendium_v2/static/NetworkMapUrls-DfMDqGfZ.js b/compendium_v2/static/NetworkMapUrls-CK0r3RFz.js similarity index 77% rename from compendium_v2/static/NetworkMapUrls-DfMDqGfZ.js rename to compendium_v2/static/NetworkMapUrls-CK0r3RFz.js index 80d817840524fb8982996c8c403143086a7aed35..b1cf06f7af6bbc44220eaa308413c395a7f7ffa7 100644 --- a/compendium_v2/static/NetworkMapUrls-DfMDqGfZ.js +++ b/compendium_v2/static/NetworkMapUrls-CK0r3RFz.js @@ -1 +1 @@ -import{c as b,r as h,F as j,j as u,t as y,S as _}from"./index-BBqwf-sR.js";import{u as g,q as v,k as S,i as F,D as C,F as E,f as L,s as R}from"./useData-CR6GUHnJ.js";import{N as T}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function z(){const e=b.c(21),{filterSelection:t,setFilterSelection:r}=h.useContext(j),{data:a,nrens:i}=g("/api/network-map-urls",r);let s,c;if(e[0]!==a||e[1]!==t.selectedNrens){const x=a?v(a):[];let d;e[4]!==t.selectedNrens?(d=w=>t.selectedNrens.includes(w.nren),e[4]=t.selectedNrens,e[5]=d):d=e[5],s=x.filter(d);const D=S(s);c=F(D,Y),e[0]=a,e[1]=t.selectedNrens,e[2]=s,e[3]=c}else s=e[2],c=e[3];const k=c;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let o;e[7]!==i?(o=i.values(),e[7]=i,e[8]=o):o=e[8];let l;e[9]!==o?(l={availableYears:p,availableNrens:[...o]},e[9]=o,e[10]=l):l=e[10];let f;e[11]!==t||e[12]!==r||e[13]!==l?(f=u.jsx(E,{filterOptions:l,filterSelection:t,setFilterSelection:r,coloredYears:!0}),e[11]=t,e[12]=r,e[13]=l,e[14]=f):f=e[14];const N=f;let n;e[15]!==k?(n=u.jsx(L,{children:u.jsx(T,{data:k,columnTitle:"Network Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=k,e[16]=n):n=e[16];let m;return e[17]!==N||e[18]!==s||e[19]!==n?(m=u.jsx(C,{title:y["network-map"],description:"This table provides links to NREN network maps, showing layers 1, 2, and 3 of their networks.",category:_.Network,filter:N,data:s,filename:"network_map_nrens_per_year",children:n}),e[17]=N,e[18]=s,e[19]=n,e[20]=m):m=e[20],m}function Y(e,t){const r=R(t);if(r!=null)for(const[a,i]of Object.entries(r))e[a]=i}export{z as default}; +import{c as b,r as h,F as j,j as u,t as y,S as _}from"./index-C21YiIe4.js";import{u as g,q as v,k as S,i as F,D as C,F as E,f as L,s as R}from"./useData-DpGbPZTZ.js";import{N as T}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function z(){const e=b.c(21),{filterSelection:t,setFilterSelection:r}=h.useContext(j),{data:a,nrens:i}=g("/api/network-map-urls",r);let s,c;if(e[0]!==a||e[1]!==t.selectedNrens){const x=a?v(a):[];let d;e[4]!==t.selectedNrens?(d=w=>t.selectedNrens.includes(w.nren),e[4]=t.selectedNrens,e[5]=d):d=e[5],s=x.filter(d);const D=S(s);c=F(D,Y),e[0]=a,e[1]=t.selectedNrens,e[2]=s,e[3]=c}else s=e[2],c=e[3];const k=c;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let o;e[7]!==i?(o=i.values(),e[7]=i,e[8]=o):o=e[8];let l;e[9]!==o?(l={availableYears:p,availableNrens:[...o]},e[9]=o,e[10]=l):l=e[10];let f;e[11]!==t||e[12]!==r||e[13]!==l?(f=u.jsx(E,{filterOptions:l,filterSelection:t,setFilterSelection:r,coloredYears:!0}),e[11]=t,e[12]=r,e[13]=l,e[14]=f):f=e[14];const N=f;let n;e[15]!==k?(n=u.jsx(L,{children:u.jsx(T,{data:k,columnTitle:"Network Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=k,e[16]=n):n=e[16];let m;return e[17]!==N||e[18]!==s||e[19]!==n?(m=u.jsx(C,{title:y["network-map"],description:"This table provides links to NREN network maps, showing layers 1, 2, and 3 of their networks.",category:_.Network,filter:N,data:s,filename:"network_map_nrens_per_year",children:n}),e[17]=N,e[18]=s,e[19]=n,e[20]=m):m=e[20],m}function Y(e,t){const r=R(t);if(r!=null)for(const[a,i]of Object.entries(r))e[a]=i}export{z as default}; diff --git a/compendium_v2/static/NonRAndEPeer-iQoBgXBj.js b/compendium_v2/static/NonRAndEPeer-CfPSfFs8.js similarity index 81% rename from compendium_v2/static/NonRAndEPeer-iQoBgXBj.js rename to compendium_v2/static/NonRAndEPeer-CfPSfFs8.js index 43ef3ba5d6bb5f9741f011fd3a0af9d4314a2722..482a35ee60de87b0b035250249a2f66052068053 100644 --- a/compendium_v2/static/NonRAndEPeer-iQoBgXBj.js +++ b/compendium_v2/static/NonRAndEPeer-CfPSfFs8.js @@ -1,2 +1,2 @@ -import{c as D,r as F,F as Y,j as u,S as v,t as k}from"./index-BBqwf-sR.js";import{B as A}from"./index-BsZyajo4.js";import{C as L,a as O,L as T,B as $,p as G,c as I,d as M,u as q,o as z,D as H,F as J,f as K}from"./useData-CR6GUHnJ.js";import{p as Q}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import{a as U}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";L.register(O,T,$,G,I,M);function ne(){const e=D.c(38),{filterSelection:t,setFilterSelection:r}=F.useContext(Y),{data:b,years:d,nrens:h}=q("/api/non-re-peers",r);let a,l,s,g;if(e[0]!==b||e[1]!==t||e[2]!==h||e[3]!==r||e[4]!==d){let S;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(S=E=>t.selectedYears.includes(E.year)&&t.selectedNrens.includes(E.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=S):S=e[11],s=b.filter(S),a=z(s,"nr_of_non_r_and_e_peers","Number of Peers");let c;e[12]!==d?(c=[...d],e[12]=d,e[13]=c):c=e[13];let m;e[14]!==h?(m=h.values(),e[14]=h,e[15]=m):m=e[15];let p;e[16]!==m?(p=[...m],e[16]=m,e[17]=p):p=e[17];let f;e[18]!==c||e[19]!==p?(f={availableYears:c,availableNrens:p},e[18]=c,e[19]=p,e[20]=f):f=e[20];let C;e[21]!==t||e[22]!==r||e[23]!==f?(C=u.jsx(J,{filterOptions:f,filterSelection:t,setFilterSelection:r}),e[21]=t,e[22]=r,e[23]=f,e[24]=C):C=e[24],l=C,g=Array.from(new Set(s.map(V))),e[0]=b,e[1]=t,e[2]=h,e[3]=r,e[4]=d,e[5]=a,e[6]=l,e[7]=s,e[8]=g}else a=e[5],l=e[6],s=e[7],g=e[8];const j=g.length,w=Math.max(j*t.selectedYears.length*1.5+5,50),B=k["non-rne-peers"],P=`The graph below shows the number of non-Research and Education networks +import{c as D,r as F,F as Y,j as u,S as v,t as k}from"./index-C21YiIe4.js";import{B as A}from"./index-X7mNNoWD.js";import{C as L,a as O,L as T,B as $,p as G,c as I,d as M,u as q,o as z,D as H,F as J,f as K}from"./useData-DpGbPZTZ.js";import{p as Q}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import{a as U}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";L.register(O,T,$,G,I,M);function ne(){const e=D.c(38),{filterSelection:t,setFilterSelection:r}=F.useContext(Y),{data:b,years:d,nrens:h}=q("/api/non-re-peers",r);let a,l,s,g;if(e[0]!==b||e[1]!==t||e[2]!==h||e[3]!==r||e[4]!==d){let S;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(S=E=>t.selectedYears.includes(E.year)&&t.selectedNrens.includes(E.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=S):S=e[11],s=b.filter(S),a=z(s,"nr_of_non_r_and_e_peers","Number of Peers");let c;e[12]!==d?(c=[...d],e[12]=d,e[13]=c):c=e[13];let m;e[14]!==h?(m=h.values(),e[14]=h,e[15]=m):m=e[15];let p;e[16]!==m?(p=[...m],e[16]=m,e[17]=p):p=e[17];let f;e[18]!==c||e[19]!==p?(f={availableYears:c,availableNrens:p},e[18]=c,e[19]=p,e[20]=f):f=e[20];let C;e[21]!==t||e[22]!==r||e[23]!==f?(C=u.jsx(J,{filterOptions:f,filterSelection:t,setFilterSelection:r}),e[21]=t,e[22]=r,e[23]=f,e[24]=C):C=e[24],l=C,g=Array.from(new Set(s.map(V))),e[0]=b,e[1]=t,e[2]=h,e[3]=r,e[4]=d,e[5]=a,e[6]=l,e[7]=s,e[8]=g}else a=e[5],l=e[6],s=e[7],g=e[8];const j=g.length,w=Math.max(j*t.selectedYears.length*1.5+5,50),B=k["non-rne-peers"],P=`The graph below shows the number of non-Research and Education networks NRENs peer with. This includes all direct IP-peerings to commercial networks, eg. Google`;let _;e[25]===Symbol.for("react.memo_cache_sentinel")?(_=U({title:"Number of Non-R&E Peers"}),e[25]=_):_=e[25];const R=_,y=`${w}rem`;let n;e[26]!==y?(n={height:y},e[26]=y,e[27]=n):n=e[27];let N;e[28]===Symbol.for("react.memo_cache_sentinel")?(N=[Q],e[28]=N):N=e[28];let i;e[29]!==a?(i=u.jsx(A,{data:a,options:R,plugins:N}),e[29]=a,e[30]=i):i=e[30];let o;e[31]!==n||e[32]!==i?(o=u.jsx(K,{children:u.jsx("div",{className:"chart-container",style:n,children:i})}),e[31]=n,e[32]=i,e[33]=o):o=e[33];let x;return e[34]!==l||e[35]!==s||e[36]!==o?(x=u.jsx(H,{title:B,description:P,category:v.Network,filter:l,data:s,filename:"non_r_and_e_peering",children:o}),e[34]=l,e[35]=s,e[36]=o,e[37]=x):x=e[37],x}function V(e){return e.nren}export{ne as default}; diff --git a/compendium_v2/static/NrenYearTable-B0ZNzAfN.js b/compendium_v2/static/NrenYearTable-BIrQ9Kmh.js similarity index 93% rename from compendium_v2/static/NrenYearTable-B0ZNzAfN.js rename to compendium_v2/static/NrenYearTable-BIrQ9Kmh.js index 2eeab5b8faf5d2f1a9a3e45b4cad502d521fe3fc..63a9e85b3a1f5019c73f808a2160a0994689309e 100644 --- a/compendium_v2/static/NrenYearTable-B0ZNzAfN.js +++ b/compendium_v2/static/NrenYearTable-BIrQ9Kmh.js @@ -1 +1 @@ -import{c as j,j as r}from"./index-BBqwf-sR.js";import{w as p}from"./useData-CR6GUHnJ.js";import{T as u}from"./Table-DwZl3W_O.js";function N(f,e,s,l,t){return f?l.startsWith("http")?r.jsx("li",{children:r.jsx("a",{href:p(l),target:"_blank",rel:"noopener noreferrer",style:e,children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s)}function b(f,{dottedBorder:e=!1,noDots:s=!1,keysAreURLs:l=!1,removeDecoration:t=!1}){return Array.from(f.entries()).map(([i,x])=>Array.from(x.entries()).map(([o,m],d)=>{const n={};return t&&(n.textDecoration="none"),r.jsxs("tr",{className:e?"dotted-border":"",children:[r.jsx("td",{className:"pt-3 nren-column text-nowrap",children:d===0&&i}),r.jsx("td",{className:"pt-3 year-column",children:o}),r.jsx("td",{className:"pt-3 blue-column",children:r.jsx("ul",{className:s?"no-list-style-type":"",children:Array.from(Object.entries(m)).map(([a,c],h)=>N(l,n,h,c,a))})})]},i+o)}))}function _(f){const e=j.c(15),{data:s,columnTitle:l,dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}=f;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("th",{className:"nren-column",children:r.jsx("span",{children:"NREN"})}),e[0]=m):m=e[0];let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("th",{className:"year-column",children:r.jsx("span",{children:"Year"})}),e[1]=d):d=e[1];let n;e[2]!==l?(n=r.jsx("thead",{children:r.jsxs("tr",{children:[m,d,r.jsx("th",{className:"blue-column",children:r.jsx("span",{children:l})})]})}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==s||e[5]!==t||e[6]!==x||e[7]!==i||e[8]!==o?(a=b(s,{dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}),e[4]=s,e[5]=t,e[6]=x,e[7]=i,e[8]=o,e[9]=a):a=e[9];let c;e[10]!==a?(c=r.jsx("tbody",{children:a}),e[10]=a,e[11]=c):c=e[11];let h;return e[12]!==n||e[13]!==c?(h=r.jsxs(u,{borderless:!0,className:"compendium-table",children:[n,c]}),e[12]=n,e[13]=c,e[14]=h):h=e[14],h}export{_ as N}; +import{c as j,j as r}from"./index-C21YiIe4.js";import{w as p}from"./useData-DpGbPZTZ.js";import{T as u}from"./Table-DihnUcAL.js";function N(f,e,s,l,t){return f?l.startsWith("http")?r.jsx("li",{children:r.jsx("a",{href:p(l),target:"_blank",rel:"noopener noreferrer",style:e,children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s)}function b(f,{dottedBorder:e=!1,noDots:s=!1,keysAreURLs:l=!1,removeDecoration:t=!1}){return Array.from(f.entries()).map(([i,x])=>Array.from(x.entries()).map(([o,m],d)=>{const n={};return t&&(n.textDecoration="none"),r.jsxs("tr",{className:e?"dotted-border":"",children:[r.jsx("td",{className:"pt-3 nren-column text-nowrap",children:d===0&&i}),r.jsx("td",{className:"pt-3 year-column",children:o}),r.jsx("td",{className:"pt-3 blue-column",children:r.jsx("ul",{className:s?"no-list-style-type":"",children:Array.from(Object.entries(m)).map(([a,c],h)=>N(l,n,h,c,a))})})]},i+o)}))}function _(f){const e=j.c(15),{data:s,columnTitle:l,dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}=f;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("th",{className:"nren-column",children:r.jsx("span",{children:"NREN"})}),e[0]=m):m=e[0];let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("th",{className:"year-column",children:r.jsx("span",{children:"Year"})}),e[1]=d):d=e[1];let n;e[2]!==l?(n=r.jsx("thead",{children:r.jsxs("tr",{children:[m,d,r.jsx("th",{className:"blue-column",children:r.jsx("span",{children:l})})]})}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==s||e[5]!==t||e[6]!==x||e[7]!==i||e[8]!==o?(a=b(s,{dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}),e[4]=s,e[5]=t,e[6]=x,e[7]=i,e[8]=o,e[9]=a):a=e[9];let c;e[10]!==a?(c=r.jsx("tbody",{children:a}),e[10]=a,e[11]=c):c=e[11];let h;return e[12]!==n||e[13]!==c?(h=r.jsxs(u,{borderless:!0,className:"compendium-table",children:[n,c]}),e[12]=n,e[13]=c,e[14]=h):h=e[14],h}export{_ as N}; diff --git a/compendium_v2/static/OPsAutomation-DfRzIAxa.js b/compendium_v2/static/OPsAutomation-BvjS0T0x.js similarity index 82% rename from compendium_v2/static/OPsAutomation-DfRzIAxa.js rename to compendium_v2/static/OPsAutomation-BvjS0T0x.js index 4534e0b6337fb1020cb2e11373c3d46159799b1c..db16a4be3d3e68ac63a484173ebd9b7195373610 100644 --- a/compendium_v2/static/OPsAutomation-DfRzIAxa.js +++ b/compendium_v2/static/OPsAutomation-BvjS0T0x.js @@ -1,3 +1,3 @@ -import{c as y,r as P,F as S,j as h,t as g,S as k}from"./index-BBqwf-sR.js";import{u as v,g as F,n as C,D,F as E,f as L}from"./useData-CR6GUHnJ.js";import{P as R}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function J(){const e=y.c(29),{filterSelection:t,setFilterSelection:c}=P.useContext(S),{data:N,years:x,nrens:_}=v("/api/ops-automation",c);let s,p;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let d;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(d=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=d):d=e[7],s=N.filter(d);const j=F(s,"ops_automation");p=C(j,M),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let o,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Yes","Planned","No"],m=new Map([[o[0],"yes"],[o[1],"planned"],[o[2],"no"]]),e[8]=o,e[9]=m):(o=e[8],m=e[9]);const T=m;let a;e[10]!==x?(a=[...x],e[10]=x,e[11]=a):a=e[11];let l;e[12]!==_?(l=_.values(),e[12]=_,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let r;e[16]!==a||e[17]!==i?(r={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=r):r=e[18];let u;e[19]!==t||e[20]!==c||e[21]!==r?(u=h.jsx(E,{filterOptions:r,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=r,e[22]=u):u=e[22];const Y=u;let n;e[23]!==w?(n=h.jsx(L,{children:h.jsx(R,{columns:o,columnLookup:T,dataLookup:w})}),e[23]=w,e[24]=n):n=e[24];let f;return e[25]!==Y||e[26]!==s||e[27]!==n?(f=h.jsx(D,{title:g["ops-automation"],description:`The table below shows which NRENs have, or plan to, automate their +import{c as y,r as P,F as S,j as h,t as g,S as k}from"./index-C21YiIe4.js";import{u as v,g as F,n as C,D,F as E,f as L}from"./useData-DpGbPZTZ.js";import{P as R}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function J(){const e=y.c(29),{filterSelection:t,setFilterSelection:c}=P.useContext(S),{data:N,years:x,nrens:_}=v("/api/ops-automation",c);let s,p;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let d;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(d=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=d):d=e[7],s=N.filter(d);const j=F(s,"ops_automation");p=C(j,M),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let o,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Yes","Planned","No"],m=new Map([[o[0],"yes"],[o[1],"planned"],[o[2],"no"]]),e[8]=o,e[9]=m):(o=e[8],m=e[9]);const T=m;let a;e[10]!==x?(a=[...x],e[10]=x,e[11]=a):a=e[11];let l;e[12]!==_?(l=_.values(),e[12]=_,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let r;e[16]!==a||e[17]!==i?(r={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=r):r=e[18];let u;e[19]!==t||e[20]!==c||e[21]!==r?(u=h.jsx(E,{filterOptions:r,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=r,e[22]=u):u=e[22];const Y=u;let n;e[23]!==w?(n=h.jsx(L,{children:h.jsx(R,{columns:o,columnLookup:T,dataLookup:w})}),e[23]=w,e[24]=n):n=e[24];let f;return e[25]!==Y||e[26]!==s||e[27]!==n?(f=h.jsx(D,{title:g["ops-automation"],description:`The table below shows which NRENs have, or plan to, automate their operational processes, with specification of which processes, and the names of software and tools used for this given when appropriate.`,category:k.Network,filter:Y,data:s,filename:"ops_automation_nrens_per_year",children:n}),e[25]=Y,e[26]=s,e[27]=n,e[28]=f):f=e[28],f}function M(e,t){if(t.ops_automation_specifics)return t.ops_automation_specifics}export{J as default}; diff --git a/compendium_v2/static/ParentOrganisation-B1rE-icn.js b/compendium_v2/static/ParentOrganisation-DMsp_CHD.js similarity index 83% rename from compendium_v2/static/ParentOrganisation-B1rE-icn.js rename to compendium_v2/static/ParentOrganisation-DMsp_CHD.js index e460d8f212cea773e7d47d7b16c7a55bd502a7c2..76ce6fa4588b653b55369be4538f2b68d8ee71ba 100644 --- a/compendium_v2/static/ParentOrganisation-B1rE-icn.js +++ b/compendium_v2/static/ParentOrganisation-DMsp_CHD.js @@ -1 +1 @@ -import{c as b,r as y,F as j,j as p,S as v}from"./index-BBqwf-sR.js";import{u as E,k as O,i as S,D as F,F as P,f as R}from"./useData-CR6GUHnJ.js";import{N as w}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function q(){const e=b.c(27),{filterSelection:t,setFilterSelection:a}=y.useContext(j),{data:u,years:g,nrens:N}=E("/api/parent-organizations",a);let s,c;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==u){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=h=>t.selectedYears.includes(h.year)&&t.selectedNrens.includes(h.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=u.filter(m);const Y=O(s);c=S(Y,C),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=u,e[3]=s,e[4]=c}else s=e[3],c=e[4];const x=c;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==r||e[15]!==n?(l={availableYears:r,availableNrens:n},e[14]=r,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==a||e[19]!==l?(d=p.jsx(P,{filterOptions:l,filterSelection:t,setFilterSelection:a,max1year:!0}),e[17]=t,e[18]=a,e[19]=l,e[20]=d):d=e[20];const D=d;let o;e[21]!==x?(o=p.jsx(R,{children:p.jsx(w,{data:x,columnTitle:"Parent Organisation",dottedBorder:!0,noDots:!0})}),e[21]=x,e[22]=o):o=e[22];let f;return e[23]!==D||e[24]!==s||e[25]!==o?(f=p.jsx(F,{title:"NREN Parent Organisations",description:"Some NRENs are part of larger organisations, including Ministries or universities. These are shown in the table below. Only NRENs who are managed in this way are available to select.",category:v.Organisation,filter:D,data:s,filename:"nren_parent_organisations",children:o}),e[23]=D,e[24]=s,e[25]=o,e[26]=f):f=e[26],f}function C(e,t){const a=t.name;e[a]=a}export{q as default}; +import{c as b,r as y,F as j,j as p,S as v}from"./index-C21YiIe4.js";import{u as E,k as O,i as S,D as F,F as P,f as R}from"./useData-DpGbPZTZ.js";import{N as w}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function q(){const e=b.c(27),{filterSelection:t,setFilterSelection:a}=y.useContext(j),{data:u,years:g,nrens:N}=E("/api/parent-organizations",a);let s,c;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==u){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=h=>t.selectedYears.includes(h.year)&&t.selectedNrens.includes(h.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=u.filter(m);const Y=O(s);c=S(Y,C),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=u,e[3]=s,e[4]=c}else s=e[3],c=e[4];const x=c;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==r||e[15]!==n?(l={availableYears:r,availableNrens:n},e[14]=r,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==a||e[19]!==l?(d=p.jsx(P,{filterOptions:l,filterSelection:t,setFilterSelection:a,max1year:!0}),e[17]=t,e[18]=a,e[19]=l,e[20]=d):d=e[20];const D=d;let o;e[21]!==x?(o=p.jsx(R,{children:p.jsx(w,{data:x,columnTitle:"Parent Organisation",dottedBorder:!0,noDots:!0})}),e[21]=x,e[22]=o):o=e[22];let f;return e[23]!==D||e[24]!==s||e[25]!==o?(f=p.jsx(F,{title:"NREN Parent Organisations",description:"Some NRENs are part of larger organisations, including Ministries or universities. These are shown in the table below. Only NRENs who are managed in this way are available to select.",category:v.Organisation,filter:D,data:s,filename:"nren_parent_organisations",children:o}),e[23]=D,e[24]=s,e[25]=o,e[26]=f):f=e[26],f}function C(e,t){const a=t.name;e[a]=a}export{q as default}; diff --git a/compendium_v2/static/PassiveMonitoring-67ZDt7r5.js b/compendium_v2/static/PassiveMonitoring-DsP-hnFX.js similarity index 81% rename from compendium_v2/static/PassiveMonitoring-67ZDt7r5.js rename to compendium_v2/static/PassiveMonitoring-DsP-hnFX.js index 573da96d36b5b05755a662ee2af1664fda9e2c54..cc6fa4e635af99ccd29eed17c1949c1101ae18cc 100644 --- a/compendium_v2/static/PassiveMonitoring-67ZDt7r5.js +++ b/compendium_v2/static/PassiveMonitoring-DsP-hnFX.js @@ -1 +1 @@ -import{c as Y,r as j,F as _,j as N,t as y,S as F}from"./index-BBqwf-sR.js";import{u as T,g as k,D as w,F as A,f as C}from"./useData-CR6GUHnJ.js";import{P as D}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function z(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(_),{data:h,years:x,nrens:g}=T("/api/passive-monitoring",c);let o,p;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],o=h.filter(u),p=k(o,"method",!0),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=o,e[4]=p}else o=e[3],p=e[4];const v=p;let l;e[8]!==x?(l=[...x],e[8]=x,e[9]=l):l=e[9];let r;e[10]!==g?(r=g.values(),e[10]=g,e[11]=r):r=e[11];let i;e[12]!==r?(i=[...r],e[12]=r,e[13]=i):i=e[13];let a;e[14]!==l||e[15]!==i?(a={availableYears:l,availableNrens:i},e[14]=l,e[15]=i,e[16]=a):a=e[16];let m;e[17]!==t||e[18]!==c||e[19]!==a?(m=N.jsx(A,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=a,e[20]=m):m=e[20];const P=m;let s,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["No monitoring occurs","SPAN ports","Passive optical TAPS","Both SPAN ports and passive optical TAPS"],f=new Map([[s[0],"null"],[s[1],"span_ports"],[s[2],"taps"],[s[3],"both"]]),e[21]=s,e[22]=f):(s=e[21],f=e[22]);const b=f;let n;e[23]!==v?(n=N.jsx(C,{children:N.jsx(D,{columns:s,dataLookup:v,columnLookup:b})}),e[23]=v,e[24]=n):n=e[24];let d;return e[25]!==P||e[26]!==o||e[27]!==n?(d=N.jsx(w,{title:y["passive-monitoring"],description:"The table below shows the methods NRENs use for the passive monitoring of international traffic.",category:F.Network,filter:P,data:o,filename:"passive_monitoring_nrens_per_year",children:n}),e[25]=P,e[26]=o,e[27]=n,e[28]=d):d=e[28],d}export{z as default}; +import{c as Y,r as j,F as _,j as N,t as y,S as F}from"./index-C21YiIe4.js";import{u as T,g as k,D as w,F as A,f as C}from"./useData-DpGbPZTZ.js";import{P as D}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function z(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(_),{data:h,years:x,nrens:g}=T("/api/passive-monitoring",c);let o,p;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],o=h.filter(u),p=k(o,"method",!0),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=o,e[4]=p}else o=e[3],p=e[4];const v=p;let l;e[8]!==x?(l=[...x],e[8]=x,e[9]=l):l=e[9];let r;e[10]!==g?(r=g.values(),e[10]=g,e[11]=r):r=e[11];let i;e[12]!==r?(i=[...r],e[12]=r,e[13]=i):i=e[13];let a;e[14]!==l||e[15]!==i?(a={availableYears:l,availableNrens:i},e[14]=l,e[15]=i,e[16]=a):a=e[16];let m;e[17]!==t||e[18]!==c||e[19]!==a?(m=N.jsx(A,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=a,e[20]=m):m=e[20];const P=m;let s,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["No monitoring occurs","SPAN ports","Passive optical TAPS","Both SPAN ports and passive optical TAPS"],f=new Map([[s[0],"null"],[s[1],"span_ports"],[s[2],"taps"],[s[3],"both"]]),e[21]=s,e[22]=f):(s=e[21],f=e[22]);const b=f;let n;e[23]!==v?(n=N.jsx(C,{children:N.jsx(D,{columns:s,dataLookup:v,columnLookup:b})}),e[23]=v,e[24]=n):n=e[24];let d;return e[25]!==P||e[26]!==o||e[27]!==n?(d=N.jsx(w,{title:y["passive-monitoring"],description:"The table below shows the methods NRENs use for the passive monitoring of international traffic.",category:F.Network,filter:P,data:o,filename:"passive_monitoring_nrens_per_year",children:n}),e[25]=P,e[26]=o,e[27]=n,e[28]=d):d=e[28],d}export{z as default}; diff --git a/compendium_v2/static/PertTeam-DXjrNlij.js b/compendium_v2/static/PertTeam-C6X3TIKW.js similarity index 80% rename from compendium_v2/static/PertTeam-DXjrNlij.js rename to compendium_v2/static/PertTeam-C6X3TIKW.js index 1f51ae7426186c99880d73ce5ab6d4b54bbd6f29..1f9ae4b4109c06284b099d7f255c2878598cb179 100644 --- a/compendium_v2/static/PertTeam-DXjrNlij.js +++ b/compendium_v2/static/PertTeam-C6X3TIKW.js @@ -1,2 +1,2 @@ -import{c as E,r as _,F as b,j as N,t as g,S as k}from"./index-BBqwf-sR.js";import{u as v,g as F,D as R,F as T,f as C}from"./useData-CR6GUHnJ.js";import{P as D}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function B(){const e=E.c(29),{filterSelection:t,setFilterSelection:c}=_.useContext(b),{data:x,years:P,nrens:Y}=v("/api/pert-team",c);let s,m;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=x.filter(u),m=F(s,"pert_team"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const h=m;let r,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","Planned","No"],p=new Map([[r[0],"yes"],[r[1],"planned"],[r[2],"no"]]),e[8]=r,e[9]=p):(r=e[8],p=e[9]);const y=p;let a;e[10]!==P?(a=[...P],e[10]=P,e[11]=a):a=e[11];let l;e[12]!==Y?(l=Y.values(),e[12]=Y,e[13]=l):l=e[13];let n;e[14]!==l?(n=[...l],e[14]=l,e[15]=n):n=e[15];let o;e[16]!==a||e[17]!==n?(o={availableYears:a,availableNrens:n},e[16]=a,e[17]=n,e[18]=o):o=e[18];let f;e[19]!==t||e[20]!==c||e[21]!==o?(f=N.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=f):f=e[22];const S=f;let i;e[23]!==h?(i=N.jsx(C,{children:N.jsx(D,{columns:r,columnLookup:y,dataLookup:h})}),e[23]=h,e[24]=i):i=e[24];let d;return e[25]!==S||e[26]!==s||e[27]!==i?(d=N.jsx(R,{title:g["pert-team"],description:`Some NRENs have an in-house Performance Enhancement Response Team, +import{c as E,r as _,F as b,j as N,t as g,S as k}from"./index-C21YiIe4.js";import{u as v,g as F,D as R,F as T,f as C}from"./useData-DpGbPZTZ.js";import{P as D}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function B(){const e=E.c(29),{filterSelection:t,setFilterSelection:c}=_.useContext(b),{data:x,years:P,nrens:Y}=v("/api/pert-team",c);let s,m;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=x.filter(u),m=F(s,"pert_team"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const h=m;let r,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","Planned","No"],p=new Map([[r[0],"yes"],[r[1],"planned"],[r[2],"no"]]),e[8]=r,e[9]=p):(r=e[8],p=e[9]);const y=p;let a;e[10]!==P?(a=[...P],e[10]=P,e[11]=a):a=e[11];let l;e[12]!==Y?(l=Y.values(),e[12]=Y,e[13]=l):l=e[13];let n;e[14]!==l?(n=[...l],e[14]=l,e[15]=n):n=e[15];let o;e[16]!==a||e[17]!==n?(o={availableYears:a,availableNrens:n},e[16]=a,e[17]=n,e[18]=o):o=e[18];let f;e[19]!==t||e[20]!==c||e[21]!==o?(f=N.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=f):f=e[22];const S=f;let i;e[23]!==h?(i=N.jsx(C,{children:N.jsx(D,{columns:r,columnLookup:y,dataLookup:h})}),e[23]=h,e[24]=i):i=e[24];let d;return e[25]!==S||e[26]!==s||e[27]!==i?(d=N.jsx(R,{title:g["pert-team"],description:`Some NRENs have an in-house Performance Enhancement Response Team, or PERT, to investigate network performance issues.`,category:k.Network,filter:S,data:s,filename:"pert_team_nrens_per_year",children:i}),e[25]=S,e[26]=s,e[27]=i,e[28]=d):d=e[28],d}export{B as default}; diff --git a/compendium_v2/static/PillTable-DIDz5RFz.js b/compendium_v2/static/PillTable-Douf6TOY.js similarity index 90% rename from compendium_v2/static/PillTable-DIDz5RFz.js rename to compendium_v2/static/PillTable-Douf6TOY.js index 50c09d48e11eb392e55efca04f6ac31ccea86a26..ec5d2c148d0a81a935816db691f4aedfc61f44a0 100644 --- a/compendium_v2/static/PillTable-DIDz5RFz.js +++ b/compendium_v2/static/PillTable-Douf6TOY.js @@ -1 +1 @@ -import{j as t}from"./index-BBqwf-sR.js";import{C as c}from"./ColorPill-CiiNPUcs.js";import{T as u}from"./Table-DwZl3W_O.js";function b({columns:h,dataLookup:o,circle:p=!1,columnLookup:n=new Map}){const x=Array.from(new Set(Array.from(o.values()).flatMap(r=>Array.from(r.keys())))),d=h.map(r=>n.get(r)||r),j=Array.from(new Set(Array.from(o.values()).flatMap(r=>Array.from(r.values()).flatMap(e=>Array.from(e.keys()))))),f=x.filter(r=>{const e=n.get(r);return e?!d.includes(e):!d.includes(r)}).map(r=>n.get(r)||r);return t.jsxs(u,{className:"charging-struct-table",striped:!0,bordered:!0,children:[t.jsx("colgroup",{children:t.jsx("col",{span:1,style:{width:"12rem"}})}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{}),h.map(r=>t.jsx("th",{colSpan:1,children:r},r)),f.length?t.jsx("th",{children:"Other"}):null]})}),t.jsx("tbody",{children:Array.from(o.entries()).map(([r,e])=>t.jsxs("tr",{children:[t.jsx("td",{children:r}),d.map(s=>{const a=e.get(s);return a?t.jsx("td",{children:j.map(l=>{const i=a.get(l)||{};return t.jsx(c,{year:l,active:a.has(l),tooltip:i.tooltip,rounded:p},l)})},s):t.jsx("td",{},s)}),!!f.length&&t.jsx("td",{children:f.map(s=>{const a=e.get(s);return a?Array.from(Array.from(a.entries())).map(([i,m])=>t.jsx(c,{year:i,active:!0,tooltip:m.tooltip||s,rounded:p},i)):void 0})},`${r}-other`)]},r))})]})}export{b as P}; +import{j as t}from"./index-C21YiIe4.js";import{C as c}from"./ColorPill-DVzGsevT.js";import{T as u}from"./Table-DihnUcAL.js";function b({columns:h,dataLookup:o,circle:p=!1,columnLookup:n=new Map}){const x=Array.from(new Set(Array.from(o.values()).flatMap(r=>Array.from(r.keys())))),d=h.map(r=>n.get(r)||r),j=Array.from(new Set(Array.from(o.values()).flatMap(r=>Array.from(r.values()).flatMap(e=>Array.from(e.keys()))))),f=x.filter(r=>{const e=n.get(r);return e?!d.includes(e):!d.includes(r)}).map(r=>n.get(r)||r);return t.jsxs(u,{className:"charging-struct-table",striped:!0,bordered:!0,children:[t.jsx("colgroup",{children:t.jsx("col",{span:1,style:{width:"12rem"}})}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{}),h.map(r=>t.jsx("th",{colSpan:1,children:r},r)),f.length?t.jsx("th",{children:"Other"}):null]})}),t.jsx("tbody",{children:Array.from(o.entries()).map(([r,e])=>t.jsxs("tr",{children:[t.jsx("td",{children:r}),d.map(s=>{const a=e.get(s);return a?t.jsx("td",{children:j.map(l=>{const i=a.get(l)||{};return t.jsx(c,{year:l,active:a.has(l),tooltip:i.tooltip,rounded:p},l)})},s):t.jsx("td",{},s)}),!!f.length&&t.jsx("td",{children:f.map(s=>{const a=e.get(s);return a?Array.from(Array.from(a.entries())).map(([i,m])=>t.jsx(c,{year:i,active:!0,tooltip:m.tooltip||s,rounded:p},i)):void 0})},`${r}-other`)]},r))})]})}export{b as P}; diff --git a/compendium_v2/static/Policy-C0fykeNJ.js b/compendium_v2/static/Policy-BZbKsQ05.js similarity index 80% rename from compendium_v2/static/Policy-C0fykeNJ.js rename to compendium_v2/static/Policy-BZbKsQ05.js index fa7ad9158265e89c0771b62459dd9fe246cd29aa..7f15515090790fc414a6f785469ff7b0e7ccb518 100644 --- a/compendium_v2/static/Policy-C0fykeNJ.js +++ b/compendium_v2/static/Policy-BZbKsQ05.js @@ -1 +1 @@ -import{c as h,r as v,F as E,j as y,t as _,S as b}from"./index-BBqwf-sR.js";import{u as g,q as j,k,i as S,D as q,F as C,f as F}from"./useData-CR6GUHnJ.js";import{N as R}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function W(){const e=h.c(21),{filterSelection:t,setFilterSelection:n}=v.useContext(E),{data:a,nrens:c}=g("/api/policy",n);let i,o;if(e[0]!==a||e[1]!==t.selectedNrens){const D=a?j(a):[];let u;e[4]!==t.selectedNrens?(u=x=>t.selectedNrens.includes(x.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],i=D.filter(u);const P=k(i);o=S(P,T),e[0]=a,e[1]=t.selectedNrens,e[2]=i,e[3]=o}else i=e[2],o=e[3];const d=o;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let l;e[7]!==c?(l=c.values(),e[7]=c,e[8]=l):l=e[8];let s;e[9]!==l?(s={availableYears:p,availableNrens:[...l]},e[9]=l,e[10]=s):s=e[10];let f;e[11]!==t||e[12]!==n||e[13]!==s?(f=y.jsx(C,{filterOptions:s,filterSelection:t,setFilterSelection:n}),e[11]=t,e[12]=n,e[13]=s,e[14]=f):f=e[14];const N=f;let r;e[15]!==d?(r=y.jsx(F,{children:y.jsx(R,{data:d,columnTitle:"Policies",noDots:!0,dottedBorder:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=d,e[16]=r):r=e[16];let m;return e[17]!==N||e[18]!==i||e[19]!==r?(m=y.jsx(q,{title:_.policy,description:"The table shows links to the NRENs policies. We only include links from the most recent response from each NREN.",category:b.Policy,filter:N,data:i,filename:"nren_policies",children:r}),e[17]=N,e[18]=i,e[19]=r,e[20]=m):m=e[20],m}function T(e,t){[["acceptable_use","Acceptable Use Policy"],["connectivity","Connectivity Policy"],["data_protection","Data Protection Policy"],["environmental","Environmental Policy"],["equal_opportunity","Equal Opportunity Policy"],["gender_equality","Gender Equality Plan"],["privacy_notice","Privacy Notice"]].forEach(a=>{const[c,i]=a,o=t[c];o&&(e[i]=o)})}export{W as default}; +import{c as h,r as v,F as E,j as y,t as _,S as b}from"./index-C21YiIe4.js";import{u as g,q as j,k,i as S,D as q,F as C,f as F}from"./useData-DpGbPZTZ.js";import{N as R}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function W(){const e=h.c(21),{filterSelection:t,setFilterSelection:n}=v.useContext(E),{data:a,nrens:c}=g("/api/policy",n);let i,o;if(e[0]!==a||e[1]!==t.selectedNrens){const D=a?j(a):[];let u;e[4]!==t.selectedNrens?(u=x=>t.selectedNrens.includes(x.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],i=D.filter(u);const P=k(i);o=S(P,T),e[0]=a,e[1]=t.selectedNrens,e[2]=i,e[3]=o}else i=e[2],o=e[3];const d=o;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let l;e[7]!==c?(l=c.values(),e[7]=c,e[8]=l):l=e[8];let s;e[9]!==l?(s={availableYears:p,availableNrens:[...l]},e[9]=l,e[10]=s):s=e[10];let f;e[11]!==t||e[12]!==n||e[13]!==s?(f=y.jsx(C,{filterOptions:s,filterSelection:t,setFilterSelection:n}),e[11]=t,e[12]=n,e[13]=s,e[14]=f):f=e[14];const N=f;let r;e[15]!==d?(r=y.jsx(F,{children:y.jsx(R,{data:d,columnTitle:"Policies",noDots:!0,dottedBorder:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=d,e[16]=r):r=e[16];let m;return e[17]!==N||e[18]!==i||e[19]!==r?(m=y.jsx(q,{title:_.policy,description:"The table shows links to the NRENs policies. We only include links from the most recent response from each NREN.",category:b.Policy,filter:N,data:i,filename:"nren_policies",children:r}),e[17]=N,e[18]=i,e[19]=r,e[20]=m):m=e[20],m}function T(e,t){[["acceptable_use","Acceptable Use Policy"],["connectivity","Connectivity Policy"],["data_protection","Data Protection Policy"],["environmental","Environmental Policy"],["equal_opportunity","Equal Opportunity Policy"],["gender_equality","Gender Equality Plan"],["privacy_notice","Privacy Notice"]].forEach(a=>{const[c,i]=a,o=t[c];o&&(e[i]=o)})}export{W as default}; diff --git a/compendium_v2/static/RemoteCampuses-W5kS5FWI.js b/compendium_v2/static/RemoteCampuses-cOIm0vfV.js similarity index 91% rename from compendium_v2/static/RemoteCampuses-W5kS5FWI.js rename to compendium_v2/static/RemoteCampuses-cOIm0vfV.js index 582b5c44e65ae29e5fbbee87cf39338de8efa975..ebc5b9c82ce5a112eb0d61975f66a80f6ce87858 100644 --- a/compendium_v2/static/RemoteCampuses-W5kS5FWI.js +++ b/compendium_v2/static/RemoteCampuses-cOIm0vfV.js @@ -1 +1 @@ -import{c as S,j as n,r as D,F as R,t as E,S as g}from"./index-BBqwf-sR.js";import{u as w,h as F,i as k,D as T,F as B,f as L}from"./useData-CR6GUHnJ.js";import{T as O}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function $({data:e,dottedBorder:t=!1,columns:o}){return Array.from(e.entries()).map(([s,a])=>Array.from(a.entries()).map(([i,d],c)=>n.jsxs("tr",{className:t?"dotted-border":"",children:[n.jsx("td",{className:"pt-3 nren-column text-nowrap",children:c===0&&s}),n.jsx("td",{className:"pt-3 year-column",children:i}),Object.keys(o).map((r,l)=>n.jsx("td",{className:"pt-3 blue-column",children:d[r]},l))]},s+i)))}function A(e){const t=S.c(15),{data:o,dottedBorder:s,columns:a}=e;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("th",{className:"nren-column",children:n.jsx("span",{children:"NREN"})}),t[0]=i):i=t[0];let d;t[1]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("th",{className:"year-column",children:n.jsx("span",{children:"Year"})}),t[1]=d):d=t[1];let c;t[2]!==a?(c=Object.values(a).map(P),t[2]=a,t[3]=c):c=t[3];let r;t[4]!==c?(r=n.jsx("thead",{children:n.jsxs("tr",{children:[i,d,c]})}),t[4]=c,t[5]=r):r=t[5];let l;t[6]!==a||t[7]!==o||t[8]!==s?(l=$({data:o,dottedBorder:s,columns:a}),t[6]=a,t[7]=o,t[8]=s,t[9]=l):l=t[9];let u;t[10]!==l?(u=n.jsx("tbody",{children:l}),t[10]=l,t[11]=u):u=t[11];let m;return t[12]!==r||t[13]!==u?(m=n.jsxs(O,{borderless:!0,className:"compendium-table",children:[r,u]}),t[12]=r,t[13]=u,t[14]=m):m=t[14],m}function P(e,t){return n.jsx("th",{className:"blue-column",children:n.jsx("span",{children:e})},t)}function Q(){const e=S.c(29);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x=>!!x.remote_campus_connectivity,e[0]=t):t=e[0];const o=t,{filterSelection:s,setFilterSelection:a}=D.useContext(R),{data:i,years:d,nrens:c}=w("/api/remote-campuses",a,o);let r,l;if(e[1]!==i||e[2]!==s.selectedNrens||e[3]!==s.selectedYears){let x;e[6]!==s.selectedNrens||e[7]!==s.selectedYears?(x=C=>s.selectedYears.includes(C.year)&&s.selectedNrens.includes(C.nren),e[6]=s.selectedNrens,e[7]=s.selectedYears,e[8]=x):x=e[8],r=i.filter(x);const v=F(r);l=k(v,J),e[1]=i,e[2]=s.selectedNrens,e[3]=s.selectedYears,e[4]=r,e[5]=l}else r=e[4],l=e[5];const u=l;let m;e[9]!==d?(m=[...d],e[9]=d,e[10]=m):m=e[10];let f;e[11]!==c?(f=c.values(),e[11]=c,e[12]=f):f=e[12];let p;e[13]!==f?(p=[...f],e[13]=f,e[14]=p):p=e[14];let h;e[15]!==m||e[16]!==p?(h={availableYears:m,availableNrens:p},e[15]=m,e[16]=p,e[17]=h):h=e[17];let j;e[18]!==s||e[19]!==a||e[20]!==h?(j=n.jsx(B,{filterOptions:h,filterSelection:s,setFilterSelection:a}),e[18]=s,e[19]=a,e[20]=h,e[21]=j):j=e[21];const b=j;let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N={countries:"Countries with Remote Campuses",local_r_and_e_connection:"Local R&E Connection"},e[22]=N):N=e[22];const Y=N;let _;e[23]!==u?(_=n.jsx(L,{children:n.jsx(A,{data:u,columns:Y,dottedBorder:!0})}),e[23]=u,e[24]=_):_=e[24];let y;return e[25]!==b||e[26]!==r||e[27]!==_?(y=n.jsx(T,{title:E["remote-campuses"],description:"NRENs are asked whether they have remote campuses in other countries, and if so, to list the countries where they have remote campuses and whether they are connected to the local R&E network.",category:g.ConnectedUsers,filter:b,data:r,filename:"nren_remote_campuses",children:_}),e[25]=b,e[26]=r,e[27]=_,e[28]=y):y=e[28],y}function J(e,t){for(const o of t){if(!o.remote_campus_connectivity)continue;const s=o.connections.map(X).join(", ");e.countries=s,e.local_r_and_e_connection=o.connections.map(U).join(", ")}}function U(e){return e.local_r_and_e_connection?"Yes":"No"}function X(e){return e.country}export{Q as default}; +import{c as S,j as n,r as D,F as R,t as E,S as g}from"./index-C21YiIe4.js";import{u as w,h as F,i as k,D as T,F as B,f as L}from"./useData-DpGbPZTZ.js";import{T as O}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function $({data:e,dottedBorder:t=!1,columns:o}){return Array.from(e.entries()).map(([s,a])=>Array.from(a.entries()).map(([i,d],c)=>n.jsxs("tr",{className:t?"dotted-border":"",children:[n.jsx("td",{className:"pt-3 nren-column text-nowrap",children:c===0&&s}),n.jsx("td",{className:"pt-3 year-column",children:i}),Object.keys(o).map((r,l)=>n.jsx("td",{className:"pt-3 blue-column",children:d[r]},l))]},s+i)))}function A(e){const t=S.c(15),{data:o,dottedBorder:s,columns:a}=e;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("th",{className:"nren-column",children:n.jsx("span",{children:"NREN"})}),t[0]=i):i=t[0];let d;t[1]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("th",{className:"year-column",children:n.jsx("span",{children:"Year"})}),t[1]=d):d=t[1];let c;t[2]!==a?(c=Object.values(a).map(P),t[2]=a,t[3]=c):c=t[3];let r;t[4]!==c?(r=n.jsx("thead",{children:n.jsxs("tr",{children:[i,d,c]})}),t[4]=c,t[5]=r):r=t[5];let l;t[6]!==a||t[7]!==o||t[8]!==s?(l=$({data:o,dottedBorder:s,columns:a}),t[6]=a,t[7]=o,t[8]=s,t[9]=l):l=t[9];let u;t[10]!==l?(u=n.jsx("tbody",{children:l}),t[10]=l,t[11]=u):u=t[11];let m;return t[12]!==r||t[13]!==u?(m=n.jsxs(O,{borderless:!0,className:"compendium-table",children:[r,u]}),t[12]=r,t[13]=u,t[14]=m):m=t[14],m}function P(e,t){return n.jsx("th",{className:"blue-column",children:n.jsx("span",{children:e})},t)}function Q(){const e=S.c(29);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x=>!!x.remote_campus_connectivity,e[0]=t):t=e[0];const o=t,{filterSelection:s,setFilterSelection:a}=D.useContext(R),{data:i,years:d,nrens:c}=w("/api/remote-campuses",a,o);let r,l;if(e[1]!==i||e[2]!==s.selectedNrens||e[3]!==s.selectedYears){let x;e[6]!==s.selectedNrens||e[7]!==s.selectedYears?(x=C=>s.selectedYears.includes(C.year)&&s.selectedNrens.includes(C.nren),e[6]=s.selectedNrens,e[7]=s.selectedYears,e[8]=x):x=e[8],r=i.filter(x);const v=F(r);l=k(v,J),e[1]=i,e[2]=s.selectedNrens,e[3]=s.selectedYears,e[4]=r,e[5]=l}else r=e[4],l=e[5];const u=l;let m;e[9]!==d?(m=[...d],e[9]=d,e[10]=m):m=e[10];let f;e[11]!==c?(f=c.values(),e[11]=c,e[12]=f):f=e[12];let p;e[13]!==f?(p=[...f],e[13]=f,e[14]=p):p=e[14];let h;e[15]!==m||e[16]!==p?(h={availableYears:m,availableNrens:p},e[15]=m,e[16]=p,e[17]=h):h=e[17];let j;e[18]!==s||e[19]!==a||e[20]!==h?(j=n.jsx(B,{filterOptions:h,filterSelection:s,setFilterSelection:a}),e[18]=s,e[19]=a,e[20]=h,e[21]=j):j=e[21];const b=j;let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N={countries:"Countries with Remote Campuses",local_r_and_e_connection:"Local R&E Connection"},e[22]=N):N=e[22];const Y=N;let _;e[23]!==u?(_=n.jsx(L,{children:n.jsx(A,{data:u,columns:Y,dottedBorder:!0})}),e[23]=u,e[24]=_):_=e[24];let y;return e[25]!==b||e[26]!==r||e[27]!==_?(y=n.jsx(T,{title:E["remote-campuses"],description:"NRENs are asked whether they have remote campuses in other countries, and if so, to list the countries where they have remote campuses and whether they are connected to the local R&E network.",category:g.ConnectedUsers,filter:b,data:r,filename:"nren_remote_campuses",children:_}),e[25]=b,e[26]=r,e[27]=_,e[28]=y):y=e[28],y}function J(e,t){for(const o of t){if(!o.remote_campus_connectivity)continue;const s=o.connections.map(X).join(", ");e.countries=s,e.local_r_and_e_connection=o.connections.map(U).join(", ")}}function U(e){return e.local_r_and_e_connection?"Yes":"No"}function X(e){return e.country}export{Q as default}; diff --git a/compendium_v2/static/ScrollableMatrix-BjIkN-ZD.js b/compendium_v2/static/ScrollableMatrix-di2VBWdy.js similarity index 94% rename from compendium_v2/static/ScrollableMatrix-BjIkN-ZD.js rename to compendium_v2/static/ScrollableMatrix-di2VBWdy.js index e23e7ef6e00cb540c72ffdf4a329d0b5b4d6c893..4b66b3c20c3eaab3e22e16df0568371f66e34d11 100644 --- a/compendium_v2/static/ScrollableMatrix-BjIkN-ZD.js +++ b/compendium_v2/static/ScrollableMatrix-di2VBWdy.js @@ -1 +1 @@ -import{c as T,j as t,e as k}from"./index-BBqwf-sR.js";import{T as A}from"./Table-DwZl3W_O.js";const L=t.jsx("span",{children:"✔"}),O=8;function V(r){const e=T.c(12),{dataLookup:n,rowInfo:s,categoryLookup:h,isTickIcon:b}=r,l=b===void 0?!1:b;if(!n){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"matrix-border"}),e[0]=c):c=e[0],c}let d;if(e[1]!==h||e[2]!==n||e[3]!==l||e[4]!==s){let c;e[6]!==n||e[7]!==l||e[8]!==s?(c=v=>{const[p,E]=v,C=Object.entries(s).map(o=>{const[u,a]=o,i=[];return Array.from(n.entries()).sort(F).forEach(y=>{const[,_]=y;_.forEach(g=>{const f=g.get(p);if(!f)return;const N=f[a]!=null?Object.keys(f[a])[0]:null,I=N!=null&&l?L:N;i.push(I)})}),i.length?t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column",children:u}),i.map(D)]},u):null}),j=Array.from(n.entries()).sort(B).reduce((o,u)=>{const[a,i]=u;return Array.from(i.entries()).forEach(y=>{const[_,g]=y;g.get(p)&&(o[a]||(o[a]=[]),o[a].push(_))}),o},{});for(const o in j)j[o].sort($);return t.jsx(k,{title:E,startCollapsed:!0,theme:"-matrix",children:C?t.jsx("div",{className:"table-responsive",children:t.jsxs(A,{className:"matrix-table",bordered:!0,children:[t.jsx("thead",{children:(()=>{const o=Object.entries(j);return t.jsxs(t.Fragment,{children:[t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.map(w)]}),t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.flatMap(S)]})]})})()}),t.jsx("tbody",{children:C})]})}):t.jsx("div",{style:{paddingLeft:"5%"},children:t.jsx("p",{children:"No data available for this section."})})},p)},e[6]=n,e[7]=l,e[8]=s,e[9]=c):c=e[9],d=Object.entries(h).map(c),e[1]=h,e[2]=n,e[3]=l,e[4]=s,e[5]=d}else d=e[5];const x=d;let m;return e[10]!==x?(m=t.jsx("div",{className:"matrix-border",children:x}),e[10]=x,e[11]=m):m=e[11],m}function S(r){const[e,n]=r;return n.map(s=>t.jsx("th",{children:s},`${e}-${s}`))}function w(r){const[e,n]=r;return t.jsx("th",{colSpan:n.length,style:{width:`${n.length*O}rem`},children:e},e)}function $(r,e){return r-e}function B(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}function D(r,e){return t.jsx("td",{children:r},e)}function F(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}export{V as S}; +import{c as T,j as t,e as k}from"./index-C21YiIe4.js";import{T as A}from"./Table-DihnUcAL.js";const L=t.jsx("span",{children:"✔"}),O=8;function V(r){const e=T.c(12),{dataLookup:n,rowInfo:s,categoryLookup:h,isTickIcon:b}=r,l=b===void 0?!1:b;if(!n){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"matrix-border"}),e[0]=c):c=e[0],c}let d;if(e[1]!==h||e[2]!==n||e[3]!==l||e[4]!==s){let c;e[6]!==n||e[7]!==l||e[8]!==s?(c=v=>{const[p,E]=v,C=Object.entries(s).map(o=>{const[u,a]=o,i=[];return Array.from(n.entries()).sort(F).forEach(y=>{const[,_]=y;_.forEach(g=>{const f=g.get(p);if(!f)return;const N=f[a]!=null?Object.keys(f[a])[0]:null,I=N!=null&&l?L:N;i.push(I)})}),i.length?t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column",children:u}),i.map(D)]},u):null}),j=Array.from(n.entries()).sort(B).reduce((o,u)=>{const[a,i]=u;return Array.from(i.entries()).forEach(y=>{const[_,g]=y;g.get(p)&&(o[a]||(o[a]=[]),o[a].push(_))}),o},{});for(const o in j)j[o].sort($);return t.jsx(k,{title:E,startCollapsed:!0,theme:"-matrix",children:C?t.jsx("div",{className:"table-responsive",children:t.jsxs(A,{className:"matrix-table",bordered:!0,children:[t.jsx("thead",{children:(()=>{const o=Object.entries(j);return t.jsxs(t.Fragment,{children:[t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.map(w)]}),t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.flatMap(S)]})]})})()}),t.jsx("tbody",{children:C})]})}):t.jsx("div",{style:{paddingLeft:"5%"},children:t.jsx("p",{children:"No data available for this section."})})},p)},e[6]=n,e[7]=l,e[8]=s,e[9]=c):c=e[9],d=Object.entries(h).map(c),e[1]=h,e[2]=n,e[3]=l,e[4]=s,e[5]=d}else d=e[5];const x=d;let m;return e[10]!==x?(m=t.jsx("div",{className:"matrix-border",children:x}),e[10]=x,e[11]=m):m=e[11],m}function S(r){const[e,n]=r;return n.map(s=>t.jsx("th",{children:s},`${e}-${s}`))}function w(r){const[e,n]=r;return t.jsx("th",{colSpan:n.length,style:{width:`${n.length*O}rem`},children:e},e)}function $(r,e){return r-e}function B(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}function D(r,e){return t.jsx("td",{children:r},e)}function F(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}export{V as S}; diff --git a/compendium_v2/static/SecurityControls-B10PBLi6.js b/compendium_v2/static/SecurityControls-ObQ71skr.js similarity index 86% rename from compendium_v2/static/SecurityControls-B10PBLi6.js rename to compendium_v2/static/SecurityControls-ObQ71skr.js index 700c8c25b643de0d011f170dc7c4f321392af65f..76fc4b94774fcc9508506285c3fb41e1da5c3494 100644 --- a/compendium_v2/static/SecurityControls-B10PBLi6.js +++ b/compendium_v2/static/SecurityControls-ObQ71skr.js @@ -1,2 +1,2 @@ -import{c as T,r as E,F as L,S as A,j,t as I}from"./index-BBqwf-sR.js";import{u as M,g as O,F as R,D as V,f as W}from"./useData-CR6GUHnJ.js";import{P as $}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function Z(){const e=T.c(51),{filterSelection:t,setFilterSelection:i}=E.useContext(L),{data:w,years:D,nrens:Y}=M("/api/security-controls",i);let s,S;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=P=>t.selectedYears.includes(P.year)&&t.selectedNrens.includes(P.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=w.filter(r),S=O(s,"security_control_descriptions"),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=S}else s=e[3],S=e[4];const C=S;let l;e[8]!==D?(l=[...D],e[8]=D,e[9]=l):l=e[9];let o;e[10]!==Y?(o=Y.values(),e[10]=Y,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let a;e[14]!==l||e[15]!==n?(a={availableYears:l,availableNrens:n},e[14]=l,e[15]=n,e[16]=a):a=e[16];let b;e[17]!==t||e[18]!==i||e[19]!==a?(b=j.jsx(R,{filterOptions:a,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=a,e[20]=b):b=e[20];const F=b;let c,u,m,p,f,d,y,g,h,N,x;if(e[21]!==F||e[22]!==s){const r={anti_virus:"Anti Virus",anti_spam:"Anti-Spam",firewall:"Firewall",ddos_mitigation:"DDoS mitigation",monitoring:"Network monitoring",ips_ids:"IPS/IDS",acl:"ACL",segmentation:"Network segmentation",integrity_checking:"Integrity checking"};p=new Map(Object.entries(r).map(q)),m=V,h=I["security-control"],N=`The table below shows the different security controls, such as anti-virus, integrity checkers, and systemic firewalls used by +import{c as T,r as E,F as L,S as A,j,t as I}from"./index-C21YiIe4.js";import{u as M,g as O,F as R,D as V,f as W}from"./useData-DpGbPZTZ.js";import{P as $}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function Z(){const e=T.c(51),{filterSelection:t,setFilterSelection:i}=E.useContext(L),{data:w,years:D,nrens:Y}=M("/api/security-controls",i);let s,S;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=P=>t.selectedYears.includes(P.year)&&t.selectedNrens.includes(P.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=w.filter(r),S=O(s,"security_control_descriptions"),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=S}else s=e[3],S=e[4];const C=S;let l;e[8]!==D?(l=[...D],e[8]=D,e[9]=l):l=e[9];let o;e[10]!==Y?(o=Y.values(),e[10]=Y,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let a;e[14]!==l||e[15]!==n?(a={availableYears:l,availableNrens:n},e[14]=l,e[15]=n,e[16]=a):a=e[16];let b;e[17]!==t||e[18]!==i||e[19]!==a?(b=j.jsx(R,{filterOptions:a,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=a,e[20]=b):b=e[20];const F=b;let c,u,m,p,f,d,y,g,h,N,x;if(e[21]!==F||e[22]!==s){const r={anti_virus:"Anti Virus",anti_spam:"Anti-Spam",firewall:"Firewall",ddos_mitigation:"DDoS mitigation",monitoring:"Network monitoring",ips_ids:"IPS/IDS",acl:"ACL",segmentation:"Network segmentation",integrity_checking:"Integrity checking"};p=new Map(Object.entries(r).map(q)),m=V,h=I["security-control"],N=`The table below shows the different security controls, such as anti-virus, integrity checkers, and systemic firewalls used by NRENs to protect their assets. Where 'other' controls are mentioned, hover over the marker for more information.`,x=A.Policy,f=F,d=s,y="security_control_nrens_per_year",u=W,c=$,g=Object.values(r),e[21]=F,e[22]=s,e[23]=c,e[24]=u,e[25]=m,e[26]=p,e[27]=f,e[28]=d,e[29]=y,e[30]=g,e[31]=h,e[32]=N,e[33]=x}else c=e[23],u=e[24],m=e[25],p=e[26],f=e[27],d=e[28],y=e[29],g=e[30],h=e[31],N=e[32],x=e[33];let _;e[34]!==c||e[35]!==p||e[36]!==C||e[37]!==g?(_=j.jsx(c,{columns:g,dataLookup:C,circle:!0,columnLookup:p}),e[34]=c,e[35]=p,e[36]=C,e[37]=g,e[38]=_):_=e[38];let k;e[39]!==u||e[40]!==_?(k=j.jsx(u,{children:_}),e[39]=u,e[40]=_,e[41]=k):k=e[41];let v;return e[42]!==m||e[43]!==f||e[44]!==d||e[45]!==y||e[46]!==k||e[47]!==h||e[48]!==N||e[49]!==x?(v=j.jsx(m,{title:h,description:N,category:x,filter:f,data:d,filename:y,children:k}),e[42]=m,e[43]=f,e[44]=d,e[45]=y,e[46]=k,e[47]=h,e[48]=N,e[49]=x,e[50]=v):v=e[50],v}function q(e){const[t,i]=e;return[i,t]}export{Z as default}; diff --git a/compendium_v2/static/ServiceLevelTargets-C7oNFXVU.js b/compendium_v2/static/ServiceLevelTargets-BlFCe2hZ.js similarity index 81% rename from compendium_v2/static/ServiceLevelTargets-C7oNFXVU.js rename to compendium_v2/static/ServiceLevelTargets-BlFCe2hZ.js index 2dc8ec46ac6e3437aa0962beb6e623042b911806..867f34c1e6a0c2fc0372dcd96bf72c7703d2a126 100644 --- a/compendium_v2/static/ServiceLevelTargets-C7oNFXVU.js +++ b/compendium_v2/static/ServiceLevelTargets-BlFCe2hZ.js @@ -1,2 +1,2 @@ -import{c as y,r as j,F,j as v,t as T,S as _}from"./index-BBqwf-sR.js";import{u as E,g as L,D as P,F as w,f as C}from"./useData-CR6GUHnJ.js";import{P as D}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function A(){const e=y.c(29),{filterSelection:t,setFilterSelection:n}=j.useContext(F),{data:h,years:N,nrens:x}=E("/api/service-management",n);let s,f;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&Y.service_level_targets!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=h.filter(p),f=L(s,"service_level_targets"),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let l,d;e[8]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],d=new Map([[l[0],"True"],[l[1],"False"]]),e[8]=l,e[9]=d):(l=e[8],d=e[9]);const b=d;let r;e[10]!==N?(r=[...N],e[10]=N,e[11]=r):r=e[11];let a;e[12]!==x?(a=x.values(),e[12]=x,e[13]=a):a=e[13];let i;e[14]!==a?(i=[...a],e[14]=a,e[15]=i):i=e[15];let o;e[16]!==r||e[17]!==i?(o={availableYears:r,availableNrens:i},e[16]=r,e[17]=i,e[18]=o):o=e[18];let m;e[19]!==t||e[20]!==n||e[21]!==o?(m=v.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[19]=t,e[20]=n,e[21]=o,e[22]=m):m=e[22];const S=m;let c;e[23]!==g?(c=v.jsx(C,{children:v.jsx(D,{columns:l,columnLookup:b,dataLookup:g})}),e[23]=g,e[24]=c):c=e[24];let u;return e[25]!==S||e[26]!==s||e[27]!==c?(u=v.jsx(P,{title:T["service-level-targets"],description:`The table below shows which NRENs offer Service Levels Targets for their services. +import{c as y,r as j,F,j as v,t as T,S as _}from"./index-C21YiIe4.js";import{u as E,g as L,D as P,F as w,f as C}from"./useData-DpGbPZTZ.js";import{P as D}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function A(){const e=y.c(29),{filterSelection:t,setFilterSelection:n}=j.useContext(F),{data:h,years:N,nrens:x}=E("/api/service-management",n);let s,f;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&Y.service_level_targets!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=h.filter(p),f=L(s,"service_level_targets"),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let l,d;e[8]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],d=new Map([[l[0],"True"],[l[1],"False"]]),e[8]=l,e[9]=d):(l=e[8],d=e[9]);const b=d;let r;e[10]!==N?(r=[...N],e[10]=N,e[11]=r):r=e[11];let a;e[12]!==x?(a=x.values(),e[12]=x,e[13]=a):a=e[13];let i;e[14]!==a?(i=[...a],e[14]=a,e[15]=i):i=e[15];let o;e[16]!==r||e[17]!==i?(o={availableYears:r,availableNrens:i},e[16]=r,e[17]=i,e[18]=o):o=e[18];let m;e[19]!==t||e[20]!==n||e[21]!==o?(m=v.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[19]=t,e[20]=n,e[21]=o,e[22]=m):m=e[22];const S=m;let c;e[23]!==g?(c=v.jsx(C,{children:v.jsx(D,{columns:l,columnLookup:b,dataLookup:g})}),e[23]=g,e[24]=c):c=e[24];let u;return e[25]!==S||e[26]!==s||e[27]!==c?(u=v.jsx(P,{title:T["service-level-targets"],description:`The table below shows which NRENs offer Service Levels Targets for their services. If NRENs have never responded to this question in the survey, they are excluded. `,category:_.Policy,filter:S,data:s,filename:"service_level_targets",children:c}),e[25]=S,e[26]=s,e[27]=c,e[28]=u):u=e[28],u}export{A as default}; diff --git a/compendium_v2/static/ServiceManagementFramework-DeX-yEi-.js b/compendium_v2/static/ServiceManagementFramework-D8PCm8yD.js similarity index 81% rename from compendium_v2/static/ServiceManagementFramework-DeX-yEi-.js rename to compendium_v2/static/ServiceManagementFramework-D8PCm8yD.js index ee825afbe526d9b4aaa19fad277b852e8a7d4aee..98907e98bff775f2b7b92a73dd8059314ccf7ed3 100644 --- a/compendium_v2/static/ServiceManagementFramework-DeX-yEi-.js +++ b/compendium_v2/static/ServiceManagementFramework-D8PCm8yD.js @@ -1,2 +1,2 @@ -import{c as b,r as F,F as S,j as h,t as j,S as _}from"./index-BBqwf-sR.js";import{u as y,g as E,D as P,F as C,f as D}from"./useData-CR6GUHnJ.js";import{P as R}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function B(){const e=b.c(29),{filterSelection:t,setFilterSelection:c}=F.useContext(S),{data:v,years:N,nrens:w}=y("/api/service-management",c);let s,m;if(e[0]!==v||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.service_management_framework!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=v.filter(u),m=E(s,"service_management_framework"),e[0]=v,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const g=m;let r,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","No"],f=new Map([[r[0],"True"],[r[1],"False"]]),e[8]=r,e[9]=f):(r=e[8],f=e[9]);const Y=f;let a;e[10]!==N?(a=[...N],e[10]=N,e[11]=a):a=e[11];let l;e[12]!==w?(l=w.values(),e[12]=w,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let o;e[16]!==a||e[17]!==i?(o={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=o):o=e[18];let p;e[19]!==t||e[20]!==c||e[21]!==o?(p=h.jsx(C,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=p):p=e[22];const x=p;let n;e[23]!==g?(n=h.jsx(D,{children:h.jsx(R,{columns:r,columnLookup:Y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let d;return e[25]!==x||e[26]!==s||e[27]!==n?(d=h.jsx(P,{title:j["service-management-framework"],description:`The chart below shows which NRENs operate a formal service management framework +import{c as b,r as F,F as S,j as h,t as j,S as _}from"./index-C21YiIe4.js";import{u as y,g as E,D as P,F as C,f as D}from"./useData-DpGbPZTZ.js";import{P as R}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function B(){const e=b.c(29),{filterSelection:t,setFilterSelection:c}=F.useContext(S),{data:v,years:N,nrens:w}=y("/api/service-management",c);let s,m;if(e[0]!==v||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.service_management_framework!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=v.filter(u),m=E(s,"service_management_framework"),e[0]=v,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const g=m;let r,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","No"],f=new Map([[r[0],"True"],[r[1],"False"]]),e[8]=r,e[9]=f):(r=e[8],f=e[9]);const Y=f;let a;e[10]!==N?(a=[...N],e[10]=N,e[11]=a):a=e[11];let l;e[12]!==w?(l=w.values(),e[12]=w,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let o;e[16]!==a||e[17]!==i?(o={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=o):o=e[18];let p;e[19]!==t||e[20]!==c||e[21]!==o?(p=h.jsx(C,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=p):p=e[22];const x=p;let n;e[23]!==g?(n=h.jsx(D,{children:h.jsx(R,{columns:r,columnLookup:Y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let d;return e[25]!==x||e[26]!==s||e[27]!==n?(d=h.jsx(P,{title:j["service-management-framework"],description:`The chart below shows which NRENs operate a formal service management framework for all of their services. NRENs which have never answered this question cannot be selected.`,category:_.Policy,filter:x,data:s,filename:"service_management_framework",children:n}),e[25]=x,e[26]=s,e[27]=n,e[28]=d):d=e[28],d}export{B as default}; diff --git a/compendium_v2/static/Services-B-YPBJn5.js b/compendium_v2/static/Services-mJACzTuN.js similarity index 95% rename from compendium_v2/static/Services-B-YPBJn5.js rename to compendium_v2/static/Services-mJACzTuN.js index a6c25211dea7b9b6b2ffa26566545d0bf9890d40..eb1d9d035e10317e094197003791963d64c13804 100644 --- a/compendium_v2/static/Services-B-YPBJn5.js +++ b/compendium_v2/static/Services-mJACzTuN.js @@ -1,4 +1,4 @@ -import{_ as se,c as U,j as s,r as ie,F as re,a0 as g,S as ae,t as N}from"./index-BBqwf-sR.js";import{u as oe,g as le,F as ce,D as ne,f as de}from"./useData-CR6GUHnJ.js";import{T as me}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";function Q(v){return se({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"},child:[]}]})(v)}function pe(v){const e=U.c(9),{year:i,active:t,serviceInfo:l,tickServiceIndex:u,current:a}=v;let r="No additional information available";if(l!==void 0){const x=l.service_name;let n=l.product_name,d=l.official_description,m=l.additional_information;(n!=""||d!=""||m!="")&&(n=n||"N/A",d=d||"N/A",m=m||"N/A",r=x+` +import{_ as se,c as U,j as s,r as ie,F as re,a0 as g,S as ae,t as N}from"./index-C21YiIe4.js";import{u as oe,g as le,F as ce,D as ne,f as de}from"./useData-DpGbPZTZ.js";import{T as me}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";function Q(v){return se({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"},child:[]}]})(v)}function pe(v){const e=U.c(9),{year:i,active:t,serviceInfo:l,tickServiceIndex:u,current:a}=v;let r="No additional information available";if(l!==void 0){const x=l.service_name;let n=l.product_name,d=l.official_description,m=l.additional_information;(n!=""||d!=""||m!="")&&(n=n||"N/A",d=d||"N/A",m=m||"N/A",r=x+` `+n+` Description: `+d+` diff --git a/compendium_v2/static/ServicesOffered-CfB4G-Ps.js b/compendium_v2/static/ServicesOffered--YrTPOcd.js similarity index 86% rename from compendium_v2/static/ServicesOffered-CfB4G-Ps.js rename to compendium_v2/static/ServicesOffered--YrTPOcd.js index a12d385df08d53205349d33429ecbea7f0a92cc3..d1a0625979a7f1e4bfd25aca97f8441a25abc46f 100644 --- a/compendium_v2/static/ServicesOffered-CfB4G-Ps.js +++ b/compendium_v2/static/ServicesOffered--YrTPOcd.js @@ -1 +1 @@ -import{c as b,r as w,F as j,j as c,t as k,S as C,U as E}from"./index-BBqwf-sR.js";import{u as Y,r as F,D as I,F as P,f as R}from"./useData-CR6GUHnJ.js";import{S as D}from"./ScrollableMatrix-BjIkN-ZD.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function z(){const e=b.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=Y("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=F(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const x=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(P,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const N=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const _=p;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=u):u=e[22];let l;e[23]!==x?(l=c.jsx(R,{children:c.jsx(D,{dataLookup:x,rowInfo:_,categoryLookup:E,isTickIcon:!0})}),e[23]=x,e[24]=l):l=e[24];let m;return e[25]!==N||e[26]!==s||e[27]!==l?(m=c.jsx(I,{title:k["services-offered"],description:u,category:C.Policy,filter:N,data:s,filename:"nren_services_offered",children:l}),e[25]=N,e[26]=s,e[27]=l,e[28]=m):m=e[28],m}export{z as default}; +import{c as b,r as w,F as j,j as c,t as k,S as C,U as E}from"./index-C21YiIe4.js";import{u as Y,r as F,D as I,F as P,f as R}from"./useData-DpGbPZTZ.js";import{S as D}from"./ScrollableMatrix-di2VBWdy.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function z(){const e=b.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=Y("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=F(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const x=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(P,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const N=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const _=p;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=u):u=e[22];let l;e[23]!==x?(l=c.jsx(R,{children:c.jsx(D,{dataLookup:x,rowInfo:_,categoryLookup:E,isTickIcon:!0})}),e[23]=x,e[24]=l):l=e[24];let m;return e[25]!==N||e[26]!==s||e[27]!==l?(m=c.jsx(I,{title:k["services-offered"],description:u,category:C.Policy,filter:N,data:s,filename:"nren_services_offered",children:l}),e[25]=N,e[26]=s,e[27]=l,e[28]=m):m=e[28],m}export{z as default}; diff --git a/compendium_v2/static/SideBar-C91-oLVm.js b/compendium_v2/static/SideBar-SlK9Rn9C.js similarity index 95% rename from compendium_v2/static/SideBar-C91-oLVm.js rename to compendium_v2/static/SideBar-SlK9Rn9C.js index 7f32364a08cf02cc6f790b66525a5a930cb2f0c0..7c7b7483bdf1180f3e823b5470c510a5385ee894 100644 --- a/compendium_v2/static/SideBar-C91-oLVm.js +++ b/compendium_v2/static/SideBar-SlK9Rn9C.js @@ -1 +1 @@ -import{c as N,r as y,j as t,Y as S,Z as k}from"./index-BBqwf-sR.js";const _=E=>{const e=N.c(23),{children:x,survey:m}=E,[s,b]=y.useState(!1);let d;e[0]!==s?(d=a=>{a.stopPropagation(),a.preventDefault(),b(!s)},e[0]=s,e[1]=d):d=e[1];const l=d;let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=a=>{a.target.closest("#sidebar")||a.target.closest(".toggle-btn")||b(!1)},e[2]=f):f=e[2];const j=f;let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=()=>(document.addEventListener("click",j),()=>{document.removeEventListener("click",j)}),e[3]=p):p=e[3],y.useEffect(p);let i;e[4]!==s||e[5]!==m?(i=[],s||i.push("no-sidebar"),m&&i.push("survey"),e[4]=s,e[5]=m,e[6]=i):i=e[6];const g=i.join(" ");let o;e[7]!==x?(o=t.jsx("div",{className:"menu-items",children:x}),e[7]=x,e[8]=o):o=e[8];let c;e[9]!==g||e[10]!==o?(c=t.jsx("nav",{className:g,id:"sidebar",children:o}),e[9]=g,e[10]=o,e[11]=c):c=e[11];const v=`toggle-btn${m?"-survey":""}`;let u;e[12]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx("span",{children:"MENU"}),e[12]=u):u=e[12];let n;e[13]!==s||e[14]!==l?(n=t.jsxs("div",{className:"toggle-btn-wrapper",children:[u," ",s?t.jsx(S,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l}):t.jsx(k,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l})]}),e[13]=s,e[14]=l,e[15]=n):n=e[15];let r;e[16]!==v||e[17]!==n||e[18]!==l?(r=t.jsx("div",{className:v,onClick:l,children:n}),e[16]=v,e[17]=n,e[18]=l,e[19]=r):r=e[19];let h;return e[20]!==r||e[21]!==c?(h=t.jsxs("div",{className:"sidebar-wrapper",children:[c,r]}),e[20]=r,e[21]=c,e[22]=h):h=e[22],h};export{_ as S}; +import{c as N,r as y,j as t,Y as S,Z as k}from"./index-C21YiIe4.js";const _=E=>{const e=N.c(23),{children:x,survey:m}=E,[s,b]=y.useState(!1);let d;e[0]!==s?(d=a=>{a.stopPropagation(),a.preventDefault(),b(!s)},e[0]=s,e[1]=d):d=e[1];const l=d;let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=a=>{a.target.closest("#sidebar")||a.target.closest(".toggle-btn")||b(!1)},e[2]=f):f=e[2];const j=f;let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=()=>(document.addEventListener("click",j),()=>{document.removeEventListener("click",j)}),e[3]=p):p=e[3],y.useEffect(p);let i;e[4]!==s||e[5]!==m?(i=[],s||i.push("no-sidebar"),m&&i.push("survey"),e[4]=s,e[5]=m,e[6]=i):i=e[6];const g=i.join(" ");let o;e[7]!==x?(o=t.jsx("div",{className:"menu-items",children:x}),e[7]=x,e[8]=o):o=e[8];let c;e[9]!==g||e[10]!==o?(c=t.jsx("nav",{className:g,id:"sidebar",children:o}),e[9]=g,e[10]=o,e[11]=c):c=e[11];const v=`toggle-btn${m?"-survey":""}`;let u;e[12]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx("span",{children:"MENU"}),e[12]=u):u=e[12];let n;e[13]!==s||e[14]!==l?(n=t.jsxs("div",{className:"toggle-btn-wrapper",children:[u," ",s?t.jsx(S,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l}):t.jsx(k,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l})]}),e[13]=s,e[14]=l,e[15]=n):n=e[15];let r;e[16]!==v||e[17]!==n||e[18]!==l?(r=t.jsx("div",{className:v,onClick:l,children:n}),e[16]=v,e[17]=n,e[18]=l,e[19]=r):r=e[19];let h;return e[20]!==r||e[21]!==c?(h=t.jsxs("div",{className:"sidebar-wrapper",children:[c,r]}),e[20]=r,e[21]=c,e[22]=h):h=e[22],h};export{_ as S}; diff --git a/compendium_v2/static/SiemVendors-BPyX0FuH.js b/compendium_v2/static/SiemVendors-iAXG_Qfa.js similarity index 79% rename from compendium_v2/static/SiemVendors-BPyX0FuH.js rename to compendium_v2/static/SiemVendors-iAXG_Qfa.js index 4e40a345ac1723ec31296ff5ca2b7a1393ece3ee..ad64b5f4fecb51a40b7ea19a5c9c01ff124a31d6 100644 --- a/compendium_v2/static/SiemVendors-BPyX0FuH.js +++ b/compendium_v2/static/SiemVendors-iAXG_Qfa.js @@ -1 +1 @@ -import{c as Y,r as j,F as E,j as u,t as _,S as g}from"./index-BBqwf-sR.js";import{u as k,g as C,D as F,F as D,f as P}from"./useData-CR6GUHnJ.js";import{P as R}from"./PillTable-DIDz5RFz.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./ColorPill-CiiNPUcs.js";import"./Table-DwZl3W_O.js";function $(){const e=Y.c(28),{filterSelection:t,setFilterSelection:n}=j.useContext(E),{data:x,years:N,nrens:S}=k("/api/siem-vendors",n);let s,c;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=x.filter(p),c=C(s,"vendor_names"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=c}else s=e[3],c=e[4];const b=c;let r;e[8]!==N?(r=[...N],e[8]=N,e[9]=r):r=e[9];let l;e[10]!==S?(l=S.values(),e[10]=S,e[11]=l):l=e[11];let a;e[12]!==l?(a=[...l],e[12]=l,e[13]=a):a=e[13];let i;e[14]!==r||e[15]!==a?(i={availableYears:r,availableNrens:a},e[14]=r,e[15]=a,e[16]=i):i=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==i?(d=u.jsx(D,{filterOptions:i,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[17]=t,e[18]=n,e[19]=i,e[20]=d):d=e[20];const h=d;let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=["Splunk","IBM Qradar","Exabeam","LogRythm","Securonix"],e[21]=m):m=e[21];const y=m;let o;e[22]!==b?(o=u.jsx(P,{children:u.jsx(R,{columns:y,dataLookup:b,circle:!0})}),e[22]=b,e[23]=o):o=e[23];let f;return e[24]!==h||e[25]!==s||e[26]!==o?(f=u.jsx(F,{title:_["siem-vendors"],description:"The table below shows the kinds of vendors of SIEM/SOC systems used by NRENs.",category:g.Network,filter:h,data:s,filename:"siem_vendor_nrens_per_year",children:o}),e[24]=h,e[25]=s,e[26]=o,e[27]=f):f=e[27],f}export{$ as default}; +import{c as Y,r as j,F as E,j as u,t as _,S as g}from"./index-C21YiIe4.js";import{u as k,g as C,D as F,F as D,f as P}from"./useData-DpGbPZTZ.js";import{P as R}from"./PillTable-Douf6TOY.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./ColorPill-DVzGsevT.js";import"./Table-DihnUcAL.js";function $(){const e=Y.c(28),{filterSelection:t,setFilterSelection:n}=j.useContext(E),{data:x,years:N,nrens:S}=k("/api/siem-vendors",n);let s,c;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=x.filter(p),c=C(s,"vendor_names"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=c}else s=e[3],c=e[4];const b=c;let r;e[8]!==N?(r=[...N],e[8]=N,e[9]=r):r=e[9];let l;e[10]!==S?(l=S.values(),e[10]=S,e[11]=l):l=e[11];let a;e[12]!==l?(a=[...l],e[12]=l,e[13]=a):a=e[13];let i;e[14]!==r||e[15]!==a?(i={availableYears:r,availableNrens:a},e[14]=r,e[15]=a,e[16]=i):i=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==i?(d=u.jsx(D,{filterOptions:i,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[17]=t,e[18]=n,e[19]=i,e[20]=d):d=e[20];const h=d;let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=["Splunk","IBM Qradar","Exabeam","LogRythm","Securonix"],e[21]=m):m=e[21];const y=m;let o;e[22]!==b?(o=u.jsx(P,{children:u.jsx(R,{columns:y,dataLookup:b,circle:!0})}),e[22]=b,e[23]=o):o=e[23];let f;return e[24]!==h||e[25]!==s||e[26]!==o?(f=u.jsx(F,{title:_["siem-vendors"],description:"The table below shows the kinds of vendors of SIEM/SOC systems used by NRENs.",category:g.Network,filter:h,data:s,filename:"siem_vendor_nrens_per_year",children:o}),e[24]=h,e[25]=s,e[26]=o,e[27]=f):f=e[27],f}export{$ as default}; diff --git a/compendium_v2/static/StaffGraph-DHqO65B7.js b/compendium_v2/static/StaffGraph-C29hvCFC.js similarity index 89% rename from compendium_v2/static/StaffGraph-DHqO65B7.js rename to compendium_v2/static/StaffGraph-C29hvCFC.js index 7080f03cf06b2f59e72950ddb622e15173916120..aa3c0c2326b68a5fe4fe664ba37701b308d0516d 100644 --- a/compendium_v2/static/StaffGraph-DHqO65B7.js +++ b/compendium_v2/static/StaffGraph-C29hvCFC.js @@ -1,4 +1,4 @@ -import{c as $,r as B,F as A,j as x,S as M,t as R}from"./index-BBqwf-sR.js";import{B as P}from"./index-BsZyajo4.js";import{C as g,a as q,L as W,B as G,p as V,c as z,d as H,u as J,l as K,D as Q,F as U}from"./useData-CR6GUHnJ.js";import{h as X,W as Z}from"./HTMLLegendPlugin-B1BRh7XI.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";g.register(q,W,G,V,z,H);const I={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(t){let e=t.dataset.label||"";return t.parsed.x!==null&&(e+=`: ${t.parsed.x}%`),e}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(t,e)=>`${e*10}%`}},x2:{ticks:{callback:t=>typeof t=="number"?`${t}%`:t},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const e=Object.keys(g.instances);let r=-999999,s=999999;for(const n of e)g.instances[n]&&t.chart.scales.x2&&(s=Math.min(g.instances[n].scales.x.min,s),r=Math.max(g.instances[n].scales.x.max,r));t.chart.scales.x2.options.min=s,t.chart.scales.x2.options.max=r,t.chart.scales.x2.min=s,t.chart.scales.x2.max=r}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ce(t){const e=$.c(39),{roles:r}=t,s=r===void 0?!1:r;let n;e[0]!==s?(n=function(i){return s&&i.technical_fte>0&&i.non_technical_fte>0||!s&&i.permanent_fte>0&&i.subcontracted_fte>0},e[0]=s,e[1]=n):n=e[1];const Y=n,{filterSelection:a,setFilterSelection:y}=B.useContext(A),{data:k,years:S,nrens:w}=J("/api/staff",y,Y);let l,b;if(e[2]!==k||e[3]!==a.selectedNrens||e[4]!==a.selectedYears||e[5]!==s){let u;e[8]!==a.selectedNrens||e[9]!==a.selectedYears?(u=i=>a.selectedYears.includes(i.year)&&a.selectedNrens.includes(i.nren),e[8]=a.selectedNrens,e[9]=a.selectedYears,e[10]=u):u=e[10],l=k.filter(u),b=K(l,s,a.selectedYears[0]),e[2]=k,e[3]=a.selectedNrens,e[4]=a.selectedYears,e[5]=s,e[6]=l,e[7]=b}else l=e[6],b=e[7];const F=b;let c;e[11]!==S?(c=[...S],e[11]=S,e[12]=c):c=e[12];let o;e[13]!==w?(o=w.values(),e[13]=w,e[14]=o):o=e[14];let f;e[15]!==o?(f=[...o],e[15]=o,e[16]=f):f=e[16];let d;e[17]!==c||e[18]!==f?(d={availableYears:c,availableNrens:f},e[17]=c,e[18]=f,e[19]=d):d=e[19];let N;e[20]!==a||e[21]!==y||e[22]!==d?(N=x.jsx(U,{max1year:!0,filterOptions:d,filterSelection:a,setFilterSelection:y}),e[20]=a,e[21]=y,e[22]=d,e[23]=N):N=e[23];const T=N,L=l.length,O=Math.max(L*1.5,20),v=s?R.roles:R.employment,C=s?`The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. +import{c as $,r as B,F as A,j as x,S as M,t as R}from"./index-C21YiIe4.js";import{B as P}from"./index-X7mNNoWD.js";import{C as g,a as q,L as W,B as G,p as V,c as z,d as H,u as J,l as K,D as Q,F as U}from"./useData-DpGbPZTZ.js";import{h as X,W as Z}from"./HTMLLegendPlugin-B8KIQm6m.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";g.register(q,W,G,V,z,H);const I={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(t){let e=t.dataset.label||"";return t.parsed.x!==null&&(e+=`: ${t.parsed.x}%`),e}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(t,e)=>`${e*10}%`}},x2:{ticks:{callback:t=>typeof t=="number"?`${t}%`:t},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const e=Object.keys(g.instances);let r=-999999,s=999999;for(const n of e)g.instances[n]&&t.chart.scales.x2&&(s=Math.min(g.instances[n].scales.x.min,s),r=Math.max(g.instances[n].scales.x.max,r));t.chart.scales.x2.options.min=s,t.chart.scales.x2.options.max=r,t.chart.scales.x2.min=s,t.chart.scales.x2.max=r}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ce(t){const e=$.c(39),{roles:r}=t,s=r===void 0?!1:r;let n;e[0]!==s?(n=function(i){return s&&i.technical_fte>0&&i.non_technical_fte>0||!s&&i.permanent_fte>0&&i.subcontracted_fte>0},e[0]=s,e[1]=n):n=e[1];const Y=n,{filterSelection:a,setFilterSelection:y}=B.useContext(A),{data:k,years:S,nrens:w}=J("/api/staff",y,Y);let l,b;if(e[2]!==k||e[3]!==a.selectedNrens||e[4]!==a.selectedYears||e[5]!==s){let u;e[8]!==a.selectedNrens||e[9]!==a.selectedYears?(u=i=>a.selectedYears.includes(i.year)&&a.selectedNrens.includes(i.nren),e[8]=a.selectedNrens,e[9]=a.selectedYears,e[10]=u):u=e[10],l=k.filter(u),b=K(l,s,a.selectedYears[0]),e[2]=k,e[3]=a.selectedNrens,e[4]=a.selectedYears,e[5]=s,e[6]=l,e[7]=b}else l=e[6],b=e[7];const F=b;let c;e[11]!==S?(c=[...S],e[11]=S,e[12]=c):c=e[12];let o;e[13]!==w?(o=w.values(),e[13]=w,e[14]=o):o=e[14];let f;e[15]!==o?(f=[...o],e[15]=o,e[16]=f):f=e[16];let d;e[17]!==c||e[18]!==f?(d={availableYears:c,availableNrens:f},e[17]=c,e[18]=f,e[19]=d):d=e[19];let N;e[20]!==a||e[21]!==y||e[22]!==d?(N=x.jsx(U,{max1year:!0,filterOptions:d,filterSelection:a,setFilterSelection:y}),e[20]=a,e[21]=y,e[22]=d,e[23]=N):N=e[23];const T=N,L=l.length,O=Math.max(L*1.5,20),v=s?R.roles:R.employment,C=s?`The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. The exact figures of how many FTEs are dedicated to these two different functional areas can be accessed by downloading the data in either CSV or Excel format`:`The graph shows the percentage of NREN staff who are permanent, and those who are subcontracted. The structures and models of NRENs differ across the community, which is reflected in the types of employment offered. The NRENs are asked to provide the Full Time Equivalents (FTEs) rather absolute numbers of staff.`,j=s?"roles_of_nren_employees":"types_of_employment_for_nrens",D=`${O}rem`;let m;e[24]!==D?(m={height:D},e[24]=D,e[25]=m):m=e[25];let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=[X],e[26]=_):_=e[26];let h;e[27]!==F?(h=x.jsx(P,{data:F,options:I,plugins:_}),e[27]=F,e[28]=h):h=e[28];let p;e[29]!==m||e[30]!==h?(p=x.jsx(Z,{children:x.jsx("div",{className:"chart-container",style:m,children:h})}),e[29]=m,e[30]=h,e[31]=p):p=e[31];let E;return e[32]!==C||e[33]!==j||e[34]!==T||e[35]!==l||e[36]!==p||e[37]!==v?(E=x.jsx(Q,{title:v,description:C,category:M.Organisation,filter:T,data:l,filename:j,children:p}),e[32]=C,e[33]=j,e[34]=T,e[35]=l,e[36]=p,e[37]=v,e[38]=E):E=e[38],E}export{ce as default}; diff --git a/compendium_v2/static/StaffGraphAbsolute-CLCaDvVX.js b/compendium_v2/static/StaffGraphAbsolute-BheG5A3n.js similarity index 86% rename from compendium_v2/static/StaffGraphAbsolute-CLCaDvVX.js rename to compendium_v2/static/StaffGraphAbsolute-BheG5A3n.js index 50e37d9a65d87448b16b12644471ef78b268a566..ddc5ca269315eadd77a92173431aeb277656dc4a 100644 --- a/compendium_v2/static/StaffGraphAbsolute-CLCaDvVX.js +++ b/compendium_v2/static/StaffGraphAbsolute-BheG5A3n.js @@ -1 +1 @@ -import{c as D,r as Y,F as B,j as d,S as T,t as P}from"./index-BBqwf-sR.js";import{B as A}from"./index-BsZyajo4.js";import{C as O,a as q,L,B as $,p as k,c as G,d as M,u as W,m as z,D as H,F as I,f as J}from"./useData-CR6GUHnJ.js";import{p as K}from"./chartjs-plugin-datalabels.esm-2fUQ26Ld.js";import{a as Q}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";O.register(q,L,$,k,G,M);function re(){const e=D.c(38),{filterSelection:t,setFilterSelection:a}=Y.useContext(B),{data:b,years:p,nrens:u}=W("/api/staff",a);let i,n,s,g;if(e[0]!==b||e[1]!==t||e[2]!==u||e[3]!==a||e[4]!==p){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],s=b.filter(E),n=z(s,t.selectedYears);let c;e[12]!==p?(c=[...p],e[12]=p,e[13]=c):c=e[13];let f;e[14]!==u?(f=u.values(),e[14]=u,e[15]=f):f=e[15];let m;e[16]!==f?(m=[...f],e[16]=f,e[17]=m):m=e[17];let h;e[18]!==c||e[19]!==m?(h={availableYears:c,availableNrens:m},e[18]=c,e[19]=m,e[20]=h):h=e[20];let S;e[21]!==t||e[22]!==a||e[23]!==h?(S=d.jsx(I,{filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=S):S=e[24],i=S,g=Array.from(new Set(s.map(U))),e[0]=b,e[1]=t,e[2]=u,e[3]=a,e[4]=p,e[5]=i,e[6]=n,e[7]=s,e[8]=g}else i=e[5],n=e[6],s=e[7],g=e[8];const R=g.length,w=Math.max(R*t.selectedYears.length*1.5+5,50),C=P["employee-count"],F='The graph shows the total number of employees (in FTEs) at each NREN. When filling in the survey, NRENs are asked about the number of staff engaged (whether permanent or subcontracted) in NREN activities. Please note that diversity within the NREN community means that there is not one single definition of what constitutes "NREN activities". Therefore due to differences in how their organisations are arranged, and the relationship, in some cases, with parent organisations, there can be inconsistencies in how NRENs approach this question.';let N;e[25]===Symbol.for("react.memo_cache_sentinel")?(N=Q({tooltipPrefix:"FTEs",title:"Full-Time Equivalents"}),e[25]=N):N=e[25];const j=N,_=`${w}rem`;let r;e[26]!==_?(r={height:_},e[26]=_,e[27]=r):r=e[27];let x;e[28]===Symbol.for("react.memo_cache_sentinel")?(x=[K],e[28]=x):x=e[28];let l;e[29]!==n?(l=d.jsx(A,{data:n,options:j,plugins:x}),e[29]=n,e[30]=l):l=e[30];let o;e[31]!==r||e[32]!==l?(o=d.jsx(J,{children:d.jsx("div",{className:"chart-container",style:r,children:l})}),e[31]=r,e[32]=l,e[33]=o):o=e[33];let y;return e[34]!==i||e[35]!==s||e[36]!==o?(y=d.jsx(H,{title:C,description:F,category:T.Organisation,filter:i,data:s,filename:"number_of_nren_employees",children:o}),e[34]=i,e[35]=s,e[36]=o,e[37]=y):y=e[37],y}function U(e){return e.nren}export{re as default}; +import{c as D,r as Y,F as B,j as d,S as T,t as P}from"./index-C21YiIe4.js";import{B as A}from"./index-X7mNNoWD.js";import{C as O,a as q,L,B as $,p as k,c as G,d as M,u as W,m as z,D as H,F as I,f as J}from"./useData-DpGbPZTZ.js";import{p as K}from"./chartjs-plugin-datalabels.esm-CiB9nDO3.js";import{a as Q}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";O.register(q,L,$,k,G,M);function re(){const e=D.c(38),{filterSelection:t,setFilterSelection:a}=Y.useContext(B),{data:b,years:p,nrens:u}=W("/api/staff",a);let i,n,s,g;if(e[0]!==b||e[1]!==t||e[2]!==u||e[3]!==a||e[4]!==p){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],s=b.filter(E),n=z(s,t.selectedYears);let c;e[12]!==p?(c=[...p],e[12]=p,e[13]=c):c=e[13];let f;e[14]!==u?(f=u.values(),e[14]=u,e[15]=f):f=e[15];let m;e[16]!==f?(m=[...f],e[16]=f,e[17]=m):m=e[17];let h;e[18]!==c||e[19]!==m?(h={availableYears:c,availableNrens:m},e[18]=c,e[19]=m,e[20]=h):h=e[20];let S;e[21]!==t||e[22]!==a||e[23]!==h?(S=d.jsx(I,{filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=S):S=e[24],i=S,g=Array.from(new Set(s.map(U))),e[0]=b,e[1]=t,e[2]=u,e[3]=a,e[4]=p,e[5]=i,e[6]=n,e[7]=s,e[8]=g}else i=e[5],n=e[6],s=e[7],g=e[8];const R=g.length,w=Math.max(R*t.selectedYears.length*1.5+5,50),C=P["employee-count"],F='The graph shows the total number of employees (in FTEs) at each NREN. When filling in the survey, NRENs are asked about the number of staff engaged (whether permanent or subcontracted) in NREN activities. Please note that diversity within the NREN community means that there is not one single definition of what constitutes "NREN activities". Therefore due to differences in how their organisations are arranged, and the relationship, in some cases, with parent organisations, there can be inconsistencies in how NRENs approach this question.';let N;e[25]===Symbol.for("react.memo_cache_sentinel")?(N=Q({tooltipPrefix:"FTEs",title:"Full-Time Equivalents"}),e[25]=N):N=e[25];const j=N,_=`${w}rem`;let r;e[26]!==_?(r={height:_},e[26]=_,e[27]=r):r=e[27];let x;e[28]===Symbol.for("react.memo_cache_sentinel")?(x=[K],e[28]=x):x=e[28];let l;e[29]!==n?(l=d.jsx(A,{data:n,options:j,plugins:x}),e[29]=n,e[30]=l):l=e[30];let o;e[31]!==r||e[32]!==l?(o=d.jsx(J,{children:d.jsx("div",{className:"chart-container",style:r,children:l})}),e[31]=r,e[32]=l,e[33]=o):o=e[33];let y;return e[34]!==i||e[35]!==s||e[36]!==o?(y=d.jsx(H,{title:C,description:F,category:T.Organisation,filter:i,data:s,filename:"number_of_nren_employees",children:o}),e[34]=i,e[35]=s,e[36]=o,e[37]=y):y=e[37],y}function U(e){return e.nren}export{re as default}; diff --git a/compendium_v2/static/SubOrganisation-zvzsyOeU.js b/compendium_v2/static/SubOrganisation-DC79lD7d.js similarity index 80% rename from compendium_v2/static/SubOrganisation-zvzsyOeU.js rename to compendium_v2/static/SubOrganisation-DC79lD7d.js index 0da845347292ecfe562640ff6e3435d4c3384b36..9a1b41f55cc17764ce88751b2783f598f0f5b99a 100644 --- a/compendium_v2/static/SubOrganisation-zvzsyOeU.js +++ b/compendium_v2/static/SubOrganisation-DC79lD7d.js @@ -1 +1 @@ -import{c as Y,r as y,F as C,j as p,t as S,S as j}from"./index-BBqwf-sR.js";import{u as v,h as F,i as E,D as R,F as T,f as O}from"./useData-CR6GUHnJ.js";import{N as P}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function A(){const e=Y.c(27),{filterSelection:t,setFilterSelection:s}=y.useContext(C),{data:r,years:g,nrens:h}=v("/api/sub-organizations",s);let a,d;if(e[0]!==r||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],a=r.filter(u);const D=F(a);d=E(D,$),e[0]=r,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=d}else a=e[3],d=e[4];const x=d;let n;e[8]!==g?(n=[...g],e[8]=g,e[9]=n):n=e[9];let o;e[10]!==h?(o=h.values(),e[10]=h,e[11]=o):o=e[11];let i;e[12]!==o?(i=[...o],e[12]=o,e[13]=i):i=e[13];let l;e[14]!==n||e[15]!==i?(l={availableYears:n,availableNrens:i},e[14]=n,e[15]=i,e[16]=l):l=e[16];let f;e[17]!==t||e[18]!==s||e[19]!==l?(f=p.jsx(T,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=f):f=e[20];const N=f;let c;e[21]!==x?(c=p.jsx(O,{children:p.jsx(P,{data:x,columnTitle:"Suborganisation and Role",dottedBorder:!0})}),e[21]=x,e[22]=c):c=e[22];let m;return e[23]!==N||e[24]!==a||e[25]!==c?(m=p.jsx(R,{title:S.suborganisations,description:"NRENs are asked whether they have any sub-organisations, and to give the name and role of these organisations. These organisations can include HPC centres or IDC federations, amongst many others.",category:j.Organisation,filter:N,data:a,filename:"nren_suborganisations",children:c}),e[23]=N,e[24]=a,e[25]=c,e[26]=m):m=e[26],m}function $(e,t){for(const s of t.sort(k)){const r=`${s.name} (${s.role})`;e[r]=r}}function k(e,t){return e.name.localeCompare(t.name)}export{A as default}; +import{c as Y,r as y,F as C,j as p,t as S,S as j}from"./index-C21YiIe4.js";import{u as v,h as F,i as E,D as R,F as T,f as O}from"./useData-DpGbPZTZ.js";import{N as P}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function A(){const e=Y.c(27),{filterSelection:t,setFilterSelection:s}=y.useContext(C),{data:r,years:g,nrens:h}=v("/api/sub-organizations",s);let a,d;if(e[0]!==r||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],a=r.filter(u);const D=F(a);d=E(D,$),e[0]=r,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=d}else a=e[3],d=e[4];const x=d;let n;e[8]!==g?(n=[...g],e[8]=g,e[9]=n):n=e[9];let o;e[10]!==h?(o=h.values(),e[10]=h,e[11]=o):o=e[11];let i;e[12]!==o?(i=[...o],e[12]=o,e[13]=i):i=e[13];let l;e[14]!==n||e[15]!==i?(l={availableYears:n,availableNrens:i},e[14]=n,e[15]=i,e[16]=l):l=e[16];let f;e[17]!==t||e[18]!==s||e[19]!==l?(f=p.jsx(T,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=f):f=e[20];const N=f;let c;e[21]!==x?(c=p.jsx(O,{children:p.jsx(P,{data:x,columnTitle:"Suborganisation and Role",dottedBorder:!0})}),e[21]=x,e[22]=c):c=e[22];let m;return e[23]!==N||e[24]!==a||e[25]!==c?(m=p.jsx(R,{title:S.suborganisations,description:"NRENs are asked whether they have any sub-organisations, and to give the name and role of these organisations. These organisations can include HPC centres or IDC federations, amongst many others.",category:j.Organisation,filter:N,data:a,filename:"nren_suborganisations",children:c}),e[23]=N,e[24]=a,e[25]=c,e[26]=m):m=e[26],m}function $(e,t){for(const s of t.sort(k)){const r=`${s.name} (${s.role})`;e[r]=r}}function k(e,t){return e.name.localeCompare(t.name)}export{A as default}; diff --git a/compendium_v2/static/SurveyContainerComponent-D_Yr9ovx.js b/compendium_v2/static/SurveyContainerComponent-B68UX_5e.js similarity index 99% rename from compendium_v2/static/SurveyContainerComponent-D_Yr9ovx.js rename to compendium_v2/static/SurveyContainerComponent-B68UX_5e.js index 49411e9a79ede196d2d01c3a02bc59e3977ed4f9..6f8aa95598db3ce7f759d3ee8d67f6c33a586430 100644 --- a/compendium_v2/static/SurveyContainerComponent-D_Yr9ovx.js +++ b/compendium_v2/static/SurveyContainerComponent-B68UX_5e.js @@ -1,4 +1,4 @@ -import{a3 as lo,a4 as co,c as Pe,r as F,j as L,C as po,E as st,R as fe,a1 as Hn,a5 as ho,a6 as fo,Q as mo}from"./index-BBqwf-sR.js";import{O as vo,V as A}from"./index-B2bzbolV.js";import{r as yo,a as ue}from"./survey.core-Bi1tv4_s.js";import{V as we,v as go,o as Co}from"./validation-COFmylEH.js";import{S as xo}from"./SurveySidebar-W_n-2uiT.js";import"./SideBar-C91-oLVm.js";var Re={exports:{}};/*! +import{a3 as lo,a4 as co,c as Pe,r as F,j as L,C as po,E as st,R as fe,a1 as Hn,a5 as ho,a6 as fo,Q as mo}from"./index-C21YiIe4.js";import{O as vo,V as A}from"./index-CkUFjbUc.js";import{r as yo,a as ue}from"./survey.core-Bi1tv4_s.js";import{V as we,v as go,o as Co}from"./validation-COFmylEH.js";import{S as xo}from"./SurveySidebar-jNvlLq9W.js";import"./SideBar-SlK9Rn9C.js";var Re={exports:{}};/*! * surveyjs - Survey JavaScript library v1.12.28 * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) diff --git a/compendium_v2/static/SurveyManagementComponent-BCwGgCZy.js b/compendium_v2/static/SurveyManagementComponent-CF84I9p3.js similarity index 97% rename from compendium_v2/static/SurveyManagementComponent-BCwGgCZy.js rename to compendium_v2/static/SurveyManagementComponent-CF84I9p3.js index 63d03b66269193173094c8695f8d43376e04e4dc..c0aabea7288ba4790555307781969286d16f5045 100644 --- a/compendium_v2/static/SurveyManagementComponent-BCwGgCZy.js +++ b/compendium_v2/static/SurveyManagementComponent-CF84I9p3.js @@ -1,3 +1,3 @@ -import{r as $,h as K,j as t,i as X,_ as Q,c as G,y,a7 as Y,L as W,E as q,R as Z}from"./index-BBqwf-sR.js";import{A as F,l as ee}from"./lodash-B_Jzqs2q.js";import{T as te}from"./Table-DwZl3W_O.js";import{V as h,O as se}from"./index-B2bzbolV.js";import{v as ne,o as re,S as o}from"./validation-COFmylEH.js";import{a as V}from"./survey-3meXCY6T.js";import{S as ae}from"./SurveySidebar-W_n-2uiT.js";import"./hook-Lm-AbHy7.js";import"./SideBar-C91-oLVm.js";const H=$.forwardRef(({bsPrefix:e,variant:n,animation:l="border",size:r,as:i="div",className:c,...d},p)=>{e=K(e,"spinner");const f=`${e}-${l}`;return t.jsx(i,{ref:p,...d,className:X(c,f,r&&`${f}-${r}`,n&&`text-${n}`)})});H.displayName="Spinner";function ie(e){return Q({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"},child:[]}]})(e)}function oe(e){return Q({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"},child:[]}]})(e)}function D(e){const n=G.c(4),{status:l}=e;let r;n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(y,{variant:"success",size:"sm",children:t.jsx("strong",{children:"Completed"})}),n[0]=r):r=n[0];let i;n[1]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(y,{variant:"warning",size:"sm",children:t.jsx("strong",{children:"Started"})}),n[1]=i):i=n[1];let c;n[2]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(y,{variant:"danger",size:"sm",children:t.jsx("strong",{children:"Did not respond"})}),n[2]=c):c=n[2];let d;return n[3]===Symbol.for("react.memo_cache_sentinel")?(d={completed:r,started:i,"did not respond":c,"not started":t.jsx(y,{variant:"info",size:"sm",children:t.jsx("strong",{children:"Not started"})}),true:t.jsx(ie,{size:24,color:"green"}),false:t.jsx(oe,{size:24,color:"red"})},n[3]=d):d=n[3],d[l]||l}async function U(e,n){const{Model:l,FunctionFactory:r,Serializer:i}=await Y(async()=>{const{Model:j,FunctionFactory:w,Serializer:z}=await import("./survey.core-Bi1tv4_s.js").then(A=>A.s);return{Model:j,FunctionFactory:w,Serializer:z}},[]);function c(){const j=i.getAllPropertiesByName("customDescription"),w=i.getAllPropertiesByName("hideCheckboxLabels");j.length||i.addProperty("itemvalue","customDescription:text"),w.length||i.addProperty("question","hideCheckboxLabels:boolean")}if(r.Instance.hasFunction("validateQuestion")||r.Instance.register("validateQuestion",ne),r.Instance.hasFunction("validateWebsiteUrl")||r.Instance.register("validateWebsiteUrl",re),!e||!n)return!0;const d=`/api/response/load/${e}/${n}`,p=await fetch(d),f=await p.json();if(!p.ok)throw"message"in f?new Error(f.message):new Error(`Request failed with status ${p.status}`);c();const u=new l(f.model);u.setVariable("surveyyear",e),u.setVariable("previousyear",parseInt(e)-1),u.showNavigationButtons=!1,u.requiredText="",u.data=f.data,u.clearIncorrectValues(!0);const E=u.validate.bind(u,!0,!0)();return(await fetch(`/api/response/validate/${e}/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({valid:E})})).ok?E:!0}function le(e,n,l){fetch("/api/survey/"+e+"/"+n+"/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({notes:l||""})}).then(async r=>{const i=await r.json();r.ok?h.success("Notes saved"):h.error("Failed saving notes: "+i.message||r.statusText)}).catch(r=>{h.error("Failed saving notes: "+r)})}function C({text:e,helpText:n,onClick:l,enabled:r}){const[i,c]=$.useState(!1),d=async()=>{if(!i){c(!0);try{await l()}finally{c(!1)}}};return t.jsxs(y,{onClick:d,disabled:!r,style:{pointerEvents:"auto",marginLeft:".5rem"},title:n,children:[i&&t.jsx(H,{as:"span",animation:"border",size:"sm",role:"status","aria-hidden":"true"}),e]})}function we(){const e=G.c(21);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];const[l,r]=$.useState(n),i=$.useRef(!1);let c,d;e[1]===Symbol.for("react.memo_cache_sentinel")?(c=()=>{V().then(x=>{r(x)})},d=[],e[1]=c,e[2]=d):(c=e[1],d=e[2]),$.useEffect(c,d);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=async function(s,m,a,v){const b=v===void 0?!1:v;try{b&&(s=s+"?dry_run=1");const g=await fetch(s,{method:"POST"}),O=await g.json();g.ok?(O.message&&console.log(O.message),b||h(a),V().then(J=>{r(J)})):h(m+O.message)}catch(g){h(m+g.message)}},e[3]=p):p=e[3];const f=p;let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=async function(){await f("/api/survey/new","Failed creating new survey: ","Created new survey")},e[4]=u):u=e[4];const E=u;let N;e[5]===Symbol.for("react.memo_cache_sentinel")?(N=async function(s,m,a){const v=a===void 0?!1:a;if(i.current){h("Wait for status update to be finished...");return}i.current=!0,await f("/api/survey/"+m+"/"+s,"Error while updating "+s+" survey status to "+m+": ",s+" survey status updated to "+m,v),i.current=!1},e[5]=N):N=e[5];const j=N;let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w=async function(s,m){await f("/api/response/unlock/"+s+"/"+m,"Error while unlocking "+m+" "+s+" survey response: ",m+" "+s+" survey response unlocked")},e[6]=w):w=e[6];const z=w,A=l.length>0&&l.every(he),M=window.location.origin+"/data?preview";let P;e[7]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx(ae,{}),e[7]=P):P=e[7];let R;e[8]===Symbol.for("react.memo_cache_sentinel")?(R={maxWidth:"100rem"},e[8]=R):R=e[8];let T;e[9]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(se,{}),e[9]=T):T=e[9];const B=!A;let I;e[10]===Symbol.for("react.memo_cache_sentinel")?(I={pointerEvents:"auto",width:"10rem",margin:"1rem"},e[10]=I):I=e[10];let S;e[11]!==B?(S=t.jsx(y,{onClick:E,disabled:B,style:I,title:"Create a new survey for the next year. Only possible if all current surveys are published.",children:"start new survey"}),e[11]=B,e[12]=S):S=e[12];let k;if(e[13]!==l){let x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x=(s,m)=>t.jsxs(F.Item,{eventKey:m.toString(),children:[t.jsxs(F.Header,{children:[s.year," - ",s.status]}),t.jsxs(F.Body,{children:[t.jsxs("div",{style:{marginLeft:".5rem",marginBottom:"1rem"},children:[t.jsx(W,{to:`/survey/admin/edit/${s.year}`,target:"_blank",children:t.jsx(y,{style:{marginLeft:".5rem"},title:"Open the survey for inspection with all questions visible and any visibleIf logic added to the title.",children:"Inspect Survey"})}),t.jsx(W,{to:`/survey/admin/try/${s.year}`,target:"_blank",children:t.jsx(y,{style:{marginLeft:".5rem"},title:"Open the survey exactly as the nrens will see it, but without any nren data.",children:"Try Survey"})}),s.status==o.closed&&t.jsx(C,{text:"Mark as open",helpText:"Allow the NRENs to respond to this survey. Only 1 survey may be open at a time, and (pre)-published surveys cannot be opened anymore.",enabled:s.status==o.closed,onClick:()=>j(s.year,"open")}),s.status==o.open&&t.jsx(C,{text:"Mark as closed",helpText:"Do not allow the NRENs to respond to this survey anymore. Only surveys with status open can be closed.",enabled:s.status==o.open,onClick:()=>j(s.year,"close")}),(s.status==o.preview||s.status==o.published)&&t.jsx(C,{text:"Validate surveys",helpText:"Validate all survey responses. This will check if all required questions are answered and if the answers are in the correct format.",enabled:s.status==o.preview||s.status==o.published,onClick:async()=>{let a=!0;const v=[...s.responses].sort(de);for(const b of v){const g=await U(s.year,b.nren.name);g?h.success(`${b.nren.name} ${s.year} survey is valid.`):h.error(`${b.nren.name} ${s.year} survey is not valid.`),a=a&&g}a?h.success("All surveys are valid"):h.error(`Some surveys are not valid. +import{r as $,h as K,j as t,i as X,_ as Q,c as G,y,a7 as Y,L as W,E as q,R as Z}from"./index-C21YiIe4.js";import{A as F,l as ee}from"./lodash-DF20DnQn.js";import{T as te}from"./Table-DihnUcAL.js";import{V as h,O as se}from"./index-CkUFjbUc.js";import{v as ne,o as re,S as o}from"./validation-COFmylEH.js";import{a as V}from"./survey-3meXCY6T.js";import{S as ae}from"./SurveySidebar-jNvlLq9W.js";import"./hook-ZzfBsVxi.js";import"./SideBar-SlK9Rn9C.js";const H=$.forwardRef(({bsPrefix:e,variant:n,animation:l="border",size:r,as:i="div",className:c,...d},p)=>{e=K(e,"spinner");const f=`${e}-${l}`;return t.jsx(i,{ref:p,...d,className:X(c,f,r&&`${f}-${r}`,n&&`text-${n}`)})});H.displayName="Spinner";function ie(e){return Q({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"},child:[]}]})(e)}function oe(e){return Q({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"},child:[]}]})(e)}function D(e){const n=G.c(4),{status:l}=e;let r;n[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(y,{variant:"success",size:"sm",children:t.jsx("strong",{children:"Completed"})}),n[0]=r):r=n[0];let i;n[1]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(y,{variant:"warning",size:"sm",children:t.jsx("strong",{children:"Started"})}),n[1]=i):i=n[1];let c;n[2]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(y,{variant:"danger",size:"sm",children:t.jsx("strong",{children:"Did not respond"})}),n[2]=c):c=n[2];let d;return n[3]===Symbol.for("react.memo_cache_sentinel")?(d={completed:r,started:i,"did not respond":c,"not started":t.jsx(y,{variant:"info",size:"sm",children:t.jsx("strong",{children:"Not started"})}),true:t.jsx(ie,{size:24,color:"green"}),false:t.jsx(oe,{size:24,color:"red"})},n[3]=d):d=n[3],d[l]||l}async function U(e,n){const{Model:l,FunctionFactory:r,Serializer:i}=await Y(async()=>{const{Model:j,FunctionFactory:w,Serializer:z}=await import("./survey.core-Bi1tv4_s.js").then(A=>A.s);return{Model:j,FunctionFactory:w,Serializer:z}},[]);function c(){const j=i.getAllPropertiesByName("customDescription"),w=i.getAllPropertiesByName("hideCheckboxLabels");j.length||i.addProperty("itemvalue","customDescription:text"),w.length||i.addProperty("question","hideCheckboxLabels:boolean")}if(r.Instance.hasFunction("validateQuestion")||r.Instance.register("validateQuestion",ne),r.Instance.hasFunction("validateWebsiteUrl")||r.Instance.register("validateWebsiteUrl",re),!e||!n)return!0;const d=`/api/response/load/${e}/${n}`,p=await fetch(d),f=await p.json();if(!p.ok)throw"message"in f?new Error(f.message):new Error(`Request failed with status ${p.status}`);c();const u=new l(f.model);u.setVariable("surveyyear",e),u.setVariable("previousyear",parseInt(e)-1),u.showNavigationButtons=!1,u.requiredText="",u.data=f.data,u.clearIncorrectValues(!0);const E=u.validate.bind(u,!0,!0)();return(await fetch(`/api/response/validate/${e}/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({valid:E})})).ok?E:!0}function le(e,n,l){fetch("/api/survey/"+e+"/"+n+"/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({notes:l||""})}).then(async r=>{const i=await r.json();r.ok?h.success("Notes saved"):h.error("Failed saving notes: "+i.message||r.statusText)}).catch(r=>{h.error("Failed saving notes: "+r)})}function C({text:e,helpText:n,onClick:l,enabled:r}){const[i,c]=$.useState(!1),d=async()=>{if(!i){c(!0);try{await l()}finally{c(!1)}}};return t.jsxs(y,{onClick:d,disabled:!r,style:{pointerEvents:"auto",marginLeft:".5rem"},title:n,children:[i&&t.jsx(H,{as:"span",animation:"border",size:"sm",role:"status","aria-hidden":"true"}),e]})}function we(){const e=G.c(21);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];const[l,r]=$.useState(n),i=$.useRef(!1);let c,d;e[1]===Symbol.for("react.memo_cache_sentinel")?(c=()=>{V().then(x=>{r(x)})},d=[],e[1]=c,e[2]=d):(c=e[1],d=e[2]),$.useEffect(c,d);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=async function(s,m,a,v){const b=v===void 0?!1:v;try{b&&(s=s+"?dry_run=1");const g=await fetch(s,{method:"POST"}),O=await g.json();g.ok?(O.message&&console.log(O.message),b||h(a),V().then(J=>{r(J)})):h(m+O.message)}catch(g){h(m+g.message)}},e[3]=p):p=e[3];const f=p;let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=async function(){await f("/api/survey/new","Failed creating new survey: ","Created new survey")},e[4]=u):u=e[4];const E=u;let N;e[5]===Symbol.for("react.memo_cache_sentinel")?(N=async function(s,m,a){const v=a===void 0?!1:a;if(i.current){h("Wait for status update to be finished...");return}i.current=!0,await f("/api/survey/"+m+"/"+s,"Error while updating "+s+" survey status to "+m+": ",s+" survey status updated to "+m,v),i.current=!1},e[5]=N):N=e[5];const j=N;let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w=async function(s,m){await f("/api/response/unlock/"+s+"/"+m,"Error while unlocking "+m+" "+s+" survey response: ",m+" "+s+" survey response unlocked")},e[6]=w):w=e[6];const z=w,A=l.length>0&&l.every(he),M=window.location.origin+"/data?preview";let P;e[7]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx(ae,{}),e[7]=P):P=e[7];let R;e[8]===Symbol.for("react.memo_cache_sentinel")?(R={maxWidth:"100rem"},e[8]=R):R=e[8];let T;e[9]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(se,{}),e[9]=T):T=e[9];const B=!A;let I;e[10]===Symbol.for("react.memo_cache_sentinel")?(I={pointerEvents:"auto",width:"10rem",margin:"1rem"},e[10]=I):I=e[10];let S;e[11]!==B?(S=t.jsx(y,{onClick:E,disabled:B,style:I,title:"Create a new survey for the next year. Only possible if all current surveys are published.",children:"start new survey"}),e[11]=B,e[12]=S):S=e[12];let k;if(e[13]!==l){let x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x=(s,m)=>t.jsxs(F.Item,{eventKey:m.toString(),children:[t.jsxs(F.Header,{children:[s.year," - ",s.status]}),t.jsxs(F.Body,{children:[t.jsxs("div",{style:{marginLeft:".5rem",marginBottom:"1rem"},children:[t.jsx(W,{to:`/survey/admin/edit/${s.year}`,target:"_blank",children:t.jsx(y,{style:{marginLeft:".5rem"},title:"Open the survey for inspection with all questions visible and any visibleIf logic added to the title.",children:"Inspect Survey"})}),t.jsx(W,{to:`/survey/admin/try/${s.year}`,target:"_blank",children:t.jsx(y,{style:{marginLeft:".5rem"},title:"Open the survey exactly as the nrens will see it, but without any nren data.",children:"Try Survey"})}),s.status==o.closed&&t.jsx(C,{text:"Mark as open",helpText:"Allow the NRENs to respond to this survey. Only 1 survey may be open at a time, and (pre)-published surveys cannot be opened anymore.",enabled:s.status==o.closed,onClick:()=>j(s.year,"open")}),s.status==o.open&&t.jsx(C,{text:"Mark as closed",helpText:"Do not allow the NRENs to respond to this survey anymore. Only surveys with status open can be closed.",enabled:s.status==o.open,onClick:()=>j(s.year,"close")}),(s.status==o.preview||s.status==o.published)&&t.jsx(C,{text:"Validate surveys",helpText:"Validate all survey responses. This will check if all required questions are answered and if the answers are in the correct format.",enabled:s.status==o.preview||s.status==o.published,onClick:async()=>{let a=!0;const v=[...s.responses].sort(de);for(const b of v){const g=await U(s.year,b.nren.name);g?h.success(`${b.nren.name} ${s.year} survey is valid.`):h.error(`${b.nren.name} ${s.year} survey is not valid.`),a=a&&g}a?h.success("All surveys are valid"):h.error(`Some surveys are not valid. Please check the responses`),V().then(b=>{r(b)})}}),(s.status==o.closed||s.status==o.preview)&&t.jsx(C,{text:"Preview results",helpText:"Publish all completed survey responses to the compendium website for preview by admins. This is only possible if the survey is closed or previewed already.",enabled:s.status==o.closed||s.status==o.preview,onClick:()=>j(s.year,"preview")}),(s.status==o.preview||s.status==o.published)&&t.jsxs(t.Fragment,{children:[t.jsx(C,{text:"Publish results (dry run)",helpText:"Performs a dry-run of the publish operation, without actually publishing the results. Changes are logged in the browser console (F12).",enabled:s.status==o.preview||s.status==o.published,onClick:()=>j(s.year,"publish",!0)}),t.jsx(C,{text:"Publish results",helpText:"Publish or re-publish all completed survey responses to the compendium website. This is only possible if the survey is in preview or published already.",enabled:s.status==o.preview||s.status==o.published,onClick:()=>j(s.year,"publish")}),s.status==o.preview&&t.jsxs("span",{children:[" Preview link: ",t.jsx("a",{href:M,children:M})]})]})]}),t.jsxs(te,{children:[t.jsxs("colgroup",{children:[t.jsx("col",{style:{width:"10%"}}),t.jsx("col",{style:{width:"10%"}}),t.jsx("col",{style:{width:"10%"}}),t.jsx("col",{style:{width:"20%"}}),t.jsx("col",{style:{width:"30%"}}),t.jsx("col",{style:{width:"20%"}})]}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"NREN"}),t.jsx("th",{children:"Response Status"}),t.jsx("th",{children:"Response Valid"}),t.jsx("th",{children:"Lock"}),t.jsx("th",{children:"Management Notes"}),t.jsx("th",{children:"Actions"})]})}),t.jsx("tbody",{children:s.responses.map(a=>t.jsxs("tr",{children:[t.jsx("td",{children:a.nren.name}),t.jsx("td",{children:t.jsx(D,{status:a.status})}),t.jsx("td",{children:t.jsx(D,{status:a.valid?"true":"false"})}),t.jsx("td",{style:{textWrap:"wrap",wordWrap:"break-word",maxWidth:"10rem"},children:a.lock_description}),t.jsx("td",{children:"notes"in a&&t.jsx("textarea",{onInput:ee.debounce(v=>le(s.year,a.nren.id,v.target.value),1e3),style:{minWidth:"100%",minHeight:"5rem"},placeholder:"Notes for this survey",defaultValue:a.notes||""})}),t.jsxs("td",{children:[t.jsx(W,{to:`/survey/response/${s.year}/${a.nren.name}`,target:"_blank",children:t.jsx(y,{style:{pointerEvents:"auto",margin:".5rem"},title:"Open the responses of the NREN.",children:"open"})}),t.jsx(y,{onClick:()=>z(s.year,a.nren.name),disabled:a.lock_description=="",style:{pointerEvents:"auto"},title:"Remove the lock from the survey so that another person can open the survey for editing. WARNING: The person that currently has the lock will not be able to save their changes anymore once someone else starts editing!",children:"remove lock"}),a.status=="completed"&&t.jsx(y,{onClick:()=>{U(s.year,a.nren.name).then(v=>{v?h.success("Survey is valid"):h.error(`${a.nren.name} ${s.year} survey is not valid. Please check the response`),V().then(b=>{r(b)})}).catch(ce)},style:{pointerEvents:"auto"},children:"Validate Survey"})]})]},a.nren.id))})]})]})]},s.year),e[15]=x):x=e[15],k=l.map(x),e[13]=l,e[14]=k}else k=e[14];let _;e[16]!==k?(_=t.jsx(F,{defaultActiveKey:"0",children:k}),e[16]=k,e[17]=_):_=e[17];let L;return e[18]!==S||e[19]!==_?(L=t.jsxs(t.Fragment,{children:[P,t.jsx(q,{className:"py-5 grey-container",children:t.jsx(q,{style:R,children:t.jsxs(Z,{children:[T,S,_]})})})]}),e[18]=S,e[19]=_,e[20]=L):L=e[20],L}function ce(e){h.error("Failed validating survey: "+e)}function de(e,n){return e.nren.name.localeCompare(n.nren.name)}function he(e){return e.status==o.published}export{we as default}; diff --git a/compendium_v2/static/SurveySidebar-W_n-2uiT.js b/compendium_v2/static/SurveySidebar-jNvlLq9W.js similarity index 84% rename from compendium_v2/static/SurveySidebar-W_n-2uiT.js rename to compendium_v2/static/SurveySidebar-jNvlLq9W.js index e8e63371a7bb1801442d240a079c996e09686444..ad5d38a471cd44cf1cb7704637f8fd20208e202b 100644 --- a/compendium_v2/static/SurveySidebar-W_n-2uiT.js +++ b/compendium_v2/static/SurveySidebar-jNvlLq9W.js @@ -1 +1 @@ -import{c as a,j as s,a2 as m}from"./index-BBqwf-sR.js";import{S as o}from"./SideBar-C91-oLVm.js";const h=()=>{const e=a.c(4);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h5",{className:"section-title",children:"Management Links"}),e[0]=r):r=e[0];let t;e[1]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(m,{to:"/survey",children:s.jsx("span",{children:"Survey Home"})}),e[1]=t):t=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(m,{to:"/survey/admin/users",children:s.jsx("span",{children:"Compendium User Management"})}),e[2]=n):n=e[2];let i;return e[3]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(o,{survey:!0,children:[r,t,n,s.jsx(m,{to:"/survey/admin/surveys",children:s.jsx("span",{children:"Compendium Survey Management"})})]}),e[3]=i):i=e[3],i};export{h as S}; +import{c as a,j as s,a2 as m}from"./index-C21YiIe4.js";import{S as o}from"./SideBar-SlK9Rn9C.js";const h=()=>{const e=a.c(4);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h5",{className:"section-title",children:"Management Links"}),e[0]=r):r=e[0];let t;e[1]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(m,{to:"/survey",children:s.jsx("span",{children:"Survey Home"})}),e[1]=t):t=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(m,{to:"/survey/admin/users",children:s.jsx("span",{children:"Compendium User Management"})}),e[2]=n):n=e[2];let i;return e[3]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(o,{survey:!0,children:[r,t,n,s.jsx(m,{to:"/survey/admin/surveys",children:s.jsx("span",{children:"Compendium Survey Management"})})]}),e[3]=i):i=e[3],i};export{h as S}; diff --git a/compendium_v2/static/Table-DwZl3W_O.js b/compendium_v2/static/Table-DihnUcAL.js similarity index 88% rename from compendium_v2/static/Table-DwZl3W_O.js rename to compendium_v2/static/Table-DihnUcAL.js index 6754316402836841c12d4d4eaae0882345147cc3..a2a44a29064fe8651797bb30b12cc2989249d38f 100644 --- a/compendium_v2/static/Table-DwZl3W_O.js +++ b/compendium_v2/static/Table-DihnUcAL.js @@ -1 +1 @@ -import{r as m,h as j,i as u,j as l}from"./index-BBqwf-sR.js";const N=m.forwardRef(({bsPrefix:c,className:f,striped:e,bordered:i,borderless:n,hover:d,size:a,variant:o,responsive:r,...x},p)=>{const s=j(c,"table"),b=u(f,s,o&&`${s}-${o}`,a&&`${s}-${a}`,e&&`${s}-${typeof e=="string"?`striped-${e}`:"striped"}`,i&&`${s}-bordered`,n&&`${s}-borderless`,d&&`${s}-hover`),$=l.jsx("table",{...x,className:b,ref:p});if(r){let t=`${s}-responsive`;return typeof r=="string"&&(t=`${t}-${r}`),l.jsx("div",{className:t,children:$})}return $});export{N as T}; +import{r as m,h as j,i as u,j as l}from"./index-C21YiIe4.js";const N=m.forwardRef(({bsPrefix:c,className:f,striped:e,bordered:i,borderless:n,hover:d,size:a,variant:o,responsive:r,...x},p)=>{const s=j(c,"table"),b=u(f,s,o&&`${s}-${o}`,a&&`${s}-${a}`,e&&`${s}-${typeof e=="string"?`striped-${e}`:"striped"}`,i&&`${s}-bordered`,n&&`${s}-borderless`,d&&`${s}-hover`),$=l.jsx("table",{...x,className:b,ref:p});if(r){let t=`${s}-responsive`;return typeof r=="string"&&(t=`${t}-${r}`),l.jsx("div",{className:t,children:$})}return $});export{N as T}; diff --git a/compendium_v2/static/TrafficRatio-BG2lCSjR.js b/compendium_v2/static/TrafficRatio-CaZcgpC4.js similarity index 87% rename from compendium_v2/static/TrafficRatio-BG2lCSjR.js rename to compendium_v2/static/TrafficRatio-CaZcgpC4.js index 6d479ca24216692fb915778516bc4f38154291bc..1cd8ffcee970175aa7062b59bc583b7601a9d482 100644 --- a/compendium_v2/static/TrafficRatio-BG2lCSjR.js +++ b/compendium_v2/static/TrafficRatio-CaZcgpC4.js @@ -1 +1 @@ -import{c as C,r as L,F as E,j as x,S as F,t as Y}from"./index-BBqwf-sR.js";import{B as $}from"./index-BsZyajo4.js";import{C as g,a as v,L as A,B,p as O,c as M,d as P,u as T,N as W,D as q,F as z}from"./useData-CR6GUHnJ.js";import{h as G,W as H}from"./HTMLLegendPlugin-B1BRh7XI.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";g.register(v,A,B,O,M,P);const J={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.x!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(e,t)=>`${t*10}%`}},x2:{ticks:{callback:e=>typeof e=="number"?`${e}%`:e},grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(g.instances);let a=-999999,i=999999;for(const s of t)g.instances[s]&&e.chart.scales.x2&&(i=Math.min(g.instances[s].scales.x.min,i),a=Math.max(g.instances[s].scales.x.max,a));e.chart.scales.x2.options.min=i,e.chart.scales.x2.options.max=a,e.chart.scales.x2.min=i,e.chart.scales.x2.max=a}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ie(){const e=C.c(37),{filterSelection:t,setFilterSelection:a}=L.useContext(E),{data:i,years:s,nrens:n}=T("/api/traffic-ratio",a);let l,r,y,c;if(e[0]!==t||e[1]!==n||e[2]!==a||e[3]!==i||e[4]!==s){let b;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(b=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=b):b=e[11],r=i.filter(b),c=W(r,t.selectedYears[0]);let d;e[12]!==s?(d=[...s],e[12]=s,e[13]=d):d=e[13];let p;e[14]!==n?(p=n.values(),e[14]=n,e[15]=p):p=e[15];let u;e[16]!==p?(u=[...p],e[16]=p,e[17]=u):u=e[17];let h;e[18]!==d||e[19]!==u?(h={availableYears:d,availableNrens:u},e[18]=d,e[19]=u,e[20]=h):h=e[20];let _;e[21]!==t||e[22]!==a||e[23]!==h?(_=x.jsx(z,{max1year:!0,filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=_):_=e[24],l=_,y=Array.from(new Set(r.map(Q))).map(S=>n.get(S)).filter(K),e[0]=t,e[1]=n,e[2]=a,e[3]=i,e[4]=s,e[5]=l,e[6]=r,e[7]=y,e[8]=c}else l=e[5],r=e[6],y=e[7],c=e[8];const j=y.length,R=Math.max(j*1.5,20),w=Y["traffic-ratio"],D=`${R}rem`;let o;e[25]!==D?(o={height:D},e[25]=D,e[26]=o):o=e[26];let k;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=[G],e[27]=k):k=e[27];let f;e[28]!==c?(f=x.jsx($,{data:c,options:J,plugins:k}),e[28]=c,e[29]=f):f=e[29];let m;e[30]!==o||e[31]!==f?(m=x.jsx(H,{children:x.jsx("div",{className:"chart-container",style:o,children:f})}),e[30]=o,e[31]=f,e[32]=m):m=e[32];let N;return e[33]!==l||e[34]!==r||e[35]!==m?(N=x.jsx(q,{title:w,description:"The graph shows the ratio of commodity versus research and education traffic in NREN networks",category:F.Network,filter:l,data:r,filename:"types_of_traffic_in_nren_networks",children:m}),e[33]=l,e[34]=r,e[35]=m,e[36]=N):N=e[36],N}function K(e){return!!e}function Q(e){return e.nren}export{ie as default}; +import{c as C,r as L,F as E,j as x,S as F,t as Y}from"./index-C21YiIe4.js";import{B as $}from"./index-X7mNNoWD.js";import{C as g,a as v,L as A,B,p as O,c as M,d as P,u as T,N as W,D as q,F as z}from"./useData-DpGbPZTZ.js";import{h as G,W as H}from"./HTMLLegendPlugin-B8KIQm6m.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";g.register(v,A,B,O,M,P);const J={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.x!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(e,t)=>`${t*10}%`}},x2:{ticks:{callback:e=>typeof e=="number"?`${e}%`:e},grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(g.instances);let a=-999999,i=999999;for(const s of t)g.instances[s]&&e.chart.scales.x2&&(i=Math.min(g.instances[s].scales.x.min,i),a=Math.max(g.instances[s].scales.x.max,a));e.chart.scales.x2.options.min=i,e.chart.scales.x2.options.max=a,e.chart.scales.x2.min=i,e.chart.scales.x2.max=a}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ie(){const e=C.c(37),{filterSelection:t,setFilterSelection:a}=L.useContext(E),{data:i,years:s,nrens:n}=T("/api/traffic-ratio",a);let l,r,y,c;if(e[0]!==t||e[1]!==n||e[2]!==a||e[3]!==i||e[4]!==s){let b;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(b=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=b):b=e[11],r=i.filter(b),c=W(r,t.selectedYears[0]);let d;e[12]!==s?(d=[...s],e[12]=s,e[13]=d):d=e[13];let p;e[14]!==n?(p=n.values(),e[14]=n,e[15]=p):p=e[15];let u;e[16]!==p?(u=[...p],e[16]=p,e[17]=u):u=e[17];let h;e[18]!==d||e[19]!==u?(h={availableYears:d,availableNrens:u},e[18]=d,e[19]=u,e[20]=h):h=e[20];let _;e[21]!==t||e[22]!==a||e[23]!==h?(_=x.jsx(z,{max1year:!0,filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=_):_=e[24],l=_,y=Array.from(new Set(r.map(Q))).map(S=>n.get(S)).filter(K),e[0]=t,e[1]=n,e[2]=a,e[3]=i,e[4]=s,e[5]=l,e[6]=r,e[7]=y,e[8]=c}else l=e[5],r=e[6],y=e[7],c=e[8];const j=y.length,R=Math.max(j*1.5,20),w=Y["traffic-ratio"],D=`${R}rem`;let o;e[25]!==D?(o={height:D},e[25]=D,e[26]=o):o=e[26];let k;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=[G],e[27]=k):k=e[27];let f;e[28]!==c?(f=x.jsx($,{data:c,options:J,plugins:k}),e[28]=c,e[29]=f):f=e[29];let m;e[30]!==o||e[31]!==f?(m=x.jsx(H,{children:x.jsx("div",{className:"chart-container",style:o,children:f})}),e[30]=o,e[31]=f,e[32]=m):m=e[32];let N;return e[33]!==l||e[34]!==r||e[35]!==m?(N=x.jsx(q,{title:w,description:"The graph shows the ratio of commodity versus research and education traffic in NREN networks",category:F.Network,filter:l,data:r,filename:"types_of_traffic_in_nren_networks",children:m}),e[33]=l,e[34]=r,e[35]=m,e[36]=N):N=e[36],N}function K(e){return!!e}function Q(e){return e.nren}export{ie as default}; diff --git a/compendium_v2/static/TrafficUrl-DFcVMOnd.js b/compendium_v2/static/TrafficUrl-XNAafmGV.js similarity index 77% rename from compendium_v2/static/TrafficUrl-DFcVMOnd.js rename to compendium_v2/static/TrafficUrl-XNAafmGV.js index c0d4688517e1c65feaf2394e45bfafa0f0816251..5c5b5c9148b64fa4323cfbe79ba25b084c1b952d 100644 --- a/compendium_v2/static/TrafficUrl-DFcVMOnd.js +++ b/compendium_v2/static/TrafficUrl-XNAafmGV.js @@ -1 +1 @@ -import{c as j,r as k,F as S,j as p,t as _,S as g}from"./index-BBqwf-sR.js";import{u as v,q as y,k as L,i as R,D as T,F,f as U,s as w}from"./useData-CR6GUHnJ.js";import{N as C}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function G(){const e=j.c(21),{filterSelection:t,setFilterSelection:s}=k.useContext(S),{data:r,nrens:n}=v("/api/traffic-stats",s);let a,c;if(e[0]!==r||e[1]!==t.selectedNrens){const D=r?y(r):[];let m;e[4]!==t.selectedNrens?(m=h=>t.selectedNrens.includes(h.nren),e[4]=t.selectedNrens,e[5]=m):m=e[5],a=D.filter(m);const b=L(a);c=R(b,E),e[0]=r,e[1]=t.selectedNrens,e[2]=a,e[3]=c}else a=e[2],c=e[3];const x=c;let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[6]=f):f=e[6];let i;e[7]!==n?(i=n.values(),e[7]=n,e[8]=i):i=e[8];let l;e[9]!==i?(l={availableYears:f,availableNrens:[...i]},e[9]=i,e[10]=l):l=e[10];let u;e[11]!==t||e[12]!==s||e[13]!==l?(u=p.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s,coloredYears:!0}),e[11]=t,e[12]=s,e[13]=l,e[14]=u):u=e[14];const N=u;let o;e[15]!==x?(o=p.jsx(U,{children:p.jsx(C,{data:x,columnTitle:"Traffic Statistics URL",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=x,e[16]=o):o=e[16];let d;return e[17]!==N||e[18]!==a||e[19]!==o?(d=p.jsx(T,{title:_["traffic-stats"],description:"This table shows the URL links to NREN websites showing traffic statistics, if available.",category:g.Network,filter:N,data:a,filename:"traffic_stats_nrens_per_year",children:o}),e[17]=N,e[18]=a,e[19]=o,e[20]=d):d=e[20],d}function E(e,t){const s=w(t);if(s!=null)for(const[r,n]of Object.entries(s))e[r]=n}export{G as default}; +import{c as j,r as k,F as S,j as p,t as _,S as g}from"./index-C21YiIe4.js";import{u as v,q as y,k as L,i as R,D as T,F,f as U,s as w}from"./useData-DpGbPZTZ.js";import{N as C}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function G(){const e=j.c(21),{filterSelection:t,setFilterSelection:s}=k.useContext(S),{data:r,nrens:n}=v("/api/traffic-stats",s);let a,c;if(e[0]!==r||e[1]!==t.selectedNrens){const D=r?y(r):[];let m;e[4]!==t.selectedNrens?(m=h=>t.selectedNrens.includes(h.nren),e[4]=t.selectedNrens,e[5]=m):m=e[5],a=D.filter(m);const b=L(a);c=R(b,E),e[0]=r,e[1]=t.selectedNrens,e[2]=a,e[3]=c}else a=e[2],c=e[3];const x=c;let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[6]=f):f=e[6];let i;e[7]!==n?(i=n.values(),e[7]=n,e[8]=i):i=e[8];let l;e[9]!==i?(l={availableYears:f,availableNrens:[...i]},e[9]=i,e[10]=l):l=e[10];let u;e[11]!==t||e[12]!==s||e[13]!==l?(u=p.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s,coloredYears:!0}),e[11]=t,e[12]=s,e[13]=l,e[14]=u):u=e[14];const N=u;let o;e[15]!==x?(o=p.jsx(U,{children:p.jsx(C,{data:x,columnTitle:"Traffic Statistics URL",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=x,e[16]=o):o=e[16];let d;return e[17]!==N||e[18]!==a||e[19]!==o?(d=p.jsx(T,{title:_["traffic-stats"],description:"This table shows the URL links to NREN websites showing traffic statistics, if available.",category:g.Network,filter:N,data:a,filename:"traffic_stats_nrens_per_year",children:o}),e[17]=N,e[18]=a,e[19]=o,e[20]=d):d=e[20],d}function E(e,t){const s=w(t);if(s!=null)for(const[r,n]of Object.entries(s))e[r]=n}export{G as default}; diff --git a/compendium_v2/static/TrafficVolume-y9Aps8Wr.js b/compendium_v2/static/TrafficVolume-MMO6VsZ6.js similarity index 91% rename from compendium_v2/static/TrafficVolume-y9Aps8Wr.js rename to compendium_v2/static/TrafficVolume-MMO6VsZ6.js index 21cdd6e8add2a1ed938ac711aae187ebd6b11629..53a5b5392425e4019124ee33f7b3428d7f0c00c2 100644 --- a/compendium_v2/static/TrafficVolume-y9Aps8Wr.js +++ b/compendium_v2/static/TrafficVolume-MMO6VsZ6.js @@ -1 +1 @@ -import{c as A,r as G,F as U,j as t,t as Y,S as $,C as P,R as W}from"./index-BBqwf-sR.js";import{L as k}from"./index-BsZyajo4.js";import{C as q,a as H,L as I,P as J,b as K,p as M,c as Q,d as X,u as Z,e as v,D as ee,F as te,f as se}from"./useData-CR6GUHnJ.js";import{g as le}from"./charthelpers-CAhtqHMo.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";q.register(H,I,J,K,M,Q,X);function de(){const e=A.c(47),{filterSelection:l,setFilterSelection:_}=G.useContext(U),{data:V,nrens:B}=Z("/api/traffic-volume",_);let o,a,s,g,i;if(e[0]!==V||e[1]!==l.selectedNrens){let r;e[7]!==l.selectedNrens?(r=O=>l.selectedNrens.includes(O.nren),e[7]=l.selectedNrens,e[8]=r):r=e[8],s=V.filter(r),o=v(s,"from_customers"),i=v(s,"to_customers"),a=v(s,"from_external"),g=v(s,"to_external"),e[0]=V,e[1]=l.selectedNrens,e[2]=o,e[3]=a,e[4]=s,e[5]=g,e[6]=i}else o=e[2],a=e[3],s=e[4],g=e[5],i=e[6];const F=g;let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=le({title:"Traffic Volume in PB",tooltipUnit:"PB",valueTransform(r){return r?r/1e3:0}}),e[9]=N):N=e[9];const b=N;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=[],e[10]=j):j=e[10];let n;e[11]!==B?(n=B.values(),e[11]=B,e[12]=n):n=e[12];let c;e[13]!==n?(c={availableYears:j,availableNrens:[...n]},e[13]=n,e[14]=c):c=e[14];let S;e[15]!==l||e[16]!==_||e[17]!==c?(S=t.jsx(te,{filterOptions:c,filterSelection:l,setFilterSelection:_}),e[15]=l,e[16]=_,e[17]=c,e[18]=S):S=e[18];const z=S;let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("span",{children:"The four graphs below show the estimates of total annual traffic in PB (1000 TB) to & from NREN customers, and to & from external networks. NREN customers are taken to mean sources that are part of the NREN's connectivity remit, while external networks are understood as outside sources including GÉANT, the general/commercial internet, internet exchanges, peerings, other NRENs, etc."}),e[19]=y):y=e[19];let T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T={marginBottom:"30px"},e[20]=T):T=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx("span",{style:{fontSize:"20px",color:"rgb(85, 96, 156)",fontWeight:"bold"},children:"Traffic from NREN customer"}),e[21]=E):E=e[21];let f;e[22]!==o?(f=t.jsxs(P,{children:[E,t.jsx(k,{data:o,options:b})]}),e[22]=o,e[23]=f):f=e[23];let C;e[24]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("span",{style:{fontSize:"20px",color:"rgb(221, 100, 57)",fontWeight:"bold"},children:"Traffic to NREN customer"}),e[24]=C):C=e[24];let m;e[25]!==i?(m=t.jsxs(P,{children:[C,t.jsx(k,{data:i,options:b})]}),e[25]=i,e[26]=m):m=e[26];let d;e[27]!==m||e[28]!==f?(d=t.jsxs(W,{style:T,children:[f,m]}),e[27]=m,e[28]=f,e[29]=d):d=e[29];let R;e[30]===Symbol.for("react.memo_cache_sentinel")?(R={marginTop:"30px"},e[30]=R):R=e[30];let w;e[31]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx("span",{style:{fontSize:"20px",color:"rgb(63, 143, 77)",fontWeight:"bold"},children:"Traffic from external network"}),e[31]=w):w=e[31];let h;e[32]!==a?(h=t.jsxs(P,{children:[w,t.jsx(k,{data:a,options:b})]}),e[32]=a,e[33]=h):h=e[33];let D;e[34]===Symbol.for("react.memo_cache_sentinel")?(D=t.jsx("span",{style:{fontSize:"20px",color:"rgb(173, 48, 51)",fontWeight:"bold"},children:"Traffic to external network"}),e[34]=D):D=e[34];let x;e[35]!==F?(x=t.jsxs(P,{children:[D,t.jsx(k,{data:F,options:b})]}),e[35]=F,e[36]=x):x=e[36];let p;e[37]!==h||e[38]!==x?(p=t.jsxs(W,{style:R,children:[h,x]}),e[37]=h,e[38]=x,e[39]=p):p=e[39];let u;e[40]!==d||e[41]!==p?(u=t.jsxs(se,{children:[d,p]}),e[40]=d,e[41]=p,e[42]=u):u=e[42];let L;return e[43]!==z||e[44]!==s||e[45]!==u?(L=t.jsx(ee,{title:Y["traffic-volume"],description:y,category:$.Network,filter:z,data:s,filename:"NREN_traffic_estimates_data",children:u}),e[43]=z,e[44]=s,e[45]=u,e[46]=L):L=e[46],L}export{de as default}; +import{c as A,r as G,F as U,j as t,t as Y,S as $,C as P,R as W}from"./index-C21YiIe4.js";import{L as k}from"./index-X7mNNoWD.js";import{C as q,a as H,L as I,P as J,b as K,p as M,c as Q,d as X,u as Z,e as v,D as ee,F as te,f as se}from"./useData-DpGbPZTZ.js";import{g as le}from"./charthelpers-D69C2Lfe.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";q.register(H,I,J,K,M,Q,X);function de(){const e=A.c(47),{filterSelection:l,setFilterSelection:_}=G.useContext(U),{data:V,nrens:B}=Z("/api/traffic-volume",_);let o,a,s,g,i;if(e[0]!==V||e[1]!==l.selectedNrens){let r;e[7]!==l.selectedNrens?(r=O=>l.selectedNrens.includes(O.nren),e[7]=l.selectedNrens,e[8]=r):r=e[8],s=V.filter(r),o=v(s,"from_customers"),i=v(s,"to_customers"),a=v(s,"from_external"),g=v(s,"to_external"),e[0]=V,e[1]=l.selectedNrens,e[2]=o,e[3]=a,e[4]=s,e[5]=g,e[6]=i}else o=e[2],a=e[3],s=e[4],g=e[5],i=e[6];const F=g;let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=le({title:"Traffic Volume in PB",tooltipUnit:"PB",valueTransform(r){return r?r/1e3:0}}),e[9]=N):N=e[9];const b=N;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=[],e[10]=j):j=e[10];let n;e[11]!==B?(n=B.values(),e[11]=B,e[12]=n):n=e[12];let c;e[13]!==n?(c={availableYears:j,availableNrens:[...n]},e[13]=n,e[14]=c):c=e[14];let S;e[15]!==l||e[16]!==_||e[17]!==c?(S=t.jsx(te,{filterOptions:c,filterSelection:l,setFilterSelection:_}),e[15]=l,e[16]=_,e[17]=c,e[18]=S):S=e[18];const z=S;let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("span",{children:"The four graphs below show the estimates of total annual traffic in PB (1000 TB) to & from NREN customers, and to & from external networks. NREN customers are taken to mean sources that are part of the NREN's connectivity remit, while external networks are understood as outside sources including GÉANT, the general/commercial internet, internet exchanges, peerings, other NRENs, etc."}),e[19]=y):y=e[19];let T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T={marginBottom:"30px"},e[20]=T):T=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx("span",{style:{fontSize:"20px",color:"rgb(85, 96, 156)",fontWeight:"bold"},children:"Traffic from NREN customer"}),e[21]=E):E=e[21];let f;e[22]!==o?(f=t.jsxs(P,{children:[E,t.jsx(k,{data:o,options:b})]}),e[22]=o,e[23]=f):f=e[23];let C;e[24]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("span",{style:{fontSize:"20px",color:"rgb(221, 100, 57)",fontWeight:"bold"},children:"Traffic to NREN customer"}),e[24]=C):C=e[24];let m;e[25]!==i?(m=t.jsxs(P,{children:[C,t.jsx(k,{data:i,options:b})]}),e[25]=i,e[26]=m):m=e[26];let d;e[27]!==m||e[28]!==f?(d=t.jsxs(W,{style:T,children:[f,m]}),e[27]=m,e[28]=f,e[29]=d):d=e[29];let R;e[30]===Symbol.for("react.memo_cache_sentinel")?(R={marginTop:"30px"},e[30]=R):R=e[30];let w;e[31]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx("span",{style:{fontSize:"20px",color:"rgb(63, 143, 77)",fontWeight:"bold"},children:"Traffic from external network"}),e[31]=w):w=e[31];let h;e[32]!==a?(h=t.jsxs(P,{children:[w,t.jsx(k,{data:a,options:b})]}),e[32]=a,e[33]=h):h=e[33];let D;e[34]===Symbol.for("react.memo_cache_sentinel")?(D=t.jsx("span",{style:{fontSize:"20px",color:"rgb(173, 48, 51)",fontWeight:"bold"},children:"Traffic to external network"}),e[34]=D):D=e[34];let x;e[35]!==F?(x=t.jsxs(P,{children:[D,t.jsx(k,{data:F,options:b})]}),e[35]=F,e[36]=x):x=e[36];let p;e[37]!==h||e[38]!==x?(p=t.jsxs(W,{style:R,children:[h,x]}),e[37]=h,e[38]=x,e[39]=p):p=e[39];let u;e[40]!==d||e[41]!==p?(u=t.jsxs(se,{children:[d,p]}),e[40]=d,e[41]=p,e[42]=u):u=e[42];let L;return e[43]!==z||e[44]!==s||e[45]!==u?(L=t.jsx(ee,{title:Y["traffic-volume"],description:y,category:$.Network,filter:z,data:s,filename:"NREN_traffic_estimates_data",children:u}),e[43]=z,e[44]=s,e[45]=u,e[46]=L):L=e[46],L}export{de as default}; diff --git a/compendium_v2/static/UserManagementComponent-BI6ndpd8.js b/compendium_v2/static/UserManagementComponent-BI6ndpd8.js new file mode 100644 index 0000000000000000000000000000000000000000..2e57b09563db5679b493ad891572c5d4b0ddf8b3 --- /dev/null +++ b/compendium_v2/static/UserManagementComponent-BI6ndpd8.js @@ -0,0 +1 @@ +import{r as j,h as ke,j as t,i as Re,ai as Ae,c as Fe,aj as De,a1 as Ge,W as Se,y as Ee,E as Be,R as Le}from"./index-C21YiIe4.js";import{V as de,O as Me}from"./index-CkUFjbUc.js";import{S as We}from"./SurveySidebar-jNvlLq9W.js";import{c as qe,a as He}from"./index-BZTbj6oW.js";import{A as ae,l as Je}from"./lodash-DF20DnQn.js";import{T as Ke}from"./Table-DihnUcAL.js";import"./SideBar-SlK9Rn9C.js";import"./hook-ZzfBsVxi.js";const me=j.forwardRef(({className:e,bsPrefix:s,as:r="span",...c},l)=>(s=ke(s,"input-group-text"),t.jsx(r,{ref:l,className:Re(e,s),...c})));me.displayName="InputGroupText";const Ye=e=>t.jsx(me,{children:t.jsx(Ae,{type:"checkbox",...e})}),Qe=e=>t.jsx(me,{children:t.jsx(Ae,{type:"radio",...e})}),$e=j.forwardRef(({bsPrefix:e,size:s,hasValidation:r,className:c,as:l="div",...a},h)=>{e=ke(e,"input-group");const d=j.useMemo(()=>({}),[]);return t.jsx(qe.Provider,{value:d,children:t.jsx(l,{ref:h,...a,className:Re(c,e,s&&`${e}-${s}`,r&&"has-validation")})})});$e.displayName="InputGroup";const Te=Object.assign($e,{Text:me,Radio:Qe,Checkbox:Ye});function Xe(e){const s=Fe.c(10),{getConfig:r,setConfig:c}=j.useContext(De);let l;s[0]!==r||s[1]!==e?(l=r(e),s[0]=r,s[1]=e,s[2]=l):l=s[2];const a=l;let h;s[3]!==e||s[4]!==c?(h=(M,I)=>c(e,M,I),s[3]=e,s[4]=c,s[5]=h):h=s[5];let d;return s[6]!==a||s[7]!==e||s[8]!==h?(d={[e]:a,setConfig:h},s[6]=a,s[7]=e,s[8]=h,s[9]=d):d=s[9],d}async function Ze(){try{return await(await fetch("/api/user/list")).json()}catch{return[]}}async function ze(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}async function Pe(e,s){const r={id:e,...s},c={method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)},l=await fetch(`/api/user/${e}`,c),a=await l.json();if(!l.ok)throw new Error(a.message);return de.success(a.message),a.user}async function _e(e){if(!window.confirm(`Are you sure you want to delete ${e.name} (${e.email})?`))return!1;const r={method:"DELETE",headers:{"Content-Type":"application/json"}},c=await fetch(`/api/user/${e.id}`,r),l=await c.json();if(!c.ok)throw new Error(l.message);return de.success(l.message),!0}const H=(e,s)=>e.role!=="admin"&&s.role==="admin"?1:e.role==="admin"&&s.role!=="admin"?-1:e.role==="user"&&s.role!=="user"?1:s.role==="user"&&e.role!=="user"?-1:!e.permissions.active&&s.permissions.active?1:e.permissions.active&&!s.permissions.active?-1:e.name.localeCompare(s.name);function ft(){const e=Fe.c(88);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],e[0]=s):s=e[0];const[r,c]=j.useState(s);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[1]=l):l=e[1];const[a,h]=j.useState(l),{user:d,setUser:M}=j.useContext(Ge);let I;e[2]===Symbol.for("react.memo_cache_sentinel")?(I={column:"ID",asc:!0},e[2]=I):I=e[2];const[f,Ne]=j.useState(I),[S,Ie]=j.useState(""),{setConfig:J,user_management:U}=Xe("user_management");let K;e[3]!==J||e[4]!==U?(K=(o,u)=>{const m=U??{},p=m==null?void 0:m.shownColumns;if(!p){J({...m,shownColumns:{[o]:u}});return}J({...m,shownColumns:{...p,[o]:u}})},e[3]=J,e[4]=U,e[5]=K):K=e[5];const ue=K;let Y;e[6]!==U?(Y=o=>{const u=U;if(!u)return!0;const m=u.shownColumns;return m?m[o]??!0:!0},e[6]=U,e[7]=Y):Y=e[7];const i=Y;let Q,X;e[8]===Symbol.for("react.memo_cache_sentinel")?(Q=()=>{Ze().then(o=>{c(o)}),ze().then(o=>{h(o.sort(ot))})},X=[],e[8]=Q,e[9]=X):(Q=e[8],X=e[9]),j.useEffect(Q,X);let Z;e[10]!==d.id||e[11]!==M||e[12]!==r?(Z=(o,u)=>{const m=r.findIndex(B=>B.id===u.id),p=[...r],{name:q}=o.target,N={};q==="active"?N[q]=o.target.checked:N[q]=o.target.value,Pe(u.id,N).then(B=>{B.id===d.id?M(B):(p[m]=B,c(p))}).catch(nt)},e[10]=d.id,e[11]=M,e[12]=r,e[13]=Z):Z=e[13];const W=Z;let z;e[14]!==a?(z=o=>{var u;return(u=a.find(m=>m.id==o||m.name==o))==null?void 0:u.id},e[14]=a,e[15]=z):z=e[15];const fe=z,Oe=st,P=tt;let E,T,k,y,g,C,R,A,w,b,v,F,$;if(e[16]!==S||e[17]!==fe||e[18]!==i||e[19]!==W||e[20]!==d||e[21]!==a||e[22]!==ue||e[23]!==f.asc||e[24]!==f.column||e[25]!==r){const o=["ID","Active","Role","Email","Full Name","OIDC Sub","NREN","Actions"],u={[o[1]]:Oe,[o[2]]:P("role"),[o[3]]:P("email"),[o[4]]:P("name"),[o[6]]:P("nrens")},m=n=>{n===f.column?Ne({column:n,asc:!f.asc}):Ne({column:n,asc:!0})},p={};Array.from(Object.keys(u)).includes(f.column)?p[f.column]={"aria-sort":f.asc?"ascending":"descending"}:p[o[0]]={"aria-sort":f.asc?"ascending":"descending"};const q=u[f.column]??H,N=S&&S.toLowerCase(),Ue=(S?r.filter(n=>n.email.toLowerCase().includes(N)||n.name.toLowerCase().includes(N)||n.nrens.some(x=>x.toLowerCase().includes(N))):r).filter(n=>n.id!==d.id).sort(q);f.asc||Ue.reverse(),e[39]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(We,{}),v=t.jsx(Me,{}),e[39]=b,e[40]=v):(b=e[39],v=e[40]),T=Be,A="py-5 grey-container";let ee;e[41]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsx("div",{className:"text-center w-100 mb-3",children:t.jsx("h3",{children:"User Management Page"})}),e[41]=ee):ee=e[41];let te;e[42]===Symbol.for("react.memo_cache_sentinel")?(te={width:"30rem"},e[42]=te):te=e[42];let se;e[43]===Symbol.for("react.memo_cache_sentinel")?(se=t.jsxs(ae.Header,{children:[t.jsx("span",{className:"me-2",children:"Column Visibility"}),t.jsx("small",{className:"text-muted",children:"Choose which columns to display"})]}),e[43]=se):se=e[43];let ne;e[44]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx("small",{className:"text-muted mb-2 d-block",children:"Select which columns you want to display in the table below. Unchecked columns will be hidden."}),e[44]=ne):ne=e[44];let oe;e[45]===Symbol.for("react.memo_cache_sentinel")?(oe={gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"10px"},e[45]=oe):oe=e[45];const he=t.jsx("div",{className:"d-grid",style:oe,children:o.map(n=>t.jsx(Se.Check,{type:"checkbox",id:`column-${n}`,label:n,checked:i(n),onChange:x=>ue(n,x.target.checked)},n))});let L;e[46]!==he?(L=t.jsx(ae,{className:"mb-3",style:te,children:t.jsxs(ae.Item,{eventKey:"0",children:[se,t.jsx(ae.Body,{children:t.jsxs(Se.Control,{as:"div",className:"p-3",children:[ne,he]})})]})}),e[46]=he,e[47]=L):L=e[47];let re,le;e[48]===Symbol.for("react.memo_cache_sentinel")?(re={width:"30rem"},le=t.jsx(Te.Text,{id:"search-text",children:"Search"}),e[48]=re,e[49]=le):(re=e[48],le=e[49]);let ie;e[50]===Symbol.for("react.memo_cache_sentinel")?(ie=t.jsx(Se.Control,{placeholder:"Search by email/name","aria-label":"Search",onInput:Je.debounce(n=>Ie(n.target.value),200)}),e[50]=ie):ie=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsxs(Te,{className:"mb-3",style:re,children:[le,ie,t.jsx(Ee,{variant:"outline-secondary",onClick:()=>{Ie("")},children:"Clear"})]}),e[51]=ce):ce=e[51],e[52]!==L?(w=t.jsxs(Le,{className:"d-flex justify-content-center align-items-center flex-column",children:[ee,L,ce]}),e[52]=L,e[53]=w):w=e[53],R="d-flex justify-content-center",e[54]===Symbol.for("react.memo_cache_sentinel")?(C={maxWidth:"100rem"},e[54]=C):C=e[54],E=Ke,$="user-management-table",k=!0;const pe=i(o[0])&&t.jsx("col",{span:1,style:{width:"8rem"}}),xe=i(o[1])&&t.jsx("col",{span:1,style:{width:"3rem"}}),je=i(o[2])&&t.jsx("col",{span:1,style:{width:"4.5rem"}}),ye=i(o[3])&&t.jsx("col",{span:1,style:{width:"7rem"}}),ge=i(o[4])&&t.jsx("col",{span:1,style:{width:"5rem"}}),Ce=i(o[5])&&t.jsx("col",{span:1,style:{width:"5rem"}}),we=i(o[6])&&t.jsx("col",{span:1,style:{width:"6rem"}}),be=i(o[7])&&t.jsx("col",{span:1,style:{width:"3rem"}});e[55]!==pe||e[56]!==xe||e[57]!==je||e[58]!==ye||e[59]!==ge||e[60]!==Ce||e[61]!==we||e[62]!==be?(y=t.jsxs("colgroup",{children:[pe,xe,je,ye,ge,Ce,we,be]}),e[55]=pe,e[56]=xe,e[57]=je,e[58]=ye,e[59]=ge,e[60]=Ce,e[61]=we,e[62]=be,e[63]=y):y=e[63];const ve=t.jsx("tr",{children:o.map(n=>i(n)&&t.jsx("th",{...p[n],onClick:()=>m(n),className:"sortable fixed-column",style:{border:"1px solid #ddd"},children:n},n))});e[64]!==ve?(g=t.jsx("thead",{children:ve}),e[64]=ve,e[65]=g):g=e[65],F=t.jsx("tbody",{children:(S?[]:[d]).concat(Ue).map(n=>t.jsxs("tr",{style:{fontWeight:n.id==d.id?"bold":"normal"},children:[i(o[0])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id}),i(o[1])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?t.jsx(He,{}):t.jsx("input",{type:"checkbox",name:"active",checked:n.permissions.active,onChange:x=>W(x,n)})}),i(o[2])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?n.role.charAt(0).toUpperCase()+n.role.slice(1):t.jsxs("select",{name:"role",defaultValue:n.role,onChange:x=>W(x,n),style:{width:"100%"},children:[t.jsx("option",{value:"admin",children:"Admin"}),t.jsx("option",{value:"user",children:"User"}),t.jsx("option",{value:"observer",children:"Observer"})]})}),i(o[3])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.email}),i(o[4])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.name}),i(o[5])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.oidc_sub}),i(o[6])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:t.jsxs("select",{name:"nren",multiple:!1,value:n.nrens.length>0?fe(n.nrens[0]):"",onChange:x=>W(x,n),children:[t.jsx("option",{value:"",children:"Select NREN"}),a.map(et)]})}),i(o[7])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id!==d.id&&t.jsx(Ee,{variant:"danger",onClick:async()=>{if(n.id===d.id){de.error("You cannot delete yourself");return}await _e(n)&&c(r.filter(Ve=>Ve.id!==n.id))},children:"Delete"})})]},n.id))}),e[16]=S,e[17]=fe,e[18]=i,e[19]=W,e[20]=d,e[21]=a,e[22]=ue,e[23]=f.asc,e[24]=f.column,e[25]=r,e[26]=E,e[27]=T,e[28]=k,e[29]=y,e[30]=g,e[31]=C,e[32]=R,e[33]=A,e[34]=w,e[35]=b,e[36]=v,e[37]=F,e[38]=$}else E=e[26],T=e[27],k=e[28],y=e[29],g=e[30],C=e[31],R=e[32],A=e[33],w=e[34],b=e[35],v=e[36],F=e[37],$=e[38];let O;e[66]!==E||e[67]!==k||e[68]!==y||e[69]!==g||e[70]!==F||e[71]!==$?(O=t.jsxs(E,{className:$,bordered:k,children:[y,g,F]}),e[66]=E,e[67]=k,e[68]=y,e[69]=g,e[70]=F,e[71]=$,e[72]=O):O=e[72];let V;e[73]!==C||e[74]!==O?(V=t.jsx("div",{style:C,children:O}),e[73]=C,e[74]=O,e[75]=V):V=e[75];let D;e[76]!==R||e[77]!==V?(D=t.jsx("div",{className:R,children:V}),e[76]=R,e[77]=V,e[78]=D):D=e[78];let G;e[79]!==T||e[80]!==A||e[81]!==w||e[82]!==D?(G=t.jsxs(T,{className:A,children:[w,D]}),e[79]=T,e[80]=A,e[81]=w,e[82]=D,e[83]=G):G=e[83];let _;return e[84]!==b||e[85]!==v||e[86]!==G?(_=t.jsxs(t.Fragment,{children:[b,v,G]}),e[84]=b,e[85]=v,e[86]=G,e[87]=_):_=e[87],_}function et(e){return t.jsx("option",{value:e.id,children:e.name},e.id)}function tt(e){return(s,r)=>{const c=s[e],l=r[e];if(e==="nrens")return s.nrens.length===0&&r.nrens.length===0?H(s,r):s.nrens.length===0?-1:r.nrens.length===0?1:s.nrens[0].localeCompare(r.nrens[0]);if(typeof c!="string"||typeof l!="string")return H(s,r);const a=c.localeCompare(l);return a===0?H(s,r):a}}function st(e,s){return e.permissions.active&&!s.permissions.active?1:!e.permissions.active&&s.permissions.active?-1:H(e,s)}function nt(e){de.error(e.message)}function ot(e,s){return e.name.localeCompare(s.name)}export{ft as default}; diff --git a/compendium_v2/static/UserManagementComponent-BzxQZ5Vc.js b/compendium_v2/static/UserManagementComponent-BzxQZ5Vc.js deleted file mode 100644 index cc07eb02a808c0809ab44f8815235b58373e3f97..0000000000000000000000000000000000000000 --- a/compendium_v2/static/UserManagementComponent-BzxQZ5Vc.js +++ /dev/null @@ -1 +0,0 @@ -import{r as x,h as Te,j as t,i as ke,ai as Re,c as Ae,aj as Ve,a1 as De,W as Se,y as Ue,E as Ge,R as Be}from"./index-BBqwf-sR.js";import{V as de,O as Me}from"./index-B2bzbolV.js";import{S as We}from"./SurveySidebar-W_n-2uiT.js";import{c as qe,a as Le}from"./index-DrIlvjJO.js";import{A as ae,l as He}from"./lodash-B_Jzqs2q.js";import{T as Je}from"./Table-DwZl3W_O.js";import"./SideBar-C91-oLVm.js";import"./hook-Lm-AbHy7.js";const me=x.forwardRef(({className:e,bsPrefix:s,as:r="span",...c},l)=>(s=Te(s,"input-group-text"),t.jsx(r,{ref:l,className:ke(e,s),...c})));me.displayName="InputGroupText";const Ke=e=>t.jsx(me,{children:t.jsx(Re,{type:"checkbox",...e})}),Ye=e=>t.jsx(me,{children:t.jsx(Re,{type:"radio",...e})}),$e=x.forwardRef(({bsPrefix:e,size:s,hasValidation:r,className:c,as:l="div",...a},h)=>{e=Te(e,"input-group");const d=x.useMemo(()=>({}),[]);return t.jsx(qe.Provider,{value:d,children:t.jsx(l,{ref:h,...a,className:ke(c,e,s&&`${e}-${s}`,r&&"has-validation")})})});$e.displayName="InputGroup";const Ee=Object.assign($e,{Text:me,Radio:Ye,Checkbox:Ke});function Qe(e){const s=Ae.c(10),{getConfig:r,setConfig:c}=x.useContext(Ve);let l;s[0]!==r||s[1]!==e?(l=r(e),s[0]=r,s[1]=e,s[2]=l):l=s[2];const a=l;let h;s[3]!==e||s[4]!==c?(h=(M,N)=>c(e,M,N),s[3]=e,s[4]=c,s[5]=h):h=s[5];let d;return s[6]!==a||s[7]!==e||s[8]!==h?(d={[e]:a,setConfig:h},s[6]=a,s[7]=e,s[8]=h,s[9]=d):d=s[9],d}async function Xe(){try{return await(await fetch("/api/user/list")).json()}catch{return[]}}async function Ze(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}async function ze(e,s){const r={id:e,...s},c={method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)},l=await fetch(`/api/user/${e}`,c),a=await l.json();if(!l.ok)throw new Error(a.message);return de.success(a.message),a.user}async function Pe(e){if(!window.confirm(`Are you sure you want to delete ${e.name} (${e.email})?`))return!1;const r={method:"DELETE",headers:{"Content-Type":"application/json"}},c=await fetch(`/api/user/${e.id}`,r),l=await c.json();if(!c.ok)throw new Error(l.message);return de.success(l.message),!0}const L=(e,s)=>e.role!=="admin"&&s.role==="admin"?1:e.role==="admin"&&s.role!=="admin"?-1:e.role==="user"&&s.role!=="user"?1:s.role==="user"&&e.role!=="user"?-1:!e.permissions.active&&s.permissions.active?1:e.permissions.active&&!s.permissions.active?-1:e.name.localeCompare(s.name);function ut(){const e=Ae.c(88);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],e[0]=s):s=e[0];const[r,c]=x.useState(s);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[1]=l):l=e[1];const[a,h]=x.useState(l),{user:d,setUser:M}=x.useContext(De);let N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N={column:"ID",asc:!0},e[2]=N):N=e[2];const[f,Ne]=x.useState(N),[I,Ie]=x.useState(""),{setConfig:H,user_management:U}=Qe("user_management");let J;e[3]!==H||e[4]!==U?(J=(o,u)=>{const m=U??{},p=m==null?void 0:m.shownColumns;if(!p){H({...m,shownColumns:{[o]:u}});return}H({...m,shownColumns:{...p,[o]:u}})},e[3]=H,e[4]=U,e[5]=J):J=e[5];const ue=J;let K;e[6]!==U?(K=o=>{const u=U;if(!u)return!0;const m=u.shownColumns;return m?m[o]??!0:!0},e[6]=U,e[7]=K):K=e[7];const i=K;let Y,Q;e[8]===Symbol.for("react.memo_cache_sentinel")?(Y=()=>{Xe().then(o=>{c(o)}),Ze().then(o=>{h(o.sort(nt))})},Q=[],e[8]=Y,e[9]=Q):(Y=e[8],Q=e[9]),x.useEffect(Y,Q);let X;e[10]!==d.id||e[11]!==M||e[12]!==r?(X=(o,u)=>{const m=r.findIndex(v=>v.id===u.id),p=[...r],{name:q}=o.target,_={};q==="active"?_[q]=o.target.checked:_[q]=o.target.value,ze(u.id,_).then(v=>{v.id===d.id?M(v):(p[m]=v,c(p))}).catch(st)},e[10]=d.id,e[11]=M,e[12]=r,e[13]=X):X=e[13];const W=X;let Z;e[14]!==a?(Z=o=>{var u;return(u=a.find(m=>m.id==o||m.name==o))==null?void 0:u.id},e[14]=a,e[15]=Z):Z=e[15];const fe=Z,Fe=tt,z=et;let E,T,k,j,y,g,R,A,C,w,b,$,F;if(e[16]!==I||e[17]!==fe||e[18]!==i||e[19]!==W||e[20]!==d||e[21]!==a||e[22]!==ue||e[23]!==f.asc||e[24]!==f.column||e[25]!==r){const o=["ID","Active","Role","Email","Full Name","OIDC Sub","NREN","Actions"],u={[o[1]]:Fe,[o[2]]:z("role"),[o[3]]:z("email"),[o[4]]:z("name"),[o[6]]:z("nrens")},m=n=>{n===f.column?Ne({column:n,asc:!f.asc}):Ne({column:n,asc:!0})},p={};Array.from(Object.keys(u)).includes(f.column)?p[f.column]={"aria-sort":f.asc?"ascending":"descending"}:p[o[0]]={"aria-sort":f.asc?"ascending":"descending"};const q=u[f.column]??L,v=(I?r.filter(n=>n.email.includes(I)||n.name.includes(I)):r).filter(n=>n.id!==d.id).sort(q);f.asc||v.reverse(),e[39]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx(We,{}),b=t.jsx(Me,{}),e[39]=w,e[40]=b):(w=e[39],b=e[40]),T=Ge,A="py-5 grey-container";let ee;e[41]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsx("div",{className:"text-center w-100 mb-3",children:t.jsx("h3",{children:"User Management Page"})}),e[41]=ee):ee=e[41];let te;e[42]===Symbol.for("react.memo_cache_sentinel")?(te={width:"30rem"},e[42]=te):te=e[42];let se;e[43]===Symbol.for("react.memo_cache_sentinel")?(se=t.jsxs(ae.Header,{children:[t.jsx("span",{className:"me-2",children:"Column Visibility"}),t.jsx("small",{className:"text-muted",children:"Choose which columns to display"})]}),e[43]=se):se=e[43];let ne;e[44]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx("small",{className:"text-muted mb-2 d-block",children:"Select which columns you want to display in the table below. Unchecked columns will be hidden."}),e[44]=ne):ne=e[44];let oe;e[45]===Symbol.for("react.memo_cache_sentinel")?(oe={gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"10px"},e[45]=oe):oe=e[45];const he=t.jsx("div",{className:"d-grid",style:oe,children:o.map(n=>t.jsx(Se.Check,{type:"checkbox",id:`column-${n}`,label:n,checked:i(n),onChange:S=>ue(n,S.target.checked)},n))});let B;e[46]!==he?(B=t.jsx(ae,{className:"mb-3",style:te,children:t.jsxs(ae.Item,{eventKey:"0",children:[se,t.jsx(ae.Body,{children:t.jsxs(Se.Control,{as:"div",className:"p-3",children:[ne,he]})})]})}),e[46]=he,e[47]=B):B=e[47];let re,le;e[48]===Symbol.for("react.memo_cache_sentinel")?(re={width:"30rem"},le=t.jsx(Ee.Text,{id:"search-text",children:"Search"}),e[48]=re,e[49]=le):(re=e[48],le=e[49]);let ie;e[50]===Symbol.for("react.memo_cache_sentinel")?(ie=t.jsx(Se.Control,{placeholder:"Search by email/name","aria-label":"Search",onInput:He.debounce(n=>Ie(n.target.value),200)}),e[50]=ie):ie=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsxs(Ee,{className:"mb-3",style:re,children:[le,ie,t.jsx(Ue,{variant:"outline-secondary",onClick:()=>{Ie("")},children:"Clear"})]}),e[51]=ce):ce=e[51],e[52]!==B?(C=t.jsxs(Be,{className:"d-flex justify-content-center align-items-center flex-column",children:[ee,B,ce]}),e[52]=B,e[53]=C):C=e[53],R="d-flex justify-content-center",e[54]===Symbol.for("react.memo_cache_sentinel")?(g={maxWidth:"100rem"},e[54]=g):g=e[54],E=Je,F="user-management-table",k=!0;const pe=i(o[0])&&t.jsx("col",{span:1,style:{width:"8rem"}}),xe=i(o[1])&&t.jsx("col",{span:1,style:{width:"3rem"}}),je=i(o[2])&&t.jsx("col",{span:1,style:{width:"4.5rem"}}),ye=i(o[3])&&t.jsx("col",{span:1,style:{width:"7rem"}}),ge=i(o[4])&&t.jsx("col",{span:1,style:{width:"5rem"}}),Ce=i(o[5])&&t.jsx("col",{span:1,style:{width:"5rem"}}),we=i(o[6])&&t.jsx("col",{span:1,style:{width:"6rem"}}),be=i(o[7])&&t.jsx("col",{span:1,style:{width:"3rem"}});e[55]!==pe||e[56]!==xe||e[57]!==je||e[58]!==ye||e[59]!==ge||e[60]!==Ce||e[61]!==we||e[62]!==be?(j=t.jsxs("colgroup",{children:[pe,xe,je,ye,ge,Ce,we,be]}),e[55]=pe,e[56]=xe,e[57]=je,e[58]=ye,e[59]=ge,e[60]=Ce,e[61]=we,e[62]=be,e[63]=j):j=e[63];const ve=t.jsx("tr",{children:o.map(n=>i(n)&&t.jsx("th",{...p[n],onClick:()=>m(n),className:"sortable fixed-column",style:{border:"1px solid #ddd"},children:n},n))});e[64]!==ve?(y=t.jsx("thead",{children:ve}),e[64]=ve,e[65]=y):y=e[65],$=t.jsx("tbody",{children:(I?[]:[d]).concat(v).map(n=>t.jsxs("tr",{style:{fontWeight:n.id==d.id?"bold":"normal"},children:[i(o[0])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id}),i(o[1])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?t.jsx(Le,{}):t.jsx("input",{type:"checkbox",name:"active",checked:n.permissions.active,onChange:S=>W(S,n)})}),i(o[2])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?n.role.charAt(0).toUpperCase()+n.role.slice(1):t.jsxs("select",{name:"role",defaultValue:n.role,onChange:S=>W(S,n),style:{width:"100%"},children:[t.jsx("option",{value:"admin",children:"Admin"}),t.jsx("option",{value:"user",children:"User"}),t.jsx("option",{value:"observer",children:"Observer"})]})}),i(o[3])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.email}),i(o[4])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.name}),i(o[5])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.oidc_sub}),i(o[6])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:t.jsxs("select",{name:"nren",multiple:!1,value:n.nrens.length>0?fe(n.nrens[0]):"",onChange:S=>W(S,n),children:[t.jsx("option",{value:"",children:"Select NREN"}),a.map(_e)]})}),i(o[7])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id!==d.id&&t.jsx(Ue,{variant:"danger",onClick:async()=>{if(n.id===d.id){de.error("You cannot delete yourself");return}await Pe(n)&&c(r.filter(Oe=>Oe.id!==n.id))},children:"Delete"})})]},n.id))}),e[16]=I,e[17]=fe,e[18]=i,e[19]=W,e[20]=d,e[21]=a,e[22]=ue,e[23]=f.asc,e[24]=f.column,e[25]=r,e[26]=E,e[27]=T,e[28]=k,e[29]=j,e[30]=y,e[31]=g,e[32]=R,e[33]=A,e[34]=C,e[35]=w,e[36]=b,e[37]=$,e[38]=F}else E=e[26],T=e[27],k=e[28],j=e[29],y=e[30],g=e[31],R=e[32],A=e[33],C=e[34],w=e[35],b=e[36],$=e[37],F=e[38];let O;e[66]!==E||e[67]!==k||e[68]!==j||e[69]!==y||e[70]!==$||e[71]!==F?(O=t.jsxs(E,{className:F,bordered:k,children:[j,y,$]}),e[66]=E,e[67]=k,e[68]=j,e[69]=y,e[70]=$,e[71]=F,e[72]=O):O=e[72];let V;e[73]!==g||e[74]!==O?(V=t.jsx("div",{style:g,children:O}),e[73]=g,e[74]=O,e[75]=V):V=e[75];let D;e[76]!==R||e[77]!==V?(D=t.jsx("div",{className:R,children:V}),e[76]=R,e[77]=V,e[78]=D):D=e[78];let G;e[79]!==T||e[80]!==A||e[81]!==C||e[82]!==D?(G=t.jsxs(T,{className:A,children:[C,D]}),e[79]=T,e[80]=A,e[81]=C,e[82]=D,e[83]=G):G=e[83];let P;return e[84]!==w||e[85]!==b||e[86]!==G?(P=t.jsxs(t.Fragment,{children:[w,b,G]}),e[84]=w,e[85]=b,e[86]=G,e[87]=P):P=e[87],P}function _e(e){return t.jsx("option",{value:e.id,children:e.name},e.id)}function et(e){return(s,r)=>{const c=s[e],l=r[e];if(e==="nrens")return s.nrens.length===0&&r.nrens.length===0?L(s,r):s.nrens.length===0?-1:r.nrens.length===0?1:s.nrens[0].localeCompare(r.nrens[0]);if(typeof c!="string"||typeof l!="string")return L(s,r);const a=c.localeCompare(l);return a===0?L(s,r):a}}function tt(e,s){return e.permissions.active&&!s.permissions.active?1:!e.permissions.active&&s.permissions.active?-1:L(e,s)}function st(e){de.error(e.message)}function nt(e,s){return e.name.localeCompare(s.name)}export{ut as default}; diff --git a/compendium_v2/static/WeatherMap-Daqw0i4c.js b/compendium_v2/static/WeatherMap-BxEiz7_h.js similarity index 77% rename from compendium_v2/static/WeatherMap-Daqw0i4c.js rename to compendium_v2/static/WeatherMap-BxEiz7_h.js index 907948b65b1153bfe122daeaf186b3a38d86be0c..67c00be5afa67bcaef72b220e02e5c173b8f11c9 100644 --- a/compendium_v2/static/WeatherMap-Daqw0i4c.js +++ b/compendium_v2/static/WeatherMap-BxEiz7_h.js @@ -1 +1 @@ -import{c as b,r as k,F as w,j as m,t as g,S as j}from"./index-BBqwf-sR.js";import{u as S,q as v,k as y,i as F,D as L,F as R,f as C}from"./useData-CR6GUHnJ.js";import{N as E}from"./NrenYearTable-B0ZNzAfN.js";import"./SideBar-C91-oLVm.js";import"./xlsx-BHRztzV8.js";import"./index-DrIlvjJO.js";import"./hook-Lm-AbHy7.js";import"./Table-DwZl3W_O.js";function O(){const e=b.c(21),{filterSelection:t,setFilterSelection:o}=k.useContext(w),{data:i,nrens:d}=S("/api/weather-map",o);let a,n;if(e[0]!==i||e[1]!==t.selectedNrens){const x=i?v(i):[];let u;e[4]!==t.selectedNrens?(u=_=>t.selectedNrens.includes(_.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],a=x.filter(u);const D=y(a);n=F(D,T),e[0]=i,e[1]=t.selectedNrens,e[2]=a,e[3]=n}else a=e[2],n=e[3];const h=n;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let s;e[7]!==d?(s=d.values(),e[7]=d,e[8]=s):s=e[8];let r;e[9]!==s?(r={availableYears:c,availableNrens:[...s]},e[9]=s,e[10]=r):r=e[10];let f;e[11]!==t||e[12]!==o||e[13]!==r?(f=m.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:o,coloredYears:!0}),e[11]=t,e[12]=o,e[13]=r,e[14]=f):f=e[14];const N=f;let l;e[15]!==h?(l=m.jsx(C,{children:m.jsx(E,{data:h,columnTitle:"Network Weather Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=h,e[16]=l):l=e[16];let p;return e[17]!==N||e[18]!==a||e[19]!==l?(p=m.jsx(L,{title:g["weather-map"],description:"This table shows the URL links to NREN websites showing weather map, if available.",category:j.Network,filter:N,data:a,filename:"weather_map_nrens_per_year",children:l}),e[17]=N,e[18]=a,e[19]=l,e[20]=p):p=e[20],p}function T(e,t){!!t.url&&(e[t.url]=t.url)}export{O as default}; +import{c as b,r as k,F as w,j as m,t as g,S as j}from"./index-C21YiIe4.js";import{u as S,q as v,k as y,i as F,D as L,F as R,f as C}from"./useData-DpGbPZTZ.js";import{N as E}from"./NrenYearTable-BIrQ9Kmh.js";import"./SideBar-SlK9Rn9C.js";import"./xlsx-BHRztzV8.js";import"./index-BZTbj6oW.js";import"./hook-ZzfBsVxi.js";import"./Table-DihnUcAL.js";function O(){const e=b.c(21),{filterSelection:t,setFilterSelection:o}=k.useContext(w),{data:i,nrens:d}=S("/api/weather-map",o);let a,n;if(e[0]!==i||e[1]!==t.selectedNrens){const x=i?v(i):[];let u;e[4]!==t.selectedNrens?(u=_=>t.selectedNrens.includes(_.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],a=x.filter(u);const D=y(a);n=F(D,T),e[0]=i,e[1]=t.selectedNrens,e[2]=a,e[3]=n}else a=e[2],n=e[3];const h=n;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let s;e[7]!==d?(s=d.values(),e[7]=d,e[8]=s):s=e[8];let r;e[9]!==s?(r={availableYears:c,availableNrens:[...s]},e[9]=s,e[10]=r):r=e[10];let f;e[11]!==t||e[12]!==o||e[13]!==r?(f=m.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:o,coloredYears:!0}),e[11]=t,e[12]=o,e[13]=r,e[14]=f):f=e[14];const N=f;let l;e[15]!==h?(l=m.jsx(C,{children:m.jsx(E,{data:h,columnTitle:"Network Weather Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=h,e[16]=l):l=e[16];let p;return e[17]!==N||e[18]!==a||e[19]!==l?(p=m.jsx(L,{title:g["weather-map"],description:"This table shows the URL links to NREN websites showing weather map, if available.",category:j.Network,filter:N,data:a,filename:"weather_map_nrens_per_year",children:l}),e[17]=N,e[18]=a,e[19]=l,e[20]=p):p=e[20],p}function T(e,t){!!t.url&&(e[t.url]=t.url)}export{O as default}; diff --git a/compendium_v2/static/charthelpers-CAhtqHMo.js b/compendium_v2/static/charthelpers-D69C2Lfe.js similarity index 96% rename from compendium_v2/static/charthelpers-CAhtqHMo.js rename to compendium_v2/static/charthelpers-D69C2Lfe.js index 630f6709dde00e1ceaca957303e9190a32e0c461..2b8c61d3a3aa21cd73067e81faf9495bf48a143f 100644 --- a/compendium_v2/static/charthelpers-CAhtqHMo.js +++ b/compendium_v2/static/charthelpers-D69C2Lfe.js @@ -1 +1 @@ -import{C as l}from"./useData-CR6GUHnJ.js";const x=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,tickLimit:n,valueTransform:t})=>({responsive:!0,elements:{point:{pointStyle:"circle",pointRadius:4,pointBorderWidth:2,pointBackgroundColor:"white"}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(a){let s=r??(a.dataset.label||"");const e=t?t(a.parsed.y):a.parsed.y;return a.parsed.y!==null&&(s+=`: ${e} ${o||""}`),s}}}},scales:{y:{title:{display:!!i,text:i||""},ticks:{autoSkip:!0,maxTicksLimit:n,callback:a=>`${typeof a=="string"?a:t?t(a):a} ${c||""}`}}}}),y=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,valueTransform:n})=>({maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},chartDataLabels:{font:{family:'"Open Sans", sans-serif'}},tooltip:{callbacks:{label:function(t){let a=r??(t.dataset.label||"");const s=n?n(t.parsed.x):t.parsed.x;return t.parsed.y!==null&&(a+=`: ${s} ${o||""}`),a}}}},scales:{x:{title:{display:!!i,text:i||""},position:"top",ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`}},x2:{title:{display:!!i,text:i||""},ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const a=Object.keys(l.instances);let s=-999999,e=999999;for(const d of a)l.instances[d]&&t.chart.scales.x2&&(e=Math.min(l.instances[d].scales.x.min,e),s=Math.max(l.instances[d].scales.x.max,s));t.chart.scales.x2.options.min=e,t.chart.scales.x2.options.max=s,t.chart.scales.x2.min=e,t.chart.scales.x2.max=s}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"});export{y as a,x as g}; +import{C as l}from"./useData-DpGbPZTZ.js";const x=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,tickLimit:n,valueTransform:t})=>({responsive:!0,elements:{point:{pointStyle:"circle",pointRadius:4,pointBorderWidth:2,pointBackgroundColor:"white"}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(a){let s=r??(a.dataset.label||"");const e=t?t(a.parsed.y):a.parsed.y;return a.parsed.y!==null&&(s+=`: ${e} ${o||""}`),s}}}},scales:{y:{title:{display:!!i,text:i||""},ticks:{autoSkip:!0,maxTicksLimit:n,callback:a=>`${typeof a=="string"?a:t?t(a):a} ${c||""}`}}}}),y=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,valueTransform:n})=>({maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},chartDataLabels:{font:{family:'"Open Sans", sans-serif'}},tooltip:{callbacks:{label:function(t){let a=r??(t.dataset.label||"");const s=n?n(t.parsed.x):t.parsed.x;return t.parsed.y!==null&&(a+=`: ${s} ${o||""}`),a}}}},scales:{x:{title:{display:!!i,text:i||""},position:"top",ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`}},x2:{title:{display:!!i,text:i||""},ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const a=Object.keys(l.instances);let s=-999999,e=999999;for(const d of a)l.instances[d]&&t.chart.scales.x2&&(e=Math.min(l.instances[d].scales.x.min,e),s=Math.max(l.instances[d].scales.x.max,s));t.chart.scales.x2.options.min=e,t.chart.scales.x2.options.max=s,t.chart.scales.x2.min=e,t.chart.scales.x2.max=s}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"});export{y as a,x as g}; diff --git a/compendium_v2/static/chartjs-plugin-datalabels.esm-2fUQ26Ld.js b/compendium_v2/static/chartjs-plugin-datalabels.esm-CiB9nDO3.js similarity index 99% rename from compendium_v2/static/chartjs-plugin-datalabels.esm-2fUQ26Ld.js rename to compendium_v2/static/chartjs-plugin-datalabels.esm-CiB9nDO3.js index 4bfe992d4d1f8a126cc3b91e1f985888dbc12f04..0105aa4ff0dc6a610cc69ffa20e5edaebbf872f9 100644 --- a/compendium_v2/static/chartjs-plugin-datalabels.esm-2fUQ26Ld.js +++ b/compendium_v2/static/chartjs-plugin-datalabels.esm-CiB9nDO3.js @@ -1,4 +1,4 @@ -import{x as g,y as J,z as f,A as K,E as q,G as V,H as W,I as p,J as Y,P as Q,B as Z,K as ee,M as re}from"./useData-CR6GUHnJ.js";/*! +import{x as g,y as J,z as f,A as K,E as q,G as V,H as W,I as p,J as Y,P as Q,B as Z,K as ee,M as re}from"./useData-DpGbPZTZ.js";/*! * chartjs-plugin-datalabels v2.2.0 * https://chartjs-plugin-datalabels.netlify.app * (c) 2017-2022 chartjs-plugin-datalabels contributors diff --git a/compendium_v2/static/hook-Lm-AbHy7.js b/compendium_v2/static/hook-ZzfBsVxi.js similarity index 94% rename from compendium_v2/static/hook-Lm-AbHy7.js rename to compendium_v2/static/hook-ZzfBsVxi.js index 385f25672e2db9b8df77620155d3a318af4571e7..90a77bad2022305a89195a03ae69cead39cdb6f1 100644 --- a/compendium_v2/static/hook-Lm-AbHy7.js +++ b/compendium_v2/static/hook-ZzfBsVxi.js @@ -1 +1 @@ -import{$ as d,r as p}from"./index-BBqwf-sR.js";function m(){return m=Object.assign?Object.assign.bind():function(r){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(r[e]=n[e])}return r},m.apply(null,arguments)}function b(r){return"default"+r.charAt(0).toUpperCase()+r.substr(1)}function y(r){var t=P(r,"string");return typeof t=="symbol"?t:String(t)}function P(r,t){if(typeof r!="object"||r===null)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var e=n.call(r,t);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function g(r,t,n){var e=p.useRef(r!==void 0),o=p.useState(t),a=o[0],f=o[1],i=r!==void 0,l=e.current;return e.current=i,!i&&l&&a!==t&&f(t),[i?r:a,p.useCallback(function(c){for(var u=arguments.length,v=new Array(u>1?u-1:0),s=1;s<u;s++)v[s-1]=arguments[s];n&&n.apply(void 0,[c].concat(v)),f(c)},[n])]}function j(r,t){return Object.keys(t).reduce(function(n,e){var o,a=n,f=a[b(e)],i=a[e],l=d(a,[b(e),e].map(y)),c=t[e],u=g(i,f,r[c]),v=u[0],s=u[1];return m({},l,(o={},o[e]=v,o[c]=s,o))},r)}export{j as u}; +import{$ as d,r as p}from"./index-C21YiIe4.js";function m(){return m=Object.assign?Object.assign.bind():function(r){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(r[e]=n[e])}return r},m.apply(null,arguments)}function b(r){return"default"+r.charAt(0).toUpperCase()+r.substr(1)}function y(r){var t=P(r,"string");return typeof t=="symbol"?t:String(t)}function P(r,t){if(typeof r!="object"||r===null)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var e=n.call(r,t);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function g(r,t,n){var e=p.useRef(r!==void 0),o=p.useState(t),a=o[0],f=o[1],i=r!==void 0,l=e.current;return e.current=i,!i&&l&&a!==t&&f(t),[i?r:a,p.useCallback(function(c){for(var u=arguments.length,v=new Array(u>1?u-1:0),s=1;s<u;s++)v[s-1]=arguments[s];n&&n.apply(void 0,[c].concat(v)),f(c)},[n])]}function j(r,t){return Object.keys(t).reduce(function(n,e){var o,a=n,f=a[b(e)],i=a[e],l=d(a,[b(e),e].map(y)),c=t[e],u=g(i,f,r[c]),v=u[0],s=u[1];return m({},l,(o={},o[e]=v,o[c]=s,o))},r)}export{j as u}; diff --git a/compendium_v2/static/index-DrIlvjJO.js b/compendium_v2/static/index-BZTbj6oW.js similarity index 94% rename from compendium_v2/static/index-DrIlvjJO.js rename to compendium_v2/static/index-BZTbj6oW.js index eb5f34757c103363a2a728cd4f2ae46436aa1779..ef6b5620087be8f6c036c72a83e6d0428a4df6b5 100644 --- a/compendium_v2/static/index-DrIlvjJO.js +++ b/compendium_v2/static/index-BZTbj6oW.js @@ -1 +1 @@ -import{r as a,_ as c}from"./index-BBqwf-sR.js";const o=a.createContext(null);o.displayName="InputGroupContext";function n(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"},child:[]}]})(t)}function e(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}export{e as F,n as a,o as c}; +import{r as a,_ as c}from"./index-C21YiIe4.js";const o=a.createContext(null);o.displayName="InputGroupContext";function n(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"},child:[]}]})(t)}function e(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}export{e as F,n as a,o as c}; diff --git a/compendium_v2/static/index-BBqwf-sR.js b/compendium_v2/static/index-C21YiIe4.js similarity index 98% rename from compendium_v2/static/index-BBqwf-sR.js rename to compendium_v2/static/index-C21YiIe4.js index 35bf16ae2039921eaf4ab0df637bf60f8af4a1be..20412741302a08ac1331f6ed0b315277b7a62ac9 100644 --- a/compendium_v2/static/index-BBqwf-sR.js +++ b/compendium_v2/static/index-C21YiIe4.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Budget-B6Lx0dmb.js","index-BsZyajo4.js","useData-CR6GUHnJ.js","SideBar-C91-oLVm.js","xlsx-BHRztzV8.js","index-DrIlvjJO.js","hook-Lm-AbHy7.js","charthelpers-CAhtqHMo.js","ChargingStructure-BcIkFCQl.js","PillTable-DIDz5RFz.js","ColorPill-CiiNPUcs.js","Table-DwZl3W_O.js","ECProjects-D8UUvws2.js","NrenYearTable-B0ZNzAfN.js","FundingSource-Oc3V01jg.js","chartjs-plugin-datalabels.esm-2fUQ26Ld.js","ParentOrganisation-B1rE-icn.js","StaffGraph-DHqO65B7.js","HTMLLegendPlugin-B1BRh7XI.js","StaffGraphAbsolute-CLCaDvVX.js","SubOrganisation-zvzsyOeU.js","Audits-DcXTaRMU.js","BusinessContinuity-BqGcddh4.js","CentralProcurement-BMUmHoyZ.js","CorporateStrategy-CP8TjFmN.js","CrisisExercises-xbYaGsrv.js","CrisisManagement-56Z2YwTx.js","EOSCListings-sOTW_FmU.js","Policy-C0fykeNJ.js","SecurityControls-B10PBLi6.js","ServiceLevelTargets-C7oNFXVU.js","ServiceManagementFramework-DeX-yEi-.js","ServicesOffered-CfB4G-Ps.js","ScrollableMatrix-BjIkN-ZD.js","ConnectedInstitutionsURLs-Bs2tapfG.js","ConnectedUser-z-HdwgL6.js","RemoteCampuses-W5kS5FWI.js","AlienWave-AkIzVytY.js","AlienWaveInternal-Bu7lZ_Lb.js","Automation--jMOuNQ2.js","CapacityCoreIP-B88yhdLX.js","CapacityLargestLink-60HM0Osr.js","CertificateProvider-BD7n0iWU.js","DarkFibreLease-cn3v1y2M.js","DarkFibreInstalled-Dz0FBRNU.js","ExternalConnections-BHYy-1Tx.js","FibreLight-6pn3GQQo.js","IRUDuration-1JiO-xsK.js","MonitoringTools-BSsfHtzr.js","NetworkFunctionVirtualisation-Bm2m0Hjx.js","NetworkMapUrls-DfMDqGfZ.js","NonRAndEPeer-iQoBgXBj.js","OPsAutomation-DfRzIAxa.js","PassiveMonitoring-67ZDt7r5.js","PertTeam-DXjrNlij.js","SiemVendors-BPyX0FuH.js","TrafficRatio-BG2lCSjR.js","TrafficUrl-DFcVMOnd.js","TrafficVolume-y9Aps8Wr.js","WeatherMap-Daqw0i4c.js","Services-B-YPBJn5.js","Landing-Ce7P-oTU.js","SurveySidebar-W_n-2uiT.js","survey-3meXCY6T.js","SurveyContainerComponent-D_Yr9ovx.js","index-B2bzbolV.js","survey.core-Bi1tv4_s.js","validation-COFmylEH.js","CPRGF5ES.css","SurveyManagementComponent-BCwGgCZy.js","lodash-B_Jzqs2q.js","UserManagementComponent-BzxQZ5Vc.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Budget-BSIMGep_.js","index-X7mNNoWD.js","useData-DpGbPZTZ.js","SideBar-SlK9Rn9C.js","xlsx-BHRztzV8.js","index-BZTbj6oW.js","hook-ZzfBsVxi.js","charthelpers-D69C2Lfe.js","ChargingStructure-C0PO-607.js","PillTable-Douf6TOY.js","ColorPill-DVzGsevT.js","Table-DihnUcAL.js","ECProjects-CH8H8hIs.js","NrenYearTable-BIrQ9Kmh.js","FundingSource-CXm98sc6.js","chartjs-plugin-datalabels.esm-CiB9nDO3.js","ParentOrganisation-DMsp_CHD.js","StaffGraph-C29hvCFC.js","HTMLLegendPlugin-B8KIQm6m.js","StaffGraphAbsolute-BheG5A3n.js","SubOrganisation-DC79lD7d.js","Audits-DhlH6W8m.js","BusinessContinuity-BzDSOQxq.js","CentralProcurement-BHctLo1Q.js","CorporateStrategy-Dgb-JL-i.js","CrisisExercises-C85Rczen.js","CrisisManagement-DBVWnDHG.js","EOSCListings-DU0cXeMj.js","Policy-BZbKsQ05.js","SecurityControls-ObQ71skr.js","ServiceLevelTargets-BlFCe2hZ.js","ServiceManagementFramework-D8PCm8yD.js","ServicesOffered--YrTPOcd.js","ScrollableMatrix-di2VBWdy.js","ConnectedInstitutionsURLs-BFMdMAD5.js","ConnectedUser-zGB3iGh0.js","RemoteCampuses-cOIm0vfV.js","AlienWave-CmOcxAf3.js","AlienWaveInternal-AuuSyo2W.js","Automation-qp3Ba25C.js","CapacityCoreIP-Ccd1ZuBQ.js","CapacityLargestLink-Bx0d8lUw.js","CertificateProvider-KfK8hzPh.js","DarkFibreLease-Ck5R0dcY.js","DarkFibreInstalled-Dh0ss9Ok.js","ExternalConnections-DLH-LdPe.js","FibreLight-D4SohCzu.js","IRUDuration-EBsPV-4E.js","MonitoringTools-CslWdQIB.js","NetworkFunctionVirtualisation-zU1YeO1d.js","NetworkMapUrls-CK0r3RFz.js","NonRAndEPeer-CfPSfFs8.js","OPsAutomation-BvjS0T0x.js","PassiveMonitoring-DsP-hnFX.js","PertTeam-C6X3TIKW.js","SiemVendors-iAXG_Qfa.js","TrafficRatio-CaZcgpC4.js","TrafficUrl-XNAafmGV.js","TrafficVolume-MMO6VsZ6.js","WeatherMap-BxEiz7_h.js","Services-mJACzTuN.js","Landing-DCKBw6Tq.js","SurveySidebar-jNvlLq9W.js","survey-3meXCY6T.js","SurveyContainerComponent-B68UX_5e.js","index-CkUFjbUc.js","survey.core-Bi1tv4_s.js","validation-COFmylEH.js","CPRGF5ES.css","SurveyManagementComponent-CF84I9p3.js","lodash-DF20DnQn.js","UserManagementComponent-BI6ndpd8.js"])))=>i.map(i=>d[i]); var Kg=Object.defineProperty;var $g=(l,n,c)=>n in l?Kg(l,n,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[n]=c;var wm=(l,n,c)=>$g(l,typeof n!="symbol"?n+"":n,c);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))s(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&s(d)}).observe(document,{childList:!0,subtree:!0});function c(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function s(u){if(u.ep)return;u.ep=!0;const f=c(u);fetch(u.href,f)}})();var U2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function fr(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var to={exports:{}},er={};/** * @license React * react-jsx-runtime.production.js @@ -80,4 +80,4 @@ Please change the parent <Route path="${q}"> to <Route path="${q==="/"?"*":`${q} Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/var dy;function AE(){return dy||(dy=1,function(l){(function(){var n={}.hasOwnProperty;function c(){for(var f="",d=0;d<arguments.length;d++){var y=arguments[d];y&&(f=u(f,s(y)))}return f}function s(f){if(typeof f=="string"||typeof f=="number")return f;if(typeof f!="object")return"";if(Array.isArray(f))return c.apply(null,f);if(f.toString!==Object.prototype.toString&&!f.toString.toString().includes("[native code]"))return f.toString();var d="";for(var y in f)n.call(f,y)&&f[y]&&(d=u(d,y));return d}function u(f,d){return d?f?f+" "+d:f+d:f}l.exports?(c.default=c,l.exports=c):window.classNames=c})()}(po)),po.exports}var ME=AE();const Ae=fr(ME);function zE(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.includes(s))continue;c[s]=l[s]}return c}function Ao(l,n){return Ao=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,s){return c.__proto__=s,c},Ao(l,n)}function LE(l,n){l.prototype=Object.create(n.prototype),l.prototype.constructor=l,Ao(l,n)}const UE=["xxl","xl","lg","md","sm","xs"],HE="xs",Zu=g.createContext({prefixes:{},breakpoints:UE,minBreakpoint:HE});function Qe(l,n){const{prefixes:c}=g.useContext(Zu);return l||c[n]||n}function tp(){const{breakpoints:l}=g.useContext(Zu);return l}function np(){const{minBreakpoint:l}=g.useContext(Zu);return l}function BE(){const{dir:l}=g.useContext(Zu);return l==="rtl"}function Ku(l){return l&&l.ownerDocument||document}function qE(l){var n=Ku(l);return n&&n.defaultView||window}function VE(l,n){return qE(l).getComputedStyle(l,n)}var YE=/([A-Z])/g;function kE(l){return l.replace(YE,"-$1").toLowerCase()}var GE=/^ms-/;function Ou(l){return kE(l).replace(GE,"-ms-")}var XE=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;function QE(l){return!!(l&&XE.test(l))}function gl(l,n){var c="",s="";if(typeof n=="string")return l.style.getPropertyValue(Ou(n))||VE(l).getPropertyValue(Ou(n));Object.keys(n).forEach(function(u){var f=n[u];!f&&f!==0?l.style.removeProperty(Ou(u)):QE(u)?s+=u+"("+f+") ":c+=Ou(u)+": "+f+";"}),s&&(c+="transform: "+s+";"),l.style.cssText+=";"+c}var vo={exports:{}},go,hy;function ZE(){if(hy)return go;hy=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return go=l,go}var Eo,my;function KE(){if(my)return Eo;my=1;var l=ZE();function n(){}function c(){}return c.resetWarningCache=n,Eo=function(){function s(d,y,v,p,b,R){if(R!==l){var S=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw S.name="Invariant Violation",S}}s.isRequired=s;function u(){return s}var f={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:u,element:s,elementType:s,instanceOf:u,node:s,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:c,resetWarningCache:n};return f.PropTypes=f,f},Eo}var yy;function $E(){return yy||(yy=1,vo.exports=KE()()),vo.exports}var FE=$E();const fa=fr(FE),py={disabled:!1},ap=Yt.createContext(null);var JE=function(n){return n.scrollTop},cr="unmounted",hl="exited",Ba="entering",yl="entered",Mo="exiting",ha=function(l){LE(n,l);function n(s,u){var f;f=l.call(this,s,u)||this;var d=u,y=d&&!d.isMounting?s.enter:s.appear,v;return f.appearStatus=null,s.in?y?(v=hl,f.appearStatus=Ba):v=yl:s.unmountOnExit||s.mountOnEnter?v=cr:v=hl,f.state={status:v},f.nextCallback=null,f}n.getDerivedStateFromProps=function(u,f){var d=u.in;return d&&f.status===cr?{status:hl}:null};var c=n.prototype;return c.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},c.componentDidUpdate=function(u){var f=null;if(u!==this.props){var d=this.state.status;this.props.in?d!==Ba&&d!==yl&&(f=Ba):(d===Ba||d===yl)&&(f=Mo)}this.updateStatus(!1,f)},c.componentWillUnmount=function(){this.cancelNextCallback()},c.getTimeouts=function(){var u=this.props.timeout,f,d,y;return f=d=y=u,u!=null&&typeof u!="number"&&(f=u.exit,d=u.enter,y=u.appear!==void 0?u.appear:d),{exit:f,enter:d,appear:y}},c.updateStatus=function(u,f){if(u===void 0&&(u=!1),f!==null)if(this.cancelNextCallback(),f===Ba){if(this.props.unmountOnExit||this.props.mountOnEnter){var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this);d&&JE(d)}this.performEnter(u)}else this.performExit();else this.props.unmountOnExit&&this.state.status===hl&&this.setState({status:cr})},c.performEnter=function(u){var f=this,d=this.props.enter,y=this.context?this.context.isMounting:u,v=this.props.nodeRef?[y]:[ii.findDOMNode(this),y],p=v[0],b=v[1],R=this.getTimeouts(),S=y?R.appear:R.enter;if(!u&&!d||py.disabled){this.safeSetState({status:yl},function(){f.props.onEntered(p)});return}this.props.onEnter(p,b),this.safeSetState({status:Ba},function(){f.props.onEntering(p,b),f.onTransitionEnd(S,function(){f.safeSetState({status:yl},function(){f.props.onEntered(p,b)})})})},c.performExit=function(){var u=this,f=this.props.exit,d=this.getTimeouts(),y=this.props.nodeRef?void 0:ii.findDOMNode(this);if(!f||py.disabled){this.safeSetState({status:hl},function(){u.props.onExited(y)});return}this.props.onExit(y),this.safeSetState({status:Mo},function(){u.props.onExiting(y),u.onTransitionEnd(d.exit,function(){u.safeSetState({status:hl},function(){u.props.onExited(y)})})})},c.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},c.safeSetState=function(u,f){f=this.setNextCallback(f),this.setState(u,f)},c.setNextCallback=function(u){var f=this,d=!0;return this.nextCallback=function(y){d&&(d=!1,f.nextCallback=null,u(y))},this.nextCallback.cancel=function(){d=!1},this.nextCallback},c.onTransitionEnd=function(u,f){this.setNextCallback(f);var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this),y=u==null&&!this.props.addEndListener;if(!d||y){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var v=this.props.nodeRef?[this.nextCallback]:[d,this.nextCallback],p=v[0],b=v[1];this.props.addEndListener(p,b)}u!=null&&setTimeout(this.nextCallback,u)},c.render=function(){var u=this.state.status;if(u===cr)return null;var f=this.props,d=f.children;f.in,f.mountOnEnter,f.unmountOnExit,f.appear,f.enter,f.exit,f.timeout,f.addEndListener,f.onEnter,f.onEntering,f.onEntered,f.onExit,f.onExiting,f.onExited,f.nodeRef;var y=zE(f,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Yt.createElement(ap.Provider,{value:null},typeof d=="function"?d(u,y):Yt.cloneElement(Yt.Children.only(d),y))},n}(Yt.Component);ha.contextType=ap;ha.propTypes={};function ei(){}ha.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ei,onEntering:ei,onEntered:ei,onExit:ei,onExiting:ei,onExited:ei};ha.UNMOUNTED=cr;ha.EXITED=hl;ha.ENTERING=Ba;ha.ENTERED=yl;ha.EXITING=Mo;function PE(l){return l.code==="Escape"||l.keyCode===27}function WE(){const l=g.version.split(".");return{major:+l[0],minor:+l[1],patch:+l[2]}}function $u(l){if(!l||typeof l=="function")return null;const{major:n}=WE();return n>=19?l.props.ref:l.ref}const ri=!!(typeof window<"u"&&window.document&&window.document.createElement);var zo=!1,Lo=!1;try{var bo={get passive(){return zo=!0},get once(){return Lo=zo=!0}};ri&&(window.addEventListener("test",bo,bo),window.removeEventListener("test",bo,!0))}catch{}function lp(l,n,c,s){if(s&&typeof s!="boolean"&&!Lo){var u=s.once,f=s.capture,d=c;!Lo&&u&&(d=c.__once||function y(v){this.removeEventListener(n,y,f),c.call(this,v)},c.__once=d),l.addEventListener(n,d,zo?s:f)}l.addEventListener(n,c,s)}function Uo(l,n,c,s){var u=s&&typeof s!="boolean"?s.capture:s;l.removeEventListener(n,c,u),c.__once&&l.removeEventListener(n,c.__once,u)}function Bu(l,n,c,s){return lp(l,n,c,s),function(){Uo(l,n,c,s)}}function IE(l,n,c,s){if(s===void 0&&(s=!0),l){var u=document.createEvent("HTMLEvents");u.initEvent(n,c,s),l.dispatchEvent(u)}}function eb(l){var n=gl(l,"transitionDuration")||"",c=n.indexOf("ms")===-1?1e3:1;return parseFloat(n)*c}function tb(l,n,c){c===void 0&&(c=5);var s=!1,u=setTimeout(function(){s||IE(l,"transitionend",!0)},n+c),f=Bu(l,"transitionend",function(){s=!0},{once:!0});return function(){clearTimeout(u),f()}}function ip(l,n,c,s){c==null&&(c=eb(l)||0);var u=tb(l,c,s),f=Bu(l,"transitionend",n);return function(){u(),f()}}function vy(l,n){const c=gl(l,n)||"",s=c.indexOf("ms")===-1?1e3:1;return parseFloat(c)*s}function nb(l,n){const c=vy(l,"transitionDuration"),s=vy(l,"transitionDelay"),u=ip(l,f=>{f.target===l&&(u(),n(f))},c+s)}function ab(l){l.offsetHeight}const gy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function lb(l,n){const c=gy(l),s=gy(n);return u=>{c&&c(u),s&&s(u)}}function rp(l,n){return g.useMemo(()=>lb(l,n),[l,n])}function ib(l){return l&&"setState"in l?ii.findDOMNode(l):l??null}const rb=Yt.forwardRef(({onEnter:l,onEntering:n,onEntered:c,onExit:s,onExiting:u,onExited:f,addEndListener:d,children:y,childRef:v,...p},b)=>{const R=g.useRef(null),S=rp(R,v),_=N=>{S(ib(N))},O=N=>W=>{N&&R.current&&N(R.current,W)},H=g.useCallback(O(l),[l]),U=g.useCallback(O(n),[n]),M=g.useCallback(O(c),[c]),q=g.useCallback(O(s),[s]),Y=g.useCallback(O(u),[u]),J=g.useCallback(O(f),[f]),G=g.useCallback(O(d),[d]);return h.jsx(ha,{ref:b,...p,onEnter:H,onEntered:M,onEntering:U,onExit:q,onExited:J,onExiting:Y,addEndListener:G,nodeRef:R,children:typeof y=="function"?(N,W)=>y(N,{...W,ref:_}):Yt.cloneElement(y,{ref:_})})});function ub(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function Ho(l){const n=ub(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}const Po=l=>g.forwardRef((n,c)=>h.jsx("div",{...n,ref:c,className:Ae(n.className,l)}));function cb(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function pl(l){const n=cb(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}function sb(){const l=g.useRef(!0),n=g.useRef(()=>l.current);return g.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),n.current}function ob(l){const n=g.useRef(null);return g.useEffect(()=>{n.current=l}),n.current}const fb=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",db=typeof document<"u",Ey=db||fb?g.useLayoutEffect:g.useEffect,hb=["as","disabled"];function mb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function yb(l){return!l||l.trim()==="#"}function up({tagName:l,disabled:n,href:c,target:s,rel:u,role:f,onClick:d,tabIndex:y=0,type:v}){l||(c!=null||s!=null||u!=null?l="a":l="button");const p={tagName:l};if(l==="button")return[{type:v||"button",disabled:n},p];const b=S=>{if((n||l==="a"&&yb(c))&&S.preventDefault(),n){S.stopPropagation();return}d==null||d(S)},R=S=>{S.key===" "&&(S.preventDefault(),b(S))};return l==="a"&&(c||(c="#"),n&&(c=void 0)),[{role:f??"button",disabled:void 0,tabIndex:n?void 0:y,href:c,target:l==="a"?s:void 0,"aria-disabled":n||void 0,rel:l==="a"?u:void 0,onClick:b,onKeyDown:R},p]}const pb=g.forwardRef((l,n)=>{let{as:c,disabled:s}=l,u=mb(l,hb);const[f,{tagName:d}]=up(Object.assign({tagName:c,disabled:s},u));return h.jsx(d,Object.assign({},u,f,{ref:n}))});pb.displayName="Button";const vb={[Ba]:"show",[yl]:"show"},Wo=g.forwardRef(({className:l,children:n,transitionClasses:c={},onEnter:s,...u},f)=>{const d={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1,...u},y=g.useCallback((v,p)=>{ab(v),s==null||s(v,p)},[s]);return h.jsx(rb,{ref:f,addEndListener:nb,...d,onEnter:y,childRef:$u(n),children:(v,p)=>g.cloneElement(n,{...p,className:Ae("fade",l,n.props.className,vb[v],c[v])})})});Wo.displayName="Fade";const gb={"aria-label":fa.string,onClick:fa.func,variant:fa.oneOf(["white"])},Io=g.forwardRef(({className:l,variant:n,"aria-label":c="Close",...s},u)=>h.jsx("button",{ref:u,type:"button",className:Ae("btn-close",n&&`btn-close-${n}`,l),"aria-label":c,...s}));Io.displayName="CloseButton";Io.propTypes=gb;const Bo=g.forwardRef(({as:l,bsPrefix:n,variant:c="primary",size:s,active:u=!1,disabled:f=!1,className:d,...y},v)=>{const p=Qe(n,"btn"),[b,{tagName:R}]=up({tagName:l,disabled:f,...y}),S=R;return h.jsx(S,{...b,...y,ref:v,disabled:f,className:Ae(d,p,u&&"active",c&&`${p}-${c}`,s&&`${p}-${s}`,y.href&&f&&"disabled")})});Bo.displayName="Button";const ef=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));ef.displayName="CardBody";const cp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));cp.displayName="CardFooter";const sp=g.createContext(null);sp.displayName="CardHeaderContext";const op=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"card-header"),d=g.useMemo(()=>({cardHeaderBsPrefix:f}),[f]);return h.jsx(sp.Provider,{value:d,children:h.jsx(c,{ref:u,...s,className:Ae(n,f)})})});op.displayName="CardHeader";const fp=g.forwardRef(({bsPrefix:l,className:n,variant:c,as:s="img",...u},f)=>{const d=Qe(l,"card-img");return h.jsx(s,{ref:f,className:Ae(c?`${d}-${c}`:d,n),...u})});fp.displayName="CardImg";const dp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-img-overlay"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));dp.displayName="CardImgOverlay";const hp=g.forwardRef(({className:l,bsPrefix:n,as:c="a",...s},u)=>(n=Qe(n,"card-link"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));hp.displayName="CardLink";const Eb=Po("h6"),mp=g.forwardRef(({className:l,bsPrefix:n,as:c=Eb,...s},u)=>(n=Qe(n,"card-subtitle"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));mp.displayName="CardSubtitle";const yp=g.forwardRef(({className:l,bsPrefix:n,as:c="p",...s},u)=>(n=Qe(n,"card-text"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));yp.displayName="CardText";const bb=Po("h5"),pp=g.forwardRef(({className:l,bsPrefix:n,as:c=bb,...s},u)=>(n=Qe(n,"card-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));pp.displayName="CardTitle";const vp=g.forwardRef(({bsPrefix:l,className:n,bg:c,text:s,border:u,body:f=!1,children:d,as:y="div",...v},p)=>{const b=Qe(l,"card");return h.jsx(y,{ref:p,...v,className:Ae(n,b,c&&`bg-${c}`,s&&`text-${s}`,u&&`border-${u}`),children:f?h.jsx(ef,{children:d}):d})});vp.displayName="Card";const Yn=Object.assign(vp,{Img:fp,Title:pp,Subtitle:mp,Body:ef,Link:hp,Text:yp,Header:op,Footer:cp,ImgOverlay:dp});function Sb(l){const n=g.useRef(l);return n.current=l,n}function xb(l){const n=Sb(l);g.useEffect(()=>()=>n.current(),[])}function _b(l,n){return g.Children.toArray(l).some(c=>g.isValidElement(c)&&c.type===n)}function Rb({as:l,bsPrefix:n,className:c,...s}){n=Qe(n,"col");const u=tp(),f=np(),d=[],y=[];return u.forEach(v=>{const p=s[v];delete s[v];let b,R,S;typeof p=="object"&&p!=null?{span:b,offset:R,order:S}=p:b=p;const _=v!==f?`-${v}`:"";b&&d.push(b===!0?`${n}${_}`:`${n}${_}-${b}`),S!=null&&y.push(`order${_}-${S}`),R!=null&&y.push(`offset${_}-${R}`)}),[{...s,className:Ae(c,...d,...y)},{as:l,bsPrefix:n,spans:d}]}const ln=g.forwardRef((l,n)=>{const[{className:c,...s},{as:u="div",bsPrefix:f,spans:d}]=Rb(l);return h.jsx(u,{...s,ref:n,className:Ae(c,!d.length&&f)})});ln.displayName="Col";const Ya=g.forwardRef(({bsPrefix:l,fluid:n=!1,as:c="div",className:s,...u},f)=>{const d=Qe(l,"container"),y=typeof n=="string"?`-${n}`:"-fluid";return h.jsx(c,{ref:f,...u,className:Ae(s,n?`${d}${y}`:d)})});Ya.displayName="Container";var Tb=Function.prototype.bind.call(Function.prototype.call,[].slice);function ti(l,n){return Tb(l.querySelectorAll(n))}function by(l,n){if(l.contains)return l.contains(n);if(l.compareDocumentPosition)return l===n||!!(l.compareDocumentPosition(n)&16)}var So,Sy;function Nb(){if(Sy)return So;Sy=1;var l=function(){};return So=l,So}var Cb=Nb();const q2=fr(Cb),jb="data-rr-ui-";function Ob(l){return`${jb}${l}`}const gp=g.createContext(ri?window:void 0);gp.Provider;function tf(){return g.useContext(gp)}const Db={type:fa.string,tooltip:fa.bool,as:fa.elementType},Fu=g.forwardRef(({as:l="div",className:n,type:c="valid",tooltip:s=!1,...u},f)=>h.jsx(l,{...u,ref:f,className:Ae(n,`${c}-${s?"tooltip":"feedback"}`)}));Fu.displayName="Feedback";Fu.propTypes=Db;const da=g.createContext({}),nf=g.forwardRef(({id:l,bsPrefix:n,className:c,type:s="checkbox",isValid:u=!1,isInvalid:f=!1,as:d="input",...y},v)=>{const{controlId:p}=g.useContext(da);return n=Qe(n,"form-check-input"),h.jsx(d,{...y,ref:v,type:s,id:l||p,className:Ae(c,n,u&&"is-valid",f&&"is-invalid")})});nf.displayName="FormCheckInput";const qu=g.forwardRef(({bsPrefix:l,className:n,htmlFor:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-check-label"),h.jsx("label",{...s,ref:u,htmlFor:c||f,className:Ae(n,l)})});qu.displayName="FormCheckLabel";const Ep=g.forwardRef(({id:l,bsPrefix:n,bsSwitchPrefix:c,inline:s=!1,reverse:u=!1,disabled:f=!1,isValid:d=!1,isInvalid:y=!1,feedbackTooltip:v=!1,feedback:p,feedbackType:b,className:R,style:S,title:_="",type:O="checkbox",label:H,children:U,as:M="input",...q},Y)=>{n=Qe(n,"form-check"),c=Qe(c,"form-switch");const{controlId:J}=g.useContext(da),G=g.useMemo(()=>({controlId:l||J}),[J,l]),N=!U&&H!=null&&H!==!1||_b(U,qu),W=h.jsx(nf,{...q,type:O==="switch"?"checkbox":O,ref:Y,isValid:d,isInvalid:y,disabled:f,as:M});return h.jsx(da.Provider,{value:G,children:h.jsx("div",{style:S,className:Ae(R,N&&n,s&&`${n}-inline`,u&&`${n}-reverse`,O==="switch"&&c),children:U||h.jsxs(h.Fragment,{children:[W,N&&h.jsx(qu,{title:_,children:H}),p&&h.jsx(Fu,{type:b,tooltip:v,children:p})]})})})});Ep.displayName="FormCheck";const Vu=Object.assign(Ep,{Input:nf,Label:qu}),bp=g.forwardRef(({bsPrefix:l,type:n,size:c,htmlSize:s,id:u,className:f,isValid:d=!1,isInvalid:y=!1,plaintext:v,readOnly:p,as:b="input",...R},S)=>{const{controlId:_}=g.useContext(da);return l=Qe(l,"form-control"),h.jsx(b,{...R,type:n,size:s,ref:S,readOnly:p,id:u||_,className:Ae(f,v?`${l}-plaintext`:l,c&&`${l}-${c}`,n==="color"&&`${l}-color`,d&&"is-valid",y&&"is-invalid")})});bp.displayName="FormControl";const wb=Object.assign(bp,{Feedback:Fu}),Sp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"form-floating"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Sp.displayName="FormFloating";const af=g.forwardRef(({controlId:l,as:n="div",...c},s)=>{const u=g.useMemo(()=>({controlId:l}),[l]);return h.jsx(da.Provider,{value:u,children:h.jsx(n,{...c,ref:s})})});af.displayName="FormGroup";const xp=g.forwardRef(({as:l="label",bsPrefix:n,column:c=!1,visuallyHidden:s=!1,className:u,htmlFor:f,...d},y)=>{const{controlId:v}=g.useContext(da);n=Qe(n,"form-label");let p="col-form-label";typeof c=="string"&&(p=`${p} ${p}-${c}`);const b=Ae(u,n,s&&"visually-hidden",c&&p);return f=f||v,c?h.jsx(ln,{ref:y,as:"label",className:b,htmlFor:f,...d}):h.jsx(l,{ref:y,className:b,htmlFor:f,...d})});xp.displayName="FormLabel";const _p=g.forwardRef(({bsPrefix:l,className:n,id:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-range"),h.jsx("input",{...s,type:"range",ref:u,className:Ae(n,l),id:c||f})});_p.displayName="FormRange";const Rp=g.forwardRef(({bsPrefix:l,size:n,htmlSize:c,className:s,isValid:u=!1,isInvalid:f=!1,id:d,...y},v)=>{const{controlId:p}=g.useContext(da);return l=Qe(l,"form-select"),h.jsx("select",{...y,size:c,ref:v,className:Ae(s,l,n&&`${l}-${n}`,u&&"is-valid",f&&"is-invalid"),id:d||p})});Rp.displayName="FormSelect";const Tp=g.forwardRef(({bsPrefix:l,className:n,as:c="small",muted:s,...u},f)=>(l=Qe(l,"form-text"),h.jsx(c,{...u,ref:f,className:Ae(n,l,s&&"text-muted")})));Tp.displayName="FormText";const Np=g.forwardRef((l,n)=>h.jsx(Vu,{...l,ref:n,type:"switch"}));Np.displayName="Switch";const Ab=Object.assign(Np,{Input:Vu.Input,Label:Vu.Label}),Cp=g.forwardRef(({bsPrefix:l,className:n,children:c,controlId:s,label:u,...f},d)=>(l=Qe(l,"form-floating"),h.jsxs(af,{ref:d,className:Ae(n,l),controlId:s,...f,children:[c,h.jsx("label",{htmlFor:s,children:u})]})));Cp.displayName="FloatingLabel";const Mb={_ref:fa.any,validated:fa.bool,as:fa.elementType},lf=g.forwardRef(({className:l,validated:n,as:c="form",...s},u)=>h.jsx(c,{...s,ref:u,className:Ae(l,n&&"was-validated")}));lf.displayName="Form";lf.propTypes=Mb;const Du=Object.assign(lf,{Group:af,Control:wb,Floating:Sp,Check:Vu,Switch:Ab,Label:xp,Text:Tp,Range:_p,Select:Rp,FloatingLabel:Cp}),xy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function zb(l,n){const c=xy(l),s=xy(n);return u=>{c&&c(u),s&&s(u)}}function rf(l,n){return g.useMemo(()=>zb(l,n),[l,n])}var wu;function _y(l){if((!wu&&wu!==0||l)&&ri){var n=document.createElement("div");n.style.position="absolute",n.style.top="-9999px",n.style.width="50px",n.style.height="50px",n.style.overflow="scroll",document.body.appendChild(n),wu=n.offsetWidth-n.clientWidth,document.body.removeChild(n)}return wu}function Lb(){return g.useState(null)}function xo(l){l===void 0&&(l=Ku());try{var n=l.activeElement;return!n||!n.nodeName?null:n}catch{return l.body}}function Ub(l){const n=g.useRef(l);return n.current=l,n}function Hb(l){const n=Ub(l);g.useEffect(()=>()=>n.current(),[])}function Bb(l=document){const n=l.defaultView;return Math.abs(n.innerWidth-l.documentElement.clientWidth)}const Ry=Ob("modal-open");class uf{constructor({ownerDocument:n,handleContainerOverflow:c=!0,isRTL:s=!1}={}){this.handleContainerOverflow=c,this.isRTL=s,this.modals=[],this.ownerDocument=n}getScrollbarWidth(){return Bb(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(n){}removeModalAttributes(n){}setContainerStyle(n){const c={overflow:"hidden"},s=this.isRTL?"paddingLeft":"paddingRight",u=this.getElement();n.style={overflow:u.style.overflow,[s]:u.style[s]},n.scrollBarWidth&&(c[s]=`${parseInt(gl(u,s)||"0",10)+n.scrollBarWidth}px`),u.setAttribute(Ry,""),gl(u,c)}reset(){[...this.modals].forEach(n=>this.remove(n))}removeContainerStyle(n){const c=this.getElement();c.removeAttribute(Ry),Object.assign(c.style,n.style)}add(n){let c=this.modals.indexOf(n);return c!==-1||(c=this.modals.length,this.modals.push(n),this.setModalAttributes(n),c!==0)||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),c}remove(n){const c=this.modals.indexOf(n);c!==-1&&(this.modals.splice(c,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(n))}isTopModal(n){return!!this.modals.length&&this.modals[this.modals.length-1]===n}}const _o=(l,n)=>ri?l==null?(n||Ku()).body:(typeof l=="function"&&(l=l()),l&&"current"in l&&(l=l.current),l&&("nodeType"in l||l.getBoundingClientRect)?l:null):null;function qb(l,n){const c=tf(),[s,u]=g.useState(()=>_o(l,c==null?void 0:c.document));if(!s){const f=_o(l);f&&u(f)}return g.useEffect(()=>{},[n,s]),g.useEffect(()=>{const f=_o(l);f!==s&&u(f)},[l,s]),s}function Vb({children:l,in:n,onExited:c,mountOnEnter:s,unmountOnExit:u}){const f=g.useRef(null),d=g.useRef(n),y=pl(c);g.useEffect(()=>{n?d.current=!0:y(f.current)},[n,y]);const v=rf(f,$u(l)),p=g.cloneElement(l,{ref:v});return n?p:u||!d.current&&s?null:p}const Yb=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"];function kb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function Gb(l){let{onEnter:n,onEntering:c,onEntered:s,onExit:u,onExiting:f,onExited:d,addEndListener:y,children:v}=l,p=kb(l,Yb);const b=g.useRef(null),R=rf(b,$u(v)),S=J=>G=>{J&&b.current&&J(b.current,G)},_=g.useCallback(S(n),[n]),O=g.useCallback(S(c),[c]),H=g.useCallback(S(s),[s]),U=g.useCallback(S(u),[u]),M=g.useCallback(S(f),[f]),q=g.useCallback(S(d),[d]),Y=g.useCallback(S(y),[y]);return Object.assign({},p,{nodeRef:b},n&&{onEnter:_},c&&{onEntering:O},s&&{onEntered:H},u&&{onExit:U},f&&{onExiting:M},d&&{onExited:q},y&&{addEndListener:Y},{children:typeof v=="function"?(J,G)=>v(J,Object.assign({},G,{ref:R})):g.cloneElement(v,{ref:R})})}const Xb=["component"];function Qb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}const Zb=g.forwardRef((l,n)=>{let{component:c}=l,s=Qb(l,Xb);const u=Gb(s);return h.jsx(c,Object.assign({ref:n},u))});function Kb({in:l,onTransition:n}){const c=g.useRef(null),s=g.useRef(!0),u=pl(n);return Ey(()=>{if(!c.current)return;let f=!1;return u({in:l,element:c.current,initial:s.current,isStale:()=>f}),()=>{f=!0}},[l,u]),Ey(()=>(s.current=!1,()=>{s.current=!0}),[]),c}function $b({children:l,in:n,onExited:c,onEntered:s,transition:u}){const[f,d]=g.useState(!n);n&&f&&d(!1);const y=Kb({in:!!n,onTransition:p=>{const b=()=>{p.isStale()||(p.in?s==null||s(p.element,p.initial):(d(!0),c==null||c(p.element)))};Promise.resolve(u(p)).then(b,R=>{throw p.in||d(!0),R})}}),v=rf(y,$u(l));return f&&!n?null:g.cloneElement(l,{ref:v})}function Ty(l,n,c){return l?h.jsx(Zb,Object.assign({},c,{component:l})):n?h.jsx($b,Object.assign({},c,{transition:n})):h.jsx(Vb,Object.assign({},c))}const Fb=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];function Jb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}let Ro;function Pb(l){return Ro||(Ro=new uf({ownerDocument:l==null?void 0:l.document})),Ro}function Wb(l){const n=tf(),c=l||Pb(n),s=g.useRef({dialog:null,backdrop:null});return Object.assign(s.current,{add:()=>c.add(s.current),remove:()=>c.remove(s.current),isTopModal:()=>c.isTopModal(s.current),setDialogRef:g.useCallback(u=>{s.current.dialog=u},[]),setBackdropRef:g.useCallback(u=>{s.current.backdrop=u},[])})}const jp=g.forwardRef((l,n)=>{let{show:c=!1,role:s="dialog",className:u,style:f,children:d,backdrop:y=!0,keyboard:v=!0,onBackdropClick:p,onEscapeKeyDown:b,transition:R,runTransition:S,backdropTransition:_,runBackdropTransition:O,autoFocus:H=!0,enforceFocus:U=!0,restoreFocus:M=!0,restoreFocusOptions:q,renderDialog:Y,renderBackdrop:J=De=>h.jsx("div",Object.assign({},De)),manager:G,container:N,onShow:W,onHide:ie=()=>{},onExit:X,onExited:I,onExiting:de,onEnter:Ne,onEntering:Ye,onEntered:Be}=l,ze=Jb(l,Fb);const K=tf(),ce=qb(N),ne=Wb(G),Re=sb(),T=ob(c),[Q,le]=g.useState(!c),te=g.useRef(null);g.useImperativeHandle(n,()=>ne,[ne]),ri&&!T&&c&&(te.current=xo(K==null?void 0:K.document)),c&&Q&&le(!1);const P=pl(()=>{if(ne.add(),Ee.current=Bu(document,"keydown",Ce),Le.current=Bu(document,"focus",()=>setTimeout(ye),!0),W&&W(),H){var De,Rt;const St=xo((De=(Rt=ne.dialog)==null?void 0:Rt.ownerDocument)!=null?De:K==null?void 0:K.document);ne.dialog&&St&&!by(ne.dialog,St)&&(te.current=St,ne.dialog.focus())}}),ge=pl(()=>{if(ne.remove(),Ee.current==null||Ee.current(),Le.current==null||Le.current(),M){var De;(De=te.current)==null||De.focus==null||De.focus(q),te.current=null}});g.useEffect(()=>{!c||!ce||P()},[c,ce,P]),g.useEffect(()=>{Q&&ge()},[Q,ge]),Hb(()=>{ge()});const ye=pl(()=>{if(!U||!Re()||!ne.isTopModal())return;const De=xo(K==null?void 0:K.document);ne.dialog&&De&&!by(ne.dialog,De)&&ne.dialog.focus()}),Je=pl(De=>{De.target===De.currentTarget&&(p==null||p(De),y===!0&&ie())}),Ce=pl(De=>{v&&PE(De)&&ne.isTopModal()&&(b==null||b(De),De.defaultPrevented||ie())}),Le=g.useRef(),Ee=g.useRef(),Ze=(...De)=>{le(!0),I==null||I(...De)};if(!ce)return null;const vt=Object.assign({role:s,ref:ne.setDialogRef,"aria-modal":s==="dialog"?!0:void 0},ze,{style:f,className:u,tabIndex:-1});let it=Y?Y(vt):h.jsx("div",Object.assign({},vt,{children:g.cloneElement(d,{role:"document"})}));it=Ty(R,S,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!c,onExit:X,onExiting:de,onExited:Ze,onEnter:Ne,onEntering:Ye,onEntered:Be,children:it});let lt=null;return y&&(lt=J({ref:ne.setBackdropRef,onClick:Je}),lt=Ty(_,O,{in:!!c,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:lt})),h.jsx(h.Fragment,{children:ii.createPortal(h.jsxs(h.Fragment,{children:[lt,it]}),ce)})});jp.displayName="Modal";const Ib=Object.assign(jp,{Manager:uf});function eS(l,n){return l.classList?l.classList.contains(n):(" "+(l.className.baseVal||l.className)+" ").indexOf(" "+n+" ")!==-1}function tS(l,n){l.classList?l.classList.add(n):eS(l,n)||(typeof l.className=="string"?l.className=l.className+" "+n:l.setAttribute("class",(l.className&&l.className.baseVal||"")+" "+n))}function Ny(l,n){return l.replace(new RegExp("(^|\\s)"+n+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function nS(l,n){l.classList?l.classList.remove(n):typeof l.className=="string"?l.className=Ny(l.className,n):l.setAttribute("class",Ny(l.className&&l.className.baseVal||"",n))}const ni={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"};class aS extends uf{adjustAndStore(n,c,s){const u=c.style[n];c.dataset[n]=u,gl(c,{[n]:`${parseFloat(gl(c,n))+s}px`})}restore(n,c){const s=c.dataset[n];s!==void 0&&(delete c.dataset[n],gl(c,{[n]:s}))}setContainerStyle(n){super.setContainerStyle(n);const c=this.getElement();if(tS(c,"modal-open"),!n.scrollBarWidth)return;const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.adjustAndStore(s,f,n.scrollBarWidth)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.adjustAndStore(u,f,-n.scrollBarWidth)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.adjustAndStore(u,f,n.scrollBarWidth))}removeContainerStyle(n){super.removeContainerStyle(n);const c=this.getElement();nS(c,"modal-open");const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.restore(s,f)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.restore(u,f)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.restore(u,f))}}let To;function lS(l){return To||(To=new aS(l)),To}const Op=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Op.displayName="ModalBody";const Dp=g.createContext({onHide(){}}),cf=g.forwardRef(({bsPrefix:l,className:n,contentClassName:c,centered:s,size:u,fullscreen:f,children:d,scrollable:y,...v},p)=>{l=Qe(l,"modal");const b=`${l}-dialog`,R=typeof f=="string"?`${l}-fullscreen-${f}`:`${l}-fullscreen`;return h.jsx("div",{...v,ref:p,className:Ae(b,n,u&&`${l}-${u}`,s&&`${b}-centered`,y&&`${b}-scrollable`,f&&R),children:h.jsx("div",{className:Ae(`${l}-content`,c),children:d})})});cf.displayName="ModalDialog";const wp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));wp.displayName="ModalFooter";const iS=g.forwardRef(({closeLabel:l="Close",closeVariant:n,closeButton:c=!1,onHide:s,children:u,...f},d)=>{const y=g.useContext(Dp),v=Ho(()=>{y==null||y.onHide(),s==null||s()});return h.jsxs("div",{ref:d,...f,children:[u,c&&h.jsx(Io,{"aria-label":l,variant:n,onClick:v})]})}),Ap=g.forwardRef(({bsPrefix:l,className:n,closeLabel:c="Close",closeButton:s=!1,...u},f)=>(l=Qe(l,"modal-header"),h.jsx(iS,{ref:f,...u,className:Ae(n,l),closeLabel:c,closeButton:s})));Ap.displayName="ModalHeader";const rS=Po("h4"),Mp=g.forwardRef(({className:l,bsPrefix:n,as:c=rS,...s},u)=>(n=Qe(n,"modal-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Mp.displayName="ModalTitle";function uS(l){return h.jsx(Wo,{...l,timeout:null})}function cS(l){return h.jsx(Wo,{...l,timeout:null})}const zp=g.forwardRef(({bsPrefix:l,className:n,style:c,dialogClassName:s,contentClassName:u,children:f,dialogAs:d=cf,"data-bs-theme":y,"aria-labelledby":v,"aria-describedby":p,"aria-label":b,show:R=!1,animation:S=!0,backdrop:_=!0,keyboard:O=!0,onEscapeKeyDown:H,onShow:U,onHide:M,container:q,autoFocus:Y=!0,enforceFocus:J=!0,restoreFocus:G=!0,restoreFocusOptions:N,onEntered:W,onExit:ie,onExiting:X,onEnter:I,onEntering:de,onExited:Ne,backdropClassName:Ye,manager:Be,...ze},K)=>{const[ce,ne]=g.useState({}),[Re,T]=g.useState(!1),Q=g.useRef(!1),le=g.useRef(!1),te=g.useRef(null),[P,ge]=Lb(),ye=rp(K,ge),Je=Ho(M),Ce=BE();l=Qe(l,"modal");const Le=g.useMemo(()=>({onHide:Je}),[Je]);function Ee(){return Be||lS({isRTL:Ce})}function Ze(_e){if(!ri)return;const Ie=Ee().getScrollbarWidth()>0,kt=_e.scrollHeight>Ku(_e).documentElement.clientHeight;ne({paddingRight:Ie&&!kt?_y():void 0,paddingLeft:!Ie&&kt?_y():void 0})}const vt=Ho(()=>{P&&Ze(P.dialog)});xb(()=>{Uo(window,"resize",vt),te.current==null||te.current()});const it=()=>{Q.current=!0},lt=_e=>{Q.current&&P&&_e.target===P.dialog&&(le.current=!0),Q.current=!1},De=()=>{T(!0),te.current=ip(P.dialog,()=>{T(!1)})},Rt=_e=>{_e.target===_e.currentTarget&&De()},St=_e=>{if(_==="static"){Rt(_e);return}if(le.current||_e.target!==_e.currentTarget){le.current=!1;return}M==null||M()},Pt=_e=>{O?H==null||H(_e):(_e.preventDefault(),_==="static"&&De())},Zt=(_e,Ie)=>{_e&&Ze(_e),I==null||I(_e,Ie)},un=_e=>{te.current==null||te.current(),ie==null||ie(_e)},cn=(_e,Ie)=>{de==null||de(_e,Ie),lp(window,"resize",vt)},Ut=_e=>{_e&&(_e.style.display=""),Ne==null||Ne(_e),Uo(window,"resize",vt)},Ht=g.useCallback(_e=>h.jsx("div",{..._e,className:Ae(`${l}-backdrop`,Ye,!S&&"show")}),[S,Ye,l]),mt={...c,...ce};mt.display="block";const Kt=_e=>h.jsx("div",{role:"dialog",..._e,style:mt,className:Ae(n,l,Re&&`${l}-static`,!S&&"show"),onClick:_?St:void 0,onMouseUp:lt,"data-bs-theme":y,"aria-label":b,"aria-labelledby":v,"aria-describedby":p,children:h.jsx(d,{...ze,onMouseDown:it,className:s,contentClassName:u,children:f})});return h.jsx(Dp.Provider,{value:Le,children:h.jsx(Ib,{show:R,ref:ye,backdrop:_,container:q,keyboard:!0,autoFocus:Y,enforceFocus:J,restoreFocus:G,restoreFocusOptions:N,onEscapeKeyDown:Pt,onShow:U,onHide:M,onEnter:Zt,onEntering:cn,onEntered:W,onExit:un,onExiting:X,onExited:Ut,manager:Ee(),transition:S?uS:void 0,backdropTransition:S?cS:void 0,renderBackdrop:Ht,renderDialog:Kt})})});zp.displayName="Modal";const ir=Object.assign(zp,{Body:Op,Header:Ap,Title:Mp,Footer:wp,Dialog:cf,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),Rn=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"row"),d=tp(),y=np(),v=`${f}-cols`,p=[];return d.forEach(b=>{const R=s[b];delete s[b];let S;R!=null&&typeof R=="object"?{cols:S}=R:S=R;const _=b!==y?`-${b}`:"";S!=null&&p.push(`${v}${_}-${S}`)}),h.jsx(c,{ref:u,...s,className:Ae(n,f,...p)})});Rn.displayName="Row";const sS="/static/DY3vaYXT.svg";function oS(){const l=Ke.c(6),{user:n}=g.useContext(Fo),{pathname:c}=Xn();let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(ln,{xs:10,children:h.jsx("div",{className:"nav-wrapper",children:h.jsxs("nav",{className:"header-nav",children:[h.jsx("a",{href:"https://geant.org/",children:h.jsx("img",{src:sS,alt:"GÉANT Logo"})}),h.jsxs("ul",{children:[h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://network.geant.org/",children:"NETWORK"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/services/",children:"SERVICES"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://community.geant.org/",children:"COMMUNITY"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://tnc23.geant.org/",children:"TNC"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/projects/",children:"PROJECTS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/",children:"CONNECT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://impact.geant.org/",children:"IMPACT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://careers.geant.org/",children:"CAREERS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://about.geant.org/",children:"ABOUT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/community-news",children:"NEWS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://resources.geant.org/",children:"RESOURCES"})}),h.jsx("li",{children:h.jsx(Tn,{className:"nav-link-entry",to:"/",children:"COMPENDIUM"})})]})]})})}),l[0]=s):s=l[0];let u;l[1]!==c||l[2]!==n.permissions.admin?(u=n.permissions.admin&&!c.includes("survey")&&h.jsx("div",{className:"nav-link",style:{float:"right"},children:h.jsx(Tn,{className:"nav-link-entry",to:"/survey",children:h.jsx("span",{children:"Go to Survey"})})}),l[1]=c,l[2]=n.permissions.admin,l[3]=u):u=l[3];let f;return l[4]!==u?(f=h.jsx("div",{className:"external-page-nav-bar",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[s,h.jsx(ln,{xs:2,children:u})]})})}),l[4]=u,l[5]=f):f=l[5],f}const fS="/static/A3T3A-a_.svg",dS="/static/DOOiIGTs.png";function hS(){const l=Ke.c(9);let n;l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("a",{href:"https://geant.org",children:h.jsx("img",{src:fS,className:"m-3",style:{maxWidth:"100px"},alt:"GÉANT Logo"})}),l[0]=n):n=l[0];let c;l[1]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsxs(ln,{children:[n,h.jsx("img",{src:dS,className:"m-3",style:{maxWidth:"200px"},alt:"European Union Flag"})]}),l[1]=c):c=l[1];let s,u;l[2]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Disclaimer/",children:"Disclaimer"}),u=h.jsx("wbr",{}),l[2]=s,l[3]=u):(s=l[2],u=l[3]);let f,d;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/geant-anti-slavery-policy/",children:"GEANT Anti‑Slavery Policy"}),d=h.jsx("wbr",{}),l[4]=f,l[5]=d):(f=l[4],d=l[5]);let y,v;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),v=h.jsx("wbr",{}),l[6]=y,l[7]=v):(y=l[6],v=l[7]);let p;return l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("footer",{className:"page-footer pt-3",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[c,h.jsx(ln,{className:"mt-4 text-end",children:h.jsxs("span",{children:[s,u,"|",f,d,"|",y,v,"|",h.jsx("a",{className:"mx-3 footer-link",style:{cursor:"pointer"},onClick:mS,children:"Analytics Consent"})]})})]})})}),l[8]=p):p=l[8],p}function mS(){localStorage.removeItem("matomo_consent"),window.location.reload()}const Lp="/static/C4lsyu6A.svg",Up="/static/DhA-EmEc.svg";function Hp(){const l=Ke.c(16),n=g.useContext(ep);let c;l[0]!==n?(c=O=>n==null?void 0:n.trackPageView(O),l[0]=n,l[1]=c):c=l[1];const s=c;let u;l[2]!==n?(u=O=>n==null?void 0:n.trackEvent(O),l[2]=n,l[3]=u):u=l[3];const f=u;let d;l[4]!==n?(d=()=>n==null?void 0:n.trackEvents(),l[4]=n,l[5]=d):d=l[5];const y=d;let v;l[6]!==n?(v=O=>n==null?void 0:n.trackLink(O),l[6]=n,l[7]=v):v=l[7];const p=v,b=yS;let R;l[8]!==n?(R=(O,...H)=>{const U=H;n==null||n.pushInstruction(O,...U)},l[8]=n,l[9]=R):R=l[9];const S=R;let _;return l[10]!==S||l[11]!==f||l[12]!==y||l[13]!==p||l[14]!==s?(_={trackEvent:f,trackEvents:y,trackPageView:s,trackLink:p,enableLinkTracking:b,pushInstruction:S},l[10]=S,l[11]=f,l[12]=y,l[13]=p,l[14]=s,l[15]=_):_=l[15],_}function yS(){}function Bp(){const l=Ke.c(13),{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"GEANT Compendium Landing Page"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),g.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(Rn,{children:h.jsxs("div",{className:"center-text",children:[u,h.jsxs("div",{className:"wordwrap pt-4",children:[h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Each year GÉANT invites European National Research and Eduction Networks to fill in a questionnaire asking about their network, their organisation, standards and policies, connected users, and the services they offer their users. This Compendium of responses is an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. No two NRENs are identical, with great diversity in their structures, funding, size, and focus."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"The GÉANT Compendium of NRENs Report is published annually, using both data from the Compendium from other sources, including surveys and studies carried out within different teams within GÉANT and the NREN community. The Report gives a broad overview of the European NREN landscape, identifying developments and trends."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Compendium Data, the responses from the NRENs, are made available to be viewed and downloaded. Graphs, charts, and tables can be customised to show as many or few NRENs as required, across different years. These can be downloaded as images or in PDF form."})]})]})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d={backgroundColor:"white"},l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y={width:"18rem"},l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(Yn.Img,{src:Lp}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(Yn.Title,{children:"Compendium Data"}),l[8]=p):p=l[8];let b;l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:y,children:h.jsxs(Tn,{to:"/data",className:"link-text",children:[v,h.jsxs(Yn.Body,{children:[p,h.jsx(Yn.Text,{children:h.jsx("span",{children:"Statistical representation of the annual Compendium Survey data is available here"})})]})]})})}),l[9]=b):b=l[9];let R;l[10]===Symbol.for("react.memo_cache_sentinel")?(R={width:"18rem"},l[10]=R):R=l[10];let S;l[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx(Yn.Img,{src:Up}),l[11]=S):S=l[11];let _;return l[12]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs(Ya,{className:"py-5 grey-container",children:[f,h.jsx(Rn,{children:h.jsx(ln,{children:h.jsx(Ya,{style:d,className:"rounded-border",children:h.jsxs(Rn,{className:"justify-content-md-center",children:[b,h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:R,children:h.jsxs("a",{href:"https://resources.geant.org/geant-compendia/",className:"link-text",target:"_blank",rel:"noreferrer",children:[S,h.jsxs(Yn.Body,{children:[h.jsx(Yn.Title,{children:"Compendium Reports"}),h.jsx(Yn.Text,{children:"A GÉANT Compendium Report is published annually, drawing on data from the Compendium Survey filled in by NRENs, complemented by information from other surveys"})]})]})})})]})})})})]}),l[12]=_):_=l[12],_}var qp={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Cy=Yt.createContext&&Yt.createContext(qp),pS=["attr","size","title"];function vS(l,n){if(l==null)return{};var c=gS(l,n),s,u;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(u=0;u<f.length;u++)s=f[u],!(n.indexOf(s)>=0)&&Object.prototype.propertyIsEnumerable.call(l,s)&&(c[s]=l[s])}return c}function gS(l,n){if(l==null)return{};var c={};for(var s in l)if(Object.prototype.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function Yu(){return Yu=Object.assign?Object.assign.bind():function(l){for(var n=1;n<arguments.length;n++){var c=arguments[n];for(var s in c)Object.prototype.hasOwnProperty.call(c,s)&&(l[s]=c[s])}return l},Yu.apply(this,arguments)}function jy(l,n){var c=Object.keys(l);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);n&&(s=s.filter(function(u){return Object.getOwnPropertyDescriptor(l,u).enumerable})),c.push.apply(c,s)}return c}function ku(l){for(var n=1;n<arguments.length;n++){var c=arguments[n]!=null?arguments[n]:{};n%2?jy(Object(c),!0).forEach(function(s){ES(l,s,c[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(c)):jy(Object(c)).forEach(function(s){Object.defineProperty(l,s,Object.getOwnPropertyDescriptor(c,s))})}return l}function ES(l,n,c){return n=bS(n),n in l?Object.defineProperty(l,n,{value:c,enumerable:!0,configurable:!0,writable:!0}):l[n]=c,l}function bS(l){var n=SS(l,"string");return typeof n=="symbol"?n:n+""}function SS(l,n){if(typeof l!="object"||!l)return l;var c=l[Symbol.toPrimitive];if(c!==void 0){var s=c.call(l,n||"default");if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(l)}function Vp(l){return l&&l.map((n,c)=>Yt.createElement(n.tag,ku({key:c},n.attr),Vp(n.child)))}function Yp(l){return n=>Yt.createElement(xS,Yu({attr:ku({},l.attr)},n),Vp(l.child))}function xS(l){var n=c=>{var{attr:s,size:u,title:f}=l,d=vS(l,pS),y=u||c.size||"1em",v;return c.className&&(v=c.className),l.className&&(v=(v?v+" ":"")+l.className),Yt.createElement("svg",Yu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},c.attr,s,d,{className:v,style:ku(ku({color:l.color||c.color},c.style),l.style),height:y,width:y,xmlns:"http://www.w3.org/2000/svg"}),f&&Yt.createElement("title",null,f),l.children)};return Cy!==void 0?Yt.createElement(Cy.Consumer,null,c=>n(c)):n(qp)}function _S(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024",fill:"currentColor",fillRule:"evenodd"},child:[{tag:"path",attr:{d:"M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.118.118 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.118.118 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.118.118 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926 224.297 857.629c-.04.041-.06.052-.083.059a.118.118 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.118.118 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512 166.371 224.297c-.041-.04-.052-.06-.059-.083a.118.118 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.118.118 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z"},child:[]}]})(l)}function RS(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8Z"},child:[]},{tag:"path",attr:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8Z"},child:[]}]})(l)}const rr=l=>{const n=Ke.c(23),{title:c,children:s,startCollapsed:u,theme:f}=l,d=f===void 0?"":f,[y,v]=g.useState(!!u);let p;n[0]===Symbol.for("react.memo_cache_sentinel")?(p={color:"white",paddingBottom:"3px",marginTop:"3px",marginLeft:"3px",scale:"1.3"},n[0]=p):p=n[0];let b=p;if(d){let G;n[1]===Symbol.for("react.memo_cache_sentinel")?(G={...b,color:"black",fontWeight:"bold"},n[1]=G):G=n[1],b=G}const R=`collapsible-box${d} p-0`;let S;n[2]!==c?(S=h.jsx(ln,{children:h.jsx("h1",{className:"bold-caps-16pt dark-teal pt-3 ps-3",children:c})}),n[2]=c,n[3]=S):S=n[3];const _=`toggle-btn${d} p-${d?3:2}`;let O;n[4]!==y?(O=()=>v(!y),n[4]=y,n[5]=O):O=n[5];let H;n[6]!==y||n[7]!==b?(H=y?h.jsx(RS,{style:b}):h.jsx(_S,{style:b}),n[6]=y,n[7]=b,n[8]=H):H=n[8];let U;n[9]!==_||n[10]!==O||n[11]!==H?(U=h.jsx(ln,{className:"flex-grow-0 flex-shrink-1",children:h.jsx("div",{className:_,onClick:O,children:H})}),n[9]=_,n[10]=O,n[11]=H,n[12]=U):U=n[12];let M;n[13]!==S||n[14]!==U?(M=h.jsxs(Rn,{children:[S,U]}),n[13]=S,n[14]=U,n[15]=M):M=n[15];const q=`collapsible-content${y?" collapsed":""}`;let Y;n[16]!==s||n[17]!==q?(Y=h.jsx("div",{className:q,children:s}),n[16]=s,n[17]=q,n[18]=Y):Y=n[18];let J;return n[19]!==Y||n[20]!==R||n[21]!==M?(J=h.jsxs("div",{className:R,children:[M,Y]}),n[19]=Y,n[20]=R,n[21]=M,n[22]=J):J=n[22],J};function TS(l){const n=Ke.c(8),{section:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s={display:"flex",alignSelf:"right",lineHeight:"1.5rem",marginTop:"0.5rem"},n[0]=s):s=n[0];let u,f;n[1]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("br",{}),f={float:"right"},n[1]=u,n[2]=f):(u=n[1],f=n[2]);let d;n[3]!==c?(d=h.jsx("div",{style:s,children:h.jsxs("span",{children:["Compendium ",u,h.jsx("span",{style:f,children:c})]})}),n[3]=c,n[4]=d):d=n[4];let y;n[5]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("img",{src:Up,style:{maxWidth:"4rem"},alt:"Compendium Data logo"}),n[5]=y):y=n[5];let v;return n[6]!==d?(v=h.jsxs("div",{className:"bold-caps-17pt section-container",children:[d,y]}),n[6]=d,n[7]=v):v=n[7],v}function NS(l){const n=Ke.c(14),{type:c}=l;let s="";c=="data"?s=" compendium-data-header":c=="reports"&&(s=" compendium-reports-header");let u;n[0]===Symbol.for("react.memo_cache_sentinel")?(u={marginTop:"0.5rem"},n[0]=u):u=n[0];const f=c==="data"?"/data":"/";let d;n[1]===Symbol.for("react.memo_cache_sentinel")?(d={textDecoration:"none",color:"white"},n[1]=d):d=n[1];const y=c==="data"?"Data":"Reports";let v;n[2]!==y?(v=h.jsxs("span",{children:["Compendium ",y]}),n[2]=y,n[3]=v):v=n[3];let p;n[4]!==f||n[5]!==v?(p=h.jsx(ln,{sm:8,children:h.jsx("h1",{className:"bold-caps-30pt",style:u,children:h.jsx(Tn,{to:f,style:d,children:v})})}),n[4]=f,n[5]=v,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b={color:"inherit"},n[7]=b):b=n[7];let R;n[8]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ln,{sm:4,children:h.jsx("a",{style:b,href:"https://resources.geant.org/geant-compendia/",target:"_blank",rel:"noreferrer",children:h.jsx(TS,{section:"Reports"})})}),n[8]=R):R=n[8];let S;n[9]!==p?(S=h.jsx(Ya,{children:h.jsxs(Rn,{children:[p,R]})}),n[9]=p,n[10]=S):S=n[10];let _;return n[11]!==s||n[12]!==S?(_=h.jsx("div",{className:s,children:S}),n[11]=s,n[12]=S,n[13]=_):_=n[13],_}function CS(l){const n=Ke.c(8),{children:c,type:s}=l;let u="";s=="data"?u=" compendium-data-banner":s=="reports"&&(u=" compendium-reports-banner");let f,d;n[0]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("img",{src:Lp,style:{maxWidth:"7rem",marginBottom:"1rem"},alt:"Compendium Data logo"}),d={display:"flex",alignSelf:"right"},n[0]=f,n[1]=d):(f=n[0],d=n[1]);let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"1rem"},n[2]=y):y=n[2];let v;n[3]!==c?(v=h.jsx(Ya,{children:h.jsx(Rn,{children:h.jsx(Rn,{children:h.jsxs("div",{className:"section-container",children:[f,h.jsx("div",{style:d,children:h.jsx("div",{className:"center-text",style:y,children:c})})]})})})}),n[3]=c,n[4]=v):v=n[4];let p;return n[5]!==u||n[6]!==v?(p=h.jsx("div",{className:u,children:v}),n[5]=u,n[6]=v,n[7]=p):p=n[7],p}var li=(l=>(l.Organisation="ORGANISATION",l.Policy="STANDARDS AND POLICIES",l.ConnectedUsers="CONNECTED USERS",l.Network="NETWORK",l.Services="SERVICES",l))(li||{}),jS=(l=>(l.CSV="CSV",l.EXCEL="EXCEL",l))(jS||{}),OS=(l=>(l.PNG="png",l.JPEG="jpeg",l.SVG="svg",l))(OS||{});const V2={universities:"Universities & Other (ISCED 6-8)",further_education:"Further education (ISCED 4-5)",secondary_schools:"Secondary schools (ISCED 2-3)",primary_schools:"Primary schools (ISCED 1)",institutes:"Research Institutes",cultural:"Libraries, Museums, Archives, Cultural institutions",hospitals:"Non-university public Hospitals",government:"Government departments (national, regional, local)",iros:"International (virtual) research organisations",for_profit_orgs:"For-profit organisations"},Y2={commercial_r_and_e:"Commercial R&E traffic only",commercial_general:"Commercial general",commercial_collaboration:"Commercial for collaboration only (project/time limited)",commercial_service_provider:"Commercial Service Provider",university_spin_off:"University Spin Off/Incubator"},k2={collaboration:"Connection to your network for collaboration with R&E users",service_supplier:"Connection to your network for supplying services for R&E",direct_peering:"Direct peering (e.g. direct peering or cloud peering)"};function DS(){const l=Ke.c(7),{preview:n,setPreview:c}=g.useContext(Iy),{user:s}=g.useContext(Fo),[u]=lE();let f;l[0]!==u?(f=u.get("preview"),l[0]=u,l[1]=f):f=l[1];const d=f;let y,v;return l[2]!==d||l[3]!==c||l[4]!==s?(y=()=>{d!==null&&(s.permissions.admin||s.role=="observer")&&c(!0)},v=[d,c,s],l[2]=d,l[3]=c,l[4]=s,l[5]=y,l[6]=v):(y=l[5],v=l[6]),g.useEffect(y,v),n}function yr(l){const n=Ke.c(9),{to:c,children:s}=l,u=window.location.pathname===c,f=g.useRef(null);let d,y;n[0]!==u?(d=()=>{u&&f.current&&f.current.scrollIntoView({behavior:"smooth",block:"center"})},y=[u],n[0]=u,n[1]=d,n[2]=y):(d=n[1],y=n[2]),g.useEffect(d,y);let v;n[3]!==s||n[4]!==u?(v=u?h.jsx("b",{children:s}):s,n[3]=s,n[4]=u,n[5]=v):v=n[5];let p;return n[6]!==v||n[7]!==c?(p=h.jsx(Rn,{children:h.jsx(Tn,{to:c,className:"link-text-underline",ref:f,children:v})}),n[6]=v,n[7]=c,n[8]=p):p=n[8],p}const se={budget:"Budget of NRENs per Year",funding:"Income Source of NRENs",charging:"Charging Mechanism of NRENs","employee-count":"Number of NREN Employees",roles:"Roles of NREN employees (Technical v. Non-Technical)",employment:"Types of Employment within NRENs",suborganisations:"NREN Sub-Organisations",parentorganisation:"NREN Parent Organisations","ec-projects":"NREN Involvement in European Commission Projects",policy:"NREN Policies",audits:"External and Internal Audits of Information Security Management Systems","business-continuity":"NREN Business Continuity Planning","central-procurement":"Value of Software Procured for Customers by NRENs","crisis-management":"Crisis Management Procedures","crisis-exercise":"Crisis Exercises - NREN Operation and Participation",eosc_listings:"NREN Services Listed on the EOSC Portal","security-control":"Security Controls Used by NRENs","services-offered":"Services Offered by NRENs by Types of Users","corporate-strategy":"NREN Corporate Strategies","service-level-targets":"NRENs Offering Service Level Targets","service-management-framework":"NRENs Operating a Formal Service Management Framework","institutions-urls":"Webpages Listing Institutions and Organisations Connected to NREN Networks","connected-proportion":"Proportion of Different Categories of Institutions Served by NRENs","connectivity-level":"Level of IP Connectivity by Institution Type","connection-carrier":"Methods of Carrying IP Traffic to Users","connectivity-load":"Connectivity Load","connectivity-growth":"Connectivity Growth","remote-campuses":"NREN Connectivity to Remote Campuses in Other Countries","commercial-charging-level":"Commercial Charging Level","commercial-connectivity":"Commercial Connectivity","traffic-volume":"NREN Traffic - NREN Customers & External Networks","iru-duration":"Average Duration of IRU leases of Fibre by NRENs","fibre-light":"Approaches to lighting NREN fibre networks","dark-fibre-lease":"Kilometres of Leased Dark Fibre (National)","dark-fibre-lease-international":"Kilometres of Leased Dark Fibre (International)","dark-fibre-installed":"Kilometres of Installed Dark Fibre","network-map":"NREN Network Maps","monitoring-tools":"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions","pert-team":"NRENs with Performance Enhancement Response Teams","passive-monitoring":"Methods for Passively Monitoring International Traffic","traffic-stats":"Traffic Statistics","weather-map":"NREN Online Network Weather Maps","certificate-provider":"Certification Services used by NRENs","siem-vendors":"Vendors of SIEM/SOC systems used by NRENs","alien-wave":"NREN Use of 3rd Party Alienwave/Lightpath Services","alien-wave-internal":"Internal NREN Use of Alien Waves","capacity-largest-link":"Capacity of the Largest Link in an NREN Network","external-connections":"NREN External IP Connections","capacity-core-ip":"NREN Core IP Capacity","non-rne-peers":"Number of Non-R&E Networks NRENs Peer With","traffic-ratio":"Types of traffic in NREN networks (Commodity v. Research & Education)","ops-automation":"NREN Automation of Operational Processes","network-automation":"Network Tasks for which NRENs Use Automation",nfv:"Kinds of Network Function Virtualisation used by NRENs","network-services":"NREN Network services matrix","isp-support-services":"NREN ISP support services matrix","security-services":"NREN Security services matrix","identity-services":"NREN Identity services matrix","collaboration-services":"NREN Collaboration services matrix","multimedia-services":"NREN Multimedia services matrix","storage-and-hosting-services":"NREN Storage and hosting services matrix","professional-services":"NREN Professional services matrix"};function wS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Organisation"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Budget, Income and Billing"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se.budget}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/budget",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.funding}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/funding",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se.charging}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/charging",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O,H;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("hr",{className:"fake-divider"}),H=h.jsx("h6",{className:"section-title",children:"Staff and Projects"}),n[15]=O,n[16]=H):(O=n[15],H=n[16]);let U;n[17]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["employee-count"]}),n[17]=U):U=n[17];let M;n[18]!==u||n[19]!==f?(M=h.jsx(u,{to:"/employee-count",className:f,children:U}),n[18]=u,n[19]=f,n[20]=M):M=n[20];let q;n[21]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se.employment}),n[21]=q):q=n[21];let Y;n[22]!==u||n[23]!==f?(Y=h.jsx(u,{to:"/employment",className:f,children:q}),n[22]=u,n[23]=f,n[24]=Y):Y=n[24];let J;n[25]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se.roles}),n[25]=J):J=n[25];let G;n[26]!==u||n[27]!==f?(G=h.jsx(u,{to:"/roles",className:f,children:J}),n[26]=u,n[27]=f,n[28]=G):G=n[28];let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se.parentorganisation}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/parentorganisation",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se.suborganisations}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/suborganisations",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["ec-projects"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/ec-projects",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==M||n[42]!==Y||n[43]!==G||n[44]!==W||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,O,H,M,Y,G,W,X,de]}),n[41]=M,n[42]=Y,n[43]=G,n[44]=W,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function AS(l){const n=Ke.c(61),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Standards And Policies"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Policy & Portfolio"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["corporate-strategy"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/corporate-strategy",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.policy}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/policy",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["central-procurement"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/central-procurement",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["service-management-framework"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/service-management-framework",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["service-level-targets"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/service-level-targets",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["services-offered"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/services-offered",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("h6",{className:"section-title",children:"Standards"}),n[27]=J):J=n[27];let G;n[28]===Symbol.for("react.memo_cache_sentinel")?(G=h.jsx("span",{children:se.audits}),n[28]=G):G=n[28];let N;n[29]!==u||n[30]!==f?(N=h.jsx(u,{to:"/audits",className:f,children:G}),n[29]=u,n[30]=f,n[31]=N):N=n[31];let W;n[32]===Symbol.for("react.memo_cache_sentinel")?(W=h.jsx("span",{children:se["business-continuity"]}),n[32]=W):W=n[32];let ie;n[33]!==u||n[34]!==f?(ie=h.jsx(u,{to:"/business-continuity",className:f,children:W}),n[33]=u,n[34]=f,n[35]=ie):ie=n[35];let X;n[36]===Symbol.for("react.memo_cache_sentinel")?(X=h.jsx("span",{children:se["crisis-management"]}),n[36]=X):X=n[36];let I;n[37]!==u||n[38]!==f?(I=h.jsx(u,{to:"/crisis-management",className:f,children:X}),n[37]=u,n[38]=f,n[39]=I):I=n[39];let de;n[40]===Symbol.for("react.memo_cache_sentinel")?(de=h.jsx("span",{children:se["crisis-exercise"]}),n[40]=de):de=n[40];let Ne;n[41]!==u||n[42]!==f?(Ne=h.jsx(u,{to:"/crisis-exercise",className:f,children:de}),n[41]=u,n[42]=f,n[43]=Ne):Ne=n[43];let Ye;n[44]===Symbol.for("react.memo_cache_sentinel")?(Ye=h.jsx("span",{children:se["security-control"]}),n[44]=Ye):Ye=n[44];let Be;n[45]!==u||n[46]!==f?(Be=h.jsx(u,{to:"/security-control",className:f,children:Ye}),n[45]=u,n[46]=f,n[47]=Be):Be=n[47];let ze;return n[48]!==H||n[49]!==M||n[50]!==Y||n[51]!==N||n[52]!==d||n[53]!==ie||n[54]!==I||n[55]!==Ne||n[56]!==Be||n[57]!==p||n[58]!==R||n[59]!==_?(ze=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,N,ie,I,Ne,Be]}),n[48]=H,n[49]=M,n[50]=Y,n[51]=N,n[52]=d,n[53]=ie,n[54]=I,n[55]=Ne,n[56]=Be,n[57]=p,n[58]=R,n[59]=_,n[60]=ze):ze=n[60],ze}function MS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Connected Users"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connected Users"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["institutions-urls"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/institutions-urls",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["connected-proportion"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/connected-proportion",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["connectivity-level"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/connectivity-level",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["connection-carrier"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/connection-carrier",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["connectivity-load"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/connectivity-load",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["connectivity-growth"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/connectivity-growth",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se["remote-campuses"]}),n[27]=J):J=n[27];let G;n[28]!==u||n[29]!==f?(G=h.jsx(u,{to:"/remote-campuses",className:f,children:J}),n[28]=u,n[29]=f,n[30]=G):G=n[30];let N,W;n[31]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("hr",{className:"fake-divider"}),W=h.jsx("h6",{className:"section-title",children:"Connected Users - Commercial"}),n[31]=N,n[32]=W):(N=n[31],W=n[32]);let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["commercial-charging-level"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/commercial-charging-level",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["commercial-connectivity"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/commercial-connectivity",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==H||n[42]!==M||n[43]!==Y||n[44]!==G||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,G,N,W,X,de]}),n[41]=H,n[42]=M,n[43]=Y,n[44]=G,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function zS(l){const n=Ke.c(133),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Network"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connectivity"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["dark-fibre-lease"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/dark-fibre-lease",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["dark-fibre-lease-international"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/dark-fibre-lease-international",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["iru-duration"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/iru-duration",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["dark-fibre-installed"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/dark-fibre-installed",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["fibre-light"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/fibre-light",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["network-map"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/network-map",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J,G;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("hr",{className:"fake-divider"}),G=h.jsx("h6",{className:"section-title",children:"Performance Monitoring & Management"}),n[27]=J,n[28]=G):(J=n[27],G=n[28]);let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se["monitoring-tools"]}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/monitoring-tools",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["passive-monitoring"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/passive-monitoring",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["traffic-stats"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/traffic-stats",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;n[41]===Symbol.for("react.memo_cache_sentinel")?(Ne=h.jsx("span",{children:se["siem-vendors"]}),n[41]=Ne):Ne=n[41];let Ye;n[42]!==u||n[43]!==f?(Ye=h.jsx(u,{to:"/siem-vendors",className:f,children:Ne}),n[42]=u,n[43]=f,n[44]=Ye):Ye=n[44];let Be;n[45]===Symbol.for("react.memo_cache_sentinel")?(Be=h.jsx("span",{children:se["certificate-provider"]}),n[45]=Be):Be=n[45];let ze;n[46]!==u||n[47]!==f?(ze=h.jsx(u,{to:"/certificate-providers",className:f,children:Be}),n[46]=u,n[47]=f,n[48]=ze):ze=n[48];let K;n[49]===Symbol.for("react.memo_cache_sentinel")?(K=h.jsx("span",{children:se["weather-map"]}),n[49]=K):K=n[49];let ce;n[50]!==u||n[51]!==f?(ce=h.jsx(u,{to:"/weather-map",className:f,children:K}),n[50]=u,n[51]=f,n[52]=ce):ce=n[52];let ne;n[53]===Symbol.for("react.memo_cache_sentinel")?(ne=h.jsx("span",{children:se["pert-team"]}),n[53]=ne):ne=n[53];let Re;n[54]!==u||n[55]!==f?(Re=h.jsx(u,{to:"/pert-team",className:f,children:ne}),n[54]=u,n[55]=f,n[56]=Re):Re=n[56];let T,Q;n[57]===Symbol.for("react.memo_cache_sentinel")?(T=h.jsx("hr",{className:"fake-divider"}),Q=h.jsx("h6",{className:"section-title",children:"Alienwave"}),n[57]=T,n[58]=Q):(T=n[57],Q=n[58]);let le;n[59]===Symbol.for("react.memo_cache_sentinel")?(le=h.jsx("span",{children:se["alien-wave"]}),n[59]=le):le=n[59];let te;n[60]!==u||n[61]!==f?(te=h.jsx(u,{to:"/alien-wave",className:f,children:le}),n[60]=u,n[61]=f,n[62]=te):te=n[62];let P;n[63]===Symbol.for("react.memo_cache_sentinel")?(P=h.jsx("span",{children:se["alien-wave-internal"]}),n[63]=P):P=n[63];let ge;n[64]!==u||n[65]!==f?(ge=h.jsx(u,{to:"/alien-wave-internal",className:f,children:P}),n[64]=u,n[65]=f,n[66]=ge):ge=n[66];let ye,Je;n[67]===Symbol.for("react.memo_cache_sentinel")?(ye=h.jsx("hr",{className:"fake-divider"}),Je=h.jsx("h6",{className:"section-title",children:"Capacity"}),n[67]=ye,n[68]=Je):(ye=n[67],Je=n[68]);let Ce;n[69]===Symbol.for("react.memo_cache_sentinel")?(Ce=h.jsx("span",{children:se["capacity-largest-link"]}),n[69]=Ce):Ce=n[69];let Le;n[70]!==u||n[71]!==f?(Le=h.jsx(u,{to:"/capacity-largest-link",className:f,children:Ce}),n[70]=u,n[71]=f,n[72]=Le):Le=n[72];let Ee;n[73]===Symbol.for("react.memo_cache_sentinel")?(Ee=h.jsx("span",{children:se["capacity-core-ip"]}),n[73]=Ee):Ee=n[73];let Ze;n[74]!==u||n[75]!==f?(Ze=h.jsx(u,{to:"/capacity-core-ip",className:f,children:Ee}),n[74]=u,n[75]=f,n[76]=Ze):Ze=n[76];let vt;n[77]===Symbol.for("react.memo_cache_sentinel")?(vt=h.jsx("span",{children:se["external-connections"]}),n[77]=vt):vt=n[77];let it;n[78]!==u||n[79]!==f?(it=h.jsx(u,{to:"/external-connections",className:f,children:vt}),n[78]=u,n[79]=f,n[80]=it):it=n[80];let lt;n[81]===Symbol.for("react.memo_cache_sentinel")?(lt=h.jsx("span",{children:se["non-rne-peers"]}),n[81]=lt):lt=n[81];let De;n[82]!==u||n[83]!==f?(De=h.jsx(u,{to:"/non-rne-peers",className:f,children:lt}),n[82]=u,n[83]=f,n[84]=De):De=n[84];let Rt;n[85]===Symbol.for("react.memo_cache_sentinel")?(Rt=h.jsx("span",{children:se["traffic-volume"]}),n[85]=Rt):Rt=n[85];let St;n[86]!==u||n[87]!==f?(St=h.jsx(u,{to:"/traffic-volume",className:f,children:Rt}),n[86]=u,n[87]=f,n[88]=St):St=n[88];let Pt;n[89]===Symbol.for("react.memo_cache_sentinel")?(Pt=h.jsx("span",{children:se["traffic-ratio"]}),n[89]=Pt):Pt=n[89];let Zt;n[90]!==u||n[91]!==f?(Zt=h.jsx(u,{to:"/traffic-ratio",className:f,children:Pt}),n[90]=u,n[91]=f,n[92]=Zt):Zt=n[92];let un,cn;n[93]===Symbol.for("react.memo_cache_sentinel")?(un=h.jsx("hr",{className:"fake-divider"}),cn=h.jsx("h6",{className:"section-title",children:"Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)"}),n[93]=un,n[94]=cn):(un=n[93],cn=n[94]);let Ut;n[95]===Symbol.for("react.memo_cache_sentinel")?(Ut=h.jsx("span",{children:se["ops-automation"]}),n[95]=Ut):Ut=n[95];let Ht;n[96]!==u||n[97]!==f?(Ht=h.jsx(u,{to:"/ops-automation",className:f,children:Ut}),n[96]=u,n[97]=f,n[98]=Ht):Ht=n[98];let mt;n[99]===Symbol.for("react.memo_cache_sentinel")?(mt=h.jsx("span",{children:se.nfv}),n[99]=mt):mt=n[99];let Kt;n[100]!==u||n[101]!==f?(Kt=h.jsx(u,{to:"/nfv",className:f,children:mt}),n[100]=u,n[101]=f,n[102]=Kt):Kt=n[102];let _e;n[103]===Symbol.for("react.memo_cache_sentinel")?(_e=h.jsx("span",{children:se["network-automation"]}),n[103]=_e):_e=n[103];let Ie;n[104]!==u||n[105]!==f?(Ie=h.jsx(u,{to:"/network-automation",className:f,children:_e}),n[104]=u,n[105]=f,n[106]=Ie):Ie=n[106];let kt;return n[107]!==H||n[108]!==M||n[109]!==Y||n[110]!==W||n[111]!==d||n[112]!==X||n[113]!==de||n[114]!==Ye||n[115]!==ze||n[116]!==ce||n[117]!==Re||n[118]!==te||n[119]!==ge||n[120]!==Le||n[121]!==Ze||n[122]!==it||n[123]!==De||n[124]!==St||n[125]!==p||n[126]!==Zt||n[127]!==Ht||n[128]!==Kt||n[129]!==Ie||n[130]!==R||n[131]!==_?(kt=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,G,W,X,de,Ye,ze,ce,Re,T,Q,te,ge,ye,Je,Le,Ze,it,De,St,Zt,un,cn,Ht,Kt,Ie]}),n[107]=H,n[108]=M,n[109]=Y,n[110]=W,n[111]=d,n[112]=X,n[113]=de,n[114]=Ye,n[115]=ze,n[116]=ce,n[117]=Re,n[118]=te,n[119]=ge,n[120]=Le,n[121]=Ze,n[122]=it,n[123]=De,n[124]=St,n[125]=p,n[126]=Zt,n[127]=Ht,n[128]=Kt,n[129]=Ie,n[130]=R,n[131]=_,n[132]=kt):kt=n[132],kt}function LS(l){const n=Ke.c(44),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Services"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("span",{children:se["network-services"]}),n[2]=y):y=n[2];let v;n[3]!==u||n[4]!==f?(v=h.jsx(u,{to:"/network-services",className:f,children:y}),n[3]=u,n[4]=f,n[5]=v):v=n[5];let p;n[6]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("span",{children:se["isp-support-services"]}),n[6]=p):p=n[6];let b;n[7]!==u||n[8]!==f?(b=h.jsx(u,{to:"/isp-support-services",className:f,children:p}),n[7]=u,n[8]=f,n[9]=b):b=n[9];let R;n[10]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx("span",{children:se["security-services"]}),n[10]=R):R=n[10];let S;n[11]!==u||n[12]!==f?(S=h.jsx(u,{to:"/security-services",className:f,children:R}),n[11]=u,n[12]=f,n[13]=S):S=n[13];let _;n[14]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsx("span",{children:se["identity-services"]}),n[14]=_):_=n[14];let O;n[15]!==u||n[16]!==f?(O=h.jsx(u,{to:"/identity-services",className:f,children:_}),n[15]=u,n[16]=f,n[17]=O):O=n[17];let H;n[18]===Symbol.for("react.memo_cache_sentinel")?(H=h.jsx("span",{children:se["storage-and-hosting-services"]}),n[18]=H):H=n[18];let U;n[19]!==u||n[20]!==f?(U=h.jsx(u,{to:"/storage-and-hosting-services",className:f,children:H}),n[19]=u,n[20]=f,n[21]=U):U=n[21];let M;n[22]===Symbol.for("react.memo_cache_sentinel")?(M=h.jsx("span",{children:se["multimedia-services"]}),n[22]=M):M=n[22];let q;n[23]!==u||n[24]!==f?(q=h.jsx(u,{to:"/multimedia-services",className:f,children:M}),n[23]=u,n[24]=f,n[25]=q):q=n[25];let Y;n[26]===Symbol.for("react.memo_cache_sentinel")?(Y=h.jsx("span",{children:se["collaboration-services"]}),n[26]=Y):Y=n[26];let J;n[27]!==u||n[28]!==f?(J=h.jsx(u,{to:"/collaboration-services",className:f,children:Y}),n[27]=u,n[28]=f,n[29]=J):J=n[29];let G;n[30]===Symbol.for("react.memo_cache_sentinel")?(G=h.jsx("span",{children:se["professional-services"]}),n[30]=G):G=n[30];let N;n[31]!==u||n[32]!==f?(N=h.jsx(u,{to:"/professional-services",className:f,children:G}),n[31]=u,n[32]=f,n[33]=N):N=n[33];let W;return n[34]!==O||n[35]!==U||n[36]!==q||n[37]!==J||n[38]!==N||n[39]!==d||n[40]!==v||n[41]!==b||n[42]!==S?(W=h.jsxs(h.Fragment,{children:[d,v,b,S,O,U,q,J,N]}),n[34]=O,n[35]=U,n[36]=q,n[37]=J,n[38]=N,n[39]=d,n[40]=v,n[41]=b,n[42]=S,n[43]=W):W=n[43],W}function US(){const l=Ke.c(10);DS();const{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"Compendium Data"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),Yt.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx(NS,{type:"data"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(CS,{type:"data",children:h.jsx("p",{className:"wordwrap",children:"The GÉANT Compendium provides an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. Published since 2001, the Compendium provides information on key areas such as users, services, traffic, budget and staffing."})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d=h.jsx(rr,{title:li.Organisation,children:h.jsx(wS,{})}),l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(rr,{title:li.Policy,startCollapsed:!0,children:h.jsx(AS,{})}),l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(rr,{title:li.ConnectedUsers,startCollapsed:!0,children:h.jsx(MS,{})}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(rr,{title:li.Network,startCollapsed:!0,children:h.jsx(zS,{})}),l[8]=p):p=l[8];let b;return l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsxs(h.Fragment,{children:[u,f,h.jsx(Ya,{className:"mt-5 mb-5",children:h.jsxs(Rn,{children:[d,y,v,p,h.jsx(rr,{title:li.Services,startCollapsed:!0,children:h.jsx(LS,{})})]})})]}),l[9]=b):b=l[9],b}const HS=()=>{const l=Ke.c(26),{consent:n,setConsent:c}=g.useContext(Jo),[s,u]=g.useState(n===null);let f;l[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{u(!1),window.location.reload()},l[0]=f):f=l[0];const d=f,[y,v]=g.useState(!0);let p;l[1]!==c?(p=N=>{const W=new Date;W.setDate(W.getDate()+30),localStorage.setItem("matomo_consent",JSON.stringify({consent:N,expiry:W})),c(N)},l[1]=c,l[2]=p):p=l[2];const b=p;let R;l[3]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ir.Header,{closeButton:!0,children:h.jsx(ir.Title,{children:"Privacy on this site"})}),l[3]=R):R=l[3];let S;l[4]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("a",{href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),l[4]=S):S=l[4];let _;l[5]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs("p",{children:["On our site we use Matomo to collect and process data about your visit to better understand how it is used. For more information, see our ",S,".",h.jsx("br",{}),"Below, you can choose to accept or decline to have this data collected."]}),l[5]=_):_=l[5];let O;l[6]!==y?(O=()=>v(!y),l[6]=y,l[7]=O):O=l[7];let H;l[8]!==y||l[9]!==O?(H=h.jsx(Du.Check,{type:"checkbox",label:"Analytics",checked:y,onChange:O}),l[8]=y,l[9]=O,l[10]=H):H=l[10];let U;l[11]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx(Du.Text,{className:"text-muted",children:"We collect information about your visit on the compendium site — this helps us understand how the site is used, and how we can improve it."}),l[11]=U):U=l[11];let M;l[12]!==H?(M=h.jsxs(ir.Body,{children:[_,h.jsx(Du,{children:h.jsxs(Du.Group,{className:"mb-3",children:[H,U]})})]}),l[12]=H,l[13]=M):M=l[13];let q;l[14]!==b?(q=h.jsx(Bo,{variant:"secondary",onClick:()=>{b(!1),d()},children:"Decline all"}),l[14]=b,l[15]=q):q=l[15];let Y;l[16]!==y||l[17]!==b?(Y=h.jsx(Bo,{variant:"primary",onClick:()=>{b(y),d()},children:"Save consent for 30 days"}),l[16]=y,l[17]=b,l[18]=Y):Y=l[18];let J;l[19]!==Y||l[20]!==q?(J=h.jsxs(ir.Footer,{children:[q,Y]}),l[19]=Y,l[20]=q,l[21]=J):J=l[21];let G;return l[22]!==s||l[23]!==J||l[24]!==M?(G=h.jsxs(ir,{show:s,centered:!0,children:[R,M,J]}),l[22]=s,l[23]=J,l[24]=M,l[25]=G):G=l[25],G},BS=g.lazy(()=>be(()=>import("./Budget-B6Lx0dmb.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),qS=g.lazy(()=>be(()=>import("./ChargingStructure-BcIkFCQl.js"),__vite__mapDeps([8,2,3,4,5,6,9,10,11]))),VS=g.lazy(()=>be(()=>import("./ECProjects-D8UUvws2.js"),__vite__mapDeps([12,2,3,4,5,6,13,11]))),YS=g.lazy(()=>be(()=>import("./FundingSource-Oc3V01jg.js"),__vite__mapDeps([14,1,2,3,4,5,6,15]))),kS=g.lazy(()=>be(()=>import("./ParentOrganisation-B1rE-icn.js"),__vite__mapDeps([16,2,3,4,5,6,13,11]))),Oy=g.lazy(()=>be(()=>import("./StaffGraph-DHqO65B7.js"),__vite__mapDeps([17,1,2,3,4,5,6,18]))),GS=g.lazy(()=>be(()=>import("./StaffGraphAbsolute-CLCaDvVX.js"),__vite__mapDeps([19,1,2,3,4,5,6,15,7]))),XS=g.lazy(()=>be(()=>import("./SubOrganisation-zvzsyOeU.js"),__vite__mapDeps([20,2,3,4,5,6,13,11]))),QS=g.lazy(()=>be(()=>import("./Audits-DcXTaRMU.js"),__vite__mapDeps([21,2,3,4,5,6,9,10,11]))),ZS=g.lazy(()=>be(()=>import("./BusinessContinuity-BqGcddh4.js"),__vite__mapDeps([22,2,3,4,5,6,9,10,11]))),KS=g.lazy(()=>be(()=>import("./CentralProcurement-BMUmHoyZ.js"),__vite__mapDeps([23,2,3,4,5,6,15,1,7]))),$S=g.lazy(()=>be(()=>import("./CorporateStrategy-CP8TjFmN.js"),__vite__mapDeps([24,2,3,4,5,6,13,11]))),FS=g.lazy(()=>be(()=>import("./CrisisExercises-xbYaGsrv.js"),__vite__mapDeps([25,2,3,4,5,6,9,10,11]))),JS=g.lazy(()=>be(()=>import("./CrisisManagement-56Z2YwTx.js"),__vite__mapDeps([26,2,3,4,5,6,9,10,11]))),PS=g.lazy(()=>be(()=>import("./EOSCListings-sOTW_FmU.js"),__vite__mapDeps([27,2,3,4,5,6,13,11]))),WS=g.lazy(()=>be(()=>import("./Policy-C0fykeNJ.js"),__vite__mapDeps([28,2,3,4,5,6,13,11]))),IS=g.lazy(()=>be(()=>import("./SecurityControls-B10PBLi6.js"),__vite__mapDeps([29,2,3,4,5,6,9,10,11]))),e2=g.lazy(()=>be(()=>import("./ServiceLevelTargets-C7oNFXVU.js"),__vite__mapDeps([30,2,3,4,5,6,9,10,11]))),t2=g.lazy(()=>be(()=>import("./ServiceManagementFramework-DeX-yEi-.js"),__vite__mapDeps([31,2,3,4,5,6,9,10,11]))),n2=g.lazy(()=>be(()=>import("./ServicesOffered-CfB4G-Ps.js"),__vite__mapDeps([32,2,3,4,5,6,33,11]))),a2=g.lazy(()=>be(()=>import("./ConnectedInstitutionsURLs-Bs2tapfG.js"),__vite__mapDeps([34,2,3,4,5,6,13,11]))),dl=g.lazy(()=>be(()=>import("./ConnectedUser-z-HdwgL6.js"),__vite__mapDeps([35,2,3,4,5,6,33,11]))),l2=g.lazy(()=>be(()=>import("./RemoteCampuses-W5kS5FWI.js"),__vite__mapDeps([36,2,3,4,5,6,11]))),i2=g.lazy(()=>be(()=>import("./AlienWave-AkIzVytY.js"),__vite__mapDeps([37,2,3,4,5,6,9,10,11]))),r2=g.lazy(()=>be(()=>import("./AlienWaveInternal-Bu7lZ_Lb.js"),__vite__mapDeps([38,2,3,4,5,6,9,10,11]))),u2=g.lazy(()=>be(()=>import("./Automation--jMOuNQ2.js"),__vite__mapDeps([39,2,3,4,5,6,10,11]))),c2=g.lazy(()=>be(()=>import("./CapacityCoreIP-B88yhdLX.js"),__vite__mapDeps([40,1,2,3,4,5,6,15,7]))),s2=g.lazy(()=>be(()=>import("./CapacityLargestLink-60HM0Osr.js"),__vite__mapDeps([41,1,2,3,4,5,6,15,7]))),o2=g.lazy(()=>be(()=>import("./CertificateProvider-BD7n0iWU.js"),__vite__mapDeps([42,2,3,4,5,6,9,10,11]))),Dy=g.lazy(()=>be(()=>import("./DarkFibreLease-cn3v1y2M.js"),__vite__mapDeps([43,1,2,3,4,5,6,7]))),f2=g.lazy(()=>be(()=>import("./DarkFibreInstalled-Dz0FBRNU.js"),__vite__mapDeps([44,1,2,3,4,5,6,7]))),d2=g.lazy(()=>be(()=>import("./ExternalConnections-BHYy-1Tx.js"),__vite__mapDeps([45,2,3,4,5,6,11]))),h2=g.lazy(()=>be(()=>import("./FibreLight-6pn3GQQo.js"),__vite__mapDeps([46,2,3,4,5,6,9,10,11]))),m2=g.lazy(()=>be(()=>import("./IRUDuration-1JiO-xsK.js"),__vite__mapDeps([47,1,2,3,4,5,6,7]))),y2=g.lazy(()=>be(()=>import("./MonitoringTools-BSsfHtzr.js"),__vite__mapDeps([48,2,3,4,5,6,9,10,11]))),p2=g.lazy(()=>be(()=>import("./NetworkFunctionVirtualisation-Bm2m0Hjx.js"),__vite__mapDeps([49,2,3,4,5,6,10,11]))),v2=g.lazy(()=>be(()=>import("./NetworkMapUrls-DfMDqGfZ.js"),__vite__mapDeps([50,2,3,4,5,6,13,11]))),g2=g.lazy(()=>be(()=>import("./NonRAndEPeer-iQoBgXBj.js"),__vite__mapDeps([51,1,2,3,4,5,6,15,7]))),E2=g.lazy(()=>be(()=>import("./OPsAutomation-DfRzIAxa.js"),__vite__mapDeps([52,2,3,4,5,6,9,10,11]))),b2=g.lazy(()=>be(()=>import("./PassiveMonitoring-67ZDt7r5.js"),__vite__mapDeps([53,2,3,4,5,6,9,10,11]))),S2=g.lazy(()=>be(()=>import("./PertTeam-DXjrNlij.js"),__vite__mapDeps([54,2,3,4,5,6,9,10,11]))),x2=g.lazy(()=>be(()=>import("./SiemVendors-BPyX0FuH.js"),__vite__mapDeps([55,2,3,4,5,6,9,10,11]))),_2=g.lazy(()=>be(()=>import("./TrafficRatio-BG2lCSjR.js"),__vite__mapDeps([56,1,2,3,4,5,6,18]))),R2=g.lazy(()=>be(()=>import("./TrafficUrl-DFcVMOnd.js"),__vite__mapDeps([57,2,3,4,5,6,13,11]))),T2=g.lazy(()=>be(()=>import("./TrafficVolume-y9Aps8Wr.js"),__vite__mapDeps([58,1,2,3,4,5,6,7]))),N2=g.lazy(()=>be(()=>import("./WeatherMap-Daqw0i4c.js"),__vite__mapDeps([59,2,3,4,5,6,13,11]))),Ua=g.lazy(()=>be(()=>import("./Services-B-YPBJn5.js"),__vite__mapDeps([60,2,3,4,5,6,11]))),C2=g.lazy(()=>be(()=>import("./Landing-Ce7P-oTU.js"),__vite__mapDeps([61,4,62,3,63,11]))),No=g.lazy(()=>be(()=>import("./SurveyContainerComponent-D_Yr9ovx.js"),__vite__mapDeps([64,65,66,67,62,3,68]))),j2=g.lazy(()=>be(()=>import("./SurveyManagementComponent-BCwGgCZy.js"),__vite__mapDeps([69,70,6,11,65,67,63,62,3]))),O2=g.lazy(()=>be(()=>import("./UserManagementComponent-BzxQZ5Vc.js"),__vite__mapDeps([71,65,62,3,5,70,6,11]))),D2=()=>{const l=Ke.c(9),{pathname:n}=Xn(),c=n!=="/";let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(oS,{}),l[0]=s):s=l[0];let u;l[1]!==c?(u=h.jsx("main",{className:"grow",children:c?h.jsx(T0,{}):h.jsx(Bp,{})}),l[1]=c,l[2]=u):u=l[2];let f;l[3]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(HS,{}),l[3]=f):f=l[3];let d;l[4]!==u?(d=h.jsxs(wE,{children:[s,u,f]}),l[4]=u,l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(hS,{}),l[6]=y):y=l[6];let v;return l[7]!==d?(v=h.jsxs(h.Fragment,{children:[d,y]}),l[7]=d,l[8]=v):v=l[8],v},w2=P0([{path:"",element:h.jsx(D2,{}),children:[{path:"/budget",element:h.jsx(BS,{})},{path:"/funding",element:h.jsx(YS,{})},{path:"/employment",element:h.jsx(Oy,{},"staffgraph")},{path:"/traffic-ratio",element:h.jsx(_2,{})},{path:"/roles",element:h.jsx(Oy,{roles:!0},"staffgraphroles")},{path:"/employee-count",element:h.jsx(GS,{})},{path:"/charging",element:h.jsx(qS,{})},{path:"/suborganisations",element:h.jsx(XS,{})},{path:"/parentorganisation",element:h.jsx(kS,{})},{path:"/ec-projects",element:h.jsx(VS,{})},{path:"/policy",element:h.jsx(WS,{})},{path:"/traffic-volume",element:h.jsx(T2,{})},{path:"/data",element:h.jsx(US,{})},{path:"/institutions-urls",element:h.jsx(a2,{})},{path:"/connected-proportion",element:h.jsx(dl,{page:Qt.ConnectedProportion},Qt.ConnectedProportion)},{path:"/connectivity-level",element:h.jsx(dl,{page:Qt.ConnectivityLevel},Qt.ConnectivityLevel)},{path:"/connectivity-growth",element:h.jsx(dl,{page:Qt.ConnectivityGrowth},Qt.ConnectivityGrowth)},{path:"/connection-carrier",element:h.jsx(dl,{page:Qt.ConnectionCarrier},Qt.ConnectionCarrier)},{path:"/connectivity-load",element:h.jsx(dl,{page:Qt.ConnectivityLoad},Qt.ConnectivityLoad)},{path:"/commercial-charging-level",element:h.jsx(dl,{page:Qt.CommercialChargingLevel},Qt.CommercialChargingLevel)},{path:"/commercial-connectivity",element:h.jsx(dl,{page:Qt.CommercialConnectivity},Qt.CommercialConnectivity)},{path:"/network-services",element:h.jsx(Ua,{category:Lt.network_services},Lt.network_services)},{path:"/isp-support-services",element:h.jsx(Ua,{category:Lt.isp_support},Lt.isp_support)},{path:"/security-services",element:h.jsx(Ua,{category:Lt.security},Lt.security)},{path:"/identity-services",element:h.jsx(Ua,{category:Lt.identity},Lt.identity)},{path:"/collaboration-services",element:h.jsx(Ua,{category:Lt.collaboration},Lt.collaboration)},{path:"/multimedia-services",element:h.jsx(Ua,{category:Lt.multimedia},Lt.multimedia)},{path:"/storage-and-hosting-services",element:h.jsx(Ua,{category:Lt.storage_and_hosting},Lt.storage_and_hosting)},{path:"/professional-services",element:h.jsx(Ua,{category:Lt.professional_services},Lt.professional_services)},{path:"/dark-fibre-lease",element:h.jsx(Dy,{national:!0},"darkfibrenational")},{path:"/dark-fibre-lease-international",element:h.jsx(Dy,{},"darkfibreinternational")},{path:"/dark-fibre-installed",element:h.jsx(f2,{})},{path:"/remote-campuses",element:h.jsx(l2,{})},{path:"/eosc-listings",element:h.jsx(PS,{})},{path:"/fibre-light",element:h.jsx(h2,{})},{path:"/monitoring-tools",element:h.jsx(y2,{})},{path:"/pert-team",element:h.jsx(S2,{})},{path:"/passive-monitoring",element:h.jsx(b2,{})},{path:"/alien-wave",element:h.jsx(i2,{})},{path:"/alien-wave-internal",element:h.jsx(r2,{})},{path:"/external-connections",element:h.jsx(d2,{})},{path:"/ops-automation",element:h.jsx(E2,{})},{path:"/network-automation",element:h.jsx(u2,{})},{path:"/traffic-stats",element:h.jsx(R2,{})},{path:"/weather-map",element:h.jsx(N2,{})},{path:"/network-map",element:h.jsx(v2,{})},{path:"/nfv",element:h.jsx(p2,{})},{path:"/certificate-providers",element:h.jsx(o2,{})},{path:"/siem-vendors",element:h.jsx(x2,{})},{path:"/capacity-largest-link",element:h.jsx(s2,{})},{path:"/capacity-core-ip",element:h.jsx(c2,{})},{path:"/non-rne-peers",element:h.jsx(g2,{})},{path:"/iru-duration",element:h.jsx(m2,{})},{path:"/audits",element:h.jsx(QS,{})},{path:"/business-continuity",element:h.jsx(ZS,{})},{path:"/crisis-management",element:h.jsx(JS,{})},{path:"/crisis-exercise",element:h.jsx(FS,{})},{path:"/central-procurement",element:h.jsx(KS,{})},{path:"/security-control",element:h.jsx(IS,{})},{path:"/services-offered",element:h.jsx(n2,{})},{path:"/service-management-framework",element:h.jsx(t2,{})},{path:"/service-level-targets",element:h.jsx(e2,{})},{path:"/corporate-strategy",element:h.jsx($S,{})},{path:"/survey/admin/surveys",element:h.jsx(j2,{})},{path:"/survey/admin/users",element:h.jsx(O2,{})},{path:"/survey/admin/inspect/:year",element:h.jsx(No,{loadFrom:"/api/response/inspect/"})},{path:"/survey/admin/try/:year",element:h.jsx(No,{loadFrom:"/api/response/try/"})},{path:"/survey/response/:year/:nren",element:h.jsx(No,{loadFrom:"/api/response/load/"})},{path:"/survey/*",element:h.jsx(C2,{})},{path:"/*",element:h.jsx(Bp,{})}]}]);function A2(){const l=Ke.c(1);let n;return l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("div",{className:"app",children:h.jsx(oE,{router:w2})}),l[0]=n):n=l[0],n}const M2=document.getElementById("root"),z2=a1.createRoot(M2);z2.render(h.jsx(Yt.StrictMode,{children:h.jsx(A2,{})}));export{zE as $,Ho as A,pb as B,ln as C,Xy as D,Ya as E,yE as F,MS as G,LS as H,jS as I,vE as J,OS as K,Tn as L,Iy as M,zS as N,wS as O,AS as P,Hp as Q,Rn as R,li as S,NS as T,V2 as U,SE as V,Du as W,DS as X,_S as Y,RS as Z,Yp as _,Qt as a,Lt as a0,Fo as a1,yr as a2,Gu as a3,wy as a4,B2 as a5,H2 as a6,be as a7,rb as a8,nb as a9,$u as aa,gl as ab,hl as ac,Mo as ad,Ba as ae,yl as af,ab as ag,U2 as ah,nf as ai,OE as aj,Y2 as b,Ke as c,k2 as d,rr as e,Yt as f,up as g,Qe as h,Ae as i,h as j,sb as k,by as l,Bu as m,Ob as n,Ku as o,tf as p,ob as q,g as r,ti as s,se as t,pl as u,lp as v,q2 as w,rp as x,Bo as y,BE as z}; +*/var dy;function AE(){return dy||(dy=1,function(l){(function(){var n={}.hasOwnProperty;function c(){for(var f="",d=0;d<arguments.length;d++){var y=arguments[d];y&&(f=u(f,s(y)))}return f}function s(f){if(typeof f=="string"||typeof f=="number")return f;if(typeof f!="object")return"";if(Array.isArray(f))return c.apply(null,f);if(f.toString!==Object.prototype.toString&&!f.toString.toString().includes("[native code]"))return f.toString();var d="";for(var y in f)n.call(f,y)&&f[y]&&(d=u(d,y));return d}function u(f,d){return d?f?f+" "+d:f+d:f}l.exports?(c.default=c,l.exports=c):window.classNames=c})()}(po)),po.exports}var ME=AE();const Ae=fr(ME);function zE(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.includes(s))continue;c[s]=l[s]}return c}function Ao(l,n){return Ao=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,s){return c.__proto__=s,c},Ao(l,n)}function LE(l,n){l.prototype=Object.create(n.prototype),l.prototype.constructor=l,Ao(l,n)}const UE=["xxl","xl","lg","md","sm","xs"],HE="xs",Zu=g.createContext({prefixes:{},breakpoints:UE,minBreakpoint:HE});function Qe(l,n){const{prefixes:c}=g.useContext(Zu);return l||c[n]||n}function tp(){const{breakpoints:l}=g.useContext(Zu);return l}function np(){const{minBreakpoint:l}=g.useContext(Zu);return l}function BE(){const{dir:l}=g.useContext(Zu);return l==="rtl"}function Ku(l){return l&&l.ownerDocument||document}function qE(l){var n=Ku(l);return n&&n.defaultView||window}function VE(l,n){return qE(l).getComputedStyle(l,n)}var YE=/([A-Z])/g;function kE(l){return l.replace(YE,"-$1").toLowerCase()}var GE=/^ms-/;function Ou(l){return kE(l).replace(GE,"-ms-")}var XE=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;function QE(l){return!!(l&&XE.test(l))}function gl(l,n){var c="",s="";if(typeof n=="string")return l.style.getPropertyValue(Ou(n))||VE(l).getPropertyValue(Ou(n));Object.keys(n).forEach(function(u){var f=n[u];!f&&f!==0?l.style.removeProperty(Ou(u)):QE(u)?s+=u+"("+f+") ":c+=Ou(u)+": "+f+";"}),s&&(c+="transform: "+s+";"),l.style.cssText+=";"+c}var vo={exports:{}},go,hy;function ZE(){if(hy)return go;hy=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return go=l,go}var Eo,my;function KE(){if(my)return Eo;my=1;var l=ZE();function n(){}function c(){}return c.resetWarningCache=n,Eo=function(){function s(d,y,v,p,b,R){if(R!==l){var S=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw S.name="Invariant Violation",S}}s.isRequired=s;function u(){return s}var f={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:u,element:s,elementType:s,instanceOf:u,node:s,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:c,resetWarningCache:n};return f.PropTypes=f,f},Eo}var yy;function $E(){return yy||(yy=1,vo.exports=KE()()),vo.exports}var FE=$E();const fa=fr(FE),py={disabled:!1},ap=Yt.createContext(null);var JE=function(n){return n.scrollTop},cr="unmounted",hl="exited",Ba="entering",yl="entered",Mo="exiting",ha=function(l){LE(n,l);function n(s,u){var f;f=l.call(this,s,u)||this;var d=u,y=d&&!d.isMounting?s.enter:s.appear,v;return f.appearStatus=null,s.in?y?(v=hl,f.appearStatus=Ba):v=yl:s.unmountOnExit||s.mountOnEnter?v=cr:v=hl,f.state={status:v},f.nextCallback=null,f}n.getDerivedStateFromProps=function(u,f){var d=u.in;return d&&f.status===cr?{status:hl}:null};var c=n.prototype;return c.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},c.componentDidUpdate=function(u){var f=null;if(u!==this.props){var d=this.state.status;this.props.in?d!==Ba&&d!==yl&&(f=Ba):(d===Ba||d===yl)&&(f=Mo)}this.updateStatus(!1,f)},c.componentWillUnmount=function(){this.cancelNextCallback()},c.getTimeouts=function(){var u=this.props.timeout,f,d,y;return f=d=y=u,u!=null&&typeof u!="number"&&(f=u.exit,d=u.enter,y=u.appear!==void 0?u.appear:d),{exit:f,enter:d,appear:y}},c.updateStatus=function(u,f){if(u===void 0&&(u=!1),f!==null)if(this.cancelNextCallback(),f===Ba){if(this.props.unmountOnExit||this.props.mountOnEnter){var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this);d&&JE(d)}this.performEnter(u)}else this.performExit();else this.props.unmountOnExit&&this.state.status===hl&&this.setState({status:cr})},c.performEnter=function(u){var f=this,d=this.props.enter,y=this.context?this.context.isMounting:u,v=this.props.nodeRef?[y]:[ii.findDOMNode(this),y],p=v[0],b=v[1],R=this.getTimeouts(),S=y?R.appear:R.enter;if(!u&&!d||py.disabled){this.safeSetState({status:yl},function(){f.props.onEntered(p)});return}this.props.onEnter(p,b),this.safeSetState({status:Ba},function(){f.props.onEntering(p,b),f.onTransitionEnd(S,function(){f.safeSetState({status:yl},function(){f.props.onEntered(p,b)})})})},c.performExit=function(){var u=this,f=this.props.exit,d=this.getTimeouts(),y=this.props.nodeRef?void 0:ii.findDOMNode(this);if(!f||py.disabled){this.safeSetState({status:hl},function(){u.props.onExited(y)});return}this.props.onExit(y),this.safeSetState({status:Mo},function(){u.props.onExiting(y),u.onTransitionEnd(d.exit,function(){u.safeSetState({status:hl},function(){u.props.onExited(y)})})})},c.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},c.safeSetState=function(u,f){f=this.setNextCallback(f),this.setState(u,f)},c.setNextCallback=function(u){var f=this,d=!0;return this.nextCallback=function(y){d&&(d=!1,f.nextCallback=null,u(y))},this.nextCallback.cancel=function(){d=!1},this.nextCallback},c.onTransitionEnd=function(u,f){this.setNextCallback(f);var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this),y=u==null&&!this.props.addEndListener;if(!d||y){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var v=this.props.nodeRef?[this.nextCallback]:[d,this.nextCallback],p=v[0],b=v[1];this.props.addEndListener(p,b)}u!=null&&setTimeout(this.nextCallback,u)},c.render=function(){var u=this.state.status;if(u===cr)return null;var f=this.props,d=f.children;f.in,f.mountOnEnter,f.unmountOnExit,f.appear,f.enter,f.exit,f.timeout,f.addEndListener,f.onEnter,f.onEntering,f.onEntered,f.onExit,f.onExiting,f.onExited,f.nodeRef;var y=zE(f,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Yt.createElement(ap.Provider,{value:null},typeof d=="function"?d(u,y):Yt.cloneElement(Yt.Children.only(d),y))},n}(Yt.Component);ha.contextType=ap;ha.propTypes={};function ei(){}ha.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ei,onEntering:ei,onEntered:ei,onExit:ei,onExiting:ei,onExited:ei};ha.UNMOUNTED=cr;ha.EXITED=hl;ha.ENTERING=Ba;ha.ENTERED=yl;ha.EXITING=Mo;function PE(l){return l.code==="Escape"||l.keyCode===27}function WE(){const l=g.version.split(".");return{major:+l[0],minor:+l[1],patch:+l[2]}}function $u(l){if(!l||typeof l=="function")return null;const{major:n}=WE();return n>=19?l.props.ref:l.ref}const ri=!!(typeof window<"u"&&window.document&&window.document.createElement);var zo=!1,Lo=!1;try{var bo={get passive(){return zo=!0},get once(){return Lo=zo=!0}};ri&&(window.addEventListener("test",bo,bo),window.removeEventListener("test",bo,!0))}catch{}function lp(l,n,c,s){if(s&&typeof s!="boolean"&&!Lo){var u=s.once,f=s.capture,d=c;!Lo&&u&&(d=c.__once||function y(v){this.removeEventListener(n,y,f),c.call(this,v)},c.__once=d),l.addEventListener(n,d,zo?s:f)}l.addEventListener(n,c,s)}function Uo(l,n,c,s){var u=s&&typeof s!="boolean"?s.capture:s;l.removeEventListener(n,c,u),c.__once&&l.removeEventListener(n,c.__once,u)}function Bu(l,n,c,s){return lp(l,n,c,s),function(){Uo(l,n,c,s)}}function IE(l,n,c,s){if(s===void 0&&(s=!0),l){var u=document.createEvent("HTMLEvents");u.initEvent(n,c,s),l.dispatchEvent(u)}}function eb(l){var n=gl(l,"transitionDuration")||"",c=n.indexOf("ms")===-1?1e3:1;return parseFloat(n)*c}function tb(l,n,c){c===void 0&&(c=5);var s=!1,u=setTimeout(function(){s||IE(l,"transitionend",!0)},n+c),f=Bu(l,"transitionend",function(){s=!0},{once:!0});return function(){clearTimeout(u),f()}}function ip(l,n,c,s){c==null&&(c=eb(l)||0);var u=tb(l,c,s),f=Bu(l,"transitionend",n);return function(){u(),f()}}function vy(l,n){const c=gl(l,n)||"",s=c.indexOf("ms")===-1?1e3:1;return parseFloat(c)*s}function nb(l,n){const c=vy(l,"transitionDuration"),s=vy(l,"transitionDelay"),u=ip(l,f=>{f.target===l&&(u(),n(f))},c+s)}function ab(l){l.offsetHeight}const gy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function lb(l,n){const c=gy(l),s=gy(n);return u=>{c&&c(u),s&&s(u)}}function rp(l,n){return g.useMemo(()=>lb(l,n),[l,n])}function ib(l){return l&&"setState"in l?ii.findDOMNode(l):l??null}const rb=Yt.forwardRef(({onEnter:l,onEntering:n,onEntered:c,onExit:s,onExiting:u,onExited:f,addEndListener:d,children:y,childRef:v,...p},b)=>{const R=g.useRef(null),S=rp(R,v),_=N=>{S(ib(N))},O=N=>W=>{N&&R.current&&N(R.current,W)},H=g.useCallback(O(l),[l]),U=g.useCallback(O(n),[n]),M=g.useCallback(O(c),[c]),q=g.useCallback(O(s),[s]),Y=g.useCallback(O(u),[u]),J=g.useCallback(O(f),[f]),G=g.useCallback(O(d),[d]);return h.jsx(ha,{ref:b,...p,onEnter:H,onEntered:M,onEntering:U,onExit:q,onExited:J,onExiting:Y,addEndListener:G,nodeRef:R,children:typeof y=="function"?(N,W)=>y(N,{...W,ref:_}):Yt.cloneElement(y,{ref:_})})});function ub(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function Ho(l){const n=ub(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}const Po=l=>g.forwardRef((n,c)=>h.jsx("div",{...n,ref:c,className:Ae(n.className,l)}));function cb(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function pl(l){const n=cb(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}function sb(){const l=g.useRef(!0),n=g.useRef(()=>l.current);return g.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),n.current}function ob(l){const n=g.useRef(null);return g.useEffect(()=>{n.current=l}),n.current}const fb=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",db=typeof document<"u",Ey=db||fb?g.useLayoutEffect:g.useEffect,hb=["as","disabled"];function mb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function yb(l){return!l||l.trim()==="#"}function up({tagName:l,disabled:n,href:c,target:s,rel:u,role:f,onClick:d,tabIndex:y=0,type:v}){l||(c!=null||s!=null||u!=null?l="a":l="button");const p={tagName:l};if(l==="button")return[{type:v||"button",disabled:n},p];const b=S=>{if((n||l==="a"&&yb(c))&&S.preventDefault(),n){S.stopPropagation();return}d==null||d(S)},R=S=>{S.key===" "&&(S.preventDefault(),b(S))};return l==="a"&&(c||(c="#"),n&&(c=void 0)),[{role:f??"button",disabled:void 0,tabIndex:n?void 0:y,href:c,target:l==="a"?s:void 0,"aria-disabled":n||void 0,rel:l==="a"?u:void 0,onClick:b,onKeyDown:R},p]}const pb=g.forwardRef((l,n)=>{let{as:c,disabled:s}=l,u=mb(l,hb);const[f,{tagName:d}]=up(Object.assign({tagName:c,disabled:s},u));return h.jsx(d,Object.assign({},u,f,{ref:n}))});pb.displayName="Button";const vb={[Ba]:"show",[yl]:"show"},Wo=g.forwardRef(({className:l,children:n,transitionClasses:c={},onEnter:s,...u},f)=>{const d={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1,...u},y=g.useCallback((v,p)=>{ab(v),s==null||s(v,p)},[s]);return h.jsx(rb,{ref:f,addEndListener:nb,...d,onEnter:y,childRef:$u(n),children:(v,p)=>g.cloneElement(n,{...p,className:Ae("fade",l,n.props.className,vb[v],c[v])})})});Wo.displayName="Fade";const gb={"aria-label":fa.string,onClick:fa.func,variant:fa.oneOf(["white"])},Io=g.forwardRef(({className:l,variant:n,"aria-label":c="Close",...s},u)=>h.jsx("button",{ref:u,type:"button",className:Ae("btn-close",n&&`btn-close-${n}`,l),"aria-label":c,...s}));Io.displayName="CloseButton";Io.propTypes=gb;const Bo=g.forwardRef(({as:l,bsPrefix:n,variant:c="primary",size:s,active:u=!1,disabled:f=!1,className:d,...y},v)=>{const p=Qe(n,"btn"),[b,{tagName:R}]=up({tagName:l,disabled:f,...y}),S=R;return h.jsx(S,{...b,...y,ref:v,disabled:f,className:Ae(d,p,u&&"active",c&&`${p}-${c}`,s&&`${p}-${s}`,y.href&&f&&"disabled")})});Bo.displayName="Button";const ef=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));ef.displayName="CardBody";const cp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));cp.displayName="CardFooter";const sp=g.createContext(null);sp.displayName="CardHeaderContext";const op=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"card-header"),d=g.useMemo(()=>({cardHeaderBsPrefix:f}),[f]);return h.jsx(sp.Provider,{value:d,children:h.jsx(c,{ref:u,...s,className:Ae(n,f)})})});op.displayName="CardHeader";const fp=g.forwardRef(({bsPrefix:l,className:n,variant:c,as:s="img",...u},f)=>{const d=Qe(l,"card-img");return h.jsx(s,{ref:f,className:Ae(c?`${d}-${c}`:d,n),...u})});fp.displayName="CardImg";const dp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-img-overlay"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));dp.displayName="CardImgOverlay";const hp=g.forwardRef(({className:l,bsPrefix:n,as:c="a",...s},u)=>(n=Qe(n,"card-link"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));hp.displayName="CardLink";const Eb=Po("h6"),mp=g.forwardRef(({className:l,bsPrefix:n,as:c=Eb,...s},u)=>(n=Qe(n,"card-subtitle"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));mp.displayName="CardSubtitle";const yp=g.forwardRef(({className:l,bsPrefix:n,as:c="p",...s},u)=>(n=Qe(n,"card-text"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));yp.displayName="CardText";const bb=Po("h5"),pp=g.forwardRef(({className:l,bsPrefix:n,as:c=bb,...s},u)=>(n=Qe(n,"card-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));pp.displayName="CardTitle";const vp=g.forwardRef(({bsPrefix:l,className:n,bg:c,text:s,border:u,body:f=!1,children:d,as:y="div",...v},p)=>{const b=Qe(l,"card");return h.jsx(y,{ref:p,...v,className:Ae(n,b,c&&`bg-${c}`,s&&`text-${s}`,u&&`border-${u}`),children:f?h.jsx(ef,{children:d}):d})});vp.displayName="Card";const Yn=Object.assign(vp,{Img:fp,Title:pp,Subtitle:mp,Body:ef,Link:hp,Text:yp,Header:op,Footer:cp,ImgOverlay:dp});function Sb(l){const n=g.useRef(l);return n.current=l,n}function xb(l){const n=Sb(l);g.useEffect(()=>()=>n.current(),[])}function _b(l,n){return g.Children.toArray(l).some(c=>g.isValidElement(c)&&c.type===n)}function Rb({as:l,bsPrefix:n,className:c,...s}){n=Qe(n,"col");const u=tp(),f=np(),d=[],y=[];return u.forEach(v=>{const p=s[v];delete s[v];let b,R,S;typeof p=="object"&&p!=null?{span:b,offset:R,order:S}=p:b=p;const _=v!==f?`-${v}`:"";b&&d.push(b===!0?`${n}${_}`:`${n}${_}-${b}`),S!=null&&y.push(`order${_}-${S}`),R!=null&&y.push(`offset${_}-${R}`)}),[{...s,className:Ae(c,...d,...y)},{as:l,bsPrefix:n,spans:d}]}const ln=g.forwardRef((l,n)=>{const[{className:c,...s},{as:u="div",bsPrefix:f,spans:d}]=Rb(l);return h.jsx(u,{...s,ref:n,className:Ae(c,!d.length&&f)})});ln.displayName="Col";const Ya=g.forwardRef(({bsPrefix:l,fluid:n=!1,as:c="div",className:s,...u},f)=>{const d=Qe(l,"container"),y=typeof n=="string"?`-${n}`:"-fluid";return h.jsx(c,{ref:f,...u,className:Ae(s,n?`${d}${y}`:d)})});Ya.displayName="Container";var Tb=Function.prototype.bind.call(Function.prototype.call,[].slice);function ti(l,n){return Tb(l.querySelectorAll(n))}function by(l,n){if(l.contains)return l.contains(n);if(l.compareDocumentPosition)return l===n||!!(l.compareDocumentPosition(n)&16)}var So,Sy;function Nb(){if(Sy)return So;Sy=1;var l=function(){};return So=l,So}var Cb=Nb();const q2=fr(Cb),jb="data-rr-ui-";function Ob(l){return`${jb}${l}`}const gp=g.createContext(ri?window:void 0);gp.Provider;function tf(){return g.useContext(gp)}const Db={type:fa.string,tooltip:fa.bool,as:fa.elementType},Fu=g.forwardRef(({as:l="div",className:n,type:c="valid",tooltip:s=!1,...u},f)=>h.jsx(l,{...u,ref:f,className:Ae(n,`${c}-${s?"tooltip":"feedback"}`)}));Fu.displayName="Feedback";Fu.propTypes=Db;const da=g.createContext({}),nf=g.forwardRef(({id:l,bsPrefix:n,className:c,type:s="checkbox",isValid:u=!1,isInvalid:f=!1,as:d="input",...y},v)=>{const{controlId:p}=g.useContext(da);return n=Qe(n,"form-check-input"),h.jsx(d,{...y,ref:v,type:s,id:l||p,className:Ae(c,n,u&&"is-valid",f&&"is-invalid")})});nf.displayName="FormCheckInput";const qu=g.forwardRef(({bsPrefix:l,className:n,htmlFor:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-check-label"),h.jsx("label",{...s,ref:u,htmlFor:c||f,className:Ae(n,l)})});qu.displayName="FormCheckLabel";const Ep=g.forwardRef(({id:l,bsPrefix:n,bsSwitchPrefix:c,inline:s=!1,reverse:u=!1,disabled:f=!1,isValid:d=!1,isInvalid:y=!1,feedbackTooltip:v=!1,feedback:p,feedbackType:b,className:R,style:S,title:_="",type:O="checkbox",label:H,children:U,as:M="input",...q},Y)=>{n=Qe(n,"form-check"),c=Qe(c,"form-switch");const{controlId:J}=g.useContext(da),G=g.useMemo(()=>({controlId:l||J}),[J,l]),N=!U&&H!=null&&H!==!1||_b(U,qu),W=h.jsx(nf,{...q,type:O==="switch"?"checkbox":O,ref:Y,isValid:d,isInvalid:y,disabled:f,as:M});return h.jsx(da.Provider,{value:G,children:h.jsx("div",{style:S,className:Ae(R,N&&n,s&&`${n}-inline`,u&&`${n}-reverse`,O==="switch"&&c),children:U||h.jsxs(h.Fragment,{children:[W,N&&h.jsx(qu,{title:_,children:H}),p&&h.jsx(Fu,{type:b,tooltip:v,children:p})]})})})});Ep.displayName="FormCheck";const Vu=Object.assign(Ep,{Input:nf,Label:qu}),bp=g.forwardRef(({bsPrefix:l,type:n,size:c,htmlSize:s,id:u,className:f,isValid:d=!1,isInvalid:y=!1,plaintext:v,readOnly:p,as:b="input",...R},S)=>{const{controlId:_}=g.useContext(da);return l=Qe(l,"form-control"),h.jsx(b,{...R,type:n,size:s,ref:S,readOnly:p,id:u||_,className:Ae(f,v?`${l}-plaintext`:l,c&&`${l}-${c}`,n==="color"&&`${l}-color`,d&&"is-valid",y&&"is-invalid")})});bp.displayName="FormControl";const wb=Object.assign(bp,{Feedback:Fu}),Sp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"form-floating"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Sp.displayName="FormFloating";const af=g.forwardRef(({controlId:l,as:n="div",...c},s)=>{const u=g.useMemo(()=>({controlId:l}),[l]);return h.jsx(da.Provider,{value:u,children:h.jsx(n,{...c,ref:s})})});af.displayName="FormGroup";const xp=g.forwardRef(({as:l="label",bsPrefix:n,column:c=!1,visuallyHidden:s=!1,className:u,htmlFor:f,...d},y)=>{const{controlId:v}=g.useContext(da);n=Qe(n,"form-label");let p="col-form-label";typeof c=="string"&&(p=`${p} ${p}-${c}`);const b=Ae(u,n,s&&"visually-hidden",c&&p);return f=f||v,c?h.jsx(ln,{ref:y,as:"label",className:b,htmlFor:f,...d}):h.jsx(l,{ref:y,className:b,htmlFor:f,...d})});xp.displayName="FormLabel";const _p=g.forwardRef(({bsPrefix:l,className:n,id:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-range"),h.jsx("input",{...s,type:"range",ref:u,className:Ae(n,l),id:c||f})});_p.displayName="FormRange";const Rp=g.forwardRef(({bsPrefix:l,size:n,htmlSize:c,className:s,isValid:u=!1,isInvalid:f=!1,id:d,...y},v)=>{const{controlId:p}=g.useContext(da);return l=Qe(l,"form-select"),h.jsx("select",{...y,size:c,ref:v,className:Ae(s,l,n&&`${l}-${n}`,u&&"is-valid",f&&"is-invalid"),id:d||p})});Rp.displayName="FormSelect";const Tp=g.forwardRef(({bsPrefix:l,className:n,as:c="small",muted:s,...u},f)=>(l=Qe(l,"form-text"),h.jsx(c,{...u,ref:f,className:Ae(n,l,s&&"text-muted")})));Tp.displayName="FormText";const Np=g.forwardRef((l,n)=>h.jsx(Vu,{...l,ref:n,type:"switch"}));Np.displayName="Switch";const Ab=Object.assign(Np,{Input:Vu.Input,Label:Vu.Label}),Cp=g.forwardRef(({bsPrefix:l,className:n,children:c,controlId:s,label:u,...f},d)=>(l=Qe(l,"form-floating"),h.jsxs(af,{ref:d,className:Ae(n,l),controlId:s,...f,children:[c,h.jsx("label",{htmlFor:s,children:u})]})));Cp.displayName="FloatingLabel";const Mb={_ref:fa.any,validated:fa.bool,as:fa.elementType},lf=g.forwardRef(({className:l,validated:n,as:c="form",...s},u)=>h.jsx(c,{...s,ref:u,className:Ae(l,n&&"was-validated")}));lf.displayName="Form";lf.propTypes=Mb;const Du=Object.assign(lf,{Group:af,Control:wb,Floating:Sp,Check:Vu,Switch:Ab,Label:xp,Text:Tp,Range:_p,Select:Rp,FloatingLabel:Cp}),xy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function zb(l,n){const c=xy(l),s=xy(n);return u=>{c&&c(u),s&&s(u)}}function rf(l,n){return g.useMemo(()=>zb(l,n),[l,n])}var wu;function _y(l){if((!wu&&wu!==0||l)&&ri){var n=document.createElement("div");n.style.position="absolute",n.style.top="-9999px",n.style.width="50px",n.style.height="50px",n.style.overflow="scroll",document.body.appendChild(n),wu=n.offsetWidth-n.clientWidth,document.body.removeChild(n)}return wu}function Lb(){return g.useState(null)}function xo(l){l===void 0&&(l=Ku());try{var n=l.activeElement;return!n||!n.nodeName?null:n}catch{return l.body}}function Ub(l){const n=g.useRef(l);return n.current=l,n}function Hb(l){const n=Ub(l);g.useEffect(()=>()=>n.current(),[])}function Bb(l=document){const n=l.defaultView;return Math.abs(n.innerWidth-l.documentElement.clientWidth)}const Ry=Ob("modal-open");class uf{constructor({ownerDocument:n,handleContainerOverflow:c=!0,isRTL:s=!1}={}){this.handleContainerOverflow=c,this.isRTL=s,this.modals=[],this.ownerDocument=n}getScrollbarWidth(){return Bb(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(n){}removeModalAttributes(n){}setContainerStyle(n){const c={overflow:"hidden"},s=this.isRTL?"paddingLeft":"paddingRight",u=this.getElement();n.style={overflow:u.style.overflow,[s]:u.style[s]},n.scrollBarWidth&&(c[s]=`${parseInt(gl(u,s)||"0",10)+n.scrollBarWidth}px`),u.setAttribute(Ry,""),gl(u,c)}reset(){[...this.modals].forEach(n=>this.remove(n))}removeContainerStyle(n){const c=this.getElement();c.removeAttribute(Ry),Object.assign(c.style,n.style)}add(n){let c=this.modals.indexOf(n);return c!==-1||(c=this.modals.length,this.modals.push(n),this.setModalAttributes(n),c!==0)||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),c}remove(n){const c=this.modals.indexOf(n);c!==-1&&(this.modals.splice(c,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(n))}isTopModal(n){return!!this.modals.length&&this.modals[this.modals.length-1]===n}}const _o=(l,n)=>ri?l==null?(n||Ku()).body:(typeof l=="function"&&(l=l()),l&&"current"in l&&(l=l.current),l&&("nodeType"in l||l.getBoundingClientRect)?l:null):null;function qb(l,n){const c=tf(),[s,u]=g.useState(()=>_o(l,c==null?void 0:c.document));if(!s){const f=_o(l);f&&u(f)}return g.useEffect(()=>{},[n,s]),g.useEffect(()=>{const f=_o(l);f!==s&&u(f)},[l,s]),s}function Vb({children:l,in:n,onExited:c,mountOnEnter:s,unmountOnExit:u}){const f=g.useRef(null),d=g.useRef(n),y=pl(c);g.useEffect(()=>{n?d.current=!0:y(f.current)},[n,y]);const v=rf(f,$u(l)),p=g.cloneElement(l,{ref:v});return n?p:u||!d.current&&s?null:p}const Yb=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"];function kb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function Gb(l){let{onEnter:n,onEntering:c,onEntered:s,onExit:u,onExiting:f,onExited:d,addEndListener:y,children:v}=l,p=kb(l,Yb);const b=g.useRef(null),R=rf(b,$u(v)),S=J=>G=>{J&&b.current&&J(b.current,G)},_=g.useCallback(S(n),[n]),O=g.useCallback(S(c),[c]),H=g.useCallback(S(s),[s]),U=g.useCallback(S(u),[u]),M=g.useCallback(S(f),[f]),q=g.useCallback(S(d),[d]),Y=g.useCallback(S(y),[y]);return Object.assign({},p,{nodeRef:b},n&&{onEnter:_},c&&{onEntering:O},s&&{onEntered:H},u&&{onExit:U},f&&{onExiting:M},d&&{onExited:q},y&&{addEndListener:Y},{children:typeof v=="function"?(J,G)=>v(J,Object.assign({},G,{ref:R})):g.cloneElement(v,{ref:R})})}const Xb=["component"];function Qb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}const Zb=g.forwardRef((l,n)=>{let{component:c}=l,s=Qb(l,Xb);const u=Gb(s);return h.jsx(c,Object.assign({ref:n},u))});function Kb({in:l,onTransition:n}){const c=g.useRef(null),s=g.useRef(!0),u=pl(n);return Ey(()=>{if(!c.current)return;let f=!1;return u({in:l,element:c.current,initial:s.current,isStale:()=>f}),()=>{f=!0}},[l,u]),Ey(()=>(s.current=!1,()=>{s.current=!0}),[]),c}function $b({children:l,in:n,onExited:c,onEntered:s,transition:u}){const[f,d]=g.useState(!n);n&&f&&d(!1);const y=Kb({in:!!n,onTransition:p=>{const b=()=>{p.isStale()||(p.in?s==null||s(p.element,p.initial):(d(!0),c==null||c(p.element)))};Promise.resolve(u(p)).then(b,R=>{throw p.in||d(!0),R})}}),v=rf(y,$u(l));return f&&!n?null:g.cloneElement(l,{ref:v})}function Ty(l,n,c){return l?h.jsx(Zb,Object.assign({},c,{component:l})):n?h.jsx($b,Object.assign({},c,{transition:n})):h.jsx(Vb,Object.assign({},c))}const Fb=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];function Jb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}let Ro;function Pb(l){return Ro||(Ro=new uf({ownerDocument:l==null?void 0:l.document})),Ro}function Wb(l){const n=tf(),c=l||Pb(n),s=g.useRef({dialog:null,backdrop:null});return Object.assign(s.current,{add:()=>c.add(s.current),remove:()=>c.remove(s.current),isTopModal:()=>c.isTopModal(s.current),setDialogRef:g.useCallback(u=>{s.current.dialog=u},[]),setBackdropRef:g.useCallback(u=>{s.current.backdrop=u},[])})}const jp=g.forwardRef((l,n)=>{let{show:c=!1,role:s="dialog",className:u,style:f,children:d,backdrop:y=!0,keyboard:v=!0,onBackdropClick:p,onEscapeKeyDown:b,transition:R,runTransition:S,backdropTransition:_,runBackdropTransition:O,autoFocus:H=!0,enforceFocus:U=!0,restoreFocus:M=!0,restoreFocusOptions:q,renderDialog:Y,renderBackdrop:J=De=>h.jsx("div",Object.assign({},De)),manager:G,container:N,onShow:W,onHide:ie=()=>{},onExit:X,onExited:I,onExiting:de,onEnter:Ne,onEntering:Ye,onEntered:Be}=l,ze=Jb(l,Fb);const K=tf(),ce=qb(N),ne=Wb(G),Re=sb(),T=ob(c),[Q,le]=g.useState(!c),te=g.useRef(null);g.useImperativeHandle(n,()=>ne,[ne]),ri&&!T&&c&&(te.current=xo(K==null?void 0:K.document)),c&&Q&&le(!1);const P=pl(()=>{if(ne.add(),Ee.current=Bu(document,"keydown",Ce),Le.current=Bu(document,"focus",()=>setTimeout(ye),!0),W&&W(),H){var De,Rt;const St=xo((De=(Rt=ne.dialog)==null?void 0:Rt.ownerDocument)!=null?De:K==null?void 0:K.document);ne.dialog&&St&&!by(ne.dialog,St)&&(te.current=St,ne.dialog.focus())}}),ge=pl(()=>{if(ne.remove(),Ee.current==null||Ee.current(),Le.current==null||Le.current(),M){var De;(De=te.current)==null||De.focus==null||De.focus(q),te.current=null}});g.useEffect(()=>{!c||!ce||P()},[c,ce,P]),g.useEffect(()=>{Q&&ge()},[Q,ge]),Hb(()=>{ge()});const ye=pl(()=>{if(!U||!Re()||!ne.isTopModal())return;const De=xo(K==null?void 0:K.document);ne.dialog&&De&&!by(ne.dialog,De)&&ne.dialog.focus()}),Je=pl(De=>{De.target===De.currentTarget&&(p==null||p(De),y===!0&&ie())}),Ce=pl(De=>{v&&PE(De)&&ne.isTopModal()&&(b==null||b(De),De.defaultPrevented||ie())}),Le=g.useRef(),Ee=g.useRef(),Ze=(...De)=>{le(!0),I==null||I(...De)};if(!ce)return null;const vt=Object.assign({role:s,ref:ne.setDialogRef,"aria-modal":s==="dialog"?!0:void 0},ze,{style:f,className:u,tabIndex:-1});let it=Y?Y(vt):h.jsx("div",Object.assign({},vt,{children:g.cloneElement(d,{role:"document"})}));it=Ty(R,S,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!c,onExit:X,onExiting:de,onExited:Ze,onEnter:Ne,onEntering:Ye,onEntered:Be,children:it});let lt=null;return y&&(lt=J({ref:ne.setBackdropRef,onClick:Je}),lt=Ty(_,O,{in:!!c,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:lt})),h.jsx(h.Fragment,{children:ii.createPortal(h.jsxs(h.Fragment,{children:[lt,it]}),ce)})});jp.displayName="Modal";const Ib=Object.assign(jp,{Manager:uf});function eS(l,n){return l.classList?l.classList.contains(n):(" "+(l.className.baseVal||l.className)+" ").indexOf(" "+n+" ")!==-1}function tS(l,n){l.classList?l.classList.add(n):eS(l,n)||(typeof l.className=="string"?l.className=l.className+" "+n:l.setAttribute("class",(l.className&&l.className.baseVal||"")+" "+n))}function Ny(l,n){return l.replace(new RegExp("(^|\\s)"+n+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function nS(l,n){l.classList?l.classList.remove(n):typeof l.className=="string"?l.className=Ny(l.className,n):l.setAttribute("class",Ny(l.className&&l.className.baseVal||"",n))}const ni={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"};class aS extends uf{adjustAndStore(n,c,s){const u=c.style[n];c.dataset[n]=u,gl(c,{[n]:`${parseFloat(gl(c,n))+s}px`})}restore(n,c){const s=c.dataset[n];s!==void 0&&(delete c.dataset[n],gl(c,{[n]:s}))}setContainerStyle(n){super.setContainerStyle(n);const c=this.getElement();if(tS(c,"modal-open"),!n.scrollBarWidth)return;const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.adjustAndStore(s,f,n.scrollBarWidth)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.adjustAndStore(u,f,-n.scrollBarWidth)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.adjustAndStore(u,f,n.scrollBarWidth))}removeContainerStyle(n){super.removeContainerStyle(n);const c=this.getElement();nS(c,"modal-open");const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.restore(s,f)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.restore(u,f)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.restore(u,f))}}let To;function lS(l){return To||(To=new aS(l)),To}const Op=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Op.displayName="ModalBody";const Dp=g.createContext({onHide(){}}),cf=g.forwardRef(({bsPrefix:l,className:n,contentClassName:c,centered:s,size:u,fullscreen:f,children:d,scrollable:y,...v},p)=>{l=Qe(l,"modal");const b=`${l}-dialog`,R=typeof f=="string"?`${l}-fullscreen-${f}`:`${l}-fullscreen`;return h.jsx("div",{...v,ref:p,className:Ae(b,n,u&&`${l}-${u}`,s&&`${b}-centered`,y&&`${b}-scrollable`,f&&R),children:h.jsx("div",{className:Ae(`${l}-content`,c),children:d})})});cf.displayName="ModalDialog";const wp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));wp.displayName="ModalFooter";const iS=g.forwardRef(({closeLabel:l="Close",closeVariant:n,closeButton:c=!1,onHide:s,children:u,...f},d)=>{const y=g.useContext(Dp),v=Ho(()=>{y==null||y.onHide(),s==null||s()});return h.jsxs("div",{ref:d,...f,children:[u,c&&h.jsx(Io,{"aria-label":l,variant:n,onClick:v})]})}),Ap=g.forwardRef(({bsPrefix:l,className:n,closeLabel:c="Close",closeButton:s=!1,...u},f)=>(l=Qe(l,"modal-header"),h.jsx(iS,{ref:f,...u,className:Ae(n,l),closeLabel:c,closeButton:s})));Ap.displayName="ModalHeader";const rS=Po("h4"),Mp=g.forwardRef(({className:l,bsPrefix:n,as:c=rS,...s},u)=>(n=Qe(n,"modal-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Mp.displayName="ModalTitle";function uS(l){return h.jsx(Wo,{...l,timeout:null})}function cS(l){return h.jsx(Wo,{...l,timeout:null})}const zp=g.forwardRef(({bsPrefix:l,className:n,style:c,dialogClassName:s,contentClassName:u,children:f,dialogAs:d=cf,"data-bs-theme":y,"aria-labelledby":v,"aria-describedby":p,"aria-label":b,show:R=!1,animation:S=!0,backdrop:_=!0,keyboard:O=!0,onEscapeKeyDown:H,onShow:U,onHide:M,container:q,autoFocus:Y=!0,enforceFocus:J=!0,restoreFocus:G=!0,restoreFocusOptions:N,onEntered:W,onExit:ie,onExiting:X,onEnter:I,onEntering:de,onExited:Ne,backdropClassName:Ye,manager:Be,...ze},K)=>{const[ce,ne]=g.useState({}),[Re,T]=g.useState(!1),Q=g.useRef(!1),le=g.useRef(!1),te=g.useRef(null),[P,ge]=Lb(),ye=rp(K,ge),Je=Ho(M),Ce=BE();l=Qe(l,"modal");const Le=g.useMemo(()=>({onHide:Je}),[Je]);function Ee(){return Be||lS({isRTL:Ce})}function Ze(_e){if(!ri)return;const Ie=Ee().getScrollbarWidth()>0,kt=_e.scrollHeight>Ku(_e).documentElement.clientHeight;ne({paddingRight:Ie&&!kt?_y():void 0,paddingLeft:!Ie&&kt?_y():void 0})}const vt=Ho(()=>{P&&Ze(P.dialog)});xb(()=>{Uo(window,"resize",vt),te.current==null||te.current()});const it=()=>{Q.current=!0},lt=_e=>{Q.current&&P&&_e.target===P.dialog&&(le.current=!0),Q.current=!1},De=()=>{T(!0),te.current=ip(P.dialog,()=>{T(!1)})},Rt=_e=>{_e.target===_e.currentTarget&&De()},St=_e=>{if(_==="static"){Rt(_e);return}if(le.current||_e.target!==_e.currentTarget){le.current=!1;return}M==null||M()},Pt=_e=>{O?H==null||H(_e):(_e.preventDefault(),_==="static"&&De())},Zt=(_e,Ie)=>{_e&&Ze(_e),I==null||I(_e,Ie)},un=_e=>{te.current==null||te.current(),ie==null||ie(_e)},cn=(_e,Ie)=>{de==null||de(_e,Ie),lp(window,"resize",vt)},Ut=_e=>{_e&&(_e.style.display=""),Ne==null||Ne(_e),Uo(window,"resize",vt)},Ht=g.useCallback(_e=>h.jsx("div",{..._e,className:Ae(`${l}-backdrop`,Ye,!S&&"show")}),[S,Ye,l]),mt={...c,...ce};mt.display="block";const Kt=_e=>h.jsx("div",{role:"dialog",..._e,style:mt,className:Ae(n,l,Re&&`${l}-static`,!S&&"show"),onClick:_?St:void 0,onMouseUp:lt,"data-bs-theme":y,"aria-label":b,"aria-labelledby":v,"aria-describedby":p,children:h.jsx(d,{...ze,onMouseDown:it,className:s,contentClassName:u,children:f})});return h.jsx(Dp.Provider,{value:Le,children:h.jsx(Ib,{show:R,ref:ye,backdrop:_,container:q,keyboard:!0,autoFocus:Y,enforceFocus:J,restoreFocus:G,restoreFocusOptions:N,onEscapeKeyDown:Pt,onShow:U,onHide:M,onEnter:Zt,onEntering:cn,onEntered:W,onExit:un,onExiting:X,onExited:Ut,manager:Ee(),transition:S?uS:void 0,backdropTransition:S?cS:void 0,renderBackdrop:Ht,renderDialog:Kt})})});zp.displayName="Modal";const ir=Object.assign(zp,{Body:Op,Header:Ap,Title:Mp,Footer:wp,Dialog:cf,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),Rn=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"row"),d=tp(),y=np(),v=`${f}-cols`,p=[];return d.forEach(b=>{const R=s[b];delete s[b];let S;R!=null&&typeof R=="object"?{cols:S}=R:S=R;const _=b!==y?`-${b}`:"";S!=null&&p.push(`${v}${_}-${S}`)}),h.jsx(c,{ref:u,...s,className:Ae(n,f,...p)})});Rn.displayName="Row";const sS="/static/DY3vaYXT.svg";function oS(){const l=Ke.c(6),{user:n}=g.useContext(Fo),{pathname:c}=Xn();let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(ln,{xs:10,children:h.jsx("div",{className:"nav-wrapper",children:h.jsxs("nav",{className:"header-nav",children:[h.jsx("a",{href:"https://geant.org/",children:h.jsx("img",{src:sS,alt:"GÉANT Logo"})}),h.jsxs("ul",{children:[h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://network.geant.org/",children:"NETWORK"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/services/",children:"SERVICES"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://community.geant.org/",children:"COMMUNITY"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://tnc23.geant.org/",children:"TNC"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/projects/",children:"PROJECTS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/",children:"CONNECT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://impact.geant.org/",children:"IMPACT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://careers.geant.org/",children:"CAREERS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://about.geant.org/",children:"ABOUT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/community-news",children:"NEWS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://resources.geant.org/",children:"RESOURCES"})}),h.jsx("li",{children:h.jsx(Tn,{className:"nav-link-entry",to:"/",children:"COMPENDIUM"})})]})]})})}),l[0]=s):s=l[0];let u;l[1]!==c||l[2]!==n.permissions.admin?(u=n.permissions.admin&&!c.includes("survey")&&h.jsx("div",{className:"nav-link",style:{float:"right"},children:h.jsx(Tn,{className:"nav-link-entry",to:"/survey",children:h.jsx("span",{children:"Go to Survey"})})}),l[1]=c,l[2]=n.permissions.admin,l[3]=u):u=l[3];let f;return l[4]!==u?(f=h.jsx("div",{className:"external-page-nav-bar",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[s,h.jsx(ln,{xs:2,children:u})]})})}),l[4]=u,l[5]=f):f=l[5],f}const fS="/static/A3T3A-a_.svg",dS="/static/DOOiIGTs.png";function hS(){const l=Ke.c(9);let n;l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("a",{href:"https://geant.org",children:h.jsx("img",{src:fS,className:"m-3",style:{maxWidth:"100px"},alt:"GÉANT Logo"})}),l[0]=n):n=l[0];let c;l[1]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsxs(ln,{children:[n,h.jsx("img",{src:dS,className:"m-3",style:{maxWidth:"200px"},alt:"European Union Flag"})]}),l[1]=c):c=l[1];let s,u;l[2]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Disclaimer/",children:"Disclaimer"}),u=h.jsx("wbr",{}),l[2]=s,l[3]=u):(s=l[2],u=l[3]);let f,d;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/geant-anti-slavery-policy/",children:"GEANT Anti‑Slavery Policy"}),d=h.jsx("wbr",{}),l[4]=f,l[5]=d):(f=l[4],d=l[5]);let y,v;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),v=h.jsx("wbr",{}),l[6]=y,l[7]=v):(y=l[6],v=l[7]);let p;return l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("footer",{className:"page-footer pt-3",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[c,h.jsx(ln,{className:"mt-4 text-end",children:h.jsxs("span",{children:[s,u,"|",f,d,"|",y,v,"|",h.jsx("a",{className:"mx-3 footer-link",style:{cursor:"pointer"},onClick:mS,children:"Analytics Consent"})]})})]})})}),l[8]=p):p=l[8],p}function mS(){localStorage.removeItem("matomo_consent"),window.location.reload()}const Lp="/static/C4lsyu6A.svg",Up="/static/DhA-EmEc.svg";function Hp(){const l=Ke.c(16),n=g.useContext(ep);let c;l[0]!==n?(c=O=>n==null?void 0:n.trackPageView(O),l[0]=n,l[1]=c):c=l[1];const s=c;let u;l[2]!==n?(u=O=>n==null?void 0:n.trackEvent(O),l[2]=n,l[3]=u):u=l[3];const f=u;let d;l[4]!==n?(d=()=>n==null?void 0:n.trackEvents(),l[4]=n,l[5]=d):d=l[5];const y=d;let v;l[6]!==n?(v=O=>n==null?void 0:n.trackLink(O),l[6]=n,l[7]=v):v=l[7];const p=v,b=yS;let R;l[8]!==n?(R=(O,...H)=>{const U=H;n==null||n.pushInstruction(O,...U)},l[8]=n,l[9]=R):R=l[9];const S=R;let _;return l[10]!==S||l[11]!==f||l[12]!==y||l[13]!==p||l[14]!==s?(_={trackEvent:f,trackEvents:y,trackPageView:s,trackLink:p,enableLinkTracking:b,pushInstruction:S},l[10]=S,l[11]=f,l[12]=y,l[13]=p,l[14]=s,l[15]=_):_=l[15],_}function yS(){}function Bp(){const l=Ke.c(13),{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"GEANT Compendium Landing Page"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),g.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(Rn,{children:h.jsxs("div",{className:"center-text",children:[u,h.jsxs("div",{className:"wordwrap pt-4",children:[h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Each year GÉANT invites European National Research and Eduction Networks to fill in a questionnaire asking about their network, their organisation, standards and policies, connected users, and the services they offer their users. This Compendium of responses is an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. No two NRENs are identical, with great diversity in their structures, funding, size, and focus."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"The GÉANT Compendium of NRENs Report is published annually, using both data from the Compendium from other sources, including surveys and studies carried out within different teams within GÉANT and the NREN community. The Report gives a broad overview of the European NREN landscape, identifying developments and trends."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Compendium Data, the responses from the NRENs, are made available to be viewed and downloaded. Graphs, charts, and tables can be customised to show as many or few NRENs as required, across different years. These can be downloaded as images or in PDF form."})]})]})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d={backgroundColor:"white"},l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y={width:"18rem"},l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(Yn.Img,{src:Lp}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(Yn.Title,{children:"Compendium Data"}),l[8]=p):p=l[8];let b;l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:y,children:h.jsxs(Tn,{to:"/data",className:"link-text",children:[v,h.jsxs(Yn.Body,{children:[p,h.jsx(Yn.Text,{children:h.jsx("span",{children:"Statistical representation of the annual Compendium Survey data is available here"})})]})]})})}),l[9]=b):b=l[9];let R;l[10]===Symbol.for("react.memo_cache_sentinel")?(R={width:"18rem"},l[10]=R):R=l[10];let S;l[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx(Yn.Img,{src:Up}),l[11]=S):S=l[11];let _;return l[12]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs(Ya,{className:"py-5 grey-container",children:[f,h.jsx(Rn,{children:h.jsx(ln,{children:h.jsx(Ya,{style:d,className:"rounded-border",children:h.jsxs(Rn,{className:"justify-content-md-center",children:[b,h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:R,children:h.jsxs("a",{href:"https://resources.geant.org/geant-compendia/",className:"link-text",target:"_blank",rel:"noreferrer",children:[S,h.jsxs(Yn.Body,{children:[h.jsx(Yn.Title,{children:"Compendium Reports"}),h.jsx(Yn.Text,{children:"A GÉANT Compendium Report is published annually, drawing on data from the Compendium Survey filled in by NRENs, complemented by information from other surveys"})]})]})})})]})})})})]}),l[12]=_):_=l[12],_}var qp={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Cy=Yt.createContext&&Yt.createContext(qp),pS=["attr","size","title"];function vS(l,n){if(l==null)return{};var c=gS(l,n),s,u;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(u=0;u<f.length;u++)s=f[u],!(n.indexOf(s)>=0)&&Object.prototype.propertyIsEnumerable.call(l,s)&&(c[s]=l[s])}return c}function gS(l,n){if(l==null)return{};var c={};for(var s in l)if(Object.prototype.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function Yu(){return Yu=Object.assign?Object.assign.bind():function(l){for(var n=1;n<arguments.length;n++){var c=arguments[n];for(var s in c)Object.prototype.hasOwnProperty.call(c,s)&&(l[s]=c[s])}return l},Yu.apply(this,arguments)}function jy(l,n){var c=Object.keys(l);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);n&&(s=s.filter(function(u){return Object.getOwnPropertyDescriptor(l,u).enumerable})),c.push.apply(c,s)}return c}function ku(l){for(var n=1;n<arguments.length;n++){var c=arguments[n]!=null?arguments[n]:{};n%2?jy(Object(c),!0).forEach(function(s){ES(l,s,c[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(c)):jy(Object(c)).forEach(function(s){Object.defineProperty(l,s,Object.getOwnPropertyDescriptor(c,s))})}return l}function ES(l,n,c){return n=bS(n),n in l?Object.defineProperty(l,n,{value:c,enumerable:!0,configurable:!0,writable:!0}):l[n]=c,l}function bS(l){var n=SS(l,"string");return typeof n=="symbol"?n:n+""}function SS(l,n){if(typeof l!="object"||!l)return l;var c=l[Symbol.toPrimitive];if(c!==void 0){var s=c.call(l,n||"default");if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(l)}function Vp(l){return l&&l.map((n,c)=>Yt.createElement(n.tag,ku({key:c},n.attr),Vp(n.child)))}function Yp(l){return n=>Yt.createElement(xS,Yu({attr:ku({},l.attr)},n),Vp(l.child))}function xS(l){var n=c=>{var{attr:s,size:u,title:f}=l,d=vS(l,pS),y=u||c.size||"1em",v;return c.className&&(v=c.className),l.className&&(v=(v?v+" ":"")+l.className),Yt.createElement("svg",Yu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},c.attr,s,d,{className:v,style:ku(ku({color:l.color||c.color},c.style),l.style),height:y,width:y,xmlns:"http://www.w3.org/2000/svg"}),f&&Yt.createElement("title",null,f),l.children)};return Cy!==void 0?Yt.createElement(Cy.Consumer,null,c=>n(c)):n(qp)}function _S(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024",fill:"currentColor",fillRule:"evenodd"},child:[{tag:"path",attr:{d:"M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.118.118 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.118.118 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.118.118 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926 224.297 857.629c-.04.041-.06.052-.083.059a.118.118 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.118.118 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512 166.371 224.297c-.041-.04-.052-.06-.059-.083a.118.118 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.118.118 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z"},child:[]}]})(l)}function RS(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8Z"},child:[]},{tag:"path",attr:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8Z"},child:[]}]})(l)}const rr=l=>{const n=Ke.c(23),{title:c,children:s,startCollapsed:u,theme:f}=l,d=f===void 0?"":f,[y,v]=g.useState(!!u);let p;n[0]===Symbol.for("react.memo_cache_sentinel")?(p={color:"white",paddingBottom:"3px",marginTop:"3px",marginLeft:"3px",scale:"1.3"},n[0]=p):p=n[0];let b=p;if(d){let G;n[1]===Symbol.for("react.memo_cache_sentinel")?(G={...b,color:"black",fontWeight:"bold"},n[1]=G):G=n[1],b=G}const R=`collapsible-box${d} p-0`;let S;n[2]!==c?(S=h.jsx(ln,{children:h.jsx("h1",{className:"bold-caps-16pt dark-teal pt-3 ps-3",children:c})}),n[2]=c,n[3]=S):S=n[3];const _=`toggle-btn${d} p-${d?3:2}`;let O;n[4]!==y?(O=()=>v(!y),n[4]=y,n[5]=O):O=n[5];let H;n[6]!==y||n[7]!==b?(H=y?h.jsx(RS,{style:b}):h.jsx(_S,{style:b}),n[6]=y,n[7]=b,n[8]=H):H=n[8];let U;n[9]!==_||n[10]!==O||n[11]!==H?(U=h.jsx(ln,{className:"flex-grow-0 flex-shrink-1",children:h.jsx("div",{className:_,onClick:O,children:H})}),n[9]=_,n[10]=O,n[11]=H,n[12]=U):U=n[12];let M;n[13]!==S||n[14]!==U?(M=h.jsxs(Rn,{children:[S,U]}),n[13]=S,n[14]=U,n[15]=M):M=n[15];const q=`collapsible-content${y?" collapsed":""}`;let Y;n[16]!==s||n[17]!==q?(Y=h.jsx("div",{className:q,children:s}),n[16]=s,n[17]=q,n[18]=Y):Y=n[18];let J;return n[19]!==Y||n[20]!==R||n[21]!==M?(J=h.jsxs("div",{className:R,children:[M,Y]}),n[19]=Y,n[20]=R,n[21]=M,n[22]=J):J=n[22],J};function TS(l){const n=Ke.c(8),{section:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s={display:"flex",alignSelf:"right",lineHeight:"1.5rem",marginTop:"0.5rem"},n[0]=s):s=n[0];let u,f;n[1]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("br",{}),f={float:"right"},n[1]=u,n[2]=f):(u=n[1],f=n[2]);let d;n[3]!==c?(d=h.jsx("div",{style:s,children:h.jsxs("span",{children:["Compendium ",u,h.jsx("span",{style:f,children:c})]})}),n[3]=c,n[4]=d):d=n[4];let y;n[5]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("img",{src:Up,style:{maxWidth:"4rem"},alt:"Compendium Data logo"}),n[5]=y):y=n[5];let v;return n[6]!==d?(v=h.jsxs("div",{className:"bold-caps-17pt section-container",children:[d,y]}),n[6]=d,n[7]=v):v=n[7],v}function NS(l){const n=Ke.c(14),{type:c}=l;let s="";c=="data"?s=" compendium-data-header":c=="reports"&&(s=" compendium-reports-header");let u;n[0]===Symbol.for("react.memo_cache_sentinel")?(u={marginTop:"0.5rem"},n[0]=u):u=n[0];const f=c==="data"?"/data":"/";let d;n[1]===Symbol.for("react.memo_cache_sentinel")?(d={textDecoration:"none",color:"white"},n[1]=d):d=n[1];const y=c==="data"?"Data":"Reports";let v;n[2]!==y?(v=h.jsxs("span",{children:["Compendium ",y]}),n[2]=y,n[3]=v):v=n[3];let p;n[4]!==f||n[5]!==v?(p=h.jsx(ln,{sm:8,children:h.jsx("h1",{className:"bold-caps-30pt",style:u,children:h.jsx(Tn,{to:f,style:d,children:v})})}),n[4]=f,n[5]=v,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b={color:"inherit"},n[7]=b):b=n[7];let R;n[8]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ln,{sm:4,children:h.jsx("a",{style:b,href:"https://resources.geant.org/geant-compendia/",target:"_blank",rel:"noreferrer",children:h.jsx(TS,{section:"Reports"})})}),n[8]=R):R=n[8];let S;n[9]!==p?(S=h.jsx(Ya,{children:h.jsxs(Rn,{children:[p,R]})}),n[9]=p,n[10]=S):S=n[10];let _;return n[11]!==s||n[12]!==S?(_=h.jsx("div",{className:s,children:S}),n[11]=s,n[12]=S,n[13]=_):_=n[13],_}function CS(l){const n=Ke.c(8),{children:c,type:s}=l;let u="";s=="data"?u=" compendium-data-banner":s=="reports"&&(u=" compendium-reports-banner");let f,d;n[0]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("img",{src:Lp,style:{maxWidth:"7rem",marginBottom:"1rem"},alt:"Compendium Data logo"}),d={display:"flex",alignSelf:"right"},n[0]=f,n[1]=d):(f=n[0],d=n[1]);let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"1rem"},n[2]=y):y=n[2];let v;n[3]!==c?(v=h.jsx(Ya,{children:h.jsx(Rn,{children:h.jsx(Rn,{children:h.jsxs("div",{className:"section-container",children:[f,h.jsx("div",{style:d,children:h.jsx("div",{className:"center-text",style:y,children:c})})]})})})}),n[3]=c,n[4]=v):v=n[4];let p;return n[5]!==u||n[6]!==v?(p=h.jsx("div",{className:u,children:v}),n[5]=u,n[6]=v,n[7]=p):p=n[7],p}var li=(l=>(l.Organisation="ORGANISATION",l.Policy="STANDARDS AND POLICIES",l.ConnectedUsers="CONNECTED USERS",l.Network="NETWORK",l.Services="SERVICES",l))(li||{}),jS=(l=>(l.CSV="CSV",l.EXCEL="EXCEL",l))(jS||{}),OS=(l=>(l.PNG="png",l.JPEG="jpeg",l.SVG="svg",l))(OS||{});const V2={universities:"Universities & Other (ISCED 6-8)",further_education:"Further education (ISCED 4-5)",secondary_schools:"Secondary schools (ISCED 2-3)",primary_schools:"Primary schools (ISCED 1)",institutes:"Research Institutes",cultural:"Libraries, Museums, Archives, Cultural institutions",hospitals:"Non-university public Hospitals",government:"Government departments (national, regional, local)",iros:"International (virtual) research organisations",for_profit_orgs:"For-profit organisations"},Y2={commercial_r_and_e:"Commercial R&E traffic only",commercial_general:"Commercial general",commercial_collaboration:"Commercial for collaboration only (project/time limited)",commercial_service_provider:"Commercial Service Provider",university_spin_off:"University Spin Off/Incubator"},k2={collaboration:"Connection to your network for collaboration with R&E users",service_supplier:"Connection to your network for supplying services for R&E",direct_peering:"Direct peering (e.g. direct peering or cloud peering)"};function DS(){const l=Ke.c(7),{preview:n,setPreview:c}=g.useContext(Iy),{user:s}=g.useContext(Fo),[u]=lE();let f;l[0]!==u?(f=u.get("preview"),l[0]=u,l[1]=f):f=l[1];const d=f;let y,v;return l[2]!==d||l[3]!==c||l[4]!==s?(y=()=>{d!==null&&(s.permissions.admin||s.role=="observer")&&c(!0)},v=[d,c,s],l[2]=d,l[3]=c,l[4]=s,l[5]=y,l[6]=v):(y=l[5],v=l[6]),g.useEffect(y,v),n}function yr(l){const n=Ke.c(9),{to:c,children:s}=l,u=window.location.pathname===c,f=g.useRef(null);let d,y;n[0]!==u?(d=()=>{u&&f.current&&f.current.scrollIntoView({behavior:"smooth",block:"center"})},y=[u],n[0]=u,n[1]=d,n[2]=y):(d=n[1],y=n[2]),g.useEffect(d,y);let v;n[3]!==s||n[4]!==u?(v=u?h.jsx("b",{children:s}):s,n[3]=s,n[4]=u,n[5]=v):v=n[5];let p;return n[6]!==v||n[7]!==c?(p=h.jsx(Rn,{children:h.jsx(Tn,{to:c,className:"link-text-underline",ref:f,children:v})}),n[6]=v,n[7]=c,n[8]=p):p=n[8],p}const se={budget:"Budget of NRENs per Year",funding:"Income Source of NRENs",charging:"Charging Mechanism of NRENs","employee-count":"Number of NREN Employees",roles:"Roles of NREN employees (Technical v. Non-Technical)",employment:"Types of Employment within NRENs",suborganisations:"NREN Sub-Organisations",parentorganisation:"NREN Parent Organisations","ec-projects":"NREN Involvement in European Commission Projects",policy:"NREN Policies",audits:"External and Internal Audits of Information Security Management Systems","business-continuity":"NREN Business Continuity Planning","central-procurement":"Value of Software Procured for Customers by NRENs","crisis-management":"Crisis Management Procedures","crisis-exercise":"Crisis Exercises - NREN Operation and Participation",eosc_listings:"NREN Services Listed on the EOSC Portal","security-control":"Security Controls Used by NRENs","services-offered":"Services Offered by NRENs by Types of Users","corporate-strategy":"NREN Corporate Strategies","service-level-targets":"NRENs Offering Service Level Targets","service-management-framework":"NRENs Operating a Formal Service Management Framework","institutions-urls":"Webpages Listing Institutions and Organisations Connected to NREN Networks","connected-proportion":"Proportion of Different Categories of Institutions Served by NRENs","connectivity-level":"Level of IP Connectivity by Institution Type","connection-carrier":"Methods of Carrying IP Traffic to Users","connectivity-load":"Connectivity Load","connectivity-growth":"Connectivity Growth","remote-campuses":"NREN Connectivity to Remote Campuses in Other Countries","commercial-charging-level":"Commercial Charging Level","commercial-connectivity":"Commercial Connectivity","traffic-volume":"NREN Traffic - NREN Customers & External Networks","iru-duration":"Average Duration of IRU leases of Fibre by NRENs","fibre-light":"Approaches to lighting NREN fibre networks","dark-fibre-lease":"Kilometres of Leased Dark Fibre (National)","dark-fibre-lease-international":"Kilometres of Leased Dark Fibre (International)","dark-fibre-installed":"Kilometres of Installed Dark Fibre","network-map":"NREN Network Maps","monitoring-tools":"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions","pert-team":"NRENs with Performance Enhancement Response Teams","passive-monitoring":"Methods for Passively Monitoring International Traffic","traffic-stats":"Traffic Statistics","weather-map":"NREN Online Network Weather Maps","certificate-provider":"Certification Services used by NRENs","siem-vendors":"Vendors of SIEM/SOC systems used by NRENs","alien-wave":"NREN Use of 3rd Party Alienwave/Lightpath Services","alien-wave-internal":"Internal NREN Use of Alien Waves","capacity-largest-link":"Capacity of the Largest Link in an NREN Network","external-connections":"NREN External IP Connections","capacity-core-ip":"NREN Core IP Capacity","non-rne-peers":"Number of Non-R&E Networks NRENs Peer With","traffic-ratio":"Types of traffic in NREN networks (Commodity v. Research & Education)","ops-automation":"NREN Automation of Operational Processes","network-automation":"Network Tasks for which NRENs Use Automation",nfv:"Kinds of Network Function Virtualisation used by NRENs","network-services":"NREN Network services matrix","isp-support-services":"NREN ISP support services matrix","security-services":"NREN Security services matrix","identity-services":"NREN Identity services matrix","collaboration-services":"NREN Collaboration services matrix","multimedia-services":"NREN Multimedia services matrix","storage-and-hosting-services":"NREN Storage and hosting services matrix","professional-services":"NREN Professional services matrix"};function wS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Organisation"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Budget, Income and Billing"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se.budget}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/budget",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.funding}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/funding",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se.charging}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/charging",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O,H;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("hr",{className:"fake-divider"}),H=h.jsx("h6",{className:"section-title",children:"Staff and Projects"}),n[15]=O,n[16]=H):(O=n[15],H=n[16]);let U;n[17]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["employee-count"]}),n[17]=U):U=n[17];let M;n[18]!==u||n[19]!==f?(M=h.jsx(u,{to:"/employee-count",className:f,children:U}),n[18]=u,n[19]=f,n[20]=M):M=n[20];let q;n[21]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se.employment}),n[21]=q):q=n[21];let Y;n[22]!==u||n[23]!==f?(Y=h.jsx(u,{to:"/employment",className:f,children:q}),n[22]=u,n[23]=f,n[24]=Y):Y=n[24];let J;n[25]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se.roles}),n[25]=J):J=n[25];let G;n[26]!==u||n[27]!==f?(G=h.jsx(u,{to:"/roles",className:f,children:J}),n[26]=u,n[27]=f,n[28]=G):G=n[28];let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se.parentorganisation}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/parentorganisation",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se.suborganisations}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/suborganisations",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["ec-projects"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/ec-projects",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==M||n[42]!==Y||n[43]!==G||n[44]!==W||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,O,H,M,Y,G,W,X,de]}),n[41]=M,n[42]=Y,n[43]=G,n[44]=W,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function AS(l){const n=Ke.c(61),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Standards And Policies"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Policy & Portfolio"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["corporate-strategy"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/corporate-strategy",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.policy}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/policy",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["central-procurement"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/central-procurement",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["service-management-framework"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/service-management-framework",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["service-level-targets"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/service-level-targets",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["services-offered"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/services-offered",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("h6",{className:"section-title",children:"Standards"}),n[27]=J):J=n[27];let G;n[28]===Symbol.for("react.memo_cache_sentinel")?(G=h.jsx("span",{children:se.audits}),n[28]=G):G=n[28];let N;n[29]!==u||n[30]!==f?(N=h.jsx(u,{to:"/audits",className:f,children:G}),n[29]=u,n[30]=f,n[31]=N):N=n[31];let W;n[32]===Symbol.for("react.memo_cache_sentinel")?(W=h.jsx("span",{children:se["business-continuity"]}),n[32]=W):W=n[32];let ie;n[33]!==u||n[34]!==f?(ie=h.jsx(u,{to:"/business-continuity",className:f,children:W}),n[33]=u,n[34]=f,n[35]=ie):ie=n[35];let X;n[36]===Symbol.for("react.memo_cache_sentinel")?(X=h.jsx("span",{children:se["crisis-management"]}),n[36]=X):X=n[36];let I;n[37]!==u||n[38]!==f?(I=h.jsx(u,{to:"/crisis-management",className:f,children:X}),n[37]=u,n[38]=f,n[39]=I):I=n[39];let de;n[40]===Symbol.for("react.memo_cache_sentinel")?(de=h.jsx("span",{children:se["crisis-exercise"]}),n[40]=de):de=n[40];let Ne;n[41]!==u||n[42]!==f?(Ne=h.jsx(u,{to:"/crisis-exercise",className:f,children:de}),n[41]=u,n[42]=f,n[43]=Ne):Ne=n[43];let Ye;n[44]===Symbol.for("react.memo_cache_sentinel")?(Ye=h.jsx("span",{children:se["security-control"]}),n[44]=Ye):Ye=n[44];let Be;n[45]!==u||n[46]!==f?(Be=h.jsx(u,{to:"/security-control",className:f,children:Ye}),n[45]=u,n[46]=f,n[47]=Be):Be=n[47];let ze;return n[48]!==H||n[49]!==M||n[50]!==Y||n[51]!==N||n[52]!==d||n[53]!==ie||n[54]!==I||n[55]!==Ne||n[56]!==Be||n[57]!==p||n[58]!==R||n[59]!==_?(ze=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,N,ie,I,Ne,Be]}),n[48]=H,n[49]=M,n[50]=Y,n[51]=N,n[52]=d,n[53]=ie,n[54]=I,n[55]=Ne,n[56]=Be,n[57]=p,n[58]=R,n[59]=_,n[60]=ze):ze=n[60],ze}function MS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Connected Users"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connected Users"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["institutions-urls"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/institutions-urls",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["connected-proportion"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/connected-proportion",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["connectivity-level"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/connectivity-level",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["connection-carrier"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/connection-carrier",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["connectivity-load"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/connectivity-load",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["connectivity-growth"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/connectivity-growth",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se["remote-campuses"]}),n[27]=J):J=n[27];let G;n[28]!==u||n[29]!==f?(G=h.jsx(u,{to:"/remote-campuses",className:f,children:J}),n[28]=u,n[29]=f,n[30]=G):G=n[30];let N,W;n[31]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("hr",{className:"fake-divider"}),W=h.jsx("h6",{className:"section-title",children:"Connected Users - Commercial"}),n[31]=N,n[32]=W):(N=n[31],W=n[32]);let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["commercial-charging-level"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/commercial-charging-level",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["commercial-connectivity"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/commercial-connectivity",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==H||n[42]!==M||n[43]!==Y||n[44]!==G||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,G,N,W,X,de]}),n[41]=H,n[42]=M,n[43]=Y,n[44]=G,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function zS(l){const n=Ke.c(133),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Network"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connectivity"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["dark-fibre-lease"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/dark-fibre-lease",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["dark-fibre-lease-international"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/dark-fibre-lease-international",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["iru-duration"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/iru-duration",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["dark-fibre-installed"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/dark-fibre-installed",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["fibre-light"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/fibre-light",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["network-map"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/network-map",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J,G;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("hr",{className:"fake-divider"}),G=h.jsx("h6",{className:"section-title",children:"Performance Monitoring & Management"}),n[27]=J,n[28]=G):(J=n[27],G=n[28]);let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se["monitoring-tools"]}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/monitoring-tools",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["passive-monitoring"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/passive-monitoring",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["traffic-stats"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/traffic-stats",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;n[41]===Symbol.for("react.memo_cache_sentinel")?(Ne=h.jsx("span",{children:se["siem-vendors"]}),n[41]=Ne):Ne=n[41];let Ye;n[42]!==u||n[43]!==f?(Ye=h.jsx(u,{to:"/siem-vendors",className:f,children:Ne}),n[42]=u,n[43]=f,n[44]=Ye):Ye=n[44];let Be;n[45]===Symbol.for("react.memo_cache_sentinel")?(Be=h.jsx("span",{children:se["certificate-provider"]}),n[45]=Be):Be=n[45];let ze;n[46]!==u||n[47]!==f?(ze=h.jsx(u,{to:"/certificate-providers",className:f,children:Be}),n[46]=u,n[47]=f,n[48]=ze):ze=n[48];let K;n[49]===Symbol.for("react.memo_cache_sentinel")?(K=h.jsx("span",{children:se["weather-map"]}),n[49]=K):K=n[49];let ce;n[50]!==u||n[51]!==f?(ce=h.jsx(u,{to:"/weather-map",className:f,children:K}),n[50]=u,n[51]=f,n[52]=ce):ce=n[52];let ne;n[53]===Symbol.for("react.memo_cache_sentinel")?(ne=h.jsx("span",{children:se["pert-team"]}),n[53]=ne):ne=n[53];let Re;n[54]!==u||n[55]!==f?(Re=h.jsx(u,{to:"/pert-team",className:f,children:ne}),n[54]=u,n[55]=f,n[56]=Re):Re=n[56];let T,Q;n[57]===Symbol.for("react.memo_cache_sentinel")?(T=h.jsx("hr",{className:"fake-divider"}),Q=h.jsx("h6",{className:"section-title",children:"Alienwave"}),n[57]=T,n[58]=Q):(T=n[57],Q=n[58]);let le;n[59]===Symbol.for("react.memo_cache_sentinel")?(le=h.jsx("span",{children:se["alien-wave"]}),n[59]=le):le=n[59];let te;n[60]!==u||n[61]!==f?(te=h.jsx(u,{to:"/alien-wave",className:f,children:le}),n[60]=u,n[61]=f,n[62]=te):te=n[62];let P;n[63]===Symbol.for("react.memo_cache_sentinel")?(P=h.jsx("span",{children:se["alien-wave-internal"]}),n[63]=P):P=n[63];let ge;n[64]!==u||n[65]!==f?(ge=h.jsx(u,{to:"/alien-wave-internal",className:f,children:P}),n[64]=u,n[65]=f,n[66]=ge):ge=n[66];let ye,Je;n[67]===Symbol.for("react.memo_cache_sentinel")?(ye=h.jsx("hr",{className:"fake-divider"}),Je=h.jsx("h6",{className:"section-title",children:"Capacity"}),n[67]=ye,n[68]=Je):(ye=n[67],Je=n[68]);let Ce;n[69]===Symbol.for("react.memo_cache_sentinel")?(Ce=h.jsx("span",{children:se["capacity-largest-link"]}),n[69]=Ce):Ce=n[69];let Le;n[70]!==u||n[71]!==f?(Le=h.jsx(u,{to:"/capacity-largest-link",className:f,children:Ce}),n[70]=u,n[71]=f,n[72]=Le):Le=n[72];let Ee;n[73]===Symbol.for("react.memo_cache_sentinel")?(Ee=h.jsx("span",{children:se["capacity-core-ip"]}),n[73]=Ee):Ee=n[73];let Ze;n[74]!==u||n[75]!==f?(Ze=h.jsx(u,{to:"/capacity-core-ip",className:f,children:Ee}),n[74]=u,n[75]=f,n[76]=Ze):Ze=n[76];let vt;n[77]===Symbol.for("react.memo_cache_sentinel")?(vt=h.jsx("span",{children:se["external-connections"]}),n[77]=vt):vt=n[77];let it;n[78]!==u||n[79]!==f?(it=h.jsx(u,{to:"/external-connections",className:f,children:vt}),n[78]=u,n[79]=f,n[80]=it):it=n[80];let lt;n[81]===Symbol.for("react.memo_cache_sentinel")?(lt=h.jsx("span",{children:se["non-rne-peers"]}),n[81]=lt):lt=n[81];let De;n[82]!==u||n[83]!==f?(De=h.jsx(u,{to:"/non-rne-peers",className:f,children:lt}),n[82]=u,n[83]=f,n[84]=De):De=n[84];let Rt;n[85]===Symbol.for("react.memo_cache_sentinel")?(Rt=h.jsx("span",{children:se["traffic-volume"]}),n[85]=Rt):Rt=n[85];let St;n[86]!==u||n[87]!==f?(St=h.jsx(u,{to:"/traffic-volume",className:f,children:Rt}),n[86]=u,n[87]=f,n[88]=St):St=n[88];let Pt;n[89]===Symbol.for("react.memo_cache_sentinel")?(Pt=h.jsx("span",{children:se["traffic-ratio"]}),n[89]=Pt):Pt=n[89];let Zt;n[90]!==u||n[91]!==f?(Zt=h.jsx(u,{to:"/traffic-ratio",className:f,children:Pt}),n[90]=u,n[91]=f,n[92]=Zt):Zt=n[92];let un,cn;n[93]===Symbol.for("react.memo_cache_sentinel")?(un=h.jsx("hr",{className:"fake-divider"}),cn=h.jsx("h6",{className:"section-title",children:"Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)"}),n[93]=un,n[94]=cn):(un=n[93],cn=n[94]);let Ut;n[95]===Symbol.for("react.memo_cache_sentinel")?(Ut=h.jsx("span",{children:se["ops-automation"]}),n[95]=Ut):Ut=n[95];let Ht;n[96]!==u||n[97]!==f?(Ht=h.jsx(u,{to:"/ops-automation",className:f,children:Ut}),n[96]=u,n[97]=f,n[98]=Ht):Ht=n[98];let mt;n[99]===Symbol.for("react.memo_cache_sentinel")?(mt=h.jsx("span",{children:se.nfv}),n[99]=mt):mt=n[99];let Kt;n[100]!==u||n[101]!==f?(Kt=h.jsx(u,{to:"/nfv",className:f,children:mt}),n[100]=u,n[101]=f,n[102]=Kt):Kt=n[102];let _e;n[103]===Symbol.for("react.memo_cache_sentinel")?(_e=h.jsx("span",{children:se["network-automation"]}),n[103]=_e):_e=n[103];let Ie;n[104]!==u||n[105]!==f?(Ie=h.jsx(u,{to:"/network-automation",className:f,children:_e}),n[104]=u,n[105]=f,n[106]=Ie):Ie=n[106];let kt;return n[107]!==H||n[108]!==M||n[109]!==Y||n[110]!==W||n[111]!==d||n[112]!==X||n[113]!==de||n[114]!==Ye||n[115]!==ze||n[116]!==ce||n[117]!==Re||n[118]!==te||n[119]!==ge||n[120]!==Le||n[121]!==Ze||n[122]!==it||n[123]!==De||n[124]!==St||n[125]!==p||n[126]!==Zt||n[127]!==Ht||n[128]!==Kt||n[129]!==Ie||n[130]!==R||n[131]!==_?(kt=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,G,W,X,de,Ye,ze,ce,Re,T,Q,te,ge,ye,Je,Le,Ze,it,De,St,Zt,un,cn,Ht,Kt,Ie]}),n[107]=H,n[108]=M,n[109]=Y,n[110]=W,n[111]=d,n[112]=X,n[113]=de,n[114]=Ye,n[115]=ze,n[116]=ce,n[117]=Re,n[118]=te,n[119]=ge,n[120]=Le,n[121]=Ze,n[122]=it,n[123]=De,n[124]=St,n[125]=p,n[126]=Zt,n[127]=Ht,n[128]=Kt,n[129]=Ie,n[130]=R,n[131]=_,n[132]=kt):kt=n[132],kt}function LS(l){const n=Ke.c(44),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Services"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("span",{children:se["network-services"]}),n[2]=y):y=n[2];let v;n[3]!==u||n[4]!==f?(v=h.jsx(u,{to:"/network-services",className:f,children:y}),n[3]=u,n[4]=f,n[5]=v):v=n[5];let p;n[6]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("span",{children:se["isp-support-services"]}),n[6]=p):p=n[6];let b;n[7]!==u||n[8]!==f?(b=h.jsx(u,{to:"/isp-support-services",className:f,children:p}),n[7]=u,n[8]=f,n[9]=b):b=n[9];let R;n[10]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx("span",{children:se["security-services"]}),n[10]=R):R=n[10];let S;n[11]!==u||n[12]!==f?(S=h.jsx(u,{to:"/security-services",className:f,children:R}),n[11]=u,n[12]=f,n[13]=S):S=n[13];let _;n[14]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsx("span",{children:se["identity-services"]}),n[14]=_):_=n[14];let O;n[15]!==u||n[16]!==f?(O=h.jsx(u,{to:"/identity-services",className:f,children:_}),n[15]=u,n[16]=f,n[17]=O):O=n[17];let H;n[18]===Symbol.for("react.memo_cache_sentinel")?(H=h.jsx("span",{children:se["storage-and-hosting-services"]}),n[18]=H):H=n[18];let U;n[19]!==u||n[20]!==f?(U=h.jsx(u,{to:"/storage-and-hosting-services",className:f,children:H}),n[19]=u,n[20]=f,n[21]=U):U=n[21];let M;n[22]===Symbol.for("react.memo_cache_sentinel")?(M=h.jsx("span",{children:se["multimedia-services"]}),n[22]=M):M=n[22];let q;n[23]!==u||n[24]!==f?(q=h.jsx(u,{to:"/multimedia-services",className:f,children:M}),n[23]=u,n[24]=f,n[25]=q):q=n[25];let Y;n[26]===Symbol.for("react.memo_cache_sentinel")?(Y=h.jsx("span",{children:se["collaboration-services"]}),n[26]=Y):Y=n[26];let J;n[27]!==u||n[28]!==f?(J=h.jsx(u,{to:"/collaboration-services",className:f,children:Y}),n[27]=u,n[28]=f,n[29]=J):J=n[29];let G;n[30]===Symbol.for("react.memo_cache_sentinel")?(G=h.jsx("span",{children:se["professional-services"]}),n[30]=G):G=n[30];let N;n[31]!==u||n[32]!==f?(N=h.jsx(u,{to:"/professional-services",className:f,children:G}),n[31]=u,n[32]=f,n[33]=N):N=n[33];let W;return n[34]!==O||n[35]!==U||n[36]!==q||n[37]!==J||n[38]!==N||n[39]!==d||n[40]!==v||n[41]!==b||n[42]!==S?(W=h.jsxs(h.Fragment,{children:[d,v,b,S,O,U,q,J,N]}),n[34]=O,n[35]=U,n[36]=q,n[37]=J,n[38]=N,n[39]=d,n[40]=v,n[41]=b,n[42]=S,n[43]=W):W=n[43],W}function US(){const l=Ke.c(10);DS();const{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"Compendium Data"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),Yt.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx(NS,{type:"data"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(CS,{type:"data",children:h.jsx("p",{className:"wordwrap",children:"The GÉANT Compendium provides an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. Published since 2001, the Compendium provides information on key areas such as users, services, traffic, budget and staffing."})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d=h.jsx(rr,{title:li.Organisation,children:h.jsx(wS,{})}),l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(rr,{title:li.Policy,startCollapsed:!0,children:h.jsx(AS,{})}),l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(rr,{title:li.ConnectedUsers,startCollapsed:!0,children:h.jsx(MS,{})}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(rr,{title:li.Network,startCollapsed:!0,children:h.jsx(zS,{})}),l[8]=p):p=l[8];let b;return l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsxs(h.Fragment,{children:[u,f,h.jsx(Ya,{className:"mt-5 mb-5",children:h.jsxs(Rn,{children:[d,y,v,p,h.jsx(rr,{title:li.Services,startCollapsed:!0,children:h.jsx(LS,{})})]})})]}),l[9]=b):b=l[9],b}const HS=()=>{const l=Ke.c(26),{consent:n,setConsent:c}=g.useContext(Jo),[s,u]=g.useState(n===null);let f;l[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{u(!1),window.location.reload()},l[0]=f):f=l[0];const d=f,[y,v]=g.useState(!0);let p;l[1]!==c?(p=N=>{const W=new Date;W.setDate(W.getDate()+30),localStorage.setItem("matomo_consent",JSON.stringify({consent:N,expiry:W})),c(N)},l[1]=c,l[2]=p):p=l[2];const b=p;let R;l[3]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ir.Header,{closeButton:!0,children:h.jsx(ir.Title,{children:"Privacy on this site"})}),l[3]=R):R=l[3];let S;l[4]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("a",{href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),l[4]=S):S=l[4];let _;l[5]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs("p",{children:["On our site we use Matomo to collect and process data about your visit to better understand how it is used. For more information, see our ",S,".",h.jsx("br",{}),"Below, you can choose to accept or decline to have this data collected."]}),l[5]=_):_=l[5];let O;l[6]!==y?(O=()=>v(!y),l[6]=y,l[7]=O):O=l[7];let H;l[8]!==y||l[9]!==O?(H=h.jsx(Du.Check,{type:"checkbox",label:"Analytics",checked:y,onChange:O}),l[8]=y,l[9]=O,l[10]=H):H=l[10];let U;l[11]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx(Du.Text,{className:"text-muted",children:"We collect information about your visit on the compendium site — this helps us understand how the site is used, and how we can improve it."}),l[11]=U):U=l[11];let M;l[12]!==H?(M=h.jsxs(ir.Body,{children:[_,h.jsx(Du,{children:h.jsxs(Du.Group,{className:"mb-3",children:[H,U]})})]}),l[12]=H,l[13]=M):M=l[13];let q;l[14]!==b?(q=h.jsx(Bo,{variant:"secondary",onClick:()=>{b(!1),d()},children:"Decline all"}),l[14]=b,l[15]=q):q=l[15];let Y;l[16]!==y||l[17]!==b?(Y=h.jsx(Bo,{variant:"primary",onClick:()=>{b(y),d()},children:"Save consent for 30 days"}),l[16]=y,l[17]=b,l[18]=Y):Y=l[18];let J;l[19]!==Y||l[20]!==q?(J=h.jsxs(ir.Footer,{children:[q,Y]}),l[19]=Y,l[20]=q,l[21]=J):J=l[21];let G;return l[22]!==s||l[23]!==J||l[24]!==M?(G=h.jsxs(ir,{show:s,centered:!0,children:[R,M,J]}),l[22]=s,l[23]=J,l[24]=M,l[25]=G):G=l[25],G},BS=g.lazy(()=>be(()=>import("./Budget-BSIMGep_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),qS=g.lazy(()=>be(()=>import("./ChargingStructure-C0PO-607.js"),__vite__mapDeps([8,2,3,4,5,6,9,10,11]))),VS=g.lazy(()=>be(()=>import("./ECProjects-CH8H8hIs.js"),__vite__mapDeps([12,2,3,4,5,6,13,11]))),YS=g.lazy(()=>be(()=>import("./FundingSource-CXm98sc6.js"),__vite__mapDeps([14,1,2,3,4,5,6,15]))),kS=g.lazy(()=>be(()=>import("./ParentOrganisation-DMsp_CHD.js"),__vite__mapDeps([16,2,3,4,5,6,13,11]))),Oy=g.lazy(()=>be(()=>import("./StaffGraph-C29hvCFC.js"),__vite__mapDeps([17,1,2,3,4,5,6,18]))),GS=g.lazy(()=>be(()=>import("./StaffGraphAbsolute-BheG5A3n.js"),__vite__mapDeps([19,1,2,3,4,5,6,15,7]))),XS=g.lazy(()=>be(()=>import("./SubOrganisation-DC79lD7d.js"),__vite__mapDeps([20,2,3,4,5,6,13,11]))),QS=g.lazy(()=>be(()=>import("./Audits-DhlH6W8m.js"),__vite__mapDeps([21,2,3,4,5,6,9,10,11]))),ZS=g.lazy(()=>be(()=>import("./BusinessContinuity-BzDSOQxq.js"),__vite__mapDeps([22,2,3,4,5,6,9,10,11]))),KS=g.lazy(()=>be(()=>import("./CentralProcurement-BHctLo1Q.js"),__vite__mapDeps([23,2,3,4,5,6,15,1,7]))),$S=g.lazy(()=>be(()=>import("./CorporateStrategy-Dgb-JL-i.js"),__vite__mapDeps([24,2,3,4,5,6,13,11]))),FS=g.lazy(()=>be(()=>import("./CrisisExercises-C85Rczen.js"),__vite__mapDeps([25,2,3,4,5,6,9,10,11]))),JS=g.lazy(()=>be(()=>import("./CrisisManagement-DBVWnDHG.js"),__vite__mapDeps([26,2,3,4,5,6,9,10,11]))),PS=g.lazy(()=>be(()=>import("./EOSCListings-DU0cXeMj.js"),__vite__mapDeps([27,2,3,4,5,6,13,11]))),WS=g.lazy(()=>be(()=>import("./Policy-BZbKsQ05.js"),__vite__mapDeps([28,2,3,4,5,6,13,11]))),IS=g.lazy(()=>be(()=>import("./SecurityControls-ObQ71skr.js"),__vite__mapDeps([29,2,3,4,5,6,9,10,11]))),e2=g.lazy(()=>be(()=>import("./ServiceLevelTargets-BlFCe2hZ.js"),__vite__mapDeps([30,2,3,4,5,6,9,10,11]))),t2=g.lazy(()=>be(()=>import("./ServiceManagementFramework-D8PCm8yD.js"),__vite__mapDeps([31,2,3,4,5,6,9,10,11]))),n2=g.lazy(()=>be(()=>import("./ServicesOffered--YrTPOcd.js"),__vite__mapDeps([32,2,3,4,5,6,33,11]))),a2=g.lazy(()=>be(()=>import("./ConnectedInstitutionsURLs-BFMdMAD5.js"),__vite__mapDeps([34,2,3,4,5,6,13,11]))),dl=g.lazy(()=>be(()=>import("./ConnectedUser-zGB3iGh0.js"),__vite__mapDeps([35,2,3,4,5,6,33,11]))),l2=g.lazy(()=>be(()=>import("./RemoteCampuses-cOIm0vfV.js"),__vite__mapDeps([36,2,3,4,5,6,11]))),i2=g.lazy(()=>be(()=>import("./AlienWave-CmOcxAf3.js"),__vite__mapDeps([37,2,3,4,5,6,9,10,11]))),r2=g.lazy(()=>be(()=>import("./AlienWaveInternal-AuuSyo2W.js"),__vite__mapDeps([38,2,3,4,5,6,9,10,11]))),u2=g.lazy(()=>be(()=>import("./Automation-qp3Ba25C.js"),__vite__mapDeps([39,2,3,4,5,6,10,11]))),c2=g.lazy(()=>be(()=>import("./CapacityCoreIP-Ccd1ZuBQ.js"),__vite__mapDeps([40,1,2,3,4,5,6,15,7]))),s2=g.lazy(()=>be(()=>import("./CapacityLargestLink-Bx0d8lUw.js"),__vite__mapDeps([41,1,2,3,4,5,6,15,7]))),o2=g.lazy(()=>be(()=>import("./CertificateProvider-KfK8hzPh.js"),__vite__mapDeps([42,2,3,4,5,6,9,10,11]))),Dy=g.lazy(()=>be(()=>import("./DarkFibreLease-Ck5R0dcY.js"),__vite__mapDeps([43,1,2,3,4,5,6,7]))),f2=g.lazy(()=>be(()=>import("./DarkFibreInstalled-Dh0ss9Ok.js"),__vite__mapDeps([44,1,2,3,4,5,6,7]))),d2=g.lazy(()=>be(()=>import("./ExternalConnections-DLH-LdPe.js"),__vite__mapDeps([45,2,3,4,5,6,11]))),h2=g.lazy(()=>be(()=>import("./FibreLight-D4SohCzu.js"),__vite__mapDeps([46,2,3,4,5,6,9,10,11]))),m2=g.lazy(()=>be(()=>import("./IRUDuration-EBsPV-4E.js"),__vite__mapDeps([47,1,2,3,4,5,6,7]))),y2=g.lazy(()=>be(()=>import("./MonitoringTools-CslWdQIB.js"),__vite__mapDeps([48,2,3,4,5,6,9,10,11]))),p2=g.lazy(()=>be(()=>import("./NetworkFunctionVirtualisation-zU1YeO1d.js"),__vite__mapDeps([49,2,3,4,5,6,10,11]))),v2=g.lazy(()=>be(()=>import("./NetworkMapUrls-CK0r3RFz.js"),__vite__mapDeps([50,2,3,4,5,6,13,11]))),g2=g.lazy(()=>be(()=>import("./NonRAndEPeer-CfPSfFs8.js"),__vite__mapDeps([51,1,2,3,4,5,6,15,7]))),E2=g.lazy(()=>be(()=>import("./OPsAutomation-BvjS0T0x.js"),__vite__mapDeps([52,2,3,4,5,6,9,10,11]))),b2=g.lazy(()=>be(()=>import("./PassiveMonitoring-DsP-hnFX.js"),__vite__mapDeps([53,2,3,4,5,6,9,10,11]))),S2=g.lazy(()=>be(()=>import("./PertTeam-C6X3TIKW.js"),__vite__mapDeps([54,2,3,4,5,6,9,10,11]))),x2=g.lazy(()=>be(()=>import("./SiemVendors-iAXG_Qfa.js"),__vite__mapDeps([55,2,3,4,5,6,9,10,11]))),_2=g.lazy(()=>be(()=>import("./TrafficRatio-CaZcgpC4.js"),__vite__mapDeps([56,1,2,3,4,5,6,18]))),R2=g.lazy(()=>be(()=>import("./TrafficUrl-XNAafmGV.js"),__vite__mapDeps([57,2,3,4,5,6,13,11]))),T2=g.lazy(()=>be(()=>import("./TrafficVolume-MMO6VsZ6.js"),__vite__mapDeps([58,1,2,3,4,5,6,7]))),N2=g.lazy(()=>be(()=>import("./WeatherMap-BxEiz7_h.js"),__vite__mapDeps([59,2,3,4,5,6,13,11]))),Ua=g.lazy(()=>be(()=>import("./Services-mJACzTuN.js"),__vite__mapDeps([60,2,3,4,5,6,11]))),C2=g.lazy(()=>be(()=>import("./Landing-DCKBw6Tq.js"),__vite__mapDeps([61,4,62,3,63,11]))),No=g.lazy(()=>be(()=>import("./SurveyContainerComponent-B68UX_5e.js"),__vite__mapDeps([64,65,66,67,62,3,68]))),j2=g.lazy(()=>be(()=>import("./SurveyManagementComponent-CF84I9p3.js"),__vite__mapDeps([69,70,6,11,65,67,63,62,3]))),O2=g.lazy(()=>be(()=>import("./UserManagementComponent-BI6ndpd8.js"),__vite__mapDeps([71,65,62,3,5,70,6,11]))),D2=()=>{const l=Ke.c(9),{pathname:n}=Xn(),c=n!=="/";let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(oS,{}),l[0]=s):s=l[0];let u;l[1]!==c?(u=h.jsx("main",{className:"grow",children:c?h.jsx(T0,{}):h.jsx(Bp,{})}),l[1]=c,l[2]=u):u=l[2];let f;l[3]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(HS,{}),l[3]=f):f=l[3];let d;l[4]!==u?(d=h.jsxs(wE,{children:[s,u,f]}),l[4]=u,l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(hS,{}),l[6]=y):y=l[6];let v;return l[7]!==d?(v=h.jsxs(h.Fragment,{children:[d,y]}),l[7]=d,l[8]=v):v=l[8],v},w2=P0([{path:"",element:h.jsx(D2,{}),children:[{path:"/budget",element:h.jsx(BS,{})},{path:"/funding",element:h.jsx(YS,{})},{path:"/employment",element:h.jsx(Oy,{},"staffgraph")},{path:"/traffic-ratio",element:h.jsx(_2,{})},{path:"/roles",element:h.jsx(Oy,{roles:!0},"staffgraphroles")},{path:"/employee-count",element:h.jsx(GS,{})},{path:"/charging",element:h.jsx(qS,{})},{path:"/suborganisations",element:h.jsx(XS,{})},{path:"/parentorganisation",element:h.jsx(kS,{})},{path:"/ec-projects",element:h.jsx(VS,{})},{path:"/policy",element:h.jsx(WS,{})},{path:"/traffic-volume",element:h.jsx(T2,{})},{path:"/data",element:h.jsx(US,{})},{path:"/institutions-urls",element:h.jsx(a2,{})},{path:"/connected-proportion",element:h.jsx(dl,{page:Qt.ConnectedProportion},Qt.ConnectedProportion)},{path:"/connectivity-level",element:h.jsx(dl,{page:Qt.ConnectivityLevel},Qt.ConnectivityLevel)},{path:"/connectivity-growth",element:h.jsx(dl,{page:Qt.ConnectivityGrowth},Qt.ConnectivityGrowth)},{path:"/connection-carrier",element:h.jsx(dl,{page:Qt.ConnectionCarrier},Qt.ConnectionCarrier)},{path:"/connectivity-load",element:h.jsx(dl,{page:Qt.ConnectivityLoad},Qt.ConnectivityLoad)},{path:"/commercial-charging-level",element:h.jsx(dl,{page:Qt.CommercialChargingLevel},Qt.CommercialChargingLevel)},{path:"/commercial-connectivity",element:h.jsx(dl,{page:Qt.CommercialConnectivity},Qt.CommercialConnectivity)},{path:"/network-services",element:h.jsx(Ua,{category:Lt.network_services},Lt.network_services)},{path:"/isp-support-services",element:h.jsx(Ua,{category:Lt.isp_support},Lt.isp_support)},{path:"/security-services",element:h.jsx(Ua,{category:Lt.security},Lt.security)},{path:"/identity-services",element:h.jsx(Ua,{category:Lt.identity},Lt.identity)},{path:"/collaboration-services",element:h.jsx(Ua,{category:Lt.collaboration},Lt.collaboration)},{path:"/multimedia-services",element:h.jsx(Ua,{category:Lt.multimedia},Lt.multimedia)},{path:"/storage-and-hosting-services",element:h.jsx(Ua,{category:Lt.storage_and_hosting},Lt.storage_and_hosting)},{path:"/professional-services",element:h.jsx(Ua,{category:Lt.professional_services},Lt.professional_services)},{path:"/dark-fibre-lease",element:h.jsx(Dy,{national:!0},"darkfibrenational")},{path:"/dark-fibre-lease-international",element:h.jsx(Dy,{},"darkfibreinternational")},{path:"/dark-fibre-installed",element:h.jsx(f2,{})},{path:"/remote-campuses",element:h.jsx(l2,{})},{path:"/eosc-listings",element:h.jsx(PS,{})},{path:"/fibre-light",element:h.jsx(h2,{})},{path:"/monitoring-tools",element:h.jsx(y2,{})},{path:"/pert-team",element:h.jsx(S2,{})},{path:"/passive-monitoring",element:h.jsx(b2,{})},{path:"/alien-wave",element:h.jsx(i2,{})},{path:"/alien-wave-internal",element:h.jsx(r2,{})},{path:"/external-connections",element:h.jsx(d2,{})},{path:"/ops-automation",element:h.jsx(E2,{})},{path:"/network-automation",element:h.jsx(u2,{})},{path:"/traffic-stats",element:h.jsx(R2,{})},{path:"/weather-map",element:h.jsx(N2,{})},{path:"/network-map",element:h.jsx(v2,{})},{path:"/nfv",element:h.jsx(p2,{})},{path:"/certificate-providers",element:h.jsx(o2,{})},{path:"/siem-vendors",element:h.jsx(x2,{})},{path:"/capacity-largest-link",element:h.jsx(s2,{})},{path:"/capacity-core-ip",element:h.jsx(c2,{})},{path:"/non-rne-peers",element:h.jsx(g2,{})},{path:"/iru-duration",element:h.jsx(m2,{})},{path:"/audits",element:h.jsx(QS,{})},{path:"/business-continuity",element:h.jsx(ZS,{})},{path:"/crisis-management",element:h.jsx(JS,{})},{path:"/crisis-exercise",element:h.jsx(FS,{})},{path:"/central-procurement",element:h.jsx(KS,{})},{path:"/security-control",element:h.jsx(IS,{})},{path:"/services-offered",element:h.jsx(n2,{})},{path:"/service-management-framework",element:h.jsx(t2,{})},{path:"/service-level-targets",element:h.jsx(e2,{})},{path:"/corporate-strategy",element:h.jsx($S,{})},{path:"/survey/admin/surveys",element:h.jsx(j2,{})},{path:"/survey/admin/users",element:h.jsx(O2,{})},{path:"/survey/admin/inspect/:year",element:h.jsx(No,{loadFrom:"/api/response/inspect/"})},{path:"/survey/admin/try/:year",element:h.jsx(No,{loadFrom:"/api/response/try/"})},{path:"/survey/response/:year/:nren",element:h.jsx(No,{loadFrom:"/api/response/load/"})},{path:"/survey/*",element:h.jsx(C2,{})},{path:"/*",element:h.jsx(Bp,{})}]}]);function A2(){const l=Ke.c(1);let n;return l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("div",{className:"app",children:h.jsx(oE,{router:w2})}),l[0]=n):n=l[0],n}const M2=document.getElementById("root"),z2=a1.createRoot(M2);z2.render(h.jsx(Yt.StrictMode,{children:h.jsx(A2,{})}));export{zE as $,Ho as A,pb as B,ln as C,Xy as D,Ya as E,yE as F,MS as G,LS as H,jS as I,vE as J,OS as K,Tn as L,Iy as M,zS as N,wS as O,AS as P,Hp as Q,Rn as R,li as S,NS as T,V2 as U,SE as V,Du as W,DS as X,_S as Y,RS as Z,Yp as _,Qt as a,Lt as a0,Fo as a1,yr as a2,Gu as a3,wy as a4,B2 as a5,H2 as a6,be as a7,rb as a8,nb as a9,$u as aa,gl as ab,hl as ac,Mo as ad,Ba as ae,yl as af,ab as ag,U2 as ah,nf as ai,OE as aj,Y2 as b,Ke as c,k2 as d,rr as e,Yt as f,up as g,Qe as h,Ae as i,h as j,sb as k,by as l,Bu as m,Ob as n,Ku as o,tf as p,ob as q,g as r,ti as s,se as t,pl as u,lp as v,q2 as w,rp as x,Bo as y,BE as z}; diff --git a/compendium_v2/static/index-B2bzbolV.js b/compendium_v2/static/index-CkUFjbUc.js similarity index 99% rename from compendium_v2/static/index-B2bzbolV.js rename to compendium_v2/static/index-CkUFjbUc.js index ace49bb16a2d508cbd9386ed31d4b3486f22ad88..d89e0208314bd27f242a56f5f9b9b6b7f2901e52 100644 --- a/compendium_v2/static/index-B2bzbolV.js +++ b/compendium_v2/static/index-CkUFjbUc.js @@ -1,4 +1,4 @@ -import{r as c}from"./index-BBqwf-sR.js";let T={data:""},F=e=>typeof window=="object"?((e?e.querySelector("#_goober"):window._goober)||Object.assign((e||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:e||T,_=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,H=/\/\*[^]*?\*\/| +/g,z=/\n+/g,b=(e,t)=>{let r="",i="",n="";for(let a in e){let o=e[a];a[0]=="@"?a[1]=="i"?r=a+" "+o+";":i+=a[1]=="f"?b(o,a):a+"{"+b(o,a[1]=="k"?"":t)+"}":typeof o=="object"?i+=b(o,t?t.replace(/([^,])+/g,s=>a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,l=>/&/.test(l)?l.replace(/&/g,s):s?s+" "+l:l)):a):o!=null&&(a=/^--/.test(a)?a:a.replace(/[A-Z]/g,"-$&").toLowerCase(),n+=b.p?b.p(a,o):a+":"+o+";")}return r+(t&&n?t+"{"+n+"}":n)+i},y={},P=e=>{if(typeof e=="object"){let t="";for(let r in e)t+=r+P(e[r]);return t}return e},L=(e,t,r,i,n)=>{let a=P(e),o=y[a]||(y[a]=(l=>{let d=0,u=11;for(;d<l.length;)u=101*u+l.charCodeAt(d++)>>>0;return"go"+u})(a));if(!y[o]){let l=a!==e?e:(d=>{let u,m,f=[{}];for(;u=_.exec(d.replace(H,""));)u[4]?f.shift():u[3]?(m=u[3].replace(z," ").trim(),f.unshift(f[0][m]=f[0][m]||{})):f[0][u[1]]=u[2].replace(z," ").trim();return f[0]})(e);y[o]=b(n?{["@keyframes "+o]:l}:l,r?"":"."+o)}let s=r&&y.g?y.g:null;return r&&(y.g=y[o]),((l,d,u,m)=>{m?d.data=d.data.replace(m,l):d.data.indexOf(l)===-1&&(d.data=u?l+d.data:d.data+l)})(y[o],t,i,s),o},R=(e,t,r)=>e.reduce((i,n,a)=>{let o=t[a];if(o&&o.call){let s=o(r),l=s&&s.props&&s.props.className||/^go/.test(s)&&s;o=l?"."+l:s&&typeof s=="object"?s.props?"":b(s,""):s===!1?"":s}return i+n+(o??"")},"");function j(e){let t=this||{},r=e.call?e(t.p):e;return L(r.unshift?r.raw?R(r,[].slice.call(arguments,1),t.p):r.reduce((i,n)=>Object.assign(i,n&&n.call?n(t.p):n),{}):r,F(t.target),t.g,t.o,t.k)}let I,A,N;j.bind({g:1});let h=j.bind({k:1});function U(e,t,r,i){b.p=t,I=e,A=r,N=i}function x(e,t){let r=this||{};return function(){let i=arguments;function n(a,o){let s=Object.assign({},a),l=s.className||n.className;r.p=Object.assign({theme:A&&A()},s),r.o=/ *go\d+/.test(l),s.className=j.apply(r,i)+(l?" "+l:"");let d=e;return e[0]&&(d=s.as||e,delete s.as),N&&d[0]&&N(s),I(d,s)}return n}}var V=e=>typeof e=="function",O=(e,t)=>V(e)?e(t):e,q=(()=>{let e=0;return()=>(++e).toString()})(),S=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),Y=20,M=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Y)};case 1:return{...e,toasts:e.toasts.map(a=>a.id===t.toast.id?{...a,...t.toast}:a)};case 2:let{toast:r}=t;return M(e,{type:e.toasts.find(a=>a.id===r.id)?1:0,toast:r});case 3:let{toastId:i}=t;return{...e,toasts:e.toasts.map(a=>a.id===i||i===void 0?{...a,dismissed:!0,visible:!1}:a)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(a=>a.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let n=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(a=>({...a,pauseDuration:a.pauseDuration+n}))}}},D=[],v={toasts:[],pausedAt:void 0},w=e=>{v=M(v,e),D.forEach(t=>{t(v)})},Z={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},B=(e={})=>{let[t,r]=c.useState(v),i=c.useRef(v);c.useEffect(()=>(i.current!==v&&r(v),D.push(r),()=>{let a=D.indexOf(r);a>-1&&D.splice(a,1)}),[]);let n=t.toasts.map(a=>{var o,s,l;return{...e,...e[a.type],...a,removeDelay:a.removeDelay||((o=e[a.type])==null?void 0:o.removeDelay)||(e==null?void 0:e.removeDelay),duration:a.duration||((s=e[a.type])==null?void 0:s.duration)||(e==null?void 0:e.duration)||Z[a.type],style:{...e.style,...(l=e[a.type])==null?void 0:l.style,...a.style}}});return{...t,toasts:n}},J=(e,t="blank",r)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:(r==null?void 0:r.id)||q()}),$=e=>(t,r)=>{let i=J(t,e,r);return w({type:2,toast:i}),i.id},p=(e,t)=>$("blank")(e,t);p.error=$("error");p.success=$("success");p.loading=$("loading");p.custom=$("custom");p.dismiss=e=>{w({type:3,toastId:e})};p.remove=e=>w({type:4,toastId:e});p.promise=(e,t,r)=>{let i=p.loading(t.loading,{...r,...r==null?void 0:r.loading});return typeof e=="function"&&(e=e()),e.then(n=>{let a=t.success?O(t.success,n):void 0;return a?p.success(a,{id:i,...r,...r==null?void 0:r.success}):p.dismiss(i),n}).catch(n=>{let a=t.error?O(t.error,n):void 0;a?p.error(a,{id:i,...r,...r==null?void 0:r.error}):p.dismiss(i)}),e};var K=(e,t)=>{w({type:1,toast:{id:e,height:t}})},W=()=>{w({type:5,time:Date.now()})},E=new Map,X=1e3,G=(e,t=X)=>{if(E.has(e))return;let r=setTimeout(()=>{E.delete(e),w({type:4,toastId:e})},t);E.set(e,r)},Q=e=>{let{toasts:t,pausedAt:r}=B(e);c.useEffect(()=>{if(r)return;let a=Date.now(),o=t.map(s=>{if(s.duration===1/0)return;let l=(s.duration||0)+s.pauseDuration-(a-s.createdAt);if(l<0){s.visible&&p.dismiss(s.id);return}return setTimeout(()=>p.dismiss(s.id),l)});return()=>{o.forEach(s=>s&&clearTimeout(s))}},[t,r]);let i=c.useCallback(()=>{r&&w({type:6,time:Date.now()})},[r]),n=c.useCallback((a,o)=>{let{reverseOrder:s=!1,gutter:l=8,defaultPosition:d}=o||{},u=t.filter(g=>(g.position||d)===(a.position||d)&&g.height),m=u.findIndex(g=>g.id===a.id),f=u.filter((g,C)=>C<m&&g.visible).length;return u.filter(g=>g.visible).slice(...s?[f+1]:[0,f]).reduce((g,C)=>g+(C.height||0)+l,0)},[t]);return c.useEffect(()=>{t.forEach(a=>{if(a.dismissed)G(a.id,a.removeDelay);else{let o=E.get(a.id);o&&(clearTimeout(o),E.delete(a.id))}})},[t]),{toasts:t,handlers:{updateHeight:K,startPause:W,endPause:i,calculateOffset:n}}},ee=h` +import{r as c}from"./index-C21YiIe4.js";let T={data:""},F=e=>typeof window=="object"?((e?e.querySelector("#_goober"):window._goober)||Object.assign((e||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:e||T,_=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,H=/\/\*[^]*?\*\/| +/g,z=/\n+/g,b=(e,t)=>{let r="",i="",n="";for(let a in e){let o=e[a];a[0]=="@"?a[1]=="i"?r=a+" "+o+";":i+=a[1]=="f"?b(o,a):a+"{"+b(o,a[1]=="k"?"":t)+"}":typeof o=="object"?i+=b(o,t?t.replace(/([^,])+/g,s=>a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,l=>/&/.test(l)?l.replace(/&/g,s):s?s+" "+l:l)):a):o!=null&&(a=/^--/.test(a)?a:a.replace(/[A-Z]/g,"-$&").toLowerCase(),n+=b.p?b.p(a,o):a+":"+o+";")}return r+(t&&n?t+"{"+n+"}":n)+i},y={},P=e=>{if(typeof e=="object"){let t="";for(let r in e)t+=r+P(e[r]);return t}return e},L=(e,t,r,i,n)=>{let a=P(e),o=y[a]||(y[a]=(l=>{let d=0,u=11;for(;d<l.length;)u=101*u+l.charCodeAt(d++)>>>0;return"go"+u})(a));if(!y[o]){let l=a!==e?e:(d=>{let u,m,f=[{}];for(;u=_.exec(d.replace(H,""));)u[4]?f.shift():u[3]?(m=u[3].replace(z," ").trim(),f.unshift(f[0][m]=f[0][m]||{})):f[0][u[1]]=u[2].replace(z," ").trim();return f[0]})(e);y[o]=b(n?{["@keyframes "+o]:l}:l,r?"":"."+o)}let s=r&&y.g?y.g:null;return r&&(y.g=y[o]),((l,d,u,m)=>{m?d.data=d.data.replace(m,l):d.data.indexOf(l)===-1&&(d.data=u?l+d.data:d.data+l)})(y[o],t,i,s),o},R=(e,t,r)=>e.reduce((i,n,a)=>{let o=t[a];if(o&&o.call){let s=o(r),l=s&&s.props&&s.props.className||/^go/.test(s)&&s;o=l?"."+l:s&&typeof s=="object"?s.props?"":b(s,""):s===!1?"":s}return i+n+(o??"")},"");function j(e){let t=this||{},r=e.call?e(t.p):e;return L(r.unshift?r.raw?R(r,[].slice.call(arguments,1),t.p):r.reduce((i,n)=>Object.assign(i,n&&n.call?n(t.p):n),{}):r,F(t.target),t.g,t.o,t.k)}let I,A,N;j.bind({g:1});let h=j.bind({k:1});function U(e,t,r,i){b.p=t,I=e,A=r,N=i}function x(e,t){let r=this||{};return function(){let i=arguments;function n(a,o){let s=Object.assign({},a),l=s.className||n.className;r.p=Object.assign({theme:A&&A()},s),r.o=/ *go\d+/.test(l),s.className=j.apply(r,i)+(l?" "+l:"");let d=e;return e[0]&&(d=s.as||e,delete s.as),N&&d[0]&&N(s),I(d,s)}return n}}var V=e=>typeof e=="function",O=(e,t)=>V(e)?e(t):e,q=(()=>{let e=0;return()=>(++e).toString()})(),S=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),Y=20,M=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Y)};case 1:return{...e,toasts:e.toasts.map(a=>a.id===t.toast.id?{...a,...t.toast}:a)};case 2:let{toast:r}=t;return M(e,{type:e.toasts.find(a=>a.id===r.id)?1:0,toast:r});case 3:let{toastId:i}=t;return{...e,toasts:e.toasts.map(a=>a.id===i||i===void 0?{...a,dismissed:!0,visible:!1}:a)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(a=>a.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let n=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(a=>({...a,pauseDuration:a.pauseDuration+n}))}}},D=[],v={toasts:[],pausedAt:void 0},w=e=>{v=M(v,e),D.forEach(t=>{t(v)})},Z={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},B=(e={})=>{let[t,r]=c.useState(v),i=c.useRef(v);c.useEffect(()=>(i.current!==v&&r(v),D.push(r),()=>{let a=D.indexOf(r);a>-1&&D.splice(a,1)}),[]);let n=t.toasts.map(a=>{var o,s,l;return{...e,...e[a.type],...a,removeDelay:a.removeDelay||((o=e[a.type])==null?void 0:o.removeDelay)||(e==null?void 0:e.removeDelay),duration:a.duration||((s=e[a.type])==null?void 0:s.duration)||(e==null?void 0:e.duration)||Z[a.type],style:{...e.style,...(l=e[a.type])==null?void 0:l.style,...a.style}}});return{...t,toasts:n}},J=(e,t="blank",r)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:(r==null?void 0:r.id)||q()}),$=e=>(t,r)=>{let i=J(t,e,r);return w({type:2,toast:i}),i.id},p=(e,t)=>$("blank")(e,t);p.error=$("error");p.success=$("success");p.loading=$("loading");p.custom=$("custom");p.dismiss=e=>{w({type:3,toastId:e})};p.remove=e=>w({type:4,toastId:e});p.promise=(e,t,r)=>{let i=p.loading(t.loading,{...r,...r==null?void 0:r.loading});return typeof e=="function"&&(e=e()),e.then(n=>{let a=t.success?O(t.success,n):void 0;return a?p.success(a,{id:i,...r,...r==null?void 0:r.success}):p.dismiss(i),n}).catch(n=>{let a=t.error?O(t.error,n):void 0;a?p.error(a,{id:i,...r,...r==null?void 0:r.error}):p.dismiss(i)}),e};var K=(e,t)=>{w({type:1,toast:{id:e,height:t}})},W=()=>{w({type:5,time:Date.now()})},E=new Map,X=1e3,G=(e,t=X)=>{if(E.has(e))return;let r=setTimeout(()=>{E.delete(e),w({type:4,toastId:e})},t);E.set(e,r)},Q=e=>{let{toasts:t,pausedAt:r}=B(e);c.useEffect(()=>{if(r)return;let a=Date.now(),o=t.map(s=>{if(s.duration===1/0)return;let l=(s.duration||0)+s.pauseDuration-(a-s.createdAt);if(l<0){s.visible&&p.dismiss(s.id);return}return setTimeout(()=>p.dismiss(s.id),l)});return()=>{o.forEach(s=>s&&clearTimeout(s))}},[t,r]);let i=c.useCallback(()=>{r&&w({type:6,time:Date.now()})},[r]),n=c.useCallback((a,o)=>{let{reverseOrder:s=!1,gutter:l=8,defaultPosition:d}=o||{},u=t.filter(g=>(g.position||d)===(a.position||d)&&g.height),m=u.findIndex(g=>g.id===a.id),f=u.filter((g,C)=>C<m&&g.visible).length;return u.filter(g=>g.visible).slice(...s?[f+1]:[0,f]).reduce((g,C)=>g+(C.height||0)+l,0)},[t]);return c.useEffect(()=>{t.forEach(a=>{if(a.dismissed)G(a.id,a.removeDelay);else{let o=E.get(a.id);o&&(clearTimeout(o),E.delete(a.id))}})},[t]),{toasts:t,handlers:{updateHeight:K,startPause:W,endPause:i,calculateOffset:n}}},ee=h` from { transform: scale(0) rotate(45deg); opacity: 0; diff --git a/compendium_v2/static/index-BsZyajo4.js b/compendium_v2/static/index-X7mNNoWD.js similarity index 92% rename from compendium_v2/static/index-BsZyajo4.js rename to compendium_v2/static/index-X7mNNoWD.js index 2b224e7535a50481267f6e7660b21fb20980b180..2812d053fe2f99a90b9acf18c310c085ea224768 100644 --- a/compendium_v2/static/index-BsZyajo4.js +++ b/compendium_v2/static/index-X7mNNoWD.js @@ -1 +1 @@ -import{r as a,f as h}from"./index-BBqwf-sR.js";import{C as b,t as L,v}from"./useData-CR6GUHnJ.js";const C="label";function m(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function B(t,e){const n=t.options;n&&e&&Object.assign(n,e)}function y(t,e){t.labels=e}function E(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:C;const o=[];t.datasets=e.map(s=>{const u=t.datasets.find(i=>i[n]===s[n]);return!u||!s.data||o.includes(u)?{...s}:(o.push(u),Object.assign(u,s),u)})}function T(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:C;const n={labels:[],datasets:[]};return y(n,t.labels),E(n,t.datasets,e),n}function j(t,e){const{height:n=150,width:o=300,redraw:s=!1,datasetIdKey:u,type:i,data:c,options:f,plugins:w=[],fallbackContent:I,updateMode:g,...K}=t,l=a.useRef(null),r=a.useRef(null),d=()=>{l.current&&(r.current=new b(l.current,{type:i,data:T(c,u),options:f&&{...f},plugins:w}),m(e,r.current))},p=()=>{m(e,null),r.current&&(r.current.destroy(),r.current=null)};return a.useEffect(()=>{!s&&r.current&&f&&B(r.current,f)},[s,f]),a.useEffect(()=>{!s&&r.current&&y(r.current.config.data,c.labels)},[s,c.labels]),a.useEffect(()=>{!s&&r.current&&c.datasets&&E(r.current.config.data,c.datasets,u)},[s,c.datasets]),a.useEffect(()=>{r.current&&(s?(p(),setTimeout(d)):r.current.update(g))},[s,f,c.labels,c.datasets,g]),a.useEffect(()=>{r.current&&(p(),setTimeout(d))},[i]),a.useEffect(()=>(d(),()=>p()),[]),h.createElement("canvas",{ref:l,role:"img",height:n,width:o,...K},I)}const D=a.forwardRef(j);function R(t,e){return b.register(e),a.forwardRef((n,o)=>h.createElement(D,{...n,ref:o,type:t}))}const M=R("line",L),P=R("bar",v);export{P as B,M as L}; +import{r as a,f as h}from"./index-C21YiIe4.js";import{C as b,t as L,v}from"./useData-DpGbPZTZ.js";const C="label";function m(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function B(t,e){const n=t.options;n&&e&&Object.assign(n,e)}function y(t,e){t.labels=e}function E(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:C;const o=[];t.datasets=e.map(s=>{const u=t.datasets.find(i=>i[n]===s[n]);return!u||!s.data||o.includes(u)?{...s}:(o.push(u),Object.assign(u,s),u)})}function T(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:C;const n={labels:[],datasets:[]};return y(n,t.labels),E(n,t.datasets,e),n}function j(t,e){const{height:n=150,width:o=300,redraw:s=!1,datasetIdKey:u,type:i,data:c,options:f,plugins:w=[],fallbackContent:I,updateMode:g,...K}=t,l=a.useRef(null),r=a.useRef(null),d=()=>{l.current&&(r.current=new b(l.current,{type:i,data:T(c,u),options:f&&{...f},plugins:w}),m(e,r.current))},p=()=>{m(e,null),r.current&&(r.current.destroy(),r.current=null)};return a.useEffect(()=>{!s&&r.current&&f&&B(r.current,f)},[s,f]),a.useEffect(()=>{!s&&r.current&&y(r.current.config.data,c.labels)},[s,c.labels]),a.useEffect(()=>{!s&&r.current&&c.datasets&&E(r.current.config.data,c.datasets,u)},[s,c.datasets]),a.useEffect(()=>{r.current&&(s?(p(),setTimeout(d)):r.current.update(g))},[s,f,c.labels,c.datasets,g]),a.useEffect(()=>{r.current&&(p(),setTimeout(d))},[i]),a.useEffect(()=>(d(),()=>p()),[]),h.createElement("canvas",{ref:l,role:"img",height:n,width:o,...K},I)}const D=a.forwardRef(j);function R(t,e){return b.register(e),a.forwardRef((n,o)=>h.createElement(D,{...n,ref:o,type:t}))}const M=R("line",L),P=R("bar",v);export{P as B,M as L}; diff --git a/compendium_v2/static/index.html b/compendium_v2/static/index.html index 9f80c79d1b282fc9fbba06c8f55d7312cec57e6a..4ac6fcc49c6b1cd14e29b0ba314cb8f3c6cad3b2 100644 --- a/compendium_v2/static/index.html +++ b/compendium_v2/static/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=.5"/> <meta name="description" content="The GÉANT Compendium of National Research and Education Networks in Europe is the result of a broad, collective effort to portray the networks of the research and education community in Europe and beyond. The annual NREN Compendium survey invites the world's NRENs to provide detailed information about their network, equipment and users. The results from this survey are highlighted in these studies."/> <title>The GÉANT Compendium</title> - <script type="module" crossorigin src="/static/index-BBqwf-sR.js"></script> + <script type="module" crossorigin src="/static/index-C21YiIe4.js"></script> <link rel="stylesheet" crossorigin href="/static/index-Cv7xX6AU.css"> </head> <body> diff --git a/compendium_v2/static/lodash-B_Jzqs2q.js b/compendium_v2/static/lodash-DF20DnQn.js similarity index 99% rename from compendium_v2/static/lodash-B_Jzqs2q.js rename to compendium_v2/static/lodash-DF20DnQn.js index 93fdf6932ba0cf57246135ab2ef71852537de7d8..520a9f0afa780029f8f7616ea386a10aefb4d938 100644 --- a/compendium_v2/static/lodash-B_Jzqs2q.js +++ b/compendium_v2/static/lodash-DF20DnQn.js @@ -1,4 +1,4 @@ -import{f as vo,r as X,j as On,a8 as A_,a9 as y_,aa as m_,i as Et,ab as xo,ac as E_,ad as R_,ae as I_,af as C_,ag as S_,h as $t,ah as cr}from"./index-BBqwf-sR.js";import{u as T_}from"./hook-Lm-AbHy7.js";function he(...W){return W.filter(I=>I!=null).reduce((I,o)=>{if(typeof o!="function")throw new Error("Invalid Argument Type, must only provide functions, undefined, or null.");return I===null?o:function(...U){I.apply(this,U),o.apply(this,U)}},null)}const L_={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]};function O_(W,I){const o=`offset${W[0].toUpperCase()}${W.slice(1)}`,$=I[o],U=L_[W];return $+parseInt(xo(I,U[0]),10)+parseInt(xo(I,U[1]),10)}const W_={[E_]:"collapse",[R_]:"collapsing",[I_]:"collapsing",[C_]:"collapse show"},B_=vo.forwardRef(({onEnter:W,onEntering:I,onEntered:o,onExit:$,onExiting:U,className:k,children:L,dimension:nn="height",in:rn=!1,timeout:ht=300,mountOnEnter:Wn=!1,unmountOnExit:an=!1,appear:_e=!1,getDimensionValue:Kn=O_,...zn},Rt)=>{const N=typeof nn=="function"?nn():nn,et=X.useMemo(()=>he(J=>{J.style[N]="0"},W),[N,W]),de=X.useMemo(()=>he(J=>{const _n=`scroll${N[0].toUpperCase()}${N.slice(1)}`;J.style[N]=`${J[_n]}px`},I),[N,I]),Bn=X.useMemo(()=>he(J=>{J.style[N]=null},o),[N,o]),gt=X.useMemo(()=>he(J=>{J.style[N]=`${Kn(N,J)}px`,S_(J)},$),[$,Kn,N]),Mn=X.useMemo(()=>he(J=>{J.style[N]=null},U),[N,U]);return On.jsx(A_,{ref:Rt,addEndListener:y_,...zn,"aria-expanded":zn.role?rn:null,onEnter:et,onEntering:de,onEntered:Bn,onExit:gt,onExiting:Mn,childRef:m_(L),in:rn,timeout:ht,mountOnEnter:Wn,unmountOnExit:an,appear:_e,children:(J,_n)=>vo.cloneElement(L,{..._n,className:Et(k,L.props.className,W_[J],N==="width"&&"collapse-horizontal")})})});function Ao(W,I){return Array.isArray(W)?W.includes(I):W===I}const pe=X.createContext({});pe.displayName="AccordionContext";const bi=X.forwardRef(({as:W="div",bsPrefix:I,className:o,children:$,eventKey:U,...k},L)=>{const{activeEventKey:nn}=X.useContext(pe);return I=$t(I,"accordion-collapse"),On.jsx(B_,{ref:L,in:Ao(nn,U),...k,className:Et(o,I),children:On.jsx(W,{children:X.Children.only($)})})});bi.displayName="AccordionCollapse";const hr=X.createContext({eventKey:""});hr.displayName="AccordionItemContext";const yo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,...ht},Wn)=>{I=$t(I,"accordion-body");const{eventKey:an}=X.useContext(hr);return On.jsx(bi,{eventKey:an,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,children:On.jsx(W,{ref:Wn,...ht,className:Et(o,I)})})});yo.displayName="AccordionBody";function M_(W,I){const{activeEventKey:o,onSelect:$,alwaysOpen:U}=X.useContext(pe);return k=>{let L=W===o?null:W;U&&(Array.isArray(o)?o.includes(W)?L=o.filter(nn=>nn!==W):L=[...o,W]:L=[W]),$==null||$(L,k),I==null||I(k)}}const Pi=X.forwardRef(({as:W="button",bsPrefix:I,className:o,onClick:$,...U},k)=>{I=$t(I,"accordion-button");const{eventKey:L}=X.useContext(hr),nn=M_(L,$),{activeEventKey:rn}=X.useContext(pe);return W==="button"&&(U.type="button"),On.jsx(W,{ref:k,onClick:nn,...U,"aria-expanded":Array.isArray(rn)?rn.includes(L):L===rn,className:Et(o,I,!Ao(rn,L)&&"collapsed")})});Pi.displayName="AccordionButton";const mo=X.forwardRef(({as:W="h2","aria-controls":I,bsPrefix:o,className:$,children:U,onClick:k,...L},nn)=>(o=$t(o,"accordion-header"),On.jsx(W,{ref:nn,...L,className:Et($,o),children:On.jsx(Pi,{onClick:k,"aria-controls":I,children:U})})));mo.displayName="AccordionHeader";const Eo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,eventKey:$,...U},k)=>{I=$t(I,"accordion-item");const L=X.useMemo(()=>({eventKey:$}),[$]);return On.jsx(hr.Provider,{value:L,children:On.jsx(W,{ref:k,...U,className:Et(o,I)})})});Eo.displayName="AccordionItem";const Ro=X.forwardRef((W,I)=>{const{as:o="div",activeKey:$,bsPrefix:U,className:k,onSelect:L,flush:nn,alwaysOpen:rn,...ht}=T_(W,{activeKey:"onSelect"}),Wn=$t(U,"accordion"),an=X.useMemo(()=>({activeEventKey:$,onSelect:L,alwaysOpen:rn}),[$,L,rn]);return On.jsx(pe.Provider,{value:an,children:On.jsx(o,{ref:I,...ht,className:Et(k,Wn,nn&&`${Wn}-flush`)})})});Ro.displayName="Accordion";const D_=Object.assign(Ro,{Button:Pi,Collapse:bi,Item:Eo,Header:mo,Body:yo});var ge={exports:{}};/** +import{f as vo,r as X,j as On,a8 as A_,a9 as y_,aa as m_,i as Et,ab as xo,ac as E_,ad as R_,ae as I_,af as C_,ag as S_,h as $t,ah as cr}from"./index-C21YiIe4.js";import{u as T_}from"./hook-ZzfBsVxi.js";function he(...W){return W.filter(I=>I!=null).reduce((I,o)=>{if(typeof o!="function")throw new Error("Invalid Argument Type, must only provide functions, undefined, or null.");return I===null?o:function(...U){I.apply(this,U),o.apply(this,U)}},null)}const L_={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]};function O_(W,I){const o=`offset${W[0].toUpperCase()}${W.slice(1)}`,$=I[o],U=L_[W];return $+parseInt(xo(I,U[0]),10)+parseInt(xo(I,U[1]),10)}const W_={[E_]:"collapse",[R_]:"collapsing",[I_]:"collapsing",[C_]:"collapse show"},B_=vo.forwardRef(({onEnter:W,onEntering:I,onEntered:o,onExit:$,onExiting:U,className:k,children:L,dimension:nn="height",in:rn=!1,timeout:ht=300,mountOnEnter:Wn=!1,unmountOnExit:an=!1,appear:_e=!1,getDimensionValue:Kn=O_,...zn},Rt)=>{const N=typeof nn=="function"?nn():nn,et=X.useMemo(()=>he(J=>{J.style[N]="0"},W),[N,W]),de=X.useMemo(()=>he(J=>{const _n=`scroll${N[0].toUpperCase()}${N.slice(1)}`;J.style[N]=`${J[_n]}px`},I),[N,I]),Bn=X.useMemo(()=>he(J=>{J.style[N]=null},o),[N,o]),gt=X.useMemo(()=>he(J=>{J.style[N]=`${Kn(N,J)}px`,S_(J)},$),[$,Kn,N]),Mn=X.useMemo(()=>he(J=>{J.style[N]=null},U),[N,U]);return On.jsx(A_,{ref:Rt,addEndListener:y_,...zn,"aria-expanded":zn.role?rn:null,onEnter:et,onEntering:de,onEntered:Bn,onExit:gt,onExiting:Mn,childRef:m_(L),in:rn,timeout:ht,mountOnEnter:Wn,unmountOnExit:an,appear:_e,children:(J,_n)=>vo.cloneElement(L,{..._n,className:Et(k,L.props.className,W_[J],N==="width"&&"collapse-horizontal")})})});function Ao(W,I){return Array.isArray(W)?W.includes(I):W===I}const pe=X.createContext({});pe.displayName="AccordionContext";const bi=X.forwardRef(({as:W="div",bsPrefix:I,className:o,children:$,eventKey:U,...k},L)=>{const{activeEventKey:nn}=X.useContext(pe);return I=$t(I,"accordion-collapse"),On.jsx(B_,{ref:L,in:Ao(nn,U),...k,className:Et(o,I),children:On.jsx(W,{children:X.Children.only($)})})});bi.displayName="AccordionCollapse";const hr=X.createContext({eventKey:""});hr.displayName="AccordionItemContext";const yo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,...ht},Wn)=>{I=$t(I,"accordion-body");const{eventKey:an}=X.useContext(hr);return On.jsx(bi,{eventKey:an,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,children:On.jsx(W,{ref:Wn,...ht,className:Et(o,I)})})});yo.displayName="AccordionBody";function M_(W,I){const{activeEventKey:o,onSelect:$,alwaysOpen:U}=X.useContext(pe);return k=>{let L=W===o?null:W;U&&(Array.isArray(o)?o.includes(W)?L=o.filter(nn=>nn!==W):L=[...o,W]:L=[W]),$==null||$(L,k),I==null||I(k)}}const Pi=X.forwardRef(({as:W="button",bsPrefix:I,className:o,onClick:$,...U},k)=>{I=$t(I,"accordion-button");const{eventKey:L}=X.useContext(hr),nn=M_(L,$),{activeEventKey:rn}=X.useContext(pe);return W==="button"&&(U.type="button"),On.jsx(W,{ref:k,onClick:nn,...U,"aria-expanded":Array.isArray(rn)?rn.includes(L):L===rn,className:Et(o,I,!Ao(rn,L)&&"collapsed")})});Pi.displayName="AccordionButton";const mo=X.forwardRef(({as:W="h2","aria-controls":I,bsPrefix:o,className:$,children:U,onClick:k,...L},nn)=>(o=$t(o,"accordion-header"),On.jsx(W,{ref:nn,...L,className:Et($,o),children:On.jsx(Pi,{onClick:k,"aria-controls":I,children:U})})));mo.displayName="AccordionHeader";const Eo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,eventKey:$,...U},k)=>{I=$t(I,"accordion-item");const L=X.useMemo(()=>({eventKey:$}),[$]);return On.jsx(hr.Provider,{value:L,children:On.jsx(W,{ref:k,...U,className:Et(o,I)})})});Eo.displayName="AccordionItem";const Ro=X.forwardRef((W,I)=>{const{as:o="div",activeKey:$,bsPrefix:U,className:k,onSelect:L,flush:nn,alwaysOpen:rn,...ht}=T_(W,{activeKey:"onSelect"}),Wn=$t(U,"accordion"),an=X.useMemo(()=>({activeEventKey:$,onSelect:L,alwaysOpen:rn}),[$,L,rn]);return On.jsx(pe.Provider,{value:an,children:On.jsx(o,{ref:I,...ht,className:Et(k,Wn,nn&&`${Wn}-flush`)})})});Ro.displayName="Accordion";const D_=Object.assign(Ro,{Button:Pi,Collapse:bi,Item:Eo,Header:mo,Body:yo});var ge={exports:{}};/** * @license * Lodash <https://lodash.com/> * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> diff --git a/compendium_v2/static/useData-CR6GUHnJ.js b/compendium_v2/static/useData-DpGbPZTZ.js similarity index 99% rename from compendium_v2/static/useData-CR6GUHnJ.js rename to compendium_v2/static/useData-DpGbPZTZ.js index c513246f001d1d601bf6a9991730f319b484486b..092cf26c9cea097dcd1bfe96482626d0248708c9 100644 --- a/compendium_v2/static/useData-CR6GUHnJ.js +++ b/compendium_v2/static/useData-DpGbPZTZ.js @@ -1,4 +1,4 @@ -var Va=Object.defineProperty;var Ya=(e,t,n)=>t in e?Va(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var R=(e,t,n)=>Ya(e,typeof t!="symbol"?t+"":t,n);import{r as A,u as Wt,g as Ua,j as M,h as qt,i as Kt,k as Xa,w as qa,l as xs,o as Ka,m as fn,f as ue,n as cr,B as Ga,p as Ja,q as Za,s as ys,v as Qa,x as hr,y as Ft,z as tl,A as el,c as wt,D as nl,S as G,E as ur,R as se,O as il,P as sl,G as ol,N as rl,H as al,I as ve,J as dr,K as ge,M as ll,Q as cl,T as hl,L as ul,V as dl,C as vs,W as Qn,X as fl}from"./index-BBqwf-sR.js";import{S as rn}from"./SideBar-C91-oLVm.js";import{u as ti,w as pl}from"./xlsx-BHRztzV8.js";import{c as fr,F as pr}from"./index-DrIlvjJO.js";import{u as gl}from"./hook-Lm-AbHy7.js";function ml(){return A.useState(null)}function bl(e,t,n,i=!1){const s=Wt(n);A.useEffect(()=>{const o=typeof e=="function"?e():e;return o.addEventListener(t,s,i),()=>o.removeEventListener(t,s,i)},[e])}const xl=["onKeyDown"];function yl(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function vl(e){return!e||e.trim()==="#"}const gr=A.forwardRef((e,t)=>{let{onKeyDown:n}=e,i=yl(e,xl);const[s]=Ua(Object.assign({tagName:"a"},i)),o=Wt(r=>{s.onKeyDown(r),n==null||n(r)});return vl(i.href)||i.role==="button"?M.jsx("a",Object.assign({ref:t},i,s,{onKeyDown:o})):M.jsx("a",Object.assign({ref:t},i,{onKeyDown:n}))});gr.displayName="Anchor";const Li=A.forwardRef(({bsPrefix:e,className:t,role:n="toolbar",...i},s)=>{const o=qt(e,"btn-toolbar");return M.jsx("div",{...i,ref:s,className:Kt(t,o),role:n})});Li.displayName="ButtonToolbar";function _l(e,t,n){const i=A.useRef(e!==void 0),[s,o]=A.useState(t),r=e!==void 0,a=i.current;return i.current=r,!r&&a&&s!==t&&o(t),[r?e:s,A.useCallback((...l)=>{const[c,...h]=l;let u=n==null?void 0:n(c,...h);return o(c),u},[n])]}function wl(){const[,e]=A.useReducer(t=>t+1,0);return e}const Xn=A.createContext(null);var _s=Object.prototype.hasOwnProperty;function ws(e,t,n){for(n of e.keys())if(We(n,t))return n}function We(e,t){var n,i,s;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((i=e.length)===t.length)for(;i--&&We(e[i],t[i]););return i===-1}if(n===Set){if(e.size!==t.size)return!1;for(i of e)if(s=i,s&&typeof s=="object"&&(s=ws(t,s),!s)||!t.has(s))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(i of e)if(s=i[0],s&&typeof s=="object"&&(s=ws(t,s),!s)||!We(i[1],t.get(s)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return i===-1}if(ArrayBuffer.isView(e)){if((i=e.byteLength)===t.byteLength)for(;i--&&e[i]===t[i];);return i===-1}if(!n||typeof e=="object"){i=0;for(n in e)if(_s.call(e,n)&&++i&&!_s.call(t,n)||!(n in t)||!We(e[n],t[n]))return!1;return Object.keys(t).length===i}}return e!==e&&t!==t}function Sl(e){const t=Xa();return[e[0],A.useCallback(n=>{if(t())return e[1](n)},[t,e[1]])]}var ut="top",xt="bottom",yt="right",dt="left",Fi="auto",an=[ut,xt,yt,dt],ke="start",Ge="end",kl="clippingParents",mr="viewport",Le="popper",Ml="reference",Ss=an.reduce(function(e,t){return e.concat([t+"-"+ke,t+"-"+Ge])},[]),br=[].concat(an,[Fi]).reduce(function(e,t){return e.concat([t,t+"-"+ke,t+"-"+Ge])},[]),Cl="beforeRead",Pl="read",Ol="afterRead",Dl="beforeMain",Al="main",El="afterMain",Tl="beforeWrite",Rl="write",Ll="afterWrite",Fl=[Cl,Pl,Ol,Dl,Al,El,Tl,Rl,Ll];function Pt(e){return e.split("-")[0]}function gt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function de(e){var t=gt(e).Element;return e instanceof t||e instanceof Element}function Ot(e){var t=gt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Ii(e){if(typeof ShadowRoot>"u")return!1;var t=gt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var ce=Math.max,Fn=Math.min,Me=Math.round;function _i(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function xr(){return!/^((?!chrome|android).)*safari/i.test(_i())}function Ce(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),s=1,o=1;t&&Ot(e)&&(s=e.offsetWidth>0&&Me(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Me(i.height)/e.offsetHeight||1);var r=de(e)?gt(e):window,a=r.visualViewport,l=!xr()&&n,c=(i.left+(l&&a?a.offsetLeft:0))/s,h=(i.top+(l&&a?a.offsetTop:0))/o,u=i.width/s,d=i.height/o;return{width:u,height:d,top:h,right:c+u,bottom:h+d,left:c,x:c,y:h}}function ji(e){var t=Ce(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function yr(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ii(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Ut(e){return e?(e.nodeName||"").toLowerCase():null}function It(e){return gt(e).getComputedStyle(e)}function Il(e){return["table","td","th"].indexOf(Ut(e))>=0}function Gt(e){return((de(e)?e.ownerDocument:e.document)||window.document).documentElement}function qn(e){return Ut(e)==="html"?e:e.assignedSlot||e.parentNode||(Ii(e)?e.host:null)||Gt(e)}function ks(e){return!Ot(e)||It(e).position==="fixed"?null:e.offsetParent}function jl(e){var t=/firefox/i.test(_i()),n=/Trident/i.test(_i());if(n&&Ot(e)){var i=It(e);if(i.position==="fixed")return null}var s=qn(e);for(Ii(s)&&(s=s.host);Ot(s)&&["html","body"].indexOf(Ut(s))<0;){var o=It(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function ln(e){for(var t=gt(e),n=ks(e);n&&Il(n)&&It(n).position==="static";)n=ks(n);return n&&(Ut(n)==="html"||Ut(n)==="body"&&It(n).position==="static")?t:n||jl(e)||t}function $i(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ve(e,t,n){return ce(e,Fn(t,n))}function $l(e,t,n){var i=Ve(e,t,n);return i>n?n:i}function vr(){return{top:0,right:0,bottom:0,left:0}}function _r(e){return Object.assign({},vr(),e)}function wr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var zl=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,_r(typeof t!="number"?t:wr(t,an))};function Nl(e){var t,n=e.state,i=e.name,s=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=Pt(n.placement),l=$i(a),c=[dt,yt].indexOf(a)>=0,h=c?"height":"width";if(!(!o||!r)){var u=zl(s.padding,n),d=ji(o),f=l==="y"?ut:dt,g=l==="y"?xt:yt,m=n.rects.reference[h]+n.rects.reference[l]-r[l]-n.rects.popper[h],p=r[l]-n.rects.reference[l],b=ln(o),x=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,v=m/2-p/2,_=u[f],y=x-d[h]-u[g],w=x/2-d[h]/2+v,k=Ve(_,w,y),S=l;n.modifiersData[i]=(t={},t[S]=k,t.centerOffset=k-w,t)}}function Bl(e){var t=e.state,n=e.options,i=n.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||yr(t.elements.popper,s)&&(t.elements.arrow=s))}const Hl={name:"arrow",enabled:!0,phase:"main",fn:Nl,effect:Bl,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Pe(e){return e.split("-")[1]}var Wl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Vl(e,t){var n=e.x,i=e.y,s=t.devicePixelRatio||1;return{x:Me(n*s)/s||0,y:Me(i*s)/s||0}}function Ms(e){var t,n=e.popper,i=e.popperRect,s=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,h=e.roundOffsets,u=e.isFixed,d=r.x,f=d===void 0?0:d,g=r.y,m=g===void 0?0:g,p=typeof h=="function"?h({x:f,y:m}):{x:f,y:m};f=p.x,m=p.y;var b=r.hasOwnProperty("x"),x=r.hasOwnProperty("y"),v=dt,_=ut,y=window;if(c){var w=ln(n),k="clientHeight",S="clientWidth";if(w===gt(n)&&(w=Gt(n),It(w).position!=="static"&&a==="absolute"&&(k="scrollHeight",S="scrollWidth")),w=w,s===ut||(s===dt||s===yt)&&o===Ge){_=xt;var C=u&&w===y&&y.visualViewport?y.visualViewport.height:w[k];m-=C-i.height,m*=l?1:-1}if(s===dt||(s===ut||s===xt)&&o===Ge){v=yt;var D=u&&w===y&&y.visualViewport?y.visualViewport.width:w[S];f-=D-i.width,f*=l?1:-1}}var P=Object.assign({position:a},c&&Wl),O=h===!0?Vl({x:f,y:m},gt(n)):{x:f,y:m};if(f=O.x,m=O.y,l){var E;return Object.assign({},P,(E={},E[_]=x?"0":"",E[v]=b?"0":"",E.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",E))}return Object.assign({},P,(t={},t[_]=x?m+"px":"",t[v]=b?f+"px":"",t.transform="",t))}function Yl(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=i===void 0?!0:i,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Pt(t.placement),variation:Pe(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ms(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ms(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Ul={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Yl,data:{}};var pn={passive:!0};function Xl(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,o=s===void 0?!0:s,r=i.resize,a=r===void 0?!0:r,l=gt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",n.update,pn)}),a&&l.addEventListener("resize",n.update,pn),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",n.update,pn)}),a&&l.removeEventListener("resize",n.update,pn)}}const ql={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Xl,data:{}};var Kl={left:"right",right:"left",bottom:"top",top:"bottom"};function Tn(e){return e.replace(/left|right|bottom|top/g,function(t){return Kl[t]})}var Gl={start:"end",end:"start"};function Cs(e){return e.replace(/start|end/g,function(t){return Gl[t]})}function zi(e){var t=gt(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function Ni(e){return Ce(Gt(e)).left+zi(e).scrollLeft}function Jl(e,t){var n=gt(e),i=Gt(e),s=n.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=xr();(c||!c&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ni(e),y:l}}function Zl(e){var t,n=Gt(e),i=zi(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=ce(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ce(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+Ni(e),l=-i.scrollTop;return It(s||n).direction==="rtl"&&(a+=ce(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Bi(e){var t=It(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function Sr(e){return["html","body","#document"].indexOf(Ut(e))>=0?e.ownerDocument.body:Ot(e)&&Bi(e)?e:Sr(qn(e))}function Ye(e,t){var n;t===void 0&&(t=[]);var i=Sr(e),s=i===((n=e.ownerDocument)==null?void 0:n.body),o=gt(i),r=s?[o].concat(o.visualViewport||[],Bi(i)?i:[]):i,a=t.concat(r);return s?a:a.concat(Ye(qn(r)))}function wi(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ql(e,t){var n=Ce(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Ps(e,t,n){return t===mr?wi(Jl(e,n)):de(t)?Ql(t,n):wi(Zl(Gt(e)))}function tc(e){var t=Ye(qn(e)),n=["absolute","fixed"].indexOf(It(e).position)>=0,i=n&&Ot(e)?ln(e):e;return de(i)?t.filter(function(s){return de(s)&&yr(s,i)&&Ut(s)!=="body"}):[]}function ec(e,t,n,i){var s=t==="clippingParents"?tc(e):[].concat(t),o=[].concat(s,[n]),r=o[0],a=o.reduce(function(l,c){var h=Ps(e,c,i);return l.top=ce(h.top,l.top),l.right=Fn(h.right,l.right),l.bottom=Fn(h.bottom,l.bottom),l.left=ce(h.left,l.left),l},Ps(e,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function kr(e){var t=e.reference,n=e.element,i=e.placement,s=i?Pt(i):null,o=i?Pe(i):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case ut:l={x:r,y:t.y-n.height};break;case xt:l={x:r,y:t.y+t.height};break;case yt:l={x:t.x+t.width,y:a};break;case dt:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?$i(s):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case ke:l[c]=l[c]-(t[h]/2-n[h]/2);break;case Ge:l[c]=l[c]+(t[h]/2-n[h]/2);break}}return l}function Je(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=i===void 0?e.placement:i,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?kl:a,c=n.rootBoundary,h=c===void 0?mr:c,u=n.elementContext,d=u===void 0?Le:u,f=n.altBoundary,g=f===void 0?!1:f,m=n.padding,p=m===void 0?0:m,b=_r(typeof p!="number"?p:wr(p,an)),x=d===Le?Ml:Le,v=e.rects.popper,_=e.elements[g?x:d],y=ec(de(_)?_:_.contextElement||Gt(e.elements.popper),l,h,r),w=Ce(e.elements.reference),k=kr({reference:w,element:v,strategy:"absolute",placement:s}),S=wi(Object.assign({},v,k)),C=d===Le?S:w,D={top:y.top-C.top+b.top,bottom:C.bottom-y.bottom+b.bottom,left:y.left-C.left+b.left,right:C.right-y.right+b.right},P=e.modifiersData.offset;if(d===Le&&P){var O=P[s];Object.keys(D).forEach(function(E){var I=[yt,xt].indexOf(E)>=0?1:-1,T=[ut,xt].indexOf(E)>=0?"y":"x";D[E]+=O[T]*I})}return D}function nc(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?br:l,h=Pe(i),u=h?a?Ss:Ss.filter(function(g){return Pe(g)===h}):an,d=u.filter(function(g){return c.indexOf(g)>=0});d.length===0&&(d=u);var f=d.reduce(function(g,m){return g[m]=Je(e,{placement:m,boundary:s,rootBoundary:o,padding:r})[Pt(m)],g},{});return Object.keys(f).sort(function(g,m){return f[g]-f[m]})}function ic(e){if(Pt(e)===Fi)return[];var t=Tn(e);return[Cs(e),t,Cs(t)]}function sc(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,h=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.flipVariations,g=f===void 0?!0:f,m=n.allowedAutoPlacements,p=t.options.placement,b=Pt(p),x=b===p,v=l||(x||!g?[Tn(p)]:ic(p)),_=[p].concat(v).reduce(function(U,X){return U.concat(Pt(X)===Fi?nc(t,{placement:X,boundary:h,rootBoundary:u,padding:c,flipVariations:g,allowedAutoPlacements:m}):X)},[]),y=t.rects.reference,w=t.rects.popper,k=new Map,S=!0,C=_[0],D=0;D<_.length;D++){var P=_[D],O=Pt(P),E=Pe(P)===ke,I=[ut,xt].indexOf(O)>=0,T=I?"width":"height",L=Je(t,{placement:P,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),F=I?E?yt:dt:E?xt:ut;y[T]>w[T]&&(F=Tn(F));var H=Tn(F),$=[];if(o&&$.push(L[O]<=0),a&&$.push(L[F]<=0,L[H]<=0),$.every(function(U){return U})){C=P,S=!1;break}k.set(P,$)}if(S)for(var N=g?3:1,tt=function(X){var K=_.find(function(At){var W=k.get(At);if(W)return W.slice(0,X).every(function(et){return et})});if(K)return C=K,"break"},Q=N;Q>0;Q--){var nt=tt(Q);if(nt==="break")break}t.placement!==C&&(t.modifiersData[i]._skip=!0,t.placement=C,t.reset=!0)}}const oc={name:"flip",enabled:!0,phase:"main",fn:sc,requiresIfExists:["offset"],data:{_skip:!1}};function Os(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ds(e){return[ut,yt,xt,dt].some(function(t){return e[t]>=0})}function rc(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,r=Je(t,{elementContext:"reference"}),a=Je(t,{altBoundary:!0}),l=Os(r,i),c=Os(a,s,o),h=Ds(l),u=Ds(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}const ac={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:rc};function lc(e,t,n){var i=Pt(e),s=[dt,ut].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[dt,yt].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function cc(e){var t=e.state,n=e.options,i=e.name,s=n.offset,o=s===void 0?[0,0]:s,r=br.reduce(function(h,u){return h[u]=lc(u,t.rects,o),h},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}const hc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:cc};function uc(e){var t=e.state,n=e.name;t.modifiersData[n]=kr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const dc={name:"popperOffsets",enabled:!0,phase:"read",fn:uc,data:{}};function fc(e){return e==="x"?"y":"x"}function pc(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,h=n.altBoundary,u=n.padding,d=n.tether,f=d===void 0?!0:d,g=n.tetherOffset,m=g===void 0?0:g,p=Je(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),b=Pt(t.placement),x=Pe(t.placement),v=!x,_=$i(b),y=fc(_),w=t.modifiersData.popperOffsets,k=t.rects.reference,S=t.rects.popper,C=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,D=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),P=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(w){if(o){var E,I=_==="y"?ut:dt,T=_==="y"?xt:yt,L=_==="y"?"height":"width",F=w[_],H=F+p[I],$=F-p[T],N=f?-S[L]/2:0,tt=x===ke?k[L]:S[L],Q=x===ke?-S[L]:-k[L],nt=t.elements.arrow,U=f&&nt?ji(nt):{width:0,height:0},X=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:vr(),K=X[I],At=X[T],W=Ve(0,k[L],U[L]),et=v?k[L]/2-N-W-K-D.mainAxis:tt-W-K-D.mainAxis,Re=v?-k[L]/2+N+W+At+D.mainAxis:Q+W+At+D.mainAxis,$t=t.elements.arrow&&ln(t.elements.arrow),Jt=$t?_==="y"?$t.clientTop||0:$t.clientLeft||0:0,Zt=(E=P==null?void 0:P[_])!=null?E:0,lt=F+et-Zt-Jt,Ba=F+Re-Zt,hs=Ve(f?Fn(H,lt):H,F,f?ce($,Ba):$);w[_]=hs,O[_]=hs-F}if(a){var us,Ha=_==="x"?ut:dt,Wa=_==="x"?xt:yt,Qt=w[y],dn=y==="y"?"height":"width",ds=Qt+p[Ha],fs=Qt-p[Wa],Zn=[ut,dt].indexOf(b)!==-1,ps=(us=P==null?void 0:P[y])!=null?us:0,gs=Zn?ds:Qt-k[dn]-S[dn]-ps+D.altAxis,ms=Zn?Qt+k[dn]+S[dn]-ps-D.altAxis:fs,bs=f&&Zn?$l(gs,Qt,ms):Ve(f?gs:ds,Qt,f?ms:fs);w[y]=bs,O[y]=bs-Qt}t.modifiersData[i]=O}}const gc={name:"preventOverflow",enabled:!0,phase:"main",fn:pc,requiresIfExists:["offset"]};function mc(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function bc(e){return e===gt(e)||!Ot(e)?zi(e):mc(e)}function xc(e){var t=e.getBoundingClientRect(),n=Me(t.width)/e.offsetWidth||1,i=Me(t.height)/e.offsetHeight||1;return n!==1||i!==1}function yc(e,t,n){n===void 0&&(n=!1);var i=Ot(t),s=Ot(t)&&xc(t),o=Gt(t),r=Ce(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Ut(t)!=="body"||Bi(o))&&(a=bc(t)),Ot(t)?(l=Ce(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Ni(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function vc(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),i}function _c(e){var t=vc(e);return Fl.reduce(function(n,i){return n.concat(t.filter(function(s){return s.phase===i}))},[])}function wc(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Sc(e){var t=e.reduce(function(n,i){var s=n[i.name];return n[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var As={placement:"bottom",modifiers:[],strategy:"absolute"};function Es(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function kc(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,i=n===void 0?[]:n,s=t.defaultOptions,o=s===void 0?As:s;return function(a,l,c){c===void 0&&(c=o);var h={placement:"bottom",orderedModifiers:[],options:Object.assign({},As,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},u=[],d=!1,f={state:h,setOptions:function(b){var x=typeof b=="function"?b(h.options):b;m(),h.options=Object.assign({},o,h.options,x),h.scrollParents={reference:de(a)?Ye(a):a.contextElement?Ye(a.contextElement):[],popper:Ye(l)};var v=_c(Sc([].concat(i,h.options.modifiers)));return h.orderedModifiers=v.filter(function(_){return _.enabled}),g(),f.update()},forceUpdate:function(){if(!d){var b=h.elements,x=b.reference,v=b.popper;if(Es(x,v)){h.rects={reference:yc(x,ln(v),h.options.strategy==="fixed"),popper:ji(v)},h.reset=!1,h.placement=h.options.placement,h.orderedModifiers.forEach(function(D){return h.modifiersData[D.name]=Object.assign({},D.data)});for(var _=0;_<h.orderedModifiers.length;_++){if(h.reset===!0){h.reset=!1,_=-1;continue}var y=h.orderedModifiers[_],w=y.fn,k=y.options,S=k===void 0?{}:k,C=y.name;typeof w=="function"&&(h=w({state:h,options:S,name:C,instance:f})||h)}}}},update:wc(function(){return new Promise(function(p){f.forceUpdate(),p(h)})}),destroy:function(){m(),d=!0}};if(!Es(a,l))return f;f.setOptions(c).then(function(p){!d&&c.onFirstUpdate&&c.onFirstUpdate(p)});function g(){h.orderedModifiers.forEach(function(p){var b=p.name,x=p.options,v=x===void 0?{}:x,_=p.effect;if(typeof _=="function"){var y=_({state:h,name:b,instance:f,options:v}),w=function(){};u.push(y||w)}})}function m(){u.forEach(function(p){return p()}),u=[]}return f}}const Mc=kc({defaultModifiers:[ac,dc,Ul,ql,hc,oc,gc,Hl]}),Cc=["enabled","placement","strategy","modifiers"];function Pc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Oc={name:"applyStyles",enabled:!1,phase:"afterWrite",fn:()=>{}},Dc={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{const{reference:t,popper:n}=e.elements;if("removeAttribute"in t){const i=(t.getAttribute("aria-describedby")||"").split(",").filter(s=>s.trim()!==n.id);i.length?t.setAttribute("aria-describedby",i.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;const{popper:n,reference:i}=e.elements,s=(t=n.getAttribute("role"))==null?void 0:t.toLowerCase();if(n.id&&s==="tooltip"&&"setAttribute"in i){const o=i.getAttribute("aria-describedby");if(o&&o.split(",").indexOf(n.id)!==-1)return;i.setAttribute("aria-describedby",o?`${o},${n.id}`:n.id)}}},Ac=[];function Ec(e,t,n={}){let{enabled:i=!0,placement:s="bottom",strategy:o="absolute",modifiers:r=Ac}=n,a=Pc(n,Cc);const l=A.useRef(r),c=A.useRef(),h=A.useCallback(()=>{var p;(p=c.current)==null||p.update()},[]),u=A.useCallback(()=>{var p;(p=c.current)==null||p.forceUpdate()},[]),[d,f]=Sl(A.useState({placement:s,update:h,forceUpdate:u,attributes:{},styles:{popper:{},arrow:{}}})),g=A.useMemo(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:p})=>{const b={},x={};Object.keys(p.elements).forEach(v=>{b[v]=p.styles[v],x[v]=p.attributes[v]}),f({state:p,styles:b,attributes:x,update:h,forceUpdate:u,placement:p.placement})}}),[h,u,f]),m=A.useMemo(()=>(We(l.current,r)||(l.current=r),l.current),[r]);return A.useEffect(()=>{!c.current||!i||c.current.setOptions({placement:s,strategy:o,modifiers:[...m,g,Oc]})},[o,s,g,i,m]),A.useEffect(()=>{if(!(!i||e==null||t==null))return c.current=Mc(e,t,Object.assign({},a,{placement:s,strategy:o,modifiers:[...m,Dc,g]})),()=>{c.current!=null&&(c.current.destroy(),c.current=void 0,f(p=>Object.assign({},p,{attributes:{},styles:{popper:{}}})))}},[i,e,t]),d}const Ts=()=>{};function Tc(e){return e.button===0}function Rc(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}const ei=e=>e&&("current"in e?e.current:e),Rs={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};function Lc(e,t=Ts,{disabled:n,clickTrigger:i="click"}={}){const s=A.useRef(!1),o=A.useRef(!1),r=A.useCallback(c=>{const h=ei(e);qa(!!h,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),s.current=!h||Rc(c)||!Tc(c)||!!xs(h,c.target)||o.current,o.current=!1},[e]),a=Wt(c=>{const h=ei(e);h&&xs(h,c.target)?o.current=!0:o.current=!1}),l=Wt(c=>{s.current||t(c)});A.useEffect(()=>{var c,h;if(n||e==null)return;const u=Ka(ei(e)),d=u.defaultView||window;let f=(c=d.event)!=null?c:(h=d.parent)==null?void 0:h.event,g=null;Rs[i]&&(g=fn(u,Rs[i],a,!0));const m=fn(u,i,r,!0),p=fn(u,i,x=>{if(x===f){f=void 0;return}l(x)});let b=[];return"ontouchstart"in u.documentElement&&(b=[].slice.call(u.body.children).map(x=>fn(x,"mousemove",Ts))),()=>{g==null||g(),m(),p(),b.forEach(x=>x())}},[e,n,i,r,a,l])}function Fc(e){const t={};return Array.isArray(e)?(e==null||e.forEach(n=>{t[n.name]=n}),t):e||t}function Ic(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}function jc({enabled:e,enableEvents:t,placement:n,flip:i,offset:s,fixed:o,containerPadding:r,arrowElement:a,popperConfig:l={}}){var c,h,u,d,f;const g=Fc(l.modifiers);return Object.assign({},l,{placement:n,enabled:e,strategy:o?"fixed":l.strategy,modifiers:Ic(Object.assign({},g,{eventListeners:{enabled:t,options:(c=g.eventListeners)==null?void 0:c.options},preventOverflow:Object.assign({},g.preventOverflow,{options:r?Object.assign({padding:r},(h=g.preventOverflow)==null?void 0:h.options):(u=g.preventOverflow)==null?void 0:u.options}),offset:{options:Object.assign({offset:s},(d=g.offset)==null?void 0:d.options)},arrow:Object.assign({},g.arrow,{enabled:!!a,options:Object.assign({},(f=g.arrow)==null?void 0:f.options,{element:a})}),flip:Object.assign({enabled:!!i},g.flip)}))})}const $c=["children","usePopper"];function zc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Nc=()=>{};function Mr(e={}){const t=A.useContext(Xn),[n,i]=ml(),s=A.useRef(!1),{flip:o,offset:r,rootCloseEvent:a,fixed:l=!1,placement:c,popperConfig:h={},enableEventListeners:u=!0,usePopper:d=!!t}=e,f=(t==null?void 0:t.show)==null?!!e.show:t.show;f&&!s.current&&(s.current=!0);const g=w=>{t==null||t.toggle(!1,w)},{placement:m,setMenu:p,menuElement:b,toggleElement:x}=t||{},v=Ec(x,b,jc({placement:c||m||"bottom-start",enabled:d,enableEvents:u??f,offset:r,flip:o,fixed:l,arrowElement:n,popperConfig:h})),_=Object.assign({ref:p||Nc,"aria-labelledby":x==null?void 0:x.id},v.attributes.popper,{style:v.styles.popper}),y={show:f,placement:m,hasShown:s.current,toggle:t==null?void 0:t.toggle,popper:d?v:null,arrowProps:d?Object.assign({ref:i},v.attributes.arrow,{style:v.styles.arrow}):{}};return Lc(b,g,{clickTrigger:a,disabled:!f}),[_,y]}function Cr(e){let{children:t,usePopper:n=!0}=e,i=zc(e,$c);const[s,o]=Mr(Object.assign({},i,{usePopper:n}));return M.jsx(M.Fragment,{children:t(s,o)})}Cr.displayName="DropdownMenu";const Hi={prefix:String(Math.round(Math.random()*1e10)),current:0},Pr=ue.createContext(Hi),Bc=ue.createContext(!1);let Hc=!!(typeof window<"u"&&window.document&&window.document.createElement),ni=new WeakMap;function Wc(e=!1){let t=A.useContext(Pr),n=A.useRef(null);if(n.current===null&&!e){var i,s;let o=(s=ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||s===void 0||(i=s.ReactCurrentOwner)===null||i===void 0?void 0:i.current;if(o){let r=ni.get(o);r==null?ni.set(o,{id:t.current,state:o.memoizedState}):o.memoizedState!==r.state&&(t.current=r.id,ni.delete(o))}n.current=++t.current}return n.current}function Vc(e){let t=A.useContext(Pr);t===Hi&&!Hc&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let n=Wc(!!e),i=`react-aria${t.prefix}`;return e||`${i}-${n}`}function Yc(e){let t=ue.useId(),[n]=A.useState(Gc()),i=n?"react-aria":`react-aria${Hi.prefix}`;return e||`${i}-${t}`}const Uc=typeof ue.useId=="function"?Yc:Vc;function Xc(){return!1}function qc(){return!0}function Kc(e){return()=>{}}function Gc(){return typeof ue.useSyncExternalStore=="function"?ue.useSyncExternalStore(Kc,Xc,qc):A.useContext(Bc)}const Or=e=>{var t;return((t=e.getAttribute("role"))==null?void 0:t.toLowerCase())==="menu"},Ls=()=>{};function Dr(){const e=Uc(),{show:t=!1,toggle:n=Ls,setToggle:i,menuElement:s}=A.useContext(Xn)||{},o=A.useCallback(a=>{n(!t,a)},[t,n]),r={id:e,ref:i||Ls,onClick:o,"aria-expanded":!!t};return s&&Or(s)&&(r["aria-haspopup"]=!0),[r,{show:t,toggle:n}]}function Ar({children:e}){const[t,n]=Dr();return M.jsx(M.Fragment,{children:e(t,n)})}Ar.displayName="DropdownToggle";const Si=A.createContext(null),Fs=(e,t=null)=>e!=null?String(e):t||null,Er=A.createContext(null);Er.displayName="NavContext";const Jc=["eventKey","disabled","onClick","active","as"];function Zc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function Tr({key:e,href:t,active:n,disabled:i,onClick:s}){const o=A.useContext(Si),r=A.useContext(Er),{activeKey:a}=r||{},l=Fs(e,t),c=n==null&&e!=null?Fs(a)===l:n;return[{onClick:Wt(u=>{i||(s==null||s(u),o&&!u.isPropagationStopped()&&o(l,u))}),"aria-disabled":i||void 0,"aria-selected":c,[cr("dropdown-item")]:""},{isActive:c}]}const Rr=A.forwardRef((e,t)=>{let{eventKey:n,disabled:i,onClick:s,active:o,as:r=Ga}=e,a=Zc(e,Jc);const[l]=Tr({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,Object.assign({},a,{ref:t},l))});Rr.displayName="DropdownItem";function Is(){const e=wl(),t=A.useRef(null),n=A.useCallback(i=>{t.current=i,e()},[e]);return[t,n]}function cn({defaultShow:e,show:t,onSelect:n,onToggle:i,itemSelector:s=`* [${cr("dropdown-item")}]`,focusFirstItemOnShow:o,placement:r="bottom-start",children:a}){const l=Ja(),[c,h]=_l(t,e,i),[u,d]=Is(),f=u.current,[g,m]=Is(),p=g.current,b=Za(c),x=A.useRef(null),v=A.useRef(!1),_=A.useContext(Si),y=A.useCallback((P,O,E=O==null?void 0:O.type)=>{h(P,{originalEvent:O,source:E})},[h]),w=Wt((P,O)=>{n==null||n(P,O),y(!1,O,"select"),O.isPropagationStopped()||_==null||_(P,O)}),k=A.useMemo(()=>({toggle:y,placement:r,show:c,menuElement:f,toggleElement:p,setMenu:d,setToggle:m}),[y,r,c,f,p,d,m]);f&&b&&!c&&(v.current=f.contains(f.ownerDocument.activeElement));const S=Wt(()=>{p&&p.focus&&p.focus()}),C=Wt(()=>{const P=x.current;let O=o;if(O==null&&(O=u.current&&Or(u.current)?"keyboard":!1),O===!1||O==="keyboard"&&!/^key.+$/.test(P))return;const E=ys(u.current,s)[0];E&&E.focus&&E.focus()});A.useEffect(()=>{c?C():v.current&&(v.current=!1,S())},[c,v,S,C]),A.useEffect(()=>{x.current=null});const D=(P,O)=>{if(!u.current)return null;const E=ys(u.current,s);let I=E.indexOf(P)+O;return I=Math.max(0,Math.min(I,E.length)),E[I]};return bl(A.useCallback(()=>l.document,[l]),"keydown",P=>{var O,E;const{key:I}=P,T=P.target,L=(O=u.current)==null?void 0:O.contains(T),F=(E=g.current)==null?void 0:E.contains(T);if(/input|textarea/i.test(T.tagName)&&(I===" "||I!=="Escape"&&L||I==="Escape"&&T.type==="search")||!L&&!F||I==="Tab"&&(!u.current||!c))return;x.current=P.type;const $={originalEvent:P,source:P.type};switch(I){case"ArrowUp":{const N=D(T,-1);N&&N.focus&&N.focus(),P.preventDefault();return}case"ArrowDown":if(P.preventDefault(),!c)h(!0,$);else{const N=D(T,1);N&&N.focus&&N.focus()}return;case"Tab":Qa(T.ownerDocument,"keyup",N=>{var tt;(N.key==="Tab"&&!N.target||!((tt=u.current)!=null&&tt.contains(N.target)))&&h(!1,$)},{once:!0});break;case"Escape":I==="Escape"&&(P.preventDefault(),P.stopPropagation()),h(!1,$);break}}),M.jsx(Si.Provider,{value:w,children:M.jsx(Xn.Provider,{value:k,children:a})})}cn.displayName="Dropdown";cn.Menu=Cr;cn.Toggle=Ar;cn.Item=Rr;const Wi=A.createContext({});Wi.displayName="DropdownContext";const Lr=A.forwardRef(({className:e,bsPrefix:t,as:n="hr",role:i="separator",...s},o)=>(t=qt(t,"dropdown-divider"),M.jsx(n,{ref:o,className:Kt(e,t),role:i,...s})));Lr.displayName="DropdownDivider";const Fr=A.forwardRef(({className:e,bsPrefix:t,as:n="div",role:i="heading",...s},o)=>(t=qt(t,"dropdown-header"),M.jsx(n,{ref:o,className:Kt(e,t),role:i,...s})));Fr.displayName="DropdownHeader";const Ir=A.forwardRef(({bsPrefix:e,className:t,eventKey:n,disabled:i=!1,onClick:s,active:o,as:r=gr,...a},l)=>{const c=qt(e,"dropdown-item"),[h,u]=Tr({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,{...a,...h,ref:l,className:Kt(t,c,u.isActive&&"active",i&&"disabled")})});Ir.displayName="DropdownItem";const jr=A.forwardRef(({className:e,bsPrefix:t,as:n="span",...i},s)=>(t=qt(t,"dropdown-item-text"),M.jsx(n,{ref:s,className:Kt(e,t),...i})));jr.displayName="DropdownItemText";const Qc=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",th=typeof document<"u",eh=th||Qc?A.useLayoutEffect:A.useEffect,$r=A.createContext(null);$r.displayName="NavbarContext";function zr(e,t){return e}function Nr(e,t,n){const i=n?"top-end":"top-start",s=n?"top-start":"top-end",o=n?"bottom-end":"bottom-start",r=n?"bottom-start":"bottom-end",a=n?"right-start":"left-start",l=n?"right-end":"left-end",c=n?"left-start":"right-start",h=n?"left-end":"right-end";let u=e?r:o;return t==="up"?u=e?s:i:t==="end"?u=e?h:c:t==="start"?u=e?l:a:t==="down-centered"?u="bottom":t==="up-centered"&&(u="top"),u}const Br=A.forwardRef(({bsPrefix:e,className:t,align:n,rootCloseEvent:i,flip:s=!0,show:o,renderOnMount:r,as:a="div",popperConfig:l,variant:c,...h},u)=>{let d=!1;const f=A.useContext($r),g=qt(e,"dropdown-menu"),{align:m,drop:p,isRTL:b}=A.useContext(Wi);n=n||m;const x=A.useContext(fr),v=[];if(n)if(typeof n=="object"){const P=Object.keys(n);if(P.length){const O=P[0],E=n[O];d=E==="start",v.push(`${g}-${O}-${E}`)}}else n==="end"&&(d=!0);const _=Nr(d,p,b),[y,{hasShown:w,popper:k,show:S,toggle:C}]=Mr({flip:s,rootCloseEvent:i,show:o,usePopper:!f&&v.length===0,offset:[0,2],popperConfig:l,placement:_});if(y.ref=hr(zr(u),y.ref),eh(()=>{S&&(k==null||k.update())},[S]),!w&&!r&&!x)return null;typeof a!="string"&&(y.show=S,y.close=()=>C==null?void 0:C(!1),y.align=n);let D=h.style;return k!=null&&k.placement&&(D={...h.style,...y.style},h["x-placement"]=k.placement),M.jsx(a,{...h,...y,style:D,...(v.length||f)&&{"data-bs-popper":"static"},className:Kt(t,g,S&&"show",d&&`${g}-end`,c&&`${g}-${c}`,...v)})});Br.displayName="DropdownMenu";const Hr=A.forwardRef(({bsPrefix:e,split:t,className:n,childBsPrefix:i,as:s=Ft,...o},r)=>{const a=qt(e,"dropdown-toggle"),l=A.useContext(Xn);i!==void 0&&(o.bsPrefix=i);const[c]=Dr();return c.ref=hr(c.ref,zr(r)),M.jsx(s,{className:Kt(n,a,t&&`${a}-split`,(l==null?void 0:l.show)&&"show"),...c,...o})});Hr.displayName="DropdownToggle";const Wr=A.forwardRef((e,t)=>{const{bsPrefix:n,drop:i="down",show:s,className:o,align:r="start",onSelect:a,onToggle:l,focusFirstItemOnShow:c,as:h="div",navbar:u,autoClose:d=!0,...f}=gl(e,{show:"onToggle"}),g=A.useContext(fr),m=qt(n,"dropdown"),p=tl(),b=k=>d===!1?k==="click":d==="inside"?k!=="rootClose":d==="outside"?k!=="select":!0,x=el((k,S)=>{var C;!((C=S.originalEvent)==null||(C=C.target)==null)&&C.classList.contains("dropdown-toggle")&&S.source==="mousedown"||(S.originalEvent.currentTarget===document&&(S.source!=="keydown"||S.originalEvent.key==="Escape")&&(S.source="rootClose"),b(S.source)&&(l==null||l(k,S)))}),_=Nr(r==="end",i,p),y=A.useMemo(()=>({align:r,drop:i,isRTL:p}),[r,i,p]),w={down:m,"down-centered":`${m}-center`,up:"dropup","up-centered":"dropup-center dropup",end:"dropend",start:"dropstart"};return M.jsx(Wi.Provider,{value:y,children:M.jsx(cn,{placement:_,show:s,onSelect:a,onToggle:x,focusFirstItemOnShow:c,itemSelector:`.${m}-item:not(.disabled):not(:disabled)`,children:g?f.children:M.jsx(h,{...f,ref:t,className:Kt(o,s&&"show",w[i])})})})});Wr.displayName="Dropdown";const ii=Object.assign(Wr,{Toggle:Hr,Menu:Br,Item:Ir,ItemText:jr,Divider:Lr,Header:Fr});/*! +var Va=Object.defineProperty;var Ya=(e,t,n)=>t in e?Va(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var R=(e,t,n)=>Ya(e,typeof t!="symbol"?t+"":t,n);import{r as A,u as Wt,g as Ua,j as M,h as qt,i as Kt,k as Xa,w as qa,l as xs,o as Ka,m as fn,f as ue,n as cr,B as Ga,p as Ja,q as Za,s as ys,v as Qa,x as hr,y as Ft,z as tl,A as el,c as wt,D as nl,S as G,E as ur,R as se,O as il,P as sl,G as ol,N as rl,H as al,I as ve,J as dr,K as ge,M as ll,Q as cl,T as hl,L as ul,V as dl,C as vs,W as Qn,X as fl}from"./index-C21YiIe4.js";import{S as rn}from"./SideBar-SlK9Rn9C.js";import{u as ti,w as pl}from"./xlsx-BHRztzV8.js";import{c as fr,F as pr}from"./index-BZTbj6oW.js";import{u as gl}from"./hook-ZzfBsVxi.js";function ml(){return A.useState(null)}function bl(e,t,n,i=!1){const s=Wt(n);A.useEffect(()=>{const o=typeof e=="function"?e():e;return o.addEventListener(t,s,i),()=>o.removeEventListener(t,s,i)},[e])}const xl=["onKeyDown"];function yl(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function vl(e){return!e||e.trim()==="#"}const gr=A.forwardRef((e,t)=>{let{onKeyDown:n}=e,i=yl(e,xl);const[s]=Ua(Object.assign({tagName:"a"},i)),o=Wt(r=>{s.onKeyDown(r),n==null||n(r)});return vl(i.href)||i.role==="button"?M.jsx("a",Object.assign({ref:t},i,s,{onKeyDown:o})):M.jsx("a",Object.assign({ref:t},i,{onKeyDown:n}))});gr.displayName="Anchor";const Li=A.forwardRef(({bsPrefix:e,className:t,role:n="toolbar",...i},s)=>{const o=qt(e,"btn-toolbar");return M.jsx("div",{...i,ref:s,className:Kt(t,o),role:n})});Li.displayName="ButtonToolbar";function _l(e,t,n){const i=A.useRef(e!==void 0),[s,o]=A.useState(t),r=e!==void 0,a=i.current;return i.current=r,!r&&a&&s!==t&&o(t),[r?e:s,A.useCallback((...l)=>{const[c,...h]=l;let u=n==null?void 0:n(c,...h);return o(c),u},[n])]}function wl(){const[,e]=A.useReducer(t=>t+1,0);return e}const Xn=A.createContext(null);var _s=Object.prototype.hasOwnProperty;function ws(e,t,n){for(n of e.keys())if(We(n,t))return n}function We(e,t){var n,i,s;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((i=e.length)===t.length)for(;i--&&We(e[i],t[i]););return i===-1}if(n===Set){if(e.size!==t.size)return!1;for(i of e)if(s=i,s&&typeof s=="object"&&(s=ws(t,s),!s)||!t.has(s))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(i of e)if(s=i[0],s&&typeof s=="object"&&(s=ws(t,s),!s)||!We(i[1],t.get(s)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return i===-1}if(ArrayBuffer.isView(e)){if((i=e.byteLength)===t.byteLength)for(;i--&&e[i]===t[i];);return i===-1}if(!n||typeof e=="object"){i=0;for(n in e)if(_s.call(e,n)&&++i&&!_s.call(t,n)||!(n in t)||!We(e[n],t[n]))return!1;return Object.keys(t).length===i}}return e!==e&&t!==t}function Sl(e){const t=Xa();return[e[0],A.useCallback(n=>{if(t())return e[1](n)},[t,e[1]])]}var ut="top",xt="bottom",yt="right",dt="left",Fi="auto",an=[ut,xt,yt,dt],ke="start",Ge="end",kl="clippingParents",mr="viewport",Le="popper",Ml="reference",Ss=an.reduce(function(e,t){return e.concat([t+"-"+ke,t+"-"+Ge])},[]),br=[].concat(an,[Fi]).reduce(function(e,t){return e.concat([t,t+"-"+ke,t+"-"+Ge])},[]),Cl="beforeRead",Pl="read",Ol="afterRead",Dl="beforeMain",Al="main",El="afterMain",Tl="beforeWrite",Rl="write",Ll="afterWrite",Fl=[Cl,Pl,Ol,Dl,Al,El,Tl,Rl,Ll];function Pt(e){return e.split("-")[0]}function gt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function de(e){var t=gt(e).Element;return e instanceof t||e instanceof Element}function Ot(e){var t=gt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Ii(e){if(typeof ShadowRoot>"u")return!1;var t=gt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var ce=Math.max,Fn=Math.min,Me=Math.round;function _i(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function xr(){return!/^((?!chrome|android).)*safari/i.test(_i())}function Ce(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),s=1,o=1;t&&Ot(e)&&(s=e.offsetWidth>0&&Me(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Me(i.height)/e.offsetHeight||1);var r=de(e)?gt(e):window,a=r.visualViewport,l=!xr()&&n,c=(i.left+(l&&a?a.offsetLeft:0))/s,h=(i.top+(l&&a?a.offsetTop:0))/o,u=i.width/s,d=i.height/o;return{width:u,height:d,top:h,right:c+u,bottom:h+d,left:c,x:c,y:h}}function ji(e){var t=Ce(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function yr(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ii(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Ut(e){return e?(e.nodeName||"").toLowerCase():null}function It(e){return gt(e).getComputedStyle(e)}function Il(e){return["table","td","th"].indexOf(Ut(e))>=0}function Gt(e){return((de(e)?e.ownerDocument:e.document)||window.document).documentElement}function qn(e){return Ut(e)==="html"?e:e.assignedSlot||e.parentNode||(Ii(e)?e.host:null)||Gt(e)}function ks(e){return!Ot(e)||It(e).position==="fixed"?null:e.offsetParent}function jl(e){var t=/firefox/i.test(_i()),n=/Trident/i.test(_i());if(n&&Ot(e)){var i=It(e);if(i.position==="fixed")return null}var s=qn(e);for(Ii(s)&&(s=s.host);Ot(s)&&["html","body"].indexOf(Ut(s))<0;){var o=It(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function ln(e){for(var t=gt(e),n=ks(e);n&&Il(n)&&It(n).position==="static";)n=ks(n);return n&&(Ut(n)==="html"||Ut(n)==="body"&&It(n).position==="static")?t:n||jl(e)||t}function $i(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ve(e,t,n){return ce(e,Fn(t,n))}function $l(e,t,n){var i=Ve(e,t,n);return i>n?n:i}function vr(){return{top:0,right:0,bottom:0,left:0}}function _r(e){return Object.assign({},vr(),e)}function wr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var zl=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,_r(typeof t!="number"?t:wr(t,an))};function Nl(e){var t,n=e.state,i=e.name,s=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=Pt(n.placement),l=$i(a),c=[dt,yt].indexOf(a)>=0,h=c?"height":"width";if(!(!o||!r)){var u=zl(s.padding,n),d=ji(o),f=l==="y"?ut:dt,g=l==="y"?xt:yt,m=n.rects.reference[h]+n.rects.reference[l]-r[l]-n.rects.popper[h],p=r[l]-n.rects.reference[l],b=ln(o),x=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,v=m/2-p/2,_=u[f],y=x-d[h]-u[g],w=x/2-d[h]/2+v,k=Ve(_,w,y),S=l;n.modifiersData[i]=(t={},t[S]=k,t.centerOffset=k-w,t)}}function Bl(e){var t=e.state,n=e.options,i=n.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||yr(t.elements.popper,s)&&(t.elements.arrow=s))}const Hl={name:"arrow",enabled:!0,phase:"main",fn:Nl,effect:Bl,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Pe(e){return e.split("-")[1]}var Wl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Vl(e,t){var n=e.x,i=e.y,s=t.devicePixelRatio||1;return{x:Me(n*s)/s||0,y:Me(i*s)/s||0}}function Ms(e){var t,n=e.popper,i=e.popperRect,s=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,h=e.roundOffsets,u=e.isFixed,d=r.x,f=d===void 0?0:d,g=r.y,m=g===void 0?0:g,p=typeof h=="function"?h({x:f,y:m}):{x:f,y:m};f=p.x,m=p.y;var b=r.hasOwnProperty("x"),x=r.hasOwnProperty("y"),v=dt,_=ut,y=window;if(c){var w=ln(n),k="clientHeight",S="clientWidth";if(w===gt(n)&&(w=Gt(n),It(w).position!=="static"&&a==="absolute"&&(k="scrollHeight",S="scrollWidth")),w=w,s===ut||(s===dt||s===yt)&&o===Ge){_=xt;var C=u&&w===y&&y.visualViewport?y.visualViewport.height:w[k];m-=C-i.height,m*=l?1:-1}if(s===dt||(s===ut||s===xt)&&o===Ge){v=yt;var D=u&&w===y&&y.visualViewport?y.visualViewport.width:w[S];f-=D-i.width,f*=l?1:-1}}var P=Object.assign({position:a},c&&Wl),O=h===!0?Vl({x:f,y:m},gt(n)):{x:f,y:m};if(f=O.x,m=O.y,l){var E;return Object.assign({},P,(E={},E[_]=x?"0":"",E[v]=b?"0":"",E.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",E))}return Object.assign({},P,(t={},t[_]=x?m+"px":"",t[v]=b?f+"px":"",t.transform="",t))}function Yl(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=i===void 0?!0:i,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Pt(t.placement),variation:Pe(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ms(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ms(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Ul={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Yl,data:{}};var pn={passive:!0};function Xl(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,o=s===void 0?!0:s,r=i.resize,a=r===void 0?!0:r,l=gt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",n.update,pn)}),a&&l.addEventListener("resize",n.update,pn),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",n.update,pn)}),a&&l.removeEventListener("resize",n.update,pn)}}const ql={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Xl,data:{}};var Kl={left:"right",right:"left",bottom:"top",top:"bottom"};function Tn(e){return e.replace(/left|right|bottom|top/g,function(t){return Kl[t]})}var Gl={start:"end",end:"start"};function Cs(e){return e.replace(/start|end/g,function(t){return Gl[t]})}function zi(e){var t=gt(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function Ni(e){return Ce(Gt(e)).left+zi(e).scrollLeft}function Jl(e,t){var n=gt(e),i=Gt(e),s=n.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=xr();(c||!c&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ni(e),y:l}}function Zl(e){var t,n=Gt(e),i=zi(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=ce(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ce(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+Ni(e),l=-i.scrollTop;return It(s||n).direction==="rtl"&&(a+=ce(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Bi(e){var t=It(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function Sr(e){return["html","body","#document"].indexOf(Ut(e))>=0?e.ownerDocument.body:Ot(e)&&Bi(e)?e:Sr(qn(e))}function Ye(e,t){var n;t===void 0&&(t=[]);var i=Sr(e),s=i===((n=e.ownerDocument)==null?void 0:n.body),o=gt(i),r=s?[o].concat(o.visualViewport||[],Bi(i)?i:[]):i,a=t.concat(r);return s?a:a.concat(Ye(qn(r)))}function wi(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ql(e,t){var n=Ce(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Ps(e,t,n){return t===mr?wi(Jl(e,n)):de(t)?Ql(t,n):wi(Zl(Gt(e)))}function tc(e){var t=Ye(qn(e)),n=["absolute","fixed"].indexOf(It(e).position)>=0,i=n&&Ot(e)?ln(e):e;return de(i)?t.filter(function(s){return de(s)&&yr(s,i)&&Ut(s)!=="body"}):[]}function ec(e,t,n,i){var s=t==="clippingParents"?tc(e):[].concat(t),o=[].concat(s,[n]),r=o[0],a=o.reduce(function(l,c){var h=Ps(e,c,i);return l.top=ce(h.top,l.top),l.right=Fn(h.right,l.right),l.bottom=Fn(h.bottom,l.bottom),l.left=ce(h.left,l.left),l},Ps(e,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function kr(e){var t=e.reference,n=e.element,i=e.placement,s=i?Pt(i):null,o=i?Pe(i):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case ut:l={x:r,y:t.y-n.height};break;case xt:l={x:r,y:t.y+t.height};break;case yt:l={x:t.x+t.width,y:a};break;case dt:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?$i(s):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case ke:l[c]=l[c]-(t[h]/2-n[h]/2);break;case Ge:l[c]=l[c]+(t[h]/2-n[h]/2);break}}return l}function Je(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=i===void 0?e.placement:i,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?kl:a,c=n.rootBoundary,h=c===void 0?mr:c,u=n.elementContext,d=u===void 0?Le:u,f=n.altBoundary,g=f===void 0?!1:f,m=n.padding,p=m===void 0?0:m,b=_r(typeof p!="number"?p:wr(p,an)),x=d===Le?Ml:Le,v=e.rects.popper,_=e.elements[g?x:d],y=ec(de(_)?_:_.contextElement||Gt(e.elements.popper),l,h,r),w=Ce(e.elements.reference),k=kr({reference:w,element:v,strategy:"absolute",placement:s}),S=wi(Object.assign({},v,k)),C=d===Le?S:w,D={top:y.top-C.top+b.top,bottom:C.bottom-y.bottom+b.bottom,left:y.left-C.left+b.left,right:C.right-y.right+b.right},P=e.modifiersData.offset;if(d===Le&&P){var O=P[s];Object.keys(D).forEach(function(E){var I=[yt,xt].indexOf(E)>=0?1:-1,T=[ut,xt].indexOf(E)>=0?"y":"x";D[E]+=O[T]*I})}return D}function nc(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?br:l,h=Pe(i),u=h?a?Ss:Ss.filter(function(g){return Pe(g)===h}):an,d=u.filter(function(g){return c.indexOf(g)>=0});d.length===0&&(d=u);var f=d.reduce(function(g,m){return g[m]=Je(e,{placement:m,boundary:s,rootBoundary:o,padding:r})[Pt(m)],g},{});return Object.keys(f).sort(function(g,m){return f[g]-f[m]})}function ic(e){if(Pt(e)===Fi)return[];var t=Tn(e);return[Cs(e),t,Cs(t)]}function sc(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,h=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.flipVariations,g=f===void 0?!0:f,m=n.allowedAutoPlacements,p=t.options.placement,b=Pt(p),x=b===p,v=l||(x||!g?[Tn(p)]:ic(p)),_=[p].concat(v).reduce(function(U,X){return U.concat(Pt(X)===Fi?nc(t,{placement:X,boundary:h,rootBoundary:u,padding:c,flipVariations:g,allowedAutoPlacements:m}):X)},[]),y=t.rects.reference,w=t.rects.popper,k=new Map,S=!0,C=_[0],D=0;D<_.length;D++){var P=_[D],O=Pt(P),E=Pe(P)===ke,I=[ut,xt].indexOf(O)>=0,T=I?"width":"height",L=Je(t,{placement:P,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),F=I?E?yt:dt:E?xt:ut;y[T]>w[T]&&(F=Tn(F));var H=Tn(F),$=[];if(o&&$.push(L[O]<=0),a&&$.push(L[F]<=0,L[H]<=0),$.every(function(U){return U})){C=P,S=!1;break}k.set(P,$)}if(S)for(var N=g?3:1,tt=function(X){var K=_.find(function(At){var W=k.get(At);if(W)return W.slice(0,X).every(function(et){return et})});if(K)return C=K,"break"},Q=N;Q>0;Q--){var nt=tt(Q);if(nt==="break")break}t.placement!==C&&(t.modifiersData[i]._skip=!0,t.placement=C,t.reset=!0)}}const oc={name:"flip",enabled:!0,phase:"main",fn:sc,requiresIfExists:["offset"],data:{_skip:!1}};function Os(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ds(e){return[ut,yt,xt,dt].some(function(t){return e[t]>=0})}function rc(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,r=Je(t,{elementContext:"reference"}),a=Je(t,{altBoundary:!0}),l=Os(r,i),c=Os(a,s,o),h=Ds(l),u=Ds(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}const ac={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:rc};function lc(e,t,n){var i=Pt(e),s=[dt,ut].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[dt,yt].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function cc(e){var t=e.state,n=e.options,i=e.name,s=n.offset,o=s===void 0?[0,0]:s,r=br.reduce(function(h,u){return h[u]=lc(u,t.rects,o),h},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}const hc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:cc};function uc(e){var t=e.state,n=e.name;t.modifiersData[n]=kr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const dc={name:"popperOffsets",enabled:!0,phase:"read",fn:uc,data:{}};function fc(e){return e==="x"?"y":"x"}function pc(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,h=n.altBoundary,u=n.padding,d=n.tether,f=d===void 0?!0:d,g=n.tetherOffset,m=g===void 0?0:g,p=Je(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),b=Pt(t.placement),x=Pe(t.placement),v=!x,_=$i(b),y=fc(_),w=t.modifiersData.popperOffsets,k=t.rects.reference,S=t.rects.popper,C=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,D=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),P=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(w){if(o){var E,I=_==="y"?ut:dt,T=_==="y"?xt:yt,L=_==="y"?"height":"width",F=w[_],H=F+p[I],$=F-p[T],N=f?-S[L]/2:0,tt=x===ke?k[L]:S[L],Q=x===ke?-S[L]:-k[L],nt=t.elements.arrow,U=f&&nt?ji(nt):{width:0,height:0},X=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:vr(),K=X[I],At=X[T],W=Ve(0,k[L],U[L]),et=v?k[L]/2-N-W-K-D.mainAxis:tt-W-K-D.mainAxis,Re=v?-k[L]/2+N+W+At+D.mainAxis:Q+W+At+D.mainAxis,$t=t.elements.arrow&&ln(t.elements.arrow),Jt=$t?_==="y"?$t.clientTop||0:$t.clientLeft||0:0,Zt=(E=P==null?void 0:P[_])!=null?E:0,lt=F+et-Zt-Jt,Ba=F+Re-Zt,hs=Ve(f?Fn(H,lt):H,F,f?ce($,Ba):$);w[_]=hs,O[_]=hs-F}if(a){var us,Ha=_==="x"?ut:dt,Wa=_==="x"?xt:yt,Qt=w[y],dn=y==="y"?"height":"width",ds=Qt+p[Ha],fs=Qt-p[Wa],Zn=[ut,dt].indexOf(b)!==-1,ps=(us=P==null?void 0:P[y])!=null?us:0,gs=Zn?ds:Qt-k[dn]-S[dn]-ps+D.altAxis,ms=Zn?Qt+k[dn]+S[dn]-ps-D.altAxis:fs,bs=f&&Zn?$l(gs,Qt,ms):Ve(f?gs:ds,Qt,f?ms:fs);w[y]=bs,O[y]=bs-Qt}t.modifiersData[i]=O}}const gc={name:"preventOverflow",enabled:!0,phase:"main",fn:pc,requiresIfExists:["offset"]};function mc(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function bc(e){return e===gt(e)||!Ot(e)?zi(e):mc(e)}function xc(e){var t=e.getBoundingClientRect(),n=Me(t.width)/e.offsetWidth||1,i=Me(t.height)/e.offsetHeight||1;return n!==1||i!==1}function yc(e,t,n){n===void 0&&(n=!1);var i=Ot(t),s=Ot(t)&&xc(t),o=Gt(t),r=Ce(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Ut(t)!=="body"||Bi(o))&&(a=bc(t)),Ot(t)?(l=Ce(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Ni(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function vc(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),i}function _c(e){var t=vc(e);return Fl.reduce(function(n,i){return n.concat(t.filter(function(s){return s.phase===i}))},[])}function wc(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Sc(e){var t=e.reduce(function(n,i){var s=n[i.name];return n[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var As={placement:"bottom",modifiers:[],strategy:"absolute"};function Es(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function kc(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,i=n===void 0?[]:n,s=t.defaultOptions,o=s===void 0?As:s;return function(a,l,c){c===void 0&&(c=o);var h={placement:"bottom",orderedModifiers:[],options:Object.assign({},As,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},u=[],d=!1,f={state:h,setOptions:function(b){var x=typeof b=="function"?b(h.options):b;m(),h.options=Object.assign({},o,h.options,x),h.scrollParents={reference:de(a)?Ye(a):a.contextElement?Ye(a.contextElement):[],popper:Ye(l)};var v=_c(Sc([].concat(i,h.options.modifiers)));return h.orderedModifiers=v.filter(function(_){return _.enabled}),g(),f.update()},forceUpdate:function(){if(!d){var b=h.elements,x=b.reference,v=b.popper;if(Es(x,v)){h.rects={reference:yc(x,ln(v),h.options.strategy==="fixed"),popper:ji(v)},h.reset=!1,h.placement=h.options.placement,h.orderedModifiers.forEach(function(D){return h.modifiersData[D.name]=Object.assign({},D.data)});for(var _=0;_<h.orderedModifiers.length;_++){if(h.reset===!0){h.reset=!1,_=-1;continue}var y=h.orderedModifiers[_],w=y.fn,k=y.options,S=k===void 0?{}:k,C=y.name;typeof w=="function"&&(h=w({state:h,options:S,name:C,instance:f})||h)}}}},update:wc(function(){return new Promise(function(p){f.forceUpdate(),p(h)})}),destroy:function(){m(),d=!0}};if(!Es(a,l))return f;f.setOptions(c).then(function(p){!d&&c.onFirstUpdate&&c.onFirstUpdate(p)});function g(){h.orderedModifiers.forEach(function(p){var b=p.name,x=p.options,v=x===void 0?{}:x,_=p.effect;if(typeof _=="function"){var y=_({state:h,name:b,instance:f,options:v}),w=function(){};u.push(y||w)}})}function m(){u.forEach(function(p){return p()}),u=[]}return f}}const Mc=kc({defaultModifiers:[ac,dc,Ul,ql,hc,oc,gc,Hl]}),Cc=["enabled","placement","strategy","modifiers"];function Pc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Oc={name:"applyStyles",enabled:!1,phase:"afterWrite",fn:()=>{}},Dc={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{const{reference:t,popper:n}=e.elements;if("removeAttribute"in t){const i=(t.getAttribute("aria-describedby")||"").split(",").filter(s=>s.trim()!==n.id);i.length?t.setAttribute("aria-describedby",i.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;const{popper:n,reference:i}=e.elements,s=(t=n.getAttribute("role"))==null?void 0:t.toLowerCase();if(n.id&&s==="tooltip"&&"setAttribute"in i){const o=i.getAttribute("aria-describedby");if(o&&o.split(",").indexOf(n.id)!==-1)return;i.setAttribute("aria-describedby",o?`${o},${n.id}`:n.id)}}},Ac=[];function Ec(e,t,n={}){let{enabled:i=!0,placement:s="bottom",strategy:o="absolute",modifiers:r=Ac}=n,a=Pc(n,Cc);const l=A.useRef(r),c=A.useRef(),h=A.useCallback(()=>{var p;(p=c.current)==null||p.update()},[]),u=A.useCallback(()=>{var p;(p=c.current)==null||p.forceUpdate()},[]),[d,f]=Sl(A.useState({placement:s,update:h,forceUpdate:u,attributes:{},styles:{popper:{},arrow:{}}})),g=A.useMemo(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:p})=>{const b={},x={};Object.keys(p.elements).forEach(v=>{b[v]=p.styles[v],x[v]=p.attributes[v]}),f({state:p,styles:b,attributes:x,update:h,forceUpdate:u,placement:p.placement})}}),[h,u,f]),m=A.useMemo(()=>(We(l.current,r)||(l.current=r),l.current),[r]);return A.useEffect(()=>{!c.current||!i||c.current.setOptions({placement:s,strategy:o,modifiers:[...m,g,Oc]})},[o,s,g,i,m]),A.useEffect(()=>{if(!(!i||e==null||t==null))return c.current=Mc(e,t,Object.assign({},a,{placement:s,strategy:o,modifiers:[...m,Dc,g]})),()=>{c.current!=null&&(c.current.destroy(),c.current=void 0,f(p=>Object.assign({},p,{attributes:{},styles:{popper:{}}})))}},[i,e,t]),d}const Ts=()=>{};function Tc(e){return e.button===0}function Rc(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}const ei=e=>e&&("current"in e?e.current:e),Rs={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};function Lc(e,t=Ts,{disabled:n,clickTrigger:i="click"}={}){const s=A.useRef(!1),o=A.useRef(!1),r=A.useCallback(c=>{const h=ei(e);qa(!!h,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),s.current=!h||Rc(c)||!Tc(c)||!!xs(h,c.target)||o.current,o.current=!1},[e]),a=Wt(c=>{const h=ei(e);h&&xs(h,c.target)?o.current=!0:o.current=!1}),l=Wt(c=>{s.current||t(c)});A.useEffect(()=>{var c,h;if(n||e==null)return;const u=Ka(ei(e)),d=u.defaultView||window;let f=(c=d.event)!=null?c:(h=d.parent)==null?void 0:h.event,g=null;Rs[i]&&(g=fn(u,Rs[i],a,!0));const m=fn(u,i,r,!0),p=fn(u,i,x=>{if(x===f){f=void 0;return}l(x)});let b=[];return"ontouchstart"in u.documentElement&&(b=[].slice.call(u.body.children).map(x=>fn(x,"mousemove",Ts))),()=>{g==null||g(),m(),p(),b.forEach(x=>x())}},[e,n,i,r,a,l])}function Fc(e){const t={};return Array.isArray(e)?(e==null||e.forEach(n=>{t[n.name]=n}),t):e||t}function Ic(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}function jc({enabled:e,enableEvents:t,placement:n,flip:i,offset:s,fixed:o,containerPadding:r,arrowElement:a,popperConfig:l={}}){var c,h,u,d,f;const g=Fc(l.modifiers);return Object.assign({},l,{placement:n,enabled:e,strategy:o?"fixed":l.strategy,modifiers:Ic(Object.assign({},g,{eventListeners:{enabled:t,options:(c=g.eventListeners)==null?void 0:c.options},preventOverflow:Object.assign({},g.preventOverflow,{options:r?Object.assign({padding:r},(h=g.preventOverflow)==null?void 0:h.options):(u=g.preventOverflow)==null?void 0:u.options}),offset:{options:Object.assign({offset:s},(d=g.offset)==null?void 0:d.options)},arrow:Object.assign({},g.arrow,{enabled:!!a,options:Object.assign({},(f=g.arrow)==null?void 0:f.options,{element:a})}),flip:Object.assign({enabled:!!i},g.flip)}))})}const $c=["children","usePopper"];function zc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Nc=()=>{};function Mr(e={}){const t=A.useContext(Xn),[n,i]=ml(),s=A.useRef(!1),{flip:o,offset:r,rootCloseEvent:a,fixed:l=!1,placement:c,popperConfig:h={},enableEventListeners:u=!0,usePopper:d=!!t}=e,f=(t==null?void 0:t.show)==null?!!e.show:t.show;f&&!s.current&&(s.current=!0);const g=w=>{t==null||t.toggle(!1,w)},{placement:m,setMenu:p,menuElement:b,toggleElement:x}=t||{},v=Ec(x,b,jc({placement:c||m||"bottom-start",enabled:d,enableEvents:u??f,offset:r,flip:o,fixed:l,arrowElement:n,popperConfig:h})),_=Object.assign({ref:p||Nc,"aria-labelledby":x==null?void 0:x.id},v.attributes.popper,{style:v.styles.popper}),y={show:f,placement:m,hasShown:s.current,toggle:t==null?void 0:t.toggle,popper:d?v:null,arrowProps:d?Object.assign({ref:i},v.attributes.arrow,{style:v.styles.arrow}):{}};return Lc(b,g,{clickTrigger:a,disabled:!f}),[_,y]}function Cr(e){let{children:t,usePopper:n=!0}=e,i=zc(e,$c);const[s,o]=Mr(Object.assign({},i,{usePopper:n}));return M.jsx(M.Fragment,{children:t(s,o)})}Cr.displayName="DropdownMenu";const Hi={prefix:String(Math.round(Math.random()*1e10)),current:0},Pr=ue.createContext(Hi),Bc=ue.createContext(!1);let Hc=!!(typeof window<"u"&&window.document&&window.document.createElement),ni=new WeakMap;function Wc(e=!1){let t=A.useContext(Pr),n=A.useRef(null);if(n.current===null&&!e){var i,s;let o=(s=ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||s===void 0||(i=s.ReactCurrentOwner)===null||i===void 0?void 0:i.current;if(o){let r=ni.get(o);r==null?ni.set(o,{id:t.current,state:o.memoizedState}):o.memoizedState!==r.state&&(t.current=r.id,ni.delete(o))}n.current=++t.current}return n.current}function Vc(e){let t=A.useContext(Pr);t===Hi&&!Hc&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let n=Wc(!!e),i=`react-aria${t.prefix}`;return e||`${i}-${n}`}function Yc(e){let t=ue.useId(),[n]=A.useState(Gc()),i=n?"react-aria":`react-aria${Hi.prefix}`;return e||`${i}-${t}`}const Uc=typeof ue.useId=="function"?Yc:Vc;function Xc(){return!1}function qc(){return!0}function Kc(e){return()=>{}}function Gc(){return typeof ue.useSyncExternalStore=="function"?ue.useSyncExternalStore(Kc,Xc,qc):A.useContext(Bc)}const Or=e=>{var t;return((t=e.getAttribute("role"))==null?void 0:t.toLowerCase())==="menu"},Ls=()=>{};function Dr(){const e=Uc(),{show:t=!1,toggle:n=Ls,setToggle:i,menuElement:s}=A.useContext(Xn)||{},o=A.useCallback(a=>{n(!t,a)},[t,n]),r={id:e,ref:i||Ls,onClick:o,"aria-expanded":!!t};return s&&Or(s)&&(r["aria-haspopup"]=!0),[r,{show:t,toggle:n}]}function Ar({children:e}){const[t,n]=Dr();return M.jsx(M.Fragment,{children:e(t,n)})}Ar.displayName="DropdownToggle";const Si=A.createContext(null),Fs=(e,t=null)=>e!=null?String(e):t||null,Er=A.createContext(null);Er.displayName="NavContext";const Jc=["eventKey","disabled","onClick","active","as"];function Zc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function Tr({key:e,href:t,active:n,disabled:i,onClick:s}){const o=A.useContext(Si),r=A.useContext(Er),{activeKey:a}=r||{},l=Fs(e,t),c=n==null&&e!=null?Fs(a)===l:n;return[{onClick:Wt(u=>{i||(s==null||s(u),o&&!u.isPropagationStopped()&&o(l,u))}),"aria-disabled":i||void 0,"aria-selected":c,[cr("dropdown-item")]:""},{isActive:c}]}const Rr=A.forwardRef((e,t)=>{let{eventKey:n,disabled:i,onClick:s,active:o,as:r=Ga}=e,a=Zc(e,Jc);const[l]=Tr({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,Object.assign({},a,{ref:t},l))});Rr.displayName="DropdownItem";function Is(){const e=wl(),t=A.useRef(null),n=A.useCallback(i=>{t.current=i,e()},[e]);return[t,n]}function cn({defaultShow:e,show:t,onSelect:n,onToggle:i,itemSelector:s=`* [${cr("dropdown-item")}]`,focusFirstItemOnShow:o,placement:r="bottom-start",children:a}){const l=Ja(),[c,h]=_l(t,e,i),[u,d]=Is(),f=u.current,[g,m]=Is(),p=g.current,b=Za(c),x=A.useRef(null),v=A.useRef(!1),_=A.useContext(Si),y=A.useCallback((P,O,E=O==null?void 0:O.type)=>{h(P,{originalEvent:O,source:E})},[h]),w=Wt((P,O)=>{n==null||n(P,O),y(!1,O,"select"),O.isPropagationStopped()||_==null||_(P,O)}),k=A.useMemo(()=>({toggle:y,placement:r,show:c,menuElement:f,toggleElement:p,setMenu:d,setToggle:m}),[y,r,c,f,p,d,m]);f&&b&&!c&&(v.current=f.contains(f.ownerDocument.activeElement));const S=Wt(()=>{p&&p.focus&&p.focus()}),C=Wt(()=>{const P=x.current;let O=o;if(O==null&&(O=u.current&&Or(u.current)?"keyboard":!1),O===!1||O==="keyboard"&&!/^key.+$/.test(P))return;const E=ys(u.current,s)[0];E&&E.focus&&E.focus()});A.useEffect(()=>{c?C():v.current&&(v.current=!1,S())},[c,v,S,C]),A.useEffect(()=>{x.current=null});const D=(P,O)=>{if(!u.current)return null;const E=ys(u.current,s);let I=E.indexOf(P)+O;return I=Math.max(0,Math.min(I,E.length)),E[I]};return bl(A.useCallback(()=>l.document,[l]),"keydown",P=>{var O,E;const{key:I}=P,T=P.target,L=(O=u.current)==null?void 0:O.contains(T),F=(E=g.current)==null?void 0:E.contains(T);if(/input|textarea/i.test(T.tagName)&&(I===" "||I!=="Escape"&&L||I==="Escape"&&T.type==="search")||!L&&!F||I==="Tab"&&(!u.current||!c))return;x.current=P.type;const $={originalEvent:P,source:P.type};switch(I){case"ArrowUp":{const N=D(T,-1);N&&N.focus&&N.focus(),P.preventDefault();return}case"ArrowDown":if(P.preventDefault(),!c)h(!0,$);else{const N=D(T,1);N&&N.focus&&N.focus()}return;case"Tab":Qa(T.ownerDocument,"keyup",N=>{var tt;(N.key==="Tab"&&!N.target||!((tt=u.current)!=null&&tt.contains(N.target)))&&h(!1,$)},{once:!0});break;case"Escape":I==="Escape"&&(P.preventDefault(),P.stopPropagation()),h(!1,$);break}}),M.jsx(Si.Provider,{value:w,children:M.jsx(Xn.Provider,{value:k,children:a})})}cn.displayName="Dropdown";cn.Menu=Cr;cn.Toggle=Ar;cn.Item=Rr;const Wi=A.createContext({});Wi.displayName="DropdownContext";const Lr=A.forwardRef(({className:e,bsPrefix:t,as:n="hr",role:i="separator",...s},o)=>(t=qt(t,"dropdown-divider"),M.jsx(n,{ref:o,className:Kt(e,t),role:i,...s})));Lr.displayName="DropdownDivider";const Fr=A.forwardRef(({className:e,bsPrefix:t,as:n="div",role:i="heading",...s},o)=>(t=qt(t,"dropdown-header"),M.jsx(n,{ref:o,className:Kt(e,t),role:i,...s})));Fr.displayName="DropdownHeader";const Ir=A.forwardRef(({bsPrefix:e,className:t,eventKey:n,disabled:i=!1,onClick:s,active:o,as:r=gr,...a},l)=>{const c=qt(e,"dropdown-item"),[h,u]=Tr({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,{...a,...h,ref:l,className:Kt(t,c,u.isActive&&"active",i&&"disabled")})});Ir.displayName="DropdownItem";const jr=A.forwardRef(({className:e,bsPrefix:t,as:n="span",...i},s)=>(t=qt(t,"dropdown-item-text"),M.jsx(n,{ref:s,className:Kt(e,t),...i})));jr.displayName="DropdownItemText";const Qc=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",th=typeof document<"u",eh=th||Qc?A.useLayoutEffect:A.useEffect,$r=A.createContext(null);$r.displayName="NavbarContext";function zr(e,t){return e}function Nr(e,t,n){const i=n?"top-end":"top-start",s=n?"top-start":"top-end",o=n?"bottom-end":"bottom-start",r=n?"bottom-start":"bottom-end",a=n?"right-start":"left-start",l=n?"right-end":"left-end",c=n?"left-start":"right-start",h=n?"left-end":"right-end";let u=e?r:o;return t==="up"?u=e?s:i:t==="end"?u=e?h:c:t==="start"?u=e?l:a:t==="down-centered"?u="bottom":t==="up-centered"&&(u="top"),u}const Br=A.forwardRef(({bsPrefix:e,className:t,align:n,rootCloseEvent:i,flip:s=!0,show:o,renderOnMount:r,as:a="div",popperConfig:l,variant:c,...h},u)=>{let d=!1;const f=A.useContext($r),g=qt(e,"dropdown-menu"),{align:m,drop:p,isRTL:b}=A.useContext(Wi);n=n||m;const x=A.useContext(fr),v=[];if(n)if(typeof n=="object"){const P=Object.keys(n);if(P.length){const O=P[0],E=n[O];d=E==="start",v.push(`${g}-${O}-${E}`)}}else n==="end"&&(d=!0);const _=Nr(d,p,b),[y,{hasShown:w,popper:k,show:S,toggle:C}]=Mr({flip:s,rootCloseEvent:i,show:o,usePopper:!f&&v.length===0,offset:[0,2],popperConfig:l,placement:_});if(y.ref=hr(zr(u),y.ref),eh(()=>{S&&(k==null||k.update())},[S]),!w&&!r&&!x)return null;typeof a!="string"&&(y.show=S,y.close=()=>C==null?void 0:C(!1),y.align=n);let D=h.style;return k!=null&&k.placement&&(D={...h.style,...y.style},h["x-placement"]=k.placement),M.jsx(a,{...h,...y,style:D,...(v.length||f)&&{"data-bs-popper":"static"},className:Kt(t,g,S&&"show",d&&`${g}-end`,c&&`${g}-${c}`,...v)})});Br.displayName="DropdownMenu";const Hr=A.forwardRef(({bsPrefix:e,split:t,className:n,childBsPrefix:i,as:s=Ft,...o},r)=>{const a=qt(e,"dropdown-toggle"),l=A.useContext(Xn);i!==void 0&&(o.bsPrefix=i);const[c]=Dr();return c.ref=hr(c.ref,zr(r)),M.jsx(s,{className:Kt(n,a,t&&`${a}-split`,(l==null?void 0:l.show)&&"show"),...c,...o})});Hr.displayName="DropdownToggle";const Wr=A.forwardRef((e,t)=>{const{bsPrefix:n,drop:i="down",show:s,className:o,align:r="start",onSelect:a,onToggle:l,focusFirstItemOnShow:c,as:h="div",navbar:u,autoClose:d=!0,...f}=gl(e,{show:"onToggle"}),g=A.useContext(fr),m=qt(n,"dropdown"),p=tl(),b=k=>d===!1?k==="click":d==="inside"?k!=="rootClose":d==="outside"?k!=="select":!0,x=el((k,S)=>{var C;!((C=S.originalEvent)==null||(C=C.target)==null)&&C.classList.contains("dropdown-toggle")&&S.source==="mousedown"||(S.originalEvent.currentTarget===document&&(S.source!=="keydown"||S.originalEvent.key==="Escape")&&(S.source="rootClose"),b(S.source)&&(l==null||l(k,S)))}),_=Nr(r==="end",i,p),y=A.useMemo(()=>({align:r,drop:i,isRTL:p}),[r,i,p]),w={down:m,"down-centered":`${m}-center`,up:"dropup","up-centered":"dropup-center dropup",end:"dropend",start:"dropstart"};return M.jsx(Wi.Provider,{value:y,children:M.jsx(cn,{placement:_,show:s,onSelect:a,onToggle:x,focusFirstItemOnShow:c,itemSelector:`.${m}-item:not(.disabled):not(:disabled)`,children:g?f.children:M.jsx(h,{...f,ref:t,className:Kt(o,s&&"show",w[i])})})})});Wr.displayName="Dropdown";const ii=Object.assign(Wr,{Toggle:Hr,Menu:Br,Item:Ir,ItemText:jr,Divider:Lr,Header:Fr});/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela