PageSourceSearch

https://www.stickysignatures.com/_next/static/chunks/127-32720a88ffc32a35.js

js stickysignatures.com collected 2026-10-08 10:33:08 UTC 158,716 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[127],{5565:(e,t,i)=>{i.d(t,{default:()=>a.a});var s=i(4146),a=i.n(s)},7970:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return w}});let s=i(306),a=i(9955),n=i(5155),o=a._(i(2115)),r=s._(i(7650)),l=s._(i(6107)),c=i(666),h=i(1159),d=i(3621);i(2363);let u=i(3576),p=s._(i(5514)),f=i(5353),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function v(e,t,i,s,a,n,o){let r=null==e?void 0:e.src;e&&e["data-loaded-src"]!==r&&(e["data-loaded-src"]=r,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),null==i?void 0:i.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let s=!1,a=!1;i.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>s,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{s=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}(null==s?void 0:s.current)&&s.current(e)}}))}function m(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,o.forwardRef)((e,t)=>{let{src:i,srcSet:s,sizes:a,height:r,width:l,decoding:c,className:h,style:d,fetchPriority:u,placeholder:p,loading:g,unoptimized:y,fill:b,onLoadRef:w,onLoadingCompleteRef:x,setBlurComplete:_,setShowAltText:k,sizesInput:z,onLoad:C,onError:M,...P}=e,S=(0,o.useCallback)(e=>{e&&(M&&(e.src=e.src),e.complete&&v(e,p,w,x,_,y,z))},[i,p,w,x,_,M,y,z]),O=(0,f.useMergedRef)(t,S);return(0,n.jsx)("img",{...P,...m(u),loading:g,width:l,height:r,decoding:c,"data-nimg":b?"fill":"1",className:h,style:d,sizes:a,srcSet:s,src:i,ref:O,onLoad:e=>{v(e.currentTarget,p,w,x,_,y,z)},onError:e=>{k(!0),"empty"!==p&&_(!0),M&&M(e)}})});function b(e){let{isAppRouter:t,imgAttributes:i}=e,s={as:"image",imageSrcSet:i.srcSet,imageSizes:i.sizes,crossOrigin:i.crossOrigin,referrerPolicy:i.referrerPolicy,...m(i.fetchPriority)};return t&&r.default.preload?(r.default.preload(i.src,s),null):(0,n.jsx)(l.default,{children:(0,n.jsx)("link",{rel:"preload",href:i.srcSet?void 0:i.src,...s},"__nimg-"+i.src+i.srcSet+i.sizes)})}let w=(0,o.forwardRef)((e,t)=>{let i=(0,o.useContext)(u.RouterContext),s=(0,o.useContext)(d.ImageConfigContext),a=(0,o.useMemo)(()=>{let e=g||s||h.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),i=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:i}},[s]),{onLoad:r,onLoadingComplete:l}=e,f=(0,o.useRef)(r);(0,o.useEffect)(()=>{f.current=r},[r]);let v=(0,o.useRef)(l);(0,o.useEffect)(()=>{v.current=l},[l]);let[m,w]=(0,o.useState)(!1),[x,_]=(0,o.useState)(!1),{props:k,meta:z}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:a,blurComplete:m,showAltText:x});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(y,{...k,unoptimized:z.unoptimized,placeholder:z.placeholder,fill:z.fill,onLoadRef:f,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:_,sizesInput:e.sizes,ref:t}),z.priority?(0,n.jsx)(b,{isAppRouter:!i,imgAttributes:k}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5353:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return a}});let s=i(2115);function a(e,t){let i=(0,s.useRef)(()=>{}),a=(0,s.useRef)(()=>{});return(0,s.useMemo)(()=>e&&t?s=>{null===s?(i.current(),a.current()):(i.current=n(e,s),a.current=n(t,s))}:e||t,[e,t])}function n(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let i=e(t);return"function"==typeof i?i:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3003:(e,t,i)=>
1{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return s}});let s=i(306)._(i(2115)).default.createContext({})},675:(e,t)=>{function i(e){let{ampFirst:t=!1,hybrid:i=!1,hasQuery:s=!1}=void 0===e?{}:e;return t||i&&s}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return i}})},666:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return r}}),i(2363);let s=i(5859),a=i(1159);function n(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function r(e,t){var i;let r,l,c,{src:h,sizes:d,unoptimized:u=!1,priority:p=!1,loading:f,className:g,quality:v,width:m,height:y,fill:b=!1,style:w,overrideSrc:x,onLoad:_,onLoadingComplete:k,placeholder:z="empty",blurDataURL:C,fetchPriority:M,decoding:P="async",layout:S,objectFit:O,objectPosition:T,lazyBoundary:R,lazyRoot:E,...D}=e,{imgConf:I,showAltText:A,blurComplete:L,defaultLoader:F}=t,j=I||a.imageConfigDefault;if("allSizes"in j)r=j;else{let e=[...j.deviceSizes,...j.imageSizes].sort((e,t)=>e-t),t=j.deviceSizes.sort((e,t)=>e-t);r={...j,allSizes:e,deviceSizes:t}}if(void 0===F)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let B=D.loader||F;delete D.loader,delete D.srcSet;let U="__next_img_default"in B;if(U){if("custom"===r.loader)throw Error('Image with src "'+h+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=B;B=t=>{let{config:i,...s}=t;return e(s)}}if(S){"fill"===S&&(b=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(w={...w,...e});let t={responsive:"100vw",fill:"100vw"}[S];t&&!d&&(d=t)}let q="",V=o(m),G=o(y);if((i=h)&&"object"==typeof i&&(n(i)||void 0!==i.src)){let e=n(h)?h.default:h;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(l=e.blurWidth,c=e.blurHeight,C=C||e.blurDataURL,q=e.src,!b){if(V||G){if(V&&!G){let t=V/e.width;G=Math.round(e.height*t)}else if(!V&&G){let t=G/e.height;V=Math.round(e.width*t)}}else V=e.width,G=e.height}}let J=!p&&("lazy"===f||void 0===f);(!(h="string"==typeof h?h:q)||h.startsWith("data:")||h.startsWith("blob:"))&&(u=!0,J=!1),r.unoptimized&&(u=!0),U&&!r.dangerouslyAllowSVG&&h.split("?",1)[0].endsWith(".svg")&&(u=!0);let H=o(v),W=Object.assign(b?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:T}:{},A?{}:{color:"transparent"},w),Y=L||"empty"===z?null:"blur"===z?'url("data:image/svg+xml;charset=utf-8,'+(0,s.getImageBlurSvg)({widthInt:V,heightInt:G,blurWidth:l,blurHeight:c,blurDataURL:C||"",objectFit:W.objectFit})+'")':'url("'+z+'")',$=Y?{backgroundSize:W.objectFit||"cover",backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},N=function(e){let{config:t,src:i,unoptimized:s,width:a,quality:n,sizes:o,loader:r}=e;if(s)return{src:i,srcSet:void 0,sizes:void 0};let{widths:l,kind:c}=function(e,t,i){let{deviceSizes:s,allSizes:a}=e;if(i){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let s;s=e.exec(i);s)t.push(parseInt(s[2]));if(t.length){let e=.01*Math.min(...t);return{widths:a.filter(t=>t>=s[0]*e),kind:"w"}}return{widths:a,kind:"w"}}return"number"!=typeof t?{widths:s,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>a.find(t=>t>=e)||a[a.length-1]))],kind:"x"}}(t,a,o),h=l.length-1;return{sizes:o||"w"!==c?o:"100vw",srcSet:l.map((e,s)=>r({config:t,src:i,quality:n,width:e})+" "+("w"===c?e:s+1)+c).join(", "),src:r({config:t,src:i,quality:n,width:l[h]})}}({config:r,src:h,unoptimized:u,width:V,quality:H,sizes:d,loader:B});return{props:{...D,loading:J?"lazy":f,fetchPriority:M,width:V,height:G,decoding:P,className:g,style:{...W,...$},sizes:N.sizes,srcSet:N.srcSet,src:x||N.src},meta:{unoptimized:u,priority:p,placeholder:z,fill:b}}}},6107:(e,t,i)=>{var s=i(2818);
1Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{default:function(){return v},defaultHead:function(){return u}});let a=i(306),n=i(9955),o=i(5155),r=n._(i(2115)),l=a._(i(1172)),c=i(3003),h=i(1147),d=i(675);function u(e){void 0===e&&(e=!1);let t=[(0,o.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===r.default.Fragment?e.concat(r.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}i(2363);let f=["name","httpEquiv","charSet","itemProp"];function g(e,t){let{inAmpMode:i}=t;return e.reduce(p,[]).reverse().concat(u(i).reverse()).filter(function(){let e=new Set,t=new Set,i=new Set,s={};return a=>{let n=!0,o=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){o=!0;let t=a.key.slice(a.key.indexOf("$")+1);e.has(t)?n=!1:e.add(t)}switch(a.type){case"title":case"base":t.has(a.type)?n=!1:t.add(a.type);break;case"meta":for(let e=0,t=f.length;e<t;e++){let t=f[e];if(a.props.hasOwnProperty(t)){if("charSet"===t)i.has(t)?n=!1:i.add(t);else{let e=a.props[t],i=s[t]||new Set;("name"!==t||!o)&&i.has(e)?n=!1:(i.add(e),s[t]=i)}}}}return n}}()).reverse().map((e,t)=>{let a=e.key||t;if(s.env.__NEXT_OPTIMIZE_FONTS&&!i&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,r.default.cloneElement(e,t)}return r.default.cloneElement(e,{key:a})})}let v=function(e){let{children:t}=e,i=(0,r.useContext)(c.AmpStateContext),s=(0,r.useContext)(h.HeadManagerContext);return(0,o.jsx)(l.default,{reduceComponentsToState:g,headManager:s,inAmpMode:(0,d.isInAmpMode)(i),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5859:(e,t)=>{function i(e){let{widthInt:t,heightInt:i,blurWidth:s,blurHeight:a,blurDataURL:n,objectFit:o}=e,r=s?40*s:t,l=a?40*a:i,c=r&&l?"viewBox='0 0 "+r+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(c?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+n+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return i}})},3621:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return n}});let s=i(306)._(i(2115)),a=i(1159),n=s.default.createContext(a.imageConfigDefault)},1159:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{VALID_LOADERS:function(){return i},imageConfigDefault:function(){return s}});let i=["default","imgix","cloudinary","akamai","custom"],s={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],unoptimized:!1}},4146:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{default:function(){return l},getImageProps:function(){return r}});let s=i(306),a=i(666),n=i(7970),o=s._(i(5514));function r(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,i]of Object.entries(t))void 0===i&&delete t[e];return{props:t}}let l=n.Image},5514:(e,t)=>
1{function i(e){let{config:t,src:i,width:s,quality:a}=e;return t.path+"?url="+encodeURIComponent(i)+"&w="+s+"&q="+(a||75)+(i.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),i.__next_img_default=!0;let s=i},3576:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return s}});let s=i(306)._(i(2115)).default.createContext(null)},1172:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}});let s=i(2115),a="undefined"==typeof window,n=a?()=>{}:s.useLayoutEffect,o=a?()=>{}:s.useEffect;function r(e){let{headManager:t,reduceComponentsToState:i}=e;function r(){if(t&&t.mountedInstances){let a=s.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(i(a,e))}}if(a){var l;null==t||null==(l=t.mountedInstances)||l.add(e.children),r()}return n(()=>{var i;return null==t||null==(i=t.mountedInstances)||i.add(e.children),()=>{var i;null==t||null==(i=t.mountedInstances)||i.delete(e.children)}}),n(()=>(t&&(t._pendingUpdate=r),()=>{t&&(t._pendingUpdate=r)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},2665:(e,t,i)=>{var s,a,n,o,r,l,c,h,d,u,p,f,g,v,m,y,b,w,x,_,k,z;i.d(t,{H_P:()=>n,jlt:()=>tX,_or:()=>v,VKE:()=>o,Q5V:()=>p,mgy:()=>z,sJd:()=>io,Oit:()=>eQ,Yzx:()=>m,v5k:()=>r,x_I:()=>w,U4p:()=>ir,M_G:()=>tQ,pTR:()=>_,PVU:()=>tu,Miz:()=>U,Jei:()=>eM,AEc:()=>eu,pEn:()=>ey,Tgl:()=>em,qE8:()=>H,EYT:()=>eL,puj:()=>ee,NVT:()=>ev,U6C:()=>eg,V6E:()=>eW,dIx:()=>O,wJ2:()=>ew,YfF:()=>K,vrU:()=>Q,pzy:()=>eU,_hh:()=>eF,PGG:()=>ej,tZQ:()=>ea,G0i:()=>J,W9e:()=>Z,VGA:()=>$,LCf:()=>eA,xxz:()=>eI,YLU:()=>eR,ayx:()=>eE,XsS:()=>ek,cyL:()=>L,iKf:()=>ef,hnD:()=>el,kZJ:()=>F,Gvm:()=>A,Tj8:()=>ed,B90:()=>eo,Vh1:()=>eh,TA3:()=>ex,AlN:()=>ec,XuV:()=>R,Z04:()=>M,RbF:()=>P,M3Y:()=>ei,a56:()=>T,U43:()=>Y,R5R:()=>eO,BN0:()=>eS,jon:()=>eb,K6u:()=>eT,DT4:()=>X,$k3:()=>il,UC0:()=>eC,JvX:()=>eG});let C="generated",M="pointerleave",P="pointermove",S="touchend",O="tsParticles - Error",T=100,R=1e3;function E(e){return"boolean"==typeof e}function D(e){return"string"==typeof e}function I(e){return"number"==typeof e}function A(e){return"object"==typeof e&&null!==e}function L(e){return Array.isArray(e)}function F(e){return null==e}!function(e){e.bottom="bottom",e.bottomLeft="bottom-left",e.bottomRight="bottom-right",e.left="left",e.none="none",e.right="right",e.top="top",e.topLeft="top-left",e.topRight="top-right",e.outside="outside",e.inside="inside"}(s||(s={}));let j={x:0,y:0,z:0};class B{constructor(e,t,i){if(this._updateFromAngle=(e,t)=>{this.x=Math.cos(e)*t,this.y=Math.sin(e)*t},!I(e)&&e)this.x=e.x,this.y=e.y,this.z=e.z?e.z:j.z;else if(void 0!==e&&void 0!==t)this.x=e,this.y=t,this.z=i??j.z;else throw Error(`${O} Vector3d not initialized correctly`)}static get origin(){return B.create(j.x,j.y,j.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this._updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(e){this._updateFromAngle(this.angle,e)}static clone(e){return B.create(e.x,e.y,e.z)}static create(e,t,i){return new B(e,t,i)}add(e){return B.create(this.x+e.x,this.y+e.y,this.z+e.z)}addTo(e){this.x+=e.x,this.y+=e.y,this.z+=e.z}copy(){return B.clone(this)}distanceTo(e){return this.sub(e).length}distanceToSq(e){return this.sub(e).getLengthSq()}div(e){return B.create(this.x/e,this.y/e,this.z/e)}divTo(e){this.x/=e,this.y/=e,this.z/=e}getLengthSq(){return this.x**2+this.y**2}mult(e){return B.create(this.x*e,this.y*e,this.z*e)}multTo(e){this.x*=e,this.y*=e,this.z*=e}normalize(){let e=this.length;0!=e&&this.multTo(1/e)}rotate(e){return B.create(this.x*Math.cos(e)-this.y*Math.sin(e),this.x*Math.sin(e)+this.y*Math.cos(e),j.z)}setTo(e){this.x=e.x,this.y=e.y,this.z=e.z?e.z:j.z}sub(e){return B.create(this.x-e.x,this.y-e.y,this.z-e.z)}
1subFrom(e){this.x-=e.x,this.y-=e.y,this.z-=e.z}}class U extends B{constructor(e,t){super(e,t,j.z)}static get origin(){return U.create(j.x,j.y)}static clone(e){return U.create(e.x,e.y)}static create(e,t){return new U(e,t)}}let q=Math.random,V={nextFrame:e=>requestAnimationFrame(e),cancel:e=>cancelAnimationFrame(e)},G=2*Math.PI;function J(){return H(q(),0,1-Number.EPSILON)}function H(e,t,i){return Math.min(Math.max(e,t),i)}function W(e,t,i,s){return Math.floor((e*i+t*s)/(i+s))}function Y(e){let t=Z(e),i=N(e);return t===i&&(i=0),J()*(t-i)+i}function $(e){return I(e)?e:Y(e)}function N(e){return I(e)?e:e.min}function Z(e){return I(e)?e:e.max}function X(e,t){if(e===t||void 0===t&&I(e))return e;let i=N(e),s=Z(e);return void 0!==t?{min:Math.min(i,t),max:Math.max(s,t)}:X(i,s)}function Q(e,t){let i=e.x-t.x,s=e.y-t.y;return{dx:i,dy:s,distance:Math.sqrt(i**2+s**2)}}function K(e,t){return Q(e,t).distance}function ee(e){return e*Math.PI/180}function et(e,t,i,s){return U.create(e.x*(i-s)/(i+s)+2*t.x*s/(i+s),e.y)}function ei(e){return e?e.endsWith("%")?parseFloat(e)/T:parseFloat(e):1}!function(e){e.auto="auto",e.increase="increase",e.decrease="decrease",e.random="random"}(a||(a={})),function(e){e.increasing="increasing",e.decreasing="decreasing"}(n||(n={})),function(e){e.none="none",e.max="max",e.min="min"}(o||(o={})),function(e){e.bottom="bottom",e.left="left",e.right="right",e.top="top"}(r||(r={})),function(e){e.precise="precise",e.percent="percent"}(l||(l={})),function(e){e.max="max",e.min="min",e.random="random"}(c||(c={}));let es={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function ea(){return es}function en(e){let t={bounced:!1},{pSide:i,pOtherSide:s,rectSide:a,rectOtherSide:n,velocity:o,factor:r}=e;return s.min<n.min||s.min>n.max||s.max<n.min||s.max>n.max||(i.max>=a.min&&i.max<=(a.max+a.min)*.5&&o>0||i.min<=a.max&&i.min>(a.max+a.min)*.5&&o<0)&&(t.velocity=-(o*r),t.bounced=!0),t}function eo(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function er(e){if(!eo()&&"undefined"!=typeof matchMedia)return matchMedia(e)}function el(e,t){return e===t||L(t)&&t.indexOf(e)>-1}async function ec(e,t){try{await document.fonts.load(`${t??"400"} 36px '${e??"Verdana"}'`)}catch{}}function eh(e,t,i=!0){return e[void 0!==t&&i?t%e.length:Math.floor(J()*e.length)]}function ed(e,t,i,s,a){var n;let o;return n=eu(e,s??0),o=!0,a&&a!==r.bottom||(o=n.top<t.height+i.x),o&&(!a||a===r.left)&&(o=n.right>i.x),o&&(!a||a===r.right)&&(o=n.left<t.width+i.y),o&&(!a||a===r.top)&&(o=n.bottom>i.y),o}function eu(e,t){return{bottom:e.y+t,left:e.x-t,right:e.x+t,top:e.y-t}}function ep(e,...t){for(let i of t){if(null==i)continue;if(!A(i)){e=i;continue}let t=Array.isArray(i);for(let s in t&&(A(e)||!e||!Array.isArray(e))?e=[]:!t&&(A(e)||!e||Array.isArray(e))&&(e={}),i){if("__proto__"===s)continue;let t=i[s],a=e;a[s]=A(t)&&Array.isArray(t)?t.map(e=>ep(a[s],e)):ep(a[s],t)}}return e}function ef(e,t){return!!e_(t,t=>t.enable&&el(e,t.mode))}function eg(e,t,i){ew(t,t=>{let s=t.mode;t.enable&&el(e,s)&&ew(t.selectors,e=>{i(e,t)})})}function ev(e,t){if(t&&e)return e_(e,e=>(function(e,t){let i=ew(t,t=>e.matches(t));return L(i)?i.some(e=>e):i})(t,e.selectors))}function em(e){return{position:e.getPosition(),radius:e.getRadius(),mass:e.getMass(),velocity:e.velocity,factor:U.create($(e.options.bounce.horizontal.value),$(e.options.bounce.vertical.value))}}function ey(e,t){let{x:i,y:s}=e.velocity.sub(t.velocity),[a,n]=[e.position,t.position],{dx:o,dy:r}=Q(n,a);if(i*o+s*r<0)return;let l=-Math.atan2(r,o),c=e.mass,h=t.mass,d=e.velocity.rotate(l),u=t.velocity.rotate(l),p=et(d,u,c,h),f=et(u,d,c,h),g=p.rotate(-l),v=f.rotate(-l);e.velocity.x=g.x*e.factor.x,e.velocity.y=g.y*e.factor.y,t.velocity.x=v.x*t.factor.x,t.velocity.y=v.y*t.factor.y}function eb(e,t){let i=eu(e.getPosition(),e.getRadius()),s=e.options.bounce,a=en({pSide:{min:i.left,max:i.right},pOtherSide:{min:i.top,max:i.bottom},rectSide:{min:t.left,max:t.right},rectOtherSide:{min:t.top,max:t.bottom},velocity:e.velocity.x,factor:$(s.horizontal.value)});a.bounced&&(void 0!==a.velocity&&(e.velocity.x=a.velocity),void 0!==a.position&&(e.position.x=a.position));let n=en({pSide:{min:i.top,max:i.bottom},pOtherSide:{min:i.left,max:i.right},rectSide:{min:t.top,max:t.bottom},rectOtherSide:{min:t.left,max:t.right},velocity:e.velocity.y,factor:$(s.vertical.value)});n.bounced&&(void 0!==n.velocity&&(e.velocity.y=n.velocity),void 0!==n.position&&(e.position.y=n.position))}function ew(e,t){return L(e)?e.map((e,i)=>t(e,i)):t(e,0)}function ex(e,t,i){return L(e)?eh(e,t,i):e}function e_(e,t){return L(e)?e.find((e,i)=>t(e,i)):t(e,0)?e:void 0}function ek(e,t){let i=e.value,s=e.animation,o={delayTime:$(s.delay)*R,enable:s.enable,value:$(e.value)*t,max:Z(i)*t,min:N(i)*t,loops:0,maxLoops:$(s.count),time:0};if(s.enable){switch(o.decay=1-$(s.decay),s.mode){case a.increase:o.status=n.increasing;break;case a.decrease:o.status=n.decreasing;break;case a.random:o.status=J()>=.5?n.increasing:n.decreasing}let e=s.mode===a.auto;switch(s.startValue){case c.min:o.value=o.min,e&&(o.status=n.increasing);break;case c.max:o.value=o.max,e&&(o.status=n.decreasing);break;case c.random:default:o.value=Y(o),e&&(o.status=J()>=.5?n.increasing:n.decreasing)}}return o.initialValue=o.value,o}function ez(e,t){if(e.mode!==l.percent){let{mode:t,...i}=e;return i}return"x"in e?{x:e.x/T*t.width,y:e.y/T*t.height}:{width:e.width/T*t.width,height:e.height/T*t.height}}function eC(e,t,i,s,a){if(e.destroyed||!t||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0))return;let r=(t.velocity??0)*a.factor,l=t.min,c=t.max,h=t.decay??1;if(t.time||(t.time=0),(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=a.value),!((t.delayTime??0)>
10)||!(t.time<(t.delayTime??0))){switch(t.status){case n.increasing:t.value>=c?(i?t.status=n.decreasing:t.value-=c,t.loops||(t.loops=0),t.loops++):t.value+=r;break;case n.decreasing:t.value<=l?(i?t.status=n.increasing:t.value+=c,t.loops||(t.loops=0),t.loops++):t.value-=r}t.velocity&&1!==h&&(t.velocity*=h),function(e,t,i,s,a){switch(t){case o.max:i>=a&&e.destroy();break;case o.min:i<=s&&e.destroy()}}(e,s,t.value,l,c),e.destroyed||(t.value=H(t.value,l,c))}}function eM(e,t){if(e.version!==t)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${e.version}. Plugins version: ${t}`)}!function(e){e.darken="darken",e.enlighten="enlighten"}(h||(h={}));let eP="random";function eS(e,t,i,s=!0){if(!t)return;let a=D(t)?{value:t}:t;if(D(a.value))return function e(t,i,s,a=!0){if(!i)return;let n=D(i)?{value:i}:i;if(D(n.value))return n.value===eP?eD():function(e,t){if(t){for(let i of e.colorManagers.values())if(t.startsWith(i.stringPrefix))return i.parseString(t)}}(t,n.value);if(L(n.value))return e(t,{value:eh(n.value,s,a)});for(let e of t.colorManagers.values()){let t=e.handleColor(n);if(t)return t}}(e,a.value,i,s);if(L(a.value))return eS(e,{value:eh(a.value,i,s)});for(let t of e.colorManagers.values()){let e=t.handleRangeColor(a);if(e)return e}}function eO(e,t,i,s=!0){let a=eS(e,t,i,s);return a?eT(a):void 0}function eT(e){let t=e.r/255,i=e.g/255,s=e.b/255,a=Math.max(t,i,s),n=Math.min(t,i,s),o={h:0,l:(a+n)*.5,s:0};return a!==n&&(o.s=o.l<.5?(a-n)/(a+n):(a-n)/(2-a-n),o.h=t===a?(i-s)/(a-n):o.h=i===a?2+(s-t)/(a-n):4+(t-i)/(a-n)),o.l*=100,o.s*=100,o.h*=60,o.h<0&&(o.h+=360),o.h>=360&&(o.h-=360),o}function eR(e){let t=(e.h%360+360)%360,i=Math.max(0,Math.min(100,e.s)),s=Math.max(0,Math.min(100,e.l)),a=t/360,n=i/100,o=s/100;if(0===i){let e=Math.round(255*o);return{r:e,g:e,b:e}}let r=(e,t,i)=>(i<0&&i++,i>1&&i--,6*i<1)?e+(t-e)*6*i:2*i<1?t:3*i<2?e+(t-e)*(.6666666666666666-i)*6:e,l=o<.5?o*(1+n):o+n-o*n,c=2*o-l;return{r:Math.round(Math.min(255,255*r(c,l,a+.3333333333333333))),g:Math.round(Math.min(255,255*r(c,l,a))),b:Math.round(Math.min(255,255*r(c,l,a-.3333333333333333)))}}function eE(e){let t=eR(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}function eD(e){let t=e??0;return{b:Math.floor(Y(X(t,256))),g:Math.floor(Y(X(t,256))),r:Math.floor(Y(X(t,256)))}}function eI(e,t){return`rgba(${e.r}, ${e.g}, ${e.b}, ${t??1})`}function eA(e,t){return`hsla(${e.h}, ${e.s}%, ${e.l}%, ${t??1})`}function eL(e,t,i,s){let a=e,n=t;return void 0===a.r&&(a=eR(e)),void 0===n.r&&(n=eR(t)),{b:W(a.b,n.b,i,s),g:W(a.g,n.g,i,s),r:W(a.r,n.r,i,s)}}function eF(e,t,i){if(i===eP)return eD();if("mid"!==i)return i;{let i=e.getFillColor()??e.getStrokeColor(),s=t?.getFillColor()??t?.getStrokeColor();if(i&&s&&t)return eL(i,s,e.getRadius(),t.getRadius());{let e=i??s;if(e)return eR(e)}}}function ej(e,t,i,s){let a=D(t)?t:t.value;return a===eP?s?eS(e,{value:a}):i?eP:"mid":"mid"===a?"mid":eS(e,{value:a})}function eB(e){return void 0!==e?{h:e.h.value,s:e.s.value,l:e.l.value}:void 0}function eU(e,t,i){let s={h:{enable:!1,value:e.h},s:{enable:!1,value:e.s},l:{enable:!1,value:e.l}};return t&&(eq(s.h,t.h,i),eq(s.s,t.s,i),eq(s.l,t.l,i)),s}function eq(e,t,i){e.enable=t.enable,e.enable?(e.velocity=$(t.speed)/T*i,e.decay=1-$(t.decay),e.status=n.increasing,e.loops=0,e.maxLoops=$(t.count),e.time=0,e.delayTime=$(t.delay)*R,t.sync||(e.velocity*=J(),e.value*=J()),e.initialValue=e.value,e.offset=X(t.offset)):e.velocity=0}function eV(e,t,i,s){if(!e||!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0)||(e.time||(e.time=0),(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=s.value),(e.delayTime??0)>0&&e.time<(e.delayTime??0)))return;let a=e.offset?Y(e.offset):0,o=(e.velocity??0)*s.factor+3.6*a,r=e.decay??1,l=Z(t),c=N(t);i&&e.status!==n.increasing?(e.value-=o,e.value<0&&(e.loops||(e.loops=0),e.loops++,e.status=n.increasing)):(e.value+=o,e.value>l&&(e.loops||(e.loops=0),e.loops++,i?e.status=n.decreasing:e.value-=l)),e.velocity&&1!==r&&(e.velocity*=r),e.value=H(e.value,c,l)}function eG(e,t){if(!e)return;let{h:i,s,l:a}=e,n={h:{min:0,max:360},s:{min:0,max:100},l:{min:0,max:100}};i&&eV(i,n.h,!1,t),s&&eV(s,n.s,!0,t),a&&eV(a,n.l,!0,t)}let eJ={x:0,y:0},eH={a:1,b:0,c:0,d:1};function eW(e,t,i){e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),e.closePath()}function eY(e,t){e.clearRect(eJ.x,eJ.y,t.width,t.height)}function e$(e,t,i=!1){if(!t||!e)return;let s=e.style;if(s)for(let e in t){let a=t[e];s.setProperty(e,a,i?"important":"")}}class eN{constructor(e,t){this.container=e,this._applyPostDrawUpdaters=e=>{for(let t of this._postDrawUpdaters)t.afterDraw?.(e)},this._applyPreDrawUpdaters=(e,t,i,s,a,n)=>{for(let o of this._preDrawUpdaters){if(o.getColorStyles){let{fill:n,stroke:r}=o.getColorStyles(t,e,i,s);n&&(a.fill=n),r&&(a.stroke=r)}if(o.getTransformValues){let e=o.getTransformValues(t);for(let t in e)!function(e,t,i){let s=t[i];void 0!==s&&(e[i]=(e[i]??1)*s)}(n,e,t)}
1o.beforeDraw?.(t)}},this._applyResizePlugins=()=>{for(let e of this._resizePlugins)e.resize?.()},this._getPluginParticleColors=e=>{let t,i;for(let s of this._colorPlugins)if(!t&&s.particleFillColor&&(t=eO(this._engine,s.particleFillColor(e))),!i&&s.particleStrokeColor&&(i=eO(this._engine,s.particleStrokeColor(e))),t&&i)break;return[t,i]},this._initCover=async()=>{let e=this.container.actualOptions.backgroundMask.cover,t=e.color;if(t){let i=eS(this._engine,t);if(i){let t={...i,a:e.opacity};this._coverColorStyle=eI(t,t.a)}}else await new Promise((t,i)=>{if(!e.image)return;let s=document.createElement("img");s.addEventListener("load",()=>{this._coverImage={image:s,opacity:e.opacity},t()}),s.addEventListener("error",e=>{i(e.error)}),s.src=e.image})},this._initStyle=()=>{let e=this.element,t=this.container.actualOptions;if(e)for(let i in this._fullScreen?(this._originalStyle=ep({},e.style),this._setFullScreenStyle()):this._resetOriginalStyle(),t.style){if(!i||!t.style)continue;let s=t.style[i];s&&e.style.setProperty(i,s,"important")}},this._initTrail=async()=>{let e=this.container.actualOptions.particles.move.trail,t=e.fill;if(!e.enable)return;let i=1/e.length;if(t.color){let e=eS(this._engine,t.color);if(!e)return;this._trailFill={color:{...e},opacity:i}}else await new Promise((e,s)=>{if(!t.image)return;let a=document.createElement("img");a.addEventListener("load",()=>{this._trailFill={image:a,opacity:i},e()}),a.addEventListener("error",e=>{s(e.error)}),a.src=t.image})},this._paintBase=e=>{this.draw(t=>(function(e,t,i){e.fillStyle=i??"rgba(0,0,0,0)",e.fillRect(eJ.x,eJ.y,t.width,t.height)})(t,this.size,e))},this._paintImage=(e,t)=>{this.draw(i=>(function(e,t,i,s){i&&(e.globalAlpha=s,e.drawImage(i,eJ.x,eJ.y,t.width,t.height),e.globalAlpha=1)})(i,this.size,e,t))},this._repairStyle=()=>{let e=this.element;e&&(this._safeMutationObserver(e=>
1e.disconnect()),this._initStyle(),this.initBackground(),this._safeMutationObserver(t=>{e&&e instanceof Node&&t.observe(e,{attributes:!0})}))},this._resetOriginalStyle=()=>{let e=this.element,t=this._originalStyle;e&&t&&e$(e,t)},this._safeMutationObserver=e=>{this._mutationObserver&&e(this._mutationObserver)},this._setFullScreenStyle=()=>{let e=this.element;if(!e)return;let t=this.container.actualOptions.fullScreen.zIndex.toString(10);e$(e,{position:"fixed","z-index":t,zIndex:t,top:"0",left:"0",width:"100%",height:"100%"},!0)},this._engine=t,this._standardSize={height:0,width:0};let i=e.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*i,width:s.width*i},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}clear(){let e=this.container.actualOptions,t=e.particles.move.trail,i=this._trailFill;e.backgroundMask.enable?this.paint():t.enable&&t.length>0&&i?i.color?this._paintBase(eI(i.color,i.opacity)):i.image&&this._paintImage(i.image,i.opacity):e.clear&&this.draw(e=>{eY(e,this.size)})}destroy(){if(this.stop(),this._generated){let e=this.element;e?.remove()}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(e){let t=this._context;if(t)return e(t)}drawAsync(e){let t=this._context;if(t)return e(t)}drawParticle(e,t){if(e.spawning||e.destroyed)return;let i=e.getRadius();if(i<=0)return;let s=e.getFillColor(),a=e.getStrokeColor()??s,[n,o]=this._getPluginParticleColors(e);n||(n=s),o||(o=a),(n||o)&&this.draw(s=>{let a=this.container,r=a.actualOptions,l=e.options.zIndex,c=1-e.zIndexFactor,h=c**l.opacityRate,d=e.bubble.opacity??e.opacity?.value??1,u=e.strokeOpacity??d,p=d*h,f={},g={fill:n?eA(n,p):void 0};g.stroke=o?eA(o,u*h):g.fill,this._applyPreDrawUpdaters(s,e,i,p,g,f),function(e){let{container:t,context:i,particle:s,delta:a,colorStyles:n,backgroundMask:o,composite:r,radius:l,opacity:c,shadow:h,transform:d}=e,u=s.getPosition(),p=s.rotation+(s.pathRotation?s.velocity.angle:0),f={sin:Math.sin(p),cos:Math.cos(p)},g=!!p,v={a:f.cos*(d.a??eH.a),b:g?f.sin*(d.b??1):d.b??eH.b,c:g?-f.sin*(d.c??1):d.c??eH.c,d:f.cos*(d.d??eH.d)};i.setTransform(v.a,v.b,v.c,v.d,u.x,u.y),o&&(i.globalCompositeOperation=r);let m=s.shadowColor;h.enable&&m&&(i.shadowBlur=h.blur,i.shadowColor=eI(m),i.shadowOffsetX=h.offset.x,i.shadowOffsetY=h.offset.y),n.fill&&(i.fillStyle=n.fill);let y=s.strokeWidth??0;i.lineWidth=y,n.stroke&&(i.strokeStyle=n.stroke);let b={container:t,context:i,particle:s,radius:l,opacity:c,delta:a,transformData:v,strokeWidth:y};(function(e){let{container:t,context:i,particle:s,radius:a,opacity:n,delta:o,strokeWidth:r,transformData:l}=e;if(!s.shape)return;let c=t.shapeDrawers.get(s.shape);c&&(i.beginPath(),c.draw({context:i,particle:s,radius:a,opacity:n,delta:o,pixelRatio:t.retina.pixelRatio,transformData:{...l}}),s.shapeClose&&i.closePath(),r>0&&i.stroke(),s.shapeFill&&i.fill())})(b),function(e){let{container:t,context:i,particle:s,radius:a,opacity:n,delta:o,transformData:r}=e;if(!s.shape)return;let l=t.shapeDrawers.get(s.shape);l?.afterDraw&&l.afterDraw({context:i,particle:s,radius:a,opacity:n,delta:o,pixelRatio:t.retina.pixelRatio,transformData:{...r}})}(b),function(e){let{container:t,context:i,particle:s,radius:a,opacity:n,delta:o,transformData:r}=e;if(!s.effect)return;let l=t.effectDrawers.get(s.effect);l&&l.draw({context:i,particle:s,radius:a,opacity:n,delta:o,pixelRatio:t.retina.pixelRatio,transformData:{...r}})}(b),i.globalCompositeOperation="source-over",i.resetTransform()}({container:a,context:s,particle:e,delta:t,colorStyles:g,backgroundMask:r.backgroundMask.enable,composite:r.backgroundMask.composite,radius:i*c**l.sizeRate,opacity:p,shadow:e.options.shadow,transform:f}),this._applyPostDrawUpdaters(e)})}drawParticlePlugin(e,t,i){this.draw(s=>{e.drawParticle&&e.drawParticle(s,t,i)})}drawPlugin(e,t){this.draw(i=>{e.draw&&e.draw(i,t)})}
1async init(){this._safeMutationObserver(e=>e.disconnect()),this._mutationObserver=function(e){if(!eo()&&"undefined"!=typeof MutationObserver)return new MutationObserver(e)}(e=>{for(let t of e)"attributes"===t.type&&"style"===t.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(e){es.error(e)}this.initBackground(),this._safeMutationObserver(e=>{this.element&&this.element instanceof Node&&e.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let e=this.container.actualOptions.background,t=this.element;if(!t)return;let i=t.style;if(i){if(e.color){let t=eS(this._engine,e.color);i.backgroundColor=t?eI(t,e.opacity):""}else i.backgroundColor="";i.backgroundImage=e.image||"",i.backgroundPosition=e.position||"",i.backgroundRepeat=e.repeat||"",i.backgroundSize=e.size||""}}initPlugins(){for(let e of(this._resizePlugins=[],this.container.plugins.values()))e.resize&&this._resizePlugins.push(e),(e.particleFillColor??e.particleStrokeColor)&&this._colorPlugins.push(e)}initUpdaters(){for(let e of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))e.afterDraw&&this._postDrawUpdaters.push(e),(e.getColorStyles??e.getTransformValues??e.beforeDraw)&&this._preDrawUpdaters.push(e)}loadCanvas(e){this._generated&&this.element&&this.element.remove(),this._generated=e.dataset&&C in e.dataset?"true"===e.dataset[C]:this._generated,this.element=e,this.element.ariaHidden="true",this._originalStyle=ep({},this.element.style);let t=this._standardSize;t.height=e.offsetHeight,t.width=e.offsetWidth;let i=this.container.retina.pixelRatio,s=this.size;e.height=s.height=t.height*i,e.width=s.width=t.width*i,this._context=this.element.getContext("2d"),this._safeMutationObserver(e=>{this.element&&this.element instanceof Node&&e.observe(this.element,{attributes:!0})}
1),this.container.retina.init(),this.initBackground()}paint(){let e=this.container.actualOptions;this.draw(t=>{e.backgroundMask.enable&&e.backgroundMask.cover?(eY(t,this.size),this._coverImage?this._paintImage(this._coverImage.image,this._coverImage.opacity):this._coverColorStyle?this._paintBase(this._coverColorStyle):this._paintBase()):this._paintBase()})}resize(){if(!this.element)return!1;let e=this.container,t=e.canvas._standardSize,i={width:this.element.offsetWidth,height:this.element.offsetHeight},s=e.retina.pixelRatio,a={width:i.width*s,height:i.height*s};if(i.height===t.height&&i.width===t.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let n={...t};t.height=i.height,t.width=i.width;let o=this.size;return this.element.width=o.width=a.width,this.element.height=o.height=a.height,this.container.started&&e.particles.setResizeFactor({width:t.width/n.width,height:t.height/n.height}),!0}stop(){this._safeMutationObserver(e=>e.disconnect()),this._mutationObserver=void 0,this.draw(e=>eY(e,this.size))}async windowResize(){if(!this.element||!this.resize())return;let e=this.container,t=e.updateActualOptions();e.particles.setDensity(),this._applyResizePlugins(),t&&await e.refresh()}}function eZ(e,t,i,s,a){if(s){let s={passive:!0};E(a)?s.capture=a:void 0!==a&&(s=a),e.addEventListener(t,i,s)}else e.removeEventListener(t,i,a)}!function(e){e.canvas="canvas",e.parent="parent",e.window="window"}(d||(d={}));class eX{constructor(e){this.container=e,this._doMouseTouchClick=e=>{let t=this.container,i=t.actualOptions;if(this._canPush){let e=t.interactivity.mouse,s=e.position;if(!s)return;e.clickPosition={...s},e.clickTime=new Date().getTime(),ew(i.interactivity.events.onClick.mode,e=>this.container.handleClickMode(e))}"touchend"===e.type&&setTimeout(()=>this._mouseTouchFinish(),500)},this._handleThemeChange=e=>{let t=this.container,i=t.options,s=i.defaultThemes,a=e.matches?s.dark:s.light,n=i.themes.find(e=>e.name===a);n?.default.auto&&t.loadTheme(a)},this._handleVisibilityChange=()=>{let e=this.container,t=e.actualOptions;this._mouseTouchFinish(),t.pauseOnBlur&&(document?.hidden?(e.pageHidden=!0,e.pause()):(e.pageHidden=!1,e.animationStatus?e.play(!0):e.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let e=async()=>{let e=this.container.canvas;await e?.windowResize()};this._resizeTimeout=setTimeout(()=>void e(),this.container.actualOptions.interactivity.events.resize.delay*R)},this._manageInteractivityListeners=(e,t)=>{let i=this._handlers,s=this.container,a=s.actualOptions,n=s.interactivity.element;if(!n)return;let o=s.canvas.element;o&&(o.style.pointerEvents=n===o?"initial":"none"),(a.interactivity.events.onHover.enable||a.interactivity.events.onClick.enable)&&(eZ(n,P,i.mouseMove,t),eZ(n,"touchstart",i.touchStart,t),eZ(n,"touchmove",i.touchMove,t),a.interactivity.events.onClick.enable?(eZ(n,S,i.touchEndClick,t),eZ(n,"pointerup",i.mouseUp,t),eZ(n,"pointerdown",i.mouseDown,t)):eZ(n,S,i.touchEnd,t),eZ(n,e,i.mouseLeave,t),eZ(n,"touchcancel",i.touchCancel,t))},this._manageListeners=e=>{let t=this._handlers,i=this.container,s=i.actualOptions.interactivity.detectsOn,a=i.canvas.element,n=M;s===d.window?(i.interactivity.element=window,n="pointerout"):s===d.parent&&a?i.interactivity.element=a.parentElement??a.parentNode:i.interactivity.element=a,this._manageMediaMatch(e),this._manageResize(e),this._manageInteractivityListeners(n,e),document&&eZ(document,"visibilitychange",t.visibilityChange,e,!1)},this._manageMediaMatch=e=>{let t=this._handlers,i=er("(prefers-color-scheme: dark)");if(i){if(void 0!==i.addEventListener){eZ(i,"change",t.themeChange,e);return}void 0!==i.addListener&&(e?i.addListener(t.oldThemeChange):i.removeListener(t.oldThemeChange))}},this._manageResize=e=>{let t=this._handlers,i=this.container;if(!i.actualOptions.interactivity.events.resize)return;if("undefined"==typeof ResizeObserver){eZ(window,"resize",t.resize,e);return}let s=i.canvas.element;this._resizeObserver&&!e?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&e&&s&&(this._resizeObserver=new ResizeObserver(e=>{e.find(e=>e.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))},this._mouseDown=()=>{let{interactivity:e}=this.container;if(!e)return;let{mouse:t}=e;t.clicking=!0,t.downPosition=t.position},this._mouseTouchClick=e=>{let t=this.container,i=t.actualOptions,{mouse:s}
1=t.interactivity;s.inside=!0;let a=!1,n=s.position;if(n&&i.interactivity.events.onClick.enable){for(let e of t.plugins.values())if(e.clickPositionValid&&(a=e.clickPositionValid(n)))break;a||this._doMouseTouchClick(e),s.clicking=!1}},this._mouseTouchFinish=()=>{let e=this.container.interactivity;if(!e)return;let t=e.mouse;delete t.position,delete t.clickPosition,delete t.downPosition,e.status=M,t.inside=!1,t.clicking=!1},this._mouseTouchMove=e=>{let t;let i=this.container,s=i.actualOptions,a=i.interactivity,n=i.canvas.element;if(!a?.element)return;if(a.mouse.inside=!0,e.type.startsWith("pointer")){if(this._canPush=!0,a.element===window){if(n){let i=n.getBoundingClientRect();t={x:e.clientX-i.left,y:e.clientY-i.top}}}else if(s.interactivity.detectsOn===d.parent){let i=e.target,s=e.currentTarget;if(i&&s&&n){let a=i.getBoundingClientRect(),o=s.getBoundingClientRect(),r=n.getBoundingClientRect();t={x:e.offsetX+2*a.left-(o.left+r.left),y:e.offsetY+2*a.top-(o.top+r.top)}}else t={x:e.offsetX??e.clientX,y:e.offsetY??e.clientY}}else e.target===n&&(t={x:e.offsetX??e.clientX,y:e.offsetY??e.clientY})}else if(this._canPush="touchmove"!==e.type,n){let i=e.touches[e.touches.length-1],s=n.getBoundingClientRect();t={x:i.clientX-(s.left??0),y:i.clientY-(s.top??0)}}let o=i.retina.pixelRatio;t&&(t.x*=o,t.y*=o),a.mouse.position=t,a.status=P},this._touchEnd=e=>{for(let t of Array.from(e.changedTouches))this._touches.delete(t.identifier);this._mouseTouchFinish()},this._touchEndClick=e=>{for(let t of Array.from(e.changedTouches))this._touches.delete(t.identifier);this._mouseTouchClick(e)},this._touchStart=e=>{for(let t of Array.from(e.changedTouches))this._touches.set(t.identifier,performance.now());this._mouseTouchMove(e)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:e=>this._mouseTouchMove(e),mouseUp:e=>this._mouseTouchClick(e),touchStart:e=>this._touchStart(e),touchMove:e=>this._mouseTouchMove(e),touchEnd:e=>this._touchEnd(e),touchCancel:e=>this._touchEnd(e),touchEndClick:e=>this._touchEndClick(e),visibilityChange:()=>this._handleVisibilityChange(),themeChange:e=>this._handleThemeChange(e),oldThemeChange:e=>this._handleThemeChange(e),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}!function(e){e.configAdded="configAdded",e.containerInit="containerInit",e.particlesSetup="particlesSetup",e.containerStarted="containerStarted",e.containerStopped="containerStopped",e.containerDestroyed="containerDestroyed",e.containerPaused="containerPaused",e.containerPlay="containerPlay",e.containerBuilt="containerBuilt",e.particleAdded="particleAdded",e.particleDestroyed="particleDestroyed",e.particleRemoved="particleRemoved"}(u||(u={}));class eQ{constructor(){this.value=""}static create(e,t){let i=new eQ;return i.load(e),void 0!==t&&(D(t)||L(t)?i.load({value:t}):i.load(t)),i}load(e){!F(e)&&(F(e.value)||(this.value=e.value))}}class eK{constructor(){this.color=new eQ,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(e){F(e)||(void 0!==e.color&&(this.color=eQ.create(this.color,e.color)),void 0!==e.image&&(this.image=e.image),void 0!==e.position&&(this.position=e.position),void 0!==e.repeat&&(this.repeat=e.repeat),void 0!==e.size&&(this.size=e.size),void 0===e.opacity||(this.opacity=e.opacity))}}class e0{constructor(){this.opacity=1}load(e){F(e)||(void 0!==e.color&&(this.color=eQ.create(this.color,e.color)),void 0!==e.image&&(this.image=e.image),void 0===e.opacity||(this.opacity=e.opacity))}}class e1{constructor(){this.composite="destination-out",this.cover=new e0,this.enable=!1}load(e){if(!F(e)){if(void 0!==e.composite&&(this.composite=e.composite),void 0!==e.cover){let t=e.cover,i=D(e.cover)?{color:e.cover}:e.cover;this.cover.load(void 0!==t.color||void 0!==t.image?t:{color:i})}void 0!==e.enable&&(this.enable=e.enable)}}}class e5{constructor(){this.enable=!0,this.zIndex=0}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0===e.zIndex||(this.zIndex=e.zIndex))}}class e2{constructor(){this.enable=!1,this.mode=[]}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0===e.mode||(this.mode=e.mode))}}!function(e){e.circle="circle",e.rectangle="rectangle"}(p||(p={}));class e3{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=p.circle}load(e){F(e)||(void 0!==e.selectors&&(this.selectors=e.selectors),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode),void 0===e.type||(this.t
1ype=e.type))}}class e6{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.force&&(this.force=e.force),void 0===e.smooth||(this.smooth=e.smooth))}}class e4{constructor(){this.enable=!1,this.mode=[],this.parallax=new e6}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode),this.parallax.load(e.parallax))}}class e7{constructor(){this.delay=.5,this.enable=!0}load(e){F(e)||(void 0!==e.delay&&(this.delay=e.delay),void 0===e.enable||(this.enable=e.enable))}}class e8{constructor(){this.onClick=new e2,this.onDiv=new e3,this.onHover=new e4,this.resize=new e7}load(e){if(F(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=ew(t,e=>{let t=new e3;return t.load(e),t})),this.onHover.load(e.onHover),this.resize.load(e.resize)}}class e9{constructor(e,t){this._engine=e,this._container=t}load(e){if(F(e)||!this._container)return;let t=this._engine.interactors.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}class te{constructor(e,t){this.detectsOn=d.window,this.events=new e8,this.modes=new e9(e,t)}load(e){if(F(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}class tt{load(e){!F(e)&&(e.position&&(this.position={x:e.position.x??50,y:e.position.y??50,mode:e.position.mode??l.percent}),e.options&&(this.options=ep({},e.options)))}}!function(e){e.screen="screen",e.canvas="canvas"}(f||(f={}));class ti{constructor(){this.maxWidth=1/0,this.options={},this.mode=f.canvas}load(e){!F(e)&&(F(e.maxWidth)||(this.maxWidth=e.maxWidth),F(e.mode)||(e.mode===f.screen?this.mode=f.screen:this.mode=f.canvas),F(e.options)||(this.options=ep({},e.options)))}}!function(e){e.any="any",e.dark="dark",e.light="light"}(g||(g={}));class ts{constructor(){this.auto=!1,this.mode=g.any,this.value=!1}load(e){F(e)||(void 0!==e.auto&&(this.auto=e.auto),void 0!==e.mode&&(this.mode=e.mode),void 0===e.value||(this.value=e.value))}}class ta{constructor(){this.name="",this.default=new ts}load(e){F(e)||(void 0!==e.name&&(this.name=e.name),this.default.load(e.default),void 0!==e.options&&(this.options=ep({},e.options)))}}class tn{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(e){F(e)||(void 0!==e.count&&(this.count=X(e.count)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=X(e.speed)),void 0!==e.decay&&(this.decay=X(e.decay)),void 0!==e.delay&&(this.delay=X(e.delay)),void 0===e.sync||(this.sync=e.sync))}}class to extends tn{constructor(){super(),this.mode=a.auto,this.startValue=c.random}load(e){super.load(e),F(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0===e.startValue||(this.startValue=e.startValue))}}class tr extends tn{constructor(){super(),this.offset=0,this.sync=!0}load(e){super.load(e),F(e)||void 0===e.offset||(this.offset=X(e.offset))}}class tl{constructor(){this.h=new tr,this.s=new tr,this.l=new tr}load(e){F(e)||(this.h.load(e.h),this.s.load(e.s),this.l.load(e.l))}}class tc extends eQ{constructor(){super(),this.animation=new tl}static create(e,t){let i=new tc;return i.load(e),void 0!==t&&(D(t)||L(t)?i.load({value:t}):i.load(t)),i}load(e){if(super.load(e),F(e))return;let t=e.animation;void 0!==t&&(void 0!==t.enable?this.animation.h.load(t):this.animation.load(e.animation))}}!function(e){e.absorb="absorb",e.bounce="bounce",e.destroy="destroy"}(v||(v={}));class th{constructor(){this.speed=2}load(e){F(e)||void 0===e.speed||(this.speed=e.speed)}}class td{constructor(){this.enable=!0,this.retries=0}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0===e.retries||(this.retries=e.retries))}}class tu{constructor(){this.value=0}load(e){!F(e)&&(F(e.value)||(this.value=X(e.value)))}}class tp extends tu{constructor(){super(),this.animation=new tn}load(e){if(super.load(e),F(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}class tf extends tp{constructor(){super(),this.animation=new to}load(e){super.load(e)}}class tg extends tu{constructor(){super(),this.value=1}}class tv{constructor(){this.horizontal=new tg,this.vertical=new tg}load(e){F(e)||(this.horizontal.load(e.horizontal),this.vertical.load(e.vertical))}}class tm{constructor(){this.absorb=new th,this.bounce=new tv,this.enable=!1,this.maxSpeed=50,this.mode=v.bounce,this.overlap=new td}load(e){F(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.maxSpeed&&(this.maxSpeed=X(e.maxSpeed)),void 0!==e.mode&&(this.mode=e.mode),this.overlap.load(e.overlap))}}class ty{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(e){if(F(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=ep(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.fill&&(this.fill=e.fill),void 0!==e.type&&(this.t
1ype=e.type)}}class tb{constructor(){this.offset=0,this.value=90}load(e){F(e)||(void 0!==e.offset&&(this.offset=X(e.offset)),void 0!==e.value&&(this.value=X(e.value)))}}class tw{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(e){if(!F(e)&&(void 0!==e.distance&&(this.distance=X(e.distance)),void 0!==e.enable&&(this.enable=e.enable),e.rotate)){let t=e.rotate.x;void 0!==t&&(this.rotate.x=t);let i=e.rotate.y;void 0!==i&&(this.rotate.y=i)}}}class tx{constructor(){this.x=50,this.y=50,this.mode=l.percent,this.radius=0}load(e){F(e)||(void 0!==e.x&&(this.x=e.x),void 0!==e.y&&(this.y=e.y),void 0!==e.mode&&(this.mode=e.mode),void 0===e.radius||(this.radius=e.radius))}}class t_{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(e){F(e)||(void 0!==e.acceleration&&(this.acceleration=X(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.inverse&&(this.inverse=e.inverse),void 0!==e.maxSpeed&&(this.maxSpeed=X(e.maxSpeed)))}}class tk{constructor(){this.clamp=!0,this.delay=new tu,this.enable=!1,this.options={}}load(e){!F(e)&&(void 0!==e.clamp&&(this.clamp=e.clamp),this.delay.load(e.delay),void 0!==e.enable&&(this.enable=e.enable),this.generator=e.generator,e.options&&(this.options=ep(this.options,e.options)))}}class tz{load(e){F(e)||(void 0!==e.color&&(this.color=eQ.create(this.color,e.color)),void 0===e.image||(this.image=e.image))}}class tC{constructor(){this.enable=!1,this.length=10,this.fill=new tz}load(e){F(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.fill&&this.fill.load(e.fill),void 0===e.length||(this.length=e.length))}}!function(e){e.bounce="bounce",e.none="none",e.out="out",e.destroy="destroy",e.split="split"}(m||(m={}));class tM{constructor(){this.default=m.out}load(e){F(e)||(void 0!==e.default&&(this.default=e.default),this.bottom=e.bottom??e.default,this.left=e.left??e.default,this.right=e.right??e.default,this.top=e.top??e.default)}}class tP{constructor(){this.acceleration=0,this.enable=!1}load(e){!F(e)&&(void 0!==e.acceleration&&(this.acceleration=X(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),e.position&&(this.position=ep({},e.position)))}}class tS{constructor(){this.angle=new tb,this.attract=new tw,this.center=new tx,this.decay=0,this.distance={},this.direction=s.none,this.drift=0,this.enable=!1,this.gravity=new t_,this.path=new tk,this.outModes=new tM,this.random=!1,this.size=!1,this.speed=2,this.spin=new tP,this.straight=!1,this.trail=new tC,this.vibrate=!1,this.warp=!1}load(e){if(F(e))return;this.angle.load(I(e.angle)?{value:e.angle}:e.angle),this.attract.load(e.attract),this.center.load(e.center),void 0!==e.decay&&(this.decay=X(e.decay)),void 0!==e.direction&&(this.direction=e.direction),void 0!==e.distance&&(this.distance=I(e.distance)?{horizontal:e.distance,vertical:e.distance}:{...e.distance}),void 0!==e.drift&&(this.drift=X(e.drift)),void 0!==e.enable&&(this.enable=e.enable),this.gravity.load(e.gravity);let t=e.outModes;void 0!==t&&(A(t)?this.outModes.load(t):this.outModes.load({default:t})),this.path.load(e.path),void 0!==e.random&&(this.random=e.random),void 0!==e.size&&(this.size=e.size),void 0!==e.speed&&(this.speed=X(e.speed)),this.spin.load(e.spin),void 0!==e.straight&&(this.straight=e.straight),this.trail.load(e.trail),void 0!==e.vibrate&&(this.vibrate=e.vibrate),void 0!==e.warp&&(this.warp=e.warp)}}class tO extends to{constructor(){super(),this.destroy=o.none,this.speed=2}load(e){super.load(e),F(e)||void 0===e.destroy||(this.destroy=e.destroy)}}class tT extends tf{constructor(){super(),this.animation=new tO,this.value=1}load(e){if(F(e))return;super.load(e);let t=e.animation;void 0!==t&&this.animation.load(t)}}class tR{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(e){if(F(e))return;void 0!==e.enable&&(this.enable=e.enable);let t=e.width;void 0!==t&&(this.width=t);let i=e.height;void 0!==i&&(this.height=i)}}!function(e){e.delete="delete",e.wait="wait"}(y||(y={}));class tE{constructor(){this.mode=y.delete,this.value=0}load(e){F(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0===e.value||(this.value=e.value))}}class tD{constructor(){this.density=new tR,this.limit=new tE,this.value=0}load(e){F(e)||(this.density.load(e.density),this.limit.load(e.limit),void 0===e.value||(this.value=e.value))}}class tI{constructor(){this.blur=0,this.color=new eQ,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(e){!F(e)&&(void 0!==e.blur&&(this.blur=e.blur),this.color=eQ.create(this.color,e.color),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.offset&&(void 0!==e.offset.x&&(this.offset.x=e.offset.x),void 0!==e.offset.y&&(this.offset.y=e.offset.y)))}}class tA{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(e){if(F(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=ep(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.fill&&(this.fill=e.fill),void 0!==e.type&&(this.t
1ype=e.type)}}class tL extends to{constructor(){super(),this.destroy=o.none,this.speed=5}load(e){super.load(e),F(e)||void 0===e.destroy||(this.destroy=e.destroy)}}class tF extends tf{constructor(){super(),this.animation=new tL,this.value=3}load(e){if(super.load(e),F(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}class tj{constructor(){this.width=0}load(e){F(e)||(void 0!==e.color&&(this.color=tc.create(this.color,e.color)),void 0!==e.width&&(this.width=X(e.width)),void 0!==e.opacity&&(this.opacity=X(e.opacity)))}}class tB extends tu{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(e){super.load(e),F(e)||(void 0!==e.opacityRate&&(this.opacityRate=e.opacityRate),void 0!==e.sizeRate&&(this.sizeRate=e.sizeRate),void 0===e.velocityRate||(this.velocityRate=e.velocityRate))}}class tU{constructor(e,t){this._engine=e,this._container=t,this.bounce=new tv,this.collisions=new tm,this.color=new tc,this.color.value="#fff",this.effect=new ty,this.groups={},this.move=new tS,this.number=new tD,this.opacity=new tT,this.reduceDuplicates=!1,this.shadow=new tI,this.shape=new tA,this.size=new tF,this.stroke=new tj,this.zIndex=new tB}load(e){if(F(e))return;if(void 0!==e.groups)for(let t of Object.keys(e.groups)){if(!Object.hasOwn(e.groups,t))continue;let i=e.groups[t];void 0!==i&&(this.groups[t]=ep(this.groups[t]??{},i))}void 0!==e.reduceDuplicates&&(this.reduceDuplicates=e.reduceDuplicates),this.bounce.load(e.bounce),this.color.load(tc.create(this.color,e.color)),this.effect.load(e.effect),this.move.load(e.move),this.number.load(e.number),this.opacity.load(e.opacity),this.shape.load(e.shape),this.size.load(e.size),this.shadow.load(e.shadow),this.zIndex.load(e.zIndex),this.collisions.load(e.collisions),void 0!==e.interactivity&&(this.interactivity=ep({},e.interactivity));let t=e.stroke;if(t&&(this.stroke=ew(t,e=>{let t=new tj;return t.load(e),t})),this._container){let t=this._engine.updaters.get(this._container);if(t)for(let i of t)i.loadOptions&&i.loadOptions(this,e);let i=this._engine.interactors.get(this._container);if(i)for(let t of i)t.loadParticlesOptions&&t.loadParticlesOptions(this,e)}}}function tq(e,...t){for(let i of t)e.load(i)}function tV(e,t,...i){let s=new tU(e,t);return tq(s,...i),s}class tG{constructor(e,t){this._findDefaultTheme=e=>this.themes.find(t=>t.default.value&&t.default.mode===e)??this.themes.find(e=>e.default.value&&e.default.mode===g.any),this._importPreset=e=>{this.load(this._engine.getPreset(e))},this._engine=e,this._container=t,this.autoPlay=!0,this.background=new eK,this.backgroundMask=new e1,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new e5,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new te(e,t),this.manualParticles=[],this.particles=tV(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(e){if(F(e))return;void 0!==e.preset&&ew(e.preset,e=>this._importPreset(e)),void 0!==e.autoPlay&&(this.autoPlay=e.autoPlay),void 0!==e.clear&&(this.clear=e.clear),void 0!==e.ke
1y&&(this.key=e.key),void 0!==e.name&&(this.name=e.name),void 0!==e.delay&&(this.delay=X(e.delay));let t=e.detectRetina;void 0!==t&&(this.detectRetina=t),void 0!==e.duration&&(this.duration=X(e.duration));let i=e.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==e.pauseOnBlur&&(this.pauseOnBlur=e.pauseOnBlur),void 0!==e.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=e.pauseOnOutsideViewport),void 0!==e.zLayers&&(this.zLayers=e.zLayers),this.background.load(e.background);let s=e.fullScreen;E(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.backgroundMask.load(e.backgroundMask),this.interactivity.load(e.interactivity),e.manualParticles&&(this.manualParticles=e.manualParticles.map(e=>{let t=new tt;return t.load(e),t})),this.particles.load(e.particles),this.style=ep(this.style,e.style),this._engine.loadOptions(this,e),void 0!==e.smooth&&(this.smooth=e.smooth);let a=this._engine.interactors.get(this._container);if(a)for(let t of a)t.loadOptions&&t.loadOptions(this,e);if(void 0!==e.responsive)for(let t of e.responsive){let e=new ti;e.load(t),this.responsive.push(e)}if(this.responsive.sort((e,t)=>e.maxWidth-t.maxWidth),void 0!==e.themes)for(let t of e.themes){let e=this.themes.find(e=>e.name===t.name);if(e)e.load(t);else{let e=new ta;e.load(t),this.themes.push(e)}}this.defaultThemes.dark=this._findDefaultTheme(g.dark)?.name,this.defaultThemes.light=this._findDefaultTheme(g.light)?.name}setResponsive(e,t,i){this.load(i);let s=this.responsive.find(i=>i.mode===f.screen&&screen?i.maxWidth>screen.availWidth:i.maxWidth*t>e);return this.load(s?.options),s?.maxWidth}setTheme(e){if(e){let t=this.themes.find(t=>t.name===e);t&&this.load(t.options)}else{let e=er("(prefers-color-scheme: dark)"),t=e?.matches,i=this._findDefaultTheme(t?g.dark:g.light);i&&this.load(i.options)}}}!function(e){e.external="external",e.particles="particles"}(b||(b={}));class tJ{constructor(e,t){this.container=t,this._engine=e,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(e){for(let t of this._externalInteractors)t.isEnabled()&&t.interact(e)}handleClickMode(e){for(let t of this._externalInteractors)t.handleClickMode?.(e)}
1async init(){for(let e of(this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[],this._interactors)){switch(e.type){case b.external:this._externalInteractors.push(e);break;case b.particles:this._particleInteractors.push(e)}e.init()}}particlesInteract(e,t){for(let i of this._externalInteractors)i.clear(e,t);for(let i of this._particleInteractors)i.isEnabled(e)&&i.interact(e,t)}reset(e){for(let t of this._externalInteractors)t.isEnabled()&&t.reset(e);for(let t of this._particleInteractors)t.isEnabled(e)&&t.reset(e)}}!function(e){e.normal="normal",e.inside="inside",e.outside="outside"}(w||(w={}));let tH=0,tW="random";function tY(e){if(!el(e.outMode,e.checkModes))return;let t=2*e.radius;e.coord>e.maxCoord-t?e.setCb(-e.radius):e.coord<t&&e.setCb(e.radius)}class t${constructor(e,t){this.container=t,this._calcPosition=(e,t,i,s=tH)=>{for(let s of e.plugins.values()){let e=void 0!==s.particlePosition?s.particlePosition(t,this):void 0;if(e)return B.create(e.x,e.y,i)}let a=function(e){return{x:e.position?.x??J()*e.size.width,y:e.position?.y??J()*e.size.height}}({size:e.canvas.size,position:t}),n=B.create(a.x,a.y,i),o=this.getRadius(),r=this.options.move.outModes,l=t=>{tY({outMode:t,checkModes:[m.bounce],coord:n.x,maxCoord:e.canvas.size.width,setCb:e=>n.x+=e,radius:o})},c=t=>{tY({outMode:t,checkModes:[m.bounce],coord:n.y,maxCoord:e.canvas.size.height,setCb:e=>n.y+=e,radius:o})};return(l(r.left??r.default),l(r.right??r.default),c(r.top??r.default),c(r.bottom??r.default),this._checkOverlap(n,s))?this._calcPosition(e,void 0,i,s+1):n},this._calculateVelocity=()=>{let e=(function(e){let t=U.origin;return t.length=1,t.angle=e,t})(this.direction).copy(),t=this.options.move;if(t.direction===s.inside||t.direction===s.outside)return e;let i=ee($(t.angle.value)),a=ee($(t.angle.offset)),n={left:a-.5*i,right:a+.5*i};return t.straight||(e.angle+=Y(X(n.left,n.right))),t.random&&"number"==typeof t.speed&&(e.length*=J()),e},this._checkOverlap=(e,t=tH)=>{let i=this.options.collisions,s=this.getRadius();if(!i.enable)return!1;let a=i.overlap;if(a.enable)return!1;let n=a.retries;if(n>=0&&t>n)throw Error(`${O} particle is overlapping and can't be placed`);return!!this.container.particles.find(t=>K(e,t.position)<s+t.getRadius())},this._getRollColor=e=>{if(!e||!this.roll||!this.backColor&&!this.roll.alter)return e;let t=this.roll.horizontal&&this.roll.vertical?2:1,i=this.roll.horizontal?.5*Math.PI:0;return Math.floor(((this.roll.angle??0)+i)/(Math.PI/t))%2?this.backColor?this.backColor:this.roll.alter?function(e,t,i){return{h:e.h,s:e.s,l:e.l+(t===h.darken?-1:1)*i}}(e,this.roll.alter.type,this.roll.alter.value):e:e},this._initPosition=e=>{let t=this.container,i=$(this.options.zIndex.value);this.position=this._calcPosition(t,e,H(i,0,t.zLayers)),this.initialPosition=this.position.copy();let a=t.canvas.size;switch(this.moveCenter={...ez(this.options.move.center,a),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??l.percent},this.direction=function(e,t,i){if(I(e))return ee(e);switch(e){case s.top:return-(.5*Math.PI);case s.topRight:return-(.25*Math.PI);case s.right:return 0;case s.bottomRight:return .25*Math.PI;case s.bottom:return .5*Math.PI;case s.bottomLeft:return .75*Math.PI;case s.left:return Math.PI;case s.topLeft:return-(.75*Math.PI);case s.inside:return Math.atan2(i.y-t.y,i.x-t.x);case s.outside:return Math.atan2(t.y-i.y,t.x-i.x);default:return J()*G}}(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case s.inside:this.outType=w.inside;break;case s.outside:this.outType=w.outside}this.offset=U.origin},this._engine=e}destroy(e){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let t=this.container,i=this.pathGenerator,s=t.shapeDrawers.get(this.shape);for(let i of(s?.particleDestroy?.(this),t.plugins.values()))i.particleDestroyed?.(this,e);for(let i of t.particles.updaters)i.particleDestroyed?.(this,e);i?.reset(this),this._engine.dispatchEvent(u.particleDestroyed,{container:this.container,data:{particle:this}})}draw(e){let t=this.container,i=t.canvas;for(let s of t.plugins.values())i.drawParticlePlugin(s,this,e);
1i.drawParticle(this,e)}getFillColor(){return this._getRollColor(this.bubble.color??eB(this.color))}getMass(){return this.getRadius()**2*Math.PI*.5}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??eB(this.strokeColor))}init(e,t,i,s){let a=this.container,n=this._engine;this.id=e,this.group=s,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=w.normal,this.ignoresResizeRatio=!0;let o=a.retina.pixelRatio,r=a.actualOptions,l=tV(this._engine,a,r.particles),{reduceDuplicates:c}=l,h=l.effect.type,d=l.shape.type;this.effect=ex(h,this.id,c),this.shape=ex(d,this.id,c);let u=l.effect,p=l.shape;if(i){if(i.effect?.type){let e=ex(i.effect.type,this.id,c);e&&(this.effect=e,u.load(i.effect))}if(i.shape?.type){let e=ex(i.shape.type,this.id,c);e&&(this.shape=e,p.load(i.shape))}}if(this.effect===tW){let e=[...this.container.effectDrawers.keys()];this.effect=e[Math.floor(Math.random()*e.length)]}if(this.shape===tW){let e=[...this.container.shapeDrawers.keys()];this.shape=e[Math.floor(Math.random()*e.length)]}this.effectData=function(e,t,i,s){let a=t.options[e];if(a)return ep({close:t.close,fill:t.fill},ex(a,i,s))}(this.effect,u,this.id,c),this.shapeData=function(e,t,i,s){let a=t.options[e];if(a)return ep({close:t.close,fill:t.fill},ex(a,i,s))}(this.shape,p,this.id,c),l.load(i);let f=this.effectData;f&&l.load(f.particles);let g=this.shapeData;g&&l.load(g.particles);let v=new te(n,a);v.load(a.actualOptions.interactivity),v.load(l.interactivity),this.interactivity=v,this.effectFill=f?.fill??l.effect.fill,this.effectClose=f?.close??l.effect.close,this.shapeFill=g?.fill??l.shape.fill,this.shapeClose=g?.close??l.shape.close,this.options=l;let m=this.options.move.path;this.pathDelay=$(m.delay.value)*R,m.generator&&(this.pathGenerator=this._engine.getPathGenerator(m.generator),this.pathGenerator&&a.addPath(m.generator,this.pathGenerator)&&this.pathGenerator.init(a)),a.retina.initParticle(this),this.size=ek(this.options.size,o),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(t),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-$(this.options.move.decay);let y=a.particles;y.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/a.zLayers,this.sides=24;let b=a.effectDrawers.get(this.effect);!b&&(b=this._engine.getEffectDrawer(this.effect))&&a.effectDrawers.set(this.effect,b),b?.loadEffect&&b.loadEffect(this);let x=a.shapeDrawers.get(this.shape);!x&&(x=this._engine.getShapeDrawer(this.shape))&&a.shapeDrawers.set(this.shape,x),x?.loadShape&&x.loadShape(this);let _=x?.getSidesCount;for(let e of(_&&(this.sides=_(this)),this.spawning=!1,this.shadowColor=eS(this._engine,this.options.shadow.color),y.updaters))e.init(this);for(let e of y.movers)e.init?.(this);for(let e of(b?.particleInit?.(a,this),x?.particleInit?.(a,this),a.plugins.values()))e.particleCreated?.(this)}isInsideCanvas(){let e=this.getRadius(),t=this.container.canvas.size,i=this.position;return i.x>=-e&&i.y>=-e&&i.y<=t.height+e&&i.x<=t.width+e}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let e of this.container.particles.updaters)e.reset?.(this)}}class tN{constructor(e,t){this.position=e,this.particle=t}}!function(e){e.circle="circle",e.rectangle="rectangle"}(x||(x={}));class tZ{constructor(e,t,i){this.position={x:e,y:t},this.type=i}}class tX extends tZ{constructor(e,t,i){super(e,t,x.circle),this.radius=i}contains(e){return K(e,this.position)<=this.radius}intersects(e){let t=this.position,i=e.position,s={x:Math.abs(i.x-t.x),y:Math.abs(i.y-t.y)},a=this.radius;if(e instanceof tX||e.type===x.circle)return a+e.radius>Math.sqrt(s.x**2+s.y**2);if(e instanceof tQ||e.type===x.rectangle){let{width:t,height:i}=e.size;return Math.pow(s.x-t,2)+Math.pow(s.y-i,2)<=a**2||s.x<=a+t&&s.y<=a+i||s.x<=t||s.y<=i}return!1}}class tQ extends tZ{constructor(e,t,i,s){super(e,t,x.rectangle),this.size={height:s,width:i}}contains(e){let t=this.size.width,i=this.size.height,s=this.position;return e.x>=s.x&&e.x<=s.x+t&&e.y>=s.y&&e.y<=s.y+i}intersects(e){if(e instanceof tX)return e.intersects(this);let t=this.size.width,i=this.size.height,s=this.position,a=e.position,n=e instanceof tQ?e.size:{width:0,height:0},o=n.width,r=n.height;return a.x<s.x+t&&a.x+o>s.x&&a.y<s.y+i&&a.y+r>s.y}}class tK{constructor(e,t){this.rectangle=e,this.capacity=t,this._subdivide=()=>{let{x:e,y:t}=this.rectangle.position,{width:i,height:s}=this.rectangle.size,{capacity:a}=this;for(let n=0;n<4;n++){let o=n%2;this._subs.push(new tK(new tQ(e+.5*i*o,t+.5*s*(Math.round(.5*n)-o),.5*i,.5*s),a))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(e){return!!this.rectangle.contains(e.position)&&(this._points.length<this.capacity?(this._points.push(e),!0):(this._divided||this._subdivide(),this._subs.some(t=>t.insert(e))))}query(e,t){let i=[];if(!e.intersects(this.rectangle))return[];for(let s of this._points)!e.contains(s.position)&&K(e.position,s.position)>s.particle.getRadius()&&(!t||t(s.particle))||i.push(s.particle);if(this._divided)for(let s of this._subs)i.push(...s.query(e,t));return i}queryCircle(e,t,i){return this.query(new tX(e.x,e.y,t),i)}queryRectangle(e,t,i){return this.query(new tQ(e.x,e.y,t.width,t.height),i)}}let t0=e=>{let{height:t,width:i}=e;return new tQ(-.25*i,-.25*t,1.5*i,1.5*t)};class t1{constructor(e,t){this._addToPool=(...e)=>{this._pool.push(...e)},this._applyDensity=(e,t,i)=>{let s=e.number;if(!e.number.density?.enable){void 0===i?this._limit=s.limit.value:s.limit&&this._groupLimits.set(i,s.limit.value);return}let a=this._initDensityFactor(s.density),n=s.value,o=s.limit.value>0?s.limit.value:n,r=Math.min(n,o)*a+t,l=Math.min(this.count,this.filter(e=>e.group===i).length);void 0===i?this._limit=s.limit.value*a:this._groupLimits.set(i,s.limit.value*a),l<r?this.push(Math.abs(r-l),void 0,e,i):l>r&&this.removeQuantity(l-r,i)},this._initDensityFactor=e=>{let t=this._container;if(!t.canvas.element||!e.enable)return 1;let i=t.canvas.element,s=t.retina.pixelRatio;return i.width*i.height/(e.height*e.width*s**2)},this._pushParticle=(e,t,i,s)=>{try{let a=this._pool.pop();a||(a=new t$(this._engine,this._container)),a.init(this._nextId,e,t,i);let n=!0;if(s&&(n=s(a)),!n)return;return this._array.push(a),this._zArray.push(a),this._nextId++,this._engine.dispatchEvent(u.particleAdded,{container:this._container,data:{particle:a}}),a}catch(e){es.warning(`${O} adding particle: ${e}`)}},this._removeParticle=(e,t,i)=>{let s=this._array[e];if(!s||s.group!==t)return!1;let a=this._zArray.indexOf(s);return this._array.splice(e,1),this._zArray.splice(a,1),s.destroy(i),this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0},this._engine=e,this._container=t,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._lastZIndex=0,this._interactionManager=new tJ(e,t),this._pluginsInitialized=!1;let i=t.canvas.size;this.quadTree=new tK(t0(i),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}
1addManualParticles(){let e=this._container;e.actualOptions.manualParticles.forEach(t=>this.addParticle(t.position?ez(t.position,e.canvas.size):void 0,t.options))}addParticle(e,t,i,s){let a=this._container.actualOptions.particles.number.limit.mode,n=void 0===i?this._limit:this._groupLimits.get(i)??this._limit,o=this.count;if(n>0)switch(a){case y.delete:{let e=o+1-n;e>0&&this.removeQuantity(e);break}case y.wait:if(o>=n)return}return this._pushParticle(e,t,i,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(e){let t=this._container,i=t.canvas;for(let s of(i.clear(),this.update(e),t.plugins.values()))i.drawPlugin(s,e);for(let t of this._zArray)t.draw(e)}filter(e){return this._array.filter(e)}find(e){return this._array.find(e)}get(e){return this._array[e]}handleClickMode(e){this._interactionManager.handleClickMode(e)}async init(){let e=this._container,t=e.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let i=!1;for(let t of e.plugins.values())if(i=t.particlesInitialization?.()??i)break;if(this.addManualParticles(),!i){let e=t.particles,i=e.groups;for(let t in i){let s=i[t];for(let i=this.count,a=0;a<s.number?.value&&i<e.number.value;i++,a++)this.addParticle(void 0,s,t)}for(let t=this.count;t<e.number.value;t++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;let e=this._container;for(let t of(this.movers=await this._engine.getMovers(e,!0),this.updaters=await this._engine.getUpdaters(e,!0),await this._interactionManager.init(),e.pathGenerators.values()))t.init(e)}push(e,t,i,s){for(let a=0;a<e;a++)this.addParticle(t?.position,i,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(e,t,i){this.removeAt(this._array.indexOf(e),void 0,t,i)}removeAt(e,t=1,i,s){if(e<0||e>this.count)return;let a=0;for(let n=e;a<t&&n<this.count;n++)this._removeParticle(n,i,s)&&(n--,a++)}removeQuantity(e,t){this.removeAt(0,e,t)}setDensity(){let e=this._container.actualOptions,t=e.particles.groups;for(let e in t)this._applyDensity(t[e],0,e);this._applyDensity(e.particles,e.manualParticles.length)}setLastZIndex(e){this._lastZIndex=e,this._needsSort=this._needsSort||this._lastZIndex<e}setResizeFactor(e){this._resizeFactor=e}update(e){let t=this._container,i=new Set;for(let e of(this.quadTree=new tK(t0(t.canvas.size),4),t.pathGenerators.values()))e.update();for(let i of t.plugins.values())i.update?.(e);let s=this._resizeFactor;for(let t of this._array){for(let i of(s&&!t.ignoresResizeRatio&&(t.position.x*=s.width,t.position.y*=s.height,t.initialPosition.x*=s.width,t.initialPosition.y*=s.height),t.ignoresResizeRatio=!1,this._interactionManager.reset(t),this._container.plugins.values())){if(t.destroyed)break;i.particleUpdate?.(t,e)}for(let i of this.movers)i.isEnabled(t)&&i.move(t,e);if(t.destroyed){i.add(t);continue}this.quadTree.insert(new tN(t.getPosition(),t))}if(i.size){let e=e=>!i.has(e);for(let t of(this._array=this.filter(e),this._zArray=this._zArray.filter(e),i))this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:t}});this._addToPool(...i)}for(let t of(this._interactionManager.externalInteract(e),this._array)){for(let i of this.updaters)i.update(t,e);t.destroyed||t.spawning||this._interactionManager.particlesInteract(t,e)}if(delete this._resizeFactor,this._needsSort){let e=this._zArray;e.sort((e,t)=>t.position.z-e.position.z||e.id-t.id),this._lastZIndex=e[e.length-1].position.z,this._needsSort=!1}}}class t5{constructor(e){this.container=e,this.pixelRatio=1,this.reduceFactor=1}init(){let e=this.container,t=e.actualOptions;this.pixelRatio=!t.detectRetina||eo()?1:window.devicePixelRatio,this.reduceFactor=1;let i=this.pixelRatio,s=e.canvas;if(s.element){let e=s.element;s.size.width=e.offsetWidth*i,s.size.height=e.offsetHeight*i}let a=t.particles,n=a.move;this.maxSpeed=$(n.gravity.maxSpeed)*i,this.sizeAnimationSpeed=$(a.size.animation.speed)*i}initParticle(e){let t=e.options,i=this.pixelRatio,s=t.move,a=s.distance,n=e.retina;n.moveDrift=$(s.drift)*i,n.moveSpeed=$(s.speed)*i,n.sizeAnimationSpeed=$(t.size.animation.speed)*i;let o=n.maxDistance;o.horizontal=void 0!==a.horizontal?a.horizontal*i:void 0,o.vertical=void 0!==a.vertical?a.vertical*i:void 0,n.maxSpeed=$(s.gravity.maxSpeed)*i}}function t2(e){return e&&!e.destroyed}function t3(e,t,...i){let s=new tG(e,t);return tq(s,...i),s}class t6{constructor(e,t,i){this._intersectionManager=e=>{if(t2(this)&&this.actualOptions.pauseOnOutsideViewport)for(let t of e)t.target===this.interactivity.element&&(t.isIntersecting?this.play():this.pause())},this._nextFrame=e=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&e<this._lastFrameTime+R/this.fpsLimit){this.draw(!1);return}this._lastFrameTime??=e;let t=function(e,t=60,i=!1){return{value:e,factor:i?60/t:60*e/R}}(e-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(t.value),this._lastFrameTime=e,t.value>R){this.draw(!1);return}if(this.particles.draw(t),!this.alive()){this.destroy();return}this.animationStatus&&this.draw(!1)}catch(e){es.error(`${O} in animation loop`,e)}},this._engine=e,this.id=Symbol(t),this.fpsLimit=120,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._clickHandlers=new Map,this._sourceOptions=i,this._initialSourceOptions=i,this.retina=new t5(this),this.canvas=new eN(this,this._engine),this.particles=new t1(this._engine,this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this._options=t3(this._engine,this),this.actualOptions=t3(this._engine,this),this._eventListeners=new eX(this),this._intersectionObserver=function(e){if(!eo()&&"undefined"!=typeof IntersectionObserver)return new IntersectionObserver(e)}(e=>this._intersectionManager(e)),this._engine.dispatchEvent(u.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&t2(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(e){if(!t2(this))return;let t=this.interactivity.element;if(!t)return;let i=(t,i,s)=>{if(!t2(this))return;let a=this.retina.pixelRatio,n={x:i.x*a,y:i.y*a};e(t,this.particles.quadTree.queryCircle(n,s*a))},s=!1,a=!1;for(let[e,n]of(this._clickHandlers.set("click",e=>{if(!t2(this))return;let t={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY};i(e,t,1)}),this._clickHandlers.set("touchstart",()=>{t2(this)&&(s=!0,a=!1)}),this._clickHandlers.set("touchmove",()=>{t2(this)&&(a=!0)}),this._clickHandlers.set("touchend",e=>{if(t2(this)){if(s&&!a){let t=e.touches[e.touches.length-1];if(!t&&!(t=e.changedTouches[e.changedTouches.length-1]))return;let s=this.canvas.element,a=s?s.getBoundingClientRect():void 0;i(e,{x:t.clientX-(a?a.left:0),y:t.clientY-(a?a.top:0)}
1,Math.max(t.radiusX,t.radiusY))}s=!1,a=!1}}),this._clickHandlers.set("touchcancel",()=>{t2(this)&&(s=!1,a=!1)}),this._clickHandlers))t.addEventListener(e,n)}addLifeTime(e){this._lifeTime+=e}addPath(e,t,i=!1){return!(!t2(this)||!i&&this.pathGenerators.has(e))&&(this.pathGenerators.set(e,t),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){if(t2(this)){for(let[e,t]of this._clickHandlers)this.interactivity.element?.removeEventListener(e,t);this._clickHandlers.clear()}}destroy(e=!0){if(t2(this)){for(let e of(this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers.values()))e.destroy?.(this);for(let e of this.shapeDrawers.values())e.destroy?.(this);for(let e of this.effectDrawers.keys())this.effectDrawers.delete(e);for(let e of this.shapeDrawers.keys())this.shapeDrawers.delete(e);if(this._engine.clearPlugins(this),this.destroyed=!0,e){let e=this._engine.items,t=e.findIndex(e=>e===this);t>=0&&e.splice(t,1)}this._engine.dispatchEvent(u.containerDestroyed,{container:this})}}draw(e){var t;if(!t2(this))return;let i=e,s=e=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(e)};this._drawAnimationFrame=(t=e=>s(e),V.nextFrame(t))}async export(e,t={}){for(let i of this.plugins.values()){if(!i.export)continue;let s=await i.export(e,t);if(s.supported)return s.blob}es.error(`${O} - Export plugin with type ${e} not found`)}handleClickMode(e){if(t2(this))for(let t of(this.particles.handleClickMode(e),this.plugins.values()))t.handleClickMode?.(e)}
1async init(){if(!t2(this))return;for(let e of this._engine.getSupportedEffects()){let t=this._engine.getEffectDrawer(e);t&&this.effectDrawers.set(e,t)}for(let e of this._engine.getSupportedShapes()){let t=this._engine.getShapeDrawer(e);t&&this.shapeDrawers.set(e,t)}for(let[e,t]of(await this.particles.initPlugins(),this._options=t3(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=t3(this._engine,this,this._options),await this._engine.getAvailablePlugins(this)))this.plugins.set(e,t);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{zLayers:e,duration:t,delay:i,fpsLimit:s,smooth:a}=this.actualOptions;for(let n of(this.zLayers=e,this._duration=$(t)*R,this._delay=$(i)*R,this._lifeTime=0,this.fpsLimit=s>0?s:120,this._smooth=a,this.effectDrawers.values()))await n.init?.(this);for(let e of this.shapeDrawers.values())await e.init?.(this);for(let e of this.plugins.values())await e.init?.();for(let e of(this._engine.dispatchEvent(u.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity(),this.plugins.values()))e.particlesSetup?.();this._engine.dispatchEvent(u.particlesSetup,{container:this})}async loadTheme(e){t2(this)&&(this._currentTheme=e,await this.refresh())}pause(){if(t2(this)){if(void 0!==this._drawAnimationFrame){var e;e=this._drawAnimationFrame,V.cancel(e),delete this._drawAnimationFrame}if(!this._paused){for(let e of this.plugins.values())e.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(u.containerPaused,{container:this})}}}play(e){if(!t2(this))return;let t=this._paused||e;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),t)for(let e of this.plugins.values())e.play&&e.play();this._engine.dispatchEvent(u.containerPlay,{container:this}),this.draw(t??!1)}async refresh(){if(t2(this))return this.stop(),this.start()}async reset(e){if(t2(this))return this._initialSourceOptions=e,this._sourceOptions=e,this._options=t3(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=t3(this._engine,this,this._options),this.refresh()}async start(){t2(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(e=>{let t=async()=>{for(let e of(this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element),this.plugins.values()))await e.start?.();this._engine.dispatchEvent(u.containerStarted,{container:this}),this.play(),e()};this._delayTimeout=setTimeout(()=>void t(),this._delay)}))}stop(){if(t2(this)&&this.started){for(let e of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(this.interactivity.element),this.plugins.values()))e.stop?.();for(let e of this.plugins.keys())this.plugins.delete(e);this._sourceOptions=this._options,this._engine.dispatchEvent(u.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let e=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==e&&(this._responsiveMaxWidth=e,!0)}}class t4{constructor(){this._listeners=new Map}addEventListener(e,t){this.removeEventListener(e,t);let i=this._listeners.get(e);i||(i=[],this._listeners.set(e,i)),i.push(t)}dispatchEvent(e,t){let i=this._listeners.get(e);i?.forEach(e=>e(t))}hasEventListener(e){return!!this._listeners.get(e)}removeAllEventListeners(e){e?this._listeners.delete(e):this._listeners=new Map}removeEventListener(e,t){let i=this._listeners.get(e);if(!i)return;let s=i.length,a=i.indexOf(t);a<0||(1===s?this._listeners.delete(e):i.splice(a,1))}}async function t7(e,t,i,s=!1){let a=t.get(e);return(!a||s)&&(a=await Promise.all([...i.values()].map(t=>t(e))),t.set(e,a)),a}async function t8(e){let t=ex(e.url,e.index);if(!t)return e.fallback;let i=await fetch(t);return i.ok?await i.json():(es.error(`${O} ${i.status} while retrieving config file`),e.fallback)}let t9="true",ie="false",it="canvas",ii=e=>{let t;if(e instanceof HTMLCanvasElement||e.tagName.toLowerCase()===it)(t=e).dataset[C]||(t.dataset[C]=ie);else{let i=e.getElementsByTagName(it);i.length?(t=i[0]).dataset[C]=ie:((t=document.createElement(it)).dataset[C]=t9,e.appendChild(t))}let i="100%";return t.style.width||(t.style.width=i),t.style.height||(t.style.height=i),t},is=(e,t)=>{let i=t??document.getElementById(e);
1return i||((i=document.createElement("div")).id=e,i.dataset[C]=t9,document.body.append(i)),i};class ia{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new t4,this._initialized=!1,this.plugins=[],this.colorManagers=new Map,this.easingFunctions=new Map,this._initializers={interactors:new Map,movers:new Map,updaters:new Map},this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.pathGenerators=new Map}get configs(){let e={};for(let[t,i]of this._configs)e[t]=i;return e}get items(){return this._domArray}get version(){return"3.7.1"}async addColorManager(e,t=!0){this.colorManagers.set(e.key,e),await this.refresh(t)}addConfig(e){let t=e.key??e.name??"default";this._configs.set(t,e),this._eventDispatcher.dispatchEvent(u.configAdded,{data:{name:t,config:e}})}async addEasing(e,t,i=!0){this.getEasing(e)||(this.easingFunctions.set(e,t),await this.refresh(i))}async addEffect(e,t,i=!0){ew(e,e=>{this.getEffectDrawer(e)||this.effectDrawers.set(e,t)}),await this.refresh(i)}addEventListener(e,t){this._eventDispatcher.addEventListener(e,t)}async addInteractor(e,t,i=!0){this._initializers.interactors.set(e,t),await this.refresh(i)}async addMover(e,t,i=!0){this._initializers.movers.set(e,t),await this.refresh(i)}async addParticleUpdater(e,t,i=!0){this._initializers.updaters.set(e,t),await this.refresh(i)}async addPathGenerator(e,t,i=!0){this.getPathGenerator(e)||this.pathGenerators.set(e,t),await this.refresh(i)}async addPlugin(e,t=!0){this.getPlugin(e.id)||this.plugins.push(e),await this.refresh(t)}async addPreset(e,t,i=!1,s=!0){(i||!this.getPreset(e))&&this.presets.set(e,t),await this.refresh(s)}async addShape(e,t=!0){for(let t of e.validTypes)this.getShapeDrawer(t)||this.shapeDrawers.set(t,e);await this.refresh(t)}clearPlugins(e){this.updaters.delete(e),this.movers.delete(e),this.interactors.delete(e)}dispatchEvent(e,t){this._eventDispatcher.dispatchEvent(e,t)}dom(){return this.items}domItem(e){return this.item(e)}async getAvailablePlugins(e){let t=new Map;for(let i of this.plugins)i.needsPlugin(e.actualOptions)&&t.set(i.id,await i.getPlugin(e));return t}getEasing(e){return this.easingFunctions.get(e)??(e=>e)}getEffectDrawer(e){return this.effectDrawers.get(e)}async getInteractors(e,t=!1){return t7(e,this.interactors,this._initializers.interactors,t)}async getMovers(e,t=!1){return t7(e,this.movers,this._initializers.movers,t)}getPathGenerator(e){return this.pathGenerators.get(e)}getPlugin(e){return this.plugins.find(t=>t.id===e)}getPreset(e){return this.presets.get(e)}getShapeDrawer(e){return this.shapeDrawers.get(e)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(e,t=!1){return t7(e,this.updaters,this._initializers.updaters,t)}init(){this._initialized||(this._initialized=!0)}item(e){let{items:t}=this,i=t[e];if(!i||i.destroyed){t.splice(e,1);return}return i}async load(e){let t=e.id??e.element?.id??`tsparticles${Math.floor(1e4*J())}`,{index:i,url:s}=e,a=ex(s?await t8({fallback:e.options,url:s,index:i}):e.options,i),{items:n}=this,o=n.findIndex(e=>e.id.description===t),r=new t6(this,t,a);if(o>=0){let e=this.item(o),t=e?1:0;e&&!e.destroyed&&e.destroy(!1),n.splice(o,t,r)}else n.push(r);let l=ii(is(t,e.element));return r.canvas.loadCanvas(l),await r.start(),r}loadOptions(e,t){this.plugins.forEach(i=>i.loadOptions?.(e,t))}loadParticlesOptions(e,t,...i){let s=this.updaters.get(e);s&&s.forEach(e=>e.loadOptions?.(t,...i))}async refresh(e=!0){e&&await Promise.all(this.items.map(e=>e.refresh()))}removeEventListener(e,t){this._eventDispatcher.removeEventListener(e,t)}setOnClickHandler(e){let{items:t}=this;if(!t.length)throw Error(`${O} can only set click handlers after calling tsParticles.load()`);t.forEach(t=>t.addClickHandler(e))}}class io{constructor(e){this.type=b.external,this.container=e}}class ir{constructor(e){this.type=b.particles,this.container=e}}!function(e){e.clockwise="clockwise",e.counterClockwise="counter-clockwise",e.random="random"}(_||(_={})),function(e){e.linear="linear",e.radial="radial",e.random="random"}(k||(k={})),function(e){e.easeInBack="ease-in-back",e.easeInCirc="ease-in-circ",e.easeInCubic="ease-in-cubic",e.easeInLinear="ease-in-linear",e.easeInQuad="ease-in-quad",e.easeInQuart="ease-in-quart",e.easeInQuint="ease-in-quint",e.easeInExpo="ease-in-expo",e.easeInSine="ease-in-sine",e.easeOutBack="ease-
1out-back",e.easeOutCirc="ease-out-circ",e.easeOutCubic="ease-out-cubic",e.easeOutLinear="ease-out-linear",e.easeOutQuad="ease-out-quad",e.easeOutQuart="ease-out-quart",e.easeOutQuint="ease-out-quint",e.easeOutExpo="ease-out-expo",e.easeOutSine="ease-out-sine",e.easeInOutBack="ease-in-out-back",e.easeInOutCirc="ease-in-out-circ",e.easeInOutCubic="ease-in-out-cubic",e.easeInOutLinear="ease-in-out-linear",e.easeInOutQuad="ease-in-out-quad",e.easeInOutQuart="ease-in-out-quart",e.easeInOutQuint="ease-in-out-quint",e.easeInOutExpo="ease-in-out-expo",e.easeInOutSine="ease-in-out-sine"}(z||(z={}));let il=function(){let e=new ia;return e.init(),e}();eo()||(window.tsParticles=il)},8975:(e,t,i)=>{i.d(t,{Ay:()=>o,iC:()=>r});var s=i(2665),a=i(5155),n=i(2115);let o=e=>{let t=e.id??"tsparticles";return(0,n.useEffect)(()=>{let i;return s.$k3.load({id:t,url:e.url,options:e.options}).then(t=>{var s;i=t,null==(s=e.particlesLoaded)||s.call(e,t)}),()=>{null==i||i.destroy()}},[t,e,e.url,e.options]),(0,a.jsx)("div",{id:t,className:e.className})};async function r(e){await e(s.$k3)}},6737:(e,t,i)=>{i.d(t,{m:()=>tR});var s,a,n,o,r,l,c=i(2665);class h{init(e){let t=e.options.move.gravity;e.gravity={enable:t.enable,acceleration:(0,c.VGA)(t.acceleration),inverse:t.inverse},function(e){let t=e.container,i=e.options.move.spin;if(!i.enable)return;let s=i.position??{x:50,y:50},a={x:.01*s.x*t.canvas.size.width,y:.01*s.y*t.canvas.size.height},n=e.getPosition(),o=(0,c.YfF)(n,a),r=(0,c.VGA)(i.acceleration);e.retina.spinAcceleration=r*t.retina.pixelRatio,e.spin={center:a,direction:e.velocity.x>=0?c.pTR.clockwise:c.pTR.counterClockwise,angle:e.velocity.angle,radius:o,acceleration:e.retina.spinAcceleration}}(e)}isEnabled(e){return!e.destroyed&&e.options.move.enable}move(e,t){let i=e.options,s=i.move;if(!s.enable)return;let a=e.container,n=a.retina.pixelRatio;e.retina.moveSpeed??=(0,c.VGA)(s.speed)*n,e.retina.moveDrift??=(0,c.VGA)(e.options.move.drift)*n;let o=e.slow.inRange?e.slow.factor:1,r=e.retina.moveSpeed*a.retina.reduceFactor,l=e.retina.moveDrift,h=(0,c.W9e)(i.size.value)*n,d=r*(s.size?e.getRadius()/h:1)*o*(t.factor||1)/2,u=e.retina.maxSpeed??a.retina.maxSpeed;s.spin.enable?function(e,t){let i=e.container;if(!e.spin)return;let s={x:e.spin.direction===c.pTR.clockwise?Math.cos:Math.sin,y:e.spin.direction===c.pTR.clockwise?Math.sin:Math.cos};e.position.x=e.spin.center.x+e.spin.radius*s.x(e.spin.angle),e.position.y=e.spin.center.y+e.spin.radius*s.y(e.spin.angle),e.spin.radius+=e.spin.acceleration;let a=Math.max(i.canvas.size.width,i.canvas.size.height),n=.5*a;e.spin.radius>n?(e.spin.radius=n,e.spin.acceleration*=-1):e.spin.radius<0&&(e.spin.radius=0,e.spin.acceleration*=-1),e.spin.angle+=.01*t*(1-e.spin.radius/a)}(e,d):function(e,t,i,s,a,n){(function(e,t){let i=e.options.move.path;if(!i.enable)return;if(e.lastPathTime<=e.pathDelay){e.lastPathTime+=t.value;return}let s=e.pathGenerator?.generate(e,t);s&&e.velocity.addTo(s),i.clamp&&(e.velocity.x=(0,c.qE8)(e.velocity.x,-1,1),e.velocity.y=(0,c.qE8)(e.velocity.y,-1,1)),e.lastPathTime-=e.pathDelay})(e,n);let o=e.gravity,r=o?.enable&&o.inverse?-1:1;a&&i&&(e.velocity.x+=a*n.factor/(60*i)),o?.enable&&i&&(e.velocity.y+=r*(o.acceleration*n.factor)/(60*i));let l=e.moveDecay;e.velocity.multTo(l);let h=e.velocity.mult(i);o?.enable&&s>0&&(!o.inverse&&h.y>=0&&h.y>=s||o.inverse&&h.y<=0&&h.y<=-s)&&(h.y=r*s,i&&(e.velocity.y=h.y/i));let d=e.options.zIndex,u=(1-e.zIndexFactor)**d.velocityRate;h.multTo(u);let{position:p}=e;p.addTo(h),t.vibrate&&(p.x+=Math.sin(p.x*Math.cos(p.y)),p.y+=Math.cos(p.y*Math.sin(p.x)))}(e,s,d,u,l,t),function(e){let t=e.initialPosition,{dx:i,dy:s}=(0,c.vrU)(t,e.position),a=Math.abs(i),n=Math.abs(s),{maxDistance:o}=e.retina,r=o.horizontal,l=o.vertical;if(r||l){if((r&&a>=r||l&&n>=l)&&!e.misplaced)e.misplaced=!!r&&a>r||!!l&&n>l,r&&(e.velocity.x=.5*e.velocity.y-e.velocity.x),l&&(e.velocity.y=.5*e.velocity.x-e.velocity.y);else if((!r||a<r)&&(!l||n<l)&&e.misplaced)e.misplaced=!1;else if(e.misplaced){let i=e.position,s=e.velocity;r&&(i.x<t.x&&s.x<0||i.x>t.x&&s.x>0)&&(s.x*=-(0,c.G0i)()),l&&(i.y<t.y&&s.y<0||i.y>t.y&&s.y>0)&&(s.y*=-(0,c.G0i)())}}}(e)}}async function d(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addMover("base",()=>Promise.resolve(new h),t)}let u=2*Math.PI,p={x:0,y:0};class f{constructor(){this.validTypes=["circle"]}
1draw(e){!function(e){let{context:t,particle:i,radius:s}=e;i.circleRange||(i.circleRange={min:0,max:u});let a=i.circleRange;t.arc(p.x,p.y,s,a.min,a.max,!1)}(e)}getSidesCount(){return 12}particleInit(e,t){let i=t.shapeData,s=i?.angle??{max:360,min:0};t.circleRange=(0,c.Gvm)(s)?{min:(0,c.puj)(s.min),max:(0,c.puj)(s.max)}:{min:0,max:(0,c.puj)(s)}}}async function g(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new f,t)}class v{constructor(e,t){this._container=e,this._engine=t}init(e){let t=(0,c.R5R)(this._engine,e.options.color,e.id,e.options.reduceDuplicates);t&&(e.color=(0,c.pzy)(t,e.options.color.animation,this._container.retina.reduceFactor))}isEnabled(e){let{h:t,s:i,l:s}=e.options.color.animation,{color:a}=e;return!e.destroyed&&!e.spawning&&(a?.h.value!==void 0&&t.enable||a?.s.value!==void 0&&i.enable||a?.l.value!==void 0&&s.enable)}update(e,t){(0,c.JvX)(e.color,t)}}async function m(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("color",t=>Promise.resolve(new v(t,e)),t)}!function(e){e[e.r=1]="r",e[e.g=2]="g",e[e.b=3]="b",e[e.a=4]="a"}(s||(s={}));let y=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class w{constructor(){this.key="hex",this.stringPrefix="#"}handleColor(e){return this._parseString(e.value)}handleRangeColor(e){return this._parseString(e.value)}parseString(e){return this._parseString(e)}_parseString(e){if("string"!=typeof e||!e?.startsWith(this.stringPrefix))return;let t=e.replace(y,(e,t,i,s,a)=>t+t+i+i+s+s+(void 0!==a?a+a:"")),i=b.exec(t);return i?{a:void 0!==i[s.a]?parseInt(i[s.a],16)/255:1,b:parseInt(i[s.b],16),g:parseInt(i[s.g],16),r:parseInt(i[s.r],16)}:void 0}}async function x(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addColorManager(new w,t)}!function(e){e[e.h=1]="h",e[e.s=2]="s",e[e.l=3]="l",e[e.a=5]="a"}(a||(a={}));class _{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(e){let t=e.value.hsl??e.value;if(void 0!==t.h&&void 0!==t.s&&void 0!==t.l)return(0,c.YLU)(t)}handleRangeColor(e){let t=e.value.hsl??e.value;if(void 0!==t.h&&void 0!==t.l)return(0,c.YLU)({h:(0,c.VGA)(t.h),l:(0,c.VGA)(t.l),s:(0,c.VGA)(t.s)})}parseString(e){if(!e.startsWith("hsl"))return;let t=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(e);return t?(0,c.ayx)({a:t.length>4?(0,c.M3Y)(t[a.a]):1,h:parseInt(t[a.h],10),l:parseInt(t[a.l],10),s:parseInt(t[a.s],10)}):void 0}}async function k(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addColorManager(new _,t)}class z{constructor(e){this.container=e}init(e){let t=e.options.opacity;e.opacity=(0,c.XsS)(t,1);let i=t.animation;i.enable&&(e.opacity.velocity=(0,c.VGA)(i.speed)/c.a56*this.container.retina.reduceFactor,i.sync||(e.opacity.velocity*=(0,c.G0i)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.opacity&&e.opacity.enable&&((e.opacity.maxLoops??0)<=0||(e.opacity.maxLoops??0)>0&&(e.opacity.loops??0)<(e.opacity.maxLoops??0))}reset(e){e.opacity&&(e.opacity.time=0,e.opacity.loops=0)}update(e,t){this.isEnabled(e)&&e.opacity&&(0,c.UC0)(e,e.opacity,!0,e.options.opacity.animation.destroy,t)}}async function C(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("opacity",e=>Promise.resolve(new z(e)),t)}class M{constructor(e){this.container=e,this.modes=[c.Yzx.bounce,c.Yzx.split]}update(e,t,i,s){if(!this.modes.includes(s))return;let a=this.container,n=!1;for(let s of a.plugins.values())if(void 0!==s.particleBounce&&(n=s.particleBounce(e,i,t)),n)break;if(n)return;let o=e.getPosition(),r=e.offset,l=e.getRadius(),h=(0,c.AEc)(o,l),d=a.canvas.size;!function(e){if(e.outMode!==c.Yzx.bounce&&e.outMode!==c.Yzx.split||e.direction!==c.v5k.left&&e.direction!==c.v5k.right)return;e.bounds.right<0&&e.direction===c.v5k.left?e.particle.position.x=e.size+e.offset.x:e.bounds.left>e.canvasSize.width&&e.direction===c.v5k.right&&(e.particle.position.x=e.canvasSize.width-e.size-e.offset.x);let t=e.particle.velocity.x,i=!1;if(e.direction===c.v5k.right&&e.bounds.right>=e.canvasSize.width&&t>0||e.direction===c.v5k.left&&e.bounds.left<=0&&t<0){let t=(0,c.VGA)(e.particle.options.bounce.horizontal.value);e.particle.velocity.x*=-t,i=!0}if(!i)return;let s=e.offset.x+e.size;e.bounds.right>=e.canvasSize.width&&e.direction===c.v5k.right?e.particle.position.x=e.canvasSize.width-s:e.bounds.left<=0&&e.direction===c.v5k.left&&(e.particle.position.x=s),e.outMode===c.Yzx.split&&e.particle.destroy()}({particle:e,outMode:s,direction:t,bounds:h,canvasSize:d,offset:r,size:l}),function(e){if(e.outMode!==c.Yzx.bounce&&e.outMode!==c.Yzx.split||e.direction!==c.v5k.bottom&&e.direction!==c.v5k.top)return;
1e.bounds.bottom<0&&e.direction===c.v5k.top?e.particle.position.y=e.size+e.offset.y:e.bounds.top>e.canvasSize.height&&e.direction===c.v5k.bottom&&(e.particle.position.y=e.canvasSize.height-e.size-e.offset.y);let t=e.particle.velocity.y,i=!1;if(e.direction===c.v5k.bottom&&e.bounds.bottom>=e.canvasSize.height&&t>0||e.direction===c.v5k.top&&e.bounds.top<=0&&t<0){let t=(0,c.VGA)(e.particle.options.bounce.vertical.value);e.particle.velocity.y*=-t,i=!0}if(!i)return;let s=e.offset.y+e.size;e.bounds.bottom>=e.canvasSize.height&&e.direction===c.v5k.bottom?e.particle.position.y=e.canvasSize.height-s:e.bounds.top<=0&&e.direction===c.v5k.top&&(e.particle.position.y=s),e.outMode===c.Yzx.split&&e.particle.destroy()}({particle:e,outMode:s,direction:t,bounds:h,canvasSize:d,offset:r,size:l})}}class P{constructor(e){this.container=e,this.modes=[c.Yzx.destroy]}update(e,t,i,s){if(!this.modes.includes(s))return;let a=this.container;switch(e.outType){case c.x_I.normal:case c.x_I.outside:if((0,c.Tj8)(e.position,a.canvas.size,c.Miz.origin,e.getRadius(),t))return;break;case c.x_I.inside:{let{dx:t,dy:i}=(0,c.vrU)(e.position,e.moveCenter),{x:s,y:a}=e.velocity;if(s<0&&t>e.moveCenter.radius||a<0&&i>e.moveCenter.radius||s>=0&&t<-e.moveCenter.radius||a>=0&&i<-e.moveCenter.radius)return}}a.particles.remove(e,e.group,!0)}}class S{constructor(e){this.container=e,this.modes=[c.Yzx.none]}update(e,t,i,s){if(!this.modes.includes(s)||((e.options.move.distance.horizontal&&(t===c.v5k.left||t===c.v5k.right))??(e.options.move.distance.vertical&&(t===c.v5k.top||t===c.v5k.bottom))))return;let a=e.options.move.gravity,n=this.container,o=n.canvas.size,r=e.getRadius();if(a.enable){let i=e.position;(!a.inverse&&i.y>o.height+r&&t===c.v5k.bottom||a.inverse&&i.y<-r&&t===c.v5k.top)&&n.particles.remove(e)}else{if(e.velocity.y>0&&e.position.y<=o.height+r||e.velocity.y<0&&e.position.y>=-r||e.velocity.x>0&&e.position.x<=o.width+r||e.velocity.x<0&&e.position.x>=-r)return;(0,c.Tj8)(e.position,n.canvas.size,c.Miz.origin,r,t)||n.particles.remove(e)}}}class O{constructor(e){this.container=e,this.modes=[c.Yzx.out]}update(e,t,i,s){if(!this.modes.includes(s))return;let a=this.container;if(e.outType===c.x_I.inside){let{x:t,y:i}=e.velocity,s=c.Miz.origin;s.length=e.moveCenter.radius,s.angle=e.velocity.angle+Math.PI,s.addTo(c.Miz.create(e.moveCenter));let{dx:n,dy:o}=(0,c.vrU)(e.position,s);if(t<=0&&n>=0||i<=0&&o>=0||t>=0&&n<=0||i>=0&&o<=0)return;e.position.x=Math.floor((0,c.U43)({min:0,max:a.canvas.size.width})),e.position.y=Math.floor((0,c.U43)({min:0,max:a.canvas.size.height}));let{dx:r,dy:l}=(0,c.vrU)(e.position,e.moveCenter);e.direction=Math.atan2(-l,-r),e.velocity.angle=e.direction}else{if((0,c.Tj8)(e.position,a.canvas.size,c.Miz.origin,e.getRadius(),t))return;switch(e.outType){case c.x_I.outside:{e.position.x=Math.floor((0,c.U43)({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.x,e.position.y=Math.floor((0,c.U43)({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.y;let{dx:t,dy:i}=(0,c.vrU)(e.position,e.moveCenter);e.moveCenter.radius&&(e.direction=Math.atan2(i,t),e.velocity.angle=e.direction);break}case c.x_I.normal:{let i=e.options.move.warp,s=a.canvas.size,n={bottom:s.height+e.getRadius()+e.offset.y,left:-e.getRadius()-e.offset.x,right:s.width+e.getRadius()+e.offset.x,top:-e.getRadius()-e.offset.y},o=e.getRadius(),r=(0,c.AEc)(e.position,o);t===c.v5k.right&&r.left>s.width+e.offset.x?(e.position.x=n.left,e.initialPosition.x=e.position.x,i||(e.position.y=(0,c.G0i)()*s.height,e.initialPosition.y=e.position.y)):t===c.v5k.left&&r.right<-e.offset.x&&(e.position.x=n.right,e.initialPosition.x=e.position.x,i||(e.position.y=(0,c.G0i)()*s.height,e.initialPosition.y=e.position.y)),t===c.v5k.bottom&&r.top>s.height+e.offset.y?(i||(e.position.x=(0,c.G0i)()*s.width,e.initialPosition.x=e.position.x),e.position.y=n.top,e.initialPosition.y=e.position.y):t===c.v5k.top&&r.bottom<-e.offset.y&&(i||(e.position.x=(0,c.G0i)()*s.width,e.initialPosition.x=e.position.x),e.position.y=n.bottom,e.initialPosition.y=e.position.y)}}}}}let T=(e,t)=>e.default===t||e.bottom===t||e.left===t||e.right===t||e.top===t;class R{constructor(e){this._addUpdaterIfMissing=(e,t,i)=>{let s=e.options.move.outModes;!this.updaters.has(t)&&T(s,t)&&this.updaters.set(t,i(this.container))},this._updateOutMode=(e,t,i,s)=>{for(let a of this.updaters.values())a.update(e,s,t,i)},this.container=e,this.updaters=new Map}init(e){this._addUpdaterIfMissing(e,c.Yzx.bounce,e=>new M(e)),this._addUpdaterIfMissing(e,c.Yzx.out,e=>new O(e)),this._addUpdaterIfMissing(e,c.Yzx.destroy,e=>new P(e)),this._addUpdaterIfMissing(e,c.Yzx.none,e=>new S(e))}isEnabled(e){return!e.destroyed&&!e.spawning}update(e,t){let i=e.options.move.outModes;this._updateOutMode(e,t,i.bottom??i.default,c.v5k.bottom),this._updateOutMode(e,t,i.left??i.default,c.v5k.left),this._updateOutMode(e,t,i.right??i.default,c.v5k.right),this._updateOutMode(e,t,i.top??i.default,c.v5k.top)}}async function E(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("outModes",e=>Promise.resolve(new R(e)),t)}!function(e){e[e.r=1]="r",e[e.g=2]="g",e[e.b=3]="b",e[e.a=5]="a"}(n||(n={}));class D{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(e){let t=e.value.rgb??e.value;if(void 0!==t.r)return t}handleRangeColor(e){let t=e.value.rgb??e.value;if(void 0!==t.r)return{r:(0,c.VGA)(t.r),g:(0,c.VGA)(t.g),b:(0,c.VGA)(t.b)}}parseString(e){if(!e.startsWith(this.stringPrefix))return;let t=/rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(e);return t?{a:t.length>
14?(0,c.M3Y)(t[n.a]):1,b:parseInt(t[n.b],10),g:parseInt(t[n.g],10),r:parseInt(t[n.r],10)}:void 0}}async function I(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addColorManager(new D,t)}class A{init(e){let t=e.container,i=e.options.size.animation;i.enable&&(e.size.velocity=(e.retina.sizeAnimationSpeed??t.retina.sizeAnimationSpeed)/c.a56*t.retina.reduceFactor,i.sync||(e.size.velocity*=(0,c.G0i)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??0)<=0||(e.size.maxLoops??0)>0&&(e.size.loops??0)<(e.size.maxLoops??0))}reset(e){e.size.loops=0}update(e,t){this.isEnabled(e)&&(0,c.UC0)(e,e.size,!0,e.options.size.animation.destroy,t)}}async function L(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("size",()=>Promise.resolve(new A),t)}async function F(e,t=!0){(0,c.Jei)(e,"3.7.1"),await x(e,!1),await k(e,!1),await I(e,!1),await d(e,!1),await g(e,!1),await m(e,!1),await C(e,!1),await E(e,!1),await L(e,!1),await e.refresh(t)}async function j(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addEasing(c.mgy.easeInQuad,e=>e**2,!1),await e.addEasing(c.mgy.easeOutQuad,e=>1-(1-e)**2,!1),await e.addEasing(c.mgy.easeInOutQuad,e=>e<.5?2*e**2:1-(-2*e+2)**2/2,!1),await e.refresh(t)}let B='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"';class U{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(let[e,t]of this._emojiShapeDict)t instanceof ImageBitmap&&t?.close(),this._emojiShapeDict.delete(e)}draw(e){let t=e.particle.emojiDataKey;if(!t)return;let i=this._emojiShapeDict.get(t);i&&function(e,t){let{context:i,opacity:s}=e,a=i.globalAlpha;if(!t)return;let n=t.width,o=.5*n;i.globalAlpha=s,i.drawImage(t,-o,-o,n,n),i.globalAlpha=a}(e,i)}async init(e){let t=e.actualOptions,{validTypes:i}=this;if(!i.find(e=>(0,c.hnD)(e,t.particles.shape.type)))return;let s=[(0,c.AlN)(B)],a=i.map(e=>t.particles.shape.options[e]).find(e=>!!e);a&&(0,c.wJ2)(a,e=>{e.font&&s.push((0,c.AlN)(e.font))}),await Promise.all(s)}particleDestroy(e){e.emojiDataKey=void 0}particleInit(e,t){let i;let s=t.shapeData;if(!s?.value)return;let a=(0,c.TA3)(s.value,t.randomIndexData);if(!a)return;let n="string"==typeof a?{font:s.font??B,padding:s.padding??0,value:a}:{font:B,padding:0,...s,...a},o=n.font,r=n.value,l=`${r}_${o}`;if(this._emojiShapeDict.has(l)){t.emojiDataKey=l;return}let h=2*n.padding,d=(0,c.W9e)(t.size.value),u=d+h,p=2*u;if("undefined"!=typeof OffscreenCanvas){let e=new OffscreenCanvas(p,p),t=e.getContext("2d");if(!t)return;t.font=`400 ${2*d}px ${o}`,t.textBaseline="middle",t.textAlign="center",t.fillText(r,u,u),i=e.transferToImageBitmap()}else{let e=document.createElement("canvas");e.width=p,e.height=p;let t=e.getContext("2d");if(!t)return;t.font=`400 ${2*d}px ${o}`,t.textBaseline="middle",t.textAlign="center",t.fillText(r,u,u),i=e}this._emojiShapeDict.set(l,i),t.emojiDataKey=l}}async function q(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new U,t)}function V(e,t,i,s,a,n){let o=t.actualOptions.interactivity.modes.attract;if(o)for(let r of t.particles.quadTree.query(a,n)){let{dx:t,dy:a,distance:n}=(0,c.vrU)(r.position,i),l=o.speed*o.factor,h=(0,c.qE8)(e.getEasing(o.easing)(1-n/s)*l,1,o.maxSpeed),d=c.Miz.create(n?t/n*h:l,n?a/n*h:l);r.position.subFrom(d)}}class G{constructor(){this.distance=200,this.duration=.4,this.easing=c.mgy.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(e){(0,c.kZJ)(e)||(void 0!==e.distance&&(this.distance=e.distance),void 0!==e.duration&&(this.duration=e.duration),void 0!==e.easing&&(this.easing=e.easing),void 0!==e.factor&&(this.factor=e.factor),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed),void 0===e.speed||(this.speed=e.speed))}}let J="attract";class H extends c.sJd{constructor(e,t){super(t),this._engine=e,t.attract||(t.attract={particles:[]}),this.handleClickMode=e=>{let i=this.container.actualOptions.interactivity.modes.attract;if(i&&e===J){for(let e of(t.attract||(t.attract={particles:[]}),t.attract.clicking=!0,t.attract.count=0,t.attract.particles))this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);t.attract.particles=[],t.attract.finish=!1,setTimeout(()=>{t.destroyed||(t.attract||(t.attract={particles:[]}),t.attract.clicking=!1)},i.duration*c.XuV)}}}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity.modes.attract;t&&(e.retina.attractModeDistance=t.distance*e.retina.pixelRatio)}interact(){let e=this.container,t=e.actualOptions,i=e.interactivity.status===c.RbF,s=t.interactivity.events,{enable:a,mode:n}=s.onHover,{enable:o,mode:r}=s.onClick;i&&a&&(0,c.hnD)(J,n)?function(e,t,i){let s=t.interactivity.mouse.position,a=t.retina.attractModeDistance;a&&!(a<0)&&s&&V(e,t,s,a,new c.jlt(s.x,s.y,a),e=>i(e))}(this._engine,this.container,e=>this.isEnabled(e)):o&&(0,c.hnD)(J,r)&&function(e,t,i){t.attract||(t.attract={particles:[]});let{attract:s}=t;if(s.finish||(s.count||(s.count=0),s.count++,s.count!==t.particles.count||(s.finish=!0)),s.clicking){let s=t.interactivity.mouse.clickPosition,a=t.retina.attractModeDistance;if(!a||a<0||!s)return;V(e,t,s,a,new c.jlt(s.x,s.y,a),e=>i(e))}else!1===s.clicking&&(s.particles=[])}(this._engine,this.container,e=>this.isEnabled(e))}isEnabled(e){let t=this.container,i=t.actualOptions,s=t.interactivity.mouse,a=(e?.interactivity??i.interactivity).events;if((!s.position||!a.onHover.enable)&&(!s.clickPosition||!a.onClick.enable))return!1;let n=a.onHover.mode,o=a.onClick.mode;return(0,c.hnD)(J,n)||(0,c.hnD)(J,o)}loadModeOptions(e,...t){for(let i of(e.attract||(e.attract=new G),t))e.attract.load(i?.attract)}reset(){}}async function W(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalAttract",t=>Promise.resolve(new H(e,t)),t)}let Y=.5*Math.PI;function $(e,t,i,s,a){for(let n of e.particles.quadTree.query(s,a))s instanceof c.jlt?(0,c.pEn)((0,c.Tgl)(n),{position:t,radius:i,mass:i**2*Y,velocity:c.Miz.origin,factor:c.Miz.origin}):s instanceof c.M_G&&(0,c.jon)(n,(0,c.AEc)(t,i))}class N{constructor(){this.distance=200}load(e){(0,c.kZJ)(e)||void 0===e.distance||(this.distance=e.distance)}}let Z="bounce";class X extends c.sJd{constructor(e){super(e)}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity.modes.bounce;t&&(e.retina.bounceModeDistance=t.distance*e.retina.pixelRatio)}interact(){let e=this.container,t=e.actualOptions.interactivity.events,i=e.interactivity.status===c.RbF,s=t.onHover.enable,a=t.onHover.mode,n=t.onDiv;if(i&&s&&(0,c.hnD)(Z,a))!function(e,t){let i=e.retina.pixelRatio,s=e.interactivity.mouse.position,a=e.retina.bounceModeDistance;a&&!(a<0)&&s&&$(e,s,a,new c.jlt(s.x,s.y,a+10*i),t)}(this.container,e=>this.isEnabled(e));else{var o,r;o=this.container,r=e=>this.isEnabled(e),(0,c.U6C)(Z,n,(e,t)=>(function(e,t,i,s){let a=document.querySelectorAll(t);a.length&&a.forEach(t=>{let a=e.retina.pixelRatio,n={x:(t.offsetLeft+.5*t.offsetWidth)*a,y:(t.offsetTop+.5*t.offsetHeight)*a},o=.5*t.offsetWidth*a,r=10*a,l=i.type===c.Q5V.circle?new c.jlt(n.x,n.y,o+r):new c.M_G(t.offsetLeft*a-r,t.offsetTop*a-r,t.offsetWidth*a+2*r,t.offsetHeight*a+2*r);s(n,o,l)})})(o,e,t,(e,t,i)=>$(o,e,t,i,r)))}}isEnabled(e){let t=this.container,i=t.actualOptions,s=t.interactivity.mouse,a=(e?.interactivity??i.interactivity).events,n=a.onDiv;return!!s.position&&a.onHover.enable&&(0,c.hnD)(Z,a.onHover.mode)||(0,c.iKf)(Z,n)}loadModeOptions(e,...t){for(let i of(e.bounce||(e.bounce=new N),t))e.bounce.load(i?.bounce)}reset(){}}async function Q(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalBounce",e=>Promise.resolve(new X(e)),t)}class K{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(e){if(!(0,c.kZJ)(e)){if(void 0!==e.distance&&(this.distance=e.distance),void 0!==e.duration&&(this.duration=e.duration),void 0!==e.mix&&(this.mix=e.mix),void 0!==e.opacity&&(this.opacity=e.opacity),void 0!==e.color){let t=(0,c.cyL)(this.color)?void 0:this.color;this.color=(0,c.wJ2)(e.color,e=>c.Oit.create(t,e))}void 0!==e.size&&(this.size=e.size)}}}class ee extends K{constructor(){super(),this.selectors=[]}load(e){super.load(e),(0,c.kZJ)(e)||void 0===e.selectors||(this.selectors=e.selectors)}}class et extends K{load(e){super.load(e),(0,c.kZJ)(e)||(this.divs=(0,c.wJ2)(e.divs,e=>{let t=new ee;return t.load(e),t}))}}function ei(e,t,i,s){return t>=i?(0,c.qE8)(e+(t-i)*s,e,t):t<i?(0,c.qE8)(e-(i-t)*s,t,e):void 0}!function(e){e.color="color",e.opacity="opacity",e.size="size"}(o||(o={}));let es="bubble";class ea extends c.sJd{constructor(e,t){super(e),this._clickBubble=()=>{let e=this.container,t=e.actualOptions,i=e.interactivity.mouse.clickPosition,s=t.interactivity.modes.bubble;if(!s||!i)return;e.bubble||(e.bubble={});let a=e.retina.bubbleModeDistance;if(!a||a<0)return;let n=e.particles.quadTree.queryCircle(i,a,e=>this.isEnabled(e)),{bubble:r}=e;for(let t of n){if(!r.clicking)continue;t.bubble.inRange=!r.durationEnd;let n=t.getPosition(),l=(0,c.YfF)(n,i),h=(new Date().getTime()-(e.interactivity.mouse.clickTime??0))/c.XuV;h>s.duration&&(r.durationEnd=!0),h>2*s.duration&&(r.clicking=!1,r.durationEnd=!1);let d={bubbleObj:{optValue:e.retina.bubbleModeSize,value:t.bubble.radius},particlesObj:{optValue:(0,c.W9e)(t.options.size.value)*e.retina.pixelRatio,value:t.size.value},type:o.size};this._process(t,l,h,d);let u={bubbleObj:{optValue:s.opacity,value:t.bubble.opacity},particlesObj:{optValue:(0,c.W9e)(t.options.opacity.value),value:t.opacity?.value??1},type:o.opacity};this._process(t,l,h,u),!r.durationEnd&&l<=a?this._hoverBubbleColor(t,l):delete t.bubble.color}},this._hoverBubble=()=>{let e=this.container,t=e.interactivity.mouse.position,i=e.retina.bubbleModeDistance;if(i&&!(i<0)&&t)for(let s of e.particles.quadTree.queryCircle(t,i,e=>this.isEnabled(e))){s.bubble.inRange=!0;let a=s.getPosition(),n=(0,c.YfF)(a,t),o=1-n/i;n<=i?o>=0&&e.interactivity.status===c.RbF&&(this._hoverBubbleSize(s,o),this._hoverBubbleOpacity(s,o),this._hoverBubbleColor(s,o)):this.reset(s),e.interactivity.status===c.Z04&&this.reset(s)}},this._hoverBubbleColor=(e,t,i)=>{let s=this.container.actualOptions,a=i??s.interactivity.modes.bubble;if(a){if(!e.bubble.finalColor){let t=a.color;if(!t)return;let i=(0,c.TA3)(t);e.bubble.finalColor=(0,c.R5R)(this._engine,i)}if(e.bubble.finalColor){if(a.mix){e.bubble.color=void 0;let i=e.getFillColor();e.bubble.color=i?(0,c.K6u)((0,c.EYT)(i,e.bubble.finalColor,1-t,t)):e.bubble.finalColor}else e.bubble.color=e.bubble.finalColor}}},this._hoverBubbleOpacity=(e,t,i)=>{let s=this.container.actualOptions,a=i?.opacity??s.interactivity.modes.bubble?.opacity;if(!a)return;let n=e.options.opacity.value,o=ei(e.opacity?.value??1,a,(0,c.W9e)(n),t);void 0!==o&&(e.bubble.opacity=o)},this._hoverBubbleSize=(e,t,i)=>{let s=this.container,a=i?.size?i.size*s.retina.pixelRatio:s.retina.bubbleModeSize;if(void 0===a)return;let n=(0,c.W9e)(e.options.size.value)*s.retina.pixelRatio,o=ei(e.size.value,a,n,t);void 0!==o&&(e.bubble.radius=o)},this._process=(e,t,i,s)=>{let a=this.container,n=s.bubbleObj.optValue,r=a.actualOptions.interactivity.modes.bubble;if(!r||void 0===n)return;let l=r.duration,c=a.retina.bubbleModeDistance,h=s.particlesObj.optValue,d=s.bubbleObj.value,u=s.particlesObj.value??0,p=s.type;if(c&&!(c<0)&&n!==h){if(a.bubble||(a.bubble={}
1),a.bubble.durationEnd)d&&(p===o.size&&delete e.bubble.radius,p===o.opacity&&delete e.bubble.opacity);else if(t<=c){if((d??u)!==n){let t=u-i*(u-n)/l;p===o.size&&(e.bubble.radius=t),p===o.opacity&&(e.bubble.opacity=t)}}else p===o.size&&delete e.bubble.radius,p===o.opacity&&delete e.bubble.opacity}},this._singleSelectorHover=(e,t,i)=>{let s=this.container,a=document.querySelectorAll(t),n=s.actualOptions.interactivity.modes.bubble;n&&a.length&&a.forEach(t=>{let a=s.retina.pixelRatio,o={x:(t.offsetLeft+.5*t.offsetWidth)*a,y:(t.offsetTop+.5*t.offsetHeight)*a},r=.5*t.offsetWidth*a,l=i.type===c.Q5V.circle?new c.jlt(o.x,o.y,r):new c.M_G(t.offsetLeft*a,t.offsetTop*a,t.offsetWidth*a,t.offsetHeight*a);for(let i of s.particles.quadTree.query(l,e=>this.isEnabled(e))){if(!l.contains(i.getPosition()))continue;i.bubble.inRange=!0;let s=n.divs,a=(0,c.NVT)(s,t);i.bubble.div&&i.bubble.div===t||(this.clear(i,e,!0),i.bubble.div=t),this._hoverBubbleSize(i,1,a),this._hoverBubbleOpacity(i,1,a),this._hoverBubbleColor(i,1,a)}})},this._engine=t,e.bubble||(e.bubble={}),this.handleClickMode=t=>{t===es&&(e.bubble||(e.bubble={}),e.bubble.clicking=!0)}}clear(e,t,i){(!e.bubble.inRange||i)&&(delete e.bubble.div,delete e.bubble.opacity,delete e.bubble.radius,delete e.bubble.color)}init(){let e=this.container,t=e.actualOptions.interactivity.modes.bubble;t&&(e.retina.bubbleModeDistance=t.distance*e.retina.pixelRatio,void 0!==t.size&&(e.retina.bubbleModeSize=t.size*e.retina.pixelRatio))}interact(e){let t=this.container.actualOptions.interactivity.events,i=t.onHover,s=t.onClick,a=i.enable,n=i.mode,o=s.enable,r=s.mode,l=t.onDiv;a&&(0,c.hnD)(es,n)?this._hoverBubble():o&&(0,c.hnD)(es,r)?this._clickBubble():(0,c.U6C)(es,l,(t,i)=>this._singleSelectorHover(e,t,i))}isEnabled(e){let t=this.container,i=t.actualOptions,s=t.interactivity.mouse,{onClick:a,onDiv:n,onHover:o}=(e?.interactivity??i.interactivity).events,r=(0,c.iKf)(es,n);return(!!r||!!o.enable&&!!s.position||!!a.enable&&!!s.clickPosition)&&((0,c.hnD)(es,o.mode)||(0,c.hnD)(es,a.mode)||r)}loadModeOptions(e,...t){for(let i of(e.bubble||(e.bubble=new et),t))e.bubble.load(i?.bubble)}reset(e){e.bubble.inRange=!1}}async function en(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalBubble",t=>Promise.resolve(new ea(t,e)),t)}class eo{constructor(){this.opacity=.5}load(e){(0,c.kZJ)(e)||void 0===e.opacity||(this.opacity=e.opacity)}}class er{constructor(){this.distance=80,this.links=new eo,this.radius=60}load(e){(0,c.kZJ)(e)||(void 0!==e.distance&&(this.distance=e.distance),this.links.load(e.links),void 0===e.radius||(this.radius=e.radius))}}class el extends c.sJd{constructor(e){super(e)}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity.modes.connect;t&&(e.retina.connectModeDistance=t.distance*e.retina.pixelRatio,e.retina.c
1onnectModeRadius=t.radius*e.retina.pixelRatio)}interact(){let e=this.container;if(e.actualOptions.interactivity.events.onHover.enable&&"pointermove"===e.interactivity.status){let t=e.interactivity.mouse.position,{connectModeDistance:i,connectModeRadius:s}=e.retina;if(!i||i<0||!s||s<0||!t)return;let a=Math.abs(s),n=e.particles.quadTree.queryCircle(t,a,e=>this.isEnabled(e));n.forEach((t,s)=>{let a=t.getPosition();for(let o of n.slice(s+1)){let s=o.getPosition(),n=Math.abs(i),r=Math.abs(a.x-s.x),l=Math.abs(a.y-s.y);r<n&&l<n&&function(e,t,i){e.canvas.draw(s=>{var a;let n=function(e,t,i,s){let a=e.actualOptions.interactivity.modes.connect;if(a)return function(e,t,i,s){let a=Math.floor(i.getRadius()/t.getRadius()),n=t.getFillColor(),o=i.getFillColor();if(!n||!o)return;let r=t.getPosition(),l=i.getPosition(),h=(0,c.EYT)(n,o,t.getRadius(),i.getRadius()),d=e.createLinearGradient(r.x,r.y,l.x,l.y);return d.addColorStop(0,(0,c.LCf)(n,s)),d.addColorStop((0,c.qE8)(a,0,1),(0,c.xxz)(h,s)),d.addColorStop(1,(0,c.LCf)(o,s)),d}(t,i,s,a.links.opacity)}(e,s,t,i);if(!n)return;let o=t.getPosition(),r=i.getPosition();a=t.retina.linksWidth??0,(0,c.V6E)(s,o,r),s.lineWidth=a,s.strokeStyle=n,s.stroke()})}(e,t,o)}})}}isEnabled(e){let t=this.container,i=t.interactivity.mouse,s=(e?.interactivity??t.actualOptions.interactivity).events;return!!s.onHover.enable&&!!i.position&&(0,c.hnD)("connect",s.onHover.mode)}loadModeOptions(e,...t){for(let i of(e.connect||(e.connect=new er),t))e.connect.load(i?.connect)}reset(){}}async function ec(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalConnect",e=>Promise.resolve(new el(e)),t)}class eh{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(e){(0,c.kZJ)(e)||(void 0!==e.blink&&(this.blink=e.blink),void 0!==e.color&&(this.color=c.Oit.create(this.color,e.color)),void 0!==e.consent&&(this.consent=e.consent),void 0===e.opacity||(this.opacity=e.opacity))}}class ed{constructor(){this.distance=100,this.links=new eh}load(e){(0,c.kZJ)(e)||(void 0!==e.distance&&(this.distance=e.distance),this.links.load(e.links))}}class eu extends c.sJd{constructor(e,t){super(e),this._engine=t}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity.modes.grab;t&&(e.retina.grabModeDistance=t.distance*e.retina.pixelRatio)}interact(){let e=this.container,t=e.actualOptions.interactivity;if(!t.modes.grab||!t.events.onHover.enable||e.interactivity.status!==c.RbF)return;let i=e.interactivity.mouse.position;if(!i)return;let s=e.retina.grabModeDistance;if(s&&!(s<0))for(let a of e.particles.quadTree.queryCircle(i,s,e=>this.isEnabled(e))){let n=a.getPosition(),o=(0,c.YfF)(n,i);if(o>s)continue;let r=t.modes.grab.links,l=r.opacity,h=l-o*l/s;if(h<=0)continue;let d=r.color??a.options.links?.color;if(!e.particles.grabLineColor&&d){let i=t.modes.grab.links;e.particles.grabLineColor=(0,c.PGG)(this._engine,d,i.blink,i.consent)}let u=(0,c._hh)(a,void 0,e.particles.grabLineColor);u&&function(e,t,i,s,a){e.canvas.draw(e=>{var n;let o=t.getPosition();n=t.retina.linksWidth??0,(0,c.V6E)(e,o,a),e.strokeStyle=(0,c.xxz)(i,s),e.lineWidth=n,e.stroke()})}(e,a,u,h,i)}}isEnabled(e){let t=this.container,i=t.interactivity.mouse,s=(e?.interactivity??t.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,c.hnD)("grab",s.onHover.mode)}loadModeOptions(e,...t){for(let i of(e.grab||(e.grab=new ed),t))e.grab.load(i?.grab)}reset(){}}async function ep(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalGrab",t=>Promise.resolve(new eu(t,e)),t)}class ef extends c.sJd{constructor(e){super(e),this.handleClickMode=e=>{if("pause"!==e)return;let t=this.container;t.animationStatus?t.pause():t.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function eg(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalPause",e=>Promise.resolve(new ef(e)),t)}class ev{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(e){if((0,c.kZJ)(e))return;void 0!==e.default&&(this.default=e.default),void 0!==e.groups&&(this.groups=e.groups.map(e=>e)),this.groups.length||(this.default=!0);let t=e.quantity;void 0!==t&&(this.quantity=(0,c.DT4)(t))}}class em extends c.sJd{constructor(e){super(e),this.handleClickMode=e=>{if("push"!==e)return;let t=this.container,i=t.actualOptions.interactivity.modes.push;if(!i)return;let s=(0,c.VGA)(i.quantity);if(s<=0)return;let a=(0,c.Vh1)([void 0,...i.groups]),n=void 0!==a?t.actualOptions.particles.groups[a]:void 0;t.particles.push(s,t.interactivity.mouse,n,a)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(e,...t){for(let i of(e.push||(e.push=new ev),t))e.push.load(i?.push)}reset(){}}async function ey(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalPush",e=>Promise.resolve(new em(e)),t)}class eb{constructor(){this.quantity=2}load(e){if((0,c.kZJ)(e))return;let t=e.quantity;void 0!==t&&(this.quantity=(0,c.DT4)(t))}}class ew extends c.sJd{constructor(e){super(e),this.handleClickMode=e=>{let t=this.container,i=t.actualOptions;if(!i.interactivity.modes.remove||"remove"!==e)return;let s=(0,c.VGA)(i.interactivity.modes.remove.quantity);t.particles.removeQuantity(s)}}clear(){}init(){}interact(){}isEnabled(){return!0}
1loadModeOptions(e,...t){for(let i of(e.remove||(e.remove=new eb),t))e.remove.load(i?.remove)}reset(){}}async function ex(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalRemove",e=>Promise.resolve(new ew(e)),t)}class e_{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=c.mgy.easeOutQuad}load(e){(0,c.kZJ)(e)||(void 0!==e.distance&&(this.distance=e.distance),void 0!==e.duration&&(this.duration=e.duration),void 0!==e.easing&&(this.easing=e.easing),void 0!==e.factor&&(this.factor=e.factor),void 0!==e.speed&&(this.speed=e.speed),void 0===e.maxSpeed||(this.maxSpeed=e.maxSpeed))}}class ek extends e_{constructor(){super(),this.selectors=[]}load(e){super.load(e),(0,c.kZJ)(e)||void 0===e.selectors||(this.selectors=e.selectors)}}class ez extends e_{load(e){super.load(e),(0,c.kZJ)(e)||(this.divs=(0,c.wJ2)(e.divs,e=>{let t=new ek;return t.load(e),t}))}}let eC="repulse";class eM extends c.sJd{constructor(e,t){super(t),this._clickRepulse=()=>{let e=this.container,t=e.actualOptions.interactivity.modes.repulse;if(!t)return;let i=e.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count!==e.particles.count||(i.finish=!0)),i.clicking){let s=e.retina.repulseModeDistance;if(!s||s<0)return;let a=Math.pow(s/6,3),n=e.interactivity.mouse.clickPosition;if(void 0===n)return;let o=new c.jlt(n.x,n.y,a);for(let s of e.particles.quadTree.query(o,e=>this.isEnabled(e))){let{dx:e,dy:o,distance:r}=(0,c.vrU)(n,s.position),l=r**2,h=-a*t.speed/l;if(l<=a){i.particles.push(s);let t=c.Miz.create(e,o);t.length=h,s.velocity.setTo(t)}}}else if(!1===i.clicking){for(let e of i.particles)e.velocity.setTo(e.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{let e=this.container,t=e.interactivity.mouse.position,i=e.retina.repulseModeDistance;i&&!(i<0)&&t&&this._processRepulse(t,i,new c.jlt(t.x,t.y,i))},this._processRepulse=(e,t,i,s)=>{let a=this.container,n=a.particles.quadTree.query(i,e=>this.isEnabled(e)),o=a.actualOptions.interactivity.modes.repulse;if(!o)return;let{easing:r,speed:l,factor:h,maxSpeed:d}=o,u=this._engine.getEasing(r),p=(s?.speed??l)*h;for(let i of n){let{dx:s,dy:a,distance:n}=(0,c.vrU)(i.position,e),o=(0,c.qE8)(u(1-n/t)*p,0,d),r=c.Miz.create(n?s/n*o:p,n?a/n*o:p);i.position.addTo(r)}},this._singleSelectorRepulse=(e,t)=>{let i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;let a=document.querySelectorAll(e);a.length&&a.forEach(e=>{let a=i.retina.pixelRatio,n={x:(e.offsetLeft+.5*e.offsetWidth)*a,y:(e.offsetTop+.5*e.offsetHeight)*a},o=.5*e.offsetWidth*a,r=t.type===c.Q5V.circle?new c.jlt(n.x,n.y,o):new c.M_G(e.offsetLeft*a,e.offsetTop*a,e.offsetWidth*a,e.offsetHeight*a),l=s.divs,h=(0,c.NVT)(l,e);this._processRepulse(n,o,r,h)})},this._engine=e,t.repulse||(t.repulse={particles:[]}),this.handleClickMode=e=>{let i=this.container.actualOptions.interactivity.modes.repulse;if(!i||e!==eC)return;t.repulse||(t.repulse={particles:[]});let s=t.repulse;for(let e of(s.clicking=!0,s.count=0,t.repulse.particles))this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);s.particles=[],s.finish=!1,setTimeout(()=>{t.destroyed||(s.clicking=!1)},i.duration*c.XuV)}}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity.modes.repulse;t&&(e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}interact(){let e=this.container,t=e.actualOptions,i=e.interactivity.status===c.RbF,s=t.interactivity.events,a=s.onHover,n=a.enable,o=a.mode,r=s.onClick,l=r.enable,h=r.mode,d=s.onDiv;i&&n&&(0,c.hnD)(eC,o)?this._hoverRepulse():l&&(0,c.hnD)(eC,h)?this._clickRepulse():(0,c.U6C)(eC,d,(e,t)=>this._singleSelectorRepulse(e,t))}isEnabled(e){let t=this.container,i=t.actualOptions,s=t.interactivity.mouse,a=(e?.interactivity??i.interactivity).events,n=a.onDiv,o=a.onHover,r=a.onClick,l=(0,c.iKf)(eC,n);if(!(l||o.enable&&s.position||r.enable&&s.clickPosition))return!1;let h=o.mode,d=r.mode;return(0,c.hnD)(eC,h)||(0,c.hnD)(eC,d)||l}loadModeOptions(e,...t){for(let i of(e.repulse||(e.repulse=new ez),t))e.repulse.load(i?.repulse)}reset(){}}async function eP(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalRepulse",t=>Promise.resolve(new eM(e,t)),t)}class eS{constructor(){this.factor=3,this.radius=200}load(e){(0,c.kZJ)(e)||(void 0!==e.factor&&(this.factor=e.factor),void 0===e.radius||(this.radius=e.radius))}}class eO extends c.sJd{constructor(e){super(e)}clear(e,t,i){(!e.slow.inRange||i)&&(e.slow.factor=1)}init(){let e=this.container,t=e.actualOptions.interactivity.modes.slow;t&&(e.retina.slowModeRadius=t.radius*e.retina.pixelRatio)}interact(){}isEnabled(e){let t=this.container,i=t.interactivity.mouse,s=(e?.interactivity??t.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,c.hnD)("slow",s.onHover.mode)}loadModeOptions(e,...t){for(let i of(e.slow||(e.slow=new eS),t))e.slow.load(i?.slow)}reset(e){e.slow.inRange=!1;let t=this.container,i=t.actualOptions,s=t.interactivity.mouse.position,a=t.retina.slowModeRadius,n=i.interactivity.modes.slow;if(!n||!a||a<0||!s)return;let o=e.getPosition(),r=(0,c.YfF)(s,o),l=n.factor,{slow:h}=e;r>a||(h.inRange=!0,h.factor=r/a/l)}}async function eT(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("externalSlow",e=>Promise.resolve(new eO(e)),t)}let eR=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function eE(e){return new Promise(t=>{e.loading=!0;let i=new Image;e.element=i,i.addEventListener("load",()=>{e.loading=!1,t()}),i.addEventListener("error",()=>{e.element=void 0,e.error=!0,e.loading=!1,(0,c.tZQ)().error(`${c.dIx} loading image: ${e.source}`),t()}),i.src=e.source})}async function eD(e){if("svg"!==e.type){await eE(e);return}e.loading=!0;let t=await fetch(e.source);t.ok?e.svgData=await t.text():((0,c.tZQ)().error(`${c.dIx} Image not found`),e.error=!0),e.loading=!1}let eI=[0,4,2,1],eA=[8,8,4,2];class eL{constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>
1e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let i=t;--i>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t);return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let i=0;0!==e;i+=e+1,e=this.data[this.pos+i])t+=e;let i=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let s=e;--s>=0;i[t++]=this.data[this.pos++]);return i}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}!function(e){e[e.Replace=0]="Replace",e[e.Combine=1]="Combine",e[e.RestoreBackground=2]="RestoreBackground",e[e.RestorePrevious=3]="RestorePrevious",e[e.UndefinedA=4]="UndefinedA",e[e.UndefinedB=5]="UndefinedB",e[e.UndefinedC=6]="UndefinedC",e[e.UndefinedD=7]="UndefinedD"}(r||(r={})),function(e){e[e.Extension=33]="Extension",e[e.ApplicationExtension=255]="ApplicationExtension",e[e.GraphicsControlExtension=249]="GraphicsControlExtension",e[e.PlainTextExtension=1]="PlainTextExtension",e[e.CommentExtension=254]="CommentExtension",e[e.Image=44]="Image",e[e.EndOfFile=59]="EndOfFile"}(l||(l={}));let eF={x:0,y:0};function ej(e,t){let i=[];for(let s=0;s<t;s++)i.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return i}async function eB(e,t,i,s,a,n){let o=t.frames[s(!0)];o.left=e.nextTwoBytes(),o.top=e.nextTwoBytes(),o.width=e.nextTwoBytes(),o.height=e.nextTwoBytes();let r=e.nextByte(),l=(128&r)==128;o.sortFlag=(32&r)==32,o.reserved=(24&r)>>>3,l&&(o.localColorTable=ej(e,1<<(7&r)+1));let c=e=>{let{r:s,g:n,b:r}=(l?o.localColorTable:t.globalColorTable)[e];return e!==a(null)?{r:s,g:n,b:r,a:255}:{r:s,g:n,b:r,a:i?~~((s+n+r)/3):0}},h=(()=>{try{return new ImageData(o.width,o.height,{colorSpace:"srgb"})}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==h)throw EvalError("GIF frame size is to large");let d=e.nextByte(),u=e.readSubBlocksBin(),p=1<<d,f=(e,t)=>{let i=e>>>3,s=7&e;return(u[i]+(u[i+1]<<8)+(u[i+2]<<16)&(1<<t)-1<<s)>>>s};if((64&r)==64){for(let i=0,a=d+1,r=0,l=[[0]],u=0;u<4;u++){if(eI[u]<o.height){let e=0,t=0,s=!1;for(;!s;){let n=i;if(i=f(r,a),r+=a+1,i===p){a=d+1,l.length=p+2;for(let e=0;e<l.length;e++)l[e]=e<p?[e]:[]}else{for(let s of(i>=l.length?l.push(l[n].concat(l[n][0])):n!==p&&l.push(l[n].concat(l[i][0])),l[i])){let{r:i,g:a,b:n,a:r}=c(s);h.data.set([i,a,n,r],eI[u]*o.width+eA[u]*t+e%(4*o.width)),e+=4}l.length===1<<a&&a<12&&a++}e===4*o.width*(t+1)&&(t++,eI[u]+eA[u]*t>=o.height&&(s=!0))}}n?.(e.pos/(e.data.length-1),s(!1)+1,h,{x:o.left,y:o.top},{width:t.width,height:t.height})}o.image=h,o.bitmap=await createImageBitmap(h)}else{let i=0,a=d+1,r=0,l=-4,u=!1,g=[[0]];for(;!u;){let e=i;if(i=f(r,a),r+=a,i===p){a=d+1,g.length=p+2;for(let e=0;e<g.length;e++)g[e]=e<p?[e]:[]}else{if(i===p+1){u=!0;break}for(let t of(i>=g.length?g.push(g[e].concat(g[e][0])):e!==p&&g.push(g[e].concat(g[i][0])),g[i])){let{r:e,g:i,b:s,a}=c(t);h.data.set([e,i,s,a],l+=4)}g.length>=1<<a&&a<12&&a++}}o.image=h,o.bitmap=await createImageBitmap(h),n?.((e.pos+1)/e.data.length,s(!1)+1,o.image,{x:o.left,y:o.top},{width:t.width,height:t.height})}}async function eU(e,t,i,s,a,n){switch(e.nextByte()){case l.EndOfFile:return!0;case l.Image:await eB(e,t,i,s,a,n);break;case l.Extension:!function(e,t,i,s){switch(e.nextByte()){case l.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let o=e.nextByte();(1&n)==1&&s(o),e.pos++;break}case l.ApplicationExtension:{e.pos++;let i={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(i);break}case l.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case l.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}}(e,t,s,a);break;default:throw EvalError("undefined block found")}return!1}async function eq(e,t,i){i||(i=!1);let s=await fetch(e);if(!s.ok&&404===s.status)throw EvalError("file not found");let a=await s.arrayBuffer(),n={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,{colorSpace:"srgb"}),comments:[],applicationExtensions:[]},o=new eL(new Uint8ClampedArray(a));if("GIF89a"!==o.getString(6))throw Error("not a supported GIF file");n.width=o.nextTwoBytes(),n.height=o.nextTwoBytes();let l=o.nextByte(),c=(128&l)==128;n.colorRes=(112&l)>>>4,n.sortFlag=(8&l)==8;let h=o.nextByte();n.pixelAspectRatio=o.nextByte(),0!==n.pixelAspectRatio&&(n.pixelAspectRatio=(n.pixelAspectRatio+15)/64),c&&(n.globalColorTable=ej(o,1<<(7&l)+1));let d=(()=>{try{return new ImageData(n.width,n.height,{colorSpace:"srgb"})}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==d)throw Error("GIF frame size is to large");let{r:u,g:p,b:f}=n.globalColorTable[h];d.data.set(c?[u,p,f,255]:[0,0,0,0]);for(let e=4;e<d.data.length;e*=2)d.data.copyWithin(e,0,e);n.backgroundImage=d;let g=-1,v=!0,m=-1,y=e=>(e&&(v=!0),g),b=e=>(null!=e&&(m=e),m);try{do v&&(n.frames.push({left:0,top:0,width:0,height:0,disposalMethod:r.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}
1),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),g++,m=-1,v=!1);while(!await eU(o,n,i,y,b,t));for(let e of(n.frames.length--,n.frames)){if(e.userInputDelayFlag&&0===e.delayTime){n.totalTime=1/0;break}n.totalTime+=e.delayTime}return n}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${g} "${e.message}"`);throw e}}async function eV(e){if("gif"!==e.type){await eE(e);return}e.loading=!0;try{e.gifData=await eq(e.source),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData)??0,e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}class eG{constructor(e){this.validTypes=["image","images"],this.loadImageShape=async e=>{if(!this._engine.loadImage)throw Error(`${c.dIx} image shape not initialized`);await this._engine.loadImage({gif:e.gif,name:e.name,replaceColor:e.replaceColor??!1,src:e.src})},this._engine=e}addImage(e){this._engine.images||(this._engine.images=[]),this._engine.images.push(e)}draw(e){let{context:t,radius:i,particle:s,opacity:a}=e,n=s.image,o=n?.element;if(n){if(t.globalAlpha=a,n.gif&&n.gifData)!function(e){let{context:t,radius:i,particle:s,delta:a}=e,n=s.image;if(!n?.gifData||!n.gif)return;let o=new OffscreenCanvas(n.gifData.width,n.gifData.height),l=o.getContext("2d");if(!l)throw Error("could not create offscreen canvas context");l.imageSmoothingQuality="low",l.imageSmoothingEnabled=!1,l.clearRect(eF.x,eF.y,o.width,o.height),void 0===s.gifLoopCount&&(s.gifLoopCount=n.gifLoopCount??0);let c=s.gifFrame??0,h={x:-(.5*n.gifData.width),y:-(.5*n.gifData.height)},d=n.gifData.frames[c];if(void 0===s.gifTime&&(s.gifTime=0),d.bitmap){switch(t.scale(i/n.gifData.width,i/n.gifData.height),d.disposalMethod){case r.UndefinedA:case r.UndefinedB:case r.UndefinedC:case r.UndefinedD:case r.Replace:l.drawImage(d.bitmap,d.left,d.top),t.drawImage(o,h.x,h.y),l.clearRect(eF.x,eF.y,o.width,o.height);break;case r.Combine:l.drawImage(d.bitmap,d.left,d.top),t.drawImage(o,h.x,h.y);break;
1case r.RestoreBackground:l.drawImage(d.bitmap,d.left,d.top),t.drawImage(o,h.x,h.y),l.clearRect(eF.x,eF.y,o.width,o.height),n.gifData.globalColorTable.length?l.putImageData(n.gifData.backgroundImage,h.x,h.y):l.putImageData(n.gifData.frames[0].image,h.x+d.left,h.y+d.top);break;case r.RestorePrevious:{let e=l.getImageData(eF.x,eF.y,o.width,o.height);l.drawImage(d.bitmap,d.left,d.top),t.drawImage(o,h.x,h.y),l.clearRect(eF.x,eF.y,o.width,o.height),l.putImageData(e,eF.x,eF.y)}}if(s.gifTime+=a.value,s.gifTime>d.delayTime){if(s.gifTime-=d.delayTime,++c>=n.gifData.frames.length){if(--s.gifLoopCount<=0)return;c=0,l.clearRect(eF.x,eF.y,o.width,o.height)}s.gifFrame=c}t.scale(n.gifData.width/i,n.gifData.height/i)}}(e);else if(o){let e=n.ratio,s={x:-i,y:-i},a=2*i;t.drawImage(o,s.x,s.y,a,a/e)}t.globalAlpha=1}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(t.preload&&this._engine.loadImage)for(let e of t.preload)await this._engine.loadImage(e)}loadShape(e){if("image"!==e.shape&&"images"!==e.shape)return;this._engine.images||(this._engine.images=[]);let t=e.shapeData;t&&(this._engine.images.find(e=>e.name===t.name||e.source===t.src)||this.loadImageShape(t).then(()=>{this.loadShape(e)}))}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images||(this._engine.images=[]);let i=this._engine.images,s=t.shapeData;if(!s)return;let a=t.getFillColor(),n=i.find(e=>e.name===s.name||e.source===s.src);if(!n)return;let o=s.replaceColor??n.replaceColor;if(n.loading){setTimeout(()=>{this.particleInit(e,t)});return}(async()=>{let e;(e=n.svgData&&a?await function(e,t,i,s){let a=function(e,t,i){let{svgData:s}=e;if(!s)return"";let a=(0,c.LCf)(t,i);if(s.includes("fill"))return s.replace(eR,()=>a);let n=s.indexOf(">");return`${s.substring(0,n)} fill="${a}"${s.substring(n)}`}(e,i,s.opacity?.value??1),n={color:i,gif:t.gif,data:{...e,svgData:a},loaded:!1,ratio:t.width/t.height,replaceColor:t.replaceColor,source:t.src};return new Promise(t=>{let i=new Blob([a],{type:"image/svg+xml"}),s=URL||window.URL||window.webkitURL||window,o=s.createObjectURL(i),r=new Image;r.addEventListener("load",()=>{n.loaded=!0,n.element=r,t(n),s.revokeObjectURL(o)});let l=async()=>{s.revokeObjectURL(o);let i={...e,error:!1,loading:!0};await eE(i),n.loaded=!0,n.element=i.element,t(n)};r.addEventListener("error",()=>void l()),r.src=o})}(n,s,a,t):{color:a,data:n,element:n.element,gif:n.gif,gifData:n.gifData,gifLoopCount:n.gifLoopCount,loaded:!0,ratio:s.width&&s.height?s.width/s.height:n.ratio??1,replaceColor:o,source:s.src}).ratio||(e.ratio=1);let i=s.fill??t.shapeFill,r=s.close??t.shapeClose;t.image=e,t.shapeFill=i,t.shapeClose=r})()}}class eJ{constructor(){this.src="",this.gif=!1}load(e){(0,c.kZJ)(e)||(void 0!==e.gif&&(this.gif=e.gif),void 0!==e.height&&(this.height=e.height),void 0!==e.name&&(this.name=e.name),void 0!==e.replaceColor&&(this.replaceColor=e.replaceColor),void 0!==e.src&&(this.src=e.src),void 0===e.width||(this.width=e.width))}}class eH{constructor(e){this.id="imagePreloader",this._engine=e}async getPlugin(){return await Promise.resolve(),{}}loadOptions(e,t){if(!t?.preload)return;e.preload||(e.preload=[]);let i=e.preload;for(let e of t.preload){let t=i.find(t=>t.name===e.name||t.src===e.src);if(t)t.load(e);else{let t=new eJ;t.load(e),i.push(t)}}}needsPlugin(){return!0}}async function eW(e,t=!0){(0,c.Jei)(e,"3.7.1"),e.loadImage||(e.loadImage=async t=>{if(!t.name&&!t.src)throw Error(`${c.dIx} no image source provided`);if(e.images||(e.images=[]),!e.images.find(e=>e.name===t.name||e.source===t.src))try{let i;let s={gif:t.gif??!1,name:t.name??t.src,source:t.src,type:t.src.substring(t.src.length-3),error:!1,loading:!0,replaceColor:t.replaceColor,ratio:t.width&&t.height?t.width/t.height:void 0};e.images.push(s),i=t.gif?eV:t.replaceColor?eD:eE,await i(s)}catch{throw Error(`${c.dIx} ${t.name??t.src} not found`)}});let i=new eH(e);await e.addPlugin(i,t),await e.addShape(new eG(e),t)}class eY extends c.PVU{constructor(){super(),this.sync=!1}load(e){(0,c.kZJ)(e)||(super.load(e),void 0===e.sync||(this.sync=e.sync))}}class e$ extends c.PVU{constructor(){super(),this.sync=!1}load(e){(0,c.kZJ)(e)||(super.load(e),void 0===e.sync||(this.sync=e.sync))}}class eN{constructor(){this.count=0,this.delay=new eY,this.duration=new e$}load(e){(0,c.kZJ)(e)||(void 0!==e.count&&(this.count=e.count),this.delay.load(e.delay),this.duration.load(e.duration))}}class eZ{constructor(e){this.container=e}init(e){let t=this.container,i=e.options.life;i&&(e.life={delay:t.retina.reduceFactor?(0,c.VGA)(i.delay.value)*(i.delay.sync?1:(0,c.G0i)())/t.retina.reduceFactor*c.XuV:0,delayTime:0,duration:t.retina.reduceFactor?(0,c.VGA)(i.duration.value)*(i.duration.sync?1:(0,c.G0i)())/t.retina.reduceFactor*c.XuV:0,time:0,count:i.count},e.life.duration<=0&&(e.life.duration=-1),e.life.count<=0&&(e.life.count=-1),e.life&&(e.spawning=e.life.delay>0))}isEnabled(e){return!e.destroyed}loadOptions(e,...t){for(let i of(e.life||(e.life=new eN),t))e.life.load(i?.life)}update(e,t){this.isEnabled(e)&&e.life&&function(e,t,i){if(!e.life)return;let s=e.life,a=!1;if(e.spawning){if(s.delayTime+=t.value,!(s.delayTime>=e.life.delay))return;a=!0,e.spawning=!1,s.delayTime=0,s.time=0}if(-1===s.duration||e.spawning||(a?s.time=0:s.time+=t.value,s.time<s.duration))return;if(s.time=0,e.life.count>0&&e.life.count--,0===e.life.count){e.destroy();return}let n=(0,c.DT4)(0,i.width),o=(0,c.DT4)(0,i.width);e.position.x=(0,c.U43)(n),e.position.y=(0,c.U43)(o),e.spawning=!0,s.delayTime=0,s.time=0,e.reset();let r=e.options.life;r&&(s.delay=(0,c.VGA)(r.delay.value)*c.XuV,s.duration=(0,c.VGA)(r.duration.value)*c.XuV)}(e,t,this.container.canvas.size)}}async function eX(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("life",async e=>Promise.resolve(new eZ(e)),t)}class eQ{constructor(){this.validTypes=["line"]}
1draw(e){!function(e){let{context:t,particle:i,radius:s}=e,a=i.shapeData;t.moveTo(-s,0),t.lineTo(s,0),t.lineCap=a?.cap??"butt"}(e)}getSidesCount(){return 1}}async function eK(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new eQ,t)}class e0{init(){}isEnabled(e){return!(0,c.B90)()&&!e.destroyed&&e.container.actualOptions.interactivity.events.onHover.parallax.enable}move(e){let t=e.container,i=t.actualOptions.interactivity.events.onHover.parallax;if((0,c.B90)()||!i.enable)return;let s=i.force,a=t.interactivity.mouse.position;if(!a)return;let n=t.canvas.size,o={x:.5*n.width,y:.5*n.height},r=i.smooth,l=e.getRadius()/s,h={x:(a.x-o.x)*l,y:(a.y-o.y)*l},{offset:d}=e;d.x+=(h.x-d.x)/r,d.y+=(h.y-d.y)/r}}async function e1(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addMover("parallax",()=>Promise.resolve(new e0),t)}class e5 extends c.U4p{constructor(e){super(e)}clear(){}init(){}interact(e){let t=this.container;void 0===e.attractDistance&&(e.attractDistance=(0,c.VGA)(e.options.move.attract.distance)*t.retina.pixelRatio);let i=e.attractDistance,s=e.getPosition();for(let a of t.particles.quadTree.queryCircle(s,i)){if(e===a||!a.options.move.attract.enable||a.destroyed||a.spawning)continue;let t=a.getPosition(),{dx:i,dy:n}=(0,c.vrU)(s,t),o=e.options.move.attract.rotate,r=i/(1e3*o.x),l=n/(1e3*o.y),h=a.size.value/e.size.value,d=1/h;e.velocity.x-=r*h,e.velocity.y-=l*h,a.velocity.x+=r*d,a.velocity.y+=l*d}}isEnabled(e){return e.options.move.attract.enable}reset(){}}async function e2(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("particlesAttract",e=>Promise.resolve(new e5(e)),t)}function e3(e,t,i,s,a,n){let o=(0,c.qE8)(e.options.collisions.absorb.speed*a.factor/10,0,s);e.size.value+=.5*o,i.size.value-=o,s<=n&&(i.size.value=0,i.destroy())}let e6=e=>{void 0===e.collisionMaxSpeed&&(e.collisionMaxSpeed=(0,c.VGA)(e.options.collisions.maxSpeed)),e.velocity.length>e.collisionMaxSpeed&&(e.velocity.length=e.collisionMaxSpeed)};function e4(e,t){(0,c.pEn)((0,c.Tgl)(e),(0,c.Tgl)(t)),e6(e),e6(t)}class e7 extends c.U4p{constructor(e){super(e)}clear(){}init(){}interact(e,t){if(e.destroyed||e.spawning)return;let i=this.container,s=e.getPosition(),a=e.getRadius();for(let n of i.particles.quadTree.queryCircle(s,2*a)){if(e===n||!n.options.collisions.enable||e.options.collisions.mode!==n.options.collisions.mode||n.destroyed||n.spawning)continue;let o=n.getPosition(),r=n.getRadius();!(Math.abs(Math.round(s.z)-Math.round(o.z))>a+r)&&((0,c.YfF)(s,o)>a+r||function(e,t,i,s){switch(e.options.collisions.mode){case c._or.absorb:!function(e,t,i,s){let a=e.getRadius(),n=t.getRadius();void 0===a&&void 0!==n?e.destroy():void 0!==a&&void 0===n?t.destroy():void 0!==a&&void 0!==n&&(a>=n?e3(e,a,t,n,i,s):e3(t,n,e,a,i,s))}(e,t,i,s);break;case c._or.bounce:e4(e,t);break;case c._or.destroy:e.unbreakable||t.unbreakable||e4(e,t),void 0===e.getRadius()&&void 0!==t.getRadius()?e.destroy():void 0!==e.getRadius()&&void 0===t.getRadius()?t.destroy():void 0!==e.getRadius()&&void 0!==t.getRadius()&&(e.getRadius()>=t.getRadius()?t:e).destroy()}}(e,n,t,i.retina.pixelRatio))}}isEnabled(e){return e.options.collisions.enable}reset(){}}async function e8(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addInteractor("particlesCollisions",e=>Promise.resolve(new e7(e)),t)}class e9 extends c.jlt{constructor(e,t,i,s){super(e,t,i),this.canvasSize=s,this.canvasSize={...s}}contains(e){let{width:t,height:i}=this.canvasSize,{x:s,y:a}=e;return super.contains(e)||super.contains({x:s-t,y:a})||super.contains({x:s-t,y:a-i}
1)||super.contains({x:s,y:a-i})}intersects(e){if(super.intersects(e))return!0;let t={x:e.position.x-this.canvasSize.width,y:e.position.y-this.canvasSize.height};if(void 0!==e.radius){let i=new c.jlt(t.x,t.y,2*e.radius);return super.intersects(i)}if(void 0!==e.size){let i=new c.M_G(t.x,t.y,2*e.size.width,2*e.size.height);return super.intersects(i)}return!1}}class te{constructor(){this.blur=5,this.color=new c.Oit,this.color.value="#000",this.enable=!1}load(e){(0,c.kZJ)(e)||(void 0!==e.blur&&(this.blur=e.blur),this.color=c.Oit.create(this.color,e.color),void 0===e.enable||(this.enable=e.enable))}}class tt{constructor(){this.enable=!1,this.frequency=1}load(e){(0,c.kZJ)(e)||(void 0!==e.color&&(this.color=c.Oit.create(this.color,e.color)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.frequency&&(this.frequency=e.frequency),void 0===e.opacity||(this.opacity=e.opacity))}}class ti{constructor(){this.blink=!1,this.color=new c.Oit,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new te,this.triangles=new tt,this.width=1,this.warp=!1}load(e){(0,c.kZJ)(e)||(void 0!==e.id&&(this.id=e.id),void 0!==e.blink&&(this.blink=e.blink),this.color=c.Oit.create(this.color,e.color),void 0!==e.consent&&(this.consent=e.consent),void 0!==e.distance&&(this.distance=e.distance),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.frequency&&(this.frequency=e.frequency),void 0!==e.opacity&&(this.opacity=e.opacity),this.shadow.load(e.shadow),this.triangles.load(e.triangles),void 0!==e.width&&(this.width=e.width),void 0===e.warp||(this.warp=e.warp))}}let ts={x:0,y:0};class ta extends c.U4p{constructor(e,t){super(e),this._setColor=e=>{if(!e.options.links)return;let t=this._linkContainer,i=e.options.links,s=void 0===i.id?t.particles.linksColor:t.particles.linksColors.get(i.id);if(s)return;let a=i.color;s=(0,c.PGG)(this._engine,a,i.blink,i.consent),void 0===i.id?t.particles.linksColor=s:t.particles.linksColors.set(i.id,s)},this._linkContainer=e,this._engine=t}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(e){let t;if(!e.options.links)return;e.links=[];let i=e.getPosition(),s=this.container,a=s.canvas.size;if(i.x<ts.x||i.y<ts.y||i.x>a.width||i.y>a.height)return;let n=e.options.links,o=n.opacity,r=e.retina.linksDistance??0,l=n.warp;for(let h of(t=l?new e9(i.x,i.y,r,a):new c.jlt(i.x,i.y,r),s.particles.quadTree.query(t))){let t=h.options.links;if(e===h||!t?.enable||n.id!==t.id||h.spawning||h.destroyed||!h.links||e.links.some(e=>e.destination===h)||h.links.some(t=>t.destination===e))continue;let s=h.getPosition();if(s.x<ts.x||s.y<ts.y||s.x>a.width||s.y>a.height)continue;let d=function(e,t,i,s,a){let{dx:n,dy:o,distance:r}=(0,c.vrU)(e,t);if(!a||r<=i)return r;let l={x:Math.abs(n),y:Math.abs(o)},h={x:Math.min(l.x,s.width-l.x),y:Math.min(l.y,s.height-l.y)};return Math.sqrt(h.x**2+h.y**2)}(i,s,r,a,l&&t.warp);if(d>r)continue;let u=(1-d/r)*o;this._setColor(e),e.links.push({destination:h,opacity:u})}}isEnabled(e){return!!e.options.links?.enable}loadParticlesOptions(e,...t){for(let i of(e.links||(e.links=new ti),t))e.links.load(i?.links)}reset(){}}async function tn(e,t=!0){await e.addInteractor("particlesLinks",async t=>Promise.resolve(new ta(t,e)),t)}function to(e,t){var i;let s=((i=e.map(e=>e.id)).sort((e,t)=>e-t),i.join("_")),a=t.get(s);return void 0===a&&(a=(0,c.G0i)(),t.set(s,a)),a}class tr{constructor(e,t){this._drawLinkLine=(e,t)=>{let i=e.options.links;if(!i?.enable)return;let s=this._container,a=s.actualOptions,n=t.destination,o=e.getPosition(),r=n.getPosition(),l=t.opacity;s.canvas.draw(t=>{let h;let d=e.options.twinkle?.lines;if(d?.enable){let e=d.frequency,t=(0,c.BN0)(this._engine,d.color);(0,c.G0i)()<e&&t&&(h=t,l=(0,c.VGA)(d.opacity))}if(!h){let t=void 0!==i.id?s.particles.linksColors.get(i.id):s.particles.linksColor;h=(0,c._hh)(e,n,t)}if(!h)return;let u=e.retina.linksWidth??0,p=e.retina.linksDistance??0,{backgroundMask:f}=a;!function(e){let t=!1,{begin:i,end:s,engine:a,maxDistance:n,context:o,canvasSize:r,width:l,backgroundMask:h,colorLine:d,opacity:u,links:p}=e;if((0,c.YfF)(i,s)<=n)(0,c.V6E)(o,i,s),t=!0;else if(p.warp){let e,a;let l={x:s.x-r.width,y:s.y},h=(0,c.vrU)(i,l);if(h.distance<=n){let t=i.y-h.dy/h.dx*i.x;e={x:0,y:t},a={x:r.width,y:t}}else{let t={x:s.x,y:s.y-r.height},o=(0,c.vrU)(i,t);if(o.distance<=n){let t=-(i.y-o.dy/o.dx*i.x)/(o.dy/o.dx);e={x:t,y:0},a={x:t,y:r.height}}else{let t={x:s.x-r.width,y:s.y-r.height},o=(0,c.vrU)(i,t);if(o.distance<=n){let t=i.y-o.dy/o.dx*i.x;a={x:(e={x:-t/(o.dy/o.dx),y:t}).x+r.width,y:e.y+r.height}}}}e&&a&&((0,c.V6E)(o,i,e),(0,c.V6E)(o,s,a),t=!0)}if(!t)return;o.lineWidth=l,h.enable&&(o.globalCompositeOperation=h.composite),o.strokeStyle=(0,c.xxz)(d,u);let{shadow:f}=p;if(f.enable){let e=(0,c.BN0)(a,f.color);e&&(o.shadowBlur=f.blur,o.shadowColor=(0,c.xxz)(e))}o.stroke()}({context:t,width:u,begin:o,end:r,engine:this._engine,maxDistance:p,canvasSize:s.canvas.size,links:i,backgroundMask:f,colorLine:h,opacity:l})})},this._drawLinkTriangle=(e,t,i)=>{let s=e.options.links;
1if(!s?.enable)return;let a=s.triangles;if(!a.enable)return;let n=this._container,o=n.actualOptions,r=t.destination,l=i.destination,h=a.opacity??(t.opacity+i.opacity)*.5;h<=0||n.canvas.draw(t=>{let i=e.getPosition(),d=r.getPosition(),u=l.getPosition(),p=e.retina.linksDistance??0;if((0,c.YfF)(i,d)>p||(0,c.YfF)(u,d)>p||(0,c.YfF)(u,i)>p)return;let f=(0,c.BN0)(this._engine,a.color);if(!f){let t=void 0!==s.id?n.particles.linksColors.get(s.id):n.particles.linksColor;f=(0,c._hh)(e,r,t)}f&&function(e){let{context:t,pos1:i,pos2:s,pos3:a,backgroundMask:n,colorTriangle:o,opacityTriangle:r}=e;t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(s.x,s.y),t.lineTo(a.x,a.y),t.closePath(),n.enable&&(t.globalCompositeOperation=n.composite),t.fillStyle=(0,c.xxz)(o,r),t.fill()}({context:t,pos1:i,pos2:d,pos3:u,backgroundMask:o.backgroundMask,colorTriangle:f,opacityTriangle:h})})},this._drawTriangles=(e,t,i,s)=>{let a=i.destination;if(!(e.links?.triangles.enable&&a.options.links?.triangles.enable))return;let n=a.links?.filter(e=>{let t=this._getLinkFrequency(a,e.destination);return a.options.links&&t<=a.options.links.frequency&&s.findIndex(t=>t.destination===e.destination)>=0});if(n?.length)for(let s of n){let n=s.destination;this._getTriangleFrequency(t,a,n)>e.links.triangles.frequency||this._drawLinkTriangle(t,i,s)}},this._getLinkFrequency=(e,t)=>to([e,t],this._freqs.links),this._getTriangleFrequency=(e,t,i)=>to([e,t,i],this._freqs.triangles),this._container=e,this._engine=t,this._freqs={links:new Map,triangles:new Map}}drawParticle(e,t){let{links:i,options:s}=t;if(!i?.length)return;let a=i.filter(e=>s.links&&(s.links.frequency>=1||this._getLinkFrequency(t,e.destination)<=s.links.frequency));for(let e of a)this._drawTriangles(s,t,e,a),e.opacity>0&&(t.retina.linksWidth??0)>0&&this._drawLinkLine(t,e)}
1async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(e){if(e.links=[],!e.options.links)return;let t=this._container.retina.pixelRatio,{retina:i}=e,{distance:s,width:a}=e.options.links;i.linksDistance=s*t,i.linksWidth=a*t}particleDestroyed(e){e.links=[]}}class tl{constructor(e){this.id="links",this._engine=e}getPlugin(e){return Promise.resolve(new tr(e,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function tc(e,t=!0){let i=new tl(e);await e.addPlugin(i,t)}async function th(e,t=!0){(0,c.Jei)(e,"3.7.1"),await tn(e,t),await tc(e,t)}let td={x:0,y:0};class tu{draw(e){let{particle:t,radius:i}=e;!function(e,t,i){let{context:s}=e,a=i.count.numerator*i.count.denominator,n=i.count.numerator/i.count.denominator,o=Math.PI-(0,c.puj)(180*(n-2)/n);if(s){s.beginPath(),s.translate(t.x,t.y),s.moveTo(td.x,td.y);for(let e=0;e<a;e++)s.lineTo(i.length,td.y),s.translate(i.length,td.y),s.rotate(o)}}(e,this.getCenter(t,i),this.getSidesData(t,i))}getSidesCount(e){let t=e.shapeData;return Math.round((0,c.VGA)(t?.sides??5))}}class tp extends tu{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(e,t){return{x:-t/(e.sides/3.5),y:-t/.76}}getSidesData(e,t){let i=e.sides;return{count:{denominator:1,numerator:i},length:2.66*t/(i/3)}}}class tf extends tu{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(e,t){return{x:-t,y:t/1.66}}getSidesCount(){return 3}getSidesData(e,t){return{count:{denominator:2,numerator:3},length:2*t}}}async function tg(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new tp,t)}async function tv(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new tf,t)}async function tm(e,t=!0){(0,c.Jei)(e,"3.7.1"),await tg(e,t),await tv(e,t)}class ty{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(e){(0,c.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,c.DT4)(e.speed)),void 0!==e.decay&&(this.decay=(0,c.DT4)(e.decay)),void 0===e.sync||(this.sync=e.sync))}}class tb extends c.PVU{constructor(){super(),this.animation=new ty,this.direction=c.pTR.clockwise,this.path=!1,this.value=0}load(e){(0,c.kZJ)(e)||(super.load(e),void 0!==e.direction&&(this.direction=e.direction),this.animation.load(e.animation),void 0===e.path||(this.path=e.path))}}let tw=2*Math.PI;class tx{constructor(e){this.container=e}init(e){let t=e.options.rotate;if(!t)return;e.rotate={enable:t.animation.enable,value:(0,c.puj)((0,c.VGA)(t.value)),min:0,max:tw},e.pathRotation=t.path;let i=t.direction;switch(i===c.pTR.random&&(i=Math.floor(2*(0,c.G0i)())>0?c.pTR.counterClockwise:c.pTR.clockwise),i){case c.pTR.counterClockwise:case"counterClockwise":e.rotate.status=c.H_P.decreasing;break;case c.pTR.clockwise:e.rotate.status=c.H_P.increasing}let s=t.animation;s.enable&&(e.rotate.decay=1-(0,c.VGA)(s.decay),e.rotate.velocity=(0,c.VGA)(s.speed)/360*this.container.retina.reduceFactor,s.sync||(e.rotate.velocity*=(0,c.G0i)())),e.rotation=e.rotate.value}isEnabled(e){let t=e.options.rotate;return!!t&&!e.destroyed&&!e.spawning&&(!!t.value||t.animation.enable||t.path)}loadOptions(e,...t){for(let i of(e.rotate||(e.rotate=new tb),t))e.rotate.load(i?.rotate)}update(e,t){this.isEnabled(e)&&(e.isRotating=!!e.rotate,e.rotate&&((0,c.UC0)(e,e.rotate,!1,c.VKE.none,t),e.rotation=e.rotate.value))}}async function t_(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("rotate",e=>Promise.resolve(new tx(e)),t)}let tk=Math.sqrt(2);class tz{constructor(){this.validTypes=["edge","square"]}draw(e){!function(e){let{context:t,radius:i}=e,s=i/tk,a=2*s;t.rect(-s,-s,a,a)}(e)}getSidesCount(){return 4}}async function tC(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new tz,t)}let tM={x:0,y:0};class tP{constructor(){this.validTypes=["star"]}draw(e){!function(e){let{context:t,particle:i,radius:s}=e,a=i.sides,n=i.starInset??2;t.moveTo(tM.x,tM.y-s);for(let e=0;e<a;e++)t.rotate(Math.PI/a),t.lineTo(tM.x,tM.y-s*n),t.rotate(Math.PI/a),t.lineTo(tM.x,tM.y-s)}(e)}getSidesCount(e){let t=e.shapeData;return Math.round((0,c.VGA)(t?.sides??5))}particleInit(e,t){let i=t.shapeData;t.starInset=(0,c.VGA)(i?.inset??2)}}async function tS(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addShape(new tP,t)}class tO{constructor(e,t){this._container=e,this._engine=t}init(e){let t=this._container,i=e.options,s=(0,c.TA3)(i.stroke,e.id,i.reduceDuplicates);e.strokeWidth=(0,c.VGA)(s.width)*t.retina.pixelRatio,e.strokeOpacity=(0,c.VGA)(s.opacity??1),e.strokeAnimation=s.color?.animation;let a=(0,c.R5R)(this._engine,s.color)??e.getFillColor();a&&(e.strokeColor=(0,c.pzy)(a,e.strokeAnimation,t.retina.reduceFactor))}isEnabled(e){let t=e.strokeAnimation,{strokeColor:i}=e;return!e.destroyed&&!e.spawning&&!!t&&(i?.h.value!==void 0&&i.h.enable||i?.s.value!==void 0&&i.s.enable||i?.l.value!==void 0&&i.l.enable)}update(e,t){this.isEnabled(e)&&(0,c.JvX)(e.strokeColor,t)}}async function tT(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e.addParticleUpdater("strokeColor",t=>Promise.resolve(new tO(t,e)),t)}
1async function tR(e,t=!0){(0,c.Jei)(e,"3.7.1"),await e1(e,!1),await W(e,!1),await Q(e,!1),await en(e,!1),await ec(e,!1),await ep(e,!1),await eg(e,!1),await ey(e,!1),await ex(e,!1),await eP(e,!1),await eT(e,!1),await e2(e,!1),await e8(e,!1),await th(e,!1),await j(e,!1),await q(e,!1),await eW(e,!1),await eK(e,!1),await tm(e,!1),await tC(e,!1),await tS(e,!1),await eX(e,!1),await t_(e,!1),await tT(e,!1),await F(e,t)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.