tsparticles 1.41.2 → 1.41.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/Updaters/Opacity/OpacityUpdater.js +7 -5
  2. package/Updaters/Size/SizeUpdater.js +7 -5
  3. package/browser/Updaters/Opacity/OpacityUpdater.js +7 -5
  4. package/browser/Updaters/Size/SizeUpdater.js +7 -5
  5. package/esm/Updaters/Opacity/OpacityUpdater.js +7 -5
  6. package/esm/Updaters/Size/SizeUpdater.js +7 -5
  7. package/package.json +1 -1
  8. package/report.html +2 -2
  9. package/report.slim.html +2 -2
  10. package/tsparticles.engine.min.js +1 -1
  11. package/tsparticles.interaction.external.attract.min.js +1 -1
  12. package/tsparticles.interaction.external.bounce.min.js +1 -1
  13. package/tsparticles.interaction.external.bubble.min.js +1 -1
  14. package/tsparticles.interaction.external.connect.min.js +1 -1
  15. package/tsparticles.interaction.external.grab.min.js +1 -1
  16. package/tsparticles.interaction.external.repulse.min.js +1 -1
  17. package/tsparticles.interaction.external.trail.min.js +1 -1
  18. package/tsparticles.interaction.particles.attract.min.js +1 -1
  19. package/tsparticles.interaction.particles.collisions.min.js +1 -1
  20. package/tsparticles.interaction.particles.links.min.js +1 -1
  21. package/tsparticles.js +7 -6
  22. package/tsparticles.min.js +2 -2
  23. package/tsparticles.pathseg.min.js +1 -1
  24. package/tsparticles.plugins.absorbers.min.js +1 -1
  25. package/tsparticles.plugins.emitters.min.js +1 -1
  26. package/tsparticles.plugins.polygonMask.min.js +1 -1
  27. package/tsparticles.shape.circle.min.js +1 -1
  28. package/tsparticles.shape.image.min.js +1 -1
  29. package/tsparticles.shape.line.min.js +1 -1
  30. package/tsparticles.shape.polygon.min.js +1 -1
  31. package/tsparticles.shape.square.min.js +1 -1
  32. package/tsparticles.shape.star.min.js +1 -1
  33. package/tsparticles.shape.text.min.js +1 -1
  34. package/tsparticles.slim.js +7 -6
  35. package/tsparticles.slim.min.js +2 -2
  36. package/tsparticles.updater.angle.min.js +1 -1
  37. package/tsparticles.updater.color.min.js +1 -1
  38. package/tsparticles.updater.life.min.js +1 -1
  39. package/tsparticles.updater.opacity.js +3 -3
  40. package/tsparticles.updater.opacity.min.js +2 -2
  41. package/tsparticles.updater.outModes.min.js +1 -1
  42. package/tsparticles.updater.roll.min.js +1 -1
  43. package/tsparticles.updater.size.js +4 -3
  44. package/tsparticles.updater.size.min.js +2 -2
  45. package/tsparticles.updater.strokeColor.min.js +1 -1
  46. package/tsparticles.updater.tilt.min.js +1 -1
  47. package/tsparticles.updater.wobble.min.js +1 -1
  48. package/umd/Updaters/Opacity/OpacityUpdater.js +7 -5
  49. package/umd/Updaters/Size/SizeUpdater.js +7 -5
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var s in i)("object"==typeof exports?exports:t)[s]=i[s]}}(window,(function(){return function(){"use strict";var t={d:function(e,i){for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t,e,i){return Math.min(Math.max(t,e),i)}function s(t,e,i,s){return Math.floor((t*i+e*s)/(i+s))}function o(t){const e=r(t);let i=a(t);return e===i&&(i=0),Math.random()*(e-i)+i}function n(t){return"number"==typeof t?t:o(t)}function a(t){return"number"==typeof t?t:t.min}function r(t){return"number"==typeof t?t:t.max}function l(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const i=a(t),s=r(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(s,e)}:l(i,s)}function c(t){const e=t.random,{enable:i,minimumValue:s}="boolean"==typeof e?{enable:e,minimumValue:0}:e;return n(i?l(t.value,s):t.value)}function h(t,e){const i=t.x-e.x,s=t.y-e.y;return{dx:i,dy:s,distance:Math.sqrt(i*i+s*s)}}function d(t,e){return h(t,e).distance}function u(t){if("number"==typeof t)return t*Math.PI/180;switch(t){case"top":return-Math.PI/2;case"top-right":return-Math.PI/4;case"right":return 0;case"bottom-right":return Math.PI/4;case"bottom":return Math.PI/2;case"bottom-left":return 3*Math.PI/4;case"left":return Math.PI;case"top-left":return-3*Math.PI/4;case"none":default:return Math.random()*Math.PI*2}}function v(t){const e=Gt.origin;return e.length=1,e.angle=t,e}function p(t,e,i,s){return Gt.create(t.x*(i-s)/(i+s)+2*e.x*s/(i+s),t.y)}function f(t,e){switch(e){case"ease-out-quad":return 1-(1-t)**2;case"ease-out-cubic":return 1-(1-t)**3;case"ease-out-quart":return 1-(1-t)**4;case"ease-out-quint":return 1-(1-t)**5;case"ease-out-expo":return 1===t?1:1-Math.pow(2,-10*t);case"ease-out-sine":return Math.sin(t*Math.PI/2);case"ease-out-back":{const e=1.70158;return 1+(e+1)*Math.pow(t-1,3)+e*Math.pow(t-1,2)}case"ease-out-circ":return Math.sqrt(1-Math.pow(t-1,2));default:return t}}function m(t,e,i,s,o,n){const a={bounced:!1};return e.min>=s.min&&e.min<=s.max&&e.max>=s.min&&e.max<=s.max&&(t.max>=i.min&&t.max<=(i.max+i.min)/2&&o>0||t.min<=i.max&&t.min>(i.max+i.min)/2&&o<0)&&(a.velocity=o*-n,a.bounced=!0),a}function y(t,e){if(e instanceof Array){for(const i of e)if(t.matches(i))return!0;return!1}return t.matches(e)}function g(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function w(){return g()?t=>setTimeout(t):t=>(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.setTimeout)(t)}function b(){return g()?t=>clearTimeout(t):t=>(window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.clearTimeout)(t)}function x(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}async function k(t){var e,i;try{await document.fonts.load(`${null!==(e=t.weight)&&void 0!==e?e:"400"} 36px '${null!==(i=t.font)&&void 0!==i?i:"Verdana"}'`)}catch(t){}}function M(t){return Math.floor(Math.random()*t.length)}function z(t,e,i=!0){return t[void 0!==e&&i?e%t.length:M(t)]}function P(t,e,i,s){return C(T(t,null!=i?i:0),e,s)}function C(t,e,i){let s=!0;return i&&"bottom"!==i||(s=t.top<e.height),!s||i&&"left"!==i||(s=t.right>0),!s||i&&"right"!==i||(s=t.left<e.width),!s||i&&"top"!==i||(s=t.bottom>0),s}function T(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function S(t,...e){for(const i of e){if(null==i)continue;if("object"!=typeof i){t=i;continue}const e=Array.isArray(i);!e||"object"==typeof t&&t&&Array.isArray(t)?e||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in i){if("__proto__"===e)continue;const s=i[e],o="object"==typeof s,n=t;n[e]=o&&Array.isArray(s)?s.map((t=>S(n[e],t))):S(n[e],s)}}return t}function O(t,e){return e instanceof Array?!!e.find((e=>e.enable&&x(t,e.mode))):x(t,e.mode)}function I(t,e,i){if(e instanceof Array)for(const s of e){const e=s.mode;s.enable&&x(t,e)&&E(s,i)}else{const s=e.mode;e.enable&&x(t,s)&&E(e,i)}}function E(t,e){const i=t.selectors;if(i instanceof Array)for(const s of i)e(s,t);else e(i,t)}function R(t,e){if(e&&t)return t instanceof Array?t.find((t=>y(e,t.selectors))):y(e,t.selectors)?t:void 0}function A(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:Gt.create(c(t.options.bounce.horizontal),c(t.options.bounce.vertical))}}function D(t,e){const{x:i,y:s}=t.velocity.sub(e.velocity),[o,n]=[t.position,e.position],{dx:a,dy:r}=h(n,o);if(i*a+s*r>=0){const i=-Math.atan2(r,a),s=t.mass,o=e.mass,n=t.velocity.rotate(i),l=e.velocity.rotate(i),c=p(n,l,s,o),h=p(l,n,s,o),d=c.rotate(-i),u=h.rotate(-i);t.velocity.x=d.x*t.factor.x,t.velocity.y=d.y*t.factor.y,e.velocity.x=u.x*e.factor.x,e.velocity.y=u.y*e.factor.y}}function F(t,e){const i=T(t.getPosition(),t.getRadius()),s=m({min:i.left,max:i.right},{min:i.top,max:i.bottom},{min:e.left,max:e.right},{min:e.top,max:e.bottom},t.velocity.x,c(t.options.bounce.horizontal));s.bounced&&(void 0!==s.velocity&&(t.velocity.x=s.velocity),void 0!==s.position&&(t.position.x=s.position));const o=m({min:i.top,max:i.bottom},{min:i.left,max:i.right},{min:e.top,max:e.bottom},{min:e.left,max:e.right},t.velocity.y,c(t.options.bounce.vertical));o.bounced&&(void 0!==o.velocity&&(t.velocity.y=o.velocity),void 0!==o.position&&(t.position.y=o.position))}function L(t,e,i){let s=i;return s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t}function q(t){if(t.startsWith("rgb")){const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return e?{a:e.length>4?parseFloat(e[5]):1,b:parseInt(e[3],10),g:parseInt(e[2],10),r:parseInt(e[1],10)}:void 0}if(t.startsWith("hsl")){const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return e?G({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),l:parseInt(e[3],10),s:parseInt(e[2],10)}):void 0}if(t.startsWith("hsv")){const e=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return e?U({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),s:parseInt(e[2],10),v:parseInt(e[3],10)}):void 0}{const e=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=t.replace(e,((t,e,i,s,o)=>e+e+i+i+s+s+(void 0!==o?o+o:""))),s=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return s?{a:void 0!==s[4]?parseInt(s[4],16)/255:1,b:parseInt(s[3],16),g:parseInt(s[2],16),r:parseInt(s[1],16)}:void 0}}function H(t,e,i=!0){var s,o,n;if(void 0===t)return;const a="string"==typeof t?{value:t}:t;let r;if("string"==typeof a.value)r=a.value===St.randomColorValue?K():B(a.value);else if(a.value instanceof Array){r=H({value:z(a.value,e,i)})}else{const t=a.value,e=null!==(s=t.rgb)&&void 0!==s?s:a.value;if(void 0!==e.r)r=e;else{const e=null!==(o=t.hsl)&&void 0!==o?o:a.value;if(void 0!==e.h&&void 0!==e.l)r=j(e);else{const e=null!==(n=t.hsv)&&void 0!==n?n:a.value;void 0!==e.h&&void 0!==e.v&&(r=Y(e))}}}return r}function V(t,e,i=!0){const s=H(t,e,i);return void 0!==s?_(s):void 0}function _(t){const e=t.r/255,i=t.g/255,s=t.b/255,o=Math.max(e,i,s),n=Math.min(e,i,s),a={h:0,l:(o+n)/2,s:0};return o!=n&&(a.s=a.l<.5?(o-n)/(o+n):(o-n)/(2-o-n),a.h=e===o?(i-s)/(o-n):a.h=i===o?2+(s-e)/(o-n):4+(e-i)/(o-n)),a.l*=100,a.s*=100,a.h*=60,a.h<0&&(a.h+=360),a}function W(t){var e;return null===(e=q(t))||void 0===e?void 0:e.a}function B(t){return q(t)}function j(t){const e={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)e.b=i.l,e.g=i.l,e.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,s=2*i.l-t;e.r=L(s,t,i.h+1/3),e.g=L(s,t,i.h),e.b=L(s,t,i.h-1/3)}return e.r=Math.floor(255*e.r),e.g=Math.floor(255*e.g),e.b=Math.floor(255*e.b),e}function G(t){const e=j(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function $(t){const e=t.l/100,i=e+t.s/100*Math.min(e,1-e),s=i?2*(1-e/i):0;return{h:t.h,s:100*s,v:100*i}}function J(t){const e=$(t);return{a:t.a,h:e.h,s:e.s,v:e.v}}function N(t){const e=t.v/100,i=e*(1-t.s/100/2),s=0===i||1===i?0:(e-i)/Math.min(i,1-i);return{h:t.h,l:100*i,s:100*s}}function X(t){const e=N(t);return{a:t.a,h:e.h,l:e.l,s:e.s}}function Y(t){const e={b:0,g:0,r:0},i=t.h/60,s=t.s/100,o=t.v/100,n=o*s,a=n*(1-Math.abs(i%2-1));let r;if(i>=0&&i<=1?r={r:n,g:a,b:0}:i>1&&i<=2?r={r:a,g:n,b:0}:i>2&&i<=3?r={r:0,g:n,b:a}:i>3&&i<=4?r={r:0,g:a,b:n}:i>4&&i<=5?r={r:a,g:0,b:n}:i>5&&i<=6&&(r={r:n,g:0,b:a}),r){const t=o-n;e.r=Math.floor(255*(r.r+t)),e.g=Math.floor(255*(r.g+t)),e.b=Math.floor(255*(r.b+t))}return e}function U(t){const e=Y(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function Q(t){const e={r:t.r/255,g:t.g/255,b:t.b/255},i=Math.max(e.r,e.g,e.b),s=i-Math.min(e.r,e.g,e.b);let o=0;i===e.r?o=(e.g-e.b)/s*60:i===e.g?o=60*(2+(e.b-e.r)/s):i===e.b&&(o=60*(4+(e.r-e.g)/s));return{h:o,s:100*(i?s/i:0),v:100*i}}function Z(t){const e=Q(t);return{a:t.a,h:e.h,s:e.s,v:e.v}}function K(t){const e=null!=t?t:0;return{b:Math.floor(o(l(e,256))),g:Math.floor(o(l(e,256))),r:Math.floor(o(l(e,256)))}}function tt(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=e?e:1})`}function et(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${null!=e?e:1})`}function it(t,e){return et(N(t),e)}function st(t,e,i,o){let n=t,a=e;return void 0===n.r&&(n=j(t)),void 0===a.r&&(a=j(e)),{b:s(n.b,a.b,i,o),g:s(n.g,a.g,i,o),r:s(n.r,a.r,i,o)}}function ot(t,e,i){var s,o;if(i===St.randomColorValue)return K();if("mid"!==i)return i;{const i=null!==(s=t.getFillColor())&&void 0!==s?s:t.getStrokeColor(),n=null!==(o=null==e?void 0:e.getFillColor())&&void 0!==o?o:null==e?void 0:e.getStrokeColor();if(i&&n&&e)return st(i,n,t.getRadius(),e.getRadius());{const t=null!=i?i:n;if(t)return j(t)}}}function nt(t,e,i){const s="string"==typeof t?t:t.value;return s===St.randomColorValue?i?H({value:s}):e?St.randomColorValue:St.midColorValue:H({value:s})}function at(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function rt(t,e,i){const s={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(lt(s.h,e.h,i),lt(s.s,e.s,i),lt(s.l,e.l,i)),s}function lt(t,e,i){if(t.enable=e.enable,t.enable){if(t.velocity=e.speed/100*i,e.sync)return;t.status=0,t.velocity*=Math.random(),t.value&&(t.value*=Math.random())}else t.velocity=0}function ct(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function ht(t,e,i){t.save(),t.fillStyle=null!=i?i:"rgba(0,0,0,0)",t.fillRect(0,0,e.width,e.height),t.restore()}function dt(t,e){t.clearRect(0,0,e.width,e.height)}function ut(t,e,i,s,o,n,a,r,l,c,u,v){let p=!1;if(d(i,s)<=o)ct(t,i,s),p=!0;else if(a){let e,a;const r=h(i,{x:s.x-n.width,y:s.y});if(r.distance<=o){const t=i.y-r.dy/r.dx*i.x;e={x:0,y:t},a={x:n.width,y:t}}else{const t=h(i,{x:s.x,y:s.y-n.height});if(t.distance<=o){const s=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);e={x:s,y:0},a={x:s,y:n.height}}else{const t=h(i,{x:s.x-n.width,y:s.y-n.height});if(t.distance<=o){const s=i.y-t.dy/t.dx*i.x;e={x:-s/(t.dy/t.dx),y:s},a={x:e.x+n.width,y:e.y+n.height}}}}e&&a&&(ct(t,i,e),ct(t,s,a),p=!0)}if(p){if(t.lineWidth=e,r&&(t.globalCompositeOperation=l),t.strokeStyle=tt(c,u),v.enable){const e=H(v.color);e&&(t.shadowBlur=v.blur,t.shadowColor=tt(e))}t.stroke()}}function vt(t,e,i,s,o,n,a,r){!function(t,e,i,s){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.lineTo(s.x,s.y),t.closePath()}(t,e,i,s),o&&(t.globalCompositeOperation=n),t.fillStyle=tt(a,r),t.fill()}function pt(t,e,i,s,o){t.save(),ct(t,s,o),t.lineWidth=e,t.strokeStyle=i,t.stroke(),t.restore()}function ft(t,e,i,s){const o=Math.floor(i.getRadius()/e.getRadius()),n=e.getFillColor(),a=i.getFillColor();if(!n||!a)return;const r=e.getPosition(),l=i.getPosition(),c=st(n,a,e.getRadius(),i.getRadius()),h=t.createLinearGradient(r.x,r.y,l.x,l.y);return h.addColorStop(0,et(n,s)),h.addColorStop(o>1?1:o,tt(c,s)),h.addColorStop(1,et(a,s)),h}function mt(t,e,i,s,o,n){t.save(),ct(t,i,s),t.strokeStyle=tt(o,n),t.lineWidth=e,t.stroke(),t.restore()}function yt(t,e,i,s,o,n,a,r,l,c,h,d){var u,v,p,f,m,y;const g=i.getPosition(),w=i.options.tilt,b=i.options.roll;if(e.save(),w.enable||b.enable){const t=b.enable&&i.roll,s=w.enable&&i.tilt,o=t&&("horizontal"===b.mode||"both"===b.mode),n=t&&("vertical"===b.mode||"both"===b.mode);e.setTransform(o?Math.cos(i.roll.angle):1,s?Math.cos(i.tilt.value)*i.tilt.cosDirection:0,s?Math.sin(i.tilt.value)*i.tilt.sinDirection:0,n?Math.sin(i.roll.angle):1,g.x,g.y)}else e.translate(g.x,g.y);e.beginPath();const x=(null!==(v=null===(u=i.rotate)||void 0===u?void 0:u.value)&&void 0!==v?v:0)+(i.options.rotate.path?i.velocity.angle:0);0!==x&&e.rotate(x),a&&(e.globalCompositeOperation=r);const k=i.shadowColor;if(h.enable&&k&&(e.shadowBlur=h.blur,e.shadowColor=tt(k),e.shadowOffsetX=h.offset.x,e.shadowOffsetY=h.offset.y),d){const t=d.angle.value,i="radial"===d.type?e.createRadialGradient(0,0,0,0,0,l):e.createLinearGradient(Math.cos(t)*-l,Math.sin(t)*-l,Math.cos(t)*l,Math.sin(t)*l);for(const t of d.colors)i.addColorStop(t.stop,et({h:t.value.h.value,s:t.value.s.value,l:t.value.l.value},null!==(f=null===(p=t.opacity)||void 0===p?void 0:p.value)&&void 0!==f?f:c));e.fillStyle=i}else o&&(e.fillStyle=o);const M=i.stroke;e.lineWidth=null!==(m=i.strokeWidth)&&void 0!==m?m:0,n&&(e.strokeStyle=n),gt(t,e,i,l,c,s),(null!==(y=null==M?void 0:M.width)&&void 0!==y?y:0)>0&&e.stroke(),i.close&&e.closePath(),i.fill&&e.fill(),e.restore(),e.save(),w.enable&&i.tilt?e.setTransform(1,Math.cos(i.tilt.value)*i.tilt.cosDirection,Math.sin(i.tilt.value)*i.tilt.sinDirection,1,g.x,g.y):e.translate(g.x,g.y),0!==x&&e.rotate(x),a&&(e.globalCompositeOperation=r),wt(t,e,i,l,c,s),e.restore()}function gt(t,e,i,s,o,n){if(!i.shape)return;const a=t.drawers.get(i.shape);a&&a.draw(e,i,s,o,n,t.retina.pixelRatio)}function wt(t,e,i,s,o,n){if(!i.shape)return;const a=t.drawers.get(i.shape);(null==a?void 0:a.afterEffect)&&a.afterEffect(e,i,s,o,n,t.retina.pixelRatio)}function bt(t,e,i){e.draw&&(t.save(),e.draw(t,i),t.restore())}function xt(t,e,i,s){void 0!==e.drawParticle&&(t.save(),e.drawParticle(t,i,s),t.restore())}function kt(t,e,i,s,o,n,a,r,l){const c=e.getPosition();if(i&&(t.strokeStyle=et(i,o)),0===n)return;t.lineWidth=n;const h=a*Math.PI/180;t.beginPath(),t.ellipse(c.x,c.y,s/2,2*s,h,r,l),t.stroke()}function Mt(t,e,i){return{h:t.h,s:t.s,l:t.l+("darken"===e?-1:1)*i}}t.r(e),t.d(e,{Canvas:function(){return Jt},Circle:function(){return Pt},CircleWarp:function(){return Tt},Constants:function(){return St},Container:function(){return ts},Engine:function(){return cs},EventListeners:function(){return It},ExternalInteractorBase:function(){return Et},FrameManager:function(){return Rt},InteractionManager:function(){return Lt},Loader:function(){return os},Main:function(){return cs},Particle:function(){return $i},Particles:function(){return Yi},ParticlesInteractorBase:function(){return qt},ParticlesMover:function(){return Ht},Plugins:function(){return Wt},Point:function(){return Bt},QuadTree:function(){return jt},Range:function(){return zt},Rectangle:function(){return Ct},Retina:function(){return Ui},Vector:function(){return Gt},Vector3d:function(){return $t},alterHsl:function(){return Mt},animate:function(){return w},areBoundsInside:function(){return C},arrayRandomIndex:function(){return M},calcEasing:function(){return f},calculateBounds:function(){return T},cancelAnimation:function(){return b},circleBounce:function(){return D},circleBounceDataFromParticle:function(){return A},clamp:function(){return i},clear:function(){return dt},collisionVelocity:function(){return p},colorMix:function(){return st},colorToHsl:function(){return V},colorToRgb:function(){return H},deepExtend:function(){return S},divMode:function(){return R},divModeExecute:function(){return I},drawConnectLine:function(){return pt},drawEllipse:function(){return kt},drawGrabLine:function(){return mt},drawLinkLine:function(){return ut},drawLinkTriangle:function(){return vt},drawParticle:function(){return yt},drawParticlePlugin:function(){return xt},drawPlugin:function(){return bt},drawShape:function(){return gt},drawShapeAfterEffect:function(){return wt},getDistance:function(){return d},getDistances:function(){return h},getHslAnimationFromHsl:function(){return rt},getHslFromAnimation:function(){return at},getLinkColor:function(){return ot},getLinkRandomColor:function(){return nt},getParticleBaseVelocity:function(){return v},getParticleDirectionAngle:function(){return u},getRandomRgbColor:function(){return K},getRangeMax:function(){return r},getRangeMin:function(){return a},getRangeValue:function(){return n},getStyleFromHsl:function(){return et},getStyleFromHsv:function(){return it},getStyleFromRgb:function(){return tt},getValue:function(){return c},gradient:function(){return ft},hslToHsv:function(){return $},hslToRgb:function(){return j},hslaToHsva:function(){return J},hslaToRgba:function(){return G},hsvToHsl:function(){return N},hsvToRgb:function(){return Y},hsvaToHsla:function(){return X},hsvaToRgba:function(){return U},isDivModeEnabled:function(){return O},isInArray:function(){return x},isPointInside:function(){return P},isSsr:function(){return g},itemFromArray:function(){return z},loadFont:function(){return k},mix:function(){return s},pJSDom:function(){return us},paintBase:function(){return ht},particlesJS:function(){return ds},randomInRange:function(){return o},rectBounce:function(){return F},rgbToHsl:function(){return _},rgbToHsv:function(){return Q},rgbaToHsva:function(){return Z},setRangeValue:function(){return l},singleDivModeExecute:function(){return E},stringToAlpha:function(){return W},stringToRgb:function(){return B},tsParticles:function(){return hs}});class zt{constructor(t,e){this.position={x:t,y:e}}}class Pt extends zt{constructor(t,e,i){super(t,e),this.radius=i}contains(t){return d(t,this.position)<=this.radius}intersects(t){const e=t,i=t,s=this.position,o=t.position,n=Math.abs(o.x-s.x),a=Math.abs(o.y-s.y),r=this.radius;if(void 0!==i.radius){return r+i.radius>Math.sqrt(n*n+a+a)}if(void 0!==e.size){const t=e.size.width,i=e.size.height,s=Math.pow(n-t,2)+Math.pow(a-i,2);return!(n>r+t||a>r+i)&&(n<=t||a<=i||s<=r*r)}return!1}}class Ct extends zt{constructor(t,e,i,s){super(t,e),this.size={height:s,width:i}}contains(t){const e=this.size.width,i=this.size.height,s=this.position;return t.x>=s.x&&t.x<=s.x+e&&t.y>=s.y&&t.y<=s.y+i}intersects(t){const e=t,i=t,s=this.size.width,o=this.size.height,n=this.position,a=t.position;if(void 0!==i.radius)return i.intersects(this);if(void 0!==e.size){const t=e.size,i=t.width,r=t.height;return a.x<n.x+s&&a.x+i>n.x&&a.y<n.y+o&&a.y+r>n.y}return!1}}class Tt extends Pt{constructor(t,e,i,s){super(t,e,i),this.canvasSize=s,this.canvasSize={height:s.height,width:s.width}}contains(t){if(super.contains(t))return!0;const e={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(e))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const s={x:t.x,y:t.y-this.canvasSize.height};return super.contains(s)}intersects(t){if(super.intersects(t))return!0;const e=t,i=t,s={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new Pt(s.x,s.y,2*i.radius);return super.intersects(t)}if(void 0!==e.size){const t=new Ct(s.x,s.y,2*e.size.width,2*e.size.height);return super.intersects(t)}return!1}}class St{}function Ot(t,e,i,s,o){if(s){let s={passive:!0};"boolean"==typeof o?s.capture=o:void 0!==o&&(s=o),t.addEventListener(e,i,s)}else{const s=o;t.removeEventListener(e,i,s)}}St.generatedAttribute="generated",St.randomColorValue="random",St.midColorValue="mid",St.touchEndEvent="touchend",St.mouseDownEvent="mousedown",St.mouseUpEvent="mouseup",St.mouseMoveEvent="mousemove",St.touchStartEvent="touchstart",St.touchMoveEvent="touchmove",St.mouseLeaveEvent="mouseleave",St.mouseOutEvent="mouseout",St.touchCancelEvent="touchcancel",St.resizeEvent="resize",St.visibilityChangeEvent="visibilitychange",St.noPolygonDataLoaded="No polygon data loaded.",St.noPolygonFound="No polygon found, you need to specify SVG url in config.";class It{constructor(t){this.container=t,this.canPush=!0,this.mouseMoveHandler=t=>this.mouseTouchMove(t),this.touchStartHandler=t=>this.mouseTouchMove(t),this.touchMoveHandler=t=>this.mouseTouchMove(t),this.touchEndHandler=()=>this.mouseTouchFinish(),this.mouseLeaveHandler=()=>this.mouseTouchFinish(),this.touchCancelHandler=()=>this.mouseTouchFinish(),this.touchEndClickHandler=t=>this.mouseTouchClick(t),this.mouseUpHandler=t=>this.mouseTouchClick(t),this.mouseDownHandler=()=>this.mouseDown(),this.visibilityChangeHandler=()=>this.handleVisibilityChange(),this.themeChangeHandler=t=>this.handleThemeChange(t),this.oldThemeChangeHandler=t=>this.handleThemeChange(t),this.resizeHandler=()=>this.handleWindowResize()}addListeners(){this.manageListeners(!0)}removeListeners(){this.manageListeners(!1)}manageListeners(t){var e;const i=this.container,s=i.actualOptions,o=s.interactivity.detectsOn;let n=St.mouseLeaveEvent;if("window"===o)i.interactivity.element=window,n=St.mouseOutEvent;else if("parent"===o&&i.canvas.element){const t=i.canvas.element;i.interactivity.element=null!==(e=t.parentElement)&&void 0!==e?e:t.parentNode}else i.interactivity.element=i.canvas.element;const a=!g()&&"undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)");a&&(void 0!==a.addEventListener?Ot(a,"change",this.themeChangeHandler,t):void 0!==a.addListener&&(t?a.addListener(this.oldThemeChangeHandler):a.removeListener(this.oldThemeChangeHandler)));const r=i.interactivity.element;if(!r)return;const l=r;(s.interactivity.events.onHover.enable||s.interactivity.events.onClick.enable)&&(Ot(r,St.mouseMoveEvent,this.mouseMoveHandler,t),Ot(r,St.touchStartEvent,this.touchStartHandler,t),Ot(r,St.touchMoveEvent,this.touchMoveHandler,t),s.interactivity.events.onClick.enable?(Ot(r,St.touchEndEvent,this.touchEndClickHandler,t),Ot(r,St.mouseUpEvent,this.mouseUpHandler,t),Ot(r,St.mouseDownEvent,this.mouseDownHandler,t)):Ot(r,St.touchEndEvent,this.touchEndHandler,t),Ot(r,n,this.mouseLeaveHandler,t),Ot(r,St.touchCancelEvent,this.touchCancelHandler,t)),i.canvas.element&&(i.canvas.element.style.pointerEvents=l===i.canvas.element?"initial":"none"),s.interactivity.events.resize&&("undefined"!=typeof ResizeObserver?this.resizeObserver&&!t?(i.canvas.element&&this.resizeObserver.unobserve(i.canvas.element),this.resizeObserver.disconnect(),delete this.resizeObserver):!this.resizeObserver&&t&&i.canvas.element&&(this.resizeObserver=new ResizeObserver((t=>{t.find((t=>t.target===i.canvas.element))&&this.handleWindowResize()})),this.resizeObserver.observe(i.canvas.element)):Ot(window,St.resizeEvent,this.resizeHandler,t)),document&&Ot(document,St.visibilityChangeEvent,this.visibilityChangeHandler,t,!1)}handleWindowResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),delete this.resizeTimeout),this.resizeTimeout=setTimeout((async()=>{var t;return await(null===(t=this.container.canvas)||void 0===t?void 0:t.windowResize())}),500)}handleVisibilityChange(){const t=this.container,e=t.actualOptions;this.mouseTouchFinish(),e.pauseOnBlur&&((null===document||void 0===document?void 0:document.hidden)?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.getAnimationStatus()?t.play(!0):t.draw(!0)))}mouseDown(){const t=this.container.interactivity;if(t){const e=t.mouse;e.clicking=!0,e.downPosition=e.position}}mouseTouchMove(t){var e,i,s,o,n,a,r;const l=this.container,c=l.actualOptions;if(void 0===(null===(e=l.interactivity)||void 0===e?void 0:e.element))return;let h;l.interactivity.mouse.inside=!0;const d=l.canvas.element;if(t.type.startsWith("mouse")){this.canPush=!0;const e=t;if(l.interactivity.element===window){if(d){const t=d.getBoundingClientRect();h={x:e.clientX-t.left,y:e.clientY-t.top}}}else if("parent"===c.interactivity.detectsOn){const t=e.target,o=e.currentTarget,n=l.canvas.element;if(t&&o&&n){const i=t.getBoundingClientRect(),s=o.getBoundingClientRect(),a=n.getBoundingClientRect();h={x:e.offsetX+2*i.left-(s.left+a.left),y:e.offsetY+2*i.top-(s.top+a.top)}}else h={x:null!==(i=e.offsetX)&&void 0!==i?i:e.clientX,y:null!==(s=e.offsetY)&&void 0!==s?s:e.clientY}}else e.target===l.canvas.element&&(h={x:null!==(o=e.offsetX)&&void 0!==o?o:e.clientX,y:null!==(n=e.offsetY)&&void 0!==n?n:e.clientY})}else{this.canPush="touchmove"!==t.type;const e=t,i=e.touches[e.touches.length-1],s=null==d?void 0:d.getBoundingClientRect();h={x:i.clientX-(null!==(a=null==s?void 0:s.left)&&void 0!==a?a:0),y:i.clientY-(null!==(r=null==s?void 0:s.top)&&void 0!==r?r:0)}}const u=l.retina.pixelRatio;h&&(h.x*=u,h.y*=u),l.interactivity.mouse.position=h,l.interactivity.status=St.mouseMoveEvent}mouseTouchFinish(){const t=this.container.interactivity;if(void 0===t)return;const e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=St.mouseLeaveEvent,e.inside=!1,e.clicking=!1}mouseTouchClick(t){const e=this.container,i=e.actualOptions,s=e.interactivity.mouse;s.inside=!0;let o=!1;const n=s.position;if(void 0!==n&&i.interactivity.events.onClick.enable){for(const[,t]of e.plugins)if(void 0!==t.clickPositionValid&&(o=t.clickPositionValid(n),o))break;o||this.doMouseTouchClick(t),s.clicking=!1}}doMouseTouchClick(t){const e=this.container,i=e.actualOptions;if(this.canPush){const t=e.interactivity.mouse.position;if(!t)return;e.interactivity.mouse.clickPosition={x:t.x,y:t.y},e.interactivity.mouse.clickTime=(new Date).getTime();const s=i.interactivity.events.onClick;if(s.mode instanceof Array)for(const t of s.mode)this.handleClickMode(t);else this.handleClickMode(s.mode)}"touchend"===t.type&&setTimeout((()=>this.mouseTouchFinish()),500)}handleThemeChange(t){const e=t.matches?this.container.options.defaultDarkTheme:this.container.options.defaultLightTheme,i=this.container.options.themes.find((t=>t.name===e));i&&i.default.auto&&this.container.loadTheme(e)}handleClickMode(t){const e=this.container,i=e.actualOptions,s=i.interactivity.modes.push.quantity,o=i.interactivity.modes.remove.quantity;switch(t){case"push":if(s>0){const t=z([void 0,...i.interactivity.modes.push.groups]),o=void 0!==t?e.actualOptions.particles.groups[t]:void 0;e.particles.push(s,e.interactivity.mouse,o,t)}break;case"remove":e.particles.removeQuantity(o);break;case"bubble":e.bubble.clicking=!0;break;case"repulse":e.repulse.clicking=!0,e.repulse.count=0;for(const t of e.repulse.particles)t.velocity.setTo(t.initialVelocity);e.repulse.particles=[],e.repulse.finish=!1,setTimeout((()=>{e.destroyed||(e.repulse.clicking=!1)}),1e3*i.interactivity.modes.repulse.duration);break;case"attract":e.attract.clicking=!0,e.attract.count=0;for(const t of e.attract.particles)t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout((()=>{e.destroyed||(e.attract.clicking=!1)}),1e3*i.interactivity.modes.attract.duration);break;case"pause":e.getAnimationStatus()?e.pause():e.play()}for(const[,i]of e.plugins)i.handleClickMode&&i.handleClickMode(t)}}class Et{constructor(t){this.container=t,this.type=0}}class Rt{constructor(t){this.container=t}async nextFrame(t){var e;try{const i=this.container;if(void 0!==i.lastFrameTime&&t<i.lastFrameTime+1e3/i.fpsLimit)return void i.draw(!1);null!==(e=i.lastFrameTime)&&void 0!==e||(i.lastFrameTime=t);const s=t-i.lastFrameTime,o={value:s,factor:60*s/1e3};if(i.lifeTime+=o.value,i.lastFrameTime=t,s>1e3)return void i.draw(!1);if(await i.particles.draw(o),i.duration>0&&i.lifeTime>i.duration)return void i.destroy();i.getAnimationStatus()&&i.draw(!1)}catch(t){console.error("tsParticles error in animation loop",t)}}}var At,Dt=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},Ft=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class Lt{constructor(t,e){this.container=e,At.set(this,void 0),Dt(this,At,t,"f"),this.externalInteractors=[],this.particleInteractors=[],this.init()}init(){const t=Ft(this,At,"f").plugins.getInteractors(this.container,!0);this.externalInteractors=[],this.particleInteractors=[];for(const e of t)switch(e.type){case 0:this.externalInteractors.push(e);break;case 1:this.particleInteractors.push(e)}}async externalInteract(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.interact(t)}async particlesInteract(t,e){for(const e of this.externalInteractors)e.reset(t);for(const i of this.particleInteractors)i.isEnabled(t)&&await i.interact(t,e)}}At=new WeakMap;class qt{constructor(t){this.container=t,this.type=1}}class Ht{constructor(t){this.container=t}move(t,e){t.destroyed||(this.moveParticle(t,e),this.moveParallax(t))}moveParticle(t,e){var i,s,o,a,l;const c=t.options,d=c.move;if(!d.enable)return;const u=this.container,v=this.getProximitySpeedFactor(t),p=(null!==(i=(a=t.retina).moveSpeed)&&void 0!==i?i:a.moveSpeed=n(d.speed)*u.retina.pixelRatio)*u.retina.reduceFactor,f=null!==(s=(l=t.retina).moveDrift)&&void 0!==s?s:l.moveDrift=n(t.options.move.drift)*u.retina.pixelRatio,m=r(c.size.value)*u.retina.pixelRatio,y=p*((d.size?t.getRadius()/m:1)*v*(e.factor||1)/2);this.applyPath(t,e);const g=d.gravity,w=g.enable&&g.inverse?-1:1;g.enable&&y&&(t.velocity.y+=w*(g.acceleration*e.factor)/(60*y)),f&&y&&(t.velocity.x+=f*e.factor/(60*y));const b=t.moveDecay;1!=b&&t.velocity.multTo(b);const x=t.velocity.mult(y),k=null!==(o=t.retina.maxSpeed)&&void 0!==o?o:u.retina.maxSpeed;g.enable&&g.maxSpeed>0&&(!g.inverse&&x.y>=0&&x.y>=k||g.inverse&&x.y<=0&&x.y<=-k)&&(x.y=w*k,y&&(t.velocity.y=x.y/y));const M=t.options.zIndex,z=(1-t.zIndexFactor)**M.velocityRate;d.spin.enable?this.spin(t,y):(1!=z&&x.multTo(z),t.position.addTo(x),d.vibrate&&(t.position.x+=Math.sin(t.position.x*Math.cos(t.position.y)),t.position.y+=Math.cos(t.position.y*Math.sin(t.position.x)))),function(t){const e=t.initialPosition,{dx:i,dy:s}=h(e,t.position),o=Math.abs(i),n=Math.abs(s),a=t.retina.maxDistance.horizontal,r=t.retina.maxDistance.vertical;if(a||r)if((a&&o>=a||r&&n>=r)&&!t.misplaced)t.misplaced=!!a&&o>a||!!r&&n>r,a&&(t.velocity.x=t.velocity.y/2-t.velocity.x),r&&(t.velocity.y=t.velocity.x/2-t.velocity.y);else if((!a||o<a)&&(!r||n<r)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){const i=t.position,s=t.velocity;a&&(i.x<e.x&&s.x<0||i.x>e.x&&s.x>0)&&(s.x*=-Math.random()),r&&(i.y<e.y&&s.y<0||i.y>e.y&&s.y>0)&&(s.y*=-Math.random())}}(t)}spin(t,e){const i=this.container;if(!t.spin)return;const s={x:"clockwise"===t.spin.direction?Math.cos:Math.sin,y:"clockwise"===t.spin.direction?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*s.x(t.spin.angle),t.position.y=t.spin.center.y+t.spin.radius*s.y(t.spin.angle),t.spin.radius+=t.spin.acceleration;const o=Math.max(i.canvas.size.width,i.canvas.size.height);t.spin.radius>o/2?(t.spin.radius=o/2,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=e/100*(1-t.spin.radius/o)}applyPath(t,e){const s=t.options.move.path;if(!s.enable)return;const o=this.container;if(t.lastPathTime<=t.pathDelay)return void(t.lastPathTime+=e.value);const n=o.pathGenerator.generate(t);t.velocity.addTo(n),s.clamp&&(t.velocity.x=i(t.velocity.x,-1,1),t.velocity.y=i(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}moveParallax(t){const e=this.container,i=e.actualOptions;if(g()||!i.interactivity.events.onHover.parallax.enable)return;const s=i.interactivity.events.onHover.parallax.force,o=e.interactivity.mouse.position;if(!o)return;const n=e.canvas.size.width/2,a=e.canvas.size.height/2,r=i.interactivity.events.onHover.parallax.smooth,l=t.getRadius()/s,c=(o.x-n)*l,h=(o.y-a)*l;t.offset.x+=(c-t.offset.x)/r,t.offset.y+=(h-t.offset.y)/r}getProximitySpeedFactor(t){const e=this.container,i=e.actualOptions;if(!x("slow",i.interactivity.events.onHover.mode))return 1;const s=this.container.interactivity.mouse.position;if(!s)return 1;const o=d(s,t.getPosition()),n=e.retina.slowModeRadius;if(o>n)return 1;return(o/n||0)/i.interactivity.modes.slow.factor}}var Vt,_t=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i};class Wt{constructor(t){Vt.set(this,void 0),_t(this,Vt,t,"f"),this.plugins=[],this.interactorsInitializers=new Map,this.updatersInitializers=new Map,this.interactors=new Map,this.updaters=new Map,this.presets=new Map,this.drawers=new Map,this.pathGenerators=new Map}getPlugin(t){return this.plugins.find((e=>e.id===t))}addPlugin(t){this.getPlugin(t.id)||this.plugins.push(t)}getAvailablePlugins(t){const e=new Map;for(const i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,i.getPlugin(t));return e}loadOptions(t,e){for(const i of this.plugins)i.loadOptions(t,e)}getPreset(t){return this.presets.get(t)}addPreset(t,e,i=!1){!i&&this.getPreset(t)||this.presets.set(t,e)}addShapeDrawer(t,e){this.getShapeDrawer(t)||this.drawers.set(t,e)}getShapeDrawer(t){return this.drawers.get(t)}getSupportedShapes(){return this.drawers.keys()}getPathGenerator(t){return this.pathGenerators.get(t)}addPathGenerator(t,e){this.getPathGenerator(t)||this.pathGenerators.set(t,e)}getInteractors(t,e=!1){let i=this.interactors.get(t);return i&&!e||(i=[...this.interactorsInitializers.values()].map((e=>e(t))),this.interactors.set(t,i)),i}addInteractor(t,e){this.interactorsInitializers.set(t,e)}getUpdaters(t,e=!1){let i=this.updaters.get(t);return i&&!e||(i=[...this.updatersInitializers.values()].map((e=>e(t))),this.updaters.set(t,i)),i}addParticleUpdater(t,e){this.updatersInitializers.set(t,e)}}Vt=new WeakMap;class Bt{constructor(t,e){this.position=t,this.particle=e}}class jt{constructor(t,e){this.rectangle=t,this.capacity=e,this.points=[],this.divided=!1}subdivide(){const t=this.rectangle.position.x,e=this.rectangle.position.y,i=this.rectangle.size.width,s=this.rectangle.size.height,o=this.capacity;this.northEast=new jt(new Ct(t,e,i/2,s/2),o),this.northWest=new jt(new Ct(t+i/2,e,i/2,s/2),o),this.southEast=new jt(new Ct(t,e+s/2,i/2,s/2),o),this.southWest=new jt(new Ct(t+i/2,e+s/2,i/2,s/2),o),this.divided=!0}insert(t){var e,i,s,o,n;return!!this.rectangle.contains(t.position)&&(this.points.length<this.capacity?(this.points.push(t),!0):(this.divided||this.subdivide(),null!==(n=(null===(e=this.northEast)||void 0===e?void 0:e.insert(t))||(null===(i=this.northWest)||void 0===i?void 0:i.insert(t))||(null===(s=this.southEast)||void 0===s?void 0:s.insert(t))||(null===(o=this.southWest)||void 0===o?void 0:o.insert(t)))&&void 0!==n&&n))}queryCircle(t,e){return this.query(new Pt(t.x,t.y,e))}queryCircleWarp(t,e,i){const s=i,o=i;return this.query(new Tt(t.x,t.y,e,void 0!==s.canvas?s.canvas.size:o))}queryRectangle(t,e){return this.query(new Ct(t.x,t.y,e.width,e.height))}query(t,e){var i,s,o,n;const a=null!=e?e:[];if(!t.intersects(this.rectangle))return[];for(const e of this.points)!t.contains(e.position)&&d(t.position,e.position)>e.particle.getRadius()||a.push(e.particle);return this.divided&&(null===(i=this.northEast)||void 0===i||i.query(t,a),null===(s=this.northWest)||void 0===s||s.query(t,a),null===(o=this.southEast)||void 0===o||o.query(t,a),null===(n=this.southWest)||void 0===n||n.query(t,a)),a}}class Gt{constructor(t,e){let i,s;if(void 0===e){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const e=t;[i,s]=[e.x,e.y]}else[i,s]=[t,e];this.x=i,this.y=s}static clone(t){return Gt.create(t.x,t.y)}static create(t,e){return new Gt(t,e)}static get origin(){return Gt.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(t){this.updateFromAngle(this.angle,t)}add(t){return Gt.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return Gt.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return Gt.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return Gt.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}distanceTo(t){return this.sub(t).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(t){return this.sub(t).getLengthSq()}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}copy(){return Gt.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return Gt.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}class $t extends Gt{constructor(t,e,i){super(t,e),this.z=void 0===i?t.z:i}static clone(t){return $t.create(t.x,t.y,t.z)}static create(t,e,i){return new $t(t,e,i)}add(t){return t instanceof $t?$t.create(this.x+t.x,this.y+t.y,this.z+t.z):super.add(t)}addTo(t){super.addTo(t),t instanceof $t&&(this.z+=t.z)}sub(t){return t instanceof $t?$t.create(this.x-t.x,this.y-t.y,this.z-t.z):super.sub(t)}subFrom(t){super.subFrom(t),t instanceof $t&&(this.z-=t.z)}mult(t){return $t.create(this.x*t,this.y*t,this.z*t)}multTo(t){super.multTo(t),this.z*=t}div(t){return $t.create(this.x/t,this.y/t,this.z/t)}divTo(t){super.divTo(t),this.z/=t}copy(){return $t.clone(this)}setTo(t){super.setTo(t),t instanceof $t&&(this.z=t.z)}}class Jt{constructor(t){this.container=t,this.size={height:0,width:0},this.context=null,this.generatedCanvas=!1}init(){this.resize(),this.initStyle(),this.initCover(),this.initTrail(),this.initBackground(),this.paint()}loadCanvas(t){var e;this.generatedCanvas&&(null===(e=this.element)||void 0===e||e.remove()),this.generatedCanvas=t.dataset&&St.generatedAttribute in t.dataset?"true"===t.dataset[St.generatedAttribute]:this.generatedCanvas,this.element=t,this.originalStyle=S({},this.element.style),this.size.height=t.offsetHeight,this.size.width=t.offsetWidth,this.context=this.element.getContext("2d"),this.container.retina.init(),this.initBackground()}destroy(){var t;this.generatedCanvas&&(null===(t=this.element)||void 0===t||t.remove()),this.draw((t=>{dt(t,this.size)}))}paint(){const t=this.container.actualOptions;this.draw((e=>{t.backgroundMask.enable&&t.backgroundMask.cover&&this.coverColor?(dt(e,this.size),this.paintBase(tt(this.coverColor,this.coverColor.a))):this.paintBase()}))}clear(){const t=this.container.actualOptions,e=t.particles.move.trail;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&this.trailFillColor?this.paintBase(tt(this.trailFillColor,1/e.length)):this.draw((t=>{dt(t,this.size)}))}async windowResize(){if(!this.element)return;const t=this.container;this.resize();const e=t.updateActualOptions();t.particles.setDensity();for(const[,e]of t.plugins)void 0!==e.resize&&e.resize();e&&await t.refresh()}resize(){if(!this.element)return;const t=this.container,e=t.retina.pixelRatio,i=t.canvas.size,s=i.width,o=i.height;i.width=this.element.offsetWidth*e,i.height=this.element.offsetHeight*e,this.element.width=i.width,this.element.height=i.height,this.container.started&&(this.resizeFactor={width:i.width/s,height:i.height/o})}drawConnectLine(t,e){this.draw((i=>{var s;const o=this.lineStyle(t,e);if(!o)return;const n=t.getPosition(),a=e.getPosition();pt(i,null!==(s=t.retina.linksWidth)&&void 0!==s?s:this.container.retina.linksWidth,o,n,a)}))}drawGrabLine(t,e,i,s){const o=this.container;this.draw((n=>{var a;const r=t.getPosition();mt(n,null!==(a=t.retina.linksWidth)&&void 0!==a?a:o.retina.linksWidth,r,s,e,i)}))}drawParticle(t,e){var i,s,o,n,a,r;if(t.spawning||t.destroyed)return;const l=t.getFillColor(),c=null!==(i=t.getStrokeColor())&&void 0!==i?i:l;if(!l&&!c)return;let[h,d]=this.getPluginParticleColors(t);const u=t.options.twinkle.particles,v=u.enable&&Math.random()<u.frequency;if(!h||!d){const t=V(u.color);h||(h=v&&void 0!==t?t:l||void 0),d||(d=v&&void 0!==t?t:c||void 0)}const p=this.container.actualOptions,f=t.options.zIndex,m=(1-t.zIndexFactor)**f.opacityRate,y=t.getRadius(),g=v?u.opacity:null!==(n=null!==(s=t.bubble.opacity)&&void 0!==s?s:null===(o=t.opacity)||void 0===o?void 0:o.value)&&void 0!==n?n:1,w=null!==(r=null===(a=t.stroke)||void 0===a?void 0:a.opacity)&&void 0!==r?r:g,b=g*m,x=h?et(h,b):void 0;(x||d)&&this.draw((i=>{const s=(1-t.zIndexFactor)**f.sizeRate,o=d?et(d,w*m):x;if(y<=0)return;const n=this.container;for(const e of n.particles.updaters)e.beforeDraw&&e.beforeDraw(t);yt(this.container,i,t,e,x,o,p.backgroundMask.enable,p.backgroundMask.composite,y*s,b,t.options.shadow,t.gradient);for(const e of n.particles.updaters)e.afterDraw&&e.afterDraw(t)}))}drawPlugin(t,e){this.draw((i=>{bt(i,t,e)}))}drawParticlePlugin(t,e,i){this.draw((s=>{xt(s,t,e,i)}))}initBackground(){const t=this.container.actualOptions.background,e=this.element,i=null==e?void 0:e.style;if(i){if(t.color){const e=H(t.color);i.backgroundColor=e?tt(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}draw(t){if(this.context)return t(this.context)}initCover(){const t=this.container.actualOptions.backgroundMask.cover,e=H(t.color);e&&(this.coverColor={r:e.r,g:e.g,b:e.b,a:t.opacity})}initTrail(){const t=this.container.actualOptions,e=H(t.particles.move.trail.fillColor);if(e){const i=t.particles.move.trail;this.trailFillColor={r:e.r,g:e.g,b:e.b,a:1/i.length}}}getPluginParticleColors(t){let e,i;for(const[,s]of this.container.plugins)if(!e&&s.particleFillColor&&(e=V(s.particleFillColor(t))),!i&&s.particleStrokeColor&&(i=V(s.particleStrokeColor(t))),e&&i)break;return[e,i]}initStyle(){const t=this.element,e=this.container.actualOptions;if(!t)return;const i=this.originalStyle;e.fullScreen.enable?(this.originalStyle=S({},t.style),t.style.setProperty("position","fixed","important"),t.style.setProperty("z-index",e.fullScreen.zIndex.toString(10),"important"),t.style.setProperty("top","0","important"),t.style.setProperty("left","0","important"),t.style.setProperty("width","100%","important"),t.style.setProperty("height","100%","important")):i&&(t.style.position=i.position,t.style.zIndex=i.zIndex,t.style.top=i.top,t.style.left=i.left,t.style.width=i.width,t.style.height=i.height);for(const i in e.style){if(!i||!e.style)continue;const s=e.style[i];s&&t.style.setProperty(i,s,"important")}}paintBase(t){this.draw((e=>{ht(e,this.size,t)}))}lineStyle(t,e){return this.draw((i=>{const s=this.container.actualOptions.interactivity.modes.connect;return ft(i,t,e,s.links.opacity)}))}}class Nt{constructor(){this.value="#fff"}static create(t,e){const i=new Nt;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class Xt{constructor(){this.color=new Nt,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){void 0!==t&&(void 0!==t.color&&(this.color=Nt.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.position&&(this.position=t.position),void 0!==t.repeat&&(this.repeat=t.repeat),void 0!==t.size&&(this.size=t.size),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Yt{constructor(){this.color=new Nt,this.opacity=1}load(t){void 0!==t&&(void 0!==t.color&&(this.color=Nt.create(this.color,t.color)),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Ut{constructor(){this.composite="destination-out",this.cover=new Yt,this.enable=!1}load(t){if(void 0!==t){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){const e=t.cover,i="string"==typeof t.cover?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class Qt{constructor(){this.enable=!0,this.zIndex=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class Zt{constructor(){this.enable=!1,this.mode=[]}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}class Kt{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type="circle"}get elementId(){return this.ids}set elementId(t){this.ids=t}get el(){return this.elementId}set el(t){this.elementId=t}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){var e,i;if(void 0===t)return;const s=null!==(i=null!==(e=t.ids)&&void 0!==e?e:t.elementId)&&void 0!==i?i:t.el;void 0!==s&&(this.ids=s),void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type)}}class te{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.force&&(this.force=t.force),void 0!==t.smooth&&(this.smooth=t.smooth))}}class ee{constructor(){this.enable=!1,this.mode=[],this.parallax=new te}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class ie{constructor(){this.onClick=new Zt,this.onDiv=new Kt,this.onHover=new ee,this.resize=!0}get onclick(){return this.onClick}set onclick(t){this.onClick=t}get ondiv(){return this.onDiv}set ondiv(t){this.onDiv=t}get onhover(){return this.onHover}set onhover(t){this.onHover=t}load(t){var e,i,s;if(void 0===t)return;this.onClick.load(null!==(e=t.onClick)&&void 0!==e?e:t.onclick);const o=null!==(i=t.onDiv)&&void 0!==i?i:t.ondiv;void 0!==o&&(o instanceof Array?this.onDiv=o.map((t=>{const e=new Kt;return e.load(t),e})):(this.onDiv=new Kt,this.onDiv.load(o))),this.onHover.load(null!==(s=t.onHover)&&void 0!==s?s:t.onhover),void 0!==t.resize&&(this.resize=t.resize)}}class se{constructor(){this.distance=200,this.duration=.4,this.easing="ease-out-quad",this.factor=1,this.maxSpeed=50,this.speed=1}load(t){t&&(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed),void 0!==t.speed&&(this.speed=t.speed))}}class oe{constructor(){this.distance=200}load(t){t&&void 0!==t.distance&&(this.distance=t.distance)}}class ne{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.mix&&(this.mix=t.mix),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.color&&(t.color instanceof Array?this.color=t.color.map((t=>Nt.create(void 0,t))):(this.color instanceof Array&&(this.color=new Nt),this.color=Nt.create(this.color,t.color))),void 0!==t.size&&(this.size=t.size))}}class ae extends ne{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){super.load(t),void 0!==t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class re extends ne{load(t){super.load(t),void 0!==t&&void 0!==t.divs&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new ae;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new ae),this.divs.load(t.divs)))}}class le{constructor(){this.opacity=.5}load(t){void 0!==t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class ce{constructor(){this.distance=80,this.links=new le,this.radius=60}get line_linked(){return this.links}set line_linked(t){this.links=t}get lineLinked(){return this.links}set lineLinked(t){this.links=t}load(t){var e,i;void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked),void 0!==t.radius&&(this.radius=t.radius))}}class he{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){void 0!==t&&(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=Nt.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class de{constructor(){this.distance=100,this.links=new he}get line_linked(){return this.links}set line_linked(t){this.links=t}get lineLinked(){return this.links}set lineLinked(t){this.links=t}load(t){var e,i;void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked))}}class ue{constructor(){this.start=new Nt,this.stop=new Nt,this.start.value="#ffffff",this.stop.value="#000000"}load(t){void 0!==t&&(this.start=Nt.create(this.start,t.start),this.stop=Nt.create(this.stop,t.stop))}}class ve{constructor(){this.gradient=new ue,this.radius=1e3}load(t){void 0!==t&&(this.gradient.load(t.gradient),void 0!==t.radius&&(this.radius=t.radius))}}class pe{constructor(){this.color=new Nt,this.color.value="#000000",this.length=2e3}load(t){void 0!==t&&(this.color=Nt.create(this.color,t.color),void 0!==t.length&&(this.length=t.length))}}class fe{constructor(){this.area=new ve,this.shadow=new pe}load(t){void 0!==t&&(this.area.load(t.area),this.shadow.load(t.shadow))}}class me{constructor(){this.default=!0,this.groups=[],this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(void 0===t)return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map((t=>t))),this.groups.length||(this.default=!0);const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}class ye{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(void 0===t)return;const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}class ge{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing="ease-out-quad"}load(t){t&&(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed))}}class we extends ge{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((()=>`#${t}`)):`#${t}`}load(t){super.load(t),void 0!==t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class be extends ge{load(t){super.load(t),void 0!==(null==t?void 0:t.divs)&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new we;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new we),this.divs.load(t.divs)))}}class xe{constructor(){this.factor=3,this.radius=200}get active(){return!1}set active(t){}load(t){void 0!==t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}class ke{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(t){void 0!==t&&(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.quantity&&(this.quantity=t.quantity),void 0!==t.particles&&(this.particles=S({},t.particles)),void 0!==t.pauseOnStop&&(this.pauseOnStop=t.pauseOnStop))}}class Me{constructor(){this.attract=new se,this.bounce=new oe,this.bubble=new re,this.connect=new ce,this.grab=new de,this.light=new fe,this.push=new me,this.remove=new ye,this.repulse=new be,this.slow=new xe,this.trail=new ke}load(t){void 0!==t&&(this.attract.load(t.attract),this.bubble.load(t.bubble),this.connect.load(t.connect),this.grab.load(t.grab),this.light.load(t.light),this.push.load(t.push),this.remove.load(t.remove),this.repulse.load(t.repulse),this.slow.load(t.slow),this.trail.load(t.trail))}}class ze{constructor(){this.detectsOn="window",this.events=new ie,this.modes=new Me}get detect_on(){return this.detectsOn}set detect_on(t){this.detectsOn=t}load(t){var e,i,s;if(void 0===t)return;const o=null!==(e=t.detectsOn)&&void 0!==e?e:t.detect_on;void 0!==o&&(this.detectsOn=o),this.events.load(t.events),this.modes.load(t.modes),!0===(null===(s=null===(i=t.modes)||void 0===i?void 0:i.slow)||void 0===s?void 0:s.active)&&(this.events.onHover.mode instanceof Array?this.events.onHover.mode.indexOf("slow")<0&&this.events.onHover.mode.push("slow"):"slow"!==this.events.onHover.mode&&(this.events.onHover.mode=[this.events.onHover.mode,"slow"]))}}class Pe{load(t){var e,i;t&&(void 0!==t.position&&(this.position={x:null!==(e=t.position.x)&&void 0!==e?e:50,y:null!==(i=t.position.y)&&void 0!==i?i:50}),void 0!==t.options&&(this.options=S({},t.options)))}}class Ce{constructor(){this.factor=4,this.value=!0}load(t){t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.value&&(this.value=t.value))}}class Te{constructor(){this.disable=!1,this.reduce=new Ce}load(t){t&&(void 0!==t.disable&&(this.disable=t.disable),this.reduce.load(t.reduce))}}class Se{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.sync=!0}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(this.offset=l(t.offset)),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class Oe{constructor(){this.h=new Se,this.s=new Se,this.l=new Se}load(t){t&&(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class Ie extends Nt{constructor(){super(),this.animation=new Oe}static create(t,e){const i=new Ie;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),!t)return;const e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}class Ee{constructor(){this.angle=new Re,this.colors=[],this.type="random"}load(t){t&&(this.angle.load(t.angle),void 0!==t.colors&&(this.colors=t.colors.map((t=>{const e=new De;return e.load(t),e}))),void 0!==t.type&&(this.type=t.type))}}class Re{constructor(){this.value=0,this.animation=new Fe,this.direction="clockwise"}load(t){t&&(this.animation.load(t.animation),void 0!==t.value&&(this.value=t.value),void 0!==t.direction&&(this.direction=t.direction))}}class Ae{constructor(){this.value=0,this.animation=new Le}load(t){t&&(this.animation.load(t.animation),void 0!==t.value&&(this.value=l(t.value)))}}class De{constructor(){this.stop=0,this.value=new Ie}load(t){t&&(void 0!==t.stop&&(this.stop=t.stop),this.value=Ie.create(this.value,t.value),void 0!==t.opacity&&(this.opacity=new Ae,"number"==typeof t.opacity?this.opacity.value=t.opacity:this.opacity.load(t.opacity)))}}class Fe{constructor(){this.count=0,this.enable=!1,this.speed=0,this.sync=!1}load(t){t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class Le{constructor(){this.count=0,this.enable=!1,this.speed=0,this.sync=!1,this.startValue="random"}load(t){t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync),void 0!==t.startValue&&(this.startValue=t.startValue))}}class qe{constructor(){this.enable=!1,this.minimumValue=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}class He{constructor(){this.random=new qe,this.value=0}load(t){t&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random),void 0!==t.value&&(this.value=l(t.value,this.random.enable?this.random.minimumValue:void 0)))}}class Ve extends He{constructor(){super(),this.random.minimumValue=.1,this.value=1}}class _e{constructor(){this.horizontal=new Ve,this.vertical=new Ve}load(t){t&&(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class We{constructor(){this.enable=!0,this.retries=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class Be{constructor(){this.bounce=new _e,this.enable=!1,this.mode="bounce",this.overlap=new We}load(t){void 0!==t&&(this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class je extends He{constructor(){super(),this.value=3}}class Ge extends He{constructor(){super(),this.value={min:4,max:9}}}class $e{constructor(){this.count=1,this.factor=new je,this.rate=new Ge,this.sizeOffset=!0}load(t){t&&(void 0!==t.count&&(this.count=t.count),this.factor.load(t.factor),this.rate.load(t.rate),void 0!==t.particles&&(this.particles=S({},t.particles)),void 0!==t.sizeOffset&&(this.sizeOffset=t.sizeOffset))}}class Je{constructor(){this.mode="none",this.split=new $e}load(t){t&&(void 0!==t.mode&&(this.mode=t.mode),this.split.load(t.split))}}class Ne extends He{constructor(){super(),this.sync=!1}load(t){t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Xe extends He{constructor(){super(),this.random.minimumValue=1e-4,this.sync=!1}load(t){void 0!==t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Ye{constructor(){this.count=0,this.delay=new Ne,this.duration=new Xe}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class Ue{constructor(){this.blur=5,this.color=new Nt,this.enable=!1,this.color.value="#00ff00"}load(t){void 0!==t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=Nt.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class Qe{constructor(){this.enable=!1,this.frequency=1}load(t){void 0!==t&&(void 0!==t.color&&(this.color=Nt.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Ze{constructor(){this.blink=!1,this.color=new Nt,this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new Ue,this.triangles=new Qe,this.width=1,this.warp=!1}load(t){void 0!==t&&(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=Nt.create(this.color,t.color),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.distance&&(this.distance=t.distance),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity),this.shadow.load(t.shadow),this.triangles.load(t.triangles),void 0!==t.width&&(this.width=t.width),void 0!==t.warp&&(this.warp=t.warp))}}class Ke{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}get rotateX(){return this.rotate.x}set rotateX(t){this.rotate.x=t}get rotateY(){return this.rotate.y}set rotateY(t){this.rotate.y=t}load(t){var e,i,s,o;if(!t)return;void 0!==t.distance&&(this.distance=t.distance),void 0!==t.enable&&(this.enable=t.enable);const n=null!==(i=null===(e=t.rotate)||void 0===e?void 0:e.x)&&void 0!==i?i:t.rotateX;void 0!==n&&(this.rotate.x=n);const a=null!==(o=null===(s=t.rotate)||void 0===s?void 0:s.y)&&void 0!==o?o:t.rotateY;void 0!==a&&(this.rotate.y=a)}}class ti{constructor(){this.offset=0,this.value=90}load(t){void 0!==t&&(void 0!==t.offset&&(this.offset=t.offset),void 0!==t.value&&(this.value=t.value))}}class ei{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=t.acceleration),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed))}}class ii{constructor(){this.default="out"}load(t){var e,i,s,o;t&&(void 0!==t.default&&(this.default=t.default),this.bottom=null!==(e=t.bottom)&&void 0!==e?e:t.default,this.left=null!==(i=t.left)&&void 0!==i?i:t.default,this.right=null!==(s=t.right)&&void 0!==s?s:t.default,this.top=null!==(o=t.top)&&void 0!==o?o:t.default)}}class si extends He{constructor(){super()}}class oi{constructor(){this.clamp=!0,this.delay=new si,this.enable=!1,this.options={}}load(t){void 0!==t&&(void 0!==t.clamp&&(this.clamp=t.clamp),this.delay.load(t.delay),void 0!==t.enable&&(this.enable=t.enable),this.generator=t.generator,t.options&&(this.options=S(this.options,t.options)))}}class ni{constructor(){this.acceleration=0,this.enable=!1}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=l(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),this.position=t.position?S({},t.position):void 0)}}class ai{constructor(){this.enable=!1,this.length=10,this.fillColor=new Nt,this.fillColor.value="#000000"}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),this.fillColor=Nt.create(this.fillColor,t.fillColor),void 0!==t.length&&(this.length=t.length))}}class ri{constructor(){this.angle=new ti,this.attract=new Ke,this.decay=0,this.distance={},this.direction="none",this.drift=0,this.enable=!1,this.gravity=new ei,this.path=new oi,this.outModes=new ii,this.random=!1,this.size=!1,this.speed=2,this.spin=new ni,this.straight=!1,this.trail=new ai,this.vibrate=!1,this.warp=!1}get collisions(){return!1}set collisions(t){}get bounce(){return this.collisions}set bounce(t){this.collisions=t}get out_mode(){return this.outMode}set out_mode(t){this.outMode=t}get outMode(){return this.outModes.default}set outMode(t){this.outModes.default=t}get noise(){return this.path}set noise(t){this.path=t}load(t){var e,i,s;if(void 0===t)return;void 0!==t.angle&&("number"==typeof t.angle?this.angle.value=t.angle:this.angle.load(t.angle)),this.attract.load(t.attract),void 0!==t.decay&&(this.decay=t.decay),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance="number"==typeof t.distance?{horizontal:t.distance,vertical:t.distance}:S({},t.distance)),void 0!==t.drift&&(this.drift=l(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);const o=null!==(e=t.outMode)&&void 0!==e?e:t.out_mode;void 0===t.outModes&&void 0===o||("string"==typeof t.outModes||void 0===t.outModes&&void 0!==o?this.outModes.load({default:null!==(i=t.outModes)&&void 0!==i?i:o}):this.outModes.load(t.outModes)),this.path.load(null!==(s=t.path)&&void 0!==s?s:t.noise),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=l(t.speed)),this.spin.load(t.spin),void 0!==t.straight&&(this.straight=t.straight),this.trail.load(t.trail),void 0!==t.vibrate&&(this.vibrate=t.vibrate),void 0!==t.warp&&(this.warp=t.warp)}}class li{constructor(){this.count=0,this.enable=!1,this.speed=1,this.sync=!1}load(t){t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class ci extends li{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=2,this.startValue="random",this.sync=!1}get opacity_min(){return this.minimumValue}set opacity_min(t){this.minimumValue=t}load(t){var e;void 0!==t&&(super.load(t),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.opacity_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class hi extends He{constructor(){super(),this.animation=new ci,this.random.minimumValue=.1,this.value=1}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(!t)return;super.load(t);const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=l(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class di extends He{constructor(){super(),this.value=45,this.random.enable=!1,this.random.minimumValue=0}load(t){void 0!==t&&super.load(t)}}class ui{constructor(){this.animation=new li,this.enable=!1,this.opacity=1,this.rotation=new di,this.width=1}load(t){void 0!==t&&(this.animation.load(t.animation),this.rotation.load(t.rotation),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.width&&(this.width=t.width),void 0!==t.radius&&(this.radius=t.radius),void 0!==t.color&&(this.color=Nt.create(this.color,t.color)))}}class vi{constructor(){this.enable=!1,this.area=800,this.factor=1e3}get value_area(){return this.area}set value_area(t){this.area=t}load(t){var e;if(void 0===t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.area)&&void 0!==e?e:t.value_area;void 0!==i&&(this.area=i),void 0!==t.factor&&(this.factor=t.factor)}}class pi{constructor(){this.density=new vi,this.limit=0,this.value=100}get max(){return this.limit}set max(t){this.limit=t}load(t){var e;if(void 0===t)return;this.density.load(t.density);const i=null!==(e=t.limit)&&void 0!==e?e:t.max;void 0!==i&&(this.limit=i),void 0!==t.value&&(this.value=t.value)}}class fi extends He{constructor(){super(),this.enabled=!1,this.distance=1,this.duration=1,this.factor=1,this.speed=1}load(t){super.load(t),t&&(void 0!==t.enabled&&(this.enabled=t.enabled),void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.speed&&(this.speed=t.speed))}}class mi{constructor(){this.enable=!1,this.value=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.value&&(this.value=t.value))}}class yi{constructor(){this.darken=new mi,this.enable=!1,this.enlighten=new mi,this.mode="vertical",this.speed=25}load(t){t&&(void 0!==t.backColor&&(this.backColor=Nt.create(this.backColor,t.backColor)),this.darken.load(t.darken),void 0!==t.enable&&(this.enable=t.enable),this.enlighten.load(t.enlighten),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.speed&&(this.speed=l(t.speed)))}}class gi{constructor(){this.enable=!1,this.speed=0,this.sync=!1}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class wi extends He{constructor(){super(),this.animation=new gi,this.direction="clockwise",this.path=!1,this.value=0}load(t){t&&(super.load(t),void 0!==t.direction&&(this.direction=t.direction),this.animation.load(t.animation),void 0!==t.path&&(this.path=t.path))}}class bi{constructor(){this.blur=0,this.color=new Nt,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000000"}load(t){void 0!==t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=Nt.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(void 0!==t.offset.x&&(this.offset.x=t.offset.x),void 0!==t.offset.y&&(this.offset.y=t.offset.y)))}}class xi{constructor(){this.options={},this.type="circle"}get image(){var t;return null!==(t=this.options.image)&&void 0!==t?t:this.options.images}set image(t){this.options.image=t,this.options.images=t}get custom(){return this.options}set custom(t){this.options=t}get images(){return this.image}set images(t){this.image=t}get stroke(){return[]}set stroke(t){}get character(){var t;return null!==(t=this.options.character)&&void 0!==t?t:this.options.char}set character(t){this.options.character=t,this.options.char=t}get polygon(){var t;return null!==(t=this.options.polygon)&&void 0!==t?t:this.options.star}set polygon(t){this.options.polygon=t,this.options.star=t}load(t){var e,i,s;if(void 0===t)return;const o=null!==(e=t.options)&&void 0!==e?e:t.custom;if(void 0!==o)for(const t in o){const e=o[t];void 0!==e&&(this.options[t]=S(null!==(i=this.options[t])&&void 0!==i?i:{},e))}this.loadShape(t.character,"character","char",!0),this.loadShape(t.polygon,"polygon","star",!1),this.loadShape(null!==(s=t.image)&&void 0!==s?s:t.images,"image","images",!0),void 0!==t.type&&(this.type=t.type)}loadShape(t,e,i,s){var o,n,a,r;void 0!==t&&(t instanceof Array?(this.options[e]instanceof Array||(this.options[e]=[],this.options[i]&&!s||(this.options[i]=[])),this.options[e]=S(null!==(o=this.options[e])&&void 0!==o?o:[],t),this.options[i]&&!s||(this.options[i]=S(null!==(n=this.options[i])&&void 0!==n?n:[],t))):(this.options[e]instanceof Array&&(this.options[e]={},this.options[i]&&!s||(this.options[i]={})),this.options[e]=S(null!==(a=this.options[e])&&void 0!==a?a:{},t),this.options[i]&&!s||(this.options[i]=S(null!==(r=this.options[i])&&void 0!==r?r:{},t))))}}class ki extends li{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=5,this.startValue="random",this.sync=!1}get size_min(){return this.minimumValue}set size_min(t){this.minimumValue=t}load(t){var e;void 0!==t&&(super.load(t),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.size_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class Mi extends He{constructor(){super(),this.animation=new ki,this.random.minimumValue=1,this.value=3}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(!t)return;super.load(t);const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=l(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class zi{constructor(){this.width=0}load(t){void 0!==t&&(void 0!==t.color&&(this.color=Ie.create(this.color,t.color)),void 0!==t.width&&(this.width=t.width),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Pi{constructor(){this.enable=!1,this.speed=0,this.sync=!1}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class Ci extends He{constructor(){super(),this.animation=new Pi,this.direction="clockwise",this.enable=!1,this.value=0}load(t){t&&(super.load(t),this.animation.load(t.animation),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.enable&&(this.enable=t.enable))}}class Ti{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(t){void 0!==t&&(void 0!==t.color&&(this.color=Nt.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Si{constructor(){this.lines=new Ti,this.particles=new Ti}load(t){void 0!==t&&(this.lines.load(t.lines),this.particles.load(t.particles))}}class Oi{constructor(){this.distance=5,this.enable=!1,this.speed=50}load(t){t&&(void 0!==t.distance&&(this.distance=l(t.distance)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=l(t.speed)))}}class Ii extends He{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),t&&(void 0!==t.opacityRate&&(this.opacityRate=t.opacityRate),void 0!==t.sizeRate&&(this.sizeRate=t.sizeRate),void 0!==t.velocityRate&&(this.velocityRate=t.velocityRate))}}class Ei{constructor(){this.bounce=new _e,this.collisions=new Be,this.color=new Ie,this.destroy=new Je,this.gradient=[],this.groups={},this.life=new Ye,this.links=new Ze,this.move=new ri,this.number=new pi,this.opacity=new hi,this.orbit=new ui,this.reduceDuplicates=!1,this.repulse=new fi,this.roll=new yi,this.rotate=new wi,this.shadow=new bi,this.shape=new xi,this.size=new Mi,this.stroke=new zi,this.tilt=new Ci,this.twinkle=new Si,this.wobble=new Oi,this.zIndex=new Ii}get line_linked(){return this.links}set line_linked(t){this.links=t}get lineLinked(){return this.links}set lineLinked(t){this.links=t}load(t){var e,i,s,o,n,a,r,l;if(void 0===t)return;this.bounce.load(t.bounce),this.color.load(Ie.create(this.color,t.color)),this.destroy.load(t.destroy),this.life.load(t.life);const c=null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked;if(void 0!==c&&this.links.load(c),void 0!==t.groups)for(const e in t.groups){const i=t.groups[e];void 0!==i&&(this.groups[e]=S(null!==(s=this.groups[e])&&void 0!==s?s:{},i))}this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),this.orbit.load(t.orbit),void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.repulse.load(t.repulse),this.roll.load(t.roll),this.rotate.load(t.rotate),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.tilt.load(t.tilt),this.twinkle.load(t.twinkle),this.wobble.load(t.wobble),this.zIndex.load(t.zIndex);const h=null!==(n=null===(o=t.move)||void 0===o?void 0:o.collisions)&&void 0!==n?n:null===(a=t.move)||void 0===a?void 0:a.bounce;void 0!==h&&(this.collisions.enable=h),this.collisions.load(t.collisions);const d=null!==(r=t.stroke)&&void 0!==r?r:null===(l=t.shape)||void 0===l?void 0:l.stroke;d&&(d instanceof Array?this.stroke=d.map((t=>{const e=new zi;return e.load(t),e})):(this.stroke instanceof Array&&(this.stroke=new zi),this.stroke.load(d)));const u=t.gradient;u&&(u instanceof Array?this.gradient=u.map((t=>{const e=new Ee;return e.load(t),e})):(this.gradient instanceof Array&&(this.gradient=new Ee),this.gradient.load(u)))}}class Ri{constructor(){this.maxWidth=1/0,this.options={},this.mode="canvas"}load(t){t&&(void 0!==t.maxWidth&&(this.maxWidth=t.maxWidth),void 0!==t.mode&&("screen"===t.mode?this.mode="screen":this.mode="canvas"),void 0!==t.options&&(this.options=S({},t.options)))}}class Ai{constructor(){this.auto=!1,this.mode="any",this.value=!1}load(t){t&&(void 0!==t.auto&&(this.auto=t.auto),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class Di{constructor(){this.name="",this.default=new Ai}load(t){void 0!==t&&(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=S({},t.options)))}}var Fi,Li,qi,Hi=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},Vi=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class _i{constructor(t){Fi.add(this),Li.set(this,void 0),Hi(this,Li,t,"f"),this.autoPlay=!0,this.background=new Xt,this.backgroundMask=new Ut,this.fullScreen=new Qt,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new ze,this.manualParticles=[],this.motion=new Te,this.particles=new Ei,this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.style={},this.themes=[],this.zLayers=100}get fps_limit(){return this.fpsLimit}set fps_limit(t){this.fpsLimit=t}get retina_detect(){return this.detectRetina}set retina_detect(t){this.detectRetina=t}get backgroundMode(){return this.fullScreen}set backgroundMode(t){this.fullScreen.load(t)}load(t){var e,i,s,o,n;if(void 0===t)return;if(void 0!==t.preset)if(t.preset instanceof Array)for(const e of t.preset)this.importPreset(e);else this.importPreset(t.preset);void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay);const a=null!==(e=t.detectRetina)&&void 0!==e?e:t.retina_detect;void 0!==a&&(this.detectRetina=a),void 0!==t.duration&&(this.duration=t.duration);const r=null!==(i=t.fpsLimit)&&void 0!==i?i:t.fps_limit;void 0!==r&&(this.fpsLimit=r),void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur),void 0!==t.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=t.pauseOnOutsideViewport),void 0!==t.zLayers&&(this.zLayers=t.zLayers),this.background.load(t.background);const l=null!==(s=t.fullScreen)&&void 0!==s?s:t.backgroundMode;if("boolean"==typeof l?this.fullScreen.enable=l:this.fullScreen.load(l),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),void 0!==t.manualParticles&&(this.manualParticles=t.manualParticles.map((t=>{const e=new Pe;return e.load(t),e}))),this.motion.load(t.motion),this.particles.load(t.particles),this.style=S(this.style,t.style),Vi(this,Li,"f").plugins.loadOptions(this,t),void 0!==t.responsive)for(const e of t.responsive){const t=new Ri;t.load(e),this.responsive.push(t)}if(this.responsive.sort(((t,e)=>t.maxWidth-e.maxWidth)),void 0!==t.themes)for(const e of t.themes){const t=new Di;t.load(e),this.themes.push(t)}this.defaultDarkTheme=null===(o=Vi(this,Fi,"m",qi).call(this,"dark"))||void 0===o?void 0:o.name,this.defaultLightTheme=null===(n=Vi(this,Fi,"m",qi).call(this,"light"))||void 0===n?void 0:n.name}setTheme(t){if(t){const e=this.themes.find((e=>e.name===t));e&&this.load(e.options)}else{const t="undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)"),e=t&&t.matches,i=Vi(this,Fi,"m",qi).call(this,e?"dark":"light");i&&this.load(i.options)}}setResponsive(t,e,i){this.load(i);const s=this.responsive.find((i=>"screen"===i.mode&&screen?i.maxWidth*e>screen.availWidth:i.maxWidth*e>t));return this.load(null==s?void 0:s.options),null==s?void 0:s.maxWidth}importPreset(t){this.load(Vi(this,Li,"f").plugins.getPreset(t))}}Li=new WeakMap,Fi=new WeakSet,qi=function(t){var e;return null!==(e=this.themes.find((e=>e.default.value&&e.default.mode===t)))&&void 0!==e?e:this.themes.find((t=>t.default.value&&"any"===t.default.mode))};var Wi,Bi=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},ji=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};const Gi=t=>{(x(t.outMode,t.checkModes)||x(t.outMode,t.checkModes))&&(t.coord>t.maxCoord-2*t.radius?t.setCb(-t.radius):t.coord<2*t.radius&&t.setCb(t.radius))};class $i{constructor(t,e,s,l,h,v){var p,f,m,y,g,w,b,x,k;this.id=e,this.container=s,this.group=v,Wi.set(this,void 0),Bi(this,Wi,t,"f"),this.fill=!0,this.close=!0,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.splitCount=0,this.misplaced=!1,this.retina={maxDistance:{}};const M=s.retina.pixelRatio,P=s.actualOptions,C=new Ei;C.load(P.particles);const T=C.shape.type,S=C.reduceDuplicates;if(this.shape=T instanceof Array?z(T,this.id,S):T,null==h?void 0:h.shape){if(h.shape.type){const t=h.shape.type;this.shape=t instanceof Array?z(t,this.id,S):t}const t=new xi;t.load(h.shape),this.shape&&(this.shapeData=this.loadShapeData(t,S))}else this.shapeData=this.loadShapeData(C.shape,S);void 0!==h&&C.load(h),void 0!==(null===(p=this.shapeData)||void 0===p?void 0:p.particles)&&C.load(null===(f=this.shapeData)||void 0===f?void 0:f.particles),this.fill=null!==(y=null===(m=this.shapeData)||void 0===m?void 0:m.fill)&&void 0!==y?y:this.fill,this.close=null!==(w=null===(g=this.shapeData)||void 0===g?void 0:g.close)&&void 0!==w?w:this.close,this.options=C,this.pathDelay=1e3*c(this.options.move.path.delay);const O=n(this.options.zIndex.value);s.retina.initParticle(this);const I=this.options.size,E=I.value;this.size={enable:I.animation.enable,value:c(I)*s.retina.pixelRatio,max:r(E)*M,min:a(E)*M,loops:0,maxLoops:I.animation.count};const R=I.animation;if(R.enable){switch(this.size.status=0,R.startValue){case"min":this.size.value=this.size.min,this.size.status=0;break;case"random":this.size.value=o(this.size)*M,this.size.status=Math.random()>=.5?0:1;break;case"max":default:this.size.value=this.size.max,this.size.status=1}this.size.velocity=(null!==(b=this.retina.sizeAnimationSpeed)&&void 0!==b?b:s.retina.sizeAnimationSpeed)/100*s.retina.reduceFactor,R.sync||(this.size.velocity*=Math.random())}this.direction=u(this.options.move.direction),this.bubble={inRange:!1},this.initialVelocity=this.calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-n(this.options.move.decay),this.position=this.calcPosition(s,l,i(O,0,s.zLayers)),this.initialPosition=this.position.copy(),this.offset=Gt.origin;const A=s.particles;A.needsSort=A.needsSort||A.lastZIndex<this.position.z,A.lastZIndex=this.position.z,this.zIndexFactor=this.position.z/s.zLayers,this.sides=24;let D=s.drawers.get(this.shape);D||(D=ji(this,Wi,"f").plugins.getShapeDrawer(this.shape),D&&s.drawers.set(this.shape,D)),(null==D?void 0:D.loadShape)&&(null==D||D.loadShape(this));const F=null==D?void 0:D.getSidesCount;if(F&&(this.sides=F(this)),this.life=this.loadLife(),this.spawning=this.life.delay>0,this.options.move.spin.enable){const t=null!==(x=this.options.move.spin.position)&&void 0!==x?x:{x:50,y:50},e={x:t.x/100*s.canvas.size.width,y:t.y/100*s.canvas.size.height},i=d(this.getPosition(),e);this.spin={center:e,direction:this.velocity.x>=0?"clockwise":"counter-clockwise",angle:this.velocity.angle,radius:i,acceleration:null!==(k=this.retina.spinAcceleration)&&void 0!==k?k:n(this.options.move.spin.acceleration)}}this.shadowColor=H(this.options.shadow.color);for(const t of s.particles.updaters)t.init&&t.init(this);D&&D.particleInit&&D.particleInit(s,this);for(const[,t]of s.plugins)t.particleCreated&&t.particleCreated(this)}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}isInsideCanvas(){const t=this.getRadius(),e=this.container.canvas.size;return this.position.x>=-t&&this.position.y>=-t&&this.position.y<=e.height+t&&this.position.x<=e.width+t}draw(t){const e=this.container;for(const[,i]of e.plugins)e.canvas.drawParticlePlugin(i,this,t);e.canvas.drawParticle(this,t)}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){var t;return null!==(t=this.bubble.radius)&&void 0!==t?t:this.size.value}getMass(){return this.getRadius()**2*Math.PI/2}getFillColor(){var t,e;const i=null!==(t=this.bubble.color)&&void 0!==t?t:at(this.color);if(i&&this.roll&&(this.backColor||this.roll.alter)){const t="both"===this.options.roll.mode?2:1,s="horizontal"===this.options.roll.mode?Math.PI/2:0;if(Math.floor(((null!==(e=this.roll.angle)&&void 0!==e?e:0)+s)/(Math.PI/t))%2){if(this.backColor)return this.backColor;if(this.roll.alter)return Mt(i,this.roll.alter.type,this.roll.alter.value)}}return i}getStrokeColor(){var t,e;return null!==(e=null!==(t=this.bubble.color)&&void 0!==t?t:at(this.strokeColor))&&void 0!==e?e:this.getFillColor()}destroy(t){if(this.destroyed=!0,this.bubble.inRange=!1,this.unbreakable)return;this.destroyed=!0,this.bubble.inRange=!1;for(const[,e]of this.container.plugins)e.particleDestroyed&&e.particleDestroyed(this,t);if(t)return;"split"===this.options.destroy.mode&&this.split()}reset(){this.opacity&&(this.opacity.loops=0),this.size.loops=0}split(){const t=this.options.destroy.split;if(t.count>=0&&this.splitCount++>t.count)return;const e=n(t.rate.value);for(let t=0;t<e;t++)this.container.particles.addSplitParticle(this)}calcPosition(t,e,i,s=0){var o,n,a,r,l,c;for(const[,s]of t.plugins){const t=void 0!==s.particlePosition?s.particlePosition(e,this):void 0;if(void 0!==t)return $t.create(t.x,t.y,i)}const h=t.canvas.size,d=$t.create(null!==(o=null==e?void 0:e.x)&&void 0!==o?o:Math.random()*h.width,null!==(n=null==e?void 0:e.y)&&void 0!==n?n:Math.random()*h.height,i),u=this.getRadius(),v=this.options.move.outModes,p=e=>{Gi({outMode:e,checkModes:["bounce","bounce-horizontal"],coord:d.x,maxCoord:t.canvas.size.width,setCb:t=>d.x+=t,radius:u})},f=e=>{Gi({outMode:e,checkModes:["bounce","bounce-vertical"],coord:d.y,maxCoord:t.canvas.size.height,setCb:t=>d.y+=t,radius:u})};return p(null!==(a=v.left)&&void 0!==a?a:v.default),p(null!==(r=v.right)&&void 0!==r?r:v.default),f(null!==(l=v.top)&&void 0!==l?l:v.default),f(null!==(c=v.bottom)&&void 0!==c?c:v.default),this.checkOverlap(d,s)?this.calcPosition(t,void 0,i,s+1):d}checkOverlap(t,e=0){const i=this.options.collisions,s=this.getRadius();if(!i.enable)return!1;const o=i.overlap;if(o.enable)return!1;const n=o.retries;if(n>=0&&e>n)throw new Error("Particle is overlapping and can't be placed");let a=!1;for(const e of this.container.particles.array)if(d(t,e.position)<s+e.getRadius()){a=!0;break}return a}calculateVelocity(){const t=v(this.direction).copy(),e=this.options.move,i=Math.PI/180*e.angle.value,s=Math.PI/180*e.angle.offset,n={left:s-i/2,right:s+i/2};return e.straight||(t.angle+=o(l(n.left,n.right))),e.random&&"number"==typeof e.speed&&(t.length*=Math.random()),t}loadShapeData(t,e){const i=t.options[this.shape];if(i)return S({},i instanceof Array?z(i,this.id,e):i)}loadLife(){const t=this.container,e=this.options,i=e.life,s={delay:t.retina.reduceFactor?n(i.delay.value)*(i.delay.sync?1:Math.random())/t.retina.reduceFactor*1e3:0,delayTime:0,duration:t.retina.reduceFactor?n(i.duration.value)*(i.duration.sync?1:Math.random())/t.retina.reduceFactor*1e3:0,time:0,count:e.life.count};return s.duration<=0&&(s.duration=-1),s.count<=0&&(s.count=-1),s}}Wi=new WeakMap;var Ji,Ni=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},Xi=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class Yi{constructor(t,e){this.container=e,Ji.set(this,void 0),Ni(this,Ji,t,"f"),this.nextId=0,this.array=[],this.zArray=[],this.mover=new Ht(e),this.limit=0,this.needsSort=!1,this.lastZIndex=0,this.freqs={links:new Map,triangles:new Map},this.interactionManager=new Lt(Xi(this,Ji,"f"),e);const i=this.container.canvas.size;this.linksColors=new Map,this.quadTree=new jt(new Ct(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),this.updaters=Xi(this,Ji,"f").plugins.getUpdaters(e,!0)}get count(){return this.array.length}init(){var t;const e=this.container,i=e.actualOptions;this.lastZIndex=0,this.needsSort=!1,this.freqs.links=new Map,this.freqs.triangles=new Map;let s=!1;this.updaters=Xi(this,Ji,"f").plugins.getUpdaters(e,!0),this.interactionManager.init();for(const[,t]of e.plugins)if(void 0!==t.particlesInitialization&&(s=t.particlesInitialization()),s)break;if(this.addManualParticles(),!s){for(const e in i.particles.groups){const s=i.particles.groups[e];for(let o=this.count,n=0;n<(null===(t=s.number)||void 0===t?void 0:t.value)&&o<i.particles.number.value;o++,n++)this.addParticle(void 0,s,e)}for(let t=this.count;t<i.particles.number.value;t++)this.addParticle()}e.pathGenerator.init(e)}async redraw(){this.clear(),this.init(),await this.draw({value:0,factor:0})}removeAt(t,e=1,i,s){if(!(t>=0&&t<=this.count))return;let o=0;for(let n=t;o<e&&n<this.count;n++){const t=this.array[n];if(!t||t.group!==i)continue;t.destroy(s),this.array.splice(n--,1);const e=this.zArray.indexOf(t);this.zArray.splice(e,1),o++}}remove(t,e,i){this.removeAt(this.array.indexOf(t),void 0,e,i)}async update(t){const e=this.container,i=[];e.pathGenerator.update();for(const[,i]of e.plugins)void 0!==i.update&&i.update(t);for(const s of this.array){const o=e.canvas.resizeFactor;o&&(s.position.x*=o.width,s.position.y*=o.height),s.bubble.inRange=!1;for(const[,e]of this.container.plugins){if(s.destroyed)break;e.particleUpdate&&e.particleUpdate(s,t)}this.mover.move(s,t),s.destroyed?i.push(s):this.quadTree.insert(new Bt(s.getPosition(),s))}for(const t of i)this.remove(t);await this.interactionManager.externalInteract(t);for(const i of e.particles.array){for(const e of this.updaters)e.update(i,t);i.destroyed||i.spawning||await this.interactionManager.particlesInteract(i,t)}delete e.canvas.resizeFactor}async draw(t){const e=this.container;e.canvas.clear();const i=this.container.canvas.size;this.quadTree=new jt(new Ct(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),await this.update(t),this.needsSort&&(this.zArray.sort(((t,e)=>e.position.z-t.position.z||t.id-e.id)),this.lastZIndex=this.zArray[this.zArray.length-1].position.z,this.needsSort=!1);for(const[,i]of e.plugins)e.canvas.drawPlugin(i,t);for(const e of this.zArray)e.draw(t)}clear(){this.array=[],this.zArray=[]}push(t,e,i,s){this.pushing=!0;for(let o=0;o<t;o++)this.addParticle(null==e?void 0:e.position,i,s);this.pushing=!1}addParticle(t,e,i){const s=this.container,o=s.actualOptions.particles.number.limit*s.density;if(o>0){const t=this.count+1-o;t>0&&this.removeQuantity(t)}return this.pushParticle(t,e,i)}addSplitParticle(t){const e=t.options.destroy.split,i=new Ei;i.load(t.options);const s=n(e.factor.value);i.color.load({value:{hsl:t.getFillColor()}}),"number"==typeof i.size.value?i.size.value/=s:(i.size.value.min/=s,i.size.value.max/=s),i.load(e.particles);const a=e.sizeOffset?l(-t.size.value,t.size.value):0,r={x:t.position.x+o(a),y:t.position.y+o(a)};return this.pushParticle(r,i,t.group,(e=>!(e.size.value<.5)&&(e.velocity.length=o(l(t.velocity.length,e.velocity.length)),e.splitCount=t.splitCount+1,e.unbreakable=!0,setTimeout((()=>{e.unbreakable=!1}),500),!0)))}removeQuantity(t,e){this.removeAt(0,t,e)}getLinkFrequency(t,e){const i=l(t.id,e.id),s=`${a(i)}_${r(i)}`;let o=this.freqs.links.get(s);return void 0===o&&(o=Math.random(),this.freqs.links.set(s,o)),o}getTriangleFrequency(t,e,i){let[s,o,n]=[t.id,e.id,i.id];s>o&&([o,s]=[s,o]),o>n&&([n,o]=[o,n]),s>n&&([n,s]=[s,n]);const a=`${s}_${o}_${n}`;let r=this.freqs.triangles.get(a);return void 0===r&&(r=Math.random(),this.freqs.triangles.set(a,r)),r}addManualParticles(){const t=this.container,e=t.actualOptions;for(const i of e.manualParticles){const e=i.position?{x:i.position.x*t.canvas.size.width/100,y:i.position.y*t.canvas.size.height/100}:void 0;this.addParticle(e,i.options)}}setDensity(){const t=this.container.actualOptions;for(const e in t.particles.groups)this.applyDensity(t.particles.groups[e],0,e);this.applyDensity(t.particles,t.manualParticles.length)}applyDensity(t,e,i){var s;if(!(null===(s=t.number.density)||void 0===s?void 0:s.enable))return;const o=t.number,n=this.initDensityFactor(o.density),a=o.value,r=o.limit>0?o.limit:a,l=Math.min(a,r)*n+e,c=Math.min(this.count,this.array.filter((t=>t.group===i)).length);this.limit=o.limit*n,c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)}initDensityFactor(t){const e=this.container;if(!e.canvas.element||!t.enable)return 1;const i=e.canvas.element,s=e.retina.pixelRatio;return i.width*i.height/(t.factor*s**2*t.area)}pushParticle(t,e,i,s){try{const o=new $i(Xi(this,Ji,"f"),this.nextId,this.container,t,e,i);let n=!0;if(s&&(n=s(o)),!n)return;return this.array.push(o),this.zArray.push(o),this.nextId++,o}catch(t){return void console.warn(`error adding particle: ${t}`)}}}Ji=new WeakMap;class Ui{constructor(t){this.container=t}init(){const t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||g()?1:window.devicePixelRatio;const i=this.container.actualOptions.motion;if(i&&(i.disable||i.reduce.value))if(g()||"undefined"==typeof matchMedia||!matchMedia)this.reduceFactor=1;else{const e=matchMedia("(prefers-reduced-motion: reduce)");if(e){this.handleMotionChange(e);const i=()=>{this.handleMotionChange(e),t.refresh().catch((()=>{}))};void 0!==e.addEventListener?e.addEventListener("change",i):void 0!==e.addListener&&e.addListener(i)}}else this.reduceFactor=1;const s=this.pixelRatio;if(t.canvas.element){const e=t.canvas.element;t.canvas.size.width=e.offsetWidth*s,t.canvas.size.height=e.offsetHeight*s}const o=e.particles;this.attractDistance=o.move.attract.distance*s,this.linksDistance=o.links.distance*s,this.linksWidth=o.links.width*s,this.sizeAnimationSpeed=o.size.animation.speed*s,this.maxSpeed=o.move.gravity.maxSpeed*s,void 0!==o.orbit.radius&&(this.orbitRadius=o.orbit.radius*this.container.retina.pixelRatio);const n=e.interactivity.modes;this.connectModeDistance=n.connect.distance*s,this.connectModeRadius=n.connect.radius*s,this.grabModeDistance=n.grab.distance*s,this.repulseModeDistance=n.repulse.distance*s,this.bounceModeDistance=n.bounce.distance*s,this.attractModeDistance=n.attract.distance*s,this.slowModeRadius=n.slow.radius*s,this.bubbleModeDistance=n.bubble.distance*s,n.bubble.size&&(this.bubbleModeSize=n.bubble.size*s)}initParticle(t){const e=t.options,i=this.pixelRatio,s=e.move.distance,o=t.retina;o.attractDistance=e.move.attract.distance*i,o.linksDistance=e.links.distance*i,o.linksWidth=e.links.width*i,o.moveDrift=n(e.move.drift)*i,o.moveSpeed=n(e.move.speed)*i,o.sizeAnimationSpeed=e.size.animation.speed*i,t.spin&&(o.spinAcceleration=n(e.move.spin.acceleration)*i);const a=o.maxDistance;a.horizontal=void 0!==s.horizontal?s.horizontal*i:void 0,a.vertical=void 0!==s.vertical?s.vertical*i:void 0,o.maxSpeed=e.move.gravity.maxSpeed*i}handleMotionChange(t){const e=this.container.actualOptions;if(t.matches){const t=e.motion;this.reduceFactor=t.disable?0:t.reduce.value?1/t.reduce.factor:1}else this.reduceFactor=1}}var Qi,Zi=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},Ki=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class ts{constructor(t,e,i,...s){this.id=e,Qi.set(this,void 0),Zi(this,Qi,t,"f"),this.fpsLimit=120,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._sourceOptions=i,this._initialSourceOptions=i,this.retina=new Ui(this),this.canvas=new Jt(this),this.particles=new Yi(Ki(this,Qi,"f"),this),this.drawer=new Rt(this),this.presets=s,this.pathGenerator={generate:()=>{const t=Gt.create(0,0);return t.length=Math.random(),t.angle=Math.random()*Math.PI*2,t},init:()=>{},update:()=>{}},this.interactivity={mouse:{clicking:!1,inside:!1}},this.bubble={},this.repulse={particles:[]},this.attract={particles:[]},this.plugins=new Map,this.drawers=new Map,this.density=1,this._options=new _i(Ki(this,Qi,"f")),this.actualOptions=new _i(Ki(this,Qi,"f")),this.eventListeners=new It(this),"undefined"!=typeof IntersectionObserver&&IntersectionObserver&&(this.intersectionObserver=new IntersectionObserver((t=>this.intersectionManager(t))))}get options(){return this._options}get sourceOptions(){return this._sourceOptions}play(t){const e=this.paused||t;if(!this.firstStart||this.actualOptions.autoPlay){if(this.paused&&(this.paused=!1),e)for(const[,t]of this.plugins)t.play&&t.play();this.draw(e||!1)}else this.firstStart=!1}pause(){if(void 0!==this.drawAnimationFrame&&(b()(this.drawAnimationFrame),delete this.drawAnimationFrame),!this.paused){for(const[,t]of this.plugins)t.pause&&t.pause();this.pageHidden||(this.paused=!0)}}draw(t){let e=t;this.drawAnimationFrame=w()((async t=>{e&&(this.lastFrameTime=void 0,e=!1),await this.drawer.nextFrame(t)}))}getAnimationStatus(){return!this.paused&&!this.pageHidden}setNoise(t,e,i){this.setPath(t,e,i)}setPath(t,e,i){var s,o,n;if(t)if("function"==typeof t)this.pathGenerator.generate=t,e&&(this.pathGenerator.init=e),i&&(this.pathGenerator.update=i);else{const e=this.pathGenerator;this.pathGenerator=t,(s=this.pathGenerator).generate||(s.generate=e.generate),(o=this.pathGenerator).init||(o.init=e.init),(n=this.pathGenerator).update||(n.update=e.update)}}destroy(){this.stop(),this.canvas.destroy();for(const[,t]of this.drawers)t.destroy&&t.destroy(this);for(const t of this.drawers.keys())this.drawers.delete(t);this.destroyed=!0}exportImg(t){this.exportImage(t)}exportImage(t,e,i){var s;return null===(s=this.canvas.element)||void 0===s?void 0:s.toBlob(t,null!=e?e:"image/png",i)}exportConfiguration(){return JSON.stringify(this.actualOptions,void 0,2)}refresh(){return this.stop(),this.start()}reset(){return this._options=new _i(Ki(this,Qi,"f")),this.refresh()}stop(){if(this.started){this.firstStart=!0,this.started=!1,this.eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.clear(),this.interactivity.element instanceof HTMLElement&&this.intersectionObserver&&this.intersectionObserver.unobserve(this.interactivity.element);for(const[,t]of this.plugins)t.stop&&t.stop();for(const t of this.plugins.keys())this.plugins.delete(t);this.particles.linksColors=new Map,delete this.particles.grabLineColor,delete this.particles.linksColor,this._sourceOptions=this._options}}async loadTheme(t){this.currentTheme=t,await this.refresh()}async start(){if(!this.started){await this.init(),this.started=!0,this.eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this.intersectionObserver&&this.intersectionObserver.observe(this.interactivity.element);for(const[,t]of this.plugins)void 0!==t.startAsync?await t.startAsync():void 0!==t.start&&t.start();this.play()}}addClickHandler(t){const e=this.interactivity.element;if(!e)return;const i=(e,i,s)=>{if(this.destroyed)return;const o=this.retina.pixelRatio,n={x:i.x*o,y:i.y*o},a=this.particles.quadTree.queryCircle(n,s*o);t(e,a)};let s=!1,o=!1;e.addEventListener("click",(t=>{if(this.destroyed)return;const e=t,s={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY};i(t,s,1)})),e.addEventListener("touchstart",(()=>{this.destroyed||(s=!0,o=!1)})),e.addEventListener("touchmove",(()=>{this.destroyed||(o=!0)})),e.addEventListener("touchend",(t=>{var e,n,a;if(!this.destroyed){if(s&&!o){const s=t;let o=s.touches[s.touches.length-1];if(!o&&(o=s.changedTouches[s.changedTouches.length-1],!o))return;const r=null===(e=this.canvas.element)||void 0===e?void 0:e.getBoundingClientRect(),l={x:o.clientX-(null!==(n=null==r?void 0:r.left)&&void 0!==n?n:0),y:o.clientY-(null!==(a=null==r?void 0:r.top)&&void 0!==a?a:0)};i(t,l,Math.max(o.radiusX,o.radiusY))}s=!1,o=!1}})),e.addEventListener("touchcancel",(()=>{this.destroyed||(s=!1,o=!1)}))}updateActualOptions(){this.actualOptions.responsive=[];const t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this.currentTheme),this.responsiveMaxWidth!=t&&(this.responsiveMaxWidth=t,!0)}async init(){this._options=new _i(Ki(this,Qi,"f"));for(const t of this.presets)this._options.load(Ki(this,Qi,"f").plugins.getPreset(t));const t=Ki(this,Qi,"f").plugins.getSupportedShapes();for(const e of t){const t=Ki(this,Qi,"f").plugins.getShapeDrawer(e);t&&this.drawers.set(e,t)}this._options.load(this._initialSourceOptions),this._options.load(this._sourceOptions),this.actualOptions=new _i(Ki(this,Qi,"f")),this.actualOptions.load(this._options),this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize(),this.zLayers=this.actualOptions.zLayers,this.duration=n(this.actualOptions.duration),this.lifeTime=0,this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120;const e=Ki(this,Qi,"f").plugins.getAvailablePlugins(this);for(const[t,i]of e)this.plugins.set(t,i);for(const[,t]of this.drawers)t.init&&await t.init(this);for(const[,t]of this.plugins)t.init?t.init(this.actualOptions):void 0!==t.initAsync&&await t.initAsync(this.actualOptions);const i=this.actualOptions.particles.move.path;i.generator&&this.setPath(Ki(this,Qi,"f").plugins.getPathGenerator(i.generator)),this.particles.init(),this.particles.setDensity();for(const[,t]of this.plugins)void 0!==t.particlesSetup&&t.particlesSetup()}intersectionManager(t){if(this.actualOptions.pauseOnOutsideViewport)for(const e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play():this.pause())}}Qi=new WeakMap;var es,is=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},ss=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class os{constructor(t){es.set(this,void 0),is(this,es,t,"f")}dom(){return ss(this,es,"f").domArray}domItem(t){const e=this.dom(),i=e[t];if(i&&!i.destroyed)return i;e.splice(t,1)}async loadOptions(t){var e,i,s;const o=null!==(e=t.tagId)&&void 0!==e?e:`tsparticles${Math.floor(1e4*Math.random())}`,{options:n,index:a}=t;let r=null!==(i=t.element)&&void 0!==i?i:document.getElementById(o);r||(r=document.createElement("div"),r.id=o,null===(s=document.querySelector("body"))||void 0===s||s.append(r));const l=n instanceof Array?z(n,a):n,c=this.dom(),h=c.findIndex((t=>t.id===o));if(h>=0){const t=this.domItem(h);t&&!t.destroyed&&(t.destroy(),c.splice(h,1))}let d;if("canvas"===r.tagName.toLowerCase())d=r,d.dataset[St.generatedAttribute]="false";else{const t=r.getElementsByTagName("canvas");t.length?(d=t[0],d.dataset[St.generatedAttribute]="false"):(d=document.createElement("canvas"),d.dataset[St.generatedAttribute]="true",d.style.width="100%",d.style.height="100%",r.appendChild(d))}const u=new ts(ss(this,es,"f"),o,l);return h>=0?c.splice(h,0,u):c.push(u),u.canvas.loadCanvas(d),await u.start(),u}async loadRemoteOptions(t){const{url:e,index:i}=t,s=e instanceof Array?z(e,i):e;if(!s)return;const o=await fetch(s);if(!o.ok)return n=o.status,console.error(`Error tsParticles - fetch status: ${n}`),void console.error("Error tsParticles - File config not found");var n;const a=await o.json();return this.loadOptions({tagId:t.tagId,element:t.element,index:i,options:a})}load(t,e,i){const s={index:i};return"string"==typeof t?s.tagId=t:s.options=t,"number"==typeof e?s.index=null!=e?e:s.index:s.options=null!=e?e:s.options,this.loadOptions(s)}async set(t,e,i,s){const o={index:s};return"string"==typeof t?o.tagId=t:o.element=t,e instanceof HTMLElement?o.element=e:o.options=e,"number"==typeof i?o.index=i:o.options=null!=i?i:o.options,this.loadOptions(o)}async loadJSON(t,e,i){let s,o;return"number"==typeof e||void 0===e?s=t:(o=t,s=e),this.loadRemoteOptions({tagId:o,url:s,index:i})}async setJSON(t,e,i,s){let o,n,a,r;return t instanceof HTMLElement?(r=t,o=e,a=i):(n=t,r=e,o=i,a=s),this.loadRemoteOptions({tagId:n,url:o,index:a,element:r})}setOnClickHandler(t){const e=this.dom();if(0===e.length)throw new Error("Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()");for(const i of e)i.addClickHandler(t)}}es=new WeakMap;var ns,as,rs=function(t,e,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(t,i):o?o.value=i:e.set(t,i),i},ls=function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)};class cs{constructor(){ns.set(this,void 0),as.set(this,void 0),rs(this,ns,!1,"f"),this.domArray=[],rs(this,as,new os(this),"f"),this.plugins=new Wt(this)}init(){ls(this,ns,"f")||rs(this,ns,!0,"f")}async loadFromArray(t,e,i){return ls(this,as,"f").load(t,e,i)}async load(t,e){return ls(this,as,"f").load(t,e)}async set(t,e,i){return ls(this,as,"f").set(t,e,i)}async loadJSON(t,e,i){return ls(this,as,"f").loadJSON(t,e,i)}async setJSON(t,e,i,s){return ls(this,as,"f").setJSON(t,e,i,s)}setOnClickHandler(t){ls(this,as,"f").setOnClickHandler(t)}dom(){return ls(this,as,"f").dom()}domItem(t){return ls(this,as,"f").domItem(t)}async refresh(){for(const t of this.dom())await t.refresh()}async addShape(t,e,i,s,o){let n;n="function"==typeof e?{afterEffect:s,destroy:o,draw:e,init:i}:e,this.plugins.addShapeDrawer(t,n),await this.refresh()}async addPreset(t,e,i=!1){this.plugins.addPreset(t,e,i),await this.refresh()}async addPlugin(t){this.plugins.addPlugin(t),await this.refresh()}async addPathGenerator(t,e){this.plugins.addPathGenerator(t,e),await this.refresh()}async addInteractor(t,e){this.plugins.addInteractor(t,e),await this.refresh()}async addParticleUpdater(t,e){this.plugins.addParticleUpdater(t,e),await this.refresh()}}ns=new WeakMap,as=new WeakMap;const hs=new cs;hs.init();const{particlesJS:ds,pJSDom:us}=(t=>{const e=(e,i)=>t.load(e,i);e.load=(e,i,s)=>{t.loadJSON(e,i).then((t=>{t&&s(t)})).catch((()=>{s(void 0)}))},e.setOnClickHandler=e=>{t.setOnClickHandler(e)};return{particlesJS:e,pJSDom:t.dom()}})(hs);return e}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}(window,(function(){return function(){"use strict";var t={d:function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(t,e){const n=t.x-e.x,o=t.y-e.y;return{dx:n,dy:o,distance:Math.sqrt(n*n+o*o)}}function o(t,e){switch(e){case"ease-out-quad":return 1-(1-t)**2;case"ease-out-cubic":return 1-(1-t)**3;case"ease-out-quart":return 1-(1-t)**4;case"ease-out-quint":return 1-(1-t)**5;case"ease-out-expo":return 1===t?1:1-Math.pow(2,-10*t);case"ease-out-sine":return Math.sin(t*Math.PI/2);case"ease-out-back":{const e=1.70158;return 1+(e+1)*Math.pow(t-1,3)+e*Math.pow(t-1,2)}case"ease-out-circ":return Math.sqrt(1-Math.pow(t-1,2));default:return t}}function a(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}t.r(e),t.d(e,{loadExternalAttractInteraction:function(){return u}});class i extends class{constructor(t,e){this.position={x:t,y:e}}}{constructor(t,e,n){super(t,e),this.radius=n}contains(t){return e=t,o=this.position,n(e,o).distance<=this.radius;var e,o}intersects(t){const e=t,n=t,o=this.position,a=t.position,i=Math.abs(a.x-o.x),r=Math.abs(a.y-o.y),s=this.radius;if(void 0!==n.radius){return s+n.radius>Math.sqrt(i*i+r+r)}if(void 0!==e.size){const t=e.size.width,n=e.size.height,o=Math.pow(i-t,2)+Math.pow(r-n,2);return!(i>s+t||r>s+n)&&(i<=t||r<=n||o<=s*s)}return!1}}class r{}r.generatedAttribute="generated",r.randomColorValue="random",r.midColorValue="mid",r.touchEndEvent="touchend",r.mouseDownEvent="mousedown",r.mouseUpEvent="mouseup",r.mouseMoveEvent="mousemove",r.touchStartEvent="touchstart",r.touchMoveEvent="touchmove",r.mouseLeaveEvent="mouseleave",r.mouseOutEvent="mouseout",r.touchCancelEvent="touchcancel",r.resizeEvent="resize",r.visibilityChangeEvent="visibilitychange",r.noPolygonDataLoaded="No polygon data loaded.",r.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class s{constructor(t,e){let n,o;if(void 0===e){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const e=t;[n,o]=[e.x,e.y]}else[n,o]=[t,e];this.x=n,this.y=o}static clone(t){return s.create(t.x,t.y)}static create(t,e){return new s(t,e)}static get origin(){return s.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(t){this.updateFromAngle(this.angle,t)}add(t){return s.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return s.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return s.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return s.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}distanceTo(t){return this.sub(t).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(t){return this.sub(t).getLengthSq()}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}copy(){return s.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return s.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class c extends class{constructor(t){this.container=t,this.type=0}}{constructor(t){super(t)}isEnabled(){const t=this.container,e=t.actualOptions,n=t.interactivity.mouse,o=e.interactivity.events;if(!(n.position&&o.onHover.enable||n.clickPosition&&o.onClick.enable))return!1;const i=o.onHover.mode,r=o.onClick.mode;return a("attract",i)||a("attract",r)}reset(){}async interact(){const t=this.container,e=t.actualOptions,n=t.interactivity.status===r.mouseMoveEvent,o=e.interactivity.events,i=o.onHover.enable,s=o.onHover.mode,c=o.onClick.enable,u=o.onClick.mode;n&&i&&a("attract",s)?this.hoverAttract():c&&a("attract",u)&&this.clickAttract()}hoverAttract(){const t=this.container,e=t.interactivity.mouse.position;if(!e)return;const n=t.retina.attractModeDistance;this.processAttract(e,n,new i(e.x,e.y,n))}processAttract(t,e,a){const i=this.container,r=i.actualOptions.interactivity.modes.attract,c=i.particles.quadTree.query(a);for(const a of c){const{dx:i,dy:c,distance:l}=n(a.position,t),y=r.speed*r.factor,p=(u=o(1-l/e,r.easing)*y,h=0,d=r.maxSpeed,Math.min(Math.max(u,h),d)),v=s.create(0===l?y:i/l*p,0===l?y:c/l*p);a.position.subFrom(v)}var u,h,d}clickAttract(){const t=this.container;if(t.attract.finish||(t.attract.count||(t.attract.count=0),t.attract.count++,t.attract.count===t.particles.count&&(t.attract.finish=!0)),t.attract.clicking){const e=t.interactivity.mouse.clickPosition;if(!e)return;const n=t.retina.attractModeDistance;this.processAttract(e,n,new i(e.x,e.y,n))}else!1===t.attract.clicking&&(t.attract.particles=[])}}async function u(t){await t.addInteractor("externalAttract",(t=>new c(t)))}return e}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o=e();for(var n in o)("object"==typeof exports?exports:t)[n]=o[n]}}(window,(function(){return function(){"use strict";var t={d:function(e,o){for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function o(t){return"number"==typeof t?t:function(t){const e=i(t);let o=n(t);return e===o&&(o=0),Math.random()*(e-o)+o}(t)}function n(t){return"number"==typeof t?t:t.min}function i(t){return"number"==typeof t?t:t.max}function s(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const o=n(t),r=i(t);return void 0!==e?{min:Math.min(o,e),max:Math.max(r,e)}:s(o,r)}function r(t){const e=t.random,{enable:n,minimumValue:i}="boolean"==typeof e?{enable:e,minimumValue:0}:e;return o(n?s(t.value,i):t.value)}function a(t,e){const o=t.x-e.x,n=t.y-e.y;return{dx:o,dy:n,distance:Math.sqrt(o*o+n*n)}}function c(t,e,o,n){return b.create(t.x*(o-n)/(o+n)+2*e.x*n/(o+n),t.y)}function u(t,e,o,n,i,s){const r={bounced:!1};return e.min>=n.min&&e.min<=n.max&&e.max>=n.min&&e.max<=n.max&&(t.max>=o.min&&t.max<=(o.max+o.min)/2&&i>0||t.min<=o.max&&t.min>(o.max+o.min)/2&&i<0)&&(r.velocity=i*-s,r.bounced=!0),r}function h(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}function y(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function l(t,e){const o=t.selectors;if(o instanceof Array)for(const n of o)e(n,t);else e(o,t)}function f(t,e){const{x:o,y:n}=t.velocity.sub(e.velocity),[i,s]=[t.position,e.position],{dx:r,dy:u}=a(s,i);if(o*r+n*u>=0){const o=-Math.atan2(u,r),n=t.mass,i=e.mass,s=t.velocity.rotate(o),a=e.velocity.rotate(o),h=c(s,a,n,i),y=c(a,s,n,i),l=h.rotate(-o),f=y.rotate(-o);t.velocity.x=l.x*t.factor.x,t.velocity.y=l.y*t.factor.y,e.velocity.x=f.x*e.factor.x,e.velocity.y=f.y*e.factor.y}}function d(t,e){const o=y(t.getPosition(),t.getRadius()),n=u({min:o.left,max:o.right},{min:o.top,max:o.bottom},{min:e.left,max:e.right},{min:e.top,max:e.bottom},t.velocity.x,r(t.options.bounce.horizontal));n.bounced&&(void 0!==n.velocity&&(t.velocity.x=n.velocity),void 0!==n.position&&(t.position.x=n.position));const i=u({min:o.top,max:o.bottom},{min:o.left,max:o.right},{min:e.top,max:e.bottom},{min:e.left,max:e.right},t.velocity.y,r(t.options.bounce.vertical));i.bounced&&(void 0!==i.velocity&&(t.velocity.y=i.velocity),void 0!==i.position&&(t.position.y=i.position))}t.r(e),t.d(e,{loadExternalBounceInteraction:function(){return M}});class m{constructor(t,e){this.position={x:t,y:e}}}class x extends m{constructor(t,e,o){super(t,e),this.radius=o}contains(t){return e=t,o=this.position,a(e,o).distance<=this.radius;var e,o}intersects(t){const e=t,o=t,n=this.position,i=t.position,s=Math.abs(i.x-n.x),r=Math.abs(i.y-n.y),a=this.radius;if(void 0!==o.radius){return a+o.radius>Math.sqrt(s*s+r+r)}if(void 0!==e.size){const t=e.size.width,o=e.size.height,n=Math.pow(s-t,2)+Math.pow(r-o,2);return!(s>a+t||r>a+o)&&(s<=t||r<=o||n<=a*a)}return!1}}class p{}p.generatedAttribute="generated",p.randomColorValue="random",p.midColorValue="mid",p.touchEndEvent="touchend",p.mouseDownEvent="mousedown",p.mouseUpEvent="mouseup",p.mouseMoveEvent="mousemove",p.touchStartEvent="touchstart",p.touchMoveEvent="touchmove",p.mouseLeaveEvent="mouseleave",p.mouseOutEvent="mouseout",p.touchCancelEvent="touchcancel",p.resizeEvent="resize",p.visibilityChangeEvent="visibilitychange",p.noPolygonDataLoaded="No polygon data loaded.",p.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class v extends m{constructor(t,e,o,n){super(t,e),this.size={height:n,width:o}}contains(t){const e=this.size.width,o=this.size.height,n=this.position;return t.x>=n.x&&t.x<=n.x+e&&t.y>=n.y&&t.y<=n.y+o}intersects(t){const e=t,o=t,n=this.size.width,i=this.size.height,s=this.position,r=t.position;if(void 0!==o.radius)return o.intersects(this);if(void 0!==e.size){const t=e.size,o=t.width,a=t.height;return r.x<s.x+n&&r.x+o>s.x&&r.y<s.y+i&&r.y+a>s.y}return!1}}class b{constructor(t,e){let o,n;if(void 0===e){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const e=t;[o,n]=[e.x,e.y]}else[o,n]=[t,e];this.x=o,this.y=n}static clone(t){return b.create(t.x,t.y)}static create(t,e){return new b(t,e)}static get origin(){return b.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(t){this.updateFromAngle(this.angle,t)}add(t){return b.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return b.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return b.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return b.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}distanceTo(t){return this.sub(t).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(t){return this.sub(t).getLengthSq()}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}copy(){return b.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return b.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class g extends class{constructor(t){this.container=t,this.type=0}}{constructor(t){super(t)}isEnabled(){const t=this.container,e=t.actualOptions,o=t.interactivity.mouse,n=e.interactivity.events,i=n.onDiv;return o.position&&n.onHover.enable&&h("bounce",n.onHover.mode)||function(t,e){return e instanceof Array?!!e.find((e=>e.enable&&h(t,e.mode))):h(t,e.mode)}("bounce",i)}async interact(){const t=this.container,e=t.actualOptions.interactivity.events,o=t.interactivity.status===p.mouseMoveEvent,n=e.onHover.enable,i=e.onHover.mode,s=e.onDiv;o&&n&&h("bounce",i)?this.processMouseBounce():function(t,e,o){if(e instanceof Array)for(const n of e){const e=n.mode;n.enable&&h(t,e)&&l(n,o)}else{const n=e.mode;e.enable&&h(t,n)&&l(e,o)}}("bounce",s,((t,e)=>this.singleSelectorBounce(t,e)))}reset(){}processMouseBounce(){const t=this.container,e=10*t.retina.pixelRatio,o=t.interactivity.mouse.position,n=t.retina.bounceModeDistance;o&&this.processBounce(o,n,new x(o.x,o.y,n+e))}singleSelectorBounce(t,e){const o=this.container,n=document.querySelectorAll(t);n.length&&n.forEach((t=>{const n=t,i=o.retina.pixelRatio,s={x:(n.offsetLeft+n.offsetWidth/2)*i,y:(n.offsetTop+n.offsetHeight/2)*i},r=n.offsetWidth/2*i,a=10*i,c="circle"===e.type?new x(s.x,s.y,r+a):new v(n.offsetLeft*i-a,n.offsetTop*i-a,n.offsetWidth*i+2*a,n.offsetHeight*i+2*a);this.processBounce(s,r,c)}))}processBounce(t,e,o){const n=this.container.particles.quadTree.query(o);for(const s of n)o instanceof x?f({position:(i=s).getPosition(),radius:i.getRadius(),mass:i.getMass(),velocity:i.velocity,factor:b.create(r(i.options.bounce.horizontal),r(i.options.bounce.vertical))},{position:t,radius:e,mass:e**2*Math.PI/2,velocity:b.origin,factor:b.origin}):o instanceof v&&d(s,y(t,e));var i}}async function M(t){await t.addInteractor("externalBounce",(t=>new g(t)))}return e}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(e,t,o){return Math.min(Math.max(e,t),o)}function n(e,t,o,n){return Math.floor((e*o+t*n)/(o+n))}function i(e){const t=s(e);let o=r(e);return t===o&&(o=0),Math.random()*(t-o)+o}function r(e){return"number"==typeof e?e:e.min}function s(e){return"number"==typeof e?e:e.max}function a(e,t){if(e===t||void 0===t&&"number"==typeof e)return e;const o=r(e),n=s(e);return void 0!==t?{min:Math.min(o,t),max:Math.max(n,t)}:a(o,n)}function l(e,t){return function(e,t){const o=e.x-t.x,n=e.y-t.y;return{dx:o,dy:n,distance:Math.sqrt(o*o+n*n)}}(e,t).distance}function u(e,t){if(t instanceof Array){for(const o of t)if(e.matches(o))return!0;return!1}return e.matches(t)}function b(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}function c(e,t,o=!0){return e[void 0!==t&&o?t%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function d(e,t){const o=e.selectors;if(o instanceof Array)for(const n of o)t(n,e);else t(o,e)}function f(e,t){if(t&&e)return e instanceof Array?e.find((e=>u(t,e.selectors))):u(t,e.selectors)?e:void 0}function v(e,t,o){let n=o;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function h(e){if(e.startsWith("rgb")){const t=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?{a:t.length>4?parseFloat(t[5]):1,b:parseInt(t[3],10),g:parseInt(t[2],10),r:parseInt(t[1],10)}:void 0}if(e.startsWith("hsl")){const t=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?function(e){const t=g(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}({a:t.length>4?parseFloat(t[5]):1,h:parseInt(t[1],10),l:parseInt(t[3],10),s:parseInt(t[2],10)}):void 0}if(e.startsWith("hsv")){const t=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?function(e){const t=m(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}({a:t.length>4?parseFloat(t[5]):1,h:parseInt(t[1],10),s:parseInt(t[2],10),v:parseInt(t[3],10)}):void 0}{const t=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,o=e.replace(t,((e,t,o,n,i)=>t+t+o+o+n+n+(void 0!==i?i+i:""))),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(o);return n?{a:void 0!==n[4]?parseInt(n[4],16)/255:1,b:parseInt(n[3],16),g:parseInt(n[2],16),r:parseInt(n[1],16)}:void 0}}function p(e,t,o=!0){var n,i,r;if(void 0===e)return;const s="string"==typeof e?{value:e}:e;let a;if("string"==typeof s.value)a=s.value===O.randomColorValue?M():function(e){return h(e)}(s.value);else if(s.value instanceof Array){a=p({value:c(s.value,t,o)})}else{const e=s.value,t=null!==(n=e.rgb)&&void 0!==n?n:s.value;if(void 0!==t.r)a=t;else{const t=null!==(i=e.hsl)&&void 0!==i?i:s.value;if(void 0!==t.h&&void 0!==t.l)a=g(t);else{const t=null!==(r=e.hsv)&&void 0!==r?r:s.value;void 0!==t.h&&void 0!==t.v&&(a=m(t))}}}return a}function y(e){const t=e.r/255,o=e.g/255,n=e.b/255,i=Math.max(t,o,n),r=Math.min(t,o,n),s={h:0,l:(i+r)/2,s:0};return i!=r&&(s.s=s.l<.5?(i-r)/(i+r):(i-r)/(2-i-r),s.h=t===i?(o-n)/(i-r):s.h=o===i?2+(n-t)/(i-r):4+(t-o)/(i-r)),s.l*=100,s.s*=100,s.h*=60,s.h<0&&(s.h+=360),s}function g(e){const t={b:0,g:0,r:0},o={h:e.h/360,l:e.l/100,s:e.s/100};if(0===o.s)t.b=o.l,t.g=o.l,t.r=o.l;else{const e=o.l<.5?o.l*(1+o.s):o.l+o.s-o.l*o.s,n=2*o.l-e;t.r=v(n,e,o.h+1/3),t.g=v(n,e,o.h),t.b=v(n,e,o.h-1/3)}return t.r=Math.floor(255*t.r),t.g=Math.floor(255*t.g),t.b=Math.floor(255*t.b),t}function m(e){const t={b:0,g:0,r:0},o=e.h/60,n=e.s/100,i=e.v/100,r=i*n,s=r*(1-Math.abs(o%2-1));let a;if(o>=0&&o<=1?a={r:r,g:s,b:0}:o>1&&o<=2?a={r:s,g:r,b:0}:o>2&&o<=3?a={r:0,g:r,b:s}:o>3&&o<=4?a={r:0,g:s,b:r}:o>4&&o<=5?a={r:s,g:0,b:r}:o>5&&o<=6&&(a={r:r,g:0,b:s}),a){const e=i-r;t.r=Math.floor(255*(a.r+e)),t.g=Math.floor(255*(a.g+e)),t.b=Math.floor(255*(a.b+e))}return t}function M(e){const t=null!=e?e:0;return{b:Math.floor(i(a(t,256))),g:Math.floor(i(a(t,256))),r:Math.floor(i(a(t,256)))}}function x(e,t,o,i){let r=e,s=t;return void 0===r.r&&(r=g(e)),void 0===s.r&&(s=g(t)),{b:n(r.b,s.b,o,i),g:n(r.g,s.g,o,i),r:n(r.r,s.r,o,i)}}e.r(t),e.d(t,{loadExternalBubbleInteraction:function(){return B}});class z{constructor(e,t){this.position={x:e,y:t}}}class w extends z{constructor(e,t,o){super(e,t),this.radius=o}contains(e){return l(e,this.position)<=this.radius}intersects(e){const t=e,o=e,n=this.position,i=e.position,r=Math.abs(i.x-n.x),s=Math.abs(i.y-n.y),a=this.radius;if(void 0!==o.radius){return a+o.radius>Math.sqrt(r*r+s+s)}if(void 0!==t.size){const e=t.size.width,o=t.size.height,n=Math.pow(r-e,2)+Math.pow(s-o,2);return!(r>a+e||s>a+o)&&(r<=e||s<=o||n<=a*a)}return!1}}class O{}O.generatedAttribute="generated",O.randomColorValue="random",O.midColorValue="mid",O.touchEndEvent="touchend",O.mouseDownEvent="mousedown",O.mouseUpEvent="mouseup",O.mouseMoveEvent="mousemove",O.touchStartEvent="touchstart",O.touchMoveEvent="touchmove",O.mouseLeaveEvent="mouseleave",O.mouseOutEvent="mouseout",O.touchCancelEvent="touchcancel",O.resizeEvent="resize",O.visibilityChangeEvent="visibilitychange",O.noPolygonDataLoaded="No polygon data loaded.",O.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class E extends z{constructor(e,t,o,n){super(e,t),this.size={height:n,width:o}}contains(e){const t=this.size.width,o=this.size.height,n=this.position;return e.x>=n.x&&e.x<=n.x+t&&e.y>=n.y&&e.y<=n.y+o}intersects(e){const t=e,o=e,n=this.size.width,i=this.size.height,r=this.position,s=e.position;if(void 0!==o.radius)return o.intersects(this);if(void 0!==t.size){const e=t.size,o=e.width,a=e.height;return s.x<r.x+n&&s.x+o>r.x&&s.y<r.y+i&&s.y+a>r.y}return!1}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function C(e,t,n,i){if(t>=n){return o(e+(t-n)*i,e,t)}if(t<n){return o(e-(n-t)*i,t,e)}}new WeakMap;class k extends class{constructor(e){this.container=e,this.type=0}}{constructor(e){super(e)}isEnabled(){const e=this.container,t=e.actualOptions,o=e.interactivity.mouse,n=t.interactivity.events,i=function(e,t){return t instanceof Array?!!t.find((t=>t.enable&&b(e,t.mode))):b(e,t.mode)}("bubble",n.onDiv);if(!(i||n.onHover.enable&&o.position||n.onClick.enable&&o.clickPosition))return!1;const r=n.onHover.mode,s=n.onClick.mode;return b("bubble",r)||b("bubble",s)||i}reset(e,t){e.bubble.inRange&&!t||(delete e.bubble.div,delete e.bubble.opacity,delete e.bubble.radius,delete e.bubble.color)}async interact(){const e=this.container.actualOptions.interactivity.events,t=e.onHover,o=e.onClick,n=t.enable,i=t.mode,r=o.enable,s=o.mode,a=e.onDiv;n&&b("bubble",i)?this.hoverBubble():r&&b("bubble",s)?this.clickBubble():function(e,t,o){if(t instanceof Array)for(const n of t){const t=n.mode;n.enable&&b(e,t)&&d(n,o)}else{const n=t.mode;t.enable&&b(e,n)&&d(t,o)}}("bubble",a,((e,t)=>this.singleSelectorHover(e,t)))}singleSelectorHover(e,t){const o=this.container,n=document.querySelectorAll(e);n.length&&n.forEach((e=>{const n=e,i=o.retina.pixelRatio,r={x:(n.offsetLeft+n.offsetWidth/2)*i,y:(n.offsetTop+n.offsetHeight/2)*i},s=n.offsetWidth/2*i,a="circle"===t.type?new w(r.x,r.y,s):new E(n.offsetLeft*i,n.offsetTop*i,n.offsetWidth*i,n.offsetHeight*i),l=o.particles.quadTree.query(a);for(const e of l){if(!a.contains(e.getPosition()))continue;e.bubble.inRange=!0;const t=f(o.actualOptions.interactivity.modes.bubble.divs,n);e.bubble.div&&e.bubble.div===n||(this.reset(e,!0),e.bubble.div=n),this.hoverBubbleSize(e,1,t),this.hoverBubbleOpacity(e,1,t),this.hoverBubbleColor(e,1,t)}}))}process(e,t,o,n){const i=this.container,r=n.bubbleObj.optValue;if(void 0===r)return;const s=i.actualOptions.interactivity.modes.bubble.duration,a=i.retina.bubbleModeDistance,l=n.particlesObj.optValue,u=n.bubbleObj.value,b=n.particlesObj.value||0,c=n.type;if(r!==l)if(i.bubble.durationEnd)u&&("size"===c&&delete e.bubble.radius,"opacity"===c&&delete e.bubble.opacity);else if(t<=a){if((null!=u?u:b)!==r){const t=b-o*(b-r)/s;"size"===c&&(e.bubble.radius=t),"opacity"===c&&(e.bubble.opacity=t)}}else"size"===c&&delete e.bubble.radius,"opacity"===c&&delete e.bubble.opacity}clickBubble(){var e,t;const o=this.container,n=o.actualOptions,i=o.interactivity.mouse.clickPosition;if(!i)return;const r=o.retina.bubbleModeDistance,a=o.particles.quadTree.queryCircle(i,r);for(const r of a){if(!o.bubble.clicking)continue;r.bubble.inRange=!o.bubble.durationEnd;const a=l(r.getPosition(),i),u=((new Date).getTime()-(o.interactivity.mouse.clickTime||0))/1e3;u>n.interactivity.modes.bubble.duration&&(o.bubble.durationEnd=!0),u>2*n.interactivity.modes.bubble.duration&&(o.bubble.clicking=!1,o.bubble.durationEnd=!1);const b={bubbleObj:{optValue:o.retina.bubbleModeSize,value:r.bubble.radius},particlesObj:{optValue:s(r.options.size.value)*o.retina.pixelRatio,value:r.size.value},type:"size"};this.process(r,a,u,b);const c={bubbleObj:{optValue:n.interactivity.modes.bubble.opacity,value:r.bubble.opacity},particlesObj:{optValue:s(r.options.opacity.value),value:null!==(t=null===(e=r.opacity)||void 0===e?void 0:e.value)&&void 0!==t?t:1},type:"opacity"};this.process(r,a,u,c),o.bubble.durationEnd?delete r.bubble.color:a<=o.retina.bubbleModeDistance?this.hoverBubbleColor(r,a):delete r.bubble.color}}hoverBubble(){const e=this.container,t=e.interactivity.mouse.position;if(void 0===t)return;const o=e.retina.bubbleModeDistance,n=e.particles.quadTree.queryCircle(t,o);for(const i of n){i.bubble.inRange=!0;const n=l(i.getPosition(),t),r=1-n/o;n<=o?r>=0&&e.interactivity.status===O.mouseMoveEvent&&(this.hoverBubbleSize(i,r),this.hoverBubbleOpacity(i,r),this.hoverBubbleColor(i,r)):this.reset(i),e.interactivity.status===O.mouseLeaveEvent&&this.reset(i)}}hoverBubbleSize(e,t,o){const n=this.container,i=(null==o?void 0:o.size)?o.size*n.retina.pixelRatio:n.retina.bubbleModeSize;if(void 0===i)return;const r=s(e.options.size.value)*n.retina.pixelRatio,a=C(e.size.value,i,r,t);void 0!==a&&(e.bubble.radius=a)}hoverBubbleOpacity(e,t,o){var n,i,r;const a=this.container.actualOptions,l=null!==(n=null==o?void 0:o.opacity)&&void 0!==n?n:a.interactivity.modes.bubble.opacity;if(!l)return;const u=e.options.opacity.value,b=C(null!==(r=null===(i=e.opacity)||void 0===i?void 0:i.value)&&void 0!==r?r:1,l,s(u),t);void 0!==b&&(e.bubble.opacity=b)}hoverBubbleColor(e,t,o){const n=this.container.actualOptions,i=null!=o?o:n.interactivity.modes.bubble;if(!e.bubble.finalColor){const t=i.color;if(!t)return;const o=t instanceof Array?c(t):t;e.bubble.finalColor=function(e,t,o=!0){const n=p(e,t,o);return void 0!==n?y(n):void 0}(o)}if(e.bubble.finalColor)if(i.mix){e.bubble.color=void 0;const o=e.getFillColor();e.bubble.color=o?y(x(o,e.bubble.finalColor,1-t,t)):e.bubble.finalColor}else e.bubble.color=e.bubble.finalColor}}async function B(e){await e.addInteractor("externalBubble",(e=>new k(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}e.r(t),e.d(t,{loadExternalConnectInteraction:function(){return i}});class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class a extends class{constructor(e){this.container=e,this.type=0}}{constructor(e){super(e)}isEnabled(){const e=this.container,t=e.interactivity.mouse,o=e.actualOptions.interactivity.events;return!(!o.onHover.enable||!t.position)&&n("connect",o.onHover.mode)}reset(){}async interact(){const e=this.container;if(e.actualOptions.interactivity.events.onHover.enable&&"mousemove"===e.interactivity.status){const t=e.interactivity.mouse.position;if(!t)return;const n=Math.abs(e.retina.connectModeRadius),o=e.particles.quadTree.queryCircle(t,n);let a=0;for(const t of o){const n=t.getPosition();for(const i of o.slice(a+1)){const o=i.getPosition(),a=Math.abs(e.retina.connectModeDistance),r=Math.abs(n.x-o.x),c=Math.abs(n.y-o.y);r<a&&c<a&&e.canvas.drawConnectLine(t,i)}++a}}}}async function i(e){await e.addInteractor("externalConnect",(e=>new a(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e,t,n,o){return Math.floor((e*n+t*o)/(n+o))}function o(e){const t=a(e);let n=r(e);return t===n&&(n=0),Math.random()*(t-n)+n}function r(e){return"number"==typeof e?e:e.min}function a(e){return"number"==typeof e?e:e.max}function i(e,t){if(e===t||void 0===t&&"number"==typeof e)return e;const n=r(e),o=a(e);return void 0!==t?{min:Math.min(n,t),max:Math.max(o,t)}:i(n,o)}function s(e,t){return function(e,t){const n=e.x-t.x,o=e.y-t.y;return{dx:n,dy:o,distance:Math.sqrt(n*n+o*o)}}(e,t).distance}function l(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}function u(e,t,n=!0){return e[void 0!==t&&n?t%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function c(e,t,n){let o=n;return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}function d(e){if(e.startsWith("rgb")){const t=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?{a:t.length>4?parseFloat(t[5]):1,b:parseInt(t[3],10),g:parseInt(t[2],10),r:parseInt(t[1],10)}:void 0}if(e.startsWith("hsl")){const t=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?function(e){const t=v(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}({a:t.length>4?parseFloat(t[5]):1,h:parseInt(t[1],10),l:parseInt(t[3],10),s:parseInt(t[2],10)}):void 0}if(e.startsWith("hsv")){const t=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return t?function(e){const t=g(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}({a:t.length>4?parseFloat(t[5]):1,h:parseInt(t[1],10),s:parseInt(t[2],10),v:parseInt(t[3],10)}):void 0}{const t=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,n=e.replace(t,((e,t,n,o,r)=>t+t+n+n+o+o+(void 0!==r?r+r:""))),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(n);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}}function f(e,t,n=!0){var o,r,a;if(void 0===e)return;const i="string"==typeof e?{value:e}:e;let s;if("string"==typeof i.value)s=i.value===m.randomColorValue?p():function(e){return d(e)}(i.value);else if(i.value instanceof Array){s=f({value:u(i.value,t,n)})}else{const e=i.value,t=null!==(o=e.rgb)&&void 0!==o?o:i.value;if(void 0!==t.r)s=t;else{const t=null!==(r=e.hsl)&&void 0!==r?r:i.value;if(void 0!==t.h&&void 0!==t.l)s=v(t);else{const t=null!==(a=e.hsv)&&void 0!==a?a:i.value;void 0!==t.h&&void 0!==t.v&&(s=g(t))}}}return s}function v(e){const t={b:0,g:0,r:0},n={h:e.h/360,l:e.l/100,s:e.s/100};if(0===n.s)t.b=n.l,t.g=n.l,t.r=n.l;else{const e=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,o=2*n.l-e;t.r=c(o,e,n.h+1/3),t.g=c(o,e,n.h),t.b=c(o,e,n.h-1/3)}return t.r=Math.floor(255*t.r),t.g=Math.floor(255*t.g),t.b=Math.floor(255*t.b),t}function g(e){const t={b:0,g:0,r:0},n=e.h/60,o=e.s/100,r=e.v/100,a=r*o,i=a*(1-Math.abs(n%2-1));let s;if(n>=0&&n<=1?s={r:a,g:i,b:0}:n>1&&n<=2?s={r:i,g:a,b:0}:n>2&&n<=3?s={r:0,g:a,b:i}:n>3&&n<=4?s={r:0,g:i,b:a}:n>4&&n<=5?s={r:i,g:0,b:a}:n>5&&n<=6&&(s={r:a,g:0,b:i}),s){const e=r-a;t.r=Math.floor(255*(s.r+e)),t.g=Math.floor(255*(s.g+e)),t.b=Math.floor(255*(s.b+e))}return t}function p(e){const t=null!=e?e:0;return{b:Math.floor(o(i(t,256))),g:Math.floor(o(i(t,256))),r:Math.floor(o(i(t,256)))}}function b(e,t,o){var r,a;if(o===m.randomColorValue)return p();if("mid"!==o)return o;{const o=null!==(r=e.getFillColor())&&void 0!==r?r:e.getStrokeColor(),i=null!==(a=null==t?void 0:t.getFillColor())&&void 0!==a?a:null==t?void 0:t.getStrokeColor();if(o&&i&&t)return function(e,t,o,r){let a=e,i=t;return void 0===a.r&&(a=v(e)),void 0===i.r&&(i=v(t)),{b:n(a.b,i.b,o,r),g:n(a.g,i.g,o,r),r:n(a.r,i.r,o,r)}}(o,i,e.getRadius(),t.getRadius());{const e=null!=o?o:i;if(e)return v(e)}}}function h(e,t,n){const o="string"==typeof e?e:e.value;return o===m.randomColorValue?n?f({value:o}):t?m.randomColorValue:m.midColorValue:f({value:o})}e.r(t),e.d(t,{loadExternalGrabInteraction:function(){return M}});class m{}m.generatedAttribute="generated",m.randomColorValue="random",m.midColorValue="mid",m.touchEndEvent="touchend",m.mouseDownEvent="mousedown",m.mouseUpEvent="mouseup",m.mouseMoveEvent="mousemove",m.touchStartEvent="touchstart",m.touchMoveEvent="touchmove",m.mouseLeaveEvent="mouseleave",m.mouseOutEvent="mouseout",m.touchCancelEvent="touchcancel",m.resizeEvent="resize",m.visibilityChangeEvent="visibilitychange",m.noPolygonDataLoaded="No polygon data loaded.",m.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class y extends class{constructor(e){this.container=e,this.type=0}}{constructor(e){super(e)}isEnabled(){const e=this.container,t=e.interactivity.mouse,n=e.actualOptions.interactivity.events;return n.onHover.enable&&!!t.position&&l("grab",n.onHover.mode)}reset(){}async interact(){var e;const t=this.container,n=t.actualOptions,o=n.interactivity;if(o.events.onHover.enable&&t.interactivity.status===m.mouseMoveEvent){const r=t.interactivity.mouse.position;if(!r)return;const a=t.retina.grabModeDistance,i=t.particles.quadTree.queryCircle(r,a);for(const l of i){const i=s(l.getPosition(),r);if(i<=a){const s=o.modes.grab.links,u=s.opacity,c=u-i*u/a;if(c<=0)continue;const d=null!==(e=s.color)&&void 0!==e?e:l.options.links.color;if(!t.particles.grabLineColor){const e=n.interactivity.modes.grab.links;t.particles.grabLineColor=h(d,e.blink,e.consent)}const f=b(l,void 0,t.particles.grabLineColor);if(!f)return;t.canvas.drawGrabLine(l,f,c,r)}}}}}async function M(e){await e.addInteractor("externalGrab",(e=>new y(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var n in s)("object"==typeof exports?exports:e)[n]=s[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,s){for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function s(e,t){const s=e.x-t.x,n=e.y-t.y;return{dx:s,dy:n,distance:Math.sqrt(s*s+n*n)}}function n(e,t){switch(t){case"ease-out-quad":return 1-(1-e)**2;case"ease-out-cubic":return 1-(1-e)**3;case"ease-out-quart":return 1-(1-e)**4;case"ease-out-quint":return 1-(1-e)**5;case"ease-out-expo":return 1===e?1:1-Math.pow(2,-10*e);case"ease-out-sine":return Math.sin(e*Math.PI/2);case"ease-out-back":{const t=1.70158;return 1+(t+1)*Math.pow(e-1,3)+t*Math.pow(e-1,2)}case"ease-out-circ":return Math.sqrt(1-Math.pow(e-1,2));default:return e}}function i(e,t){if(t instanceof Array){for(const s of t)if(e.matches(s))return!0;return!1}return e.matches(t)}function o(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}function r(e,t){const s=e.selectors;if(s instanceof Array)for(const n of s)t(n,e);else t(s,e)}e.r(t),e.d(t,{loadExternalRepulseInteraction:function(){return p}});class a{constructor(e,t){this.position={x:e,y:t}}}class c extends a{constructor(e,t,s){super(e,t),this.radius=s}contains(e){return t=e,n=this.position,s(t,n).distance<=this.radius;var t,n}intersects(e){const t=e,s=e,n=this.position,i=e.position,o=Math.abs(i.x-n.x),r=Math.abs(i.y-n.y),a=this.radius;if(void 0!==s.radius){return a+s.radius>Math.sqrt(o*o+r+r)}if(void 0!==t.size){const e=t.size.width,s=t.size.height,n=Math.pow(o-e,2)+Math.pow(r-s,2);return!(o>a+e||r>a+s)&&(o<=e||r<=s||n<=a*a)}return!1}}class u{}u.generatedAttribute="generated",u.randomColorValue="random",u.midColorValue="mid",u.touchEndEvent="touchend",u.mouseDownEvent="mousedown",u.mouseUpEvent="mouseup",u.mouseMoveEvent="mousemove",u.touchStartEvent="touchstart",u.touchMoveEvent="touchmove",u.mouseLeaveEvent="mouseleave",u.mouseOutEvent="mouseout",u.touchCancelEvent="touchcancel",u.resizeEvent="resize",u.visibilityChangeEvent="visibilitychange",u.noPolygonDataLoaded="No polygon data loaded.",u.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class l extends a{constructor(e,t,s,n){super(e,t),this.size={height:n,width:s}}contains(e){const t=this.size.width,s=this.size.height,n=this.position;return e.x>=n.x&&e.x<=n.x+t&&e.y>=n.y&&e.y<=n.y+s}intersects(e){const t=e,s=e,n=this.size.width,i=this.size.height,o=this.position,r=e.position;if(void 0!==s.radius)return s.intersects(this);if(void 0!==t.size){const e=t.size,s=e.width,a=e.height;return r.x<o.x+n&&r.x+s>o.x&&r.y<o.y+i&&r.y+a>o.y}return!1}}class h{constructor(e,t){let s,n;if(void 0===t){if("number"==typeof e)throw new Error("tsParticles - Vector not initialized correctly");const t=e;[s,n]=[t.x,t.y]}else[s,n]=[e,t];this.x=s,this.y=n}static clone(e){return h.create(e.x,e.y)}static create(e,t){return new h(e,t)}static get origin(){return h.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this.updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(e){this.updateFromAngle(this.angle,e)}add(e){return h.create(this.x+e.x,this.y+e.y)}addTo(e){this.x+=e.x,this.y+=e.y}sub(e){return h.create(this.x-e.x,this.y-e.y)}subFrom(e){this.x-=e.x,this.y-=e.y}mult(e){return h.create(this.x*e,this.y*e)}multTo(e){this.x*=e,this.y*=e}div(e){return h.create(this.x/e,this.y/e)}divTo(e){this.x/=e,this.y/=e}distanceTo(e){return this.sub(e).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(e){return this.sub(e).getLengthSq()}manhattanDistanceTo(e){return Math.abs(e.x-this.x)+Math.abs(e.y-this.y)}copy(){return h.clone(this)}setTo(e){this.x=e.x,this.y=e.y}rotate(e){return h.create(this.x*Math.cos(e)-this.y*Math.sin(e),this.x*Math.sin(e)+this.y*Math.cos(e))}updateFromAngle(e,t){this.x=Math.cos(e)*t,this.y=Math.sin(e)*t}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class d extends class{constructor(e){this.container=e,this.type=0}}{constructor(e){super(e)}isEnabled(){const e=this.container,t=e.actualOptions,s=e.interactivity.mouse,n=t.interactivity.events,i=function(e,t){return t instanceof Array?!!t.find((t=>t.enable&&o(e,t.mode))):o(e,t.mode)}("repulse",n.onDiv);if(!(i||n.onHover.enable&&s.position||n.onClick.enable&&s.clickPosition))return!1;const r=n.onHover.mode,a=n.onClick.mode;return o("repulse",r)||o("repulse",a)||i}reset(){}async interact(){const e=this.container,t=e.actualOptions,s=e.interactivity.status===u.mouseMoveEvent,n=t.interactivity.events,i=n.onHover.enable,a=n.onHover.mode,c=n.onClick.enable,l=n.onClick.mode,h=n.onDiv;s&&i&&o("repulse",a)?this.hoverRepulse():c&&o("repulse",l)?this.clickRepulse():function(e,t,s){if(t instanceof Array)for(const n of t){const t=n.mode;n.enable&&o(e,t)&&r(n,s)}else{const n=t.mode;t.enable&&o(e,n)&&r(t,s)}}("repulse",h,((e,t)=>this.singleSelectorRepulse(e,t)))}singleSelectorRepulse(e,t){const s=this.container,n=document.querySelectorAll(e);n.length&&n.forEach((e=>{const n=e,o=s.retina.pixelRatio,r={x:(n.offsetLeft+n.offsetWidth/2)*o,y:(n.offsetTop+n.offsetHeight/2)*o},a=n.offsetWidth/2*o,u="circle"===t.type?new c(r.x,r.y,a):new l(n.offsetLeft*o,n.offsetTop*o,n.offsetWidth*o,n.offsetHeight*o),h=function(e,t){if(t&&e)return e instanceof Array?e.find((e=>i(t,e.selectors))):i(t,e.selectors)?e:void 0}(s.actualOptions.interactivity.modes.repulse.divs,n);this.processRepulse(r,a,u,h)}))}hoverRepulse(){const e=this.container,t=e.interactivity.mouse.position;if(!t)return;const s=e.retina.repulseModeDistance;this.processRepulse(t,s,new c(t.x,t.y,s))}processRepulse(e,t,i,o){var r;const a=this.container,c=a.particles.quadTree.query(i),u=a.actualOptions.interactivity.modes.repulse;for(const i of c){const{dx:a,dy:c,distance:f}=s(i.position,e),y=(null!==(r=null==o?void 0:o.speed)&&void 0!==r?r:u.speed)*u.factor,v=(l=n(1-f/t,u.easing)*y,d=0,p=u.maxSpeed,Math.min(Math.max(l,d),p)),x=h.create(0===f?y:a/f*v,0===f?y:c/f*v);i.position.addTo(x)}var l,d,p}clickRepulse(){const e=this.container;if(e.repulse.finish||(e.repulse.count||(e.repulse.count=0),e.repulse.count++,e.repulse.count===e.particles.count&&(e.repulse.finish=!0)),e.repulse.clicking){const t=e.retina.repulseModeDistance,n=Math.pow(t/6,3),i=e.interactivity.mouse.clickPosition;if(void 0===i)return;const o=new c(i.x,i.y,n),r=e.particles.quadTree.query(o);for(const t of r){const{dx:o,dy:r,distance:a}=s(i,t.position),c=a**2,u=e.actualOptions.interactivity.modes.repulse.speed,l=-n*u/c;if(c<=n){e.repulse.particles.push(t);const s=h.create(o,r);s.length=l,t.velocity.setTo(s)}}}else if(!1===e.repulse.clicking){for(const t of e.repulse.particles)t.velocity.setTo(t.initialVelocity);e.repulse.particles=[]}}}async function p(e){await e.addInteractor("externalRepulse",(e=>new d(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var i in o)("object"==typeof exports?exports:e)[i]=o[i]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var i in o)e.o(o,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:o[i]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}e.r(t),e.d(t,{loadExternalTrailInteraction:function(){return a}});class i{}i.generatedAttribute="generated",i.randomColorValue="random",i.midColorValue="mid",i.touchEndEvent="touchend",i.mouseDownEvent="mousedown",i.mouseUpEvent="mouseup",i.mouseMoveEvent="mousemove",i.touchStartEvent="touchstart",i.touchMoveEvent="touchmove",i.mouseLeaveEvent="mouseleave",i.mouseOutEvent="mouseout",i.touchCancelEvent="touchcancel",i.resizeEvent="resize",i.visibilityChangeEvent="visibilitychange",i.noPolygonDataLoaded="No polygon data loaded.",i.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class n extends class{constructor(e){this.container=e,this.type=0}}{constructor(e){super(e),this.delay=0}async interact(e){var t,o,i,n;if(!this.container.retina.reduceFactor)return;const a=this.container,r=a.actualOptions.interactivity.modes.trail,s=1e3*r.delay/this.container.retina.reduceFactor;if(this.delay<s&&(this.delay+=e.value),this.delay<s)return;let u=!0;r.pauseOnStop&&(a.interactivity.mouse.position===this.lastPosition||(null===(t=a.interactivity.mouse.position)||void 0===t?void 0:t.x)===(null===(o=this.lastPosition)||void 0===o?void 0:o.x)&&(null===(i=a.interactivity.mouse.position)||void 0===i?void 0:i.y)===(null===(n=this.lastPosition)||void 0===n?void 0:n.y))&&(u=!1),a.interactivity.mouse.position?this.lastPosition={x:a.interactivity.mouse.position.x,y:a.interactivity.mouse.position.y}:delete this.lastPosition,u&&a.particles.push(r.quantity,a.interactivity.mouse,r.particles),this.delay-=s}isEnabled(){const e=this.container,t=e.actualOptions,i=e.interactivity.mouse,n=t.interactivity.events;return i.clicking&&i.inside&&!!i.position&&o("trail",n.onClick.mode)||i.inside&&!!i.position&&o("trail",n.onHover.mode)}reset(){}}async function a(e){await e.addInteractor("externalTrail",(e=>new n(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(e,t){const o=e.x-t.x,n=e.y-t.y;return{dx:o,dy:n,distance:Math.sqrt(o*o+n*n)}}e.r(t),e.d(t,{loadParticlesAttractInteraction:function(){return r}});class n{}n.generatedAttribute="generated",n.randomColorValue="random",n.midColorValue="mid",n.touchEndEvent="touchend",n.mouseDownEvent="mousedown",n.mouseUpEvent="mouseup",n.mouseMoveEvent="mousemove",n.touchStartEvent="touchstart",n.touchMoveEvent="touchmove",n.mouseLeaveEvent="mouseleave",n.mouseOutEvent="mouseout",n.touchCancelEvent="touchcancel",n.resizeEvent="resize",n.visibilityChangeEvent="visibilitychange",n.noPolygonDataLoaded="No polygon data loaded.",n.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;new WeakMap;class a extends class{constructor(e){this.container=e,this.type=1}}{constructor(e){super(e)}async interact(e){var t;const n=this.container,a=null!==(t=e.retina.attractDistance)&&void 0!==t?t:n.retina.attractDistance,r=e.getPosition(),i=n.particles.quadTree.queryCircle(r,a);for(const t of i){if(e===t||!t.options.move.attract.enable||t.destroyed||t.spawning)continue;const n=t.getPosition(),{dx:a,dy:i}=o(r,n),c=e.options.move.attract.rotate,s=a/(1e3*c.x),u=i/(1e3*c.y),l=t.size.value/e.size.value,d=1/l;e.velocity.x-=s*l,e.velocity.y-=u*l,t.velocity.x+=s*d,t.velocity.y+=u*d}}isEnabled(e){return e.options.move.attract.enable}reset(){}}async function r(e){await e.addInteractor("particlesAttract",(e=>new a(e)))}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o=e();for(var i in o)("object"==typeof exports?exports:t)[i]=o[i]}}(window,(function(){return function(){"use strict";var t={d:function(e,o){for(var i in o)t.o(o,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:o[i]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{loadParticlesCollisionsInteraction:function(){return g}});class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class i{constructor(t,e){let o,i;if(void 0===e){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const e=t;[o,i]=[e.x,e.y]}else[o,i]=[t,e];this.x=o,this.y=i}static clone(t){return i.create(t.x,t.y)}static create(t,e){return new i(t,e)}static get origin(){return i.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(t){this.updateFromAngle(this.angle,t)}add(t){return i.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return i.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return i.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return i.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}distanceTo(t){return this.sub(t).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(t){return this.sub(t).getLengthSq()}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}copy(){return i.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return i.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function n(t,e,o){return Math.min(Math.max(t,e),o)}function s(t){return"number"==typeof t?t:function(t){const e=r(t);let o=a(t);return e===o&&(o=0),Math.random()*(e-o)+o}(t)}function a(t){return"number"==typeof t?t:t.min}function r(t){return"number"==typeof t?t:t.max}function u(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const o=a(t),i=r(t);return void 0!==e?{min:Math.min(o,e),max:Math.max(i,e)}:u(o,i)}function c(t){const e=t.random,{enable:o,minimumValue:i}="boolean"==typeof e?{enable:e,minimumValue:0}:e;return s(o?u(t.value,i):t.value)}function d(t,e){const o=t.x-e.x,i=t.y-e.y;return{dx:o,dy:i,distance:Math.sqrt(o*o+i*i)}}function l(t,e,o,n){return i.create(t.x*(o-n)/(o+n)+2*e.x*n/(o+n),t.y)}function y(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:i.create(c(t.options.bounce.horizontal),c(t.options.bounce.vertical))}}function h(t,e){!function(t,e){const{x:o,y:i}=t.velocity.sub(e.velocity),[n,s]=[t.position,e.position],{dx:a,dy:r}=d(s,n);if(o*a+i*r>=0){const o=-Math.atan2(r,a),i=t.mass,n=e.mass,s=t.velocity.rotate(o),u=e.velocity.rotate(o),c=l(s,u,i,n),d=l(u,s,i,n),y=c.rotate(-o),h=d.rotate(-o);t.velocity.x=y.x*t.factor.x,t.velocity.y=y.y*t.factor.y,e.velocity.x=h.x*e.factor.x,e.velocity.y=h.y*e.factor.y}}(y(t),y(e))}new WeakMap;class f extends class{constructor(t){this.container=t,this.type=1}}{constructor(t){super(t)}isEnabled(t){return t.options.collisions.enable}reset(){}async interact(t){const e=this.container,o=t.getPosition(),i=t.getRadius(),n=e.particles.quadTree.queryCircle(o,2*i);for(const e of n){if(t===e||!e.options.collisions.enable||t.options.collisions.mode!==e.options.collisions.mode||e.destroyed||e.spawning)continue;const n=e.getPosition();if(Math.round(o.z)!==Math.round(n.z))continue;d(o,n).distance<=i+e.getRadius()&&this.resolveCollision(t,e)}}resolveCollision(t,e){switch(t.options.collisions.mode){case"absorb":this.absorb(t,e);break;case"bounce":h(t,e);break;case"destroy":!function(t,e){t.unbreakable||e.unbreakable||h(t,e),void 0===t.getRadius()&&void 0!==e.getRadius()?t.destroy():void 0!==t.getRadius()&&void 0===e.getRadius()?e.destroy():void 0!==t.getRadius()&&void 0!==e.getRadius()&&(t.getRadius()>=e.getRadius()?e.destroy():t.destroy())}(t,e)}}absorb(t,e){const o=this.container,i=o.fpsLimit/1e3;if(void 0===t.getRadius()&&void 0!==e.getRadius())t.destroy();else if(void 0!==t.getRadius()&&void 0===e.getRadius())e.destroy();else if(void 0!==t.getRadius()&&void 0!==e.getRadius())if(t.getRadius()>=e.getRadius()){const s=n(t.getRadius()/e.getRadius(),0,e.getRadius())*i;t.size.value+=s,e.size.value-=s,e.getRadius()<=o.retina.pixelRatio&&(e.size.value=0,e.destroy())}else{const s=n(e.getRadius()/t.getRadius(),0,t.getRadius())*i;t.size.value-=s,e.size.value+=s,t.getRadius()<=o.retina.pixelRatio&&(t.size.value=0,t.destroy())}}}async function g(t){await t.addInteractor("particlesCollisions",(t=>new f(t)))}return e}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.2 by Matteo Bruni */
1
+ /*! tsParticles v1.41.3 by Matteo Bruni */
2
2
  !function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var i=n();for(var e in i)("object"==typeof exports?exports:t)[e]=i[e]}}(window,(function(){return function(){"use strict";var t={d:function(n,i){for(var e in i)t.o(i,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:i[e]})},o:function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};function i(t,n,i,e){return Math.floor((t*i+n*e)/(i+e))}function e(t){const n=s(t);let i=o(t);return n===i&&(i=0),Math.random()*(n-i)+i}function o(t){return"number"==typeof t?t:t.min}function s(t){return"number"==typeof t?t:t.max}function r(t,n){if(t===n||void 0===n&&"number"==typeof t)return t;const i=o(t),e=s(t);return void 0!==n?{min:Math.min(i,n),max:Math.max(e,n)}:r(i,e)}function a(t,n){const i=t.x-n.x,e=t.y-n.y;return{dx:i,dy:e,distance:Math.sqrt(i*i+e*e)}}function l(t,n){return a(t,n).distance}function c(t,n,i=!0){return t[void 0!==n&&i?n%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function u(t,n,i){let e=i;return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function d(t){if(t.startsWith("rgb")){const n=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?{a:n.length>4?parseFloat(n[5]):1,b:parseInt(n[3],10),g:parseInt(n[2],10),r:parseInt(n[1],10)}:void 0}if(t.startsWith("hsl")){const n=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=f(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),l:parseInt(n[3],10),s:parseInt(n[2],10)}):void 0}if(t.startsWith("hsv")){const n=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=p(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),s:parseInt(n[2],10),v:parseInt(n[3],10)}):void 0}{const n=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=t.replace(n,((t,n,i,e,o)=>n+n+i+i+e+e+(void 0!==o?o+o:""))),e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return e?{a:void 0!==e[4]?parseInt(e[4],16)/255:1,b:parseInt(e[3],16),g:parseInt(e[2],16),r:parseInt(e[1],16)}:void 0}}function h(t,n,i=!0){var e,o,s;if(void 0===t)return;const r="string"==typeof t?{value:t}:t;let a;if("string"==typeof r.value)a=r.value===M.randomColorValue?y():function(t){return d(t)}(r.value);else if(r.value instanceof Array){a=h({value:c(r.value,n,i)})}else{const t=r.value,n=null!==(e=t.rgb)&&void 0!==e?e:r.value;if(void 0!==n.r)a=n;else{const n=null!==(o=t.hsl)&&void 0!==o?o:r.value;if(void 0!==n.h&&void 0!==n.l)a=f(n);else{const n=null!==(s=t.hsv)&&void 0!==s?s:r.value;void 0!==n.h&&void 0!==n.v&&(a=p(n))}}}return a}function f(t){const n={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)n.b=i.l,n.g=i.l,n.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,e=2*i.l-t;n.r=u(e,t,i.h+1/3),n.g=u(e,t,i.h),n.b=u(e,t,i.h-1/3)}return n.r=Math.floor(255*n.r),n.g=Math.floor(255*n.g),n.b=Math.floor(255*n.b),n}function p(t){const n={b:0,g:0,r:0},i=t.h/60,e=t.s/100,o=t.v/100,s=o*e,r=s*(1-Math.abs(i%2-1));let a;if(i>=0&&i<=1?a={r:s,g:r,b:0}:i>1&&i<=2?a={r:r,g:s,b:0}:i>2&&i<=3?a={r:0,g:s,b:r}:i>3&&i<=4?a={r:0,g:r,b:s}:i>4&&i<=5?a={r:r,g:0,b:s}:i>5&&i<=6&&(a={r:s,g:0,b:r}),a){const t=o-s;n.r=Math.floor(255*(a.r+t)),n.g=Math.floor(255*(a.g+t)),n.b=Math.floor(255*(a.b+t))}return n}function y(t){const n=null!=t?t:0;return{b:Math.floor(e(r(n,256))),g:Math.floor(e(r(n,256))),r:Math.floor(e(r(n,256)))}}function g(t,n){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=n?n:1})`}function v(t,n,e){var o,s;if(e===M.randomColorValue)return y();if("mid"!==e)return e;{const e=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),r=null!==(s=null==n?void 0:n.getFillColor())&&void 0!==s?s:null==n?void 0:n.getStrokeColor();if(e&&r&&n)return function(t,n,e,o){let s=t,r=n;return void 0===s.r&&(s=f(t)),void 0===r.r&&(r=f(n)),{b:i(s.b,r.b,e,o),g:i(s.g,r.g,e,o),r:i(s.r,r.r,e,o)}}(e,r,t.getRadius(),n.getRadius());{const t=null!=e?e:r;if(t)return f(t)}}}function x(t,n,i){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.closePath()}t.r(n),t.d(n,{loadParticlesLinksInteraction:function(){return I}});class k{constructor(t,n){this.position={x:t,y:n}}}class b extends k{constructor(t,n,i){super(t,n),this.radius=i}contains(t){return l(t,this.position)<=this.radius}intersects(t){const n=t,i=t,e=this.position,o=t.position,s=Math.abs(o.x-e.x),r=Math.abs(o.y-e.y),a=this.radius;if(void 0!==i.radius){return a+i.radius>Math.sqrt(s*s+r+r)}if(void 0!==n.size){const t=n.size.width,i=n.size.height,e=Math.pow(s-t,2)+Math.pow(r-i,2);return!(s>a+t||r>a+i)&&(s<=t||r<=i||e<=a*a)}return!1}}class w extends k{constructor(t,n,i,e){super(t,n),this.size={height:e,width:i}}contains(t){const n=this.size.width,i=this.size.height,e=this.position;return t.x>=e.x&&t.x<=e.x+n&&t.y>=e.y&&t.y<=e.y+i}intersects(t){const n=t,i=t,e=this.size.width,o=this.size.height,s=this.position,r=t.position;if(void 0!==i.radius)return i.intersects(this);if(void 0!==n.size){const t=n.size,i=t.width,a=t.height;return r.x<s.x+e&&r.x+i>s.x&&r.y<s.y+o&&r.y+a>s.y}return!1}}class m extends b{constructor(t,n,i,e){super(t,n,i),this.canvasSize=e,this.canvasSize={height:e.height,width:e.width}}contains(t){if(super.contains(t))return!0;const n={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(n))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const e={x:t.x,y:t.y-this.canvasSize.height};return super.contains(e)}intersects(t){if(super.intersects(t))return!0;const n=t,i=t,e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new b(e.x,e.y,2*i.radius);return super.intersects(t)}if(void 0!==n.size){const t=new w(e.x,e.y,2*n.size.width,2*n.size.height);return super.intersects(t)}return!1}}class M{}M.generatedAttribute="generated",M.randomColorValue="random",M.midColorValue="mid",M.touchEndEvent="touchend",M.mouseDownEvent="mousedown",M.mouseUpEvent="mouseup",M.mouseMoveEvent="mousemove",M.touchStartEvent="touchstart",M.touchMoveEvent="touchmove",M.mouseLeaveEvent="mouseleave",M.mouseOutEvent="mouseout",M.touchCancelEvent="touchcancel",M.resizeEvent="resize",M.visibilityChangeEvent="visibilitychange",M.noPolygonDataLoaded="No polygon data loaded.",M.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function C(t,n,i,e,o){let s=l(t,n);if(!o||s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y}),s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y-e.height}),s<=i)return s;return s=l(t,{x:n.x,y:n.y-e.height}),s}new WeakMap;class z extends class{constructor(t){this.container=t,this.type=1}}{constructor(t){super(t)}isEnabled(t){return t.options.links.enable}reset(){}async interact(t){var n;t.links=[];const i=t.getPosition(),e=this.container,o=e.canvas.size;if(i.x<0||i.y<0||i.x>o.width||i.y>o.height)return;const s=t.options.links,r=s.opacity,a=null!==(n=t.retina.linksDistance)&&void 0!==n?n:e.retina.linksDistance,l=s.warp,c=l?new m(i.x,i.y,a,o):new b(i.x,i.y,a),u=e.particles.quadTree.query(c);for(const n of u){const e=n.options.links;if(t===n||!e.enable||s.id!==e.id||n.spawning||n.destroyed||-1!==t.links.map((t=>t.destination)).indexOf(n)||-1!==n.links.map((t=>t.destination)).indexOf(t))continue;const c=n.getPosition();if(c.x<0||c.y<0||c.x>o.width||c.y>o.height)continue;const u=C(i,c,a,o,l&&e.warp);if(u>a)return;const d=(1-u/a)*r;this.setColor(t),t.links.push({destination:n,opacity:d})}}setColor(t){const n=this.container,i=t.options.links;let e=void 0===i.id?n.particles.linksColor:n.particles.linksColors.get(i.id);if(!e){e=function(t,n,i){const e="string"==typeof t?t:t.value;return e===M.randomColorValue?i?h({value:e}):n?M.randomColorValue:M.midColorValue:h({value:e})}(i.color,i.blink,i.consent),void 0===i.id?n.particles.linksColor=e:n.particles.linksColors.set(i.id,e)}}}class P{constructor(t){this.container=t}particleCreated(t){t.links=[]}particleDestroyed(t){t.links=[]}drawParticle(t,n){const i=n,e=this.container,o=e.particles,s=n.options;if(i.links.length>0){t.save();const n=i.links.filter((t=>e.particles.getLinkFrequency(i,t.destination)<=s.links.frequency));for(const t of n){const r=t.destination;if(s.links.triangles.enable){const a=n.map((t=>t.destination)),l=r.links.filter((t=>e.particles.getLinkFrequency(r,t.destination)<=r.options.links.frequency&&a.indexOf(t.destination)>=0));if(l.length)for(const n of l){const e=n.destination;o.getTriangleFrequency(i,r,e)>s.links.triangles.frequency||this.drawLinkTriangle(i,t,n)}}t.opacity>0&&e.retina.linksWidth>0&&this.drawLinkLine(i,t)}t.restore()}}drawLinkTriangle(t,n,i){var e;const o=this.container,s=o.actualOptions,r=n.destination,a=i.destination,c=t.options.links.triangles,u=null!==(e=c.opacity)&&void 0!==e?e:(n.opacity+i.opacity)/2;if(u<=0)return;const d=t.getPosition(),f=r.getPosition(),p=a.getPosition();o.canvas.draw((n=>{if(l(d,f)>o.retina.linksDistance||l(p,f)>o.retina.linksDistance||l(p,d)>o.retina.linksDistance)return;let i=h(c.color);if(!i){const n=t.options.links,e=void 0!==n.id?o.particles.linksColors.get(n.id):o.particles.linksColor;i=v(t,r,e)}i&&function(t,n,i,e,o,s,r,a){!function(t,n,i,e){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.lineTo(e.x,e.y),t.closePath()}(t,n,i,e),o&&(t.globalCompositeOperation=s),t.fillStyle=g(r,a),t.fill()}(n,d,f,p,s.backgroundMask.enable,s.backgroundMask.composite,i,u)}))}drawLinkLine(t,n){const i=this.container,e=i.actualOptions,o=n.destination;let s=n.opacity;const r=t.getPosition(),c=o.getPosition();i.canvas.draw((n=>{var u,d;let f;const p=t.options.twinkle.lines;if(p.enable){const t=p.frequency,n=h(p.color);Math.random()<t&&void 0!==n&&(f=n,s=p.opacity)}if(!f){const n=t.options.links,e=void 0!==n.id?i.particles.linksColors.get(n.id):i.particles.linksColor;f=v(t,o,e)}if(!f)return;const y=null!==(u=t.retina.linksWidth)&&void 0!==u?u:i.retina.linksWidth,k=null!==(d=t.retina.linksDistance)&&void 0!==d?d:i.retina.linksDistance;!function(t,n,i,e,o,s,r,c,u,d,f,p){let y=!1;if(l(i,e)<=o)x(t,i,e),y=!0;else if(r){let n,r;const l=a(i,{x:e.x-s.width,y:e.y});if(l.distance<=o){const t=i.y-l.dy/l.dx*i.x;n={x:0,y:t},r={x:s.width,y:t}}else{const t=a(i,{x:e.x,y:e.y-s.height});if(t.distance<=o){const e=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);n={x:e,y:0},r={x:e,y:s.height}}else{const t=a(i,{x:e.x-s.width,y:e.y-s.height});if(t.distance<=o){const e=i.y-t.dy/t.dx*i.x;n={x:-e/(t.dy/t.dx),y:e},r={x:n.x+s.width,y:n.y+s.height}}}}n&&r&&(x(t,i,n),x(t,e,r),y=!0)}if(y){if(t.lineWidth=n,c&&(t.globalCompositeOperation=u),t.strokeStyle=g(d,f),p.enable){const n=h(p.color);n&&(t.shadowBlur=p.blur,t.shadowColor=g(n))}t.stroke()}}(n,y,r,c,k,i.canvas.size,t.options.links.warp,e.backgroundMask.enable,e.backgroundMask.composite,f,s,t.options.links.shadow)}))}}class S{constructor(){this.id="links"}getPlugin(t){return new P(t)}needsPlugin(){return!0}loadOptions(){}}async function I(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new z(t)))}(t),await async function(t){const n=new S;await t.addPlugin(n)}(t)}return n}()}));
package/tsparticles.js CHANGED
@@ -9953,7 +9953,7 @@
9953
9953
  }
9954
9954
  const minValue = particle.opacity.min;
9955
9955
  const maxValue = particle.opacity.max;
9956
- if (!(!particle.destroyed && particle.opacity.enable && (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)))) {
9956
+ if (particle.destroyed || !particle.opacity.enable || ((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) > 0 && ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) > ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)) {
9957
9957
  return;
9958
9958
  }
9959
9959
  switch (particle.opacity.status) {
@@ -10030,8 +10030,8 @@
10030
10030
  }
10031
10031
  }
10032
10032
  isEnabled(particle) {
10033
- var _a, _b, _c;
10034
- return !particle.destroyed && !particle.spawning && !!particle.opacity && particle.opacity.enable && (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0));
10033
+ var _a, _b, _c, _d;
10034
+ return !particle.destroyed && !particle.spawning && !!particle.opacity && particle.opacity.enable && (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.opacity.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.opacity.maxLoops) !== null && _d !== void 0 ? _d : 0));
10035
10035
  }
10036
10036
  update(particle, delta) {
10037
10037
  if (!this.isEnabled(particle)) {
@@ -10685,7 +10685,7 @@
10685
10685
  const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;
10686
10686
  const minValue = particle.size.min;
10687
10687
  const maxValue = particle.size.max;
10688
- if (!(!particle.destroyed && particle.size.enable && (((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) <= 0 || ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0)))) {
10688
+ if (particle.destroyed || !particle.size.enable || ((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) > ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0)) {
10689
10689
  return;
10690
10690
  }
10691
10691
  switch (particle.size.status) {
@@ -10709,6 +10709,7 @@
10709
10709
  }
10710
10710
  particle.size.loops++;
10711
10711
  } else {
10712
+ console.log("decreasing");
10712
10713
  particle.size.value -= sizeVelocity;
10713
10714
  }
10714
10715
  }
@@ -10720,8 +10721,8 @@
10720
10721
  class SizeUpdater {
10721
10722
  init() {}
10722
10723
  isEnabled(particle) {
10723
- var _a, _b, _c;
10724
- return !particle.destroyed && !particle.spawning && particle.size.enable && (((_a = particle.size.loops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.size.maxLoops) !== null && _c !== void 0 ? _c : 0));
10724
+ var _a, _b, _c, _d;
10725
+ return !particle.destroyed && !particle.spawning && particle.size.enable && (((_a = particle.size.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0));
10725
10726
  }
10726
10727
  update(particle, delta) {
10727
10728
  if (!this.isEnabled(particle)) {