"use strict";(self.webpackChunkunifiNetworkUi=self.webpackChunkunifiNetworkUi||[]).push([[66712],{195707:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fo});var o=n(296540),a=n(469733),r=n(340936),i=n(725842),s=n(801081),l=n(25553),c=n(87485),m=n(189601),u=n(683645);const E=e=>({models:t})=>{return n=(0,u.o)(e),(0,l.GQ)(n,n,t);var n},A=e=>(0,s.Mz)(E(e),c.i6);var d=n(995196),_=n(273560),p=n(407694),T=n(624922),N=n(71479),h=n(294303);var M,I,O,g;!function(e){e.CONNECTIVITY_VISUAL="connectivityVisual",e.EDGES="edges",e.VERTICES="vertices"}(M||(M={})),function(e){e.ID="id",e.X="x",e.Y="y"}(I||(I={})),function(e){e.POSITION="position",e.TARGET="target"}(O||(O={})),function(e){e.IDLE="idle",e.ZOOMING_OUT="zooming-out",e.ZOOMING_IN="zooming-in"}(g||(g={}));const C=(0,N.A)(h.A)`
  width: 100%;
  height: 100%;
  isolation: isolate;
  position: relative;
  overflow: hidden;
`,S=(0,N.A)(h.A,{shouldForwardProp:e=>!["connectivityVisual"].includes(e)})`
  ${({[M.CONNECTIVITY_VISUAL]:e})=>`\nposition: absolute;\n  width: 100%;\n  height: 100%;\n  z-index: 100;\n  ${e?"top: 312px;":""}\n    `}
`,f=({[M.CONNECTIVITY_VISUAL]:e,children:t})=>o.createElement(S,{connectivityVisual:e},t),R=(0,N.A)(h.A,{shouldForwardProp:e=>!["opacity"].includes(e)})`
  width: 100%;
  height: 100%;
  opacity: ${({opacity:e})=>e};
  transition: opacity ${200}ms ease-in-out;
  user-select: none;
`;var P=n(740618),v=n(237947);const y=(e,t,n,o,a,r)=>{const i=a-n,s=r-o,l=i*i+s*s;if(0===l)return{distance:Math.sqrt((e-n)**2+(t-o)**2),closestX:n,closestY:o};const c=Math.max(0,Math.min(1,((e-n)*i+(t-o)*s)/l)),m=n+c*i,u=o+c*s;return{distance:Math.sqrt((e-m)**2+(t-u)**2),closestX:m,closestY:u}},w=(e,t)=>{const n=new Set;t.forEach(({[i.Cj.MAC]:e})=>{n.add(e)}),e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:t})=>{n.add(e),n.add(t)});const o=Array.from(n),a=o.length;if(0===a)return new Map;const r=2+.18*a+(a/15)**1.6,s=new Map,l=new Map;o.forEach((e,t)=>{s.set(e,new Set),l.set(e,t)}),e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:t})=>{s.get(e)?.add(t),s.get(t)?.add(e)});const c=new Map;o.forEach(e=>{c.set(e,s.get(e)?.size||0)});const m=[...o].sort((e,t)=>(c.get(t)||0)-(c.get(e)||0)),u=new Map,E=new Set,A=new Map,d=4.75;if(m.length>0){const e=m[0];A.set(e,0),u.set(e,{id:e,x:Math.cos(0)*r,y:Math.sin(0)*r}),E.add(e)}for(let e=1;e<m.length;e+=1){const t=m[e],n=s.get(t)||new Set,o=Array.from(n).filter(e=>E.has(e));let i=e/a*Math.PI*2,l=-1/0;const c=64;for(let t=0;t<c;t+=1){const n=t/c*Math.PI*2,s=Math.cos(n)*r,m=Math.sin(n)*r;let A=1/0;if(E.forEach(e=>{const t=u.get(e);if(t){const e=s-t.x,n=m-t.y,o=Math.sqrt(e*e+n*n);A=Math.min(A,o)}}),0===o.length){const t=A/(1+Math.abs(n-e/a*Math.PI*2));t>l&&(l=t,i=n)}else{A>l&&(l=A,i=n)}}A.set(t,i);let _=Math.cos(i)*r,p=Math.sin(i)*r,T=0;const N=d*1.15;for(;T<10;){let e=!1;const t=Array.from(E);for(let n=0;n<t.length;n+=1){const o=t[n],a=u.get(o);if(a){const t=_-a.x,n=p-a.y,o=Math.sqrt(t*t+n*n);if(o<N&&o>0){e=!0;const i=t/o,s=n/o;_=a.x+i*N,p=a.y+s*N;const l=Math.sqrt(_**2+p**2);if(l>0){const e=r/l;_*=e,p*=e}}}}if(!e)break;T+=1}u.set(t,{id:t,x:_,y:p}),E.add(t)}const _=1+a/50*.3,p=Math.max(d,r*_),T=Math.min(25,Math.max(10,10+Math.floor(a/8)));for(let t=0;t<T;t+=1){const t=new Map;e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:n})=>{const o=u.get(e),a=u.get(n);if(!o||!a)return;const r=a.x-o.x,s=a.y-o.y,l=Math.sqrt(r*r+s*s);if(0===l)return;const c=Math.atan2(o.y,o.x),m=Math.atan2(a.y,a.x);let E=Math.abs(m-c);E>Math.PI&&(E=2*Math.PI-E);const A=Math.PI-E;if(A>.1){const o=r/l,a=s/l,i=A/Math.PI*1.5*.5,c=t.get(e)||{[I.X]:0,[I.Y]:0,weight:0},m=t.get(n)||{[I.X]:0,[I.Y]:0,weight:0};t.set(e,{[I.X]:c[I.X]-o*i,[I.Y]:c[I.Y]-a*i,weight:c.weight+1}),t.set(n,{[I.X]:m[I.X]+o*i,[I.Y]:m[I.Y]+a*i,weight:m.weight+1})}}),o.forEach((e,n)=>{const a=u.get(e);if(!a)return;const r=s.get(e)||new Set;o.forEach((o,i)=>{if(n>=i)return;const s=u.get(o);if(!s)return;const l=s.x-a.x,c=s.y-a.y,m=Math.sqrt(l*l+c*c);if(0===m){const n=Math.random()*Math.PI*2,a=2.375,r=Math.cos(n)*a,i=Math.sin(n)*a,s=t.get(e)||{[I.X]:0,[I.Y]:0,weight:0},l=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};return t.set(e,{[I.X]:s[I.X]-r,[I.Y]:s[I.Y]-i,weight:s.weight+1}),void t.set(o,{[I.X]:l[I.X]+r,[I.Y]:l[I.Y]+i,weight:l.weight+1})}const E=r.has(o),A=E?7.125:1.3*p;if(m<A){const n=E?(A-m)/A*1.2*.8:(A-m)/A*1.2*(1+1/(m/d+.1)),a=l/m*n,r=c/m*n,i=t.get(e)||{[I.X]:0,[I.Y]:0,weight:0},s=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};t.set(e,{[I.X]:i[I.X]-a,[I.Y]:i[I.Y]-r,weight:i.weight+1}),t.set(o,{[I.X]:s[I.X]+a,[I.Y]:s[I.Y]+r,weight:s.weight+1})}})});const n=5.7;e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:a})=>{const r=u.get(e),s=u.get(a);r&&s&&o.forEach(o=>{if(o===e||o===a)return;const i=u.get(o);if(!i)return;const{distance:l,closestX:c,closestY:m}=y(i.x,i.y,r.x,r.y,s.x,s.y);if(l<n){const e=.6*(n-l),a=i.x-c,r=i.y-m,s=Math.sqrt(a*a+r*r);if(s>0){const n=a/s*e,i=r/s*e,l=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};t.set(o,{[I.X]:l[I.X]+n,[I.Y]:l[I.Y]+i,weight:l.weight+1})}}})});const a=.4;t.forEach((e,t)=>{const n=u.get(t);if(n&&e.weight>0){let o=n[I.X]+e[I.X]/e.weight,i=n[I.Y]+e[I.Y]/e.weight;const s=Math.sqrt(o**2+i**2);if(s>0){const e=r-s;o+=o/s*e*a,i+=i/s*e*a}u.set(t,{[I.ID]:t,[I.X]:o,[I.Y]:i})}})}const N=d;for(let t=0;t<5;t+=1){const t=new Map;o.forEach((e,n)=>{const a=u.get(e);a&&o.forEach((o,r)=>{if(n>=r)return;const i=u.get(o);if(!i)return;const s=i.x-a.x,l=i.y-a.y,c=Math.sqrt(s*s+l*l);if(0===c){const n=Math.random()*Math.PI*2,a=2.375,r=Math.cos(n)*a,i=Math.sin(n)*a,s=t.get(e)||{[I.X]:0,[I.Y]:0,weight:0},l=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};return t.set(e,{[I.X]:s[I.X]-r,[I.Y]:s[I.Y]-i,weight:s.weight+1}),void t.set(o,{[I.X]:l[I.X]+r,[I.Y]:l[I.Y]+i,weight:l.weight+1})}if(c<N){const n=.8*(N-c),a=s/c*n,r=l/c*n,i=t.get(e)||{[I.X]:0,[I.Y]:0,weight:0},m=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};t.set(e,{[I.X]:i[I.X]-a,[I.Y]:i[I.Y]-r,weight:i.weight+1}),t.set(o,{[I.X]:m[I.X]+a,[I.Y]:m[I.Y]+r,weight:m.weight+1})}})});const n=5.2250000000000005;e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:a})=>{const r=u.get(e),s=u.get(a);r&&s&&o.forEach(o=>{if(o===e||o===a)return;const i=u.get(o);if(!i)return;const{distance:l,closestX:c,closestY:m}=y(i.x,i.y,r.x,r.y,s.x,s.y);if(l<n){const e=.5*(n-l),a=i.x-c,r=i.y-m,s=Math.sqrt(a*a+r*r);if(s>0){const n=a/s*e,i=r/s*e,l=t.get(o)||{[I.X]:0,[I.Y]:0,weight:0};t.set(o,{[I.X]:l[I.X]+n,[I.Y]:l[I.Y]+i,weight:l.weight+1})}}})});const a=.3;t.forEach((e,t)=>{const n=u.get(t);if(n&&e.weight>0){let o=n[I.X]+e[I.X]/e.weight,i=n[I.Y]+e[I.Y]/e.weight;const s=Math.sqrt(o**2+i**2);if(s>0){const e=r-s;o+=o/s*e*a,i+=i/s*e*a}u.set(t,{[I.ID]:t,[I.X]:o,[I.Y]:i})}})}for(let t=0;t<10;t+=1){let t=!1;const n=new Map;o.forEach((e,a)=>{const r=u.get(e);r&&o.forEach((o,i)=>{if(a>=i)return;const s=u.get(o);if(!s)return;const l=s.x-r.x,c=s.y-r.y,m=Math.sqrt(l*l+c*c);if(m<d)if(t=!0,0===m){const t=Math.random()*Math.PI*2,a=2.375,r=Math.cos(t)*a,i=Math.sin(t)*a,s=n.get(e)||{[I.X]:0,[I.Y]:0,weight:0},l=n.get(o)||{[I.X]:0,[I.Y]:0,weight:0};n.set(e,{[I.X]:s[I.X]-r,[I.Y]:s[I.Y]-i,weight:s.weight+1}),n.set(o,{[I.X]:l[I.X]+r,[I.Y]:l[I.Y]+i,weight:l.weight+1})}else{const t=1*(d-m),a=l/m*t,r=c/m*t,i=n.get(e)||{[I.X]:0,[I.Y]:0,weight:0},s=n.get(o)||{[I.X]:0,[I.Y]:0,weight:0};n.set(e,{[I.X]:i[I.X]-a,[I.Y]:i[I.Y]-r,weight:i.weight+1}),n.set(o,{[I.X]:s[I.X]+a,[I.Y]:s[I.Y]+r,weight:s.weight+1})}})});const a=5.4624999999999995;if(e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:r})=>{const s=u.get(e),l=u.get(r);s&&l&&o.forEach(o=>{if(o===e||o===r)return;const i=u.get(o);if(!i)return;const{distance:c,closestX:m,closestY:E}=y(i.x,i.y,s.x,s.y,l.x,l.y);if(c<a){t=!0;const e=.7*(a-c),r=i.x-m,s=i.y-E,l=Math.sqrt(r*r+s*s);if(l>0){const t=r/l*e,a=s/l*e,i=n.get(o)||{[I.X]:0,[I.Y]:0,weight:0};n.set(o,{[I.X]:i[I.X]+t,[I.Y]:i[I.Y]+a,weight:i.weight+1})}}})}),!t)break;const s=.2;n.forEach((e,t)=>{const n=u.get(t);if(n&&e.weight>0){let o=n[I.X]+e[I.X]/e.weight,a=n[I.Y]+e[I.Y]/e.weight;const i=Math.sqrt(o**2+a**2);if(i>0){const e=r-i;o+=o/i*e*s,a+=a/i*e*s}u.set(t,{[I.ID]:t,[I.X]:o,[I.Y]:a})}})}return u},D=e=>{const t=Array.from(e.values());if(0===t.length)return{[O.POSITION]:[0,0,8],[O.TARGET]:[0,0,0]};let n=1/0,o=-1/0,a=1/0,r=-1/0;return t.forEach(({[I.X]:e,[I.Y]:t})=>{n=Math.min(n,e),o=Math.max(o,e),a=Math.min(a,t),r=Math.max(r,t)}),((e,t,n,o)=>{return a=(e+t)/2,r=(n+o)/2,{[O.POSITION]:[a,r,(Math.max(t-e,o-n)+1)/2/Math.tan(50*Math.PI/360)*.85],[O.TARGET]:[a,r,0]};var a,r})(n,o,a,r)},x=()=>P.gm||P.nr,G=e=>[...e].map(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:t})=>((e,t)=>e<t?`${e}|${t}`:`${t}|${e}`)(e,t)).sort(),L=({[M.EDGES]:e,[M.VERTICES]:t})=>{const[n,a]=(0,o.useState)(1),[r,i]=(0,o.useState)(e),[s,l]=(0,o.useState)(t),c=(0,o.useRef)(e),m=(0,o.useRef)(t),u=(0,o.useRef)(null);return(0,o.useEffect)(()=>{const n=e!==c.current,o=t!==m.current;if(n||o){((e,t,n,o)=>{if(e.length!==n.length||t.length!==o.length)return!1;const a=G(e),r=G(n);return a.length===r.length&&a.every((e,t)=>e===r[t])})(c.current,m.current,e,t)?(i(e),l(t),c.current=e,m.current=t,a(1)):(u.current&&clearTimeout(u.current),a(0),u.current=setTimeout(()=>{i(e),l(t),c.current=e,m.current=t,requestAnimationFrame(()=>{a(1)})},200))}else c.current=e,m.current=t;return()=>{u.current&&clearTimeout(u.current)}},[e,t]),[n,r,s]},b=({controlsRef:e,roamingTopologyCameraSetup:t})=>((0,o.useEffect)(()=>{const n=[];if(P.gm)for(let o=0;o<5;o+=1)n.push(setTimeout(()=>{const[n,o,a]=t.position;e.current.object.position.set(n,o,a+.01),e.current.target.set(...t.target),e.current.update()},50*(o+1)));return()=>{n.forEach(clearTimeout)}},[t,e]),null);var U,F,Y=n(998837),X=n(398300),k=n(845030),$=n(573363),z=n(960407),H=n(130851),V=n(762064);!function(e){e.START_X="startX",e.START_Y="startY",e.END_X="endX",e.END_Y="endY",e.CURVE_OFFSET="curveOffset"}(U||(U={})),function(e){e.POINTS="points",e.CURVE="curve"}(F||(F={}));var W=n(646980);const q=(0,N.A)(h.A)`
  cursor: pointer;
  svg {
    width: 10px;
    height: 10px;
  }
`;var B=n(279644);const j=({children:e,htmlId:t,...n})=>o.createElement(B.E,{...v.Bs,...n},o.createElement("div",{style:v.jf},e)),Z=({children:e,...t})=>o.createElement(B.E,{...v.kE,...t},o.createElement("div",{style:v.YN},e)),Q=({children:e,htmlId:t,...n})=>o.createElement(B.E,{...v.pB,...n},o.createElement("div",{style:v.P4[t]},e)),J=({children:e,htmlId:t,...n})=>P.gm?o.createElement(Z,{htmlId:t,...n},e):P.nr?o.createElement(Q,{htmlId:t,...n},e):o.createElement(j,{htmlId:t,...n},e);var K=n(284473);const ee=({percentage:e,endpoint1Mac:t,endpoint2Mac:n,position:{x:a,y:r,z:i},color:s,onClick:l,isOpaque:c,setHoveredOverlay:m})=>{const u=(0,o.useCallback)(()=>{m([t,n])},[t,n,m]),E=(0,o.useCallback)(()=>{m([])},[m]);return o.createElement("group",{position:[a,r,i]},o.createElement(J,{htmlId:K.n.LINE_OVERLAY,pointerEvents:"auto",zIndexRange:[8388607,0],style:{opacity:c?v.mQ:1}},o.createElement(q,{onClick:l,onMouseEnter:u,onMouseLeave:E},o.createElement(W.A,{color:s,percentage:e}))))};var te=n(568294),ne=n(738299),oe=n(262690);const ae=({points:e,color:t,lineWidth:n,isOpaque:a})=>o.createElement(ne.N,{points:e,color:t,lineWidth:a?oe.hT:n,...a?v.b4:{}});var re=n(659243);var ie;!function(e){e.SEGMENT_1_POINTS="segment_1_points",e.SEGMENT_2_POINTS="segment_2_points",e.SEGMENT_3_POINTS="segment_3_points",e.FIRST_GAP_POSITION="first_gap_position",e.SECOND_GAP_POSITION="second_gap_position",e.FIRST_ARROW_ANGLE="first_arrow_angle",e.SECOND_ARROW_ANGLE="second_arrow_angle",e.FIRST_NUMBER_ANGLE="first_number_angle",e.SECOND_NUMBER_ANGLE="second_number_angle",e.FIRST_NUMBER_OFFSET="first_number_offset",e.SECOND_NUMBER_OFFSET="second_number_offset"}(ie||(ie={}));var se=n(961390),le=n(217439);const ce=(0,N.A)(h.A)`
  align-items: center;
  position: relative;
`,me=(0,N.A)("div")`
  position: relative;
  z-index: 1;
`,ue=(0,N.A)(h.A,{shouldForwardProp:e=>!["offsetX","offsetY","rotation"].includes(e)})`
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(calc(-50% + ${({offsetX:e})=>e}px), calc(-50% + ${({offsetY:e})=>e}px))
    rotate(${({rotation:e})=>-e}deg);
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
`,Ee=({gapPosition:e,arrowAngle:t,numberAngle:n,color:a,numberOffset:r,roamAttempts:i})=>o.createElement("group",{position:[e.x,e.y,e.z]},o.createElement(J,{htmlId:K.n.LINE_DIRECTION,pointerEvents:"none",style:{transform:`rotate(${t}deg)`}},o.createElement(ce,null,o.createElement(me,null,o.createElement(se.A,{size:"small",color:a})),o.createElement(ue,{offsetX:r.x,offsetY:r.y,rotation:n},o.createElement(le.A,{style:{color:a,fontSize:7}},(0,re.A)(i)))))),Ae=(e,t,n,o,a=1e3)=>{const r="forward"===o?.001:-.001;let i=t,s=0,l=e.getPointAt(t).clone();for(let t=0;t<a;t+=1){const t=Math.max(0,Math.min(1,i+r));if(t===i)break;const o=e.getPointAt(t);if(s+=l.distanceTo(o),s>=n)return t;i=t,l=o.clone()}return"forward"===o?1:0},de=(e,t)=>{return 0===(n=Math.atan2(e,t)*(180/Math.PI))?180:(270-n+360)%360;var n},_e=e=>{const t=0===e?180:(270-e+360)%360,n=(t+90)%360,o=(t-90+360)%360,a=n>180&&n<270,r=o>180&&o<270;return a&&!r?-90:r&&!a||Math.min(n,360-n)<Math.min(o,360-o)?90:-90},pe=e=>.65+(2===e?.1:e>2?.2:0),Te=({x:e,y:t,z:n})=>P.gm||P.nr?{x:e-.145,y:t+.255,z:n+0}:{x:e,y:t,z:n},Ne=({x:e,y:t,z:n})=>P.gm||P.nr?{x:e-.165,y:t+.255,z:n+0}:{x:e,y:t,z:n},he=({isOpaque:e,lineWidth:t,curve:n,color:a,endpoint1ToEndpoint2RoamAttempts:r,endpoint2ToEndpoint1RoamAttempts:i})=>{const{[ie.SEGMENT_1_POINTS]:s,[ie.SEGMENT_2_POINTS]:l,[ie.SEGMENT_3_POINTS]:c,[ie.FIRST_GAP_POSITION]:m,[ie.SECOND_GAP_POSITION]:u,[ie.FIRST_ARROW_ANGLE]:E,[ie.SECOND_ARROW_ANGLE]:A,[ie.FIRST_NUMBER_ANGLE]:d,[ie.SECOND_NUMBER_ANGLE]:_,[ie.FIRST_NUMBER_OFFSET]:p,[ie.SECOND_NUMBER_OFFSET]:T}=(0,o.useMemo)(()=>{const e=[(0,re.A)(r)].toString().split("").length,t=[(0,re.A)(i)].toString().split("").length,o=.3-(.04+(t>1?.005*t:0)),a=.03+(e>1?.005*e:0)+.7,s=pe(e)/2,l=pe(t)/2,c=Math.max(0,Ae(n,o,l,"backward")),m=Math.min(1,Ae(n,o,l,"forward")),u=Math.max(m,Ae(n,a,s,"backward")),E=Math.min(1,Ae(n,a,s,"forward")),A=(c+m)/2-(m-c)/2*.45,d=(u+E)/2+(E-u)/2*.45,_=n.getPointAt(0),p=n.getPointAt(1),T=n.getPointAt(A),N=n.getPointAt(d),h=_.x-T.x,M=_.y-T.y,I=p.x-N.x,O=p.y-N.y,g=Math.atan2(M,h)*(180/Math.PI),C=Math.atan2(O,I)*(180/Math.PI),S=180,f=Math.sin(S*Math.PI/180)*(10+(t>1?1*t:0)),R=-Math.cos(S*Math.PI/180)*(10+(t>1?1*t:0)),P=Math.sin(S*Math.PI/180)*(10+(e>1?1*e:0)),v=-Math.cos(S*Math.PI/180)*(10+(e>1?1*e:0)),y=[],w=[],D=[],x=Math.max(10,Math.floor(50*c));for(let e=0;e<=x;e+=1){const t=e/x*c,o=n.getPointAt(t);y.push([o.x,o.y,o.z])}const G=Math.max(10,Math.floor(50*(u-m)));for(let e=0;e<=G;e+=1){const t=m+e/G*(u-m),o=n.getPointAt(t);w.push([o.x,o.y,o.z])}const L=Math.max(10,Math.floor(50*(1-E)));for(let e=0;e<=L;e+=1){const t=E+e/L*(1-E),o=n.getPointAt(t);D.push([o.x,o.y,o.z])}return{[ie.SEGMENT_1_POINTS]:y,[ie.SEGMENT_2_POINTS]:w,[ie.SEGMENT_3_POINTS]:D,[ie.FIRST_GAP_POSITION]:Te(n.getPointAt(A)),[ie.SECOND_GAP_POSITION]:Ne(n.getPointAt(d)),[ie.FIRST_ARROW_ANGLE]:de(M,h),[ie.SECOND_ARROW_ANGLE]:de(O,I),[ie.FIRST_NUMBER_ANGLE]:_e(g),[ie.SECOND_NUMBER_ANGLE]:_e(C),[ie.FIRST_NUMBER_OFFSET]:{x:f,y:R},[ie.SECOND_NUMBER_OFFSET]:{x:P,y:v}}},[n,r,i]),N=(0,o.useMemo)(()=>({color:a,lineWidth:e?oe.hT:t,...e?v.b4:{}}),[a,e,t]);return o.createElement(o.Fragment,null,o.createElement(ne.N,{points:s,...N}),o.createElement(ne.N,{points:l,...N}),o.createElement(ne.N,{points:c,...N}),o.createElement(Ee,{gapPosition:m,arrowAngle:A,numberAngle:d,color:a,numberOffset:p,roamAttempts:i}),o.createElement(Ee,{gapPosition:u,arrowAngle:E,numberAngle:_,color:a,numberOffset:T,roamAttempts:r}))},Me=({points:e,color:t,lineWidth:n,isOpaque:a,roamingTopologyDirection:r,curve:i,endpoint1ToEndpoint2RoamAttempts:s,endpoint2ToEndpoint1RoamAttempts:l})=>r?o.createElement(he,{isOpaque:a,lineWidth:n,curve:i,color:t,endpoint1ToEndpoint2RoamAttempts:s,endpoint2ToEndpoint1RoamAttempts:l}):o.createElement(ae,{points:e,color:t,lineWidth:n,isOpaque:a}),Ie=({theme:e,start:{x:t,y:n},end:{x:a,y:r},endpoint1Mac:i,endpoint2Mac:s,lineWidth:l,percentage:c,curveOffset:m=0,onRoamingClick:u,setHoveredLine:E,setHoveredOverlay:A,roamingTopologyDirection:d,roamingTopologyHealth:_,hoveredLineMacs:p,activeMacs:N,hoveredNode:h,endpoint1ToEndpoint2RoamAttempts:M,endpoint2ToEndpoint1RoamAttempts:I,destinationMap:O})=>{const{[F.CURVE]:g,[F.POINTS]:C}=(0,o.useMemo)(()=>(({[U.START_X]:e,[U.START_Y]:t,[U.END_X]:n,[U.END_Y]:o,[U.CURVE_OFFSET]:a})=>{const r=n-e,i=o-t,s=Math.sqrt(r*r+i*i);if(0===s)return{[F.POINTS]:[[e,t,0]],[F.CURVE]:new T.CV9(new T.Pq0(e,t,0),new T.Pq0(e,t,0),new T.Pq0(e,t,0))};const l=.26,c=r/s,m=i/s,u=e+c*l,E=t+m*l,A=n-c*l,d=o-m*l,_=new T.Pq0(u,E,0),p=new T.Pq0(A,d,0),N=(u+A)/2,h=(E+d)/2,M=-m,I=c,O=new T.Pq0(N+M*a,h+I*a,0),g=new T.CV9(_,O,p),C=Math.sqrt((A-u)**2+(d-E)**2);return{[F.POINTS]:g.getPoints(Math.max(20,Math.floor(5*C))).map(({x:e,y:t,z:n})=>[e,t,n]),[F.CURVE]:g}})({[U.START_X]:t,[U.START_Y]:n,[U.END_X]:a,[U.END_Y]:r,[U.CURVE_OFFSET]:m}),[t,n,a,r,m]),S=(0,o.useMemo)(()=>g.getPointAt(.5),[g]),f=(0,o.useMemo)(()=>((e,t)=>new T.j6(e,Math.max(20,Math.floor(5*e.getLength())),Math.max(t/100,.1),8,!1))(g,l),[g,l]),{gl:R}=(0,V.D)(),P=(0,o.useCallback)(()=>{R.domElement.style.cursor="pointer",E([i,s])},[R,i,s,E]),v=(0,o.useCallback)(()=>{R.domElement.style.cursor="default",E([])},[R,E]),y=(0,o.useMemo)(()=>h?(N[0]!==i||N[1]!==s)&&(!(h===i||h===s)||!(O[h]?.includes(i)||O[h]?.includes(s))):!(!p.length&&!N.length)&&((p[0]!==i||p[1]!==s)&&(N[0]!==i||N[1]!==s)),[h,p,N,i,s,O]),w=(0,o.useMemo)(()=>(e=>y?(0,te.er)(e):e)((0,te.R)(c,e.themeName)),[c,e.themeName,y]);return o.createElement("group",{onClick:u,onPointerEnter:P,onPointerLeave:v},o.createElement(Me,{points:C,color:w,lineWidth:l,isOpaque:y,roamingTopologyDirection:d,curve:g,endpoint1ToEndpoint2RoamAttempts:M,endpoint2ToEndpoint1RoamAttempts:I}),o.createElement("mesh",{geometry:f},o.createElement("meshBasicMaterial",{transparent:!0,opacity:0})),_?o.createElement(ee,{percentage:c,endpoint1Mac:i,endpoint2Mac:s,color:w,position:S,onClick:u,isOpaque:y,setHoveredOverlay:A}):null)},Oe=(0,N.A)(h.A)`
  height: 120px;
  width: 120px;
  border-radius: 328px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 111, 255, 0.2) 0%, rgba(0, 111, 255, 0) 100%);
  position: relative;
  z-index: 50;
`,ge=({position:e,isOpaque:t})=>o.createElement("group",{position:[e.x,e.y,0]},o.createElement(J,{htmlId:K.n.RADIAL_GRADIENT,pointerEvents:"none",style:{pointerEvents:"none",opacity:t?v.mQ:1}},o.createElement(Oe,null)));var Ce=n(822336),Se=n(825032);const fe=(0,N.A)(h.A)`
  border-radius: 50%;
  width: 20px;
  height: 20px;
  background: ${Ce.Ay[`desktop-color-neutral-09-${Se.S.LIGHT}`]};
  position: relative;
  z-index: 1;
`,Re=({position:{x:e,y:t},isOpaque:n})=>o.createElement("group",{position:[e,t,0],renderOrder:1e3},o.createElement("mesh",null,o.createElement(J,{htmlId:K.n.NODE_CIRCLE,style:{opacity:n?v.mQ:1}},o.createElement(fe,null))));var Pe=n(876250),ve=n(6176);const ye=(0,N.A)(h.A)`
  justify-content: center;
  align-items: center;
  z-index: 1;
  position: relative;
  cursor: pointer;
`,we=({isOpaque:e,position:{x:t,y:n},model:a,deviceModelMap:r,onClick:i,mac:s,setHoveredNode:l,imagePath:c})=>{const m=(0,o.useCallback)(()=>{l(s)},[l,s]),u=(0,o.useCallback)(()=>{l(void 0)},[l]);return o.createElement("group",{position:[t,n,0]},o.createElement(J,{htmlId:K.n.NODE_DEVICE_IMAGE,style:{opacity:e?v.mQ:1}},o.createElement(ye,{onMouseEnter:m,onMouseLeave:u,onClick:i(s)},a?o.createElement(ve.C,{width:16,height:16,model:a,variant:Pe.Hx.NOPADDING,size:Pe.Xh.MEDIUM,deviceModelMap:r}):o.createElement("img",{style:{width:16,height:16},src:ve.C.getFallbackImagePath(c,Pe.Hx.NOPADDING,Se.S.LIGHT),alt:""}))))};var De=n(705145),xe=n(6510);const Ge=(0,N.A)(h.A)`
  border-radius: ${Ce.Ay["desktop-radius-global"]};
  background-color: ${Ce.Ay[`desktop-color-neutral-10-${Se.S.LIGHT}`]};
  font-size: 6px;
  line-height: 8px;
  padding: 2px;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 20px;
  max-width: 100px;
  ${()=>P.nr?"\n      top: 15px;\n      left: 50%;\n      transform: translateX(-50%);\n      position: absolute;\n      ":""}
`,Le=({[i.Cj.NAME]:e,[i.Cj.MODEL]:t,[i.Cj.MAC]:n,position:{x:a,y:r},isOpaque:s})=>o.createElement("group",{position:[a,r,0]},o.createElement(J,{htmlId:K.n.NODE_DEVICE_NAME,style:{pointerEvents:"none",opacity:s?v.mQ:1}},o.createElement(Ge,null,o.createElement(De.A,{size:"inherit",color:"text-1-oncolor-alpha",isTruncated:!0},(0,xe.Q)({model:t,name:e,mac:n}))))),be=({id:e,position:t,deviceModelMap:n,onClick:a,roamingTopologyVertex:{[i.Cj.MAC]:r,[i.Cj.MODEL]:s,[i.Cj.NAME]:l}={},hoveredNode:c,setHoveredNode:m,activeMacs:u,destinationMap:E,hoveredLineMacs:A,imagePath:d})=>{const _=(0,o.useMemo)(()=>{if(c)return!u.includes(e)&&(c!==e&&!E[c]?.includes(e));const t=[...u,...A];return!!t.length&&!t.includes(e)},[E,c,e,u,A]);return o.createElement(o.Fragment,null,o.createElement(ge,{position:t,isOpaque:_}),o.createElement(Re,{position:t,isOpaque:_}),o.createElement(we,{position:t,onClick:a,mac:r,model:s,deviceModelMap:n,isOpaque:_,setHoveredNode:m,imagePath:d}),o.createElement(Le,{position:t,name:l,model:s,mac:r,isOpaque:_}))};var Ue;!function(e){e.EDGES="edges",e.VERTICES="vertices",e.TARGET_POSITIONS="targetPositions",e.IS_MOVING="isMoving"}(Ue||(Ue={}));const Fe=({[Ue.EDGES]:e,[Ue.VERTICES]:t,[Ue.TARGET_POSITIONS]:n,[Ue.IS_MOVING]:r})=>{const s=(0,Y.u)(),l=(0,a.useDispatch)(),[c,m]=(0,o.useState)([]),[u,E]=(0,o.useState)([]),[A,_]=(0,o.useState)(void 0),p=(0,o.useRef)(null),T=(0,o.useRef)(null),N=(0,o.useRef)(null),h=(0,o.useRef)(null),M=(0,o.useRef)(null),O=(0,o.useRef)(null),g=(0,o.useCallback)(e=>{h.current=e,null===p.current&&(p.current=requestAnimationFrame(()=>{null!==h.current&&(m(h.current),h.current=null),p.current=null}))},[]),C=(0,o.useCallback)(e=>{M.current=e,null===T.current&&(T.current=requestAnimationFrame(()=>{null!==M.current&&(E(M.current),M.current=null),T.current=null}))},[]),S=(0,o.useCallback)(e=>{O.current=e,null===N.current&&(N.current=requestAnimationFrame(()=>{null!==O.current&&(_(O.current),O.current=null),N.current=null}))},[]),f=(0,a.useSelector)($.A),R=(0,a.useSelector)(H.p),P=(0,a.useSelector)(z.gm),y=(0,a.useSelector)(z.LK),D=(0,a.useSelector)(d.jE),x=(0,a.useSelector)(d.E),G=(0,o.useMemo)(()=>P&&y===X.H.ROAMING_TOPOLOGY?P:void 0,[P,y]),L=(0,o.useMemo)(()=>w(e,t),[e,t]),b=n??L,U=(0,o.useMemo)(()=>(e=>{const t=(e,t)=>e<t?`${e}-${t}`:`${t}-${e}`,n=new Map,o=new Map;e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:o})=>{const a=t(e,o);n.set(a,(n.get(a)||0)+1)});const a=new Map;return e.forEach(({[i.tr.ENDPOINT_1_MAC]:e,[i.tr.ENDPOINT_2_MAC]:r})=>{const s=t(e,r),l=n.get(s)||1,c=a.get(s)||0,m=l>1?.3*(c-(l-1)/2):0;o.set(`${e}-${r}`,m),a.set(s,c+1)}),o})(e),[e]),F=(0,o.useCallback)(e=>()=>{l((0,k.XP)({type:X.H.DEVICE,id:e}))},[l]),V=(0,o.useCallback)((e,t)=>()=>{l((0,k.XP)({type:X.H.ROAMING_TOPOLOGY,id:[e,t].join(v.hJ)}))},[l]),W=(0,o.useMemo)(()=>(e=>{const t=new Map;return e.forEach(e=>{const{[i.Cj.MAC]:n}=e;t.has(n)||t.set(n,e)}),t})(t),[t]),{sumOfRoamAttempts:q,highestRoamAttempts:B}=(0,o.useMemo)(()=>e.reduce(({sumOfRoamAttempts:e,highestRoamAttempts:t},{[i.tr.TOTAL_ROAM_ATTEMPTS]:n})=>({sumOfRoamAttempts:e+n,highestRoamAttempts:Math.max(t,n)}),{sumOfRoamAttempts:0,highestRoamAttempts:0}),[e]),j=(0,o.useMemo)(()=>r?[]:[...c,...u],[c,u,r]),Z=(0,o.useMemo)(()=>G?.split(v.hJ)??[],[G]),Q=(0,o.useMemo)(()=>e.reduce((e,{[i.tr.ENDPOINT_1_MAC]:t,[i.tr.ENDPOINT_2_MAC]:n,[i.tr.ENDPOINT_1_TO_ENDPOINT_2]:{[i.W2.ROAM_ATTEMPTS]:o},[i.tr.ENDPOINT_2_TO_ENDPOINT_1]:{[i.W2.ROAM_ATTEMPTS]:a}})=>(o>0&&(e[t]||(e[t]=[]),e[t].push(n)),a>0&&(e[n]||(e[n]=[]),e[n].push(t)),e),{}),[e]),J=(0,o.useMemo)(()=>e.map(({[i.tr.ENDPOINT_1_MAC]:t,[i.tr.ENDPOINT_2_MAC]:n,[i.tr.ENDPOINT_1_TO_ENDPOINT_2]:{[i.W2.ROAM_ATTEMPTS]:a},[i.tr.ENDPOINT_2_TO_ENDPOINT_1]:{[i.W2.ROAM_ATTEMPTS]:r},[i.tr.TOTAL_ROAM_ATTEMPTS]:l,[i.tr.TOTAL_SUCCESSFUL_ROAMS]:c})=>{const m=b.get(t),u=b.get(n);return m&&u?o.createElement(Ie,{key:`${t}-${n}`,endpoint1Mac:t,endpoint2Mac:n,start:m,end:u,lineWidth:(0,te.AL)({roamAttempts:l,highestRoamAttempts:B,sumOfRoamAttempts:q,edgeCount:e.length}),percentage:(0,te.sq)(c,l),curveOffset:U.get(`${t}-${n}`)||0,onRoamingClick:V(t,n),setHoveredLine:g,setHoveredOverlay:C,roamingTopologyHealth:D,roamingTopologyDirection:x,hoveredLineMacs:j,activeMacs:Z,hoveredNode:A,endpoint1ToEndpoint2RoamAttempts:a,endpoint2ToEndpoint1RoamAttempts:r,destinationMap:Q,theme:s}):null}).filter(Boolean),[e,b,U,B,q,V,D,j,Z,A,x,Q,g,C,s]),K=(0,o.useMemo)(()=>Array.from(b.values()).map(e=>o.createElement(be,{id:e[I.ID],key:e[I.ID],position:e,deviceModelMap:f,onClick:F,roamingTopologyVertex:W.get(e[I.ID]),hoveredNode:A,setHoveredNode:S,activeMacs:Z,hoveredLineMacs:j,destinationMap:Q,imagePath:R})),[b,f,F,W,A,Z,j,Q,S,R]);return o.createElement(o.Fragment,null,J,K)},Ye=({[M.EDGES]:e,[M.VERTICES]:t})=>{const n=(0,o.useRef)(null),[a,r]=(0,o.useState)(!1),[i,s,l]=L({[M.EDGES]:e,[M.VERTICES]:t}),c=(0,o.useMemo)(()=>w(s,l),[s,l]),m=(0,o.useMemo)(()=>D(c),[c]),{dpr:u,gl:E,performance:A,shadows:d,flat:N}=(0,o.useMemo)(()=>({dpr:v.LR,gl:x()?v.U_:v.yj,performance:x()?v.DB:v.x2,shadows:x()?v.M2:v.OL,flat:x()?v._J:v.c8}),[]);b({controlsRef:n,roamingTopologyCameraSetup:m});const h=(0,o.useCallback)(()=>{if(n.current){n.current.mouseButtons={LEFT:T.kBv.PAN,MIDDLE:T.kBv.DOLLY,RIGHT:T.kBv.PAN};const{[O.POSITION]:e,[O.TARGET]:t}=m;n.current.object.position.set(...e),n.current.target.set(...t),n.current.update()}},[m]);(0,o.useEffect)(()=>{const e=requestAnimationFrame(()=>{h()});return()=>cancelAnimationFrame(e)},[h]);const I=(0,o.useCallback)(e=>{n.current=e,e&&h()},[h]),g=(0,o.useCallback)(()=>{r(!0)},[]),S=(0,o.useCallback)(()=>{r(!1)},[]);return o.createElement(C,null,o.createElement(R,{opacity:i},o.createElement(_.Hl,{camera:{position:m[O.POSITION]},gl:E,dpr:u,performance:A,shadows:d,flat:N},o.createElement(p.N,{ref:I,onStart:g,onEnd:S,...v.Ur}),o.createElement(Fe,{edges:s,vertices:l,targetPositions:c,isMoving:a}))))},Xe=(0,N.A)(h.A)`
  width: 100%;
  position: sticky;
  left: 0;
  right: 0;
  top: 0;
`;var ke=n(733712),$e=n(699784);const ze=()=>o.createElement(ke.A,{title:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS"}),description:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS_DESCRIPTION"})});var He=n(758649),Ve=n(165126),We=n(64749),qe=n(335187);const Be=()=>{const e=(0,a.useDispatch)(),t=(0,a.useSelector)(d.rh),n=(0,o.useCallback)(()=>{e((0,We.Dy)((0,Ve.A)(t,qe.x)))},[e,t]);return o.createElement(ke.A,{title:o.createElement($e.sA,{id:"COMMON_NO_MATCH"}),description:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS_FILTER_DESCRIPTION",values:{resetLink:o.createElement(He.A,{type:"button",onClick:n,variant:"inline"},o.createElement($e.sA,{id:"COMMON_RESET_THEM_BUTTON_TEXT"}))}})})},je=()=>{const e=(0,a.useSelector)(d.uz),t=(0,o.useMemo)(()=>e?ze:Be,[e]);return o.createElement(Xe,null,o.createElement(t,null))},Ze=({[M.CONNECTIVITY_VISUAL]:e=!1})=>{const t=(0,a.useSelector)(d.b$),{[i.mO.EDGES]:n=[],[i.mO.VERTICES]:r=[]}=(0,a.useSelector)((0,o.useMemo)(()=>A(t),[t])),l=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(E(e),c.RQ))(t),[t]));return o.createElement(f,{connectivityVisual:e},n.length&&r.length||l?o.createElement(Ye,{edges:n,vertices:r,connectivityVisual:e}):o.createElement(je,null))};var Qe=n(513272),Je=n(905410),Ke=n(249304),et=n(29896),tt=n(668258),nt=n(664297);const ot=e=>(0,s.Mz)((e=>t=>t.models[(0,nt.F$)(e)]||{})(e),t=>(0,l.Al)(t,{data:e},{compareFunction:nt.Gw,excludePlaceholders:!0})),at=e=>(0,s.Mz)(ot(e),tt.X5),rt=e=>(0,s.Mz)(ot(e),tt.Hs);var it;!function(e){e.ROAMING="roaming",e.ROAMING_TOTAL_ELEMENT_COUNT="roamingTotalElementCount",e.ROAMING_OR_MORE="roamingOrMore",e.ROAMING_LOADING="roamingLoading",e.ROAMING_LAST_EVENT_CURSOR="roamingLastEventCursor"}(it||(it={}));const st=()=>{const e=(0,a.useSelector)(d.g_),t=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(ot(e),c.kh))(e),[e])),n=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(ot(e),tt.WK))(e),[e])),r=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(ot(e),tt.FL))(e),[e])),i=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(ot(e),tt.wH))(e),[e])),l=(0,a.useSelector)((0,o.useMemo)(()=>rt(e),[e]));return(0,o.useMemo)(()=>({[it.ROAMING]:t,[it.ROAMING_TOTAL_ELEMENT_COUNT]:n,[it.ROAMING_OR_MORE]:r,[it.ROAMING_LOADING]:i,[it.ROAMING_LAST_EVENT_CURSOR]:l}),[t,n,r,i,l])};var lt=n(816271),ct=n(200826),mt=n(305988),ut=n(415246),Et=n(860765),At=n(83604),dt=n(94998),_t=n(915557),pt=n(485821),Tt=n(554142);const Nt=e=>e,ht=({header:{id:e}})=>_t.OX[e]({[Tt.D.ROAMING_COLUMN]:e}),Mt=e=>_t.GV[e],It=({column:{id:e},getValue:t})=>_t.TZ[e]({[pt.A.ROAMING]:t()}),Ot=_t.wf.map(e=>({id:e,accessorFn:Nt,header:ht,cell:It,...Mt(e),enableResizing:!0,enableSorting:!1})),gt={wrapperFlexProps:{padding:"0px"},rowOptions:[{value:25,default:!1},{value:50,default:!1},{value:100,default:!0}]},Ct={columns:Ot,wrapperClassName:"ROAMING_TABLE_WRAPPER_CLASSNAME",headerClassName:"ROAMING_TABLE_HEADER_CLASSNAME",rowClassName:"ROAMING_TABLE_ROW_CLASSNAME",stickyHeader:!0};var St;!function(e){e.ROAMING="roaming",e.COLUMN_SIZE="columnSize",e.ROAMING_PAGE_NUMBER="roamingPageNumber",e.ON_COLUMN_SIZING_CHANGE="onColumnSizingChange"}(St||(St={}));const ft=({[St.ROAMING]:e,[St.COLUMN_SIZE]:t,[St.ROAMING_PAGE_NUMBER]:n,[St.ON_COLUMN_SIZING_CHANGE]:r})=>{const i=(0,a.useDispatch)(),s=(0,lt.A)([X.H.ROAMING]),{initialColumns:l=[]}=(0,ct.A)(Ke.l.ROAMING),c=(0,o.useMemo)(()=>mt.W2[ut.xz.TABLES][Ke.l.ROAMING].columns.reduce((e,t)=>(e[t]=l.includes(t),e),{}),[l]),m=(0,o.useCallback)(({[dt.bE.ID]:e})=>{i((0,k.XP)({type:X.H.ROAMING,id:e}))},[i]);return{onRenderTable:(0,o.useCallback)(({pageNumber:n,rowsPerPage:a})=>o.createElement(At.A,{data:e,pageSize:a,pageIndex:n,activeRows:s,initialColumnSize:t,onColumnSizingChange:r,columnVisibility:c,onRowClick:m,...Ct}),[e,s,t,m,c,r]),onPageChanged:(0,o.useCallback)(e=>{e!==n&&i((0,We.Mf)(e))},[i,n]),onRowsChanged:(0,o.useCallback)(()=>{i((0,We.Mf)(Et.B))},[i])}},Rt=(0,N.A)(h.A)`
  width: 100%;
  position: sticky;
  left: 0;
  right: 0;
  top: 0;
`;var Pt=n(749177),vt=n(329991),yt=n(566723),wt=n(604482);const Dt=()=>{const e=(0,Pt.A)(wt.g1.AIRVIEW);return o.createElement(vt.A,{position:"relative",left:e?`-${yt.sV}`:yt.YC})},xt=()=>o.createElement(ke.A,{title:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS"}),description:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS_DESCRIPTION"})}),Gt=()=>{const e=(0,a.useDispatch)(),t=(0,a.useSelector)(d.rh),n=(0,o.useCallback)(()=>{e((0,We.Dy)((0,Ve.A)(t,qe.x)))},[e,t]);return o.createElement(ke.A,{title:o.createElement($e.sA,{id:"COMMON_NO_MATCH"}),description:o.createElement($e.sA,{id:"ROAMING_NO_EVENTS_FILTER_DESCRIPTION",values:{resetLink:o.createElement(He.A,{type:"button",onClick:n,variant:"inline"},o.createElement($e.sA,{id:"COMMON_RESET_THEM_BUTTON_TEXT"}))}})})},Lt=({roamingLoading:e})=>{const t=(0,a.useSelector)(d.uz),n=(0,o.useMemo)(()=>t?xt:Gt,[t]);return o.createElement(Rt,null,e?o.createElement(Dt,null):o.createElement(n,null))},bt=(0,N.A)(h.A)`
  width: 100%;
  height: 100%;
  overflow: hidden;
`,Ut=()=>{const{[it.ROAMING]:e,[it.ROAMING_TOTAL_ELEMENT_COUNT]:t,[it.ROAMING_OR_MORE]:n,[it.ROAMING_LOADING]:r}=st(),[i,s]=(0,et.A)(Ke.l.ROAMING),l=(0,a.useSelector)(d.M0),{onRenderTable:c,onPageChanged:m,onRowsChanged:u}=ft({[St.ROAMING]:e,[St.COLUMN_SIZE]:i,[St.ROAMING_PAGE_NUMBER]:l,[St.ON_COLUMN_SIZING_CHANGE]:s});return o.createElement(bt,null,e.length?o.createElement(Je.A,{...gt,section:"ROAMING_ROAMS",tableType:Ke.l.ROAMING,itemCount:t,unknownCount:n,onRenderTable:c,onPageChanged:m,onRowsChanged:u,pageNumber:l}):o.createElement(Lt,{roamingLoading:r}))};var Ft=n(902733),Yt=n(866593);const Xt=()=>{const e=(0,a.useDispatch)();return(0,o.useEffect)(()=>{Yt.wb.forEach(t=>{e((0,Ft.b)(t))})},[e]),null};var kt=n(64741),$t=n(429252),zt=n.n($t),Ht=n(371715),Vt=n(691189),Wt=n(887831),qt=n(717905),Bt=n(307803),jt=n(646681);const Zt=(e={},t={})=>(n,o)=>{return a={...e,data:{...e.data,lastEventCursor:rt(e.data)(o())}},n((0,Vt.sU)((0,nt.F$)(e.data),Bt.gI,a,{method:Wt.A.POST,idField:Bt.RR,fetchConfig:{getAllPostResponse:!0},additionalPayloadSelectors:{[qt.bI.PAGE_NUMBER]:{fallback:a.data.pageNumber},[qt.bI.TOTAL_PAGE_COUNT]:{},[qt.bI.TOTAL_ELEMENT_COUNT]:{},[qt.bI.OR_MORE]:{},[qt.bI.LAST_EVENT_CURSOR]:{}},failureToast:jt.Xz,compareFunction:nt.Gw,transformResponse:nt.SA,...t}));var a};var Qt=n(22252);const Jt={leading:!0},Kt=()=>{const e=(0,a.useDispatch)(),t=(0,a.useSelector)(d.g_),n=(0,a.useSelector)(d.mi),r=(0,a.useSelector)(d.M0),i=(0,a.useSelector)((0,o.useMemo)(()=>at(t),[t])),l=(0,a.useSelector)((0,o.useMemo)(()=>(e=>(0,s.Mz)(at(e),tt.v9))(t),[t])),{rowsPerPage:c}=(0,ct.A)(Ke.l.ROAMING),m=(0,o.useCallback)(t=>{(0,a.batch)(()=>{e((0,Ht.lB)((0,nt.F$)(t))),e((0,We.Mf)(Et.B)),e(Zt({data:{...t,[dt.Xz.PAGE_NUMBER]:Et.B}}))})},[e]),u=(0,o.useMemo)(()=>(0,kt.A)(m,1500,Jt),[m]),E=(0,o.useCallback)((t,n)=>{e(Zt({data:{...t,[dt.Xz.PAGE_NUMBER]:n}}))},[e]),A=(0,o.useRef)(t),_=zt()((0,Ve.A)(A.current,[dt.Xz.PAGE_NUMBER]),(0,Ve.A)(t,dt.Xz.PAGE_NUMBER));(0,o.useEffect)(()=>{if(n)return e((0,We.UG)(!1)),void m(t);_||(e((0,We.Mf)(Et.B)),A.current=t,u(t))},[e,m,u,t,_,n]),(0,o.useEffect)(()=>{const e=(0,Qt.G0)(r,c);(0,Qt.Oi)({isNextPageUnloaded:(0,Qt.$z)(i,e),allPagesLoaded:l,isSearchApplied:!1,areParamsEqual:_})&&E(t,e)},[E,c,_,l,t,i,e,r])};var en=n(487639);const tn={leading:!0},nn=()=>{const[e,t]=(0,o.useState)(!0),n=(0,a.useDispatch)(),r=(0,a.useSelector)(d.b$),i=(0,o.useCallback)(e=>{(0,a.batch)(()=>{n((0,Ht.lB)((0,u.o)(e))),n(((e={},t={})=>(0,Vt.Kd)((0,u.o)(e.data),en.gI,(0,u.o)(e.data),e,{idField:en.RR,method:Wt.A.POST,fetchConfig:{getAllPostResponse:!0},...t}))({data:e}))})},[n]),s=(0,o.useMemo)(()=>(0,kt.A)(i,1500,tn),[i]),l=(0,o.useRef)(r),c=zt()((0,Ve.A)(l.current,[dt.Xz.PAGE_NUMBER]),(0,Ve.A)(r,dt.Xz.PAGE_NUMBER));(0,o.useEffect)(()=>{if(e)return i(r),void t(!1);c||(l.current=r,s(r))},[n,e,i,s,r,c])},on=(0,N.A)(h.A)`
  width: 100%;
  height: 100%;
  flex-direction: column;
  gap: ${yt.xO};
  padding: ${yt.Ln};
  overflow: hidden;
  min-width: 1000px;
  position: relative;
`,an=({queryParams:e},{queryParams:t})=>e?.start===t?.start&&e?.end===t?.end,rn="wifiConnectivity",sn="uniqueId";var ln=n(582724),cn=n(834959),mn=n(413357),un=n(592510);const En=(0,N.A)(h.A,{shouldForwardProp:e=>!["roamingConnectivityVisual"].includes(e)})`
  flex-direction: column;
  gap: ${yt.kc};
  ${({roamingConnectivityVisual:e})=>e?"":"display: none;"}
`,An=(0,N.A)(h.A)`
  width: 100%;
  height: 100%;
  flex-direction: column;
`;var dn,_n,pn,Tn;!function(e){e.ASSOCIATION_RATIO="association_ratio",e.AUTHENTICATION_RATIO="authentication_ratio",e.DHCP_RATIO="dhcp_ratio",e.DNS_RATIO="dns_ratio",e.SUCCESS_RATIO="success_ratio",e.TOTAL_ATTEMPTS="total_attempts"}(dn||(dn={})),function(e){e.ASSOCIATION_LATENCY="association_latency",e.AUTHENTICATION_LATENCY="authentication_latency",e.DHCP_LATENCY="dhcp_latency",e.TRAFFIC_LATENCY="traffic_latency",e.TOTAL_LATENCY="total_latency"}(_n||(_n={})),function(e){e.ASSOCIATION="ASSOCIATION",e.AUTHENTICATION="AUTHENTICATION",e.DHCP="DHCP",e.DNS="DNS",e.TRAFFIC="TRAFFIC"}(pn||(pn={})),function(e){e.ASSOCIATION_FAILURE="ASSOCIATION_FAILURE",e.AUTHENTICATION_FAILURE="AUTHENTICATION_FAILURE",e.RADIUS_AUTHENTICATION_FAILURE="RADIUS_AUTHENTICATION_FAILURE",e.WPA_AUTHENTICATION_FAILURE="WPA_AUTHENTICATION_FAILURE",e.DHCP_TIMEOUT="DHCP_TIMEOUT",e.DNS_TIMEOUT="DNS_TIMEOUT",e.DNS_RESPONSE_NOT_SEEN="DNS_RESPONSE_NOT_SEEN",e.TRAFFIC_FAILURE="TRAFFIC_FAILURE"}(Tn||(Tn={}));const Nn={[dn.ASSOCIATION_RATIO]:0,[dn.AUTHENTICATION_RATIO]:0,[dn.DHCP_RATIO]:0,[dn.DNS_RATIO]:0,[dn.SUCCESS_RATIO]:0,[dn.TOTAL_ATTEMPTS]:0},hn={[_n.ASSOCIATION_LATENCY]:0,[_n.AUTHENTICATION_LATENCY]:0,[_n.DHCP_LATENCY]:0,[_n.TRAFFIC_LATENCY]:0,[_n.TOTAL_LATENCY]:0};let Mn=null;const In=(0,m.WY)((e,t)=>e.model.lastFetchTime===t.model.lastFetchTime&&an(e,t))((0,s.Mz)(e=>{return t=(({startDate:e,endDate:t})=>({start:e.getTime(),end:t.getTime()}))((0,d.Tv)(e)),{model:(n=(0,l.JC)(rn,e.models,{queryParams:t},{idField:sn,compareFunction:an}),!n.isLoading&&n.lastFetchTime?(Mn={...t},n):(0,l.JC)(rn,e.models,{queryParams:Mn},{idField:sn,compareFunction:an})),queryParams:t};var t,n},e=>e),e=>e),On=(0,s.Mz)(In,({model:e})=>(0,c.kh)(e)[0]||{}),gn=(0,s.Mz)(On,({attempts:e})=>({...Nn,...e})),Cn=((0,s.Mz)(On,({event_groups:e})=>e||[]),(0,s.Mz)(On,({latencies:e})=>({...hn,...e}))),Sn=(0,s.Mz)(On,({total_clients:e=0})=>e),fn=(0,N.A)(h.A)`
  width: 100%;
  align-items: center;
  position: relative;
  > div:last-child {
    width: fit-content;
  }
`,Rn=(0,N.A)(h.A)`
  flex-direction: column;
  width: 100%;
  position: relative;
`;var Pn=n(273852),vn=n(61902);const yn=(0,N.A)(h.A)`
  flex-direction: column;
  width: 100%;
  white-space: nowrap;
`,wn=(0,N.A)(h.A)`
  align-items: center;
  gap: ${yt.YC};
`,Dn=(0,N.A)(h.A,{shouldForwardProp:e=>"lastNode"!==e})`
  width: ${({lastNode:e})=>24+(e?4:0)}px;
  height: ${24}px;
  background: ${vn.L};
`,xn=()=>o.createElement("div",{style:{visibility:"hidden",minHeight:28}}," ");var Gn=n(709690),Ln=n(718073);const bn=(0,N.A)(h.A)`
  align-items: center;
`,Un=({tooltipId:e})=>o.createElement(Ln.A,{description:o.createElement($e.sA,{id:e})},o.createElement(bn,null,o.createElement(Gn.A,{color:Ce.Ay[`desktop-color-ublue-06-${(0,Y.u)().themeName}`],isActive:!0,size:"medium"})));var Fn;!function(e){e.SUCCESS="success",e.WARNING="warning"}(Fn||(Fn={}));const Yn=(0,N.A)(h.A,{shouldForwardProp:e=>"borderStyle"!==e&&"roamingWifiConnectivityStatus"!==e&&"totalAttempts"!==e})`
  position: relative;
  top: -${yt.ED};
  left: ${yt.ED};
  ${({theme:{themeName:e},borderStyle:t,roamingWifiConnectivityStatus:n,totalAttempts:o})=>`\n    border-bottom: 1px ${t} ${Ce.Ay[`desktop-color-${o?n===Fn.WARNING?"orange-06":"green-06":"neutral-03"}-${e}`]};\n  width: 100%;`}
  > svg {
    left: calc(50% - ${yt.kc});
    transform: translateX(-50%);
  }
`,Xn=({roamingWifiConnectivityStatus:e,totalAttempts:t,borderStyle:n="solid"})=>o.createElement(Yn,{borderStyle:n,roamingWifiConnectivityStatus:e,totalAttempts:t}),kn=e=>Math.round(e)<80?Fn.WARNING:Fn.SUCCESS;var $n=n(162420);const zn=e=>{return(t=e/100)>=.8?"hsl(138, 59%, 51%)":t>=.6?"hsl(51, 100%, 55%)":"hsl(359, 86%, 58%)";var t},Hn=(0,N.A)(h.A,{shouldForwardProp:e=>"lastNode"!==e&&"width"!==e})`
  margin-top: ${yt.kc};
  position: relative;
  gap: ${yt.YC};
  ${({width:e,lastNode:t})=>t?`\n      position: absolute;\n      left: -${e-20-4}px;\n      top: 41px;\n    `:""}
`,Vn=({descriptionId:e,percentage:t,descriptionTooltipId:n,lastNode:a})=>{const{width:i,ref:s}=(0,r.A)();return o.createElement(Hn,{ref:s,lastNode:a,width:i},o.createElement(le.A,{size:"medium",color:"text-3"},o.createElement($e.sA,{id:e})),o.createElement(le.A,{style:{color:zn(t)},size:"medium"},t,"%"),o.createElement(Ln.A,{description:o.createElement($e.sA,{id:n})},o.createElement("span",null,o.createElement($n.A,{size:"original",isActive:!0}))))},Wn=({icon:e,image:t,label:n,tooltipId:a,ratio:r,totalAttempts:i,lastNode:s,borderStyle:l,descriptionId:c,percentage:m,descriptionTooltipId:u})=>{const{themeName:E}=(0,Y.u)();return o.createElement(o.Fragment,null,o.createElement(yn,null,e?o.createElement(Dn,{lastNode:s},o.createElement(e,{size:"large",color:Ce.Ay[`desktop-color-neutral-08-${E}`]})):null,t,o.createElement(wn,null,o.createElement(le.A,{size:"small",color:"text-3"},n),a?o.createElement(Un,{tooltipId:a}):null),s?null:o.createElement(Xn,{roamingWifiConnectivityStatus:kn(r),borderStyle:l,totalAttempts:i})),o.createElement(Vn,{descriptionId:c,percentage:m,descriptionTooltipId:u,lastNode:s}),s?o.createElement(xn,null):null)},qn=({associationRatio:e,totalAttempts:t})=>{const{formatMessage:n}=(0,$e.tz)(),r=(0,a.useSelector)(Sn);return o.createElement(Wn,{icon:Pn.A,label:`${n({id:"WC_INITIAL_WIFI_CONNECTIONS"})} (${r})`,tooltipId:"WP_INITIAL_WIFI_CONNECTIONS_TOOLTIP",ratio:e,totalAttempts:t,borderStyle:"dashed",descriptionId:"COMMON_ASSOC",percentage:e,descriptionTooltipId:"WC_ASSOC_GUID"})};var Bn=n(104490),jn=n(532419);const Zn=({authenticationRatio:e,totalAttempts:t})=>{const{formatMessage:n}=(0,$e.tz)(),r=(0,a.useSelector)(jn.Zb);return o.createElement(Wn,{icon:Bn.A,label:`${n({id:"COMMON_ALL_APS"})} (${r})`,ratio:e,totalAttempts:t,descriptionId:"COMMON_AUTH",percentage:e,descriptionTooltipId:"WC_AUTH_GUID"})};var Qn=n(602021),Jn=n(874807),Kn=n(381377);const eo=(0,N.A)(h.A)`
  width: ${36}px;
  height: ${24}px;
  cursor: pointer;
  z-index: 1;
`,to=({dhcpRatio:e,totalAttempts:t})=>{const n=(0,a.useDispatch)(),{formatMessage:r}=(0,$e.tz)(),i=(0,a.useSelector)(Qn.vc),{name:s,model:l,mac:c,type:m}=(0,a.useSelector)((0,o.useMemo)(()=>i?(0,jn.bw)(i,["name","model","mac","type"]):Jn.y2,[i])),u=!m&&!l,E=(0,o.useCallback)(()=>{n((0,k.XP)({type:X.H.DEVICE,id:i}))},[n,i]);return o.createElement(Wn,{image:o.createElement(eo,{onClick:E},u?o.createElement(Kn.A,null):o.createElement(ve.A,{model:l,size:Pe.Xh.MEDIUM,variant:Pe.Hx.NOPADDING})),label:u?r({id:"COMMON_NON_UNIFI_GW"}):(0,xe.Q)({model:l,name:s,mac:c}),ratio:e,totalAttempts:t,descriptionId:"COMMON_DHCP",percentage:e,descriptionTooltipId:"WC_DHCP_GUID"})};var no=n(970847);const oo=({dnsRatio:e,totalAttempts:t})=>{const{formatMessage:n}=(0,$e.tz)();return o.createElement(Wn,{icon:no.A,label:n({id:"COMMON_INTERNET"}),ratio:e,totalAttempts:t,descriptionId:"COMMON_DNS",percentage:e,descriptionTooltipId:"WC_DNS_GUID"})};var ao=n(148625);const ro=({successRatio:e,totalAttempts:t})=>{const{formatMessage:n}=(0,$e.tz)();return o.createElement(Wn,{icon:ao.A,label:n({id:"COMMON_SERVER"}),ratio:e,totalAttempts:t,descriptionId:"COMMON_SUCCESS",percentage:e,descriptionTooltipId:"WC_SUCCESS_GUID",lastNode:!0})},io=()=>{const{[dn.ASSOCIATION_RATIO]:e,[dn.AUTHENTICATION_RATIO]:t,[dn.DHCP_RATIO]:n,[dn.DNS_RATIO]:r,[dn.SUCCESS_RATIO]:i,[dn.TOTAL_ATTEMPTS]:s}=(0,a.useSelector)(gn);return o.createElement(fn,null,o.createElement(Rn,null,o.createElement(qn,{associationRatio:e,totalAttempts:s})),o.createElement(Rn,null,o.createElement(Zn,{authenticationRatio:t,totalAttempts:s})),o.createElement(Rn,null,o.createElement(to,{dhcpRatio:n,totalAttempts:s})),o.createElement(Rn,null,o.createElement(oo,{dnsRatio:r,totalAttempts:s})),o.createElement(Rn,null,o.createElement(ro,{successRatio:i,totalAttempts:s})))};var so=n(936344),lo=n(964238),co=n(834042);const mo=[{label:"100",value:100},{label:"80",value:80},{label:"60",value:60},{label:"40",value:40},{label:"20",value:20},{label:"0",value:0}],uo=[20,35,25,0],Eo="ROAMING_WIFI_CONNECTIVITY_GRAPH_MAIN_GRADIENT_ID",Ao="ROAMING_WIFI_CONNECTIVITY_GRAPH_MAIN_GRADIENT_FADE_ID",_o="ROAMING_WIFI_CONNECTIVITY_GRAPH_MASK_ID",po={0:dn.ASSOCIATION_RATIO,1:dn.AUTHENTICATION_RATIO,2:dn.DHCP_RATIO,3:dn.DNS_RATIO,4:dn.SUCCESS_RATIO},To={[dn.ASSOCIATION_RATIO]:"WC_ASSOC_GUID",[dn.AUTHENTICATION_RATIO]:"WC_AUTH_GUID",[dn.DHCP_RATIO]:"WC_DHCP_GUID",[dn.DNS_RATIO]:"WC_DNS_GUID",[dn.SUCCESS_RATIO]:"WC_SUCCESS_GUID"},No=(0,N.A)(h.A)`
  width: 100%;
  height: 100%;
  flex-direction: column;
  > div:last-child {
    height: 0;
  }
`;var ho=n(112142);const Mo=(0,N.A)(h.A)`
  position: relative;
  left: 0;
`,Io=({left:e,top:t,hidden:n,x:a})=>o.createElement(Mo,{top:-190},o.createElement(ho.A,{width:252,left:e,top:t,description:o.createElement(le.A,{size:"small",color:"text-2"},o.createElement($e.sA,{id:To[po[a]]})),hidden:n,tooltipProps:{position:0===a?"topLeft":"top",maxWidth:"auto"}})),Oo=({wifiConnectivityAttempts:e})=>o.createElement("svg",null,o.createElement("defs",null,o.createElement("linearGradient",{id:Eo,gradientTransform:"rotate(0)"},e.map(([e,t],n,a)=>o.createElement("stop",{key:`${e}_${t}`,offset:100/(a.length-1)*n+"%",stopColor:zn(t),stopOpacity:1}))),o.createElement("linearGradient",{id:Ao,x2:"0%",y2:"100%"},o.createElement("stop",{offset:"0%",stopColor:"white",stopOpacity:.7}),o.createElement("stop",{offset:"40%",stopColor:"white",stopOpacity:.4}),o.createElement("stop",{offset:"60%",stopColor:"white",stopOpacity:.2}),o.createElement("stop",{offset:"100%",stopColor:"white",stopOpacity:.1})),o.createElement("mask",{id:_o,maskContentUnits:"objectBoundingBox"},o.createElement("rect",{width:"1",height:"1",fill:`url(#${Ao})`})))),go=({width:e})=>{const{formatMessage:t}=(0,$e.tz)(),n=(0,o.useRef)(void 0),r=(0,a.useSelector)(gn),i=(0,a.useSelector)(Cn),s=(0,o.useMemo)(()=>Object.entries(r).filter(([e])=>e!==dn.TOTAL_ATTEMPTS),[r]),l=(0,o.useMemo)(()=>s.map(([e,t],n)=>({y:t,x:n})),[s]),c=(0,o.useMemo)(()=>Object.values(i).map((e,n,o)=>({label:t({id:o.length-1===n?"WC_TOT_LATENCY":"WC_LATENCY"},{latency:(0,co.EJ)(e,t)}),value:n})),[i,t]),m=(0,o.useCallback)(()=>o.createElement(Oo,{wifiConnectivityAttempts:s}),[s]),u=(0,o.useCallback)(({left:e,top:t,hidden:n,x:a})=>r.total_attempts?o.createElement(Io,{left:e,top:t,hidden:n,x:a}):null,[r.total_attempts]),E=(0,o.useCallback)((e,t,a,r,i,s,c,E,A,d)=>o.createElement(lo.A,{data:l,maxY:a,mouseData:t,getCoordinates:e,lineColor:"transparent",variant:"gradientArea",interpolation:"curved",customGradientId:Eo,customGradientMask:`url(#${_o})`,allowCustomDots:!0,yAxisMax:s,yAxisMin:c,y2AxisMax:E,y2AxisMin:A,renderCustomGradient:m,tooltipPortal:n?.current,renderTooltip:u,showTooltip:d}),[l,m,u]);return o.createElement(No,null,o.createElement(so.A,{xAxis:c,yAxis:mo,width:e,height:190,yLabelsOnRight:!0,margin:uo},E),o.createElement("div",{ref:n}))},Co=({width:e})=>o.createElement(An,null,o.createElement(io,null),o.createElement(go,{width:e})),So=({width:e})=>{const t=(0,a.useDispatch)(),n=(0,a.useSelector)(d.dv),r=(0,a.useSelector)(d.Tv),i=(0,o.useMemo)(()=>({start:r.startDate.getTime(),end:r.endDate.getTime()}),[r]);return(0,o.useEffect)(()=>{n&&t((({start:e,end:t},n={},o={})=>(0,Vt.An)([{model:rn,payload:n=>[{...n,[sn]:`${e}_${t}`}]}],"/v2/api/site/{site}/wifi-connectivity",{queryParams:{start:e,end:t,apMac:"all",clientMac:"all",radioBand:"all"},...n},{idField:sn,compareFunction:an,...o}))(i,void 0,{crudCacheStrategy:{type:un.e.CACHE}}))},[n,i,t]),(0,ln.A)([(0,mn.Zi)(cn.B.WIFI_CONNECTIVITY),(0,mn.Zi)(cn.B.WIFI_PERFORMANCE)],o.createElement(En,{roamingConnectivityVisual:n},o.createElement(le.A,{weight:"bold",size:"medium",color:"text-1"},o.createElement($e.sA,{id:"COMMON_CONNECTIVITY"})),o.createElement(Co,{width:e})))},fo=()=>{Kt(),nn(),Xt();const{width:e,ref:t}=(0,r.A)(),n=(0,a.useSelector)(d.SC),i=(0,a.useSelector)(d.dv),s=(0,o.useMemo)(()=>{switch(n){case Qe.i.TABLE:return o.createElement(Ut,null);case Qe.i.TOPOLOGY:return o.createElement(Ze,{connectivityVisual:i});default:return null}},[n,i]);return o.createElement(on,{ref:t},o.createElement(So,{width:e}),s)}},381377:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(296540),a=n(469733),r=n(130851),i=n(971550);const s=({size:e=45})=>{const t=(0,a.useSelector)(r.p);return o.createElement(i.A,{size:e,flexProps:{alignItems:"center"}},o.createElement("img",{style:{width:"100%"},src:`${t}/device/generic.png`,alt:"Gateway"}))}},646980:(e,t,n)=>{n.d(t,{A:()=>u});var o=n(296540),a=n(822336),r=n(642199),i=n(217439),s=n(71479),l=n(294303),c=n(566723);const m=(0,s.A)(l.A,{shouldForwardProp:e=>!["color"].includes(e)})`
  background-color: ${({color:e})=>e};
  padding: 0 ${c.YC};
  gap: 2px;
  border-radius: 2px;
  user-select: none;
  pointer-events: none;
  font-size: 6px;
  line-height: 6px;
  justify-content: center;
  align-items: center;
  z-index: 1;
`,u=({color:e,percentage:t,textProps:n={},iconProps:s={}})=>o.createElement(m,{color:e},o.createElement(r.A,{color:a.Ay["desktop-color-text-1-dark"],...s}),t?o.createElement(i.A,{size:"inherit",color:"text-1-oncolor-alpha",...n},t,"%"):null)},725842:(e,t,n)=>{var o,a,r,i,s,l,c;n.d(t,{Cj:()=>r,TN:()=>s,W2:()=>c,mO:()=>o,tr:()=>a,wf:()=>l}),function(e){e.EDGES="edges",e.VERTICES="vertices",e.CLIENTS="clients"}(o||(o={})),function(e){e.ENDPOINT_1_MAC="endpoint_1_mac",e.ENDPOINT_1_TO_ENDPOINT_2="endpoint_1_to_endpoint_2",e.ENDPOINT_2_MAC="endpoint_2_mac",e.ENDPOINT_2_TO_ENDPOINT_1="endpoint_2_to_endpoint_1",e.TOTAL_ROAM_ATTEMPTS="total_roam_attempts",e.TOTAL_SUCCESSFUL_ROAMS="total_successful_roams",e.TOP_ROAMING_CLIENTS="top_roaming_clients"}(a||(a={})),function(e){e.MAC="mac",e.MODEL="model",e.NAME="name",e.RADIOS="radios"}(r||(r={})),function(e){e.CHANNEL="channel",e.RADIO_BAND="radio_band",e.UTILIZATION_PERCENTAGE="utilization_percentage"}(i||(i={})),function(e){e.MAC="mac",e.NAME="name",e.FINGERPRINT="fingerprint"}(s||(s={})),function(e){e.MAC="mac",e.ROAM_ATTEMPTS="roam_attempts",e.SUCCESSFUL_ROAMS="successful_roams"}(l||(l={})),function(e){e.FAST_ROAMING="fast_roaming",e.ROAM_ATTEMPTS="roam_attempts",e.SUCCESSFUL_ROAMS="successful_roams",e.TRIGGERED_BY_MINIMAL_RSSI="triggered_by_minimal_rssi",e.TRIGGERED_BY_ROAMING_ASSISTANT="triggered_by_roaming_assistant"}(c||(c={}))},740618:(e,t,n)=>{n.d(t,{gm:()=>r,nr:()=>i});var o=n(146880);const a=n.n(o)().getParser(window.navigator.userAgent).getBrowserName().toLowerCase(),r="firefox"===a,i="safari"===a},834042:(e,t,n)=>{n.d(t,{EJ:()=>c,gy:()=>s,oP:()=>i,pi:()=>r,q8:()=>l,t:()=>a});var o=n(621690);const a=60,r=24,i=({minuteOfDay:e,use24HourFormat:t,formatMessage:n})=>{const o=Math.floor(e/60);return`${String(t?o:o%12||12).padStart(2,"0")}:${String(e%a).padStart(2,"0")}${t?"":` ${n({id:o>=12?"COMMON_PM":"COMMON_AM"})}`}`},s=(e,t,n)=>{const r=Math.max(1,Math.min(60,Math.floor(60/t))),s=Math.floor(60/r);return(0,o.A)(0,24).map(t=>(0,o.A)(r).map(o=>{const r=o*s;return{label:i({use24HourFormat:e,formatMessage:n,minuteOfDay:t*a+r}),value:60*t+ +r}})).flat()},l=e=>6e4*Math.round(e/6e4),c=(e,t)=>{const n=+(e/1e3).toFixed(1),o=+(n/1e3).toFixed(1),a=+(n/6e4).toFixed(1);return n<1e3?`${n} ${t({id:"COMMON_UNIT_MS"})}`:o<60?`${o} ${t({id:"COMMON_UNIT_S"})}`:`${a} ${t({id:"COMMON_UNIT_MIN"})}`}},971550:(e,t,n)=>{n.d(t,{A:()=>l,N:()=>s});var o=n(296540),a=n(71479),r=n(566723),i=n(294303);const s=(0,a.A)(i.A,{shouldForwardProp:e=>!["isPortrait","isGateway","isUdm"].includes(e)})`
  ${({isPortrait:e,isGatewayType:t,isUdm:n})=>`\n      padding-bottom: ${e?r.kc:"initial"};\n      height: ${e?"100%":"auto"};\n      display: flex;\n      align-items: center;\n      img {\n        width: ${(n?"20px":t&&"70%")||"inherit"};\n        height: ${(n?"40px":e&&"inherit")||"unset"} !important;\n      }  \n    `}
`,l=({children:e,size:t=60,flexProps:n={}})=>o.createElement(i.A,{justifyContent:"flex-end",width:t,maxWidth:t,minWidth:t,height:t,maxHeight:t,minHeight:t,overflow:"hidden",zIndex:1,...n},e)}}]);