{"version":3,"file":"component---src-pages-index-js-db5f6b80402e3ba0f6fd.js","mappings":"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","sources":["webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/createClass.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/get.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/inherits.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/superPropBase.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/typeof.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/regenerator/index.js","webpack://gatsby-starter-hello-world/./node_modules/fast-deep-equal/react.js","webpack://gatsby-starter-hello-world/./node_modules/react-fast-compare/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-side-effect/lib/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-tsparticles/cjs/particles.js","webpack://gatsby-starter-hello-world/./node_modules/react-tsparticles/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Canvas.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Container.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/ExternalInteractorBase.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/FrameManager.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/InteractionManager.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/Colors.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/Gradients.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IAttract.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IBounds.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IBubble.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IBubbleParticleData.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/ICircleBouncer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IContainerInteractivity.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IContainerPlugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/ICoordinates.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IDelta.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IDimension.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IDistance.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IExternalInteractor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IInteractor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IMouseData.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IMovePathGenerator.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleGradientAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleGradientColorAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleHslAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleLife.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleLoops.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleRetinaProps.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleSpin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticleValueAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IParticlesInteractor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IPlugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IRangeValue.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IRectSideResult.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IRepulse.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IShapeDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/IShapeValues.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Interfaces/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Loader.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Particle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Particle/Mover.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Particle/Vector.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Particle/Vector3d.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Particles.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/ParticlesInteractorBase.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Core/Retina.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/AnimationStatus.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Directions/MoveDirection.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Directions/OutModeDirection.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Directions/RotateDirection.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Directions/TiltDirection.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Directions/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/InteractivityDetect.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/ClickMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/CollisionMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/DestroyMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/DivMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/HoverMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/OutMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/ResponsiveMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/RollMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/SizeMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/ThemeMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Modes/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/AlterType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/DestroyType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/DivType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/EasingType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/GradientType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/InteractorType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/OrbitType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/ShapeType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/StartValueType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/Types/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Enums/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Attract/Attractor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Attract/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Bounce/Bouncer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Bounce/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Bubble/Bubbler.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Bubble/ProcessBubbleType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Bubble/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Connect/Connector.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Connect/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Grab/Grabber.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Grab/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Repulse/Repulser.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Repulse/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Trail/TrailMaker.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/External/Trail/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Attract/Attractor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Attract/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Collisions/Collider.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Collisions/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Links/LinkInstance.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Links/Linker.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Links/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Interactions/Particles/Links/plugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/AnimatableColor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/AnimatableGradient.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/AnimationOptions.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Background/Background.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/BackgroundMask/BackgroundMask.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/BackgroundMask/BackgroundMaskCover.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/ColorAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/FullScreen/FullScreen.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/HslAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Events/ClickEvent.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Events/DivEvent.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Events/Events.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Events/HoverEvent.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Events/Parallax.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Interactivity.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Attract.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Bounce.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Bubble.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/BubbleBase.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/BubbleDiv.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Connect.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/ConnectLinks.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Grab.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/GrabLinks.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Light.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightArea.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightGradient.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightShadow.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Modes.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Push.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Remove.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Repulse.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/RepulseBase.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/RepulseDiv.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Slow.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Interactivity/Modes/Trail.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/ManualParticle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Motion/Motion.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Motion/MotionReduce.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Options.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/OptionsColor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Bounce/Bounce.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Bounce/BounceFactor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Collisions/Collisions.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Collisions/CollisionsOverlap.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Destroy/Destroy.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Destroy/Split.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Destroy/SplitFactor.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Destroy/SplitRate.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Life/Life.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Life/LifeDelay.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Life/LifeDuration.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Links/Links.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Links/LinksShadow.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Links/LinksTriangle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Attract.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Move.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/MoveAngle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/MoveGravity.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/OutModes.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Path/Path.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Path/PathDelay.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Spin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Move/Trail.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Number/Density.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Number/ParticlesNumber.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Opacity/Opacity.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Opacity/OpacityAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Orbit/Orbit.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Orbit/OrbitRotation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/ParticlesOptions.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Repulse/Repulse.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Roll/Roll.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Roll/RollLight.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Rotate/Rotate.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Rotate/RotateAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Shadow.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Shape/Shape.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Size/Size.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Size/SizeAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Stroke.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Tilt/Tilt.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Tilt/TiltAnimation.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Twinkle/Twinkle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Twinkle/TwinkleValues.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/Wobble/Wobble.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Particles/ZIndex/ZIndex.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Random.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Responsive.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Theme/Theme.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/Theme/ThemeDefault.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Options/Classes/ValueWithRandom.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/AbsorberInstance.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Absorbers.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Enums/AbsorberClickMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Enums/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Options/Classes/Absorber.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Options/Classes/AbsorberSize.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Absorbers/plugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/EmitterInstance.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Emitters.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/EmittersMain.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Enums/EmitterClickMode.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Enums/EmitterShapeType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Enums/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Options/Classes/Emitter.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterLife.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterRate.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterSize.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/ShapeManager.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Shapes/Circle/CircleShape.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/Shapes/Square/SquareShape.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/Emitters/plugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Enums/InlineArrangement.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Enums/MoveType.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Enums/Type.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Enums/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Draw.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/DrawStroke.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Inline.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/LocalSvg.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Move.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/PolygonMask.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/PolygonMaskInstance.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/pathseg.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/plugin.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Plugins/PolygonMask/utils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Circle/CircleDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Circle/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Image/ImageDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Image/Utils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Image/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Line/LineDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Line/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Polygon/PolygonDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Polygon/PolygonDrawerBase.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Polygon/TriangleDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Polygon/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Square/SquareDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Square/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Star/StarDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Star/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Text/TextDrawer.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Shapes/Text/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/PathOptions.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/RangeValue.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/RecursivePartial.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/ShapeData.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/ShapeDrawerFunctions.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/SingleOrMultiple.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Types/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Angle/AngleUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Angle/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Color/ColorUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Color/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Life/LifeUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Life/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Opacity/OpacityUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Opacity/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/OutModes/OutOfCanvasUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/OutModes/Utils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/OutModes/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Roll/RollUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Roll/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Size/SizeUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Size/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/StrokeColor/StrokeColorUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/StrokeColor/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Tilt/TiltUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Tilt/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Wobble/WobbleUpdater.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Updaters/Wobble/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/CanvasUtils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Circle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/CircleWarp.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/ColorUtils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Constants.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/EventListeners.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/NumberUtils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Plugins.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Point.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/QuadTree.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Range.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Rectangle.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/Utils.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/Utils/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/full.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/index.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/main.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/pjs.js","webpack://gatsby-starter-hello-world/./node_modules/tsparticles/slim.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/a-callable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/an-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/array-includes.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/classof-raw.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/classof.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/create-property-descriptor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/descriptors.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/document-create-element.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/engine-user-agent.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/engine-v8-version.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/enum-bug-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/export.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/fails.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-bind-context.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-call.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-name.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-uncurry-this.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-built-in.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-iterator-method.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-iterator.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-method.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/global.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/has-own-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/hidden-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/ie8-dom-define.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/indexed-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/inspect-source.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/internal-state.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-callable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-forced.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-pure.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/iterate.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/iterator-close.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/iterators.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/length-of-array-like.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/native-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/native-weak-map.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/new-promise-capability.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-define-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-keys-internal.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/own-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/perform.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/redefine.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/require-object-coercible.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/set-global.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared-key.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared-store.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-absolute-index.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-indexed-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-length.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-primitive.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-property-key.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-string-tag-support.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/try-to-string.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/uid.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/well-known-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/es.promise.all-settled.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/esnext.promise.all-settled.js","webpack://gatsby-starter-hello-world/./node_modules/react-helmet/es/Helmet.js","webpack://gatsby-starter-hello-world/./src/pages/index.js","webpack://gatsby-starter-hello-world/./node_modules/regenerator-runtime/runtime.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","'use strict'; // do not edit .js files directly - edit src/index.jst\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n } // true if both NaN, false otherwise\n\n\n return a !== a && b !== b;\n};","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","(function () {\n \"use strict\";\n\n var e = {\n 904: function _(e, t, o) {\n o.d(t, {\n Z: function Z() {\n return v;\n }\n });\n\n var r = require(\"react\");\n\n var n = o.n(r);\n\n var i = require(\"tsparticles\"),\n a = require(\"fast-deep-equal/react\");\n\n var c = o.n(a);\n\n function l(e) {\n return (l = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function u(e, t) {\n for (var o = 0; o < t.length; o++) {\n var r = t[o];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function s(e, t, o) {\n return (s = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, o) {\n var r = function (e, t) {\n for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = f(e));) {\n ;\n }\n\n return e;\n }(e, t);\n\n if (r) {\n var n = Object.getOwnPropertyDescriptor(r, t);\n return n.get ? n.get.call(o) : n.value;\n }\n })(e, t, o || e);\n }\n\n function d(e, t) {\n return (d = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function p(e, t) {\n if (t && (\"object\" === l(t) || \"function\" == typeof t)) return t;\n if (void 0 !== t) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return function (e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }(e);\n }\n\n function f(e) {\n return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n var v = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && d(e, t);\n }(v, e);\n var t,\n o,\n r,\n a,\n l = (r = v, a = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = f(r);\n\n if (a) {\n var o = f(this).constructor;\n e = Reflect.construct(t, arguments, o);\n } else e = t.apply(this, arguments);\n\n return p(this, e);\n });\n\n function v(e) {\n var t;\n return function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, v), (t = l.call(this, e)).state = {\n library: void 0\n }, t;\n }\n\n return t = v, (o = [{\n key: \"destroy\",\n value: function value() {\n this.state.library && (this.state.library.destroy(), this.setState({\n library: void 0\n }));\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function value(e) {\n return !c()(e, this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function value() {\n this.refresh();\n }\n }, {\n key: \"forceUpdate\",\n value: function value() {\n this.refresh(), s(f(v.prototype), \"forceUpdate\", this).call(this);\n }\n }, {\n key: \"componentDidMount\",\n value: function value() {\n this.props.init && this.props.init(i.tsParticles), this.loadParticles();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function value() {\n this.destroy();\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this.props,\n t = e.width,\n o = e.height,\n r = e.className,\n i = e.canvasClassName,\n a = e.id;\n return n().createElement(\"div\", {\n className: r,\n id: a\n }, n().createElement(\"canvas\", {\n className: i,\n style: Object.assign(Object.assign({}, this.props.style), {\n width: t,\n height: o\n })\n }));\n }\n }, {\n key: \"refresh\",\n value: function value() {\n this.destroy(), this.loadParticles();\n }\n }, {\n key: \"loadParticles\",\n value: function value() {\n var e,\n t = this,\n o = function o(e) {\n t.props.container && (t.props.container.current = e), t.setState({\n library: e\n }), t.props.loaded && t.props.loaded(e);\n };\n\n this.props.url ? i.tsParticles.loadJSON(this.props.id, this.props.url).then(o) : i.tsParticles.load(this.props.id, null !== (e = this.props.params) && void 0 !== e ? e : this.props.options).then(o);\n }\n }]) && u(t.prototype, o), v;\n }(r.Component);\n\n v.defaultProps = {\n width: \"100%\",\n height: \"100%\",\n options: {},\n style: {},\n url: void 0,\n id: \"tsparticles\"\n };\n },\n 868: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.AnimationStatus = void 0, (o = t.AnimationStatus || (t.AnimationStatus = {}))[o.increasing = 0] = \"increasing\", o[o.decreasing = 1] = \"decreasing\";\n },\n 300: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.MoveDirection = void 0, (o = t.MoveDirection || (t.MoveDirection = {})).bottom = \"bottom\", o.bottomLeft = \"bottom-left\", o.bottomRight = \"bottom-right\", o.left = \"left\", o.none = \"none\", o.right = \"right\", o.top = \"top\", o.topLeft = \"top-left\", o.topRight = \"top-right\";\n },\n 264: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.OutModeDirection = void 0, (o = t.OutModeDirection || (t.OutModeDirection = {})).bottom = \"bottom\", o.left = \"left\", o.right = \"right\", o.top = \"top\";\n },\n 329: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.RotateDirection = void 0, (o = t.RotateDirection || (t.RotateDirection = {})).clockwise = \"clockwise\", o.counterClockwise = \"counter-clockwise\", o.random = \"random\";\n },\n 469: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.TiltDirection = void 0, (o = t.TiltDirection || (t.TiltDirection = {})).clockwise = \"clockwise\", o.counterClockwise = \"counter-clockwise\", o.random = \"random\";\n },\n 961: function _(e, t, o) {\n var r = this && this.__createBinding || (Object.create ? function (e, t, o, r) {\n void 0 === r && (r = o), Object.defineProperty(e, r, {\n enumerable: !0,\n get: function get() {\n return t[o];\n }\n });\n } : function (e, t, o, r) {\n void 0 === r && (r = o), e[r] = t[o];\n }),\n n = this && this.__exportStar || function (e, t) {\n for (var o in e) {\n \"default\" === o || Object.prototype.hasOwnProperty.call(t, o) || r(t, e, o);\n }\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), n(o(300), t), n(o(329), t), n(o(264), t), n(o(469), t);\n },\n 974: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.InteractivityDetect = void 0, (o = t.InteractivityDetect || (t.InteractivityDetect = {})).canvas = \"canvas\", o.parent = \"parent\", o.window = \"window\";\n },\n 252: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ClickMode = void 0, (o = t.ClickMode || (t.ClickMode = {})).attract = \"attract\", o.bubble = \"bubble\", o.push = \"push\", o.remove = \"remove\", o.repulse = \"repulse\", o.pause = \"pause\", o.trail = \"trail\";\n },\n 130: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.CollisionMode = void 0, (o = t.CollisionMode || (t.CollisionMode = {})).absorb = \"absorb\", o.bounce = \"bounce\", o.destroy = \"destroy\";\n },\n 330: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.DestroyMode = void 0, (o = t.DestroyMode || (t.DestroyMode = {})).none = \"none\", o.split = \"split\";\n },\n 208: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.DivMode = void 0, (o = t.DivMode || (t.DivMode = {})).bounce = \"bounce\", o.bubble = \"bubble\", o.repulse = \"repulse\";\n },\n 349: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.HoverMode = void 0, (o = t.HoverMode || (t.HoverMode = {})).attract = \"attract\", o.bounce = \"bounce\", o.bubble = \"bubble\", o.connect = \"connect\", o.grab = \"grab\", o.light = \"light\", o.repulse = \"repulse\", o.slow = \"slow\", o.trail = \"trail\";\n },\n 581: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.OutMode = void 0, (o = t.OutMode || (t.OutMode = {})).bounce = \"bounce\", o.bounceHorizontal = \"bounce-horizontal\", o.bounceVertical = \"bounce-vertical\", o.none = \"none\", o.out = \"out\", o.destroy = \"destroy\", o.split = \"split\";\n },\n 164: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ResponsiveMode = void 0, (o = t.ResponsiveMode || (t.ResponsiveMode = {})).screen = \"screen\", o.canvas = \"canvas\";\n },\n 667: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.RollMode = void 0, (o = t.RollMode || (t.RollMode = {})).both = \"both\", o.horizontal = \"horizontal\", o.vertical = \"vertical\";\n },\n 855: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.SizeMode = void 0, (o = t.SizeMode || (t.SizeMode = {})).precise = \"precise\", o.percent = \"percent\";\n },\n 702: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ThemeMode = void 0, (o = t.ThemeMode || (t.ThemeMode = {})).any = \"any\", o.dark = \"dark\", o.light = \"light\";\n },\n 515: function _(e, t, o) {\n var r = this && this.__createBinding || (Object.create ? function (e, t, o, r) {\n void 0 === r && (r = o), Object.defineProperty(e, r, {\n enumerable: !0,\n get: function get() {\n return t[o];\n }\n });\n } : function (e, t, o, r) {\n void 0 === r && (r = o), e[r] = t[o];\n }),\n n = this && this.__exportStar || function (e, t) {\n for (var o in e) {\n \"default\" === o || Object.prototype.hasOwnProperty.call(t, o) || r(t, e, o);\n }\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), n(o(252), t), n(o(330), t), n(o(208), t), n(o(349), t), n(o(130), t), n(o(581), t), n(o(667), t), n(o(855), t), n(o(702), t), n(o(164), t);\n },\n 47: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.AlterType = void 0, (o = t.AlterType || (t.AlterType = {})).darken = \"darken\", o.enlighten = \"enlighten\";\n },\n 64: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.DestroyType = void 0, (o = t.DestroyType || (t.DestroyType = {})).none = \"none\", o.max = \"max\", o.min = \"min\";\n },\n 712: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.DivType = void 0, (o = t.DivType || (t.DivType = {})).circle = \"circle\", o.rectangle = \"rectangle\";\n },\n 77: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.EasingType = void 0, (o = t.EasingType || (t.EasingType = {})).easeOutBack = \"ease-out-back\", o.easeOutCirc = \"ease-out-circ\", o.easeOutCubic = \"ease-out-cubic\", o.easeOutQuad = \"ease-out-quad\", o.easeOutQuart = \"ease-out-quart\", o.easeOutQuint = \"ease-out-quint\", o.easeOutExpo = \"ease-out-expo\", o.easeOutSine = \"ease-out-sine\";\n },\n 589: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.GradientType = void 0, (o = t.GradientType || (t.GradientType = {})).linear = \"linear\", o.radial = \"radial\", o.random = \"random\";\n },\n 457: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.InteractorType = void 0, (o = t.InteractorType || (t.InteractorType = {}))[o.External = 0] = \"External\", o[o.Particles = 1] = \"Particles\";\n },\n 796: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.OrbitType = void 0, (o = t.OrbitType || (t.OrbitType = {})).front = \"front\", o.back = \"back\";\n },\n 247: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ShapeType = void 0, (o = t.ShapeType || (t.ShapeType = {})).char = \"char\", o.character = \"character\", o.circle = \"circle\", o.edge = \"edge\", o.image = \"image\", o.images = \"images\", o.line = \"line\", o.polygon = \"polygon\", o.square = \"square\", o.star = \"star\", o.triangle = \"triangle\";\n },\n 676: function _(e, t) {\n var o;\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.StartValueType = void 0, (o = t.StartValueType || (t.StartValueType = {})).max = \"max\", o.min = \"min\", o.random = \"random\";\n },\n 799: function _(e, t, o) {\n var r = this && this.__createBinding || (Object.create ? function (e, t, o, r) {\n void 0 === r && (r = o), Object.defineProperty(e, r, {\n enumerable: !0,\n get: function get() {\n return t[o];\n }\n });\n } : function (e, t, o, r) {\n void 0 === r && (r = o), e[r] = t[o];\n }),\n n = this && this.__exportStar || function (e, t) {\n for (var o in e) {\n \"default\" === o || Object.prototype.hasOwnProperty.call(t, o) || r(t, e, o);\n }\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), n(o(47), t), n(o(64), t), n(o(589), t), n(o(457), t), n(o(247), t), n(o(676), t), n(o(712), t), n(o(77), t), n(o(796), t);\n },\n 717: function _(e, t, o) {\n var r = this && this.__createBinding || (Object.create ? function (e, t, o, r) {\n void 0 === r && (r = o), Object.defineProperty(e, r, {\n enumerable: !0,\n get: function get() {\n return t[o];\n }\n });\n } : function (e, t, o, r) {\n void 0 === r && (r = o), e[r] = t[o];\n }),\n n = this && this.__exportStar || function (e, t) {\n for (var o in e) {\n \"default\" === o || Object.prototype.hasOwnProperty.call(t, o) || r(t, e, o);\n }\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), n(o(961), t), n(o(515), t), n(o(868), t), n(o(799), t), n(o(974), t);\n }\n },\n t = {};\n\n function o(r) {\n var n = t[r];\n if (void 0 !== n) return n.exports;\n var i = t[r] = {\n exports: {}\n };\n return e[r].call(i.exports, i, i.exports, o), i.exports;\n }\n\n o.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return o.d(t, {\n a: t\n }), t;\n }, o.d = function (e, t) {\n for (var r in t) {\n o.o(t, r) && !o.o(e, r) && Object.defineProperty(e, r, {\n enumerable: !0,\n get: t[r]\n });\n }\n }, o.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, o.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n };\n var r = {};\n\n (function () {\n o.r(r), o.d(r, {\n default: function _default() {\n return i;\n },\n Particles: function Particles() {\n return e.Z;\n }\n });\n var e = o(904),\n t = o(717),\n n = {};\n\n var _loop = function _loop(_e) {\n [\"default\", \"Particles\"].indexOf(_e) < 0 && (n[_e] = function () {\n return t[_e];\n });\n };\n\n for (var _e in t) {\n _loop(_e);\n }\n\n o.d(r, n);\n var i = e.Z;\n })();\n\n var n = exports;\n\n for (var i in r) {\n n[i] = r[i];\n }\n\n r.__esModule && Object.defineProperty(n, \"__esModule\", {\n value: !0\n });\n})();","var ReactParticles = require(\"./cjs/particles\");\n\nfor (var key in ReactParticles) {\n ReactParticles.default[key] = ReactParticles[key];\n}\n\nmodule.exports = ReactParticles.default;","\"use strict\";\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Canvas = void 0;\n\nvar Utils_1 = require(\"../Utils\");\n\nvar Utils_2 = require(\"../Utils\");\n\nvar Canvas = /*#__PURE__*/function () {\n function Canvas(container) {\n _classCallCheck(this, Canvas);\n\n this.container = container;\n this.size = {\n height: 0,\n width: 0\n };\n this.context = null;\n this.generatedCanvas = false;\n }\n\n _createClass(Canvas, [{\n key: \"init\",\n value: function init() {\n this.resize();\n this.initStyle();\n this.initCover();\n this.initTrail();\n this.initBackground();\n this.paint();\n }\n }, {\n key: \"loadCanvas\",\n value: function loadCanvas(canvas, generatedCanvas) {\n var _a;\n\n if (!canvas.className) {\n canvas.className = Utils_1.Constants.canvasClass;\n }\n\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n\n this.generatedCanvas = generatedCanvas !== null && generatedCanvas !== void 0 ? generatedCanvas : this.generatedCanvas;\n this.element = canvas;\n this.originalStyle = (0, Utils_1.deepExtend)({}, this.element.style);\n this.size.height = canvas.offsetHeight;\n this.size.width = canvas.offsetWidth;\n this.context = this.element.getContext(\"2d\");\n this.container.retina.init();\n this.initBackground();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n var _a;\n\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n\n this.draw(function (ctx) {\n (0, Utils_2.clear)(ctx, _this.size);\n });\n }\n }, {\n key: \"paint\",\n value: function paint() {\n var _this2 = this;\n\n var options = this.container.actualOptions;\n this.draw(function (ctx) {\n if (options.backgroundMask.enable && options.backgroundMask.cover && _this2.coverColor) {\n (0, Utils_2.clear)(ctx, _this2.size);\n\n _this2.paintBase((0, Utils_1.getStyleFromRgb)(_this2.coverColor, _this2.coverColor.a));\n } else {\n _this2.paintBase();\n }\n });\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this3 = this;\n\n var options = this.container.actualOptions;\n var trail = options.particles.move.trail;\n\n if (options.backgroundMask.enable) {\n this.paint();\n } else if (trail.enable && trail.length > 0 && this.trailFillColor) {\n this.paintBase((0, Utils_1.getStyleFromRgb)(this.trailFillColor, 1 / trail.length));\n } else {\n this.draw(function (ctx) {\n (0, Utils_2.clear)(ctx, _this3.size);\n });\n }\n }\n }, {\n key: \"windowResize\",\n value: function windowResize() {\n if (!this.element) {\n return;\n }\n\n var container = this.container;\n this.resize();\n var needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n\n var _iterator = _createForOfIteratorHelper(container.plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n plugin = _step$value[1];\n\n if (plugin.resize !== undefined) {\n plugin.resize();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (needsRefresh) {\n container.refresh();\n }\n }\n }, {\n key: \"resize\",\n value: function resize() {\n if (!this.element) {\n return;\n }\n\n var container = this.container;\n var pxRatio = container.retina.pixelRatio;\n var size = container.canvas.size;\n var oldSize = {\n width: size.width,\n height: size.height\n };\n size.width = this.element.offsetWidth * pxRatio;\n size.height = this.element.offsetHeight * pxRatio;\n this.element.width = size.width;\n this.element.height = size.height;\n\n if (this.container.started) {\n this.resizeFactor = {\n width: size.width / oldSize.width,\n height: size.height / oldSize.height\n };\n }\n }\n }, {\n key: \"drawConnectLine\",\n value: function drawConnectLine(p1, p2) {\n var _this4 = this;\n\n this.draw(function (ctx) {\n var _a;\n\n var lineStyle = _this4.lineStyle(p1, p2);\n\n if (!lineStyle) {\n return;\n }\n\n var pos1 = p1.getPosition();\n var pos2 = p2.getPosition();\n (0, Utils_1.drawConnectLine)(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : _this4.container.retina.linksWidth, lineStyle, pos1, pos2);\n });\n }\n }, {\n key: \"drawGrabLine\",\n value: function drawGrabLine(particle, lineColor, opacity, mousePos) {\n var container = this.container;\n this.draw(function (ctx) {\n var _a;\n\n var beginPos = particle.getPosition();\n (0, Utils_1.drawGrabLine)(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);\n });\n }\n }, {\n key: \"drawParticle\",\n value: function drawParticle(particle, delta) {\n var _this5 = this;\n\n var _a, _b, _c, _d, _e, _f;\n\n if (particle.spawning || particle.destroyed) {\n return;\n }\n\n var pfColor = particle.getFillColor();\n var psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;\n\n if (!pfColor && !psColor) {\n return;\n }\n\n var _this$getPluginPartic = this.getPluginParticleColors(particle),\n _this$getPluginPartic2 = _slicedToArray(_this$getPluginPartic, 2),\n fColor = _this$getPluginPartic2[0],\n sColor = _this$getPluginPartic2[1];\n\n var pOptions = particle.options;\n var twinkle = pOptions.twinkle.particles;\n var twinkling = twinkle.enable && Math.random() < twinkle.frequency;\n\n if (!fColor || !sColor) {\n var twinkleRgb = (0, Utils_1.colorToHsl)(twinkle.color);\n\n if (!fColor) {\n fColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : pfColor ? pfColor : undefined;\n }\n\n if (!sColor) {\n sColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : psColor ? psColor : undefined;\n }\n }\n\n var options = this.container.actualOptions;\n var zIndexOptions = particle.options.zIndex;\n var zOpacityFactor = Math.pow(1 - particle.zIndexFactor, zIndexOptions.opacityRate);\n var radius = particle.getRadius();\n var opacity = twinkling ? twinkle.opacity : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;\n var strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;\n var zOpacity = opacity * zOpacityFactor;\n var fillColorValue = fColor ? (0, Utils_1.getStyleFromHsl)(fColor, zOpacity) : undefined;\n\n if (!fillColorValue && !sColor) {\n return;\n }\n\n this.draw(function (ctx) {\n var zSizeFactor = Math.pow(1 - particle.zIndexFactor, zIndexOptions.sizeRate);\n var zStrokeOpacity = strokeOpacity * zOpacityFactor;\n var strokeColorValue = sColor ? (0, Utils_1.getStyleFromHsl)(sColor, zStrokeOpacity) : fillColorValue;\n\n if (radius <= 0) {\n return;\n }\n\n var container = _this5.container;\n\n var _iterator2 = _createForOfIteratorHelper(container.particles.updaters),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var updater = _step2.value;\n\n if (updater.beforeDraw) {\n updater.beforeDraw(particle);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n (0, Utils_1.drawParticle)(_this5.container, ctx, particle, delta, fillColorValue, strokeColorValue, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow, particle.gradient);\n\n var _iterator3 = _createForOfIteratorHelper(container.particles.updaters),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _updater = _step3.value;\n\n if (_updater.afterDraw) {\n _updater.afterDraw(particle);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"drawPlugin\",\n value: function drawPlugin(plugin, delta) {\n this.draw(function (ctx) {\n (0, Utils_1.drawPlugin)(ctx, plugin, delta);\n });\n }\n }, {\n key: \"drawParticlePlugin\",\n value: function drawParticlePlugin(plugin, particle, delta) {\n this.draw(function (ctx) {\n (0, Utils_1.drawParticlePlugin)(ctx, plugin, particle, delta);\n });\n }\n }, {\n key: \"initBackground\",\n value: function initBackground() {\n var options = this.container.actualOptions;\n var background = options.background;\n var element = this.element;\n var elementStyle = element === null || element === void 0 ? void 0 : element.style;\n\n if (!elementStyle) {\n return;\n }\n\n if (background.color) {\n var color = (0, Utils_1.colorToRgb)(background.color);\n elementStyle.backgroundColor = color ? (0, Utils_1.getStyleFromRgb)(color, background.opacity) : \"\";\n } else {\n elementStyle.backgroundColor = \"\";\n }\n\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n }, {\n key: \"draw\",\n value: function draw(cb) {\n if (!this.context) {\n return;\n }\n\n return cb(this.context);\n }\n }, {\n key: \"initCover\",\n value: function initCover() {\n var options = this.container.actualOptions;\n var cover = options.backgroundMask.cover;\n var color = cover.color;\n var coverRgb = (0, Utils_1.colorToRgb)(color);\n\n if (coverRgb) {\n this.coverColor = {\n r: coverRgb.r,\n g: coverRgb.g,\n b: coverRgb.b,\n a: cover.opacity\n };\n }\n }\n }, {\n key: \"initTrail\",\n value: function initTrail() {\n var options = this.container.actualOptions;\n var trail = options.particles.move.trail;\n var fillColor = (0, Utils_1.colorToRgb)(trail.fillColor);\n\n if (fillColor) {\n var _trail = options.particles.move.trail;\n this.trailFillColor = {\n r: fillColor.r,\n g: fillColor.g,\n b: fillColor.b,\n a: 1 / _trail.length\n };\n }\n }\n }, {\n key: \"getPluginParticleColors\",\n value: function getPluginParticleColors(particle) {\n var fColor;\n var sColor;\n\n var _iterator4 = _createForOfIteratorHelper(this.container.plugins),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _step4$value = _slicedToArray(_step4.value, 2),\n plugin = _step4$value[1];\n\n if (!fColor && plugin.particleFillColor) {\n fColor = (0, Utils_1.colorToHsl)(plugin.particleFillColor(particle));\n }\n\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0, Utils_1.colorToHsl)(plugin.particleStrokeColor(particle));\n }\n\n if (fColor && sColor) {\n break;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n return [fColor, sColor];\n }\n }, {\n key: \"initStyle\",\n value: function initStyle() {\n var element = this.element,\n options = this.container.actualOptions;\n\n if (!element) {\n return;\n }\n\n var originalStyle = this.originalStyle;\n\n if (options.fullScreen.enable) {\n this.originalStyle = (0, Utils_1.deepExtend)({}, element.style);\n element.style.position = \"fixed\";\n element.style.zIndex = options.fullScreen.zIndex.toString(10);\n element.style.top = \"0\";\n element.style.left = \"0\";\n element.style.width = \"100%\";\n element.style.height = \"100%\";\n } else if (originalStyle) {\n element.style.position = originalStyle.position;\n element.style.zIndex = originalStyle.zIndex;\n element.style.top = originalStyle.top;\n element.style.left = originalStyle.left;\n element.style.width = originalStyle.width;\n element.style.height = originalStyle.height;\n }\n }\n }, {\n key: \"paintBase\",\n value: function paintBase(baseColor) {\n var _this6 = this;\n\n this.draw(function (ctx) {\n (0, Utils_1.paintBase)(ctx, _this6.size, baseColor);\n });\n }\n }, {\n key: \"lineStyle\",\n value: function lineStyle(p1, p2) {\n var _this7 = this;\n\n return this.draw(function (ctx) {\n var options = _this7.container.actualOptions;\n var connectOptions = options.interactivity.modes.connect;\n return (0, Utils_1.gradient)(ctx, p1, p2, connectOptions.links.opacity);\n });\n }\n }]);\n\n return Canvas;\n}();\n\nexports.Canvas = Canvas;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = void 0;\n\nvar Canvas_1 = require(\"./Canvas\");\n\nvar Particles_1 = require(\"./Particles\");\n\nvar Retina_1 = require(\"./Retina\");\n\nvar FrameManager_1 = require(\"./FrameManager\");\n\nvar Options_1 = require(\"../Options/Classes/Options\");\n\nvar Utils_1 = require(\"../Utils\");\n\nvar Vector_1 = require(\"./Particle/Vector\");\n\nvar Container = /*#__PURE__*/function () {\n function Container(id, sourceOptions) {\n var _this = this;\n\n _classCallCheck(this, Container);\n\n this.id = id;\n this.fpsLimit = 60;\n this.duration = 0;\n this.lifeTime = 0;\n this.firstStart = true;\n this.started = false;\n this.destroyed = false;\n this.paused = true;\n this.lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new Retina_1.Retina(this);\n this.canvas = new Canvas_1.Canvas(this);\n this.particles = new Particles_1.Particles(this);\n this.drawer = new FrameManager_1.FrameManager(this);\n\n for (var _len = arguments.length, presets = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n presets[_key - 2] = arguments[_key];\n }\n\n this.presets = presets;\n this.pathGenerator = {\n generate: function generate() {\n var v = Vector_1.Vector.create(0, 0);\n v.length = Math.random();\n v.angle = Math.random() * Math.PI * 2;\n return v;\n },\n init: function init() {},\n update: function update() {}\n };\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false\n }\n };\n this.bubble = {};\n this.repulse = {\n particles: []\n };\n this.attract = {\n particles: []\n };\n this.plugins = new Map();\n this.drawers = new Map();\n this.density = 1;\n this._options = new Options_1.Options();\n this.actualOptions = new Options_1.Options();\n this.eventListeners = new Utils_1.EventListeners(this);\n\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n this.intersectionObserver = new IntersectionObserver(function (entries) {\n return _this.intersectionManager(entries);\n });\n }\n }\n\n _createClass(Container, [{\n key: \"options\",\n get: function get() {\n return this._options;\n }\n }, {\n key: \"sourceOptions\",\n get: function get() {\n return this._sourceOptions;\n }\n }, {\n key: \"play\",\n value: function play(force) {\n var needsUpdate = this.paused || force;\n\n if (this.firstStart && !this.actualOptions.autoPlay) {\n this.firstStart = false;\n return;\n }\n\n if (this.paused) {\n this.paused = false;\n }\n\n if (needsUpdate) {\n var _iterator = _createForOfIteratorHelper(this.plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n plugin = _step$value[1];\n\n if (plugin.play) {\n plugin.play();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n this.draw(needsUpdate || false);\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (this.drawAnimationFrame !== undefined) {\n (0, Utils_1.cancelAnimation)()(this.drawAnimationFrame);\n delete this.drawAnimationFrame;\n }\n\n if (this.paused) {\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.plugins),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n plugin = _step2$value[1];\n\n if (plugin.pause) {\n plugin.pause();\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (!this.pageHidden) {\n this.paused = true;\n }\n }\n }, {\n key: \"draw\",\n value: function draw(force) {\n var _this2 = this;\n\n var refreshTime = force;\n this.drawAnimationFrame = (0, Utils_1.animate)()(function (timestamp) {\n if (refreshTime) {\n _this2.lastFrameTime = undefined;\n refreshTime = false;\n }\n\n _this2.drawer.nextFrame(timestamp);\n });\n }\n }, {\n key: \"getAnimationStatus\",\n value: function getAnimationStatus() {\n return !this.paused && !this.pageHidden;\n }\n }, {\n key: \"setNoise\",\n value: function setNoise(noiseOrGenerator, init, update) {\n this.setPath(noiseOrGenerator, init, update);\n }\n }, {\n key: \"setPath\",\n value: function setPath(pathOrGenerator, init, update) {\n if (!pathOrGenerator) {\n return;\n }\n\n if (typeof pathOrGenerator === \"function\") {\n this.pathGenerator.generate = pathOrGenerator;\n\n if (init) {\n this.pathGenerator.init = init;\n }\n\n if (update) {\n this.pathGenerator.update = update;\n }\n } else {\n if (pathOrGenerator.generate) {\n this.pathGenerator.generate = pathOrGenerator.generate;\n }\n\n if (pathOrGenerator.init) {\n this.pathGenerator.init = pathOrGenerator.init;\n }\n\n if (pathOrGenerator.update) {\n this.pathGenerator.update = pathOrGenerator.update;\n }\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stop();\n this.canvas.destroy();\n\n var _iterator3 = _createForOfIteratorHelper(this.drawers),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n drawer = _step3$value[1];\n\n if (drawer.destroy) {\n drawer.destroy(this);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(this.drawers.keys()),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var key = _step4.value;\n this.drawers.delete(key);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.destroyed = true;\n }\n }, {\n key: \"exportImg\",\n value: function exportImg(callback) {\n this.exportImage(callback);\n }\n }, {\n key: \"exportImage\",\n value: function exportImage(callback, type, quality) {\n var _a;\n\n return (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.toBlob(callback, type !== null && type !== void 0 ? type : \"image/png\", quality);\n }\n }, {\n key: \"exportConfiguration\",\n value: function exportConfiguration() {\n return JSON.stringify(this.actualOptions, undefined, 2);\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n this.stop();\n return this.start();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._options = new Options_1.Options();\n return this.refresh();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n if (!this.started) {\n return;\n }\n\n this.firstStart = true;\n this.started = false;\n this.eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.clear();\n\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n\n var _iterator5 = _createForOfIteratorHelper(this.plugins),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n plugin = _step5$value[1];\n\n if (plugin.stop) {\n plugin.stop();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n var _iterator6 = _createForOfIteratorHelper(this.plugins.keys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.value;\n this.plugins.delete(key);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.particles.linksColors = new Map();\n delete this.particles.grabLineColor;\n delete this.particles.linksColor;\n this._sourceOptions = this._options;\n }\n }, {\n key: \"loadTheme\",\n value: function () {\n var _loadTheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(name) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.currentTheme = name;\n _context.next = 3;\n return this.refresh();\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function loadTheme(_x) {\n return _loadTheme.apply(this, arguments);\n }\n\n return loadTheme;\n }()\n }, {\n key: \"start\",\n value: function () {\n var _start = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _iterator7, _step7, _step7$value, plugin;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.started) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.next = 4;\n return this.init();\n\n case 4:\n this.started = true;\n this.eventListeners.addListeners();\n\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n\n _iterator7 = _createForOfIteratorHelper(this.plugins);\n _context2.prev = 8;\n\n _iterator7.s();\n\n case 10:\n if ((_step7 = _iterator7.n()).done) {\n _context2.next = 20;\n break;\n }\n\n _step7$value = _slicedToArray(_step7.value, 2), plugin = _step7$value[1];\n\n if (!(plugin.startAsync !== undefined)) {\n _context2.next = 17;\n break;\n }\n\n _context2.next = 15;\n return plugin.startAsync();\n\n case 15:\n _context2.next = 18;\n break;\n\n case 17:\n if (plugin.start !== undefined) {\n plugin.start();\n }\n\n case 18:\n _context2.next = 10;\n break;\n\n case 20:\n _context2.next = 25;\n break;\n\n case 22:\n _context2.prev = 22;\n _context2.t0 = _context2[\"catch\"](8);\n\n _iterator7.e(_context2.t0);\n\n case 25:\n _context2.prev = 25;\n\n _iterator7.f();\n\n return _context2.finish(25);\n\n case 28:\n this.play();\n\n case 29:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[8, 22, 25, 28]]);\n }));\n\n function start() {\n return _start.apply(this, arguments);\n }\n\n return start;\n }()\n }, {\n key: \"addClickHandler\",\n value: function addClickHandler(callback) {\n var _this3 = this;\n\n var el = this.interactivity.element;\n\n if (!el) {\n return;\n }\n\n var clickOrTouchHandler = function clickOrTouchHandler(e, pos, radius) {\n if (_this3.destroyed) {\n return;\n }\n\n var pxRatio = _this3.retina.pixelRatio,\n posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio\n },\n particles = _this3.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n\n callback(e, particles);\n };\n\n var clickHandler = function clickHandler(e) {\n if (_this3.destroyed) {\n return;\n }\n\n var mouseEvent = e;\n var pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY\n };\n clickOrTouchHandler(e, pos, 1);\n };\n\n var touchStartHandler = function touchStartHandler() {\n if (_this3.destroyed) {\n return;\n }\n\n touched = true;\n touchMoved = false;\n };\n\n var touchMoveHandler = function touchMoveHandler() {\n if (_this3.destroyed) {\n return;\n }\n\n touchMoved = true;\n };\n\n var touchEndHandler = function touchEndHandler(e) {\n var _a, _b, _c;\n\n if (_this3.destroyed) {\n return;\n }\n\n if (touched && !touchMoved) {\n var touchEvent = e;\n var lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - 1];\n\n if (!lastTouch) {\n return;\n }\n }\n\n var canvasRect = (_a = _this3.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n var pos = {\n x: lastTouch.clientX - ((_b = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _b !== void 0 ? _b : 0),\n y: lastTouch.clientY - ((_c = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _c !== void 0 ? _c : 0)\n };\n clickOrTouchHandler(e, pos, Math.max(lastTouch.radiusX, lastTouch.radiusY));\n }\n\n touched = false;\n touchMoved = false;\n };\n\n var touchCancelHandler = function touchCancelHandler() {\n if (_this3.destroyed) {\n return;\n }\n\n touched = false;\n touchMoved = false;\n };\n\n var touched = false;\n var touchMoved = false;\n el.addEventListener(\"click\", clickHandler);\n el.addEventListener(\"touchstart\", touchStartHandler);\n el.addEventListener(\"touchmove\", touchMoveHandler);\n el.addEventListener(\"touchend\", touchEndHandler);\n el.addEventListener(\"touchcancel\", touchCancelHandler);\n }\n }, {\n key: \"updateActualOptions\",\n value: function updateActualOptions() {\n this.actualOptions.responsive = [];\n var newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this.currentTheme);\n\n if (this.responsiveMaxWidth != newMaxWidth) {\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _iterator8, _step8, preset, shapes, _iterator9, _step9, type, drawer, availablePlugins, _iterator10, _step10, _step10$value, id, plugin, _iterator11, _step11, _step11$value, _drawer, _iterator12, _step12, _step12$value, _plugin, pathOptions, customGenerator, _iterator13, _step13, _step13$value, _plugin2;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this._options = new Options_1.Options();\n _iterator8 = _createForOfIteratorHelper(this.presets);\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n preset = _step8.value;\n\n this._options.load(Utils_1.Plugins.getPreset(preset));\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n shapes = Utils_1.Plugins.getSupportedShapes();\n _iterator9 = _createForOfIteratorHelper(shapes);\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n type = _step9.value;\n drawer = Utils_1.Plugins.getShapeDrawer(type);\n\n if (drawer) {\n this.drawers.set(type, drawer);\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._options.load(this._initialSourceOptions);\n\n this._options.load(this._sourceOptions);\n\n this.actualOptions = new Options_1.Options();\n this.actualOptions.load(this._options);\n this.retina.init();\n this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n this.zLayers = this.actualOptions.zLayers;\n this.duration = (0, Utils_1.getRangeValue)(this.actualOptions.duration);\n this.lifeTime = 0;\n this.fpsLimit = this.actualOptions.fpsLimit > 0 ? this.actualOptions.fpsLimit : 60;\n availablePlugins = Utils_1.Plugins.getAvailablePlugins(this);\n _iterator10 = _createForOfIteratorHelper(availablePlugins);\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n _step10$value = _slicedToArray(_step10.value, 2), id = _step10$value[0], plugin = _step10$value[1];\n this.plugins.set(id, plugin);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n _iterator11 = _createForOfIteratorHelper(this.drawers);\n _context3.prev = 23;\n\n _iterator11.s();\n\n case 25:\n if ((_step11 = _iterator11.n()).done) {\n _context3.next = 32;\n break;\n }\n\n _step11$value = _slicedToArray(_step11.value, 2), _drawer = _step11$value[1];\n\n if (!_drawer.init) {\n _context3.next = 30;\n break;\n }\n\n _context3.next = 30;\n return _drawer.init(this);\n\n case 30:\n _context3.next = 25;\n break;\n\n case 32:\n _context3.next = 37;\n break;\n\n case 34:\n _context3.prev = 34;\n _context3.t0 = _context3[\"catch\"](23);\n\n _iterator11.e(_context3.t0);\n\n case 37:\n _context3.prev = 37;\n\n _iterator11.f();\n\n return _context3.finish(37);\n\n case 40:\n _iterator12 = _createForOfIteratorHelper(this.plugins);\n _context3.prev = 41;\n\n _iterator12.s();\n\n case 43:\n if ((_step12 = _iterator12.n()).done) {\n _context3.next = 54;\n break;\n }\n\n _step12$value = _slicedToArray(_step12.value, 2), _plugin = _step12$value[1];\n\n if (!_plugin.init) {\n _context3.next = 49;\n break;\n }\n\n _plugin.init(this.actualOptions);\n\n _context3.next = 52;\n break;\n\n case 49:\n if (!(_plugin.initAsync !== undefined)) {\n _context3.next = 52;\n break;\n }\n\n _context3.next = 52;\n return _plugin.initAsync(this.actualOptions);\n\n case 52:\n _context3.next = 43;\n break;\n\n case 54:\n _context3.next = 59;\n break;\n\n case 56:\n _context3.prev = 56;\n _context3.t1 = _context3[\"catch\"](41);\n\n _iterator12.e(_context3.t1);\n\n case 59:\n _context3.prev = 59;\n\n _iterator12.f();\n\n return _context3.finish(59);\n\n case 62:\n pathOptions = this.actualOptions.particles.move.path;\n\n if (pathOptions.generator) {\n customGenerator = Utils_1.Plugins.getPathGenerator(pathOptions.generator);\n\n if (customGenerator) {\n if (customGenerator.init) {\n this.pathGenerator.init = customGenerator.init;\n }\n\n if (customGenerator.generate) {\n this.pathGenerator.generate = customGenerator.generate;\n }\n\n if (customGenerator.update) {\n this.pathGenerator.update = customGenerator.update;\n }\n }\n }\n\n this.particles.init();\n this.particles.setDensity();\n _iterator13 = _createForOfIteratorHelper(this.plugins);\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n _step13$value = _slicedToArray(_step13.value, 2), _plugin2 = _step13$value[1];\n\n if (_plugin2.particlesSetup !== undefined) {\n _plugin2.particlesSetup();\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n case 68:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[23, 34, 37, 40], [41, 56, 59, 62]]);\n }));\n\n function init() {\n return _init.apply(this, arguments);\n }\n\n return init;\n }()\n }, {\n key: \"intersectionManager\",\n value: function intersectionManager(entries) {\n if (!this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n\n var _iterator14 = _createForOfIteratorHelper(entries),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var entry = _step14.value;\n\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n\n if (entry.isIntersecting) {\n this.play();\n } else {\n this.pause();\n }\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n }]);\n\n return Container;\n}();\n\nexports.Container = Container;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExternalInteractorBase = void 0;\n\nvar Enums_1 = require(\"../Enums\");\n\nvar ExternalInteractorBase = function ExternalInteractorBase(container) {\n _classCallCheck(this, ExternalInteractorBase);\n\n this.container = container;\n this.type = Enums_1.InteractorType.External;\n};\n\nexports.ExternalInteractorBase = ExternalInteractorBase;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FrameManager = void 0;\n\nvar FrameManager = /*#__PURE__*/function () {\n function FrameManager(container) {\n _classCallCheck(this, FrameManager);\n\n this.container = container;\n }\n\n _createClass(FrameManager, [{\n key: \"nextFrame\",\n value: function nextFrame(timestamp) {\n var _a;\n\n try {\n var container = this.container;\n\n if (container.lastFrameTime !== undefined && timestamp < container.lastFrameTime + 1000 / container.fpsLimit) {\n container.draw(false);\n return;\n }\n\n (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : container.lastFrameTime = timestamp;\n var deltaValue = timestamp - container.lastFrameTime;\n var delta = {\n value: deltaValue,\n factor: 60 * deltaValue / 1000\n };\n container.lifeTime += delta.value;\n container.lastFrameTime = timestamp;\n\n if (deltaValue > 1000) {\n container.draw(false);\n return;\n }\n\n container.particles.draw(delta);\n\n if (container.duration > 0 && container.lifeTime > container.duration) {\n container.destroy();\n return;\n }\n\n if (container.getAnimationStatus()) {\n container.draw(false);\n }\n } catch (e) {\n console.error(\"tsParticles error in animation loop\", e);\n }\n }\n }]);\n\n return FrameManager;\n}();\n\nexports.FrameManager = FrameManager;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InteractionManager = void 0;\n\nvar Utils_1 = require(\"../Utils\");\n\nvar Enums_1 = require(\"../Enums\");\n\nvar InteractionManager = /*#__PURE__*/function () {\n function InteractionManager(container) {\n _classCallCheck(this, InteractionManager);\n\n this.container = container;\n this.externalInteractors = [];\n this.particleInteractors = [];\n this.init();\n }\n\n _createClass(InteractionManager, [{\n key: \"init\",\n value: function init() {\n var interactors = Utils_1.Plugins.getInteractors(this.container, true);\n\n var _iterator = _createForOfIteratorHelper(interactors),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var interactor = _step.value;\n\n switch (interactor.type) {\n case Enums_1.InteractorType.External:\n this.externalInteractors.push(interactor);\n break;\n\n case Enums_1.InteractorType.Particles:\n this.particleInteractors.push(interactor);\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"externalInteract\",\n value: function externalInteract(delta) {\n var _iterator2 = _createForOfIteratorHelper(this.externalInteractors),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var interactor = _step2.value;\n\n if (interactor.isEnabled()) {\n interactor.interact(delta);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"particlesInteract\",\n value: function particlesInteract(particle, delta) {\n var _iterator3 = _createForOfIteratorHelper(this.externalInteractors),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var interactor = _step3.value;\n interactor.reset(particle);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(this.particleInteractors),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _interactor = _step4.value;\n\n if (_interactor.isEnabled(particle)) {\n _interactor.interact(particle, delta);\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }]);\n\n return InteractionManager;\n}();\n\nexports.InteractionManager = InteractionManager;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./Colors\"), exports);\n\n__exportStar(require(\"./Gradients\"), exports);\n\n__exportStar(require(\"./IAttract\"), exports);\n\n__exportStar(require(\"./IBounds\"), exports);\n\n__exportStar(require(\"./IBubble\"), exports);\n\n__exportStar(require(\"./IBubbleParticleData\"), exports);\n\n__exportStar(require(\"./ICircleBouncer\"), exports);\n\n__exportStar(require(\"./IContainerInteractivity\"), exports);\n\n__exportStar(require(\"./IContainerPlugin\"), exports);\n\n__exportStar(require(\"./ICoordinates\"), exports);\n\n__exportStar(require(\"./IDelta\"), exports);\n\n__exportStar(require(\"./IDimension\"), exports);\n\n__exportStar(require(\"./IDistance\"), exports);\n\n__exportStar(require(\"./IExternalInteractor\"), exports);\n\n__exportStar(require(\"./IInteractor\"), exports);\n\n__exportStar(require(\"./IMouseData\"), exports);\n\n__exportStar(require(\"./IMovePathGenerator\"), exports);\n\n__exportStar(require(\"./IParticle\"), exports);\n\n__exportStar(require(\"./IParticleGradientAnimation\"), exports);\n\n__exportStar(require(\"./IParticleGradientColorAnimation\"), exports);\n\n__exportStar(require(\"./IParticleHslAnimation\"), exports);\n\n__exportStar(require(\"./IParticleLife\"), exports);\n\n__exportStar(require(\"./IParticleLoops\"), exports);\n\n__exportStar(require(\"./IParticleRetinaProps\"), exports);\n\n__exportStar(require(\"./IParticleSpin\"), exports);\n\n__exportStar(require(\"./IParticleUpdater\"), exports);\n\n__exportStar(require(\"./IParticleValueAnimation\"), exports);\n\n__exportStar(require(\"./IParticlesInteractor\"), exports);\n\n__exportStar(require(\"./IPlugin\"), exports);\n\n__exportStar(require(\"./IRangeValue\"), exports);\n\n__exportStar(require(\"./IRectSideResult\"), exports);\n\n__exportStar(require(\"./IRepulse\"), exports);\n\n__exportStar(require(\"./IShapeDrawer\"), exports);\n\n__exportStar(require(\"./IShapeValues\"), exports);","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Loader = void 0;\n\nvar Container_1 = require(\"./Container\");\n\nvar Utils_1 = require(\"../Utils\");\n\nvar tsParticlesDom = [];\n\nfunction fetchError(statusCode) {\n console.error(\"Error tsParticles - fetch status: \".concat(statusCode));\n console.error(\"Error tsParticles - File config not found\");\n}\n\nvar Loader = /*#__PURE__*/function () {\n function Loader() {\n _classCallCheck(this, Loader);\n }\n\n _createClass(Loader, null, [{\n key: \"dom\",\n value: function dom() {\n return tsParticlesDom;\n }\n }, {\n key: \"domItem\",\n value: function domItem(index) {\n var dom = Loader.dom();\n var item = dom[index];\n\n if (item && !item.destroyed) {\n return item;\n }\n\n dom.splice(index, 1);\n }\n }, {\n key: \"loadOptions\",\n value: function () {\n var _loadOptions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {\n var _a, _b, _c, tagId, options, index, domContainer, currentOptions, dom, oldIndex, old, canvasEl, generatedCanvas, existingCanvases, newItem;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : \"tsparticles\".concat(Math.floor(Math.random() * 10000));\n options = params.options, index = params.index;\n domContainer = (_b = params.element) !== null && _b !== void 0 ? _b : document.getElementById(tagId);\n\n if (!domContainer) {\n domContainer = document.createElement(\"div\");\n domContainer.id = tagId;\n (_c = document.querySelector(\"body\")) === null || _c === void 0 ? void 0 : _c.append(domContainer);\n }\n\n currentOptions = options instanceof Array ? (0, Utils_1.itemFromArray)(options, index) : options;\n dom = Loader.dom();\n oldIndex = dom.findIndex(function (v) {\n return v.id === tagId;\n });\n\n if (oldIndex >= 0) {\n old = Loader.domItem(oldIndex);\n\n if (old && !old.destroyed) {\n old.destroy();\n dom.splice(oldIndex, 1);\n }\n }\n\n if (domContainer.tagName.toLowerCase() === \"canvas\") {\n canvasEl = domContainer;\n generatedCanvas = false;\n } else {\n existingCanvases = domContainer.getElementsByTagName(\"canvas\");\n\n if (existingCanvases.length) {\n canvasEl = existingCanvases[0];\n\n if (!canvasEl.className) {\n canvasEl.className = Utils_1.Constants.canvasClass;\n }\n\n generatedCanvas = false;\n } else {\n generatedCanvas = true;\n canvasEl = document.createElement(\"canvas\");\n canvasEl.className = Utils_1.Constants.canvasClass;\n canvasEl.style.width = \"100%\";\n canvasEl.style.height = \"100%\";\n domContainer.appendChild(canvasEl);\n }\n }\n\n newItem = new Container_1.Container(tagId, currentOptions);\n\n if (oldIndex >= 0) {\n dom.splice(oldIndex, 0, newItem);\n } else {\n dom.push(newItem);\n }\n\n newItem.canvas.loadCanvas(canvasEl, generatedCanvas);\n _context.next = 14;\n return newItem.start();\n\n case 14:\n return _context.abrupt(\"return\", newItem);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function loadOptions(_x) {\n return _loadOptions.apply(this, arguments);\n }\n\n return loadOptions;\n }()\n }, {\n key: \"loadRemoteOptions\",\n value: function () {\n var _loadRemoteOptions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {\n var jsonUrl, index, url, response, data;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n jsonUrl = params.url, index = params.index;\n url = jsonUrl instanceof Array ? (0, Utils_1.itemFromArray)(jsonUrl, index) : jsonUrl;\n\n if (url) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 4:\n _context2.next = 6;\n return fetch(url);\n\n case 6:\n response = _context2.sent;\n\n if (response.ok) {\n _context2.next = 10;\n break;\n }\n\n fetchError(response.status);\n return _context2.abrupt(\"return\");\n\n case 10:\n _context2.next = 12;\n return response.json();\n\n case 12:\n data = _context2.sent;\n _context2.next = 15;\n return Loader.loadOptions({\n tagId: params.tagId,\n element: params.element,\n index: index,\n options: data\n });\n\n case 15:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function loadRemoteOptions(_x2) {\n return _loadRemoteOptions.apply(this, arguments);\n }\n\n return loadRemoteOptions;\n }()\n }, {\n key: \"load\",\n value: function load(tagId, options, index) {\n var params = {\n index: index\n };\n\n if (typeof tagId === \"string\") {\n params.tagId = tagId;\n } else {\n params.options = tagId;\n }\n\n if (typeof options === \"number\") {\n params.index = options !== null && options !== void 0 ? options : params.index;\n } else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n\n return this.loadOptions(params);\n }\n }, {\n key: \"set\",\n value: function () {\n var _set = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id, domContainer, options, index) {\n var params;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n params = {\n index: index\n };\n\n if (typeof id === \"string\") {\n params.tagId = id;\n } else {\n params.element = id;\n }\n\n if (domContainer instanceof HTMLElement) {\n params.element = domContainer;\n } else {\n params.options = domContainer;\n }\n\n if (typeof options === \"number\") {\n params.index = options;\n } else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n\n return _context3.abrupt(\"return\", this.loadOptions(params));\n\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function set(_x3, _x4, _x5, _x6) {\n return _set.apply(this, arguments);\n }\n\n return set;\n }()\n }, {\n key: \"loadJSON\",\n value: function () {\n var _loadJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(tagId, jsonUrl, index) {\n var url, id;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (typeof jsonUrl === \"number\" || jsonUrl === undefined) {\n url = tagId;\n } else {\n id = tagId;\n url = jsonUrl;\n }\n\n _context4.next = 3;\n return Loader.loadRemoteOptions({\n tagId: id,\n url: url,\n index: index\n });\n\n case 3:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function loadJSON(_x7, _x8, _x9) {\n return _loadJSON.apply(this, arguments);\n }\n\n return loadJSON;\n }()\n }, {\n key: \"setJSON\",\n value: function () {\n var _setJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id, domContainer, jsonUrl, index) {\n var url, newId, newIndex, element;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (id instanceof HTMLElement) {\n element = id;\n url = domContainer;\n newIndex = jsonUrl;\n } else {\n newId = id;\n element = domContainer;\n url = jsonUrl;\n newIndex = index;\n }\n\n _context5.next = 3;\n return Loader.loadRemoteOptions({\n tagId: newId,\n url: url,\n index: newIndex,\n element: element\n });\n\n case 3:\n return _context5.abrupt(\"return\", _context5.sent);\n\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n function setJSON(_x10, _x11, _x12, _x13) {\n return _setJSON.apply(this, arguments);\n }\n\n return setJSON;\n }()\n }, {\n key: \"setOnClickHandler\",\n value: function setOnClickHandler(callback) {\n var dom = Loader.dom();\n\n if (dom.length === 0) {\n throw new Error(\"Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()\");\n }\n\n var _iterator = _createForOfIteratorHelper(dom),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var domItem = _step.value;\n domItem.addClickHandler(callback);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return Loader;\n}();\n\nexports.Loader = Loader;","\"use strict\";\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Particle = void 0;\n\nvar ParticlesOptions_1 = require(\"../Options/Classes/Particles/ParticlesOptions\");\n\nvar Shape_1 = require(\"../Options/Classes/Particles/Shape/Shape\");\n\nvar Enums_1 = require(\"../Enums\");\n\nvar Utils_1 = require(\"../Utils\");\n\nvar Vector_1 = require(\"./Particle/Vector\");\n\nvar Vector3d_1 = require(\"./Particle/Vector3d\");\n\nvar fixOutMode = function fixOutMode(data) {\n if ((0, Utils_1.isInArray)(data.outMode, data.checkModes) || (0, Utils_1.isInArray)(data.outMode, data.checkModes)) {\n if (data.coord > data.maxCoord - data.radius * 2) {\n data.setCb(-data.radius);\n } else if (data.coord < data.radius * 2) {\n data.setCb(data.radius);\n }\n }\n};\n\nvar Particle = /*#__PURE__*/function () {\n function Particle(id, container, position, overrideOptions, group) {\n _classCallCheck(this, Particle);\n\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n\n this.id = id;\n this.container = container;\n this.group = group;\n this.fill = true;\n this.close = true;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.splitCount = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {}\n };\n var pxRatio = container.retina.pixelRatio;\n var mainOptions = container.actualOptions;\n var particlesOptions = new ParticlesOptions_1.ParticlesOptions();\n particlesOptions.load(mainOptions.particles);\n var shapeType = particlesOptions.shape.type;\n var reduceDuplicates = particlesOptions.reduceDuplicates;\n this.shape = shapeType instanceof Array ? (0, Utils_1.itemFromArray)(shapeType, this.id, reduceDuplicates) : shapeType;\n\n if (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.shape) {\n if (overrideOptions.shape.type) {\n var overrideShapeType = overrideOptions.shape.type;\n this.shape = overrideShapeType instanceof Array ? (0, Utils_1.itemFromArray)(overrideShapeType, this.id, reduceDuplicates) : overrideShapeType;\n }\n\n var shapeOptions = new Shape_1.Shape();\n shapeOptions.load(overrideOptions.shape);\n\n if (this.shape) {\n this.shapeData = this.loadShapeData(shapeOptions, reduceDuplicates);\n }\n } else {\n this.shapeData = this.loadShapeData(particlesOptions.shape, reduceDuplicates);\n }\n\n if (overrideOptions !== undefined) {\n particlesOptions.load(overrideOptions);\n }\n\n if (((_a = this.shapeData) === null || _a === void 0 ? void 0 : _a.particles) !== undefined) {\n particlesOptions.load((_b = this.shapeData) === null || _b === void 0 ? void 0 : _b.particles);\n }\n\n this.fill = (_d = (_c = this.shapeData) === null || _c === void 0 ? void 0 : _c.fill) !== null && _d !== void 0 ? _d : this.fill;\n this.close = (_f = (_e = this.shapeData) === null || _e === void 0 ? void 0 : _e.close) !== null && _f !== void 0 ? _f : this.close;\n this.options = particlesOptions;\n this.pathDelay = (0, Utils_1.getValue)(this.options.move.path.delay) * 1000;\n var zIndexValue = (0, Utils_1.getRangeValue)(this.options.zIndex.value);\n container.retina.initParticle(this);\n var sizeOptions = this.options.size,\n sizeRange = sizeOptions.value;\n this.size = {\n enable: sizeOptions.animation.enable,\n value: (0, Utils_1.getValue)(sizeOptions) * container.retina.pixelRatio,\n max: (0, Utils_1.getRangeMax)(sizeRange) * pxRatio,\n min: (0, Utils_1.getRangeMin)(sizeRange) * pxRatio,\n loops: 0,\n maxLoops: sizeOptions.animation.count\n };\n var sizeAnimation = sizeOptions.animation;\n\n if (sizeAnimation.enable) {\n this.size.status = Enums_1.AnimationStatus.increasing;\n\n switch (sizeAnimation.startValue) {\n case Enums_1.StartValueType.min:\n this.size.value = this.size.min;\n this.size.status = Enums_1.AnimationStatus.increasing;\n break;\n\n case Enums_1.StartValueType.random:\n this.size.value = (0, Utils_1.randomInRange)(this.size) * pxRatio;\n this.size.status = Math.random() >= 0.5 ? Enums_1.AnimationStatus.increasing : Enums_1.AnimationStatus.decreasing;\n break;\n\n case Enums_1.StartValueType.max:\n default:\n this.size.value = this.size.max;\n this.size.status = Enums_1.AnimationStatus.decreasing;\n break;\n }\n\n this.size.velocity = ((_g = this.retina.sizeAnimationSpeed) !== null && _g !== void 0 ? _g : container.retina.sizeAnimationSpeed) / 100 * container.retina.reduceFactor;\n\n if (!sizeAnimation.sync) {\n this.size.velocity *= Math.random();\n }\n }\n\n this.direction = (0, Utils_1.getParticleDirectionAngle)(this.options.move.direction);\n this.bubble = {\n inRange: false\n };\n this.initialVelocity = this.calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n this.moveDecay = 1 - (0, Utils_1.getRangeValue)(this.options.move.decay);\n this.position = this.calcPosition(container, position, (0, Utils_1.clamp)(zIndexValue, 0, container.zLayers));\n this.initialPosition = this.position.copy();\n this.offset = Vector_1.Vector.origin;\n var particles = container.particles;\n particles.needsSort = particles.needsSort || particles.lastZIndex < this.position.z;\n particles.lastZIndex = this.position.z;\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n var drawer = container.drawers.get(this.shape);\n\n if (!drawer) {\n drawer = Utils_1.Plugins.getShapeDrawer(this.shape);\n\n if (drawer) {\n container.drawers.set(this.shape, drawer);\n }\n }\n\n if (drawer === null || drawer === void 0 ? void 0 : drawer.loadShape) {\n drawer === null || drawer === void 0 ? void 0 : drawer.loadShape(this);\n }\n\n var sideCountFunc = drawer === null || drawer === void 0 ? void 0 : drawer.getSidesCount;\n\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n\n this.life = this.loadLife();\n this.spawning = this.life.delay > 0;\n\n if (this.options.move.spin.enable) {\n var spinPos = (_h = this.options.move.spin.position) !== null && _h !== void 0 ? _h : {\n x: 50,\n y: 50\n };\n var spinCenter = {\n x: spinPos.x / 100 * container.canvas.size.width,\n y: spinPos.y / 100 * container.canvas.size.height\n };\n var pos = this.getPosition();\n var distance = (0, Utils_1.getDistance)(pos, spinCenter);\n this.spin = {\n center: spinCenter,\n direction: this.velocity.x >= 0 ? Enums_1.RotateDirection.clockwise : Enums_1.RotateDirection.counterClockwise,\n angle: this.velocity.angle,\n radius: distance,\n acceleration: (_j = this.retina.spinAcceleration) !== null && _j !== void 0 ? _j : (0, Utils_1.getRangeValue)(this.options.move.spin.acceleration)\n };\n }\n\n this.shadowColor = (0, Utils_1.colorToRgb)(this.options.shadow.color);\n\n var _iterator = _createForOfIteratorHelper(container.particles.updaters),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var updater = _step.value;\n\n if (updater.init) {\n updater.init(this);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (drawer && drawer.particleInit) {\n drawer.particleInit(container, this);\n }\n\n var _iterator2 = _createForOfIteratorHelper(container.plugins),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n plugin = _step2$value[1];\n\n if (plugin.particleCreated) {\n plugin.particleCreated(this);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n _createClass(Particle, [{\n key: \"isVisible\",\n value: function isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n }, {\n key: \"isInsideCanvas\",\n value: function isInsideCanvas() {\n var radius = this.getRadius();\n var canvasSize = this.container.canvas.size;\n return this.position.x >= -radius && this.position.y >= -radius && this.position.y <= canvasSize.height + radius && this.position.x <= canvasSize.width + radius;\n }\n }, {\n key: \"draw\",\n value: function draw(delta) {\n var container = this.container;\n\n var _iterator3 = _createForOfIteratorHelper(container.plugins),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n plugin = _step3$value[1];\n\n container.canvas.drawParticlePlugin(plugin, this, delta);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n container.canvas.drawParticle(this, delta);\n }\n }, {\n key: \"getPosition\",\n value: function getPosition() {\n return {\n x: this.position.x + this.offset.x,\n y: this.position.y + this.offset.y,\n z: this.position.z\n };\n }\n }, {\n key: \"getRadius\",\n value: function getRadius() {\n var _a;\n\n return (_a = this.bubble.radius) !== null && _a !== void 0 ? _a : this.size.value;\n }\n }, {\n key: \"getMass\",\n value: function getMass() {\n return Math.pow(this.getRadius(), 2) * Math.PI / 2;\n }\n }, {\n key: \"getFillColor\",\n value: function getFillColor() {\n var _a, _b, _c;\n\n var color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_1.getHslFromAnimation)(this.color);\n\n if (color && this.roll && (this.backColor || this.roll.alter)) {\n var rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;\n\n if (rolled) {\n if (this.backColor) {\n return this.backColor;\n }\n\n if (this.roll.alter) {\n return (0, Utils_1.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n }\n }\n\n return color;\n }\n }, {\n key: \"getStrokeColor\",\n value: function getStrokeColor() {\n var _a, _b;\n\n return (_b = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_1.getHslFromAnimation)(this.strokeColor)) !== null && _b !== void 0 ? _b : this.getFillColor();\n }\n }, {\n key: \"destroy\",\n value: function destroy(override) {\n this.destroyed = true;\n this.bubble.inRange = false;\n\n if (this.unbreakable) {\n return;\n }\n\n this.destroyed = true;\n this.bubble.inRange = false;\n\n var _iterator4 = _createForOfIteratorHelper(this.container.plugins),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _step4$value = _slicedToArray(_step4.value, 2),\n plugin = _step4$value[1];\n\n if (plugin.particleDestroyed) {\n plugin.particleDestroyed(this, override);\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (override) {\n return;\n }\n\n var destroyOptions = this.options.destroy;\n\n if (destroyOptions.mode === Enums_1.DestroyMode.split) {\n this.split();\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.opacity) {\n this.opacity.loops = 0;\n }\n\n this.size.loops = 0;\n }\n }, {\n key: \"split\",\n value: function split() {\n var splitOptions = this.options.destroy.split;\n\n if (splitOptions.count >= 0 && this.splitCount++ > splitOptions.count) {\n return;\n }\n\n var rate = (0, Utils_1.getRangeValue)(splitOptions.rate.value);\n\n for (var i = 0; i < rate; i++) {\n this.container.particles.addSplitParticle(this);\n }\n }\n }, {\n key: \"calcPosition\",\n value: function calcPosition(container, position, zIndex) {\n var tryCount = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _a, _b, _c, _d, _e, _f;\n\n var _iterator5 = _createForOfIteratorHelper(container.plugins),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n plugin = _step5$value[1];\n\n var pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n\n if (pluginPos !== undefined) {\n return Vector3d_1.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n var canvasSize = container.canvas.size;\n var pos = Vector3d_1.Vector3d.create((_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width, (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height, zIndex);\n var radius = this.getRadius();\n\n var outModes = this.options.move.outModes,\n fixHorizontal = function fixHorizontal(outMode) {\n fixOutMode({\n outMode: outMode,\n checkModes: [Enums_1.OutMode.bounce, Enums_1.OutMode.bounceHorizontal],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: function setCb(value) {\n return pos.x += value;\n },\n radius: radius\n });\n },\n fixVertical = function fixVertical(outMode) {\n fixOutMode({\n outMode: outMode,\n checkModes: [Enums_1.OutMode.bounce, Enums_1.OutMode.bounceVertical],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: function setCb(value) {\n return pos.y += value;\n },\n radius: radius\n });\n };\n\n fixHorizontal((_c = outModes.left) !== null && _c !== void 0 ? _c : outModes.default);\n fixHorizontal((_d = outModes.right) !== null && _d !== void 0 ? _d : outModes.default);\n fixVertical((_e = outModes.top) !== null && _e !== void 0 ? _e : outModes.default);\n fixVertical((_f = outModes.bottom) !== null && _f !== void 0 ? _f : outModes.default);\n\n if (this.checkOverlap(pos, tryCount)) {\n return this.calcPosition(container, undefined, zIndex, tryCount + 1);\n }\n\n return pos;\n }\n }, {\n key: \"checkOverlap\",\n value: function checkOverlap(pos) {\n var tryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var collisionsOptions = this.options.collisions;\n var radius = this.getRadius();\n\n if (!collisionsOptions.enable) {\n return false;\n }\n\n var overlapOptions = collisionsOptions.overlap;\n\n if (overlapOptions.enable) {\n return false;\n }\n\n var retries = overlapOptions.retries;\n\n if (retries >= 0 && tryCount > retries) {\n throw new Error(\"Particle is overlapping and can't be placed\");\n }\n\n var overlaps = false;\n\n var _iterator6 = _createForOfIteratorHelper(this.container.particles.array),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var particle = _step6.value;\n\n if ((0, Utils_1.getDistance)(pos, particle.position) < radius + particle.getRadius()) {\n overlaps = true;\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return overlaps;\n }\n }, {\n key: \"calculateVelocity\",\n value: function calculateVelocity() {\n var baseVelocity = (0, Utils_1.getParticleBaseVelocity)(this.direction);\n var res = baseVelocity.copy();\n var moveOptions = this.options.move;\n var rad = Math.PI / 180 * moveOptions.angle.value;\n var radOffset = Math.PI / 180 * moveOptions.angle.offset;\n var range = {\n left: radOffset - rad / 2,\n right: radOffset + rad / 2\n };\n\n if (!moveOptions.straight) {\n res.angle += (0, Utils_1.randomInRange)((0, Utils_1.setRangeValue)(range.left, range.right));\n }\n\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= Math.random();\n }\n\n return res;\n }\n }, {\n key: \"loadShapeData\",\n value: function loadShapeData(shapeOptions, reduceDuplicates) {\n var shapeData = shapeOptions.options[this.shape];\n\n if (shapeData) {\n return (0, Utils_1.deepExtend)({}, shapeData instanceof Array ? (0, Utils_1.itemFromArray)(shapeData, this.id, reduceDuplicates) : shapeData);\n }\n }\n }, {\n key: \"loadLife\",\n value: function loadLife() {\n var container = this.container;\n var particlesOptions = this.options;\n var lifeOptions = particlesOptions.life;\n var life = {\n delay: container.retina.reduceFactor ? (0, Utils_1.getRangeValue)(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : Math.random()) / container.retina.reduceFactor * 1000 : 0,\n delayTime: 0,\n duration: container.retina.reduceFactor ? (0, Utils_1.getRangeValue)(lifeOptions.duration.value) * (lifeOptions.duration.sync ? 1 : Math.random()) / container.retina.reduceFactor * 1000 : 0,\n time: 0,\n count: particlesOptions.life.count\n };\n\n if (life.duration <= 0) {\n life.duration = -1;\n }\n\n if (life.count <= 0) {\n life.count = -1;\n }\n\n return life;\n }\n }]);\n\n return Particle;\n}();\n\nexports.Particle = Particle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Mover = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nfunction applyDistance(particle) {\n var initialPosition = particle.initialPosition;\n\n var _ref = (0, Utils_1.getDistances)(initialPosition, particle.position),\n dx = _ref.dx,\n dy = _ref.dy;\n\n var dxFixed = Math.abs(dx),\n dyFixed = Math.abs(dy);\n var hDistance = particle.retina.maxDistance.horizontal;\n var vDistance = particle.retina.maxDistance.vertical;\n\n if (!hDistance && !vDistance) {\n return;\n }\n\n if ((hDistance && dxFixed >= hDistance || vDistance && dyFixed >= vDistance) && !particle.misplaced) {\n particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;\n\n if (hDistance) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n }\n\n if (vDistance) {\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n }\n } else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n } else if (particle.misplaced) {\n var pos = particle.position,\n vel = particle.velocity;\n\n if (hDistance && (pos.x < initialPosition.x && vel.x < 0 || pos.x > initialPosition.x && vel.x > 0)) {\n vel.x *= -Math.random();\n }\n\n if (vDistance && (pos.y < initialPosition.y && vel.y < 0 || pos.y > initialPosition.y && vel.y > 0)) {\n vel.y *= -Math.random();\n }\n }\n}\n\nvar Mover = /*#__PURE__*/function () {\n function Mover(container) {\n _classCallCheck(this, Mover);\n\n this.container = container;\n }\n\n _createClass(Mover, [{\n key: \"move\",\n value: function move(particle, delta) {\n if (particle.destroyed) {\n return;\n }\n\n this.moveParticle(particle, delta);\n this.moveParallax(particle);\n }\n }, {\n key: \"moveParticle\",\n value: function moveParticle(particle, delta) {\n var _a, _b, _c;\n\n var _d, _e;\n\n var particleOptions = particle.options;\n var moveOptions = particleOptions.move;\n\n if (!moveOptions.enable) {\n return;\n }\n\n var container = this.container,\n slowFactor = this.getProximitySpeedFactor(particle),\n baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : _d.moveSpeed = (0, Utils_1.getRangeValue)(moveOptions.speed) * container.retina.pixelRatio) * container.retina.reduceFactor,\n moveDrift = (_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : _e.moveDrift = (0, Utils_1.getRangeValue)(particle.options.move.drift) * container.retina.pixelRatio,\n maxSize = (0, Utils_1.getRangeMax)(particleOptions.size.value) * container.retina.pixelRatio,\n sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1,\n diffFactor = 2,\n speedFactor = sizeFactor * slowFactor * (delta.factor || 1) / diffFactor,\n moveSpeed = baseSpeed * speedFactor;\n this.applyPath(particle, delta);\n var gravityOptions = moveOptions.gravity;\n var gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;\n\n if (gravityOptions.enable && moveSpeed) {\n particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);\n }\n\n if (moveDrift && moveSpeed) {\n particle.velocity.x += moveDrift * delta.factor / (60 * moveSpeed);\n }\n\n var decay = particle.moveDecay;\n\n if (decay != 1) {\n particle.velocity.multTo(decay);\n }\n\n var velocity = particle.velocity.mult(moveSpeed);\n var maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;\n\n if (gravityOptions.enable && gravityOptions.maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {\n velocity.y = gravityFactor * maxSpeed;\n\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n\n var zIndexOptions = particle.options.zIndex,\n zVelocityFactor = Math.pow(1 - particle.zIndexFactor, zIndexOptions.velocityRate);\n\n if (moveOptions.spin.enable) {\n this.spin(particle, moveSpeed);\n } else {\n if (zVelocityFactor != 1) {\n velocity.multTo(zVelocityFactor);\n }\n\n particle.position.addTo(velocity);\n\n if (moveOptions.vibrate) {\n particle.position.x += Math.sin(particle.position.x * Math.cos(particle.position.y));\n particle.position.y += Math.cos(particle.position.y * Math.sin(particle.position.x));\n }\n }\n\n applyDistance(particle);\n }\n }, {\n key: \"spin\",\n value: function spin(particle, moveSpeed) {\n var container = this.container;\n\n if (!particle.spin) {\n return;\n }\n\n var updateFunc = {\n x: particle.spin.direction === Enums_1.RotateDirection.clockwise ? Math.cos : Math.sin,\n y: particle.spin.direction === Enums_1.RotateDirection.clockwise ? Math.sin : Math.cos\n };\n particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);\n particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);\n particle.spin.radius += particle.spin.acceleration;\n var maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);\n\n if (particle.spin.radius > maxCanvasSize / 2) {\n particle.spin.radius = maxCanvasSize / 2;\n particle.spin.acceleration *= -1;\n } else if (particle.spin.radius < 0) {\n particle.spin.radius = 0;\n particle.spin.acceleration *= -1;\n }\n\n particle.spin.angle += moveSpeed / 100 * (1 - particle.spin.radius / maxCanvasSize);\n }\n }, {\n key: \"applyPath\",\n value: function applyPath(particle, delta) {\n var particlesOptions = particle.options;\n var pathOptions = particlesOptions.move.path;\n var pathEnabled = pathOptions.enable;\n\n if (!pathEnabled) {\n return;\n }\n\n var container = this.container;\n\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n\n var path = container.pathGenerator.generate(particle);\n particle.velocity.addTo(path);\n\n if (pathOptions.clamp) {\n particle.velocity.x = (0, Utils_1.clamp)(particle.velocity.x, -1, 1);\n particle.velocity.y = (0, Utils_1.clamp)(particle.velocity.y, -1, 1);\n }\n\n particle.lastPathTime -= particle.pathDelay;\n }\n }, {\n key: \"moveParallax\",\n value: function moveParallax(particle) {\n var container = this.container;\n var options = container.actualOptions;\n\n if ((0, Utils_1.isSsr)() || !options.interactivity.events.onHover.parallax.enable) {\n return;\n }\n\n var parallaxForce = options.interactivity.events.onHover.parallax.force;\n var mousePos = container.interactivity.mouse.position;\n\n if (!mousePos) {\n return;\n }\n\n var canvasCenter = {\n x: container.canvas.size.width / 2,\n y: container.canvas.size.height / 2\n };\n var parallaxSmooth = options.interactivity.events.onHover.parallax.smooth;\n var factor = particle.getRadius() / parallaxForce;\n var tmp = {\n x: (mousePos.x - canvasCenter.x) * factor,\n y: (mousePos.y - canvasCenter.y) * factor\n };\n particle.offset.x += (tmp.x - particle.offset.x) / parallaxSmooth;\n particle.offset.y += (tmp.y - particle.offset.y) / parallaxSmooth;\n }\n }, {\n key: \"getProximitySpeedFactor\",\n value: function getProximitySpeedFactor(particle) {\n var container = this.container;\n var options = container.actualOptions;\n var active = (0, Utils_1.isInArray)(Enums_1.HoverMode.slow, options.interactivity.events.onHover.mode);\n\n if (!active) {\n return 1;\n }\n\n var mousePos = this.container.interactivity.mouse.position;\n\n if (!mousePos) {\n return 1;\n }\n\n var particlePos = particle.getPosition();\n var dist = (0, Utils_1.getDistance)(mousePos, particlePos);\n var radius = container.retina.slowModeRadius;\n\n if (dist > radius) {\n return 1;\n }\n\n var proximityFactor = dist / radius || 0;\n var slowFactor = options.interactivity.modes.slow.factor;\n return proximityFactor / slowFactor;\n }\n }]);\n\n return Mover;\n}();\n\nexports.Mover = Mover;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Vector = void 0;\n\nvar Vector = /*#__PURE__*/function () {\n function Vector(x, y) {\n _classCallCheck(this, Vector);\n\n var defX, defY;\n\n if (y === undefined) {\n if (typeof x === \"number\") {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n\n var coords = x;\n var _ref = [coords.x, coords.y];\n defX = _ref[0];\n defY = _ref[1];\n } else {\n defX = x;\n defY = y;\n }\n\n this.x = defX;\n this.y = defY;\n }\n\n _createClass(Vector, [{\n key: \"angle\",\n get: function get() {\n return Math.atan2(this.y, this.x);\n },\n set: function set(angle) {\n this.updateFromAngle(angle, this.length);\n }\n }, {\n key: \"length\",\n get: function get() {\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\n },\n set: function set(length) {\n this.updateFromAngle(this.angle, length);\n }\n }, {\n key: \"add\",\n value: function add(v) {\n return Vector.create(this.x + v.x, this.y + v.y);\n }\n }, {\n key: \"addTo\",\n value: function addTo(v) {\n this.x += v.x;\n this.y += v.y;\n }\n }, {\n key: \"sub\",\n value: function sub(v) {\n return Vector.create(this.x - v.x, this.y - v.y);\n }\n }, {\n key: \"subFrom\",\n value: function subFrom(v) {\n this.x -= v.x;\n this.y -= v.y;\n }\n }, {\n key: \"mult\",\n value: function mult(n) {\n return Vector.create(this.x * n, this.y * n);\n }\n }, {\n key: \"multTo\",\n value: function multTo(n) {\n this.x *= n;\n this.y *= n;\n }\n }, {\n key: \"div\",\n value: function div(n) {\n return Vector.create(this.x / n, this.y / n);\n }\n }, {\n key: \"divTo\",\n value: function divTo(n) {\n this.x /= n;\n this.y /= n;\n }\n }, {\n key: \"distanceTo\",\n value: function distanceTo(v) {\n return this.sub(v).length;\n }\n }, {\n key: \"getLengthSq\",\n value: function getLengthSq() {\n return Math.pow(this.x, 2) + Math.pow(this.y, 2);\n }\n }, {\n key: \"distanceToSq\",\n value: function distanceToSq(v) {\n return this.sub(v).getLengthSq();\n }\n }, {\n key: \"manhattanDistanceTo\",\n value: function manhattanDistanceTo(v) {\n return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);\n }\n }, {\n key: \"copy\",\n value: function copy() {\n return Vector.clone(this);\n }\n }, {\n key: \"setTo\",\n value: function setTo(velocity) {\n this.x = velocity.x;\n this.y = velocity.y;\n }\n }, {\n key: \"rotate\",\n value: function rotate(angle) {\n return Vector.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle));\n }\n }, {\n key: \"updateFromAngle\",\n value: function updateFromAngle(angle, length) {\n this.x = Math.cos(angle) * length;\n this.y = Math.sin(angle) * length;\n }\n }], [{\n key: \"clone\",\n value: function clone(source) {\n return Vector.create(source.x, source.y);\n }\n }, {\n key: \"create\",\n value: function create(x, y) {\n return new Vector(x, y);\n }\n }, {\n key: \"origin\",\n get: function get() {\n return Vector.create(0, 0);\n }\n }]);\n\n return Vector;\n}();\n\nexports.Vector = Vector;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Vector3d = void 0;\n\nvar Vector_1 = require(\"./Vector\");\n\nvar Vector3d = /*#__PURE__*/function (_Vector_1$Vector) {\n _inherits(Vector3d, _Vector_1$Vector);\n\n var _super = _createSuper(Vector3d);\n\n function Vector3d(x, y, z) {\n var _this;\n\n _classCallCheck(this, Vector3d);\n\n _this = _super.call(this, x, y);\n _this.z = z === undefined ? x.z : z;\n return _this;\n }\n\n _createClass(Vector3d, [{\n key: \"add\",\n value: function add(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : _get(_getPrototypeOf(Vector3d.prototype), \"add\", this).call(this, v);\n }\n }, {\n key: \"addTo\",\n value: function addTo(v) {\n _get(_getPrototypeOf(Vector3d.prototype), \"addTo\", this).call(this, v);\n\n if (v instanceof Vector3d) {\n this.z += v.z;\n }\n }\n }, {\n key: \"sub\",\n value: function sub(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : _get(_getPrototypeOf(Vector3d.prototype), \"sub\", this).call(this, v);\n }\n }, {\n key: \"subFrom\",\n value: function subFrom(v) {\n _get(_getPrototypeOf(Vector3d.prototype), \"subFrom\", this).call(this, v);\n\n if (v instanceof Vector3d) {\n this.z -= v.z;\n }\n }\n }, {\n key: \"mult\",\n value: function mult(n) {\n return Vector3d.create(this.x * n, this.y * n, this.z * n);\n }\n }, {\n key: \"multTo\",\n value: function multTo(n) {\n _get(_getPrototypeOf(Vector3d.prototype), \"multTo\", this).call(this, n);\n\n this.z *= n;\n }\n }, {\n key: \"div\",\n value: function div(n) {\n return Vector3d.create(this.x / n, this.y / n, this.z / n);\n }\n }, {\n key: \"divTo\",\n value: function divTo(n) {\n _get(_getPrototypeOf(Vector3d.prototype), \"divTo\", this).call(this, n);\n\n this.z /= n;\n }\n }, {\n key: \"copy\",\n value: function copy() {\n return Vector3d.clone(this);\n }\n }, {\n key: \"setTo\",\n value: function setTo(v) {\n _get(_getPrototypeOf(Vector3d.prototype), \"setTo\", this).call(this, v);\n\n if (v instanceof Vector3d) {\n this.z = v.z;\n }\n }\n }], [{\n key: \"clone\",\n value: function clone(source) {\n return Vector3d.create(source.x, source.y, source.z);\n }\n }, {\n key: \"create\",\n value: function create(x, y, z) {\n return new Vector3d(x, y, z);\n }\n }]);\n\n return Vector3d;\n}(Vector_1.Vector);\n\nexports.Vector3d = Vector3d;","\"use strict\";\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Particles = void 0;\n\nvar Particle_1 = require(\"./Particle\");\n\nvar Utils_1 = require(\"../Utils\");\n\nvar InteractionManager_1 = require(\"./InteractionManager\");\n\nvar ParticlesOptions_1 = require(\"../Options/Classes/Particles/ParticlesOptions\");\n\nvar Mover_1 = require(\"./Particle/Mover\");\n\nvar Particles = /*#__PURE__*/function () {\n function Particles(container) {\n _classCallCheck(this, Particles);\n\n this.container = container;\n this.nextId = 0;\n this.array = [];\n this.zArray = [];\n this.mover = new Mover_1.Mover(container);\n this.limit = 0;\n this.needsSort = false;\n this.lastZIndex = 0;\n this.freqs = {\n links: new Map(),\n triangles: new Map()\n };\n this.interactionManager = new InteractionManager_1.InteractionManager(container);\n var canvasSize = this.container.canvas.size;\n this.linksColors = new Map();\n this.quadTree = new Utils_1.QuadTree(new Utils_1.Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);\n this.updaters = Utils_1.Plugins.getUpdaters(container, true);\n }\n\n _createClass(Particles, [{\n key: \"count\",\n get: function get() {\n return this.array.length;\n }\n }, {\n key: \"init\",\n value: function init() {\n var _a;\n\n var container = this.container;\n var options = container.actualOptions;\n this.lastZIndex = 0;\n this.needsSort = false;\n this.freqs.links = new Map();\n this.freqs.triangles = new Map();\n var handled = false;\n this.updaters = Utils_1.Plugins.getUpdaters(container, true);\n this.interactionManager.init();\n\n var _iterator = _createForOfIteratorHelper(container.plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n plugin = _step$value[1];\n\n if (plugin.particlesInitialization !== undefined) {\n handled = plugin.particlesInitialization();\n }\n\n if (handled) {\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.addManualParticles();\n\n if (!handled) {\n for (var group in options.particles.groups) {\n var groupOptions = options.particles.groups[group];\n\n for (var i = this.count, j = 0; j < ((_a = groupOptions.number) === null || _a === void 0 ? void 0 : _a.value) && i < options.particles.number.value; i++, j++) {\n this.addParticle(undefined, groupOptions, group);\n }\n }\n\n for (var _i = this.count; _i < options.particles.number.value; _i++) {\n this.addParticle();\n }\n }\n\n container.pathGenerator.init(container);\n }\n }, {\n key: \"redraw\",\n value: function redraw() {\n this.clear();\n this.init();\n this.draw({\n value: 0,\n factor: 0\n });\n }\n }, {\n key: \"removeAt\",\n value: function removeAt(index) {\n var quantity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var group = arguments.length > 2 ? arguments[2] : undefined;\n var override = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!(index >= 0 && index <= this.count)) {\n return;\n }\n\n var deleted = 0;\n\n for (var i = index; deleted < quantity && i < this.count; i++) {\n var particle = this.array[i];\n\n if (!particle || particle.group !== group) {\n continue;\n }\n\n particle.destroy(override);\n this.array.splice(i--, 1);\n var zIdx = this.zArray.indexOf(particle);\n this.zArray.splice(zIdx, 1);\n deleted++;\n }\n }\n }, {\n key: \"remove\",\n value: function remove(particle, group, override) {\n this.removeAt(this.array.indexOf(particle), undefined, group, override);\n }\n }, {\n key: \"update\",\n value: function update(delta) {\n var container = this.container;\n var particlesToDelete = [];\n container.pathGenerator.update();\n\n var _iterator2 = _createForOfIteratorHelper(container.plugins),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n plugin = _step2$value[1];\n\n if (plugin.update !== undefined) {\n plugin.update(delta);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = _createForOfIteratorHelper(this.array),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _particle = _step3.value;\n var resizeFactor = container.canvas.resizeFactor;\n\n if (resizeFactor) {\n _particle.position.x *= resizeFactor.width;\n _particle.position.y *= resizeFactor.height;\n }\n\n _particle.bubble.inRange = false;\n\n var _iterator5 = _createForOfIteratorHelper(this.container.plugins),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n _plugin = _step5$value[1];\n\n if (_particle.destroyed) {\n break;\n }\n\n if (_plugin.particleUpdate) {\n _plugin.particleUpdate(_particle, delta);\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.mover.move(_particle, delta);\n\n if (_particle.destroyed) {\n particlesToDelete.push(_particle);\n continue;\n }\n\n this.quadTree.insert(new Utils_1.Point(_particle.getPosition(), _particle));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n for (var _i2 = 0, _particlesToDelete = particlesToDelete; _i2 < _particlesToDelete.length; _i2++) {\n var particle = _particlesToDelete[_i2];\n this.remove(particle);\n }\n\n this.interactionManager.externalInteract(delta);\n\n var _iterator4 = _createForOfIteratorHelper(container.particles.array),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _particle2 = _step4.value;\n\n var _iterator6 = _createForOfIteratorHelper(this.updaters),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var updater = _step6.value;\n updater.update(_particle2, delta);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n if (!_particle2.destroyed && !_particle2.spawning) {\n this.interactionManager.particlesInteract(_particle2, delta);\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n delete container.canvas.resizeFactor;\n }\n }, {\n key: \"draw\",\n value: function draw(delta) {\n var container = this.container;\n container.canvas.clear();\n var canvasSize = this.container.canvas.size;\n this.quadTree = new Utils_1.QuadTree(new Utils_1.Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);\n this.update(delta);\n\n if (this.needsSort) {\n this.zArray.sort(function (a, b) {\n return b.position.z - a.position.z || a.id - b.id;\n });\n this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;\n this.needsSort = false;\n }\n\n var _iterator7 = _createForOfIteratorHelper(container.plugins),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n plugin = _step7$value[1];\n\n container.canvas.drawPlugin(plugin, delta);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n var _iterator8 = _createForOfIteratorHelper(this.zArray),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var p = _step8.value;\n p.draw(delta);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.array = [];\n this.zArray = [];\n }\n }, {\n key: \"push\",\n value: function push(nb, mouse, overrideOptions, group) {\n this.pushing = true;\n\n for (var i = 0; i < nb; i++) {\n this.addParticle(mouse === null || mouse === void 0 ? void 0 : mouse.position, overrideOptions, group);\n }\n\n this.pushing = false;\n }\n }, {\n key: \"addParticle\",\n value: function addParticle(position, overrideOptions, group) {\n var container = this.container;\n var options = container.actualOptions;\n var limit = options.particles.number.limit * container.density;\n\n if (limit > 0) {\n var countToRemove = this.count + 1 - limit;\n\n if (countToRemove > 0) {\n this.removeQuantity(countToRemove);\n }\n }\n\n return this.pushParticle(position, overrideOptions, group);\n }\n }, {\n key: \"addSplitParticle\",\n value: function addSplitParticle(parent) {\n var splitOptions = parent.options.destroy.split;\n var options = new ParticlesOptions_1.ParticlesOptions();\n options.load(parent.options);\n var factor = (0, Utils_1.getRangeValue)(splitOptions.factor.value);\n options.color.load({\n value: {\n hsl: parent.getFillColor()\n }\n });\n\n if (typeof options.size.value === \"number\") {\n options.size.value /= factor;\n } else {\n options.size.value.min /= factor;\n options.size.value.max /= factor;\n }\n\n options.load(splitOptions.particles);\n var offset = splitOptions.sizeOffset ? (0, Utils_1.setRangeValue)(-parent.size.value, parent.size.value) : 0;\n var position = {\n x: parent.position.x + (0, Utils_1.randomInRange)(offset),\n y: parent.position.y + (0, Utils_1.randomInRange)(offset)\n };\n return this.pushParticle(position, options, parent.group, function (particle) {\n if (particle.size.value < 0.5) {\n return false;\n }\n\n particle.velocity.length = (0, Utils_1.randomInRange)((0, Utils_1.setRangeValue)(parent.velocity.length, particle.velocity.length));\n particle.splitCount = parent.splitCount + 1;\n particle.unbreakable = true;\n setTimeout(function () {\n particle.unbreakable = false;\n }, 500);\n return true;\n });\n }\n }, {\n key: \"removeQuantity\",\n value: function removeQuantity(quantity, group) {\n this.removeAt(0, quantity, group);\n }\n }, {\n key: \"getLinkFrequency\",\n value: function getLinkFrequency(p1, p2) {\n var key = \"\".concat(Math.min(p1.id, p2.id), \"_\").concat(Math.max(p1.id, p2.id));\n var res = this.freqs.links.get(key);\n\n if (res === undefined) {\n res = Math.random();\n this.freqs.links.set(key, res);\n }\n\n return res;\n }\n }, {\n key: \"getTriangleFrequency\",\n value: function getTriangleFrequency(p1, p2, p3) {\n var _ref = [p1.id, p2.id, p3.id],\n id1 = _ref[0],\n id2 = _ref[1],\n id3 = _ref[2];\n\n if (id1 > id2) {\n var _ref2 = [id1, id2];\n id2 = _ref2[0];\n id1 = _ref2[1];\n }\n\n if (id2 > id3) {\n var _ref3 = [id2, id3];\n id3 = _ref3[0];\n id2 = _ref3[1];\n }\n\n if (id1 > id3) {\n var _ref4 = [id1, id3];\n id3 = _ref4[0];\n id1 = _ref4[1];\n }\n\n var key = \"\".concat(id1, \"_\").concat(id2, \"_\").concat(id3);\n var res = this.freqs.triangles.get(key);\n\n if (res === undefined) {\n res = Math.random();\n this.freqs.triangles.set(key, res);\n }\n\n return res;\n }\n }, {\n key: \"addManualParticles\",\n value: function addManualParticles() {\n var container = this.container;\n var options = container.actualOptions;\n\n var _iterator9 = _createForOfIteratorHelper(options.manualParticles),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var particle = _step9.value;\n var pos = particle.position ? {\n x: particle.position.x * container.canvas.size.width / 100,\n y: particle.position.y * container.canvas.size.height / 100\n } : undefined;\n this.addParticle(pos, particle.options);\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n }\n }, {\n key: \"setDensity\",\n value: function setDensity() {\n var options = this.container.actualOptions;\n\n for (var group in options.particles.groups) {\n this.applyDensity(options.particles.groups[group], 0, group);\n }\n\n this.applyDensity(options.particles, options.manualParticles.length);\n }\n }, {\n key: \"applyDensity\",\n value: function applyDensity(options, manualCount, group) {\n var _a;\n\n if (!((_a = options.number.density) === null || _a === void 0 ? void 0 : _a.enable)) {\n return;\n }\n\n var numberOptions = options.number;\n var densityFactor = this.initDensityFactor(numberOptions.density);\n var optParticlesNumber = numberOptions.value;\n var optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber;\n var particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount;\n var particlesCount = Math.min(this.count, this.array.filter(function (t) {\n return t.group === group;\n }).length);\n this.limit = numberOptions.limit * densityFactor;\n\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n } else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n }\n }, {\n key: \"initDensityFactor\",\n value: function initDensityFactor(densityOptions) {\n var container = this.container;\n\n if (!container.canvas.element || !densityOptions.enable) {\n return 1;\n }\n\n var canvas = container.canvas.element;\n var pxRatio = container.retina.pixelRatio;\n return canvas.width * canvas.height / (densityOptions.factor * Math.pow(pxRatio, 2) * densityOptions.area);\n }\n }, {\n key: \"pushParticle\",\n value: function pushParticle(position, overrideOptions, group, initializer) {\n try {\n var particle = new Particle_1.Particle(this.nextId, this.container, position, overrideOptions, group);\n var canAdd = true;\n\n if (initializer) {\n canAdd = initializer(particle);\n }\n\n if (!canAdd) {\n return;\n }\n\n this.array.push(particle);\n this.zArray.push(particle);\n this.nextId++;\n return particle;\n } catch (e) {\n console.warn(\"error adding particle: \".concat(e));\n return;\n }\n }\n }]);\n\n return Particles;\n}();\n\nexports.Particles = Particles;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ParticlesInteractorBase = void 0;\n\nvar Enums_1 = require(\"../Enums\");\n\nvar ParticlesInteractorBase = function ParticlesInteractorBase(container) {\n _classCallCheck(this, ParticlesInteractorBase);\n\n this.container = container;\n this.type = Enums_1.InteractorType.Particles;\n};\n\nexports.ParticlesInteractorBase = ParticlesInteractorBase;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Retina = void 0;\n\nvar Utils_1 = require(\"../Utils\");\n\nvar Retina = /*#__PURE__*/function () {\n function Retina(container) {\n _classCallCheck(this, Retina);\n\n this.container = container;\n }\n\n _createClass(Retina, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n var container = this.container;\n var options = container.actualOptions;\n this.pixelRatio = !options.detectRetina || (0, Utils_1.isSsr)() ? 1 : window.devicePixelRatio;\n var motionOptions = this.container.actualOptions.motion;\n\n if (motionOptions && (motionOptions.disable || motionOptions.reduce.value)) {\n if ((0, Utils_1.isSsr)() || typeof matchMedia === \"undefined\" || !matchMedia) {\n this.reduceFactor = 1;\n } else {\n var mediaQuery = matchMedia(\"(prefers-reduced-motion: reduce)\");\n\n if (mediaQuery) {\n this.handleMotionChange(mediaQuery);\n\n var handleChange = function handleChange() {\n _this.handleMotionChange(mediaQuery);\n\n container.refresh().catch(function () {});\n };\n\n if (mediaQuery.addEventListener !== undefined) {\n mediaQuery.addEventListener(\"change\", handleChange);\n } else if (mediaQuery.addListener !== undefined) {\n mediaQuery.addListener(handleChange);\n }\n }\n }\n } else {\n this.reduceFactor = 1;\n }\n\n var ratio = this.pixelRatio;\n\n if (container.canvas.element) {\n var element = container.canvas.element;\n container.canvas.size.width = element.offsetWidth * ratio;\n container.canvas.size.height = element.offsetHeight * ratio;\n }\n\n var particles = options.particles;\n this.attractDistance = particles.move.attract.distance * ratio;\n this.linksDistance = particles.links.distance * ratio;\n this.linksWidth = particles.links.width * ratio;\n this.sizeAnimationSpeed = particles.size.animation.speed * ratio;\n this.maxSpeed = particles.move.gravity.maxSpeed * ratio;\n\n if (particles.orbit.radius !== undefined) {\n this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;\n }\n\n var modes = options.interactivity.modes;\n this.connectModeDistance = modes.connect.distance * ratio;\n this.connectModeRadius = modes.connect.radius * ratio;\n this.grabModeDistance = modes.grab.distance * ratio;\n this.repulseModeDistance = modes.repulse.distance * ratio;\n this.bounceModeDistance = modes.bounce.distance * ratio;\n this.attractModeDistance = modes.attract.distance * ratio;\n this.slowModeRadius = modes.slow.radius * ratio;\n this.bubbleModeDistance = modes.bubble.distance * ratio;\n\n if (modes.bubble.size) {\n this.bubbleModeSize = modes.bubble.size * ratio;\n }\n }\n }, {\n key: \"initParticle\",\n value: function initParticle(particle) {\n var options = particle.options;\n var ratio = this.pixelRatio;\n var moveDistance = options.move.distance;\n var props = particle.retina;\n props.attractDistance = options.move.attract.distance * ratio;\n props.linksDistance = options.links.distance * ratio;\n props.linksWidth = options.links.width * ratio;\n props.moveDrift = (0, Utils_1.getRangeValue)(options.move.drift) * ratio;\n props.moveSpeed = (0, Utils_1.getRangeValue)(options.move.speed) * ratio;\n props.sizeAnimationSpeed = options.size.animation.speed * ratio;\n\n if (particle.spin) {\n props.spinAcceleration = (0, Utils_1.getRangeValue)(options.move.spin.acceleration) * ratio;\n }\n\n var maxDistance = props.maxDistance;\n maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;\n maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;\n props.maxSpeed = options.move.gravity.maxSpeed * ratio;\n }\n }, {\n key: \"handleMotionChange\",\n value: function handleMotionChange(mediaQuery) {\n var options = this.container.actualOptions;\n\n if (mediaQuery.matches) {\n var motion = options.motion;\n this.reduceFactor = motion.disable ? 0 : motion.reduce.value ? 1 / motion.reduce.factor : 1;\n } else {\n this.reduceFactor = 1;\n }\n }\n }]);\n\n return Retina;\n}();\n\nexports.Retina = Retina;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnimationStatus = void 0;\nvar AnimationStatus;\n\n(function (AnimationStatus) {\n AnimationStatus[AnimationStatus[\"increasing\"] = 0] = \"increasing\";\n AnimationStatus[AnimationStatus[\"decreasing\"] = 1] = \"decreasing\";\n})(AnimationStatus = exports.AnimationStatus || (exports.AnimationStatus = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MoveDirection = void 0;\nvar MoveDirection;\n\n(function (MoveDirection) {\n MoveDirection[\"bottom\"] = \"bottom\";\n MoveDirection[\"bottomLeft\"] = \"bottom-left\";\n MoveDirection[\"bottomRight\"] = \"bottom-right\";\n MoveDirection[\"left\"] = \"left\";\n MoveDirection[\"none\"] = \"none\";\n MoveDirection[\"right\"] = \"right\";\n MoveDirection[\"top\"] = \"top\";\n MoveDirection[\"topLeft\"] = \"top-left\";\n MoveDirection[\"topRight\"] = \"top-right\";\n})(MoveDirection = exports.MoveDirection || (exports.MoveDirection = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OutModeDirection = void 0;\nvar OutModeDirection;\n\n(function (OutModeDirection) {\n OutModeDirection[\"bottom\"] = \"bottom\";\n OutModeDirection[\"left\"] = \"left\";\n OutModeDirection[\"right\"] = \"right\";\n OutModeDirection[\"top\"] = \"top\";\n})(OutModeDirection = exports.OutModeDirection || (exports.OutModeDirection = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RotateDirection = void 0;\nvar RotateDirection;\n\n(function (RotateDirection) {\n RotateDirection[\"clockwise\"] = \"clockwise\";\n RotateDirection[\"counterClockwise\"] = \"counter-clockwise\";\n RotateDirection[\"random\"] = \"random\";\n})(RotateDirection = exports.RotateDirection || (exports.RotateDirection = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TiltDirection = void 0;\nvar TiltDirection;\n\n(function (TiltDirection) {\n TiltDirection[\"clockwise\"] = \"clockwise\";\n TiltDirection[\"counterClockwise\"] = \"counter-clockwise\";\n TiltDirection[\"random\"] = \"random\";\n})(TiltDirection = exports.TiltDirection || (exports.TiltDirection = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./MoveDirection\"), exports);\n\n__exportStar(require(\"./RotateDirection\"), exports);\n\n__exportStar(require(\"./OutModeDirection\"), exports);\n\n__exportStar(require(\"./TiltDirection\"), exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InteractivityDetect = void 0;\nvar InteractivityDetect;\n\n(function (InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect = exports.InteractivityDetect || (exports.InteractivityDetect = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ClickMode = void 0;\nvar ClickMode;\n\n(function (ClickMode) {\n ClickMode[\"attract\"] = \"attract\";\n ClickMode[\"bubble\"] = \"bubble\";\n ClickMode[\"push\"] = \"push\";\n ClickMode[\"remove\"] = \"remove\";\n ClickMode[\"repulse\"] = \"repulse\";\n ClickMode[\"pause\"] = \"pause\";\n ClickMode[\"trail\"] = \"trail\";\n})(ClickMode = exports.ClickMode || (exports.ClickMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CollisionMode = void 0;\nvar CollisionMode;\n\n(function (CollisionMode) {\n CollisionMode[\"absorb\"] = \"absorb\";\n CollisionMode[\"bounce\"] = \"bounce\";\n CollisionMode[\"destroy\"] = \"destroy\";\n})(CollisionMode = exports.CollisionMode || (exports.CollisionMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DestroyMode = void 0;\nvar DestroyMode;\n\n(function (DestroyMode) {\n DestroyMode[\"none\"] = \"none\";\n DestroyMode[\"split\"] = \"split\";\n})(DestroyMode = exports.DestroyMode || (exports.DestroyMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DivMode = void 0;\nvar DivMode;\n\n(function (DivMode) {\n DivMode[\"bounce\"] = \"bounce\";\n DivMode[\"bubble\"] = \"bubble\";\n DivMode[\"repulse\"] = \"repulse\";\n})(DivMode = exports.DivMode || (exports.DivMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HoverMode = void 0;\nvar HoverMode;\n\n(function (HoverMode) {\n HoverMode[\"attract\"] = \"attract\";\n HoverMode[\"bounce\"] = \"bounce\";\n HoverMode[\"bubble\"] = \"bubble\";\n HoverMode[\"connect\"] = \"connect\";\n HoverMode[\"grab\"] = \"grab\";\n HoverMode[\"light\"] = \"light\";\n HoverMode[\"repulse\"] = \"repulse\";\n HoverMode[\"slow\"] = \"slow\";\n HoverMode[\"trail\"] = \"trail\";\n})(HoverMode = exports.HoverMode || (exports.HoverMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OutMode = void 0;\nvar OutMode;\n\n(function (OutMode) {\n OutMode[\"bounce\"] = \"bounce\";\n OutMode[\"bounceHorizontal\"] = \"bounce-horizontal\";\n OutMode[\"bounceVertical\"] = \"bounce-vertical\";\n OutMode[\"none\"] = \"none\";\n OutMode[\"out\"] = \"out\";\n OutMode[\"destroy\"] = \"destroy\";\n OutMode[\"split\"] = \"split\";\n})(OutMode = exports.OutMode || (exports.OutMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponsiveMode = void 0;\nvar ResponsiveMode;\n\n(function (ResponsiveMode) {\n ResponsiveMode[\"screen\"] = \"screen\";\n ResponsiveMode[\"canvas\"] = \"canvas\";\n})(ResponsiveMode = exports.ResponsiveMode || (exports.ResponsiveMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RollMode = void 0;\nvar RollMode;\n\n(function (RollMode) {\n RollMode[\"both\"] = \"both\";\n RollMode[\"horizontal\"] = \"horizontal\";\n RollMode[\"vertical\"] = \"vertical\";\n})(RollMode = exports.RollMode || (exports.RollMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeMode = void 0;\nvar SizeMode;\n\n(function (SizeMode) {\n SizeMode[\"precise\"] = \"precise\";\n SizeMode[\"percent\"] = \"percent\";\n})(SizeMode = exports.SizeMode || (exports.SizeMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ThemeMode = void 0;\nvar ThemeMode;\n\n(function (ThemeMode) {\n ThemeMode[\"any\"] = \"any\";\n ThemeMode[\"dark\"] = \"dark\";\n ThemeMode[\"light\"] = \"light\";\n})(ThemeMode = exports.ThemeMode || (exports.ThemeMode = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./ClickMode\"), exports);\n\n__exportStar(require(\"./DestroyMode\"), exports);\n\n__exportStar(require(\"./DivMode\"), exports);\n\n__exportStar(require(\"./HoverMode\"), exports);\n\n__exportStar(require(\"./CollisionMode\"), exports);\n\n__exportStar(require(\"./OutMode\"), exports);\n\n__exportStar(require(\"./RollMode\"), exports);\n\n__exportStar(require(\"./SizeMode\"), exports);\n\n__exportStar(require(\"./ThemeMode\"), exports);\n\n__exportStar(require(\"./ResponsiveMode\"), exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlterType = void 0;\nvar AlterType;\n\n(function (AlterType) {\n AlterType[\"darken\"] = \"darken\";\n AlterType[\"enlighten\"] = \"enlighten\";\n})(AlterType = exports.AlterType || (exports.AlterType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DestroyType = void 0;\nvar DestroyType;\n\n(function (DestroyType) {\n DestroyType[\"none\"] = \"none\";\n DestroyType[\"max\"] = \"max\";\n DestroyType[\"min\"] = \"min\";\n})(DestroyType = exports.DestroyType || (exports.DestroyType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DivType = void 0;\nvar DivType;\n\n(function (DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType = exports.DivType || (exports.DivType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EasingType = void 0;\nvar EasingType;\n\n(function (EasingType) {\n EasingType[\"easeOutBack\"] = \"ease-out-back\";\n EasingType[\"easeOutCirc\"] = \"ease-out-circ\";\n EasingType[\"easeOutCubic\"] = \"ease-out-cubic\";\n EasingType[\"easeOutQuad\"] = \"ease-out-quad\";\n EasingType[\"easeOutQuart\"] = \"ease-out-quart\";\n EasingType[\"easeOutQuint\"] = \"ease-out-quint\";\n EasingType[\"easeOutExpo\"] = \"ease-out-expo\";\n EasingType[\"easeOutSine\"] = \"ease-out-sine\";\n})(EasingType = exports.EasingType || (exports.EasingType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GradientType = void 0;\nvar GradientType;\n\n(function (GradientType) {\n GradientType[\"linear\"] = \"linear\";\n GradientType[\"radial\"] = \"radial\";\n GradientType[\"random\"] = \"random\";\n})(GradientType = exports.GradientType || (exports.GradientType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InteractorType = void 0;\nvar InteractorType;\n\n(function (InteractorType) {\n InteractorType[InteractorType[\"External\"] = 0] = \"External\";\n InteractorType[InteractorType[\"Particles\"] = 1] = \"Particles\";\n})(InteractorType = exports.InteractorType || (exports.InteractorType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrbitType = void 0;\nvar OrbitType;\n\n(function (OrbitType) {\n OrbitType[\"front\"] = \"front\";\n OrbitType[\"back\"] = \"back\";\n})(OrbitType = exports.OrbitType || (exports.OrbitType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ShapeType = void 0;\nvar ShapeType;\n\n(function (ShapeType) {\n ShapeType[\"char\"] = \"char\";\n ShapeType[\"character\"] = \"character\";\n ShapeType[\"circle\"] = \"circle\";\n ShapeType[\"edge\"] = \"edge\";\n ShapeType[\"image\"] = \"image\";\n ShapeType[\"images\"] = \"images\";\n ShapeType[\"line\"] = \"line\";\n ShapeType[\"polygon\"] = \"polygon\";\n ShapeType[\"square\"] = \"square\";\n ShapeType[\"star\"] = \"star\";\n ShapeType[\"triangle\"] = \"triangle\";\n})(ShapeType = exports.ShapeType || (exports.ShapeType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StartValueType = void 0;\nvar StartValueType;\n\n(function (StartValueType) {\n StartValueType[\"max\"] = \"max\";\n StartValueType[\"min\"] = \"min\";\n StartValueType[\"random\"] = \"random\";\n})(StartValueType = exports.StartValueType || (exports.StartValueType = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./AlterType\"), exports);\n\n__exportStar(require(\"./DestroyType\"), exports);\n\n__exportStar(require(\"./GradientType\"), exports);\n\n__exportStar(require(\"./InteractorType\"), exports);\n\n__exportStar(require(\"./ShapeType\"), exports);\n\n__exportStar(require(\"./StartValueType\"), exports);\n\n__exportStar(require(\"./DivType\"), exports);\n\n__exportStar(require(\"./EasingType\"), exports);\n\n__exportStar(require(\"./OrbitType\"), exports);","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./Directions\"), exports);\n\n__exportStar(require(\"./Modes\"), exports);\n\n__exportStar(require(\"./AnimationStatus\"), exports);\n\n__exportStar(require(\"./Types\"), exports);\n\n__exportStar(require(\"./InteractivityDetect\"), exports);","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Attractor = void 0;\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar Vector_1 = require(\"../../../Core/Particle/Vector\");\n\nvar Attractor = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Attractor, _ExternalInteractorBa);\n\n var _super = _createSuper(Attractor);\n\n function Attractor(container) {\n _classCallCheck(this, Attractor);\n\n return _super.call(this, container);\n }\n\n _createClass(Attractor, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n options = container.actualOptions,\n mouse = container.interactivity.mouse,\n events = options.interactivity.events;\n\n if ((!mouse.position || !events.onHover.enable) && (!mouse.clickPosition || !events.onClick.enable)) {\n return false;\n }\n\n var hoverMode = events.onHover.mode,\n clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.attract, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.attract, clickMode);\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact() {\n var container = this.container,\n options = container.actualOptions,\n mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent,\n events = options.interactivity.events,\n hoverEnabled = events.onHover.enable,\n hoverMode = events.onHover.mode,\n clickEnabled = events.onClick.enable,\n clickMode = events.onClick.mode;\n\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.attract, hoverMode)) {\n this.hoverAttract();\n } else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.attract, clickMode)) {\n this.clickAttract();\n }\n }\n }, {\n key: \"hoverAttract\",\n value: function hoverAttract() {\n var container = this.container;\n var mousePos = container.interactivity.mouse.position;\n\n if (!mousePos) {\n return;\n }\n\n var attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Utils_1.Circle(mousePos.x, mousePos.y, attractRadius));\n }\n }, {\n key: \"processAttract\",\n value: function processAttract(position, attractRadius, area) {\n var container = this.container;\n var attractOptions = container.actualOptions.interactivity.modes.attract;\n var query = container.particles.quadTree.query(area);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var particle = _step.value;\n\n var _ref = (0, Utils_1.getDistances)(particle.position, position),\n dx = _ref.dx,\n dy = _ref.dy,\n distance = _ref.distance;\n\n var velocity = attractOptions.speed * attractOptions.factor;\n var attractFactor = (0, Utils_1.clamp)((0, Utils_1.calcEasing)(1 - distance / attractRadius, attractOptions.easing) * velocity, 0, attractOptions.maxSpeed);\n var normVec = Vector_1.Vector.create(distance === 0 ? velocity : dx / distance * attractFactor, distance === 0 ? velocity : dy / distance * attractFactor);\n particle.position.subFrom(normVec);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"clickAttract\",\n value: function clickAttract() {\n var container = this.container;\n\n if (!container.attract.finish) {\n if (!container.attract.count) {\n container.attract.count = 0;\n }\n\n container.attract.count++;\n\n if (container.attract.count === container.particles.count) {\n container.attract.finish = true;\n }\n }\n\n if (container.attract.clicking) {\n var mousePos = container.interactivity.mouse.clickPosition;\n\n if (!mousePos) {\n return;\n }\n\n var attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Utils_1.Circle(mousePos.x, mousePos.y, attractRadius));\n } else if (container.attract.clicking === false) {\n container.attract.particles = [];\n }\n\n return;\n }\n }]);\n\n return Attractor;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Attractor = Attractor;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalAttractInteraction = void 0;\n\nvar Attractor_1 = require(\"./Attractor\");\n\nfunction loadExternalAttractInteraction(_x) {\n return _loadExternalAttractInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalAttractInteraction() {\n _loadExternalAttractInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalAttract\", function (container) {\n return new Attractor_1.Attractor(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalAttractInteraction.apply(this, arguments);\n}\n\nexports.loadExternalAttractInteraction = loadExternalAttractInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Bouncer = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar Vector_1 = require(\"../../../Core/Particle/Vector\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar Bouncer = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Bouncer, _ExternalInteractorBa);\n\n var _super = _createSuper(Bouncer);\n\n function Bouncer(container) {\n _classCallCheck(this, Bouncer);\n\n return _super.call(this, container);\n }\n\n _createClass(Bouncer, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n options = container.actualOptions,\n mouse = container.interactivity.mouse,\n events = options.interactivity.events,\n divs = events.onDiv;\n return mouse.position && events.onHover.enable && (0, Utils_1.isInArray)(Enums_1.HoverMode.bounce, events.onHover.mode) || (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.bounce, divs);\n }\n }, {\n key: \"interact\",\n value: function interact() {\n var _this = this;\n\n var container = this.container,\n options = container.actualOptions,\n events = options.interactivity.events,\n mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent,\n hoverEnabled = events.onHover.enable,\n hoverMode = events.onHover.mode,\n divs = events.onDiv;\n\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.bounce, hoverMode)) {\n this.processMouseBounce();\n } else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.bounce, divs, function (selector, div) {\n return _this.singleSelectorBounce(selector, div);\n });\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"processMouseBounce\",\n value: function processMouseBounce() {\n var container = this.container,\n pxRatio = container.retina.pixelRatio,\n tolerance = 10 * pxRatio,\n mousePos = container.interactivity.mouse.position,\n radius = container.retina.bounceModeDistance;\n\n if (mousePos) {\n this.processBounce(mousePos, radius, new Utils_1.Circle(mousePos.x, mousePos.y, radius + tolerance));\n }\n }\n }, {\n key: \"singleSelectorBounce\",\n value: function singleSelectorBounce(selector, div) {\n var _this2 = this;\n\n var container = this.container;\n var query = document.querySelectorAll(selector);\n\n if (!query.length) {\n return;\n }\n\n query.forEach(function (item) {\n var elem = item,\n pxRatio = container.retina.pixelRatio,\n pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio\n },\n radius = elem.offsetWidth / 2 * pxRatio,\n tolerance = 10 * pxRatio;\n var area = div.type === Enums_1.DivType.circle ? new Utils_1.Circle(pos.x, pos.y, radius + tolerance) : new Utils_1.Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);\n\n _this2.processBounce(pos, radius, area);\n });\n }\n }, {\n key: \"processBounce\",\n value: function processBounce(position, radius, area) {\n var query = this.container.particles.quadTree.query(area);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var particle = _step.value;\n\n if (area instanceof Utils_1.Circle) {\n (0, Utils_1.circleBounce)((0, Utils_1.circleBounceDataFromParticle)(particle), {\n position: position,\n radius: radius,\n mass: Math.pow(radius, 2) * Math.PI / 2,\n velocity: Vector_1.Vector.origin,\n factor: Vector_1.Vector.origin\n });\n } else if (area instanceof Utils_1.Rectangle) {\n (0, Utils_1.rectBounce)(particle, (0, Utils_1.calculateBounds)(position, radius));\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return Bouncer;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Bouncer = Bouncer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalBounceInteraction = void 0;\n\nvar Bouncer_1 = require(\"./Bouncer\");\n\nfunction loadExternalBounceInteraction(_x) {\n return _loadExternalBounceInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalBounceInteraction() {\n _loadExternalBounceInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalBounce\", function (container) {\n return new Bouncer_1.Bouncer(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalBounceInteraction.apply(this, arguments);\n}\n\nexports.loadExternalBounceInteraction = loadExternalBounceInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Bubbler = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar ProcessBubbleType_1 = require(\"./ProcessBubbleType\");\n\nfunction calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {\n if (modeValue >= optionsValue) {\n var value = particleValue + (modeValue - optionsValue) * ratio;\n return (0, Utils_1.clamp)(value, particleValue, modeValue);\n } else if (modeValue < optionsValue) {\n var _value = particleValue - (optionsValue - modeValue) * ratio;\n\n return (0, Utils_1.clamp)(_value, modeValue, particleValue);\n }\n}\n\nvar Bubbler = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Bubbler, _ExternalInteractorBa);\n\n var _super = _createSuper(Bubbler);\n\n function Bubbler(container) {\n _classCallCheck(this, Bubbler);\n\n return _super.call(this, container);\n }\n\n _createClass(Bubbler, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n options = container.actualOptions,\n mouse = container.interactivity.mouse,\n events = options.interactivity.events,\n divs = events.onDiv,\n divBubble = (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.bubble, divs);\n\n if (!(divBubble || events.onHover.enable && mouse.position || events.onClick.enable && mouse.clickPosition)) {\n return false;\n }\n\n var hoverMode = events.onHover.mode;\n var clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.bubble, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.bubble, clickMode) || divBubble;\n }\n }, {\n key: \"reset\",\n value: function reset(particle, force) {\n if (!(!particle.bubble.inRange || force)) {\n return;\n }\n\n delete particle.bubble.div;\n delete particle.bubble.opacity;\n delete particle.bubble.radius;\n delete particle.bubble.color;\n }\n }, {\n key: \"interact\",\n value: function interact() {\n var _this = this;\n\n var options = this.container.actualOptions,\n events = options.interactivity.events,\n onHover = events.onHover,\n onClick = events.onClick,\n hoverEnabled = onHover.enable,\n hoverMode = onHover.mode,\n clickEnabled = onClick.enable,\n clickMode = onClick.mode,\n divs = events.onDiv;\n\n if (hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.bubble, hoverMode)) {\n this.hoverBubble();\n } else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.bubble, clickMode)) {\n this.clickBubble();\n } else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.bubble, divs, function (selector, div) {\n return _this.singleSelectorHover(selector, div);\n });\n }\n }\n }, {\n key: \"singleSelectorHover\",\n value: function singleSelectorHover(selector, div) {\n var _this2 = this;\n\n var container = this.container,\n selectors = document.querySelectorAll(selector);\n\n if (!selectors.length) {\n return;\n }\n\n selectors.forEach(function (item) {\n var elem = item,\n pxRatio = container.retina.pixelRatio,\n pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio\n },\n repulseRadius = elem.offsetWidth / 2 * pxRatio,\n area = div.type === Enums_1.DivType.circle ? new Utils_1.Circle(pos.x, pos.y, repulseRadius) : new Utils_1.Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio),\n query = container.particles.quadTree.query(area);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var particle = _step.value;\n\n if (!area.contains(particle.getPosition())) {\n continue;\n }\n\n particle.bubble.inRange = true;\n var divs = container.actualOptions.interactivity.modes.bubble.divs;\n var divBubble = (0, Utils_1.divMode)(divs, elem);\n\n if (!particle.bubble.div || particle.bubble.div !== elem) {\n _this2.reset(particle, true);\n\n particle.bubble.div = elem;\n }\n\n _this2.hoverBubbleSize(particle, 1, divBubble);\n\n _this2.hoverBubbleOpacity(particle, 1, divBubble);\n\n _this2.hoverBubbleColor(particle, 1, divBubble);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n }\n }, {\n key: \"process\",\n value: function process(particle, distMouse, timeSpent, data) {\n var container = this.container,\n bubbleParam = data.bubbleObj.optValue;\n\n if (bubbleParam === undefined) {\n return;\n }\n\n var options = container.actualOptions,\n bubbleDuration = options.interactivity.modes.bubble.duration,\n bubbleDistance = container.retina.bubbleModeDistance,\n particlesParam = data.particlesObj.optValue,\n pObjBubble = data.bubbleObj.value,\n pObj = data.particlesObj.value || 0,\n type = data.type;\n\n if (bubbleParam === particlesParam) {\n return;\n }\n\n if (!container.bubble.durationEnd) {\n if (distMouse <= bubbleDistance) {\n var obj = pObjBubble !== null && pObjBubble !== void 0 ? pObjBubble : pObj;\n\n if (obj !== bubbleParam) {\n var value = pObj - timeSpent * (pObj - bubbleParam) / bubbleDuration;\n\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n particle.bubble.radius = value;\n }\n\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n particle.bubble.opacity = value;\n }\n }\n } else {\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n delete particle.bubble.radius;\n }\n\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n delete particle.bubble.opacity;\n }\n }\n } else if (pObjBubble) {\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n delete particle.bubble.radius;\n }\n\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n delete particle.bubble.opacity;\n }\n }\n }\n }, {\n key: \"clickBubble\",\n value: function clickBubble() {\n var _a, _b;\n\n var container = this.container,\n options = container.actualOptions,\n mouseClickPos = container.interactivity.mouse.clickPosition;\n\n if (!mouseClickPos) {\n return;\n }\n\n var distance = container.retina.bubbleModeDistance,\n query = container.particles.quadTree.queryCircle(mouseClickPos, distance);\n\n var _iterator2 = _createForOfIteratorHelper(query),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var particle = _step2.value;\n\n if (!container.bubble.clicking) {\n continue;\n }\n\n particle.bubble.inRange = !container.bubble.durationEnd;\n var pos = particle.getPosition(),\n distMouse = (0, Utils_1.getDistance)(pos, mouseClickPos),\n timeSpent = (new Date().getTime() - (container.interactivity.mouse.clickTime || 0)) / 1000;\n\n if (timeSpent > options.interactivity.modes.bubble.duration) {\n container.bubble.durationEnd = true;\n }\n\n if (timeSpent > options.interactivity.modes.bubble.duration * 2) {\n container.bubble.clicking = false;\n container.bubble.durationEnd = false;\n }\n\n var sizeData = {\n bubbleObj: {\n optValue: container.retina.bubbleModeSize,\n value: particle.bubble.radius\n },\n particlesObj: {\n optValue: (0, Utils_1.getRangeMax)(particle.options.size.value) * container.retina.pixelRatio,\n value: particle.size.value\n },\n type: ProcessBubbleType_1.ProcessBubbleType.size\n };\n this.process(particle, distMouse, timeSpent, sizeData);\n var opacityData = {\n bubbleObj: {\n optValue: options.interactivity.modes.bubble.opacity,\n value: particle.bubble.opacity\n },\n particlesObj: {\n optValue: (0, Utils_1.getRangeMax)(particle.options.opacity.value),\n value: (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1\n },\n type: ProcessBubbleType_1.ProcessBubbleType.opacity\n };\n this.process(particle, distMouse, timeSpent, opacityData);\n\n if (!container.bubble.durationEnd) {\n if (distMouse <= container.retina.bubbleModeDistance) {\n this.hoverBubbleColor(particle, distMouse);\n } else {\n delete particle.bubble.color;\n }\n } else {\n delete particle.bubble.color;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"hoverBubble\",\n value: function hoverBubble() {\n var container = this.container,\n mousePos = container.interactivity.mouse.position;\n\n if (mousePos === undefined) {\n return;\n }\n\n var distance = container.retina.bubbleModeDistance,\n query = container.particles.quadTree.queryCircle(mousePos, distance);\n\n var _iterator3 = _createForOfIteratorHelper(query),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var particle = _step3.value;\n particle.bubble.inRange = true;\n var pos = particle.getPosition(),\n pointDistance = (0, Utils_1.getDistance)(pos, mousePos),\n ratio = 1 - pointDistance / distance;\n\n if (pointDistance <= distance) {\n if (ratio >= 0 && container.interactivity.status === Utils_1.Constants.mouseMoveEvent) {\n this.hoverBubbleSize(particle, ratio);\n this.hoverBubbleOpacity(particle, ratio);\n this.hoverBubbleColor(particle, ratio);\n }\n } else {\n this.reset(particle);\n }\n\n if (container.interactivity.status === Utils_1.Constants.mouseLeaveEvent) {\n this.reset(particle);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"hoverBubbleSize\",\n value: function hoverBubbleSize(particle, ratio, divBubble) {\n var container = this.container,\n modeSize = (divBubble === null || divBubble === void 0 ? void 0 : divBubble.size) ? divBubble.size * container.retina.pixelRatio : container.retina.bubbleModeSize;\n\n if (modeSize === undefined) {\n return;\n }\n\n var optSize = (0, Utils_1.getRangeMax)(particle.options.size.value) * container.retina.pixelRatio;\n var pSize = particle.size.value;\n var size = calculateBubbleValue(pSize, modeSize, optSize, ratio);\n\n if (size !== undefined) {\n particle.bubble.radius = size;\n }\n }\n }, {\n key: \"hoverBubbleOpacity\",\n value: function hoverBubbleOpacity(particle, ratio, divBubble) {\n var _a, _b, _c;\n\n var container = this.container,\n options = container.actualOptions,\n modeOpacity = (_a = divBubble === null || divBubble === void 0 ? void 0 : divBubble.opacity) !== null && _a !== void 0 ? _a : options.interactivity.modes.bubble.opacity;\n\n if (!modeOpacity) {\n return;\n }\n\n var optOpacity = particle.options.opacity.value;\n var pOpacity = (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1;\n var opacity = calculateBubbleValue(pOpacity, modeOpacity, (0, Utils_1.getRangeMax)(optOpacity), ratio);\n\n if (opacity !== undefined) {\n particle.bubble.opacity = opacity;\n }\n }\n }, {\n key: \"hoverBubbleColor\",\n value: function hoverBubbleColor(particle, ratio, divBubble) {\n var options = this.container.actualOptions;\n var bubbleOptions = divBubble !== null && divBubble !== void 0 ? divBubble : options.interactivity.modes.bubble;\n\n if (!particle.bubble.finalColor) {\n var modeColor = bubbleOptions.color;\n\n if (!modeColor) {\n return;\n }\n\n var bubbleColor = modeColor instanceof Array ? (0, Utils_1.itemFromArray)(modeColor) : modeColor;\n particle.bubble.finalColor = (0, Utils_1.colorToHsl)(bubbleColor);\n }\n\n if (!particle.bubble.finalColor) {\n return;\n }\n\n if (bubbleOptions.mix) {\n particle.bubble.color = undefined;\n var pColor = particle.getFillColor();\n particle.bubble.color = pColor ? (0, Utils_1.rgbToHsl)((0, Utils_1.colorMix)(pColor, particle.bubble.finalColor, 1 - ratio, ratio)) : particle.bubble.finalColor;\n } else {\n particle.bubble.color = particle.bubble.finalColor;\n }\n }\n }]);\n\n return Bubbler;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Bubbler = Bubbler;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProcessBubbleType = void 0;\nvar ProcessBubbleType;\n\n(function (ProcessBubbleType) {\n ProcessBubbleType[\"color\"] = \"color\";\n ProcessBubbleType[\"opacity\"] = \"opacity\";\n ProcessBubbleType[\"size\"] = \"size\";\n})(ProcessBubbleType = exports.ProcessBubbleType || (exports.ProcessBubbleType = {}));","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalBubbleInteraction = void 0;\n\nvar Bubbler_1 = require(\"./Bubbler\");\n\nfunction loadExternalBubbleInteraction(_x) {\n return _loadExternalBubbleInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalBubbleInteraction() {\n _loadExternalBubbleInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalBubble\", function (container) {\n return new Bubbler_1.Bubbler(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalBubbleInteraction.apply(this, arguments);\n}\n\nexports.loadExternalBubbleInteraction = loadExternalBubbleInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Connector = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar Connector = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Connector, _ExternalInteractorBa);\n\n var _super = _createSuper(Connector);\n\n function Connector(container) {\n _classCallCheck(this, Connector);\n\n return _super.call(this, container);\n }\n\n _createClass(Connector, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n mouse = container.interactivity.mouse,\n events = container.actualOptions.interactivity.events;\n\n if (!(events.onHover.enable && mouse.position)) {\n return false;\n }\n\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.connect, events.onHover.mode);\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact() {\n var container = this.container,\n options = container.actualOptions;\n\n if (options.interactivity.events.onHover.enable && container.interactivity.status === \"mousemove\") {\n var mousePos = container.interactivity.mouse.position;\n\n if (!mousePos) {\n return;\n }\n\n var distance = Math.abs(container.retina.connectModeRadius),\n query = container.particles.quadTree.queryCircle(mousePos, distance);\n var i = 0;\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p1 = _step.value;\n var pos1 = p1.getPosition();\n\n var _iterator2 = _createForOfIteratorHelper(query.slice(i + 1)),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var p2 = _step2.value;\n var pos2 = p2.getPosition(),\n distMax = Math.abs(container.retina.connectModeDistance),\n xDiff = Math.abs(pos1.x - pos2.x),\n yDiff = Math.abs(pos1.y - pos2.y);\n\n if (xDiff < distMax && yDiff < distMax) {\n container.canvas.drawConnectLine(p1, p2);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n ++i;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }\n }]);\n\n return Connector;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Connector = Connector;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalConnectInteraction = void 0;\n\nvar Connector_1 = require(\"./Connector\");\n\nfunction loadExternalConnectInteraction(_x) {\n return _loadExternalConnectInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalConnectInteraction() {\n _loadExternalConnectInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalConnect\", function (container) {\n return new Connector_1.Connector(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalConnectInteraction.apply(this, arguments);\n}\n\nexports.loadExternalConnectInteraction = loadExternalConnectInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Grabber = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar Grabber = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Grabber, _ExternalInteractorBa);\n\n var _super = _createSuper(Grabber);\n\n function Grabber(container) {\n _classCallCheck(this, Grabber);\n\n return _super.call(this, container);\n }\n\n _createClass(Grabber, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n mouse = container.interactivity.mouse,\n events = container.actualOptions.interactivity.events;\n return events.onHover.enable && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.HoverMode.grab, events.onHover.mode);\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact() {\n var _a;\n\n var container = this.container,\n options = container.actualOptions,\n interactivity = options.interactivity;\n\n if (interactivity.events.onHover.enable && container.interactivity.status === Utils_1.Constants.mouseMoveEvent) {\n var mousePos = container.interactivity.mouse.position;\n\n if (!mousePos) {\n return;\n }\n\n var distance = container.retina.grabModeDistance,\n query = container.particles.quadTree.queryCircle(mousePos, distance);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var particle = _step.value;\n var pos = particle.getPosition(),\n pointDistance = (0, Utils_1.getDistance)(pos, mousePos);\n\n if (pointDistance <= distance) {\n var grabLineOptions = interactivity.modes.grab.links,\n lineOpacity = grabLineOptions.opacity,\n opacityLine = lineOpacity - pointDistance * lineOpacity / distance;\n\n if (opacityLine <= 0) {\n continue;\n }\n\n var optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : particle.options.links.color;\n\n if (!container.particles.grabLineColor) {\n var linksOptions = options.interactivity.modes.grab.links;\n container.particles.grabLineColor = (0, Utils_1.getLinkRandomColor)(optColor, linksOptions.blink, linksOptions.consent);\n }\n\n var colorLine = (0, Utils_1.getLinkColor)(particle, undefined, container.particles.grabLineColor);\n\n if (!colorLine) {\n return;\n }\n\n container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }\n }]);\n\n return Grabber;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Grabber = Grabber;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalGrabInteraction = void 0;\n\nvar Grabber_1 = require(\"./Grabber\");\n\nfunction loadExternalGrabInteraction(_x) {\n return _loadExternalGrabInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalGrabInteraction() {\n _loadExternalGrabInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalGrab\", function (container) {\n return new Grabber_1.Grabber(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalGrabInteraction.apply(this, arguments);\n}\n\nexports.loadExternalGrabInteraction = loadExternalGrabInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Repulser = void 0;\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Vector_1 = require(\"../../../Core/Particle/Vector\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar Repulser = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(Repulser, _ExternalInteractorBa);\n\n var _super = _createSuper(Repulser);\n\n function Repulser(container) {\n _classCallCheck(this, Repulser);\n\n return _super.call(this, container);\n }\n\n _createClass(Repulser, [{\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n options = container.actualOptions,\n mouse = container.interactivity.mouse,\n events = options.interactivity.events,\n divs = events.onDiv,\n divRepulse = (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.repulse, divs);\n\n if (!(divRepulse || events.onHover.enable && mouse.position || events.onClick.enable && mouse.clickPosition)) {\n return false;\n }\n\n var hoverMode = events.onHover.mode,\n clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.repulse, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.repulse, clickMode) || divRepulse;\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact() {\n var _this = this;\n\n var container = this.container,\n options = container.actualOptions,\n mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent,\n events = options.interactivity.events,\n hoverEnabled = events.onHover.enable,\n hoverMode = events.onHover.mode,\n clickEnabled = events.onClick.enable,\n clickMode = events.onClick.mode,\n divs = events.onDiv;\n\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.repulse, hoverMode)) {\n this.hoverRepulse();\n } else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.repulse, clickMode)) {\n this.clickRepulse();\n } else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.repulse, divs, function (selector, div) {\n return _this.singleSelectorRepulse(selector, div);\n });\n }\n }\n }, {\n key: \"singleSelectorRepulse\",\n value: function singleSelectorRepulse(selector, div) {\n var _this2 = this;\n\n var container = this.container,\n query = document.querySelectorAll(selector);\n\n if (!query.length) {\n return;\n }\n\n query.forEach(function (item) {\n var elem = item,\n pxRatio = container.retina.pixelRatio,\n pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio\n },\n repulseRadius = elem.offsetWidth / 2 * pxRatio,\n area = div.type === Enums_1.DivType.circle ? new Utils_1.Circle(pos.x, pos.y, repulseRadius) : new Utils_1.Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio),\n divs = container.actualOptions.interactivity.modes.repulse.divs,\n divRepulse = (0, Utils_1.divMode)(divs, elem);\n\n _this2.processRepulse(pos, repulseRadius, area, divRepulse);\n });\n }\n }, {\n key: \"hoverRepulse\",\n value: function hoverRepulse() {\n var container = this.container,\n mousePos = container.interactivity.mouse.position;\n\n if (!mousePos) {\n return;\n }\n\n var repulseRadius = container.retina.repulseModeDistance;\n this.processRepulse(mousePos, repulseRadius, new Utils_1.Circle(mousePos.x, mousePos.y, repulseRadius));\n }\n }, {\n key: \"processRepulse\",\n value: function processRepulse(position, repulseRadius, area, divRepulse) {\n var _a;\n\n var container = this.container,\n query = container.particles.quadTree.query(area),\n repulseOptions = container.actualOptions.interactivity.modes.repulse;\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var particle = _step.value;\n\n var _ref = (0, Utils_1.getDistances)(particle.position, position),\n dx = _ref.dx,\n dy = _ref.dy,\n distance = _ref.distance,\n velocity = ((_a = divRepulse === null || divRepulse === void 0 ? void 0 : divRepulse.speed) !== null && _a !== void 0 ? _a : repulseOptions.speed) * repulseOptions.factor,\n repulseFactor = (0, Utils_1.clamp)((0, Utils_1.calcEasing)(1 - distance / repulseRadius, repulseOptions.easing) * velocity, 0, repulseOptions.maxSpeed),\n normVec = Vector_1.Vector.create(distance === 0 ? velocity : dx / distance * repulseFactor, distance === 0 ? velocity : dy / distance * repulseFactor);\n\n particle.position.addTo(normVec);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"clickRepulse\",\n value: function clickRepulse() {\n var container = this.container;\n\n if (!container.repulse.finish) {\n if (!container.repulse.count) {\n container.repulse.count = 0;\n }\n\n container.repulse.count++;\n\n if (container.repulse.count === container.particles.count) {\n container.repulse.finish = true;\n }\n }\n\n if (container.repulse.clicking) {\n var repulseDistance = container.retina.repulseModeDistance,\n repulseRadius = Math.pow(repulseDistance / 6, 3),\n mouseClickPos = container.interactivity.mouse.clickPosition;\n\n if (mouseClickPos === undefined) {\n return;\n }\n\n var range = new Utils_1.Circle(mouseClickPos.x, mouseClickPos.y, repulseRadius),\n query = container.particles.quadTree.query(range);\n\n var _iterator2 = _createForOfIteratorHelper(query),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var particle = _step2.value;\n\n var _ref2 = (0, Utils_1.getDistances)(mouseClickPos, particle.position),\n dx = _ref2.dx,\n dy = _ref2.dy,\n distance = _ref2.distance,\n d = Math.pow(distance, 2),\n velocity = container.actualOptions.interactivity.modes.repulse.speed,\n force = -repulseRadius * velocity / d;\n\n if (d <= repulseRadius) {\n container.repulse.particles.push(particle);\n var vect = Vector_1.Vector.create(dx, dy);\n vect.length = force;\n particle.velocity.setTo(vect);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n } else if (container.repulse.clicking === false) {\n var _iterator3 = _createForOfIteratorHelper(container.repulse.particles),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _particle = _step3.value;\n\n _particle.velocity.setTo(_particle.initialVelocity);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n container.repulse.particles = [];\n }\n }\n }]);\n\n return Repulser;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.Repulser = Repulser;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalRepulseInteraction = void 0;\n\nvar Repulser_1 = require(\"./Repulser\");\n\nfunction loadExternalRepulseInteraction(_x) {\n return _loadExternalRepulseInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalRepulseInteraction() {\n _loadExternalRepulseInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalRepulse\", function (container) {\n return new Repulser_1.Repulser(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalRepulseInteraction.apply(this, arguments);\n}\n\nexports.loadExternalRepulseInteraction = loadExternalRepulseInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TrailMaker = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\n\nvar TrailMaker = /*#__PURE__*/function (_ExternalInteractorBa) {\n _inherits(TrailMaker, _ExternalInteractorBa);\n\n var _super = _createSuper(TrailMaker);\n\n function TrailMaker(container) {\n var _this;\n\n _classCallCheck(this, TrailMaker);\n\n _this = _super.call(this, container);\n _this.delay = 0;\n return _this;\n }\n\n _createClass(TrailMaker, [{\n key: \"interact\",\n value: function interact(delta) {\n var _a, _b, _c, _d;\n\n if (!this.container.retina.reduceFactor) {\n return;\n }\n\n var container = this.container,\n options = container.actualOptions,\n trailOptions = options.interactivity.modes.trail,\n optDelay = trailOptions.delay * 1000 / this.container.retina.reduceFactor;\n\n if (this.delay < optDelay) {\n this.delay += delta.value;\n }\n\n if (this.delay < optDelay) {\n return;\n }\n\n var canEmit = true;\n\n if (trailOptions.pauseOnStop) {\n if (container.interactivity.mouse.position === this.lastPosition || ((_a = container.interactivity.mouse.position) === null || _a === void 0 ? void 0 : _a.x) === ((_b = this.lastPosition) === null || _b === void 0 ? void 0 : _b.x) && ((_c = container.interactivity.mouse.position) === null || _c === void 0 ? void 0 : _c.y) === ((_d = this.lastPosition) === null || _d === void 0 ? void 0 : _d.y)) {\n canEmit = false;\n }\n }\n\n if (container.interactivity.mouse.position) {\n this.lastPosition = {\n x: container.interactivity.mouse.position.x,\n y: container.interactivity.mouse.position.y\n };\n } else {\n delete this.lastPosition;\n }\n\n if (canEmit) {\n container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);\n }\n\n this.delay -= optDelay;\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled() {\n var container = this.container,\n options = container.actualOptions,\n mouse = container.interactivity.mouse,\n events = options.interactivity.events;\n return mouse.clicking && mouse.inside && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.ClickMode.trail, events.onClick.mode) || mouse.inside && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.HoverMode.trail, events.onHover.mode);\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }]);\n\n return TrailMaker;\n}(ExternalInteractorBase_1.ExternalInteractorBase);\n\nexports.TrailMaker = TrailMaker;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadExternalTrailInteraction = void 0;\n\nvar TrailMaker_1 = require(\"./TrailMaker\");\n\nfunction loadExternalTrailInteraction(_x) {\n return _loadExternalTrailInteraction.apply(this, arguments);\n}\n\nfunction _loadExternalTrailInteraction() {\n _loadExternalTrailInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"externalTrail\", function (container) {\n return new TrailMaker_1.TrailMaker(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadExternalTrailInteraction.apply(this, arguments);\n}\n\nexports.loadExternalTrailInteraction = loadExternalTrailInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Attractor = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\n\nvar Attractor = /*#__PURE__*/function (_ParticlesInteractorB) {\n _inherits(Attractor, _ParticlesInteractorB);\n\n var _super = _createSuper(Attractor);\n\n function Attractor(container) {\n _classCallCheck(this, Attractor);\n\n return _super.call(this, container);\n }\n\n _createClass(Attractor, [{\n key: \"interact\",\n value: function interact(p1) {\n var _a;\n\n var container = this.container,\n distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance,\n pos1 = p1.getPosition(),\n query = container.particles.quadTree.queryCircle(pos1, distance);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p2 = _step.value;\n\n if (p1 === p2 || !p2.options.move.attract.enable || p2.destroyed || p2.spawning) {\n continue;\n }\n\n var pos2 = p2.getPosition(),\n _ref = (0, Utils_1.getDistances)(pos1, pos2),\n dx = _ref.dx,\n dy = _ref.dy,\n rotate = p1.options.move.attract.rotate,\n ax = dx / (rotate.x * 1000),\n ay = dy / (rotate.y * 1000),\n p1Factor = p2.size.value / p1.size.value,\n p2Factor = 1 / p1Factor;\n\n p1.velocity.x -= ax * p1Factor;\n p1.velocity.y -= ay * p1Factor;\n p2.velocity.x += ax * p2Factor;\n p2.velocity.y += ay * p2Factor;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return particle.options.move.attract.enable;\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }]);\n\n return Attractor;\n}(ParticlesInteractorBase_1.ParticlesInteractorBase);\n\nexports.Attractor = Attractor;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadParticlesAttractInteraction = void 0;\n\nvar Attractor_1 = require(\"./Attractor\");\n\nfunction loadParticlesAttractInteraction(_x) {\n return _loadParticlesAttractInteraction.apply(this, arguments);\n}\n\nfunction _loadParticlesAttractInteraction() {\n _loadParticlesAttractInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"particlesAttract\", function (container) {\n return new Attractor_1.Attractor(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadParticlesAttractInteraction.apply(this, arguments);\n}\n\nexports.loadParticlesAttractInteraction = loadParticlesAttractInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collider = void 0;\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\n\nfunction bounce(p1, p2) {\n (0, Utils_1.circleBounce)((0, Utils_1.circleBounceDataFromParticle)(p1), (0, Utils_1.circleBounceDataFromParticle)(p2));\n}\n\nfunction destroy(p1, p2) {\n if (!p1.unbreakable && !p2.unbreakable) {\n bounce(p1, p2);\n }\n\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n } else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n } else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n p2.destroy();\n } else {\n p1.destroy();\n }\n }\n}\n\nvar Collider = /*#__PURE__*/function (_ParticlesInteractorB) {\n _inherits(Collider, _ParticlesInteractorB);\n\n var _super = _createSuper(Collider);\n\n function Collider(container) {\n _classCallCheck(this, Collider);\n\n return _super.call(this, container);\n }\n\n _createClass(Collider, [{\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return particle.options.collisions.enable;\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact(p1) {\n var container = this.container;\n var pos1 = p1.getPosition();\n var radius1 = p1.getRadius();\n var query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p2 = _step.value;\n\n if (p1 === p2 || !p2.options.collisions.enable || p1.options.collisions.mode !== p2.options.collisions.mode || p2.destroyed || p2.spawning) {\n continue;\n }\n\n var pos2 = p2.getPosition();\n\n if (Math.round(pos1.z) !== Math.round(pos2.z)) {\n continue;\n }\n\n var dist = (0, Utils_1.getDistance)(pos1, pos2);\n var radius2 = p2.getRadius();\n var distP = radius1 + radius2;\n\n if (dist <= distP) {\n this.resolveCollision(p1, p2);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"resolveCollision\",\n value: function resolveCollision(p1, p2) {\n switch (p1.options.collisions.mode) {\n case Enums_1.CollisionMode.absorb:\n {\n this.absorb(p1, p2);\n break;\n }\n\n case Enums_1.CollisionMode.bounce:\n {\n bounce(p1, p2);\n break;\n }\n\n case Enums_1.CollisionMode.destroy:\n {\n destroy(p1, p2);\n break;\n }\n }\n }\n }, {\n key: \"absorb\",\n value: function absorb(p1, p2) {\n var container = this.container;\n var fps = container.fpsLimit / 1000;\n\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n } else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n } else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n var factor = (0, Utils_1.clamp)(p1.getRadius() / p2.getRadius(), 0, p2.getRadius()) * fps;\n p1.size.value += factor;\n p2.size.value -= factor;\n\n if (p2.getRadius() <= container.retina.pixelRatio) {\n p2.size.value = 0;\n p2.destroy();\n }\n } else {\n var _factor = (0, Utils_1.clamp)(p2.getRadius() / p1.getRadius(), 0, p1.getRadius()) * fps;\n\n p1.size.value -= _factor;\n p2.size.value += _factor;\n\n if (p1.getRadius() <= container.retina.pixelRatio) {\n p1.size.value = 0;\n p1.destroy();\n }\n }\n }\n }\n }]);\n\n return Collider;\n}(ParticlesInteractorBase_1.ParticlesInteractorBase);\n\nexports.Collider = Collider;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadParticlesCollisionsInteraction = void 0;\n\nvar Collider_1 = require(\"./Collider\");\n\nfunction loadParticlesCollisionsInteraction(_x) {\n return _loadParticlesCollisionsInteraction.apply(this, arguments);\n}\n\nfunction _loadParticlesCollisionsInteraction() {\n _loadParticlesCollisionsInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"particlesCollisions\", function (container) {\n return new Collider_1.Collider(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadParticlesCollisionsInteraction.apply(this, arguments);\n}\n\nexports.loadParticlesCollisionsInteraction = loadParticlesCollisionsInteraction;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LinkInstance = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar LinkInstance = /*#__PURE__*/function () {\n function LinkInstance(container) {\n _classCallCheck(this, LinkInstance);\n\n this.container = container;\n }\n\n _createClass(LinkInstance, [{\n key: \"particleCreated\",\n value: function particleCreated(particle) {\n var linkParticle = particle;\n linkParticle.links = [];\n }\n }, {\n key: \"particleDestroyed\",\n value: function particleDestroyed(particle) {\n var linkParticle = particle;\n linkParticle.links = [];\n }\n }, {\n key: \"drawParticle\",\n value: function drawParticle(context, particle) {\n var _this = this;\n\n var linkParticle = particle;\n var container = this.container;\n var particles = container.particles;\n var pOptions = particle.options;\n\n if (linkParticle.links.length > 0) {\n context.save();\n var p1Links = linkParticle.links.filter(function (l) {\n var linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);\n return linkFreq <= pOptions.links.frequency;\n });\n\n var _iterator = _createForOfIteratorHelper(p1Links),\n _step;\n\n try {\n var _loop = function _loop() {\n var link = _step.value;\n var p2 = link.destination;\n\n if (pOptions.links.triangles.enable) {\n var links = p1Links.map(function (l) {\n return l.destination;\n });\n var vertices = p2.links.filter(function (t) {\n var linkFreq = container.particles.getLinkFrequency(p2, t.destination);\n return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;\n });\n\n if (vertices.length) {\n var _iterator2 = _createForOfIteratorHelper(vertices),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var vertex = _step2.value;\n var p3 = vertex.destination;\n var triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);\n\n if (triangleFreq > pOptions.links.triangles.frequency) {\n continue;\n }\n\n _this.drawLinkTriangle(linkParticle, link, vertex);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n\n if (link.opacity > 0 && container.retina.linksWidth > 0) {\n _this.drawLinkLine(linkParticle, link);\n }\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n context.restore();\n }\n }\n }, {\n key: \"drawLinkTriangle\",\n value: function drawLinkTriangle(p1, link1, link2) {\n var _a;\n\n var container = this.container;\n var options = container.actualOptions;\n var p2 = link1.destination;\n var p3 = link2.destination;\n var triangleOptions = p1.options.links.triangles;\n var opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;\n\n if (opacityTriangle <= 0) {\n return;\n }\n\n var pos1 = p1.getPosition();\n var pos2 = p2.getPosition();\n var pos3 = p3.getPosition();\n container.canvas.draw(function (ctx) {\n if ((0, Utils_1.getDistance)(pos1, pos2) > container.retina.linksDistance || (0, Utils_1.getDistance)(pos3, pos2) > container.retina.linksDistance || (0, Utils_1.getDistance)(pos3, pos1) > container.retina.linksDistance) {\n return;\n }\n\n var colorTriangle = (0, Utils_1.colorToRgb)(triangleOptions.color);\n\n if (!colorTriangle) {\n var linksOptions = p1.options.links;\n var linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;\n colorTriangle = (0, Utils_1.getLinkColor)(p1, p2, linkColor);\n }\n\n if (!colorTriangle) {\n return;\n }\n\n (0, Utils_1.drawLinkTriangle)(ctx, pos1, pos2, pos3, options.backgroundMask.enable, options.backgroundMask.composite, colorTriangle, opacityTriangle);\n });\n }\n }, {\n key: \"drawLinkLine\",\n value: function drawLinkLine(p1, link) {\n var container = this.container;\n var options = container.actualOptions;\n var p2 = link.destination;\n var opacity = link.opacity;\n var pos1 = p1.getPosition();\n var pos2 = p2.getPosition();\n container.canvas.draw(function (ctx) {\n var _a, _b;\n\n var colorLine;\n var twinkle = p1.options.twinkle.lines;\n\n if (twinkle.enable) {\n var twinkleFreq = twinkle.frequency;\n var twinkleRgb = (0, Utils_1.colorToRgb)(twinkle.color);\n var twinkling = Math.random() < twinkleFreq;\n\n if (twinkling && twinkleRgb !== undefined) {\n colorLine = twinkleRgb;\n opacity = twinkle.opacity;\n }\n }\n\n if (!colorLine) {\n var linksOptions = p1.options.links;\n var linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;\n colorLine = (0, Utils_1.getLinkColor)(p1, p2, linkColor);\n }\n\n if (!colorLine) {\n return;\n }\n\n var width = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth;\n var maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;\n (0, Utils_1.drawLinkLine)(ctx, width, pos1, pos2, maxDistance, container.canvas.size, p1.options.links.warp, options.backgroundMask.enable, options.backgroundMask.composite, colorLine, opacity, p1.options.links.shadow);\n });\n }\n }]);\n\n return LinkInstance;\n}();\n\nexports.LinkInstance = LinkInstance;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Linker = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\n\nfunction getLinkDistance(pos1, pos2, optDistance, canvasSize, warp) {\n var distance = (0, Utils_1.getDistance)(pos1, pos2);\n\n if (!warp || distance <= optDistance) {\n return distance;\n }\n\n var pos2NE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2NE);\n\n if (distance <= optDistance) {\n return distance;\n }\n\n var pos2SE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y - canvasSize.height\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2SE);\n\n if (distance <= optDistance) {\n return distance;\n }\n\n var pos2SW = {\n x: pos2.x,\n y: pos2.y - canvasSize.height\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2SW);\n return distance;\n}\n\nvar Linker = /*#__PURE__*/function (_ParticlesInteractorB) {\n _inherits(Linker, _ParticlesInteractorB);\n\n var _super = _createSuper(Linker);\n\n function Linker(container) {\n _classCallCheck(this, Linker);\n\n return _super.call(this, container);\n }\n\n _createClass(Linker, [{\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return particle.options.links.enable;\n }\n }, {\n key: \"reset\",\n value: function reset() {}\n }, {\n key: \"interact\",\n value: function interact(p1) {\n var _a;\n\n p1.links = [];\n var pos1 = p1.getPosition();\n var container = this.container;\n var canvasSize = container.canvas.size;\n\n if (pos1.x < 0 || pos1.y < 0 || pos1.x > canvasSize.width || pos1.y > canvasSize.height) {\n return;\n }\n\n var linkOpt1 = p1.options.links;\n var optOpacity = linkOpt1.opacity;\n var optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : container.retina.linksDistance;\n var warp = linkOpt1.warp;\n var range = warp ? new Utils_1.CircleWarp(pos1.x, pos1.y, optDistance, canvasSize) : new Utils_1.Circle(pos1.x, pos1.y, optDistance);\n var query = container.particles.quadTree.query(range);\n\n var _iterator = _createForOfIteratorHelper(query),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p2 = _step.value;\n var linkOpt2 = p2.options.links;\n\n if (p1 === p2 || !linkOpt2.enable || linkOpt1.id !== linkOpt2.id || p2.spawning || p2.destroyed || p1.links.map(function (t) {\n return t.destination;\n }).indexOf(p2) !== -1 || p2.links.map(function (t) {\n return t.destination;\n }).indexOf(p1) !== -1) {\n continue;\n }\n\n var pos2 = p2.getPosition();\n\n if (pos2.x < 0 || pos2.y < 0 || pos2.x > canvasSize.width || pos2.y > canvasSize.height) {\n continue;\n }\n\n var distance = getLinkDistance(pos1, pos2, optDistance, canvasSize, warp && linkOpt2.warp);\n\n if (distance > optDistance) {\n return;\n }\n\n var opacityLine = (1 - distance / optDistance) * optOpacity;\n this.setColor(p1);\n p1.links.push({\n destination: p2,\n opacity: opacityLine\n });\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(p1) {\n var container = this.container;\n var linksOptions = p1.options.links;\n var linkColor = linksOptions.id === undefined ? container.particles.linksColor : container.particles.linksColors.get(linksOptions.id);\n\n if (!linkColor) {\n var optColor = linksOptions.color;\n linkColor = (0, Utils_1.getLinkRandomColor)(optColor, linksOptions.blink, linksOptions.consent);\n\n if (linksOptions.id === undefined) {\n container.particles.linksColor = linkColor;\n } else {\n container.particles.linksColors.set(linksOptions.id, linkColor);\n }\n }\n }\n }]);\n\n return Linker;\n}(ParticlesInteractorBase_1.ParticlesInteractorBase);\n\nexports.Linker = Linker;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadParticlesLinksInteraction = exports.loadInteraction = void 0;\n\nvar Linker_1 = require(\"./Linker\");\n\nvar plugin_1 = require(\"./plugin\");\n\nfunction loadInteraction(_x) {\n return _loadInteraction.apply(this, arguments);\n}\n\nfunction _loadInteraction() {\n _loadInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addInteractor(\"particlesLinks\", function (container) {\n return new Linker_1.Linker(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadInteraction.apply(this, arguments);\n}\n\nexports.loadInteraction = loadInteraction;\n\nfunction loadParticlesLinksInteraction(_x2) {\n return _loadParticlesLinksInteraction.apply(this, arguments);\n}\n\nfunction _loadParticlesLinksInteraction() {\n _loadParticlesLinksInteraction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return loadInteraction(tsParticles);\n\n case 2:\n _context2.next = 4;\n return (0, plugin_1.loadPlugin)(tsParticles);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _loadParticlesLinksInteraction.apply(this, arguments);\n}\n\nexports.loadParticlesLinksInteraction = loadParticlesLinksInteraction;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadPlugin = void 0;\n\nvar LinkInstance_1 = require(\"./LinkInstance\");\n\nvar Plugin = /*#__PURE__*/function () {\n function Plugin() {\n _classCallCheck(this, Plugin);\n\n this.id = \"links\";\n }\n\n _createClass(Plugin, [{\n key: \"getPlugin\",\n value: function getPlugin(container) {\n return new LinkInstance_1.LinkInstance(container);\n }\n }, {\n key: \"needsPlugin\",\n value: function needsPlugin() {\n return true;\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions() {}\n }]);\n\n return Plugin;\n}();\n\nfunction loadPlugin(_x) {\n return _loadPlugin.apply(this, arguments);\n}\n\nfunction _loadPlugin() {\n _loadPlugin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var plugin;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n plugin = new Plugin();\n _context.next = 3;\n return tsParticles.addPlugin(plugin);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadPlugin.apply(this, arguments);\n}\n\nexports.loadPlugin = loadPlugin;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnimatableColor = void 0;\n\nvar OptionsColor_1 = require(\"./OptionsColor\");\n\nvar HslAnimation_1 = require(\"./HslAnimation\");\n\nvar AnimatableColor = /*#__PURE__*/function (_OptionsColor_1$Optio) {\n _inherits(AnimatableColor, _OptionsColor_1$Optio);\n\n var _super = _createSuper(AnimatableColor);\n\n function AnimatableColor() {\n var _this;\n\n _classCallCheck(this, AnimatableColor);\n\n _this = _super.call(this);\n _this.animation = new HslAnimation_1.HslAnimation();\n return _this;\n }\n\n _createClass(AnimatableColor, [{\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(AnimatableColor.prototype), \"load\", this).call(this, data);\n\n if (!data) {\n return;\n }\n\n var colorAnimation = data.animation;\n\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n } else {\n this.animation.load(data.animation);\n }\n }\n }\n }], [{\n key: \"create\",\n value: function create(source, data) {\n var color = new AnimatableColor();\n color.load(source);\n\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n\n return color;\n }\n }]);\n\n return AnimatableColor;\n}(OptionsColor_1.OptionsColor);\n\nexports.AnimatableColor = AnimatableColor;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GradientColorOpacityAnimation = exports.GradientAngleAnimation = exports.AnimatableGradientColor = exports.GradientColorOpacity = exports.GradientAngle = exports.AnimatableGradient = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar AnimatableColor_1 = require(\"./AnimatableColor\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar AnimatableGradient = /*#__PURE__*/function () {\n function AnimatableGradient() {\n _classCallCheck(this, AnimatableGradient);\n\n this.angle = new GradientAngle();\n this.colors = [];\n this.type = Enums_1.GradientType.random;\n }\n\n _createClass(AnimatableGradient, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n this.angle.load(data.angle);\n\n if (data.colors !== undefined) {\n this.colors = data.colors.map(function (s) {\n var tmp = new AnimatableGradientColor();\n tmp.load(s);\n return tmp;\n });\n }\n\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n }]);\n\n return AnimatableGradient;\n}();\n\nexports.AnimatableGradient = AnimatableGradient;\n\nvar GradientAngle = /*#__PURE__*/function () {\n function GradientAngle() {\n _classCallCheck(this, GradientAngle);\n\n this.value = 0;\n this.animation = new GradientAngleAnimation();\n this.direction = Enums_1.RotateDirection.clockwise;\n }\n\n _createClass(GradientAngle, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n this.animation.load(data.animation);\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n }\n }]);\n\n return GradientAngle;\n}();\n\nexports.GradientAngle = GradientAngle;\n\nvar GradientColorOpacity = /*#__PURE__*/function () {\n function GradientColorOpacity() {\n _classCallCheck(this, GradientColorOpacity);\n\n this.value = 0;\n this.animation = new GradientColorOpacityAnimation();\n }\n\n _createClass(GradientColorOpacity, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n this.animation.load(data.animation);\n\n if (data.value !== undefined) {\n this.value = (0, Utils_1.setRangeValue)(data.value);\n }\n }\n }]);\n\n return GradientColorOpacity;\n}();\n\nexports.GradientColorOpacity = GradientColorOpacity;\n\nvar AnimatableGradientColor = /*#__PURE__*/function () {\n function AnimatableGradientColor() {\n _classCallCheck(this, AnimatableGradientColor);\n\n this.stop = 0;\n this.value = new AnimatableColor_1.AnimatableColor();\n }\n\n _createClass(AnimatableGradientColor, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.stop !== undefined) {\n this.stop = data.stop;\n }\n\n this.value = AnimatableColor_1.AnimatableColor.create(this.value, data.value);\n\n if (data.opacity !== undefined) {\n this.opacity = new GradientColorOpacity();\n\n if (typeof data.opacity === \"number\") {\n this.opacity.value = data.opacity;\n } else {\n this.opacity.load(data.opacity);\n }\n }\n }\n }]);\n\n return AnimatableGradientColor;\n}();\n\nexports.AnimatableGradientColor = AnimatableGradientColor;\n\nvar GradientAngleAnimation = /*#__PURE__*/function () {\n function GradientAngleAnimation() {\n _classCallCheck(this, GradientAngleAnimation);\n\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n\n _createClass(GradientAngleAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return GradientAngleAnimation;\n}();\n\nexports.GradientAngleAnimation = GradientAngleAnimation;\n\nvar GradientColorOpacityAnimation = /*#__PURE__*/function () {\n function GradientColorOpacityAnimation() {\n _classCallCheck(this, GradientColorOpacityAnimation);\n\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n this.startValue = Enums_1.StartValueType.random;\n }\n\n _createClass(GradientColorOpacityAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n }\n }]);\n\n return GradientColorOpacityAnimation;\n}();\n\nexports.GradientColorOpacityAnimation = GradientColorOpacityAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnimationOptions = void 0;\n\nvar AnimationOptions = /*#__PURE__*/function () {\n function AnimationOptions() {\n _classCallCheck(this, AnimationOptions);\n\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.sync = false;\n }\n\n _createClass(AnimationOptions, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return AnimationOptions;\n}();\n\nexports.AnimationOptions = AnimationOptions;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Background = void 0;\n\nvar OptionsColor_1 = require(\"../OptionsColor\");\n\nvar Background = /*#__PURE__*/function () {\n function Background() {\n _classCallCheck(this, Background);\n\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n\n _createClass(Background, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.image !== undefined) {\n this.image = data.image;\n }\n\n if (data.position !== undefined) {\n this.position = data.position;\n }\n\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n\n if (data.size !== undefined) {\n this.size = data.size;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return Background;\n}();\n\nexports.Background = Background;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundMask = void 0;\n\nvar BackgroundMaskCover_1 = require(\"./BackgroundMaskCover\");\n\nvar BackgroundMask = /*#__PURE__*/function () {\n function BackgroundMask() {\n _classCallCheck(this, BackgroundMask);\n\n this.composite = \"destination-out\";\n this.cover = new BackgroundMaskCover_1.BackgroundMaskCover();\n this.enable = false;\n }\n\n _createClass(BackgroundMask, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n\n if (data.cover !== undefined) {\n var cover = data.cover;\n var color = typeof data.cover === \"string\" ? {\n color: data.cover\n } : data.cover;\n this.cover.load(cover.color !== undefined ? cover : {\n color: color\n });\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n }]);\n\n return BackgroundMask;\n}();\n\nexports.BackgroundMask = BackgroundMask;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundMaskCover = void 0;\n\nvar OptionsColor_1 = require(\"../OptionsColor\");\n\nvar BackgroundMaskCover = /*#__PURE__*/function () {\n function BackgroundMaskCover() {\n _classCallCheck(this, BackgroundMaskCover);\n\n this.color = new OptionsColor_1.OptionsColor();\n this.opacity = 1;\n }\n\n _createClass(BackgroundMaskCover, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return BackgroundMaskCover;\n}();\n\nexports.BackgroundMaskCover = BackgroundMaskCover;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorAnimation = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar ColorAnimation = /*#__PURE__*/function () {\n function ColorAnimation() {\n _classCallCheck(this, ColorAnimation);\n\n this.count = 0;\n this.enable = false;\n this.offset = 0;\n this.speed = 1;\n this.sync = true;\n }\n\n _createClass(ColorAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.offset !== undefined) {\n this.offset = (0, Utils_1.setRangeValue)(data.offset);\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return ColorAnimation;\n}();\n\nexports.ColorAnimation = ColorAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FullScreen = void 0;\n\nvar FullScreen = /*#__PURE__*/function () {\n function FullScreen() {\n _classCallCheck(this, FullScreen);\n\n this.enable = true;\n this.zIndex = 0;\n }\n\n _createClass(FullScreen, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n }]);\n\n return FullScreen;\n}();\n\nexports.FullScreen = FullScreen;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HslAnimation = void 0;\n\nvar ColorAnimation_1 = require(\"./ColorAnimation\");\n\nvar HslAnimation = /*#__PURE__*/function () {\n function HslAnimation() {\n _classCallCheck(this, HslAnimation);\n\n this.h = new ColorAnimation_1.ColorAnimation();\n this.s = new ColorAnimation_1.ColorAnimation();\n this.l = new ColorAnimation_1.ColorAnimation();\n }\n\n _createClass(HslAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n }]);\n\n return HslAnimation;\n}();\n\nexports.HslAnimation = HslAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ClickEvent = void 0;\n\nvar ClickEvent = /*#__PURE__*/function () {\n function ClickEvent() {\n _classCallCheck(this, ClickEvent);\n\n this.enable = false;\n this.mode = [];\n }\n\n _createClass(ClickEvent, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n }]);\n\n return ClickEvent;\n}();\n\nexports.ClickEvent = ClickEvent;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DivEvent = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar DivEvent = /*#__PURE__*/function () {\n function DivEvent() {\n _classCallCheck(this, DivEvent);\n\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = Enums_1.DivType.circle;\n }\n\n _createClass(DivEvent, [{\n key: \"elementId\",\n get: function get() {\n return this.ids;\n },\n set: function set(value) {\n this.ids = value;\n }\n }, {\n key: \"el\",\n get: function get() {\n return this.elementId;\n },\n set: function set(value) {\n this.elementId = value;\n }\n }, {\n key: \"ids\",\n get: function get() {\n return this.selectors instanceof Array ? this.selectors.map(function (t) {\n return t.replace(\"#\", \"\");\n }) : this.selectors.replace(\"#\", \"\");\n },\n set: function set(value) {\n this.selectors = value instanceof Array ? value.map(function (t) {\n return \"#\".concat(t);\n }) : \"#\".concat(value);\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b;\n\n if (data === undefined) {\n return;\n }\n\n var ids = (_b = (_a = data.ids) !== null && _a !== void 0 ? _a : data.elementId) !== null && _b !== void 0 ? _b : data.el;\n\n if (ids !== undefined) {\n this.ids = ids;\n }\n\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n }]);\n\n return DivEvent;\n}();\n\nexports.DivEvent = DivEvent;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Events = void 0;\n\nvar ClickEvent_1 = require(\"./ClickEvent\");\n\nvar DivEvent_1 = require(\"./DivEvent\");\n\nvar HoverEvent_1 = require(\"./HoverEvent\");\n\nvar Events = /*#__PURE__*/function () {\n function Events() {\n _classCallCheck(this, Events);\n\n this.onClick = new ClickEvent_1.ClickEvent();\n this.onDiv = new DivEvent_1.DivEvent();\n this.onHover = new HoverEvent_1.HoverEvent();\n this.resize = true;\n }\n\n _createClass(Events, [{\n key: \"onclick\",\n get: function get() {\n return this.onClick;\n },\n set: function set(value) {\n this.onClick = value;\n }\n }, {\n key: \"ondiv\",\n get: function get() {\n return this.onDiv;\n },\n set: function set(value) {\n this.onDiv = value;\n }\n }, {\n key: \"onhover\",\n get: function get() {\n return this.onHover;\n },\n set: function set(value) {\n this.onHover = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c;\n\n if (data === undefined) {\n return;\n }\n\n this.onClick.load((_a = data.onClick) !== null && _a !== void 0 ? _a : data.onclick);\n var onDiv = (_b = data.onDiv) !== null && _b !== void 0 ? _b : data.ondiv;\n\n if (onDiv !== undefined) {\n if (onDiv instanceof Array) {\n this.onDiv = onDiv.map(function (div) {\n var tmp = new DivEvent_1.DivEvent();\n tmp.load(div);\n return tmp;\n });\n } else {\n this.onDiv = new DivEvent_1.DivEvent();\n this.onDiv.load(onDiv);\n }\n }\n\n this.onHover.load((_c = data.onHover) !== null && _c !== void 0 ? _c : data.onhover);\n\n if (data.resize !== undefined) {\n this.resize = data.resize;\n }\n }\n }]);\n\n return Events;\n}();\n\nexports.Events = Events;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HoverEvent = void 0;\n\nvar Parallax_1 = require(\"./Parallax\");\n\nvar HoverEvent = /*#__PURE__*/function () {\n function HoverEvent() {\n _classCallCheck(this, HoverEvent);\n\n this.enable = false;\n this.mode = [];\n this.parallax = new Parallax_1.Parallax();\n }\n\n _createClass(HoverEvent, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n this.parallax.load(data.parallax);\n }\n }]);\n\n return HoverEvent;\n}();\n\nexports.HoverEvent = HoverEvent;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parallax = void 0;\n\nvar Parallax = /*#__PURE__*/function () {\n function Parallax() {\n _classCallCheck(this, Parallax);\n\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n\n _createClass(Parallax, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.force !== undefined) {\n this.force = data.force;\n }\n\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n }]);\n\n return Parallax;\n}();\n\nexports.Parallax = Parallax;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Interactivity = void 0;\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar Events_1 = require(\"./Events/Events\");\n\nvar Modes_1 = require(\"./Modes/Modes\");\n\nvar Interactivity = /*#__PURE__*/function () {\n function Interactivity() {\n _classCallCheck(this, Interactivity);\n\n this.detectsOn = Enums_1.InteractivityDetect.window;\n this.events = new Events_1.Events();\n this.modes = new Modes_1.Modes();\n }\n\n _createClass(Interactivity, [{\n key: \"detect_on\",\n get: function get() {\n return this.detectsOn;\n },\n set: function set(value) {\n this.detectsOn = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c;\n\n if (data === undefined) {\n return;\n }\n\n var detectsOn = (_a = data.detectsOn) !== null && _a !== void 0 ? _a : data.detect_on;\n\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n\n this.events.load(data.events);\n this.modes.load(data.modes);\n\n if (((_c = (_b = data.modes) === null || _b === void 0 ? void 0 : _b.slow) === null || _c === void 0 ? void 0 : _c.active) === true) {\n if (this.events.onHover.mode instanceof Array) {\n if (this.events.onHover.mode.indexOf(Enums_1.HoverMode.slow) < 0) {\n this.events.onHover.mode.push(Enums_1.HoverMode.slow);\n }\n } else if (this.events.onHover.mode !== Enums_1.HoverMode.slow) {\n this.events.onHover.mode = [this.events.onHover.mode, Enums_1.HoverMode.slow];\n }\n }\n }\n }]);\n\n return Interactivity;\n}();\n\nexports.Interactivity = Interactivity;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Attract = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Attract = /*#__PURE__*/function () {\n function Attract() {\n _classCallCheck(this, Attract);\n\n this.distance = 200;\n this.duration = 0.4;\n this.easing = Enums_1.EasingType.easeOutQuad;\n this.factor = 1;\n this.maxSpeed = 50;\n this.speed = 1;\n }\n\n _createClass(Attract, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n }]);\n\n return Attract;\n}();\n\nexports.Attract = Attract;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Bounce = void 0;\n\nvar Bounce = /*#__PURE__*/function () {\n function Bounce() {\n _classCallCheck(this, Bounce);\n\n this.distance = 200;\n }\n\n _createClass(Bounce, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n }\n }]);\n\n return Bounce;\n}();\n\nexports.Bounce = Bounce;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Bubble = void 0;\n\nvar BubbleDiv_1 = require(\"./BubbleDiv\");\n\nvar BubbleBase_1 = require(\"./BubbleBase\");\n\nvar Bubble = /*#__PURE__*/function (_BubbleBase_1$BubbleB) {\n _inherits(Bubble, _BubbleBase_1$BubbleB);\n\n var _super = _createSuper(Bubble);\n\n function Bubble() {\n _classCallCheck(this, Bubble);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Bubble, [{\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(Bubble.prototype), \"load\", this).call(this, data);\n\n if (!(data !== undefined && data.divs !== undefined)) {\n return;\n }\n\n if (data.divs instanceof Array) {\n this.divs = data.divs.map(function (s) {\n var tmp = new BubbleDiv_1.BubbleDiv();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new BubbleDiv_1.BubbleDiv();\n }\n\n this.divs.load(data.divs);\n }\n }\n }]);\n\n return Bubble;\n}(BubbleBase_1.BubbleBase);\n\nexports.Bubble = Bubble;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BubbleBase = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar BubbleBase = /*#__PURE__*/function () {\n function BubbleBase() {\n _classCallCheck(this, BubbleBase);\n\n this.distance = 200;\n this.duration = 0.4;\n this.mix = false;\n }\n\n _createClass(BubbleBase, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n if (data.mix !== undefined) {\n this.mix = data.mix;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n\n if (data.color !== undefined) {\n if (data.color instanceof Array) {\n this.color = data.color.map(function (s) {\n return OptionsColor_1.OptionsColor.create(undefined, s);\n });\n } else {\n if (this.color instanceof Array) {\n this.color = new OptionsColor_1.OptionsColor();\n }\n\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n }\n\n if (data.size !== undefined) {\n this.size = data.size;\n }\n }\n }]);\n\n return BubbleBase;\n}();\n\nexports.BubbleBase = BubbleBase;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BubbleDiv = void 0;\n\nvar BubbleBase_1 = require(\"./BubbleBase\");\n\nvar BubbleDiv = /*#__PURE__*/function (_BubbleBase_1$BubbleB) {\n _inherits(BubbleDiv, _BubbleBase_1$BubbleB);\n\n var _super = _createSuper(BubbleDiv);\n\n function BubbleDiv() {\n var _this;\n\n _classCallCheck(this, BubbleDiv);\n\n _this = _super.call(this);\n _this.selectors = [];\n return _this;\n }\n\n _createClass(BubbleDiv, [{\n key: \"ids\",\n get: function get() {\n return this.selectors instanceof Array ? this.selectors.map(function (t) {\n return t.replace(\"#\", \"\");\n }) : this.selectors.replace(\"#\", \"\");\n },\n set: function set(value) {\n this.selectors = value instanceof Array ? value.map(function (t) {\n return \"#\".concat(t);\n }) : \"#\".concat(value);\n }\n }, {\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(BubbleDiv.prototype), \"load\", this).call(this, data);\n\n if (data === undefined) {\n return;\n }\n\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n }]);\n\n return BubbleDiv;\n}(BubbleBase_1.BubbleBase);\n\nexports.BubbleDiv = BubbleDiv;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Connect = void 0;\n\nvar ConnectLinks_1 = require(\"./ConnectLinks\");\n\nvar Connect = /*#__PURE__*/function () {\n function Connect() {\n _classCallCheck(this, Connect);\n\n this.distance = 80;\n this.links = new ConnectLinks_1.ConnectLinks();\n this.radius = 60;\n }\n\n _createClass(Connect, [{\n key: \"line_linked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"lineLinked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b;\n\n if (data === undefined) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n }]);\n\n return Connect;\n}();\n\nexports.Connect = Connect;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ConnectLinks = void 0;\n\nvar ConnectLinks = /*#__PURE__*/function () {\n function ConnectLinks() {\n _classCallCheck(this, ConnectLinks);\n\n this.opacity = 0.5;\n }\n\n _createClass(ConnectLinks, [{\n key: \"load\",\n value: function load(data) {\n if (!(data !== undefined && data.opacity !== undefined)) {\n return;\n }\n\n this.opacity = data.opacity;\n }\n }]);\n\n return ConnectLinks;\n}();\n\nexports.ConnectLinks = ConnectLinks;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Grab = void 0;\n\nvar GrabLinks_1 = require(\"./GrabLinks\");\n\nvar Grab = /*#__PURE__*/function () {\n function Grab() {\n _classCallCheck(this, Grab);\n\n this.distance = 100;\n this.links = new GrabLinks_1.GrabLinks();\n }\n\n _createClass(Grab, [{\n key: \"line_linked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"lineLinked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b;\n\n if (data === undefined) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n }\n }]);\n\n return Grab;\n}();\n\nexports.Grab = Grab;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GrabLinks = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar GrabLinks = /*#__PURE__*/function () {\n function GrabLinks() {\n _classCallCheck(this, GrabLinks);\n\n this.blink = false;\n this.consent = false;\n this.opacity = 1;\n }\n\n _createClass(GrabLinks, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return GrabLinks;\n}();\n\nexports.GrabLinks = GrabLinks;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Light = void 0;\n\nvar LightArea_1 = require(\"./LightArea\");\n\nvar LightShadow_1 = require(\"./LightShadow\");\n\nvar Light = /*#__PURE__*/function () {\n function Light() {\n _classCallCheck(this, Light);\n\n this.area = new LightArea_1.LightArea();\n this.shadow = new LightShadow_1.LightShadow();\n }\n\n _createClass(Light, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.area.load(data.area);\n this.shadow.load(data.shadow);\n }\n }]);\n\n return Light;\n}();\n\nexports.Light = Light;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LightArea = void 0;\n\nvar LightGradient_1 = require(\"./LightGradient\");\n\nvar LightArea = /*#__PURE__*/function () {\n function LightArea() {\n _classCallCheck(this, LightArea);\n\n this.gradient = new LightGradient_1.LightGradient();\n this.radius = 1000;\n }\n\n _createClass(LightArea, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.gradient.load(data.gradient);\n\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n }]);\n\n return LightArea;\n}();\n\nexports.LightArea = LightArea;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LightGradient = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar LightGradient = /*#__PURE__*/function () {\n function LightGradient() {\n _classCallCheck(this, LightGradient);\n\n this.start = new OptionsColor_1.OptionsColor();\n this.stop = new OptionsColor_1.OptionsColor();\n this.start.value = \"#ffffff\";\n this.stop.value = \"#000000\";\n }\n\n _createClass(LightGradient, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.start = OptionsColor_1.OptionsColor.create(this.start, data.start);\n this.stop = OptionsColor_1.OptionsColor.create(this.stop, data.stop);\n }\n }]);\n\n return LightGradient;\n}();\n\nexports.LightGradient = LightGradient;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LightShadow = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar LightShadow = /*#__PURE__*/function () {\n function LightShadow() {\n _classCallCheck(this, LightShadow);\n\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"#000000\";\n this.length = 2000;\n }\n\n _createClass(LightShadow, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n }]);\n\n return LightShadow;\n}();\n\nexports.LightShadow = LightShadow;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Modes = void 0;\n\nvar Bubble_1 = require(\"./Bubble\");\n\nvar Connect_1 = require(\"./Connect\");\n\nvar Grab_1 = require(\"./Grab\");\n\nvar Remove_1 = require(\"./Remove\");\n\nvar Push_1 = require(\"./Push\");\n\nvar Repulse_1 = require(\"./Repulse\");\n\nvar Slow_1 = require(\"./Slow\");\n\nvar Trail_1 = require(\"./Trail\");\n\nvar Attract_1 = require(\"./Attract\");\n\nvar Light_1 = require(\"./Light\");\n\nvar Bounce_1 = require(\"./Bounce\");\n\nvar Modes = /*#__PURE__*/function () {\n function Modes() {\n _classCallCheck(this, Modes);\n\n this.attract = new Attract_1.Attract();\n this.bounce = new Bounce_1.Bounce();\n this.bubble = new Bubble_1.Bubble();\n this.connect = new Connect_1.Connect();\n this.grab = new Grab_1.Grab();\n this.light = new Light_1.Light();\n this.push = new Push_1.Push();\n this.remove = new Remove_1.Remove();\n this.repulse = new Repulse_1.Repulse();\n this.slow = new Slow_1.Slow();\n this.trail = new Trail_1.Trail();\n }\n\n _createClass(Modes, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.attract.load(data.attract);\n this.bubble.load(data.bubble);\n this.connect.load(data.connect);\n this.grab.load(data.grab);\n this.light.load(data.light);\n this.push.load(data.push);\n this.remove.load(data.remove);\n this.repulse.load(data.repulse);\n this.slow.load(data.slow);\n this.trail.load(data.trail);\n }\n }]);\n\n return Modes;\n}();\n\nexports.Modes = Modes;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Push = void 0;\n\nvar Push = /*#__PURE__*/function () {\n function Push() {\n _classCallCheck(this, Push);\n\n this.default = true;\n this.groups = [];\n this.quantity = 4;\n }\n\n _createClass(Push, [{\n key: \"particles_nb\",\n get: function get() {\n return this.quantity;\n },\n set: function set(value) {\n this.quantity = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n if (data.default !== undefined) {\n this.default = data.default;\n }\n\n if (data.groups !== undefined) {\n this.groups = data.groups.map(function (t) {\n return t;\n });\n }\n\n if (!this.groups.length) {\n this.default = true;\n }\n\n var quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n }]);\n\n return Push;\n}();\n\nexports.Push = Push;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Remove = void 0;\n\nvar Remove = /*#__PURE__*/function () {\n function Remove() {\n _classCallCheck(this, Remove);\n\n this.quantity = 2;\n }\n\n _createClass(Remove, [{\n key: \"particles_nb\",\n get: function get() {\n return this.quantity;\n },\n set: function set(value) {\n this.quantity = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n var quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n }]);\n\n return Remove;\n}();\n\nexports.Remove = Remove;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Repulse = void 0;\n\nvar RepulseDiv_1 = require(\"./RepulseDiv\");\n\nvar RepulseBase_1 = require(\"./RepulseBase\");\n\nvar Repulse = /*#__PURE__*/function (_RepulseBase_1$Repuls) {\n _inherits(Repulse, _RepulseBase_1$Repuls);\n\n var _super = _createSuper(Repulse);\n\n function Repulse() {\n _classCallCheck(this, Repulse);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Repulse, [{\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(Repulse.prototype), \"load\", this).call(this, data);\n\n if ((data === null || data === void 0 ? void 0 : data.divs) === undefined) {\n return;\n }\n\n if (data.divs instanceof Array) {\n this.divs = data.divs.map(function (s) {\n var tmp = new RepulseDiv_1.RepulseDiv();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new RepulseDiv_1.RepulseDiv();\n }\n\n this.divs.load(data.divs);\n }\n }\n }]);\n\n return Repulse;\n}(RepulseBase_1.RepulseBase);\n\nexports.Repulse = Repulse;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RepulseBase = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar RepulseBase = /*#__PURE__*/function () {\n function RepulseBase() {\n _classCallCheck(this, RepulseBase);\n\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = Enums_1.EasingType.easeOutQuad;\n }\n\n _createClass(RepulseBase, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n }]);\n\n return RepulseBase;\n}();\n\nexports.RepulseBase = RepulseBase;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RepulseDiv = void 0;\n\nvar RepulseBase_1 = require(\"./RepulseBase\");\n\nvar RepulseDiv = /*#__PURE__*/function (_RepulseBase_1$Repuls) {\n _inherits(RepulseDiv, _RepulseBase_1$Repuls);\n\n var _super = _createSuper(RepulseDiv);\n\n function RepulseDiv() {\n var _this;\n\n _classCallCheck(this, RepulseDiv);\n\n _this = _super.call(this);\n _this.selectors = [];\n return _this;\n }\n\n _createClass(RepulseDiv, [{\n key: \"ids\",\n get: function get() {\n if (this.selectors instanceof Array) {\n return this.selectors.map(function (t) {\n return t.replace(\"#\", \"\");\n });\n } else {\n return this.selectors.replace(\"#\", \"\");\n }\n },\n set: function set(value) {\n if (value instanceof Array) {\n this.selectors = value.map(function () {\n return \"#\".concat(value);\n });\n } else {\n this.selectors = \"#\".concat(value);\n }\n }\n }, {\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(RepulseDiv.prototype), \"load\", this).call(this, data);\n\n if (data === undefined) {\n return;\n }\n\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n }]);\n\n return RepulseDiv;\n}(RepulseBase_1.RepulseBase);\n\nexports.RepulseDiv = RepulseDiv;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Slow = void 0;\n\nvar Slow = /*#__PURE__*/function () {\n function Slow() {\n _classCallCheck(this, Slow);\n\n this.factor = 3;\n this.radius = 200;\n }\n\n _createClass(Slow, [{\n key: \"active\",\n get: function get() {\n return false;\n },\n set: function set(_value) {}\n }, {\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n }]);\n\n return Slow;\n}();\n\nexports.Slow = Slow;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Trail = void 0;\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Trail = /*#__PURE__*/function () {\n function Trail() {\n _classCallCheck(this, Trail);\n\n this.delay = 1;\n this.pauseOnStop = false;\n this.quantity = 1;\n }\n\n _createClass(Trail, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n\n if (data.quantity !== undefined) {\n this.quantity = data.quantity;\n }\n\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n\n if (data.pauseOnStop !== undefined) {\n this.pauseOnStop = data.pauseOnStop;\n }\n }\n }]);\n\n return Trail;\n}();\n\nexports.Trail = Trail;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ManualParticle = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar ManualParticle = /*#__PURE__*/function () {\n function ManualParticle() {\n _classCallCheck(this, ManualParticle);\n }\n\n _createClass(ManualParticle, [{\n key: \"load\",\n value: function load(data) {\n var _a, _b;\n\n if (!data) {\n return;\n }\n\n if (data.position !== undefined) {\n this.position = {\n x: (_a = data.position.x) !== null && _a !== void 0 ? _a : 50,\n y: (_b = data.position.y) !== null && _b !== void 0 ? _b : 50\n };\n }\n\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n }]);\n\n return ManualParticle;\n}();\n\nexports.ManualParticle = ManualParticle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Motion = void 0;\n\nvar MotionReduce_1 = require(\"./MotionReduce\");\n\nvar Motion = /*#__PURE__*/function () {\n function Motion() {\n _classCallCheck(this, Motion);\n\n this.disable = false;\n this.reduce = new MotionReduce_1.MotionReduce();\n }\n\n _createClass(Motion, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n\n this.reduce.load(data.reduce);\n }\n }]);\n\n return Motion;\n}();\n\nexports.Motion = Motion;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MotionReduce = void 0;\n\nvar MotionReduce = /*#__PURE__*/function () {\n function MotionReduce() {\n _classCallCheck(this, MotionReduce);\n\n this.factor = 4;\n this.value = true;\n }\n\n _createClass(MotionReduce, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n }]);\n\n return MotionReduce;\n}();\n\nexports.MotionReduce = MotionReduce;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar __classPrivateFieldGet = this && this.__classPrivateFieldGet || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\n\nvar _Options_instances, _Options_findDefaultTheme;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Options = void 0;\n\nvar Interactivity_1 = require(\"./Interactivity/Interactivity\");\n\nvar ParticlesOptions_1 = require(\"./Particles/ParticlesOptions\");\n\nvar BackgroundMask_1 = require(\"./BackgroundMask/BackgroundMask\");\n\nvar Background_1 = require(\"./Background/Background\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Theme_1 = require(\"./Theme/Theme\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar FullScreen_1 = require(\"./FullScreen/FullScreen\");\n\nvar Motion_1 = require(\"./Motion/Motion\");\n\nvar ManualParticle_1 = require(\"./ManualParticle\");\n\nvar Responsive_1 = require(\"./Responsive\");\n\nvar Options = /*#__PURE__*/function () {\n function Options() {\n _classCallCheck(this, Options);\n\n _Options_instances.add(this);\n\n this.autoPlay = true;\n this.background = new Background_1.Background();\n this.backgroundMask = new BackgroundMask_1.BackgroundMask();\n this.fullScreen = new FullScreen_1.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 60;\n this.interactivity = new Interactivity_1.Interactivity();\n this.manualParticles = [];\n this.motion = new Motion_1.Motion();\n this.particles = new ParticlesOptions_1.ParticlesOptions();\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.themes = [];\n this.zLayers = 100;\n }\n\n _createClass(Options, [{\n key: \"fps_limit\",\n get: function get() {\n return this.fpsLimit;\n },\n set: function set(value) {\n this.fpsLimit = value;\n }\n }, {\n key: \"retina_detect\",\n get: function get() {\n return this.detectRetina;\n },\n set: function set(value) {\n this.detectRetina = value;\n }\n }, {\n key: \"backgroundMode\",\n get: function get() {\n return this.fullScreen;\n },\n set: function set(value) {\n this.fullScreen.load(value);\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c, _d, _e;\n\n if (data === undefined) {\n return;\n }\n\n if (data.preset !== undefined) {\n if (data.preset instanceof Array) {\n var _iterator = _createForOfIteratorHelper(data.preset),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var preset = _step.value;\n this.importPreset(preset);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n this.importPreset(data.preset);\n }\n }\n\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n\n var detectRetina = (_a = data.detectRetina) !== null && _a !== void 0 ? _a : data.retina_detect;\n\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n var fpsLimit = (_b = data.fpsLimit) !== null && _b !== void 0 ? _b : data.fps_limit;\n\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n\n this.background.load(data.background);\n var fullScreen = (_c = data.fullScreen) !== null && _c !== void 0 ? _c : data.backgroundMode;\n\n if (typeof fullScreen === \"boolean\") {\n this.fullScreen.enable = fullScreen;\n } else {\n this.fullScreen.load(fullScreen);\n }\n\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n\n if (data.manualParticles !== undefined) {\n this.manualParticles = data.manualParticles.map(function (t) {\n var tmp = new ManualParticle_1.ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n\n this.motion.load(data.motion);\n this.particles.load(data.particles);\n Utils_1.Plugins.loadOptions(this, data);\n\n if (data.responsive !== undefined) {\n var _iterator2 = _createForOfIteratorHelper(data.responsive),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var responsive = _step2.value;\n var optResponsive = new Responsive_1.Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n this.responsive.sort(function (a, b) {\n return a.maxWidth - b.maxWidth;\n });\n\n if (data.themes !== undefined) {\n var _iterator3 = _createForOfIteratorHelper(data.themes),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var theme = _step3.value;\n var optTheme = new Theme_1.Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n this.defaultDarkTheme = (_d = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, Enums_1.ThemeMode.dark)) === null || _d === void 0 ? void 0 : _d.name;\n this.defaultLightTheme = (_e = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, Enums_1.ThemeMode.light)) === null || _e === void 0 ? void 0 : _e.name;\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(name) {\n if (name) {\n var chosenTheme = this.themes.find(function (theme) {\n return theme.name === name;\n });\n\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n } else {\n var mediaMatch = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\"),\n clientDarkMode = mediaMatch && mediaMatch.matches,\n defaultTheme = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, clientDarkMode ? Enums_1.ThemeMode.dark : Enums_1.ThemeMode.light);\n\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n }, {\n key: \"setResponsive\",\n value: function setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n var responsiveOptions = this.responsive.find(function (t) {\n return t.mode === Enums_1.ResponsiveMode.screen && screen ? t.maxWidth * pxRatio > screen.availWidth : t.maxWidth * pxRatio > width;\n });\n this.load(responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.options);\n return responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.maxWidth;\n }\n }, {\n key: \"importPreset\",\n value: function importPreset(preset) {\n this.load(Utils_1.Plugins.getPreset(preset));\n }\n }]);\n\n return Options;\n}();\n\nexports.Options = Options;\n_Options_instances = new WeakSet(), _Options_findDefaultTheme = function _Options_findDefaultTheme(mode) {\n var _a;\n\n return (_a = this.themes.find(function (theme) {\n return theme.default.value && theme.default.mode === mode;\n })) !== null && _a !== void 0 ? _a : this.themes.find(function (theme) {\n return theme.default.value && theme.default.mode === Enums_1.ThemeMode.any;\n });\n};","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OptionsColor = void 0;\n\nvar OptionsColor = /*#__PURE__*/function () {\n function OptionsColor() {\n _classCallCheck(this, OptionsColor);\n\n this.value = \"#fff\";\n }\n\n _createClass(OptionsColor, [{\n key: \"load\",\n value: function load(data) {\n if ((data === null || data === void 0 ? void 0 : data.value) === undefined) {\n return;\n }\n\n this.value = data.value;\n }\n }], [{\n key: \"create\",\n value: function create(source, data) {\n var color = new OptionsColor();\n color.load(source);\n\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n\n return color;\n }\n }]);\n\n return OptionsColor;\n}();\n\nexports.OptionsColor = OptionsColor;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Bounce = void 0;\n\nvar BounceFactor_1 = require(\"./BounceFactor\");\n\nvar Bounce = /*#__PURE__*/function () {\n function Bounce() {\n _classCallCheck(this, Bounce);\n\n this.horizontal = new BounceFactor_1.BounceFactor();\n this.vertical = new BounceFactor_1.BounceFactor();\n }\n\n _createClass(Bounce, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n }]);\n\n return Bounce;\n}();\n\nexports.Bounce = Bounce;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BounceFactor = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar BounceFactor = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(BounceFactor, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(BounceFactor);\n\n function BounceFactor() {\n var _this;\n\n _classCallCheck(this, BounceFactor);\n\n _this = _super.call(this);\n _this.random.minimumValue = 0.1;\n _this.value = 1;\n return _this;\n }\n\n return BounceFactor;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.BounceFactor = BounceFactor;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collisions = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Bounce_1 = require(\"../Bounce/Bounce\");\n\nvar CollisionsOverlap_1 = require(\"./CollisionsOverlap\");\n\nvar Collisions = /*#__PURE__*/function () {\n function Collisions() {\n _classCallCheck(this, Collisions);\n\n this.bounce = new Bounce_1.Bounce();\n this.enable = false;\n this.mode = Enums_1.CollisionMode.bounce;\n this.overlap = new CollisionsOverlap_1.CollisionsOverlap();\n }\n\n _createClass(Collisions, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.bounce.load(data.bounce);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n this.overlap.load(data.overlap);\n }\n }]);\n\n return Collisions;\n}();\n\nexports.Collisions = Collisions;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CollisionsOverlap = void 0;\n\nvar CollisionsOverlap = /*#__PURE__*/function () {\n function CollisionsOverlap() {\n _classCallCheck(this, CollisionsOverlap);\n\n this.enable = true;\n this.retries = 0;\n }\n\n _createClass(CollisionsOverlap, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n }]);\n\n return CollisionsOverlap;\n}();\n\nexports.CollisionsOverlap = CollisionsOverlap;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Destroy = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Split_1 = require(\"./Split\");\n\nvar Destroy = /*#__PURE__*/function () {\n function Destroy() {\n _classCallCheck(this, Destroy);\n\n this.mode = Enums_1.DestroyMode.none;\n this.split = new Split_1.Split();\n }\n\n _createClass(Destroy, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n this.split.load(data.split);\n }\n }]);\n\n return Destroy;\n}();\n\nexports.Destroy = Destroy;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Split = void 0;\n\nvar SplitFactor_1 = require(\"./SplitFactor\");\n\nvar SplitRate_1 = require(\"./SplitRate\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Split = /*#__PURE__*/function () {\n function Split() {\n _classCallCheck(this, Split);\n\n this.count = 1;\n this.factor = new SplitFactor_1.SplitFactor();\n this.rate = new SplitRate_1.SplitRate();\n this.sizeOffset = true;\n }\n\n _createClass(Split, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n }\n }]);\n\n return Split;\n}();\n\nexports.Split = Split;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SplitFactor = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar SplitFactor = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(SplitFactor, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(SplitFactor);\n\n function SplitFactor() {\n var _this;\n\n _classCallCheck(this, SplitFactor);\n\n _this = _super.call(this);\n _this.value = 3;\n return _this;\n }\n\n return SplitFactor;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.SplitFactor = SplitFactor;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SplitRate = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar SplitRate = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(SplitRate, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(SplitRate);\n\n function SplitRate() {\n var _this;\n\n _classCallCheck(this, SplitRate);\n\n _this = _super.call(this);\n _this.value = {\n min: 4,\n max: 9\n };\n return _this;\n }\n\n return SplitRate;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.SplitRate = SplitRate;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Life = void 0;\n\nvar LifeDelay_1 = require(\"./LifeDelay\");\n\nvar LifeDuration_1 = require(\"./LifeDuration\");\n\nvar Life = /*#__PURE__*/function () {\n function Life() {\n _classCallCheck(this, Life);\n\n this.count = 0;\n this.delay = new LifeDelay_1.LifeDelay();\n this.duration = new LifeDuration_1.LifeDuration();\n }\n\n _createClass(Life, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n }]);\n\n return Life;\n}();\n\nexports.Life = Life;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LifeDelay = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar LifeDelay = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(LifeDelay, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(LifeDelay);\n\n function LifeDelay() {\n var _this;\n\n _classCallCheck(this, LifeDelay);\n\n _this = _super.call(this);\n _this.sync = false;\n return _this;\n }\n\n _createClass(LifeDelay, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(LifeDelay.prototype), \"load\", this).call(this, data);\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return LifeDelay;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.LifeDelay = LifeDelay;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LifeDuration = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar LifeDuration = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(LifeDuration, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(LifeDuration);\n\n function LifeDuration() {\n var _this;\n\n _classCallCheck(this, LifeDuration);\n\n _this = _super.call(this);\n _this.random.minimumValue = 0.0001;\n _this.sync = false;\n return _this;\n }\n\n _createClass(LifeDuration, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n _get(_getPrototypeOf(LifeDuration.prototype), \"load\", this).call(this, data);\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return LifeDuration;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.LifeDuration = LifeDuration;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Links = void 0;\n\nvar LinksShadow_1 = require(\"./LinksShadow\");\n\nvar LinksTriangle_1 = require(\"./LinksTriangle\");\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar Links = /*#__PURE__*/function () {\n function Links() {\n _classCallCheck(this, Links);\n\n this.blink = false;\n this.color = new OptionsColor_1.OptionsColor();\n this.consent = false;\n this.distance = 100;\n this.enable = false;\n this.frequency = 1;\n this.opacity = 1;\n this.shadow = new LinksShadow_1.LinksShadow();\n this.triangles = new LinksTriangle_1.LinksTriangle();\n this.width = 1;\n this.warp = false;\n }\n\n _createClass(Links, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.id !== undefined) {\n this.id = data.id;\n }\n\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n\n this.shadow.load(data.shadow);\n this.triangles.load(data.triangles);\n\n if (data.width !== undefined) {\n this.width = data.width;\n }\n\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n }]);\n\n return Links;\n}();\n\nexports.Links = Links;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LinksShadow = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar LinksShadow = /*#__PURE__*/function () {\n function LinksShadow() {\n _classCallCheck(this, LinksShadow);\n\n this.blur = 5;\n this.color = new OptionsColor_1.OptionsColor();\n this.enable = false;\n this.color.value = \"#00ff00\";\n }\n\n _createClass(LinksShadow, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n }]);\n\n return LinksShadow;\n}();\n\nexports.LinksShadow = LinksShadow;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LinksTriangle = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar LinksTriangle = /*#__PURE__*/function () {\n function LinksTriangle() {\n _classCallCheck(this, LinksTriangle);\n\n this.enable = false;\n this.frequency = 1;\n }\n\n _createClass(LinksTriangle, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return LinksTriangle;\n}();\n\nexports.LinksTriangle = LinksTriangle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Attract = void 0;\n\nvar Attract = /*#__PURE__*/function () {\n function Attract() {\n _classCallCheck(this, Attract);\n\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000\n };\n }\n\n _createClass(Attract, [{\n key: \"rotateX\",\n get: function get() {\n return this.rotate.x;\n },\n set: function set(value) {\n this.rotate.x = value;\n }\n }, {\n key: \"rotateY\",\n get: function get() {\n return this.rotate.y;\n },\n set: function set(value) {\n this.rotate.y = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c, _d;\n\n if (!data) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n var rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;\n\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n\n var rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;\n\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n }]);\n\n return Attract;\n}();\n\nexports.Attract = Attract;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Move = void 0;\n\nvar Attract_1 = require(\"./Attract\");\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Trail_1 = require(\"./Trail\");\n\nvar Path_1 = require(\"./Path/Path\");\n\nvar MoveAngle_1 = require(\"./MoveAngle\");\n\nvar MoveGravity_1 = require(\"./MoveGravity\");\n\nvar OutModes_1 = require(\"./OutModes\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Spin_1 = require(\"./Spin\");\n\nvar Move = /*#__PURE__*/function () {\n function Move() {\n _classCallCheck(this, Move);\n\n this.angle = new MoveAngle_1.MoveAngle();\n this.attract = new Attract_1.Attract();\n this.decay = 0;\n this.distance = {};\n this.direction = Enums_1.MoveDirection.none;\n this.drift = 0;\n this.enable = false;\n this.gravity = new MoveGravity_1.MoveGravity();\n this.path = new Path_1.Path();\n this.outModes = new OutModes_1.OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new Spin_1.Spin();\n this.straight = false;\n this.trail = new Trail_1.Trail();\n this.vibrate = false;\n this.warp = false;\n }\n\n _createClass(Move, [{\n key: \"collisions\",\n get: function get() {\n return false;\n },\n set: function set(value) {}\n }, {\n key: \"bounce\",\n get: function get() {\n return this.collisions;\n },\n set: function set(value) {\n this.collisions = value;\n }\n }, {\n key: \"out_mode\",\n get: function get() {\n return this.outMode;\n },\n set: function set(value) {\n this.outMode = value;\n }\n }, {\n key: \"outMode\",\n get: function get() {\n return this.outModes.default;\n },\n set: function set(value) {\n this.outModes.default = value;\n }\n }, {\n key: \"noise\",\n get: function get() {\n return this.path;\n },\n set: function set(value) {\n this.path = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c;\n\n if (data === undefined) {\n return;\n }\n\n if (data.angle !== undefined) {\n if (typeof data.angle === \"number\") {\n this.angle.value = data.angle;\n } else {\n this.angle.load(data.angle);\n }\n }\n\n this.attract.load(data.attract);\n\n if (data.decay !== undefined) {\n this.decay = data.decay;\n }\n\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n\n if (data.distance !== undefined) {\n this.distance = typeof data.distance === \"number\" ? {\n horizontal: data.distance,\n vertical: data.distance\n } : (0, Utils_1.deepExtend)({}, data.distance);\n }\n\n if (data.drift !== undefined) {\n this.drift = (0, Utils_1.setRangeValue)(data.drift);\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.gravity.load(data.gravity);\n var outMode = (_a = data.outMode) !== null && _a !== void 0 ? _a : data.out_mode;\n\n if (data.outModes !== undefined || outMode !== undefined) {\n if (typeof data.outModes === \"string\" || data.outModes === undefined && outMode !== undefined) {\n this.outModes.load({\n default: (_b = data.outModes) !== null && _b !== void 0 ? _b : outMode\n });\n } else {\n this.outModes.load(data.outModes);\n }\n }\n\n this.path.load((_c = data.path) !== null && _c !== void 0 ? _c : data.noise);\n\n if (data.random !== undefined) {\n this.random = data.random;\n }\n\n if (data.size !== undefined) {\n this.size = data.size;\n }\n\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n\n this.spin.load(data.spin);\n\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n\n this.trail.load(data.trail);\n\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n }]);\n\n return Move;\n}();\n\nexports.Move = Move;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MoveAngle = void 0;\n\nvar MoveAngle = /*#__PURE__*/function () {\n function MoveAngle() {\n _classCallCheck(this, MoveAngle);\n\n this.offset = 0;\n this.value = 90;\n }\n\n _createClass(MoveAngle, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n }]);\n\n return MoveAngle;\n}();\n\nexports.MoveAngle = MoveAngle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MoveGravity = void 0;\n\nvar MoveGravity = /*#__PURE__*/function () {\n function MoveGravity() {\n _classCallCheck(this, MoveGravity);\n\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n\n _createClass(MoveGravity, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.acceleration !== undefined) {\n this.acceleration = data.acceleration;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n }]);\n\n return MoveGravity;\n}();\n\nexports.MoveGravity = MoveGravity;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OutModes = void 0;\n\nvar Modes_1 = require(\"../../../../Enums/Modes\");\n\nvar OutModes = /*#__PURE__*/function () {\n function OutModes() {\n _classCallCheck(this, OutModes);\n\n this.default = Modes_1.OutMode.out;\n }\n\n _createClass(OutModes, [{\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c, _d;\n\n if (!data) {\n return;\n }\n\n if (data.default !== undefined) {\n this.default = data.default;\n }\n\n this.bottom = (_a = data.bottom) !== null && _a !== void 0 ? _a : data.default;\n this.left = (_b = data.left) !== null && _b !== void 0 ? _b : data.default;\n this.right = (_c = data.right) !== null && _c !== void 0 ? _c : data.default;\n this.top = (_d = data.top) !== null && _d !== void 0 ? _d : data.default;\n }\n }]);\n\n return OutModes;\n}();\n\nexports.OutModes = OutModes;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Path = void 0;\n\nvar PathDelay_1 = require(\"./PathDelay\");\n\nvar Utils_1 = require(\"../../../../../Utils\");\n\nvar Path = /*#__PURE__*/function () {\n function Path() {\n _classCallCheck(this, Path);\n\n this.clamp = true;\n this.delay = new PathDelay_1.PathDelay();\n this.enable = false;\n this.options = {};\n }\n\n _createClass(Path, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n\n this.delay.load(data.delay);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.generator = data.generator;\n\n if (data.options) {\n this.options = (0, Utils_1.deepExtend)(this.options, data.options);\n }\n }\n }]);\n\n return Path;\n}();\n\nexports.Path = Path;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PathDelay = void 0;\n\nvar ValueWithRandom_1 = require(\"../../../ValueWithRandom\");\n\nvar PathDelay = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(PathDelay, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(PathDelay);\n\n function PathDelay() {\n _classCallCheck(this, PathDelay);\n\n return _super.call(this);\n }\n\n return PathDelay;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.PathDelay = PathDelay;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Spin = void 0;\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Spin = /*#__PURE__*/function () {\n function Spin() {\n _classCallCheck(this, Spin);\n\n this.acceleration = 0;\n this.enable = false;\n }\n\n _createClass(Spin, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.acceleration !== undefined) {\n this.acceleration = (0, Utils_1.setRangeValue)(data.acceleration);\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.position = data.position ? (0, Utils_1.deepExtend)({}, data.position) : undefined;\n }\n }]);\n\n return Spin;\n}();\n\nexports.Spin = Spin;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Trail = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar Trail = /*#__PURE__*/function () {\n function Trail() {\n _classCallCheck(this, Trail);\n\n this.enable = false;\n this.length = 10;\n this.fillColor = new OptionsColor_1.OptionsColor();\n this.fillColor.value = \"#000000\";\n }\n\n _createClass(Trail, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.fillColor = OptionsColor_1.OptionsColor.create(this.fillColor, data.fillColor);\n\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n }]);\n\n return Trail;\n}();\n\nexports.Trail = Trail;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Density = void 0;\n\nvar Density = /*#__PURE__*/function () {\n function Density() {\n _classCallCheck(this, Density);\n\n this.enable = false;\n this.area = 800;\n this.factor = 1000;\n }\n\n _createClass(Density, [{\n key: \"value_area\",\n get: function get() {\n return this.area;\n },\n set: function set(value) {\n this.area = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n var area = (_a = data.area) !== null && _a !== void 0 ? _a : data.value_area;\n\n if (area !== undefined) {\n this.area = area;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n }\n }]);\n\n return Density;\n}();\n\nexports.Density = Density;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ParticlesNumber = void 0;\n\nvar Density_1 = require(\"./Density\");\n\nvar ParticlesNumber = /*#__PURE__*/function () {\n function ParticlesNumber() {\n _classCallCheck(this, ParticlesNumber);\n\n this.density = new Density_1.Density();\n this.limit = 0;\n this.value = 100;\n }\n\n _createClass(ParticlesNumber, [{\n key: \"max\",\n get: function get() {\n return this.limit;\n },\n set: function set(value) {\n this.limit = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n this.density.load(data.density);\n var limit = (_a = data.limit) !== null && _a !== void 0 ? _a : data.max;\n\n if (limit !== undefined) {\n this.limit = limit;\n }\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n }]);\n\n return ParticlesNumber;\n}();\n\nexports.ParticlesNumber = ParticlesNumber;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Opacity = void 0;\n\nvar OpacityAnimation_1 = require(\"./OpacityAnimation\");\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Opacity = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(Opacity, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(Opacity);\n\n function Opacity() {\n var _this;\n\n _classCallCheck(this, Opacity);\n\n _this = _super.call(this);\n _this.animation = new OpacityAnimation_1.OpacityAnimation();\n _this.random.minimumValue = 0.1;\n _this.value = 1;\n return _this;\n }\n\n _createClass(Opacity, [{\n key: \"anim\",\n get: function get() {\n return this.animation;\n },\n set: function set(value) {\n this.animation = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(Opacity.prototype), \"load\", this).call(this, data);\n\n var animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = (0, Utils_1.setRangeValue)(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n }]);\n\n return Opacity;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.Opacity = Opacity;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OpacityAnimation = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar AnimationOptions_1 = require(\"../../AnimationOptions\");\n\nvar OpacityAnimation = /*#__PURE__*/function (_AnimationOptions_1$A) {\n _inherits(OpacityAnimation, _AnimationOptions_1$A);\n\n var _super = _createSuper(OpacityAnimation);\n\n function OpacityAnimation() {\n var _this;\n\n _classCallCheck(this, OpacityAnimation);\n\n _this = _super.call(this);\n _this.destroy = Enums_1.DestroyType.none;\n _this.enable = false;\n _this.speed = 2;\n _this.startValue = Enums_1.StartValueType.random;\n _this.sync = false;\n return _this;\n }\n\n _createClass(OpacityAnimation, [{\n key: \"opacity_min\",\n get: function get() {\n return this.minimumValue;\n },\n set: function set(value) {\n this.minimumValue = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n _get(_getPrototypeOf(OpacityAnimation.prototype), \"load\", this).call(this, data);\n\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return OpacityAnimation;\n}(AnimationOptions_1.AnimationOptions);\n\nexports.OpacityAnimation = OpacityAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Orbit = void 0;\n\nvar OrbitRotation_1 = require(\"./OrbitRotation\");\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar AnimationOptions_1 = require(\"../../AnimationOptions\");\n\nvar Orbit = /*#__PURE__*/function () {\n function Orbit() {\n _classCallCheck(this, Orbit);\n\n this.animation = new AnimationOptions_1.AnimationOptions();\n this.enable = false;\n this.opacity = 1;\n this.rotation = new OrbitRotation_1.OrbitRotation();\n this.width = 1;\n }\n\n _createClass(Orbit, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.animation.load(data.animation);\n this.rotation.load(data.rotation);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n\n if (data.width !== undefined) {\n this.width = data.width;\n }\n\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n }\n }]);\n\n return Orbit;\n}();\n\nexports.Orbit = Orbit;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrbitRotation = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar OrbitRotation = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(OrbitRotation, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(OrbitRotation);\n\n function OrbitRotation() {\n var _this;\n\n _classCallCheck(this, OrbitRotation);\n\n _this = _super.call(this);\n _this.value = 45;\n _this.random.enable = false;\n _this.random.minimumValue = 0;\n return _this;\n }\n\n _createClass(OrbitRotation, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n _get(_getPrototypeOf(OrbitRotation.prototype), \"load\", this).call(this, data);\n }\n }]);\n\n return OrbitRotation;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.OrbitRotation = OrbitRotation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ParticlesOptions = void 0;\n\nvar Links_1 = require(\"./Links/Links\");\n\nvar Move_1 = require(\"./Move/Move\");\n\nvar ParticlesNumber_1 = require(\"./Number/ParticlesNumber\");\n\nvar Opacity_1 = require(\"./Opacity/Opacity\");\n\nvar Shape_1 = require(\"./Shape/Shape\");\n\nvar Size_1 = require(\"./Size/Size\");\n\nvar Rotate_1 = require(\"./Rotate/Rotate\");\n\nvar Shadow_1 = require(\"./Shadow\");\n\nvar Stroke_1 = require(\"./Stroke\");\n\nvar Collisions_1 = require(\"./Collisions/Collisions\");\n\nvar Twinkle_1 = require(\"./Twinkle/Twinkle\");\n\nvar AnimatableColor_1 = require(\"../AnimatableColor\");\n\nvar Life_1 = require(\"./Life/Life\");\n\nvar Bounce_1 = require(\"./Bounce/Bounce\");\n\nvar Destroy_1 = require(\"./Destroy/Destroy\");\n\nvar Wobble_1 = require(\"./Wobble/Wobble\");\n\nvar Tilt_1 = require(\"./Tilt/Tilt\");\n\nvar Roll_1 = require(\"./Roll/Roll\");\n\nvar ZIndex_1 = require(\"./ZIndex/ZIndex\");\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar Orbit_1 = require(\"./Orbit/Orbit\");\n\nvar Repulse_1 = require(\"./Repulse/Repulse\");\n\nvar AnimatableGradient_1 = require(\"../AnimatableGradient\");\n\nvar ParticlesOptions = /*#__PURE__*/function () {\n function ParticlesOptions() {\n _classCallCheck(this, ParticlesOptions);\n\n this.bounce = new Bounce_1.Bounce();\n this.collisions = new Collisions_1.Collisions();\n this.color = new AnimatableColor_1.AnimatableColor();\n this.destroy = new Destroy_1.Destroy();\n this.gradient = [];\n this.groups = {};\n this.life = new Life_1.Life();\n this.links = new Links_1.Links();\n this.move = new Move_1.Move();\n this.number = new ParticlesNumber_1.ParticlesNumber();\n this.opacity = new Opacity_1.Opacity();\n this.orbit = new Orbit_1.Orbit();\n this.reduceDuplicates = false;\n this.repulse = new Repulse_1.Repulse();\n this.roll = new Roll_1.Roll();\n this.rotate = new Rotate_1.Rotate();\n this.shadow = new Shadow_1.Shadow();\n this.shape = new Shape_1.Shape();\n this.size = new Size_1.Size();\n this.stroke = new Stroke_1.Stroke();\n this.tilt = new Tilt_1.Tilt();\n this.twinkle = new Twinkle_1.Twinkle();\n this.wobble = new Wobble_1.Wobble();\n this.zIndex = new ZIndex_1.ZIndex();\n }\n\n _createClass(ParticlesOptions, [{\n key: \"line_linked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"lineLinked\",\n get: function get() {\n return this.links;\n },\n set: function set(value) {\n this.links = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n\n if (data === undefined) {\n return;\n }\n\n this.bounce.load(data.bounce);\n this.color.load(AnimatableColor_1.AnimatableColor.create(this.color, data.color));\n this.destroy.load(data.destroy);\n this.life.load(data.life);\n var links = (_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked;\n\n if (links !== undefined) {\n this.links.load(links);\n }\n\n if (data.groups !== undefined) {\n for (var group in data.groups) {\n var item = data.groups[group];\n\n if (item !== undefined) {\n this.groups[group] = (0, Utils_1.deepExtend)((_c = this.groups[group]) !== null && _c !== void 0 ? _c : {}, item);\n }\n }\n }\n\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.orbit.load(data.orbit);\n\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n\n this.repulse.load(data.repulse);\n this.roll.load(data.roll);\n this.rotate.load(data.rotate);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.shadow.load(data.shadow);\n this.tilt.load(data.tilt);\n this.twinkle.load(data.twinkle);\n this.wobble.load(data.wobble);\n this.zIndex.load(data.zIndex);\n var collisions = (_e = (_d = data.move) === null || _d === void 0 ? void 0 : _d.collisions) !== null && _e !== void 0 ? _e : (_f = data.move) === null || _f === void 0 ? void 0 : _f.bounce;\n\n if (collisions !== undefined) {\n this.collisions.enable = collisions;\n }\n\n this.collisions.load(data.collisions);\n var strokeToLoad = (_g = data.stroke) !== null && _g !== void 0 ? _g : (_h = data.shape) === null || _h === void 0 ? void 0 : _h.stroke;\n\n if (strokeToLoad) {\n if (strokeToLoad instanceof Array) {\n this.stroke = strokeToLoad.map(function (s) {\n var tmp = new Stroke_1.Stroke();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.stroke instanceof Array) {\n this.stroke = new Stroke_1.Stroke();\n }\n\n this.stroke.load(strokeToLoad);\n }\n }\n\n var gradientToLoad = data.gradient;\n\n if (gradientToLoad) {\n if (gradientToLoad instanceof Array) {\n this.gradient = gradientToLoad.map(function (s) {\n var tmp = new AnimatableGradient_1.AnimatableGradient();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.gradient instanceof Array) {\n this.gradient = new AnimatableGradient_1.AnimatableGradient();\n }\n\n this.gradient.load(gradientToLoad);\n }\n }\n }\n }]);\n\n return ParticlesOptions;\n}();\n\nexports.ParticlesOptions = ParticlesOptions;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Repulse = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar Repulse = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(Repulse, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(Repulse);\n\n function Repulse() {\n var _this;\n\n _classCallCheck(this, Repulse);\n\n _this = _super.call(this);\n _this.enabled = false;\n _this.distance = 1;\n _this.duration = 1;\n _this.factor = 1;\n _this.speed = 1;\n return _this;\n }\n\n _createClass(Repulse, [{\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(Repulse.prototype), \"load\", this).call(this, data);\n\n if (!data) {\n return;\n }\n\n if (data.enabled !== undefined) {\n this.enabled = data.enabled;\n }\n\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n }]);\n\n return Repulse;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.Repulse = Repulse;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Roll = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar RollLight_1 = require(\"./RollLight\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Roll = /*#__PURE__*/function () {\n function Roll() {\n _classCallCheck(this, Roll);\n\n this.darken = new RollLight_1.RollLight();\n this.enable = false;\n this.enlighten = new RollLight_1.RollLight();\n this.mode = Enums_1.RollMode.vertical;\n this.speed = 25;\n }\n\n _createClass(Roll, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.backColor !== undefined) {\n this.backColor = OptionsColor_1.OptionsColor.create(this.backColor, data.backColor);\n }\n\n this.darken.load(data.darken);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.enlighten.load(data.enlighten);\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n }\n }]);\n\n return Roll;\n}();\n\nexports.Roll = Roll;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RollLight = void 0;\n\nvar RollLight = /*#__PURE__*/function () {\n function RollLight() {\n _classCallCheck(this, RollLight);\n\n this.enable = false;\n this.value = 0;\n }\n\n _createClass(RollLight, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n }]);\n\n return RollLight;\n}();\n\nexports.RollLight = RollLight;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Rotate = void 0;\n\nvar RotateAnimation_1 = require(\"./RotateAnimation\");\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar Rotate = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(Rotate, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(Rotate);\n\n function Rotate() {\n var _this;\n\n _classCallCheck(this, Rotate);\n\n _this = _super.call(this);\n _this.animation = new RotateAnimation_1.RotateAnimation();\n _this.direction = Enums_1.RotateDirection.clockwise;\n _this.path = false;\n _this.value = 0;\n return _this;\n }\n\n _createClass(Rotate, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(Rotate.prototype), \"load\", this).call(this, data);\n\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n\n this.animation.load(data.animation);\n\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n }]);\n\n return Rotate;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.Rotate = Rotate;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RotateAnimation = void 0;\n\nvar RotateAnimation = /*#__PURE__*/function () {\n function RotateAnimation() {\n _classCallCheck(this, RotateAnimation);\n\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n\n _createClass(RotateAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return RotateAnimation;\n}();\n\nexports.RotateAnimation = RotateAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Shadow = void 0;\n\nvar OptionsColor_1 = require(\"../OptionsColor\");\n\nvar Shadow = /*#__PURE__*/function () {\n function Shadow() {\n _classCallCheck(this, Shadow);\n\n this.blur = 0;\n this.color = new OptionsColor_1.OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0\n };\n this.color.value = \"#000000\";\n }\n\n _createClass(Shadow, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.offset === undefined) {\n return;\n }\n\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n }]);\n\n return Shadow;\n}();\n\nexports.Shadow = Shadow;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Shape = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Shape = /*#__PURE__*/function () {\n function Shape() {\n _classCallCheck(this, Shape);\n\n this.options = {};\n this.type = Enums_1.ShapeType.circle;\n }\n\n _createClass(Shape, [{\n key: \"image\",\n get: function get() {\n var _a;\n\n return (_a = this.options[Enums_1.ShapeType.image]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.images];\n },\n set: function set(value) {\n this.options[Enums_1.ShapeType.image] = value;\n this.options[Enums_1.ShapeType.images] = value;\n }\n }, {\n key: \"custom\",\n get: function get() {\n return this.options;\n },\n set: function set(value) {\n this.options = value;\n }\n }, {\n key: \"images\",\n get: function get() {\n return this.image;\n },\n set: function set(value) {\n this.image = value;\n }\n }, {\n key: \"stroke\",\n get: function get() {\n return [];\n },\n set: function set(_value) {}\n }, {\n key: \"character\",\n get: function get() {\n var _a;\n\n return (_a = this.options[Enums_1.ShapeType.character]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.char];\n },\n set: function set(value) {\n this.options[Enums_1.ShapeType.character] = value;\n this.options[Enums_1.ShapeType.char] = value;\n }\n }, {\n key: \"polygon\",\n get: function get() {\n var _a;\n\n return (_a = this.options[Enums_1.ShapeType.polygon]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.star];\n },\n set: function set(value) {\n this.options[Enums_1.ShapeType.polygon] = value;\n this.options[Enums_1.ShapeType.star] = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a, _b, _c;\n\n if (data === undefined) {\n return;\n }\n\n var options = (_a = data.options) !== null && _a !== void 0 ? _a : data.custom;\n\n if (options !== undefined) {\n for (var shape in options) {\n var item = options[shape];\n\n if (item !== undefined) {\n this.options[shape] = (0, Utils_1.deepExtend)((_b = this.options[shape]) !== null && _b !== void 0 ? _b : {}, item);\n }\n }\n }\n\n this.loadShape(data.character, Enums_1.ShapeType.character, Enums_1.ShapeType.char, true);\n this.loadShape(data.polygon, Enums_1.ShapeType.polygon, Enums_1.ShapeType.star, false);\n this.loadShape((_c = data.image) !== null && _c !== void 0 ? _c : data.images, Enums_1.ShapeType.image, Enums_1.ShapeType.images, true);\n\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n }, {\n key: \"loadShape\",\n value: function loadShape(item, mainKey, altKey, altOverride) {\n var _a, _b, _c, _d;\n\n if (item === undefined) {\n return;\n }\n\n if (item instanceof Array) {\n if (!(this.options[mainKey] instanceof Array)) {\n this.options[mainKey] = [];\n\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = [];\n }\n }\n\n this.options[mainKey] = (0, Utils_1.deepExtend)((_a = this.options[mainKey]) !== null && _a !== void 0 ? _a : [], item);\n\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = (0, Utils_1.deepExtend)((_b = this.options[altKey]) !== null && _b !== void 0 ? _b : [], item);\n }\n } else {\n if (this.options[mainKey] instanceof Array) {\n this.options[mainKey] = {};\n\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = {};\n }\n }\n\n this.options[mainKey] = (0, Utils_1.deepExtend)((_c = this.options[mainKey]) !== null && _c !== void 0 ? _c : {}, item);\n\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = (0, Utils_1.deepExtend)((_d = this.options[altKey]) !== null && _d !== void 0 ? _d : {}, item);\n }\n }\n }\n }]);\n\n return Shape;\n}();\n\nexports.Shape = Shape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Size = void 0;\n\nvar SizeAnimation_1 = require(\"./SizeAnimation\");\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Size = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(Size, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(Size);\n\n function Size() {\n var _this;\n\n _classCallCheck(this, Size);\n\n _this = _super.call(this);\n _this.animation = new SizeAnimation_1.SizeAnimation();\n _this.random.minimumValue = 1;\n _this.value = 3;\n return _this;\n }\n\n _createClass(Size, [{\n key: \"anim\",\n get: function get() {\n return this.animation;\n },\n set: function set(value) {\n this.animation = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(Size.prototype), \"load\", this).call(this, data);\n\n var animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = (0, Utils_1.setRangeValue)(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n }]);\n\n return Size;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.Size = Size;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeAnimation = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar AnimationOptions_1 = require(\"../../AnimationOptions\");\n\nvar SizeAnimation = /*#__PURE__*/function (_AnimationOptions_1$A) {\n _inherits(SizeAnimation, _AnimationOptions_1$A);\n\n var _super = _createSuper(SizeAnimation);\n\n function SizeAnimation() {\n var _this;\n\n _classCallCheck(this, SizeAnimation);\n\n _this = _super.call(this);\n _this.destroy = Enums_1.DestroyType.none;\n _this.enable = false;\n _this.speed = 5;\n _this.startValue = Enums_1.StartValueType.random;\n _this.sync = false;\n return _this;\n }\n\n _createClass(SizeAnimation, [{\n key: \"size_min\",\n get: function get() {\n return this.minimumValue;\n },\n set: function set(value) {\n this.minimumValue = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data === undefined) {\n return;\n }\n\n _get(_getPrototypeOf(SizeAnimation.prototype), \"load\", this).call(this, data);\n\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return SizeAnimation;\n}(AnimationOptions_1.AnimationOptions);\n\nexports.SizeAnimation = SizeAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Stroke = void 0;\n\nvar AnimatableColor_1 = require(\"../AnimatableColor\");\n\nvar Stroke = /*#__PURE__*/function () {\n function Stroke() {\n _classCallCheck(this, Stroke);\n\n this.width = 0;\n }\n\n _createClass(Stroke, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = AnimatableColor_1.AnimatableColor.create(this.color, data.color);\n }\n\n if (data.width !== undefined) {\n this.width = data.width;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return Stroke;\n}();\n\nexports.Stroke = Stroke;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Tilt = void 0;\n\nvar TiltAnimation_1 = require(\"./TiltAnimation\");\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar Tilt = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(Tilt, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(Tilt);\n\n function Tilt() {\n var _this;\n\n _classCallCheck(this, Tilt);\n\n _this = _super.call(this);\n _this.animation = new TiltAnimation_1.TiltAnimation();\n _this.direction = Enums_1.TiltDirection.clockwise;\n _this.enable = false;\n _this.value = 0;\n return _this;\n }\n\n _createClass(Tilt, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(Tilt.prototype), \"load\", this).call(this, data);\n\n this.animation.load(data.animation);\n\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n }]);\n\n return Tilt;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.Tilt = Tilt;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TiltAnimation = void 0;\n\nvar TiltAnimation = /*#__PURE__*/function () {\n function TiltAnimation() {\n _classCallCheck(this, TiltAnimation);\n\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n\n _createClass(TiltAnimation, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n }]);\n\n return TiltAnimation;\n}();\n\nexports.TiltAnimation = TiltAnimation;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Twinkle = void 0;\n\nvar TwinkleValues_1 = require(\"./TwinkleValues\");\n\nvar Twinkle = /*#__PURE__*/function () {\n function Twinkle() {\n _classCallCheck(this, Twinkle);\n\n this.lines = new TwinkleValues_1.TwinkleValues();\n this.particles = new TwinkleValues_1.TwinkleValues();\n }\n\n _createClass(Twinkle, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n this.lines.load(data.lines);\n this.particles.load(data.particles);\n }\n }]);\n\n return Twinkle;\n}();\n\nexports.Twinkle = Twinkle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TwinkleValues = void 0;\n\nvar OptionsColor_1 = require(\"../../OptionsColor\");\n\nvar TwinkleValues = /*#__PURE__*/function () {\n function TwinkleValues() {\n _classCallCheck(this, TwinkleValues);\n\n this.enable = false;\n this.frequency = 0.05;\n this.opacity = 1;\n }\n\n _createClass(TwinkleValues, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n }]);\n\n return TwinkleValues;\n}();\n\nexports.TwinkleValues = TwinkleValues;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Wobble = void 0;\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar Wobble = /*#__PURE__*/function () {\n function Wobble() {\n _classCallCheck(this, Wobble);\n\n this.distance = 5;\n this.enable = false;\n this.speed = 50;\n }\n\n _createClass(Wobble, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.distance !== undefined) {\n this.distance = (0, Utils_1.setRangeValue)(data.distance);\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n }\n }]);\n\n return Wobble;\n}();\n\nexports.Wobble = Wobble;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ZIndex = void 0;\n\nvar ValueWithRandom_1 = require(\"../../ValueWithRandom\");\n\nvar ZIndex = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(ZIndex, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(ZIndex);\n\n function ZIndex() {\n var _this;\n\n _classCallCheck(this, ZIndex);\n\n _this = _super.call(this);\n _this.opacityRate = 1;\n _this.sizeRate = 1;\n _this.velocityRate = 1;\n return _this;\n }\n\n _createClass(ZIndex, [{\n key: \"load\",\n value: function load(data) {\n _get(_getPrototypeOf(ZIndex.prototype), \"load\", this).call(this, data);\n\n if (!data) {\n return;\n }\n\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n }]);\n\n return ZIndex;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.ZIndex = ZIndex;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Random = void 0;\n\nvar Random = /*#__PURE__*/function () {\n function Random() {\n _classCallCheck(this, Random);\n\n this.enable = false;\n this.minimumValue = 0;\n }\n\n _createClass(Random, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n if (data.minimumValue !== undefined) {\n this.minimumValue = data.minimumValue;\n }\n }\n }]);\n\n return Random;\n}();\n\nexports.Random = Random;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Responsive = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Responsive = /*#__PURE__*/function () {\n function Responsive() {\n _classCallCheck(this, Responsive);\n\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = Enums_1.ResponsiveMode.canvas;\n }\n\n _createClass(Responsive, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.maxWidth !== undefined) {\n this.maxWidth = data.maxWidth;\n }\n\n if (data.mode !== undefined) {\n if (data.mode === Enums_1.ResponsiveMode.screen) {\n this.mode = Enums_1.ResponsiveMode.screen;\n } else {\n this.mode = Enums_1.ResponsiveMode.canvas;\n }\n }\n\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n }]);\n\n return Responsive;\n}();\n\nexports.Responsive = Responsive;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Theme = void 0;\n\nvar Utils_1 = require(\"../../../Utils\");\n\nvar ThemeDefault_1 = require(\"./ThemeDefault\");\n\nvar Theme = /*#__PURE__*/function () {\n function Theme() {\n _classCallCheck(this, Theme);\n\n this.name = \"\";\n this.default = new ThemeDefault_1.ThemeDefault();\n }\n\n _createClass(Theme, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.name !== undefined) {\n this.name = data.name;\n }\n\n this.default.load(data.default);\n\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n }]);\n\n return Theme;\n}();\n\nexports.Theme = Theme;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ThemeDefault = void 0;\n\nvar Enums_1 = require(\"../../../Enums\");\n\nvar ThemeDefault = /*#__PURE__*/function () {\n function ThemeDefault() {\n _classCallCheck(this, ThemeDefault);\n\n this.auto = false;\n this.mode = Enums_1.ThemeMode.any;\n this.value = false;\n }\n\n _createClass(ThemeDefault, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n }]);\n\n return ThemeDefault;\n}();\n\nexports.ThemeDefault = ThemeDefault;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ValueWithRandom = void 0;\n\nvar Random_1 = require(\"./Random\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar ValueWithRandom = /*#__PURE__*/function () {\n function ValueWithRandom() {\n _classCallCheck(this, ValueWithRandom);\n\n this.random = new Random_1.Random();\n this.value = 0;\n }\n\n _createClass(ValueWithRandom, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (typeof data.random === \"boolean\") {\n this.random.enable = data.random;\n } else {\n this.random.load(data.random);\n }\n\n if (data.value !== undefined) {\n this.value = (0, Utils_1.setRangeValue)(data.value, this.random.enable ? this.random.minimumValue : undefined);\n }\n }\n }]);\n\n return ValueWithRandom;\n}();\n\nexports.ValueWithRandom = ValueWithRandom;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AbsorberInstance = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Vector_1 = require(\"../../Core/Particle/Vector\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar AbsorberInstance = /*#__PURE__*/function () {\n function AbsorberInstance(absorbers, container, options, position) {\n _classCallCheck(this, AbsorberInstance);\n\n var _a, _b, _c, _d, _e;\n\n this.absorbers = absorbers;\n this.container = container;\n this.initialPosition = position ? Vector_1.Vector.create(position.x, position.y) : undefined;\n this.options = options;\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = (0, Utils_1.getRangeValue)(options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * options.size.density * container.retina.reduceFactor;\n var limit = options.size.limit;\n this.limit = typeof limit === \"number\" ? {\n radius: limit * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: 0\n } : {\n radius: ((_a = limit === null || limit === void 0 ? void 0 : limit.radius) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: (_b = limit === null || limit === void 0 ? void 0 : limit.mass) !== null && _b !== void 0 ? _b : 0\n };\n var color = typeof options.color === \"string\" ? {\n value: options.color\n } : options.color;\n this.color = (_c = (0, Utils_1.colorToRgb)(color)) !== null && _c !== void 0 ? _c : {\n b: 0,\n g: 0,\n r: 0\n };\n this.position = (_e = (_d = this.initialPosition) === null || _d === void 0 ? void 0 : _d.copy()) !== null && _e !== void 0 ? _e : this.calcPosition();\n }\n\n _createClass(AbsorberInstance, [{\n key: \"attract\",\n value: function attract(particle) {\n var container = this.container;\n var options = this.options;\n\n if (options.draggable) {\n var mouse = container.interactivity.mouse;\n\n if (mouse.clicking && mouse.downPosition) {\n var mouseDist = (0, Utils_1.getDistance)(this.position, mouse.downPosition);\n\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n } else {\n this.dragging = false;\n }\n\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n\n var pos = particle.getPosition();\n\n var _ref = (0, Utils_1.getDistances)(this.position, pos),\n dx = _ref.dx,\n dy = _ref.dy,\n distance = _ref.distance;\n\n var v = Vector_1.Vector.create(dx, dy);\n v.length = this.mass / Math.pow(distance, 2) * container.retina.reduceFactor;\n\n if (distance < this.size + particle.getRadius()) {\n var sizeFactor = particle.getRadius() * 0.033 * container.retina.pixelRatio;\n\n if (this.size > particle.getRadius() && distance < this.size - particle.getRadius() || particle.absorberOrbit !== undefined && particle.absorberOrbit.length < 0) {\n if (options.destroy) {\n particle.destroy();\n } else {\n particle.needsNewPosition = true;\n this.updateParticlePosition(particle, v);\n }\n } else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n\n this.updateParticlePosition(particle, v);\n }\n\n if (this.limit.radius <= 0 || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n\n if (this.limit.mass <= 0 || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n } else {\n this.updateParticlePosition(particle, v);\n }\n }\n }, {\n key: \"resize\",\n value: function resize() {\n var initialPosition = this.initialPosition;\n this.position = initialPosition && (0, Utils_1.isPointInside)(initialPosition, this.container.canvas.size) ? initialPosition : this.calcPosition();\n }\n }, {\n key: \"draw\",\n value: function draw(context) {\n context.translate(this.position.x, this.position.y);\n context.beginPath();\n context.arc(0, 0, this.size, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStyle = (0, Utils_1.getStyleFromRgb)(this.color, this.opacity);\n context.fill();\n }\n }, {\n key: \"calcPosition\",\n value: function calcPosition() {\n var _a, _b;\n\n var container = this.container;\n var percentPosition = this.options.position;\n return Vector_1.Vector.create(((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width, ((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height);\n }\n }, {\n key: \"updateParticlePosition\",\n value: function updateParticlePosition(particle, v) {\n var _a;\n\n if (particle.destroyed) {\n return;\n }\n\n var container = this.container;\n var canvasSize = container.canvas.size;\n\n if (particle.needsNewPosition) {\n particle.position.x = Math.floor(Math.random() * canvasSize.width);\n particle.position.y = Math.floor(Math.random() * canvasSize.height);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = Vector_1.Vector.create(0, 0);\n particle.absorberOrbit.length = (0, Utils_1.getDistance)(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = Math.random() * Math.PI * 2;\n }\n\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n var minSize = Math.min(canvasSize.width, canvasSize.height);\n particle.absorberOrbit.length = minSize * (1 + (Math.random() * 0.2 - 0.1));\n }\n\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection = particle.velocity.x >= 0 ? Enums_1.RotateDirection.clockwise : Enums_1.RotateDirection.counterClockwise;\n }\n\n var orbitRadius = particle.absorberOrbit.length;\n var orbitAngle = particle.absorberOrbit.angle;\n var orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.x = 0;\n particle.velocity.y = 0;\n var updateFunc = {\n x: orbitDirection === Enums_1.RotateDirection.clockwise ? Math.cos : Math.sin,\n y: orbitDirection === Enums_1.RotateDirection.clockwise ? Math.sin : Math.cos\n };\n particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);\n particle.absorberOrbit.length -= v.length;\n particle.absorberOrbit.angle += ((_a = particle.retina.moveSpeed) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio / 100 * container.retina.reduceFactor;\n } else {\n var addV = Vector_1.Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n }\n }]);\n\n return AbsorberInstance;\n}();\n\nexports.AbsorberInstance = AbsorberInstance;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Absorbers = void 0;\n\nvar AbsorberInstance_1 = require(\"./AbsorberInstance\");\n\nvar Absorber_1 = require(\"./Options/Classes/Absorber\");\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Absorbers = /*#__PURE__*/function () {\n function Absorbers(container) {\n var _this = this;\n\n _classCallCheck(this, Absorbers);\n\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n var overridableContainer = container;\n\n overridableContainer.getAbsorber = function (idxOrName) {\n return idxOrName === undefined || typeof idxOrName === \"number\" ? _this.array[idxOrName || 0] : _this.array.find(function (t) {\n return t.name === idxOrName;\n });\n };\n\n overridableContainer.addAbsorber = function (options, position) {\n return _this.addAbsorber(options, position);\n };\n }\n\n _createClass(Absorbers, [{\n key: \"init\",\n value: function init(options) {\n var _a, _b;\n\n if (!options) {\n return;\n }\n\n if (options.absorbers) {\n if (options.absorbers instanceof Array) {\n this.absorbers = options.absorbers.map(function (s) {\n var tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.absorbers instanceof Array) {\n this.absorbers = new Absorber_1.Absorber();\n }\n\n this.absorbers.load(options.absorbers);\n }\n }\n\n var interactivityAbsorbers = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = interactivityAbsorbers.map(function (s) {\n var tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = new Absorber_1.Absorber();\n }\n\n this.interactivityAbsorbers.load(interactivityAbsorbers);\n }\n }\n\n if (this.absorbers instanceof Array) {\n var _iterator = _createForOfIteratorHelper(this.absorbers),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var absorberOptions = _step.value;\n this.addAbsorber(absorberOptions);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n this.addAbsorber(this.absorbers);\n }\n }\n }, {\n key: \"particleUpdate\",\n value: function particleUpdate(particle) {\n var _iterator2 = _createForOfIteratorHelper(this.array),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var absorber = _step2.value;\n absorber.attract(particle);\n\n if (particle.destroyed) {\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"draw\",\n value: function draw(context) {\n var _iterator3 = _createForOfIteratorHelper(this.array),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var absorber = _step3.value;\n context.save();\n absorber.draw(context);\n context.restore();\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.array = [];\n }\n }, {\n key: \"resize\",\n value: function resize() {\n var _iterator4 = _createForOfIteratorHelper(this.array),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var absorber = _step4.value;\n absorber.resize();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }, {\n key: \"handleClickMode\",\n value: function handleClickMode(mode) {\n var container = this.container;\n var absorberOptions = this.absorbers;\n var modeAbsorbers = this.interactivityAbsorbers;\n\n if (mode === Enums_1.AbsorberClickMode.absorber) {\n var absorbersModeOptions;\n\n if (modeAbsorbers instanceof Array) {\n if (modeAbsorbers.length > 0) {\n absorbersModeOptions = (0, Utils_1.itemFromArray)(modeAbsorbers);\n }\n } else {\n absorbersModeOptions = modeAbsorbers;\n }\n\n var absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : absorberOptions instanceof Array ? (0, Utils_1.itemFromArray)(absorberOptions) : absorberOptions;\n var aPosition = container.interactivity.mouse.clickPosition;\n this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n }, {\n key: \"addAbsorber\",\n value: function addAbsorber(options, position) {\n var absorber = new AbsorberInstance_1.AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n }, {\n key: \"removeAbsorber\",\n value: function removeAbsorber(absorber) {\n var index = this.array.indexOf(absorber);\n\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n }]);\n\n return Absorbers;\n}();\n\nexports.Absorbers = Absorbers;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AbsorberClickMode = void 0;\nvar AbsorberClickMode;\n\n(function (AbsorberClickMode) {\n AbsorberClickMode[\"absorber\"] = \"absorber\";\n})(AbsorberClickMode = exports.AbsorberClickMode || (exports.AbsorberClickMode = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./AbsorberClickMode\"), exports);","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Absorber = void 0;\n\nvar AbsorberSize_1 = require(\"./AbsorberSize\");\n\nvar OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\n\nvar Absorber = /*#__PURE__*/function () {\n function Absorber() {\n _classCallCheck(this, Absorber);\n\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new AbsorberSize_1.AbsorberSize();\n }\n\n _createClass(Absorber, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n\n this.name = data.name;\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n\n if (data.position !== undefined) {\n this.position = {\n x: data.position.x,\n y: data.position.y\n };\n }\n\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n }]);\n\n return Absorber;\n}();\n\nexports.Absorber = Absorber;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AbsorberSize = void 0;\n\nvar ValueWithRandom_1 = require(\"../../../../Options/Classes/ValueWithRandom\");\n\nvar AbsorberSizeLimit_1 = require(\"./AbsorberSizeLimit\");\n\nvar AbsorberSize = /*#__PURE__*/function (_ValueWithRandom_1$Va) {\n _inherits(AbsorberSize, _ValueWithRandom_1$Va);\n\n var _super = _createSuper(AbsorberSize);\n\n function AbsorberSize() {\n var _this;\n\n _classCallCheck(this, AbsorberSize);\n\n _this = _super.call(this);\n _this.density = 5;\n _this.random.minimumValue = 1;\n _this.value = 50;\n _this.limit = new AbsorberSizeLimit_1.AbsorberSizeLimit();\n return _this;\n }\n\n _createClass(AbsorberSize, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n _get(_getPrototypeOf(AbsorberSize.prototype), \"load\", this).call(this, data);\n\n if (data.density !== undefined) {\n this.density = data.density;\n }\n\n if (typeof data.limit === \"number\") {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n }]);\n\n return AbsorberSize;\n}(ValueWithRandom_1.ValueWithRandom);\n\nexports.AbsorberSize = AbsorberSize;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AbsorberSizeLimit = void 0;\n\nvar AbsorberSizeLimit = /*#__PURE__*/function () {\n function AbsorberSizeLimit() {\n _classCallCheck(this, AbsorberSizeLimit);\n\n this.radius = 0;\n this.mass = 0;\n }\n\n _createClass(AbsorberSizeLimit, [{\n key: \"load\",\n value: function load(data) {\n if (!data) {\n return;\n }\n\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n }]);\n\n return AbsorberSizeLimit;\n}();\n\nexports.AbsorberSizeLimit = AbsorberSizeLimit;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadAbsorbersPlugin = void 0;\n\nvar Absorbers_1 = require(\"./Absorbers\");\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Absorber_1 = require(\"./Options/Classes/Absorber\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Plugin = /*#__PURE__*/function () {\n function Plugin() {\n _classCallCheck(this, Plugin);\n\n this.id = \"absorbers\";\n }\n\n _createClass(Plugin, [{\n key: \"getPlugin\",\n value: function getPlugin(container) {\n return new Absorbers_1.Absorbers(container);\n }\n }, {\n key: \"needsPlugin\",\n value: function needsPlugin(options) {\n var _a, _b, _c;\n\n if (options === undefined) {\n return false;\n }\n\n var absorbers = options.absorbers;\n var loadAbsorbers = false;\n\n if (absorbers instanceof Array) {\n if (absorbers.length) {\n loadAbsorbers = true;\n }\n } else if (absorbers !== undefined) {\n loadAbsorbers = true;\n } else if (((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) && (0, Utils_1.isInArray)(Enums_1.AbsorberClickMode.absorber, options.interactivity.events.onClick.mode)) {\n loadAbsorbers = true;\n }\n\n return loadAbsorbers;\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions(options, source) {\n var _a, _b;\n\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n\n var optionsCast = options;\n\n if (source === null || source === void 0 ? void 0 : source.absorbers) {\n if ((source === null || source === void 0 ? void 0 : source.absorbers) instanceof Array) {\n optionsCast.absorbers = source === null || source === void 0 ? void 0 : source.absorbers.map(function (s) {\n var tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n } else {\n var absorberOptions = optionsCast.absorbers;\n\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.absorbers = absorberOptions = new Absorber_1.Absorber();\n }\n\n absorberOptions.load(source === null || source === void 0 ? void 0 : source.absorbers);\n }\n }\n\n var interactivityAbsorbers = (_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n optionsCast.interactivity.modes.absorbers = interactivityAbsorbers.map(function (s) {\n var tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n } else {\n var _absorberOptions = optionsCast.interactivity.modes.absorbers;\n\n if ((_absorberOptions === null || _absorberOptions === void 0 ? void 0 : _absorberOptions.load) === undefined) {\n optionsCast.interactivity.modes.absorbers = _absorberOptions = new Absorber_1.Absorber();\n }\n\n _absorberOptions.load(interactivityAbsorbers);\n }\n }\n }\n }]);\n\n return Plugin;\n}();\n\nfunction loadAbsorbersPlugin(_x) {\n return _loadAbsorbersPlugin.apply(this, arguments);\n}\n\nfunction _loadAbsorbersPlugin() {\n _loadAbsorbersPlugin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var plugin;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n plugin = new Plugin();\n _context.next = 3;\n return tsParticles.addPlugin(plugin);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadAbsorbersPlugin.apply(this, arguments);\n}\n\nexports.loadAbsorbersPlugin = loadAbsorbersPlugin;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar __classPrivateFieldSet = this && this.__classPrivateFieldSet || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\n\nvar __classPrivateFieldGet = this && this.__classPrivateFieldGet || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\n\nvar _EmitterInstance_firstSpawn, _EmitterInstance_startParticlesAdded;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterInstance = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar EmitterSize_1 = require(\"./Options/Classes/EmitterSize\");\n\nvar ShapeManager_1 = require(\"./ShapeManager\");\n\nvar EmitterInstance = /*#__PURE__*/function () {\n function EmitterInstance(emitters, container, emitterOptions, position) {\n _classCallCheck(this, EmitterInstance);\n\n var _a, _b, _c, _d, _e, _f;\n\n var _g;\n\n this.emitters = emitters;\n this.container = container;\n\n _EmitterInstance_firstSpawn.set(this, void 0);\n\n _EmitterInstance_startParticlesAdded.set(this, void 0);\n\n this.currentDuration = 0;\n this.currentEmitDelay = 0;\n this.currentSpawnDelay = 0;\n this.initialPosition = position;\n this.emitterOptions = (0, Utils_1.deepExtend)({}, emitterOptions);\n this.spawnDelay = ((_a = this.emitterOptions.life.delay) !== null && _a !== void 0 ? _a : 0) * 1000 / this.container.retina.reduceFactor;\n this.position = (_b = this.initialPosition) !== null && _b !== void 0 ? _b : this.calcPosition();\n this.name = emitterOptions.name;\n this.shape = ShapeManager_1.ShapeManager.getShape(emitterOptions.shape);\n this.fill = emitterOptions.fill;\n\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, !this.emitterOptions.life.wait, \"f\");\n\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, false, \"f\");\n\n var particlesOptions = (0, Utils_1.deepExtend)({}, this.emitterOptions.particles);\n particlesOptions !== null && particlesOptions !== void 0 ? particlesOptions : particlesOptions = {};\n (_c = particlesOptions.move) !== null && _c !== void 0 ? _c : particlesOptions.move = {};\n (_d = (_g = particlesOptions.move).direction) !== null && _d !== void 0 ? _d : _g.direction = this.emitterOptions.direction;\n\n if (this.emitterOptions.spawnColor !== undefined) {\n this.spawnColor = (0, Utils_1.colorToHsl)(this.emitterOptions.spawnColor);\n }\n\n this.paused = !this.emitterOptions.autoPlay;\n this.particlesOptions = particlesOptions;\n this.size = (_e = this.emitterOptions.size) !== null && _e !== void 0 ? _e : function () {\n var size = new EmitterSize_1.EmitterSize();\n size.load({\n height: 0,\n mode: Enums_1.SizeMode.percent,\n width: 0\n });\n return size;\n }();\n this.lifeCount = (_f = this.emitterOptions.life.count) !== null && _f !== void 0 ? _f : -1;\n this.immortal = this.lifeCount <= 0;\n this.play();\n }\n\n _createClass(EmitterInstance, [{\n key: \"externalPlay\",\n value: function externalPlay() {\n this.paused = false;\n this.play();\n }\n }, {\n key: \"externalPause\",\n value: function externalPause() {\n this.paused = true;\n this.pause();\n }\n }, {\n key: \"play\",\n value: function play() {\n var _a;\n\n if (this.paused) {\n return;\n }\n\n if (this.container.retina.reduceFactor && (this.lifeCount > 0 || this.immortal || !this.emitterOptions.life.count) && (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\") || this.currentSpawnDelay >= ((_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0))) {\n if (this.emitDelay === undefined) {\n var delay = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.delay);\n this.emitDelay = 1000 * delay / this.container.retina.reduceFactor;\n }\n\n if (this.lifeCount > 0 || this.immortal) {\n this.prepareToDie();\n }\n }\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (this.paused) {\n return;\n }\n\n delete this.emitDelay;\n }\n }, {\n key: \"resize\",\n value: function resize() {\n var initialPosition = this.initialPosition;\n this.position = initialPosition && (0, Utils_1.isPointInside)(initialPosition, this.container.canvas.size) ? initialPosition : this.calcPosition();\n }\n }, {\n key: \"update\",\n value: function update(delta) {\n var _a, _b, _c;\n\n if (this.paused) {\n return;\n }\n\n if (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, false, \"f\");\n\n this.currentSpawnDelay = (_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0;\n this.currentEmitDelay = (_b = this.emitDelay) !== null && _b !== void 0 ? _b : 0;\n }\n\n if (!__classPrivateFieldGet(this, _EmitterInstance_startParticlesAdded, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, true, \"f\");\n\n this.emitParticles(this.emitterOptions.startCount);\n }\n\n if (this.duration !== undefined) {\n this.currentDuration += delta.value;\n\n if (this.currentDuration >= this.duration) {\n this.pause();\n\n if (this.spawnDelay !== undefined) {\n delete this.spawnDelay;\n }\n\n if (!this.immortal) {\n this.lifeCount--;\n }\n\n if (this.lifeCount > 0 || this.immortal) {\n this.position = this.calcPosition();\n this.spawnDelay = ((_c = this.emitterOptions.life.delay) !== null && _c !== void 0 ? _c : 0) * 1000 / this.container.retina.reduceFactor;\n } else {\n this.destroy();\n }\n\n this.currentDuration -= this.duration;\n delete this.duration;\n }\n }\n\n if (this.spawnDelay !== undefined) {\n this.currentSpawnDelay += delta.value;\n\n if (this.currentSpawnDelay >= this.spawnDelay) {\n this.play();\n this.currentSpawnDelay -= this.currentSpawnDelay;\n delete this.spawnDelay;\n }\n }\n\n if (this.emitDelay !== undefined) {\n this.currentEmitDelay += delta.value;\n\n if (this.currentEmitDelay >= this.emitDelay) {\n this.emit();\n this.currentEmitDelay -= this.emitDelay;\n }\n }\n }\n }, {\n key: \"prepareToDie\",\n value: function prepareToDie() {\n var _a;\n\n if (this.paused) {\n return;\n }\n\n var duration = (_a = this.emitterOptions.life) === null || _a === void 0 ? void 0 : _a.duration;\n\n if (this.container.retina.reduceFactor && (this.lifeCount > 0 || this.immortal) && duration !== undefined && duration > 0) {\n this.duration = duration * 1000;\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.emitters.removeEmitter(this);\n }\n }, {\n key: \"calcPosition\",\n value: function calcPosition() {\n var _a, _b;\n\n var container = this.container;\n var percentPosition = this.emitterOptions.position;\n return {\n x: ((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width,\n y: ((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height\n };\n }\n }, {\n key: \"emit\",\n value: function emit() {\n if (this.paused) {\n return;\n }\n\n var quantity = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.quantity);\n this.emitParticles(quantity);\n }\n }, {\n key: \"emitParticles\",\n value: function emitParticles(quantity) {\n var _a, _b, _c;\n\n var container = this.container;\n var position = this.position;\n var offset = {\n x: this.size.mode === Enums_1.SizeMode.percent ? container.canvas.size.width * this.size.width / 100 : this.size.width,\n y: this.size.mode === Enums_1.SizeMode.percent ? container.canvas.size.height * this.size.height / 100 : this.size.height\n };\n\n for (var i = 0; i < quantity; i++) {\n var particlesOptions = (0, Utils_1.deepExtend)({}, this.particlesOptions);\n\n if (this.spawnColor) {\n var colorAnimation = (_a = this.emitterOptions.spawnColor) === null || _a === void 0 ? void 0 : _a.animation;\n\n if (colorAnimation) {\n var hueAnimation = colorAnimation;\n\n if (hueAnimation.enable) {\n this.spawnColor.h = this.setColorAnimation(hueAnimation, this.spawnColor.h, 360);\n } else {\n var hslAnimation = colorAnimation;\n this.spawnColor.h = this.setColorAnimation(hslAnimation.h, this.spawnColor.h, 360);\n this.spawnColor.s = this.setColorAnimation(hslAnimation.s, this.spawnColor.s, 100);\n this.spawnColor.l = this.setColorAnimation(hslAnimation.l, this.spawnColor.l, 100);\n }\n }\n\n if (!particlesOptions.color) {\n particlesOptions.color = {\n value: this.spawnColor\n };\n } else {\n particlesOptions.color.value = this.spawnColor;\n }\n }\n\n var pPosition = (_c = (_b = this.shape) === null || _b === void 0 ? void 0 : _b.randomPosition(position, offset, this.fill)) !== null && _c !== void 0 ? _c : position;\n container.particles.addParticle(pPosition, particlesOptions);\n }\n }\n }, {\n key: \"setColorAnimation\",\n value: function setColorAnimation(animation, initValue, maxValue) {\n var _a;\n\n var container = this.container;\n\n if (!animation.enable) {\n return initValue;\n }\n\n var colorOffset = (0, Utils_1.randomInRange)(animation.offset);\n var delay = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.delay);\n var emitFactor = 1000 * delay / container.retina.reduceFactor;\n var colorSpeed = (_a = animation.speed) !== null && _a !== void 0 ? _a : 0;\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * 3.6) % maxValue;\n }\n }]);\n\n return EmitterInstance;\n}();\n\nexports.EmitterInstance = EmitterInstance;\n_EmitterInstance_firstSpawn = new WeakMap(), _EmitterInstance_startParticlesAdded = new WeakMap();","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Emitters = void 0;\n\nvar EmitterInstance_1 = require(\"./EmitterInstance\");\n\nvar Emitter_1 = require(\"./Options/Classes/Emitter\");\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Emitters = /*#__PURE__*/function () {\n function Emitters(container) {\n var _this = this;\n\n _classCallCheck(this, Emitters);\n\n this.container = container;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = [];\n var overridableContainer = container;\n\n overridableContainer.getEmitter = function (idxOrName) {\n return idxOrName === undefined || typeof idxOrName === \"number\" ? _this.array[idxOrName || 0] : _this.array.find(function (t) {\n return t.name === idxOrName;\n });\n };\n\n overridableContainer.addEmitter = function (options, position) {\n return _this.addEmitter(options, position);\n };\n\n overridableContainer.playEmitter = function (idxOrName) {\n var emitter = overridableContainer.getEmitter(idxOrName);\n\n if (emitter) {\n emitter.externalPlay();\n }\n };\n\n overridableContainer.pauseEmitter = function (idxOrName) {\n var emitter = overridableContainer.getEmitter(idxOrName);\n\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n\n _createClass(Emitters, [{\n key: \"init\",\n value: function init(options) {\n var _a, _b;\n\n if (!options) {\n return;\n }\n\n if (options.emitters) {\n if (options.emitters instanceof Array) {\n this.emitters = options.emitters.map(function (s) {\n var tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.emitters instanceof Array) {\n this.emitters = new Emitter_1.Emitter();\n }\n\n this.emitters.load(options.emitters);\n }\n }\n\n var interactivityEmitters = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n this.interactivityEmitters = interactivityEmitters.map(function (s) {\n var tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n } else {\n if (this.interactivityEmitters instanceof Array) {\n this.interactivityEmitters = new Emitter_1.Emitter();\n }\n\n this.interactivityEmitters.load(interactivityEmitters);\n }\n }\n\n if (this.emitters instanceof Array) {\n var _iterator = _createForOfIteratorHelper(this.emitters),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var emitterOptions = _step.value;\n this.addEmitter(emitterOptions);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n this.addEmitter(this.emitters);\n }\n }\n }, {\n key: \"play\",\n value: function play() {\n var _iterator2 = _createForOfIteratorHelper(this.array),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var emitter = _step2.value;\n emitter.play();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"pause\",\n value: function pause() {\n var _iterator3 = _createForOfIteratorHelper(this.array),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var emitter = _step3.value;\n emitter.pause();\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.array = [];\n }\n }, {\n key: \"update\",\n value: function update(delta) {\n var _iterator4 = _createForOfIteratorHelper(this.array),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var emitter = _step4.value;\n emitter.update(delta);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }, {\n key: \"handleClickMode\",\n value: function handleClickMode(mode) {\n var container = this.container;\n var emitterOptions = this.emitters;\n var modeEmitters = this.interactivityEmitters;\n\n if (mode === Enums_1.EmitterClickMode.emitter) {\n var emitterModeOptions;\n\n if (modeEmitters instanceof Array) {\n if (modeEmitters.length > 0) {\n emitterModeOptions = (0, Utils_1.itemFromArray)(modeEmitters);\n }\n } else {\n emitterModeOptions = modeEmitters;\n }\n\n var emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : emitterOptions instanceof Array ? (0, Utils_1.itemFromArray)(emitterOptions) : emitterOptions;\n var ePosition = container.interactivity.mouse.clickPosition;\n this.addEmitter((0, Utils_1.deepExtend)({}, emittersOptions), ePosition);\n }\n }\n }, {\n key: \"resize\",\n value: function resize() {\n var _iterator5 = _createForOfIteratorHelper(this.array),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var emitter = _step5.value;\n emitter.resize();\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"addEmitter\",\n value: function addEmitter(options, position) {\n var emitter = new EmitterInstance_1.EmitterInstance(this, this.container, options, position);\n this.array.push(emitter);\n return emitter;\n }\n }, {\n key: \"removeEmitter\",\n value: function removeEmitter(emitter) {\n var index = this.array.indexOf(emitter);\n\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n }]);\n\n return Emitters;\n}();\n\nexports.Emitters = Emitters;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterClickMode = void 0;\nvar EmitterClickMode;\n\n(function (EmitterClickMode) {\n EmitterClickMode[\"emitter\"] = \"emitter\";\n})(EmitterClickMode = exports.EmitterClickMode || (exports.EmitterClickMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterShapeType = void 0;\nvar EmitterShapeType;\n\n(function (EmitterShapeType) {\n EmitterShapeType[\"circle\"] = \"circle\";\n EmitterShapeType[\"square\"] = \"square\";\n})(EmitterShapeType = exports.EmitterShapeType || (exports.EmitterShapeType = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./EmitterClickMode\"), exports);\n\n__exportStar(require(\"./EmitterShapeType\"), exports);","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Emitter = void 0;\n\nvar EmitterRate_1 = require(\"./EmitterRate\");\n\nvar EmitterLife_1 = require(\"./EmitterLife\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar EmitterSize_1 = require(\"./EmitterSize\");\n\nvar AnimatableColor_1 = require(\"../../../../Options/Classes/AnimatableColor\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n this.autoPlay = true;\n this.fill = true;\n this.life = new EmitterLife_1.EmitterLife();\n this.rate = new EmitterRate_1.EmitterRate();\n this.shape = Enums_1.EmitterShapeType.square;\n this.startCount = 0;\n }\n\n _createClass(Emitter, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n\n if (data.size !== undefined) {\n if (this.size === undefined) {\n this.size = new EmitterSize_1.EmitterSize();\n }\n\n this.size.load(data.size);\n }\n\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n\n this.life.load(data.life);\n this.name = data.name;\n\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n\n this.rate.load(data.rate);\n\n if (data.shape !== undefined) {\n this.shape = data.shape;\n }\n\n if (data.position !== undefined) {\n this.position = {\n x: data.position.x,\n y: data.position.y\n };\n }\n\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new AnimatableColor_1.AnimatableColor();\n }\n\n this.spawnColor.load(data.spawnColor);\n }\n\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n }]);\n\n return Emitter;\n}();\n\nexports.Emitter = Emitter;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterLife = void 0;\n\nvar EmitterLife = /*#__PURE__*/function () {\n function EmitterLife() {\n _classCallCheck(this, EmitterLife);\n\n this.wait = false;\n }\n\n _createClass(EmitterLife, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.count !== undefined) {\n this.count = data.count;\n }\n\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n }]);\n\n return EmitterLife;\n}();\n\nexports.EmitterLife = EmitterLife;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterRate = void 0;\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar EmitterRate = /*#__PURE__*/function () {\n function EmitterRate() {\n _classCallCheck(this, EmitterRate);\n\n this.quantity = 1;\n this.delay = 0.1;\n }\n\n _createClass(EmitterRate, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.quantity !== undefined) {\n this.quantity = (0, Utils_1.setRangeValue)(data.quantity);\n }\n\n if (data.delay !== undefined) {\n this.delay = (0, Utils_1.setRangeValue)(data.delay);\n }\n }\n }]);\n\n return EmitterRate;\n}();\n\nexports.EmitterRate = EmitterRate;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EmitterSize = void 0;\n\nvar Enums_1 = require(\"../../../../Enums\");\n\nvar EmitterSize = /*#__PURE__*/function () {\n function EmitterSize() {\n _classCallCheck(this, EmitterSize);\n\n this.mode = Enums_1.SizeMode.percent;\n this.height = 0;\n this.width = 0;\n }\n\n _createClass(EmitterSize, [{\n key: \"load\",\n value: function load(data) {\n if (data === undefined) {\n return;\n }\n\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n\n if (data.height !== undefined) {\n this.height = data.height;\n }\n\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n }]);\n\n return EmitterSize;\n}();\n\nexports.EmitterSize = EmitterSize;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ShapeManager = void 0;\nvar shapes = new Map();\n\nvar ShapeManager = /*#__PURE__*/function () {\n function ShapeManager() {\n _classCallCheck(this, ShapeManager);\n }\n\n _createClass(ShapeManager, null, [{\n key: \"addShape\",\n value: function addShape(name, drawer) {\n if (!ShapeManager.getShape(name)) {\n shapes.set(name, drawer);\n }\n }\n }, {\n key: \"getShape\",\n value: function getShape(name) {\n return shapes.get(name);\n }\n }, {\n key: \"getSupportedShapes\",\n value: function getSupportedShapes() {\n return shapes.keys();\n }\n }]);\n\n return ShapeManager;\n}();\n\nexports.ShapeManager = ShapeManager;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CircleShape = void 0;\n\nvar CircleShape = /*#__PURE__*/function () {\n function CircleShape() {\n _classCallCheck(this, CircleShape);\n }\n\n _createClass(CircleShape, [{\n key: \"randomPosition\",\n value: function randomPosition(position, offset, fill) {\n var generateTheta = function generateTheta(x, y) {\n var u = Math.random() / 4.0;\n var theta = Math.atan(y / x * Math.tan(2 * Math.PI * u));\n var v = Math.random();\n\n if (v < 0.25) {\n return theta;\n } else if (v < 0.5) {\n return Math.PI - theta;\n } else if (v < 0.75) {\n return Math.PI + theta;\n } else {\n return -theta;\n }\n };\n\n var radius = function radius(x, y, theta) {\n return x * y / Math.sqrt(Math.pow(y * Math.cos(theta), 2) + Math.pow(x * Math.sin(theta), 2));\n };\n\n var a = offset.x / 2,\n b = offset.y / 2;\n var randomTheta = generateTheta(a, b),\n maxRadius = radius(a, b, randomTheta),\n randomRadius = fill ? maxRadius * Math.sqrt(Math.random()) : maxRadius;\n return {\n x: position.x + randomRadius * Math.cos(randomTheta),\n y: position.y + randomRadius * Math.sin(randomTheta)\n };\n }\n }]);\n\n return CircleShape;\n}();\n\nexports.CircleShape = CircleShape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SquareShape = void 0;\n\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * (Math.random() - 0.5);\n}\n\nvar SquareShape = /*#__PURE__*/function () {\n function SquareShape() {\n _classCallCheck(this, SquareShape);\n }\n\n _createClass(SquareShape, [{\n key: \"randomPosition\",\n value: function randomPosition(position, offset, fill) {\n if (fill) {\n return {\n x: randomSquareCoordinate(position.x, offset.x),\n y: randomSquareCoordinate(position.y, offset.y)\n };\n } else {\n var halfW = offset.x / 2,\n halfH = offset.y / 2,\n side = Math.floor(Math.random() * 4),\n v = (Math.random() - 0.5) * 2;\n\n switch (side) {\n case 0:\n return {\n x: position.x + v * halfW,\n y: position.y - halfH\n };\n\n case 1:\n return {\n x: position.x - halfW,\n y: position.y + v * halfH\n };\n\n case 2:\n return {\n x: position.x + v * halfW,\n y: position.y + halfH\n };\n\n case 3:\n default:\n return {\n x: position.x + halfW,\n y: position.y + v * halfH\n };\n }\n }\n }\n }]);\n\n return SquareShape;\n}();\n\nexports.SquareShape = SquareShape;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadEmittersPlugin = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Emitters_1 = require(\"./Emitters\");\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Emitter_1 = require(\"./Options/Classes/Emitter\");\n\nvar ShapeManager_1 = require(\"./ShapeManager\");\n\nvar CircleShape_1 = require(\"./Shapes/Circle/CircleShape\");\n\nvar SquareShape_1 = require(\"./Shapes/Square/SquareShape\");\n\nvar EmittersPlugin = /*#__PURE__*/function () {\n function EmittersPlugin() {\n _classCallCheck(this, EmittersPlugin);\n\n this.id = \"emitters\";\n }\n\n _createClass(EmittersPlugin, [{\n key: \"getPlugin\",\n value: function getPlugin(container) {\n return new Emitters_1.Emitters(container);\n }\n }, {\n key: \"needsPlugin\",\n value: function needsPlugin(options) {\n var _a, _b, _c;\n\n if (options === undefined) {\n return false;\n }\n\n var emitters = options.emitters;\n return emitters instanceof Array && !!emitters.length || emitters !== undefined || !!((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) && (0, Utils_1.isInArray)(Enums_1.EmitterClickMode.emitter, options.interactivity.events.onClick.mode);\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions(options, source) {\n var _a, _b;\n\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n\n var optionsCast = options;\n\n if (source === null || source === void 0 ? void 0 : source.emitters) {\n if ((source === null || source === void 0 ? void 0 : source.emitters) instanceof Array) {\n optionsCast.emitters = source === null || source === void 0 ? void 0 : source.emitters.map(function (s) {\n var tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n } else {\n var emitterOptions = optionsCast.emitters;\n\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.emitters = emitterOptions = new Emitter_1.Emitter();\n }\n\n emitterOptions.load(source === null || source === void 0 ? void 0 : source.emitters);\n }\n }\n\n var interactivityEmitters = (_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n optionsCast.interactivity.modes.emitters = interactivityEmitters.map(function (s) {\n var tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n } else {\n var _emitterOptions = optionsCast.interactivity.modes.emitters;\n\n if ((_emitterOptions === null || _emitterOptions === void 0 ? void 0 : _emitterOptions.load) === undefined) {\n optionsCast.interactivity.modes.emitters = _emitterOptions = new Emitter_1.Emitter();\n }\n\n _emitterOptions.load(interactivityEmitters);\n }\n }\n }\n }]);\n\n return EmittersPlugin;\n}();\n\nfunction loadEmittersPlugin(_x) {\n return _loadEmittersPlugin.apply(this, arguments);\n}\n\nfunction _loadEmittersPlugin() {\n _loadEmittersPlugin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var plugin;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n plugin = new EmittersPlugin();\n _context.next = 3;\n return tsParticles.addPlugin(plugin);\n\n case 3:\n if (!tsParticles.addEmitterShape) {\n tsParticles.addEmitterShape = function (name, shape) {\n ShapeManager_1.ShapeManager.addShape(name, shape);\n };\n }\n\n tsParticles.addEmitterShape(Enums_1.EmitterShapeType.circle, new CircleShape_1.CircleShape());\n tsParticles.addEmitterShape(Enums_1.EmitterShapeType.square, new SquareShape_1.SquareShape());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadEmittersPlugin.apply(this, arguments);\n}\n\nexports.loadEmittersPlugin = loadEmittersPlugin;\n\n__exportStar(require(\"./EmittersMain\"), exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InlineArrangement = void 0;\nvar InlineArrangement;\n\n(function (InlineArrangement) {\n InlineArrangement[\"equidistant\"] = \"equidistant\";\n InlineArrangement[\"onePerPoint\"] = \"one-per-point\";\n InlineArrangement[\"perPoint\"] = \"per-point\";\n InlineArrangement[\"randomLength\"] = \"random-length\";\n InlineArrangement[\"randomPoint\"] = \"random-point\";\n})(InlineArrangement = exports.InlineArrangement || (exports.InlineArrangement = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MoveType = void 0;\nvar MoveType;\n\n(function (MoveType) {\n MoveType[\"path\"] = \"path\";\n MoveType[\"radius\"] = \"radius\";\n})(MoveType = exports.MoveType || (exports.MoveType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type = void 0;\nvar Type;\n\n(function (Type) {\n Type[\"inline\"] = \"inline\";\n Type[\"inside\"] = \"inside\";\n Type[\"outside\"] = \"outside\";\n Type[\"none\"] = \"none\";\n})(Type = exports.Type || (exports.Type = {}));","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./InlineArrangement\"), exports);\n\n__exportStar(require(\"./MoveType\"), exports);\n\n__exportStar(require(\"./Type\"), exports);","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Draw = void 0;\n\nvar DrawStroke_1 = require(\"./DrawStroke\");\n\nvar OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\n\nvar Draw = /*#__PURE__*/function () {\n function Draw() {\n _classCallCheck(this, Draw);\n\n this.enable = false;\n this.stroke = new DrawStroke_1.DrawStroke();\n }\n\n _createClass(Draw, [{\n key: \"lineWidth\",\n get: function get() {\n return this.stroke.width;\n },\n set: function set(value) {\n this.stroke.width = value;\n }\n }, {\n key: \"lineColor\",\n get: function get() {\n return this.stroke.color;\n },\n set: function set(value) {\n this.stroke.color = OptionsColor_1.OptionsColor.create(this.stroke.color, value);\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data !== undefined) {\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n\n var stroke = (_a = data.stroke) !== null && _a !== void 0 ? _a : {\n color: data.lineColor,\n width: data.lineWidth\n };\n this.stroke.load(stroke);\n }\n }\n }]);\n\n return Draw;\n}();\n\nexports.Draw = Draw;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DrawStroke = void 0;\n\nvar OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar DrawStroke = /*#__PURE__*/function () {\n function DrawStroke() {\n _classCallCheck(this, DrawStroke);\n\n this.color = new OptionsColor_1.OptionsColor();\n this.width = 0.5;\n this.opacity = 1;\n }\n\n _createClass(DrawStroke, [{\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n\n if (typeof this.color.value === \"string\") {\n this.opacity = (_a = (0, Utils_1.stringToAlpha)(this.color.value)) !== null && _a !== void 0 ? _a : this.opacity;\n }\n\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n }\n }]);\n\n return DrawStroke;\n}();\n\nexports.DrawStroke = DrawStroke;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Inline = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Inline = /*#__PURE__*/function () {\n function Inline() {\n _classCallCheck(this, Inline);\n\n this.arrangement = Enums_1.InlineArrangement.onePerPoint;\n }\n\n _createClass(Inline, [{\n key: \"load\",\n value: function load(data) {\n if (data !== undefined) {\n if (data.arrangement !== undefined) {\n this.arrangement = data.arrangement;\n }\n }\n }\n }]);\n\n return Inline;\n}();\n\nexports.Inline = Inline;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalSvg = void 0;\n\nvar LocalSvg = /*#__PURE__*/function () {\n function LocalSvg() {\n _classCallCheck(this, LocalSvg);\n\n this.path = [];\n this.size = {\n height: 0,\n width: 0\n };\n }\n\n _createClass(LocalSvg, [{\n key: \"load\",\n value: function load(data) {\n if (data !== undefined) {\n if (data.path !== undefined) {\n this.path = data.path;\n }\n\n if (data.size !== undefined) {\n if (data.size.width !== undefined) {\n this.size.width = data.size.width;\n }\n\n if (data.size.height !== undefined) {\n this.size.height = data.size.height;\n }\n }\n }\n }\n }]);\n\n return LocalSvg;\n}();\n\nexports.LocalSvg = LocalSvg;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Move = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Move = /*#__PURE__*/function () {\n function Move() {\n _classCallCheck(this, Move);\n\n this.radius = 10;\n this.type = Enums_1.MoveType.path;\n }\n\n _createClass(Move, [{\n key: \"load\",\n value: function load(data) {\n if (data !== undefined) {\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n }\n }]);\n\n return Move;\n}();\n\nexports.Move = Move;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PolygonMask = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Draw_1 = require(\"./Draw\");\n\nvar Move_1 = require(\"./Move\");\n\nvar Inline_1 = require(\"./Inline\");\n\nvar LocalSvg_1 = require(\"./LocalSvg\");\n\nvar Utils_1 = require(\"../../../../Utils\");\n\nvar PolygonMask = /*#__PURE__*/function () {\n function PolygonMask() {\n _classCallCheck(this, PolygonMask);\n\n this.draw = new Draw_1.Draw();\n this.enable = false;\n this.inline = new Inline_1.Inline();\n this.move = new Move_1.Move();\n this.scale = 1;\n this.type = Enums_1.Type.none;\n }\n\n _createClass(PolygonMask, [{\n key: \"inlineArrangement\",\n get: function get() {\n return this.inline.arrangement;\n },\n set: function set(value) {\n this.inline.arrangement = value;\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _a;\n\n if (data !== undefined) {\n this.draw.load(data.draw);\n var inline = (_a = data.inline) !== null && _a !== void 0 ? _a : {\n arrangement: data.inlineArrangement\n };\n\n if (inline !== undefined) {\n this.inline.load(inline);\n }\n\n this.move.load(data.move);\n\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n\n if (data.type !== undefined) {\n this.type = data.type;\n }\n\n if (data.enable !== undefined) {\n this.enable = data.enable;\n } else {\n this.enable = this.type !== Enums_1.Type.none;\n }\n\n if (data.url !== undefined) {\n this.url = data.url;\n }\n\n if (data.data !== undefined) {\n if (typeof data.data === \"string\") {\n this.data = data.data;\n } else {\n this.data = new LocalSvg_1.LocalSvg();\n this.data.load(data.data);\n }\n }\n\n if (data.position !== undefined) {\n this.position = (0, Utils_1.deepExtend)({}, data.position);\n }\n }\n }\n }]);\n\n return PolygonMask;\n}();\n\nexports.PolygonMask = PolygonMask;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PolygonMaskInstance = void 0;\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar PolygonMask_1 = require(\"./Options/Classes/PolygonMask\");\n\nvar Enums_2 = require(\"../../Enums\");\n\nvar utils_1 = require(\"./utils\");\n\nvar PolygonMaskInstance = /*#__PURE__*/function () {\n function PolygonMaskInstance(container) {\n _classCallCheck(this, PolygonMaskInstance);\n\n this.container = container;\n this.dimension = {\n height: 0,\n width: 0\n };\n this.path2DSupported = !!window.Path2D;\n this.options = new PolygonMask_1.PolygonMask();\n this.polygonMaskMoveRadius = this.options.move.radius * container.retina.pixelRatio;\n }\n\n _createClass(PolygonMaskInstance, [{\n key: \"initAsync\",\n value: function () {\n var _initAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options) {\n var polygonMaskOptions;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.options.load(options === null || options === void 0 ? void 0 : options.polygon);\n polygonMaskOptions = this.options;\n this.polygonMaskMoveRadius = polygonMaskOptions.move.radius * this.container.retina.pixelRatio;\n\n if (!polygonMaskOptions.enable) {\n _context.next = 6;\n break;\n }\n\n _context.next = 6;\n return this.initRawData();\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function initAsync(_x) {\n return _initAsync.apply(this, arguments);\n }\n\n return initAsync;\n }()\n }, {\n key: \"resize\",\n value: function resize() {\n var _this = this;\n\n var container = this.container;\n var options = this.options;\n\n if (!(options.enable && options.type !== Enums_1.Type.none)) {\n return;\n }\n\n if (this.redrawTimeout) {\n clearTimeout(this.redrawTimeout);\n }\n\n this.redrawTimeout = window.setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this.initRawData(true);\n\n case 2:\n container.particles.redraw();\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })), 250);\n }\n }, {\n key: \"stop\",\n value: function stop() {\n delete this.raw;\n delete this.paths;\n }\n }, {\n key: \"particlesInitialization\",\n value: function particlesInitialization() {\n var options = this.options;\n\n if (options.enable && options.type === Enums_1.Type.inline && (options.inline.arrangement === Enums_1.InlineArrangement.onePerPoint || options.inline.arrangement === Enums_1.InlineArrangement.perPoint)) {\n this.drawPoints();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"particlePosition\",\n value: function particlePosition(position) {\n var _a, _b;\n\n var options = this.options;\n\n if (!(options.enable && ((_b = (_a = this.raw) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0)) {\n return;\n }\n\n return (0, Utils_1.deepExtend)({}, position ? position : this.randomPoint());\n }\n }, {\n key: \"particleBounce\",\n value: function particleBounce(particle, delta, direction) {\n return this.polygonBounce(particle, delta, direction);\n }\n }, {\n key: \"clickPositionValid\",\n value: function clickPositionValid(position) {\n var options = this.options;\n return options.enable && options.type !== Enums_1.Type.none && options.type !== Enums_1.Type.inline && this.checkInsidePolygon(position);\n }\n }, {\n key: \"draw\",\n value: function draw(context) {\n var _a;\n\n if (!((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n\n var options = this.options;\n var polygonDraw = options.draw;\n\n if (!(options.enable && polygonDraw.enable)) {\n return;\n }\n\n var rawData = this.raw;\n\n var _iterator = _createForOfIteratorHelper(this.paths),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var path = _step.value;\n var path2d = path.path2d;\n var path2dSupported = this.path2DSupported;\n\n if (!context) {\n continue;\n }\n\n if (path2dSupported && path2d && this.offset) {\n (0, utils_1.drawPolygonMaskPath)(context, path2d, polygonDraw.stroke, this.offset);\n } else if (rawData) {\n (0, utils_1.drawPolygonMask)(context, rawData, polygonDraw.stroke);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"polygonBounce\",\n value: function polygonBounce(particle, _delta, direction) {\n var options = this.options;\n\n if (!this.raw || !options.enable || direction !== Enums_2.OutModeDirection.top) {\n return false;\n }\n\n if (options.type === Enums_1.Type.inside || options.type === Enums_1.Type.outside) {\n var closest, dx, dy;\n var pos = particle.getPosition(),\n radius = particle.getRadius();\n\n for (var i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n var pi = this.raw[i],\n pj = this.raw[j];\n closest = (0, utils_1.calcClosestPtOnSegment)(pi, pj, pos);\n var dist = (0, Utils_1.getDistances)(pos, closest);\n var _ref2 = [dist.dx, dist.dy];\n dx = _ref2[0];\n dy = _ref2[1];\n\n if (dist.distance < radius) {\n (0, utils_1.segmentBounce)(pi, pj, particle.velocity);\n return true;\n }\n }\n\n if (closest && dx !== undefined && dy !== undefined && !this.checkInsidePolygon(pos)) {\n var factor = {\n x: 1,\n y: 1\n };\n\n if (particle.position.x >= closest.x) {\n factor.x = -1;\n }\n\n if (particle.position.y >= closest.y) {\n factor.y = -1;\n }\n\n particle.position.x = closest.x + radius * 2 * factor.x;\n particle.position.y = closest.y + radius * 2 * factor.y;\n particle.velocity.mult(-1);\n return true;\n }\n } else if (options.type === Enums_1.Type.inline && particle.initialPosition) {\n var _dist = (0, Utils_1.getDistance)(particle.initialPosition, particle.getPosition());\n\n if (_dist > this.polygonMaskMoveRadius) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"checkInsidePolygon\",\n value: function checkInsidePolygon(position) {\n var _a, _b;\n\n var container = this.container;\n var options = this.options;\n\n if (!options.enable || options.type === Enums_1.Type.none || options.type === Enums_1.Type.inline) {\n return true;\n }\n\n if (!this.raw) {\n throw new Error(Utils_1.Constants.noPolygonFound);\n }\n\n var canvasSize = container.canvas.size;\n var x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width;\n var y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height;\n var inside = false;\n\n for (var i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n var pi = this.raw[i];\n var pj = this.raw[j];\n var intersect = pi.y > y !== pj.y > y && x < (pj.x - pi.x) * (y - pi.y) / (pj.y - pi.y) + pi.x;\n\n if (intersect) {\n inside = !inside;\n }\n }\n\n return options.type === Enums_1.Type.inside ? inside : options.type === Enums_1.Type.outside ? !inside : false;\n }\n }, {\n key: \"parseSvgPath\",\n value: function parseSvgPath(xml, force) {\n var _a, _b, _c;\n\n var forceDownload = force !== null && force !== void 0 ? force : false;\n\n if (this.paths !== undefined && !forceDownload) {\n return this.raw;\n }\n\n var container = this.container;\n var options = this.options;\n var parser = new DOMParser();\n var doc = parser.parseFromString(xml, \"image/svg+xml\");\n var svg = doc.getElementsByTagName(\"svg\")[0];\n var svgPaths = svg.getElementsByTagName(\"path\");\n\n if (!svgPaths.length) {\n svgPaths = doc.getElementsByTagName(\"path\");\n }\n\n this.paths = [];\n\n for (var i = 0; i < svgPaths.length; i++) {\n var path = svgPaths.item(i);\n\n if (path) {\n this.paths.push({\n element: path,\n length: path.getTotalLength()\n });\n }\n }\n\n var pxRatio = container.retina.pixelRatio;\n var scale = options.scale / pxRatio;\n this.dimension.width = parseFloat((_a = svg.getAttribute(\"width\")) !== null && _a !== void 0 ? _a : \"0\") * scale;\n this.dimension.height = parseFloat((_b = svg.getAttribute(\"height\")) !== null && _b !== void 0 ? _b : \"0\") * scale;\n var position = (_c = options.position) !== null && _c !== void 0 ? _c : {\n x: 50,\n y: 50\n };\n this.offset = {\n x: container.canvas.size.width * position.x / (100 * pxRatio) - this.dimension.width / 2,\n y: container.canvas.size.height * position.y / (100 * pxRatio) - this.dimension.height / 2\n };\n return (0, utils_1.parsePaths)(this.paths, scale, this.offset);\n }\n }, {\n key: \"downloadSvgPath\",\n value: function () {\n var _downloadSvgPath = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(svgUrl, force) {\n var options, url, forceDownload, req;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n options = this.options;\n url = svgUrl || options.url;\n forceDownload = force !== null && force !== void 0 ? force : false;\n\n if (!(!url || this.paths !== undefined && !forceDownload)) {\n _context3.next = 5;\n break;\n }\n\n return _context3.abrupt(\"return\", this.raw);\n\n case 5:\n _context3.next = 7;\n return fetch(url);\n\n case 7:\n req = _context3.sent;\n\n if (req.ok) {\n _context3.next = 10;\n break;\n }\n\n throw new Error(\"tsParticles Error - Error occurred during polygon mask download\");\n\n case 10:\n _context3.t0 = this;\n _context3.next = 13;\n return req.text();\n\n case 13:\n _context3.t1 = _context3.sent;\n _context3.t2 = force;\n return _context3.abrupt(\"return\", _context3.t0.parseSvgPath.call(_context3.t0, _context3.t1, _context3.t2));\n\n case 16:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function downloadSvgPath(_x2, _x3) {\n return _downloadSvgPath.apply(this, arguments);\n }\n\n return downloadSvgPath;\n }()\n }, {\n key: \"drawPoints\",\n value: function drawPoints() {\n if (!this.raw) {\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.raw),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var item = _step2.value;\n this.container.particles.addParticle({\n x: item.x,\n y: item.y\n });\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"randomPoint\",\n value: function randomPoint() {\n var container = this.container;\n var options = this.options;\n var position;\n\n if (options.type === Enums_1.Type.inline) {\n switch (options.inline.arrangement) {\n case Enums_1.InlineArrangement.randomPoint:\n position = this.getRandomPoint();\n break;\n\n case Enums_1.InlineArrangement.randomLength:\n position = this.getRandomPointByLength();\n break;\n\n case Enums_1.InlineArrangement.equidistant:\n position = this.getEquidistantPointByIndex(container.particles.count);\n break;\n\n case Enums_1.InlineArrangement.onePerPoint:\n case Enums_1.InlineArrangement.perPoint:\n default:\n position = this.getPointByIndex(container.particles.count);\n }\n } else {\n position = {\n x: Math.random() * container.canvas.size.width,\n y: Math.random() * container.canvas.size.height\n };\n }\n\n if (this.checkInsidePolygon(position)) {\n return position;\n } else {\n return this.randomPoint();\n }\n }\n }, {\n key: \"getRandomPoint\",\n value: function getRandomPoint() {\n if (!this.raw || !this.raw.length) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n\n var coords = (0, Utils_1.itemFromArray)(this.raw);\n return {\n x: coords.x,\n y: coords.y\n };\n }\n }, {\n key: \"getRandomPointByLength\",\n value: function getRandomPointByLength() {\n var _a, _b, _c;\n\n var options = this.options;\n\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n\n var path = (0, Utils_1.itemFromArray)(this.paths);\n var distance = Math.floor(Math.random() * path.length) + 1;\n var point = path.element.getPointAtLength(distance);\n return {\n x: point.x * options.scale + (((_b = this.offset) === null || _b === void 0 ? void 0 : _b.x) || 0),\n y: point.y * options.scale + (((_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) || 0)\n };\n }\n }, {\n key: \"getEquidistantPointByIndex\",\n value: function getEquidistantPointByIndex(index) {\n var _a, _b, _c, _d, _e, _f, _g;\n\n var options = this.container.actualOptions;\n var polygonMaskOptions = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n var offset = 0;\n var point;\n var totalLength = this.paths.reduce(function (tot, path) {\n return tot + path.length;\n }, 0);\n var distance = totalLength / options.particles.number.value;\n\n var _iterator3 = _createForOfIteratorHelper(this.paths),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var path = _step3.value;\n var pathDistance = distance * index - offset;\n\n if (pathDistance <= path.length) {\n point = path.element.getPointAtLength(pathDistance);\n break;\n } else {\n offset += path.length;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return {\n x: ((_b = point === null || point === void 0 ? void 0 : point.x) !== null && _b !== void 0 ? _b : 0) * polygonMaskOptions.scale + ((_d = (_c = this.offset) === null || _c === void 0 ? void 0 : _c.x) !== null && _d !== void 0 ? _d : 0),\n y: ((_e = point === null || point === void 0 ? void 0 : point.y) !== null && _e !== void 0 ? _e : 0) * polygonMaskOptions.scale + ((_g = (_f = this.offset) === null || _f === void 0 ? void 0 : _f.y) !== null && _g !== void 0 ? _g : 0)\n };\n }\n }, {\n key: \"getPointByIndex\",\n value: function getPointByIndex(index) {\n if (!this.raw || !this.raw.length) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n\n var coords = this.raw[index % this.raw.length];\n return {\n x: coords.x,\n y: coords.y\n };\n }\n }, {\n key: \"createPath2D\",\n value: function createPath2D() {\n var _this2 = this;\n\n var _a, _b;\n\n var options = this.options;\n\n if (!this.path2DSupported || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n\n var _iterator4 = _createForOfIteratorHelper(this.paths),\n _step4;\n\n try {\n var _loop = function _loop() {\n var path = _step4.value;\n var pathData = (_b = path.element) === null || _b === void 0 ? void 0 : _b.getAttribute(\"d\");\n\n if (pathData) {\n var path2d = new Path2D(pathData);\n var matrix = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGMatrix();\n var finalPath = new Path2D();\n var transform = matrix.scale(options.scale);\n\n if (finalPath.addPath) {\n finalPath.addPath(path2d, transform);\n path.path2d = finalPath;\n } else {\n delete path.path2d;\n }\n } else {\n delete path.path2d;\n }\n\n if (path.path2d || !_this2.raw) {\n return \"continue\";\n }\n\n path.path2d = new Path2D();\n path.path2d.moveTo(_this2.raw[0].x, _this2.raw[0].y);\n\n _this2.raw.forEach(function (pos, i) {\n var _a;\n\n if (i > 0) {\n (_a = path.path2d) === null || _a === void 0 ? void 0 : _a.lineTo(pos.x, pos.y);\n }\n });\n\n path.path2d.closePath();\n };\n\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }, {\n key: \"initRawData\",\n value: function () {\n var _initRawData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(force) {\n var options, data, svg, path, namespaces;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n options = this.options;\n\n if (!options.url) {\n _context4.next = 7;\n break;\n }\n\n _context4.next = 4;\n return this.downloadSvgPath(options.url, force);\n\n case 4:\n this.raw = _context4.sent;\n _context4.next = 8;\n break;\n\n case 7:\n if (options.data) {\n data = options.data;\n\n if (typeof data !== \"string\") {\n path = data.path instanceof Array ? data.path.map(function (t) {\n return \"\");\n }).join(\"\") : \"\");\n namespaces = 'xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n svg = \"\").concat(path, \"\");\n } else {\n svg = data;\n }\n\n this.raw = this.parseSvgPath(svg, force);\n }\n\n case 8:\n this.createPath2D();\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function initRawData(_x4) {\n return _initRawData.apply(this, arguments);\n }\n\n return initRawData;\n }()\n }]);\n\n return PolygonMaskInstance;\n}();\n\nexports.PolygonMaskInstance = PolygonMaskInstance;","\"use strict\";\n\n(function () {\n \"use strict\";\n\n try {\n if (typeof window === \"undefined\") return;\n\n if (!(\"SVGPathSeg\" in window)) {\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\n\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window) || !(\"appendItem\" in window.SVGPathSegList.prototype)) {\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n this._mutationObserverConfig = {\n attributes: true,\n attributeFilter: [\"d\"]\n };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegList.prototype, \"length\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n };\n\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n\n this._list = [];\n\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (index > this.numberOfItems) index = this.numberOfItems;\n\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n\n this._list.splice(index, 0, newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n\n this._checkValidIndex(index);\n\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n var item = this._list[index];\n\n this._list.splice(index, 1);\n\n this._writeListToPath();\n\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n\n this._list.push(newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n };\n\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n\n this._skipOptionalSpaces();\n }\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType();\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n };\n\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces();\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\") return undefined;\n var startIntPartIndex = this._currentIndex;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n }\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n }\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++;\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n }\n\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++;\n\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n }\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n if (exponent) number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n\n var flagChar = this._string.charAt(this._currentIndex++);\n\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n\n var command = this._pathSegTypeFromChar(lookahead);\n\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n\n return new window.SVGPathSegClosePath(owningPathSegList);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo()) return [];\n\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n } catch (e) {\n console.warn(\"An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles\", e);\n }\n})();","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadPolygonMaskPlugin = void 0;\n\nvar PolygonMaskInstance_1 = require(\"./PolygonMaskInstance\");\n\nvar PolygonMask_1 = require(\"./Options/Classes/PolygonMask\");\n\nvar Enums_1 = require(\"./Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Plugin = /*#__PURE__*/function () {\n function Plugin() {\n _classCallCheck(this, Plugin);\n\n this.id = \"polygonMask\";\n }\n\n _createClass(Plugin, [{\n key: \"getPlugin\",\n value: function getPlugin(container) {\n return new PolygonMaskInstance_1.PolygonMaskInstance(container);\n }\n }, {\n key: \"needsPlugin\",\n value: function needsPlugin(options) {\n var _a, _b, _c;\n\n return (_b = (_a = options === null || options === void 0 ? void 0 : options.polygon) === null || _a === void 0 ? void 0 : _a.enable) !== null && _b !== void 0 ? _b : ((_c = options === null || options === void 0 ? void 0 : options.polygon) === null || _c === void 0 ? void 0 : _c.type) !== undefined && options.polygon.type !== Enums_1.Type.none;\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions(options, source) {\n if (!this.needsPlugin(source)) {\n return;\n }\n\n var optionsCast = options;\n var polygonOptions = optionsCast.polygon;\n\n if ((polygonOptions === null || polygonOptions === void 0 ? void 0 : polygonOptions.load) === undefined) {\n optionsCast.polygon = polygonOptions = new PolygonMask_1.PolygonMask();\n }\n\n polygonOptions.load(source === null || source === void 0 ? void 0 : source.polygon);\n }\n }]);\n\n return Plugin;\n}();\n\nfunction loadPolygonMaskPlugin(_x) {\n return _loadPolygonMaskPlugin.apply(this, arguments);\n}\n\nfunction _loadPolygonMaskPlugin() {\n _loadPolygonMaskPlugin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var plugin;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(!(0, Utils_1.isSsr)() && !window.SVGPathSeg)) {\n _context.next = 3;\n break;\n }\n\n _context.next = 3;\n return Promise.resolve().then(function () {\n return __importStar(require(\"./pathseg\"));\n });\n\n case 3:\n plugin = new Plugin();\n _context.next = 6;\n return tsParticles.addPlugin(plugin);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadPolygonMaskPlugin.apply(this, arguments);\n}\n\nexports.loadPolygonMaskPlugin = loadPolygonMaskPlugin;","\"use strict\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.segmentBounce = exports.calcClosestPtOnSegment = exports.parsePaths = exports.drawPolygonMaskPath = exports.drawPolygonMask = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction drawPolygonMask(context, rawData, stroke) {\n var color = (0, Utils_1.colorToRgb)(stroke.color);\n\n if (!color) {\n return;\n }\n\n context.beginPath();\n context.moveTo(rawData[0].x, rawData[0].y);\n\n var _iterator = _createForOfIteratorHelper(rawData),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n context.lineTo(item.x, item.y);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n context.closePath();\n context.strokeStyle = (0, Utils_1.getStyleFromRgb)(color);\n context.lineWidth = stroke.width;\n context.stroke();\n}\n\nexports.drawPolygonMask = drawPolygonMask;\n\nfunction drawPolygonMaskPath(context, path, stroke, position) {\n context.translate(position.x, position.y);\n var color = (0, Utils_1.colorToRgb)(stroke.color);\n\n if (!color) {\n return;\n }\n\n context.strokeStyle = (0, Utils_1.getStyleFromRgb)(color, stroke.opacity);\n context.lineWidth = stroke.width;\n context.stroke(path);\n}\n\nexports.drawPolygonMaskPath = drawPolygonMaskPath;\n\nfunction parsePaths(paths, scale, offset) {\n var _a;\n\n var res = [];\n\n var _iterator2 = _createForOfIteratorHelper(paths),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var path = _step2.value;\n var segments = path.element.pathSegList;\n var len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0;\n var p = {\n x: 0,\n y: 0\n };\n\n for (var i = 0; i < len; i++) {\n var segment = segments === null || segments === void 0 ? void 0 : segments.getItem(i);\n var svgPathSeg = window.SVGPathSeg;\n\n switch (segment === null || segment === void 0 ? void 0 : segment.pathSegType) {\n case svgPathSeg.PATHSEG_MOVETO_ABS:\n case svgPathSeg.PATHSEG_LINETO_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n case svgPathSeg.PATHSEG_ARC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n {\n var absSeg = segment;\n p.x = absSeg.x;\n p.y = absSeg.y;\n break;\n }\n\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n p.x = segment.x;\n break;\n\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n p.y = segment.y;\n break;\n\n case svgPathSeg.PATHSEG_LINETO_REL:\n case svgPathSeg.PATHSEG_MOVETO_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n case svgPathSeg.PATHSEG_ARC_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n {\n var relSeg = segment;\n p.x += relSeg.x;\n p.y += relSeg.y;\n break;\n }\n\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n p.x += segment.x;\n break;\n\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n p.y += segment.y;\n break;\n\n case svgPathSeg.PATHSEG_UNKNOWN:\n case svgPathSeg.PATHSEG_CLOSEPATH:\n continue;\n }\n\n res.push({\n x: p.x * scale + offset.x,\n y: p.y * scale + offset.y\n });\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return res;\n}\n\nexports.parsePaths = parsePaths;\n\nfunction calcClosestPtOnSegment(s1, s2, pos) {\n var _ref = (0, Utils_1.getDistances)(pos, s1),\n dx = _ref.dx,\n dy = _ref.dy;\n\n var _ref2 = (0, Utils_1.getDistances)(s2, s1),\n dxx = _ref2.dx,\n dyy = _ref2.dy;\n\n var t = (dx * dxx + dy * dyy) / (Math.pow(dxx, 2) + Math.pow(dyy, 2));\n var x = s1.x + dxx * t;\n var y = s1.y + dyy * t;\n\n if (t < 0) {\n x = s1.x;\n y = s1.y;\n } else if (t > 1) {\n x = s2.x;\n y = s2.y;\n }\n\n return {\n x: x,\n y: y,\n isOnSegment: t >= 0 && t <= 1\n };\n}\n\nexports.calcClosestPtOnSegment = calcClosestPtOnSegment;\n\nfunction segmentBounce(start, stop, velocity) {\n var _ref3 = (0, Utils_1.getDistances)(start, stop),\n dx = _ref3.dx,\n dy = _ref3.dy;\n\n var wallAngle = Math.atan2(dy, dx);\n var wallNormalX = Math.sin(wallAngle);\n var wallNormalY = -Math.cos(wallAngle);\n var d = 2 * (velocity.x * wallNormalX + velocity.y * wallNormalY);\n velocity.x -= d * wallNormalX;\n velocity.y -= d * wallNormalY;\n}\n\nexports.segmentBounce = segmentBounce;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CircleDrawer = void 0;\n\nvar CircleDrawer = /*#__PURE__*/function () {\n function CircleDrawer() {\n _classCallCheck(this, CircleDrawer);\n }\n\n _createClass(CircleDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 12;\n }\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius) {\n context.arc(0, 0, radius, 0, Math.PI * 2, false);\n }\n }]);\n\n return CircleDrawer;\n}();\n\nexports.CircleDrawer = CircleDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadCircleShape = void 0;\n\nvar CircleDrawer_1 = require(\"./CircleDrawer\");\n\nfunction loadCircleShape(_x) {\n return _loadCircleShape.apply(this, arguments);\n}\n\nfunction _loadCircleShape() {\n _loadCircleShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addShape(\"circle\", new CircleDrawer_1.CircleDrawer());\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadCircleShape.apply(this, arguments);\n}\n\nexports.loadCircleShape = loadCircleShape;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar __classPrivateFieldSet = this && this.__classPrivateFieldSet || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\n\nvar __classPrivateFieldGet = this && this.__classPrivateFieldGet || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\n\nvar _ImageDrawer_images;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ImageDrawer = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_2 = require(\"./Utils\");\n\nvar ImageDrawer = /*#__PURE__*/function () {\n function ImageDrawer() {\n _classCallCheck(this, ImageDrawer);\n\n _ImageDrawer_images.set(this, void 0);\n\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n\n _createClass(ImageDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 12;\n }\n }, {\n key: \"getImages\",\n value: function getImages(container) {\n var containerImages = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").find(function (t) {\n return t.id === container.id;\n });\n\n if (!containerImages) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").push({\n id: container.id,\n images: []\n });\n\n return this.getImages(container);\n } else {\n return containerImages;\n }\n }\n }, {\n key: \"addImage\",\n value: function addImage(container, image) {\n var containerImages = this.getImages(container);\n containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);\n }\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(container) {\n var _iterator, _step, manualParticle, emitterOptions, _iterator2, _step2, emitter, interactiveEmitters, _iterator3, _step3, _emitter;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.loadImagesFromParticlesOptions(container, container.actualOptions.particles);\n\n case 2:\n _context.next = 4;\n return this.loadImagesFromParticlesOptions(container, container.actualOptions.interactivity.modes.trail.particles);\n\n case 4:\n _iterator = _createForOfIteratorHelper(container.actualOptions.manualParticles);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 13;\n break;\n }\n\n manualParticle = _step.value;\n _context.next = 11;\n return this.loadImagesFromParticlesOptions(container, manualParticle.options);\n\n case 11:\n _context.next = 7;\n break;\n\n case 13:\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](5);\n\n _iterator.e(_context.t0);\n\n case 18:\n _context.prev = 18;\n\n _iterator.f();\n\n return _context.finish(18);\n\n case 21:\n emitterOptions = container.actualOptions;\n\n if (!emitterOptions.emitters) {\n _context.next = 45;\n break;\n }\n\n if (!(emitterOptions.emitters instanceof Array)) {\n _context.next = 43;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(emitterOptions.emitters);\n _context.prev = 25;\n\n _iterator2.s();\n\n case 27:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 33;\n break;\n }\n\n emitter = _step2.value;\n _context.next = 31;\n return this.loadImagesFromParticlesOptions(container, emitter.particles);\n\n case 31:\n _context.next = 27;\n break;\n\n case 33:\n _context.next = 38;\n break;\n\n case 35:\n _context.prev = 35;\n _context.t1 = _context[\"catch\"](25);\n\n _iterator2.e(_context.t1);\n\n case 38:\n _context.prev = 38;\n\n _iterator2.f();\n\n return _context.finish(38);\n\n case 41:\n _context.next = 45;\n break;\n\n case 43:\n _context.next = 45;\n return this.loadImagesFromParticlesOptions(container, emitterOptions.emitters.particles);\n\n case 45:\n interactiveEmitters = emitterOptions.interactivity.modes.emitters;\n\n if (!interactiveEmitters) {\n _context.next = 69;\n break;\n }\n\n if (!(interactiveEmitters instanceof Array)) {\n _context.next = 67;\n break;\n }\n\n _iterator3 = _createForOfIteratorHelper(interactiveEmitters);\n _context.prev = 49;\n\n _iterator3.s();\n\n case 51:\n if ((_step3 = _iterator3.n()).done) {\n _context.next = 57;\n break;\n }\n\n _emitter = _step3.value;\n _context.next = 55;\n return this.loadImagesFromParticlesOptions(container, _emitter.particles);\n\n case 55:\n _context.next = 51;\n break;\n\n case 57:\n _context.next = 62;\n break;\n\n case 59:\n _context.prev = 59;\n _context.t2 = _context[\"catch\"](49);\n\n _iterator3.e(_context.t2);\n\n case 62:\n _context.prev = 62;\n\n _iterator3.f();\n\n return _context.finish(62);\n\n case 65:\n _context.next = 69;\n break;\n\n case 67:\n _context.next = 69;\n return this.loadImagesFromParticlesOptions(container, interactiveEmitters.particles);\n\n case 69:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[5, 15, 18, 21], [25, 35, 38, 41], [49, 59, 62, 65]]);\n }));\n\n function init(_x) {\n return _init.apply(this, arguments);\n }\n\n return init;\n }()\n }, {\n key: \"destroy\",\n value: function destroy() {\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n }, {\n key: \"loadImagesFromParticlesOptions\",\n value: function () {\n var _loadImagesFromParticlesOptions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(container, options) {\n var _a, _b, _c, shapeOptions, idx, imageOptions, _iterator4, _step4, optionsImage, groupName, group;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n shapeOptions = options === null || options === void 0 ? void 0 : options.shape;\n\n if (!(!(shapeOptions === null || shapeOptions === void 0 ? void 0 : shapeOptions.type) || !shapeOptions.options || !(0, Utils_1.isInArray)(Enums_1.ShapeType.image, shapeOptions.type) && !(0, Utils_1.isInArray)(Enums_1.ShapeType.images, shapeOptions.type))) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n idx = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").findIndex(function (t) {\n return t.id === container.id;\n });\n\n if (idx >= 0) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").splice(idx, 1);\n }\n\n imageOptions = (_a = shapeOptions.options[Enums_1.ShapeType.images]) !== null && _a !== void 0 ? _a : shapeOptions.options[Enums_1.ShapeType.image];\n\n if (!(imageOptions instanceof Array)) {\n _context2.next = 26;\n break;\n }\n\n _iterator4 = _createForOfIteratorHelper(imageOptions);\n _context2.prev = 8;\n\n _iterator4.s();\n\n case 10:\n if ((_step4 = _iterator4.n()).done) {\n _context2.next = 16;\n break;\n }\n\n optionsImage = _step4.value;\n _context2.next = 14;\n return this.loadImageShape(container, optionsImage);\n\n case 14:\n _context2.next = 10;\n break;\n\n case 16:\n _context2.next = 21;\n break;\n\n case 18:\n _context2.prev = 18;\n _context2.t0 = _context2[\"catch\"](8);\n\n _iterator4.e(_context2.t0);\n\n case 21:\n _context2.prev = 21;\n\n _iterator4.f();\n\n return _context2.finish(21);\n\n case 24:\n _context2.next = 28;\n break;\n\n case 26:\n _context2.next = 28;\n return this.loadImageShape(container, imageOptions);\n\n case 28:\n if (!(options === null || options === void 0 ? void 0 : options.groups)) {\n _context2.next = 37;\n break;\n }\n\n _context2.t1 = _regeneratorRuntime.keys(options.groups);\n\n case 30:\n if ((_context2.t2 = _context2.t1()).done) {\n _context2.next = 37;\n break;\n }\n\n groupName = _context2.t2.value;\n group = options.groups[groupName];\n _context2.next = 35;\n return this.loadImagesFromParticlesOptions(container, group);\n\n case 35:\n _context2.next = 30;\n break;\n\n case 37:\n if (!((_c = (_b = options === null || options === void 0 ? void 0 : options.destroy) === null || _b === void 0 ? void 0 : _b.split) === null || _c === void 0 ? void 0 : _c.particles)) {\n _context2.next = 40;\n break;\n }\n\n _context2.next = 40;\n return this.loadImagesFromParticlesOptions(container, options === null || options === void 0 ? void 0 : options.destroy.split.particles);\n\n case 40:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[8, 18, 21, 24]]);\n }));\n\n function loadImagesFromParticlesOptions(_x2, _x3) {\n return _loadImagesFromParticlesOptions.apply(this, arguments);\n }\n\n return loadImagesFromParticlesOptions;\n }()\n }, {\n key: \"loadImageShape\",\n value: function () {\n var _loadImageShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(container, imageShape) {\n var imageFunc, image;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n imageFunc = imageShape.replaceColor ? Utils_2.downloadSvgImage : Utils_2.loadImage;\n _context3.next = 4;\n return imageFunc(imageShape.src);\n\n case 4:\n image = _context3.sent;\n\n if (image) {\n this.addImage(container, image);\n }\n\n _context3.next = 11;\n break;\n\n case 8:\n _context3.prev = 8;\n _context3.t0 = _context3[\"catch\"](0);\n console.warn(\"tsParticles error - \".concat(imageShape.src, \" not found\"));\n\n case 11:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 8]]);\n }));\n\n function loadImageShape(_x4, _x5) {\n return _loadImageShape.apply(this, arguments);\n }\n\n return loadImageShape;\n }()\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius, opacity) {\n var _a, _b;\n\n if (!context) {\n return;\n }\n\n var image = particle.image;\n var element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;\n\n if (!element) {\n return;\n }\n\n var ratio = (_b = image === null || image === void 0 ? void 0 : image.ratio) !== null && _b !== void 0 ? _b : 1;\n var pos = {\n x: -radius,\n y: -radius\n };\n\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = opacity;\n }\n\n context.drawImage(element, pos.x, pos.y, radius * 2, radius * 2 / ratio);\n\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = 1;\n }\n }\n }, {\n key: \"loadShape\",\n value: function loadShape(particle) {\n var _a, _b, _c, _d, _e, _f, _g;\n\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n\n var images = this.getImages(particle.container).images;\n var imageData = particle.shapeData;\n var image = (_a = images.find(function (t) {\n return t.source === imageData.src;\n })) !== null && _a !== void 0 ? _a : images[0];\n var color = particle.getFillColor();\n var imageRes;\n\n if (!image) {\n return;\n }\n\n if (image.svgData !== undefined && imageData.replaceColor && color) {\n var svgColoredData = (0, Utils_2.replaceColorSvg)(image, color, (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1);\n var svg = new Blob([svgColoredData], {\n type: \"image/svg+xml\"\n });\n var domUrl = URL || window.URL || window.webkitURL || window;\n var url = domUrl.createObjectURL(svg);\n var img = new Image();\n imageRes = {\n data: Object.assign(Object.assign({}, image), {\n svgData: svgColoredData\n }),\n ratio: imageData.width / imageData.height,\n replaceColor: (_d = imageData.replaceColor) !== null && _d !== void 0 ? _d : imageData.replace_color,\n source: imageData.src\n };\n img.addEventListener(\"load\", function () {\n var pImage = particle.image;\n\n if (pImage) {\n pImage.loaded = true;\n image.element = img;\n }\n\n domUrl.revokeObjectURL(url);\n });\n img.addEventListener(\"error\", function () {\n domUrl.revokeObjectURL(url);\n (0, Utils_2.loadImage)(imageData.src).then(function (img2) {\n var pImage = particle.image;\n\n if (pImage) {\n image.element = img2 === null || img2 === void 0 ? void 0 : img2.element;\n pImage.loaded = true;\n }\n });\n });\n img.src = url;\n } else {\n imageRes = {\n data: image,\n loaded: true,\n ratio: imageData.width / imageData.height,\n replaceColor: (_e = imageData.replaceColor) !== null && _e !== void 0 ? _e : imageData.replace_color,\n source: imageData.src\n };\n }\n\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n\n var fill = (_f = imageData.fill) !== null && _f !== void 0 ? _f : particle.fill;\n var close = (_g = imageData.close) !== null && _g !== void 0 ? _g : particle.close;\n var imageShape = {\n image: imageRes,\n fill: fill,\n close: close\n };\n particle.image = imageShape.image;\n particle.fill = imageShape.fill;\n particle.close = imageShape.close;\n }\n }]);\n\n return ImageDrawer;\n}();\n\nexports.ImageDrawer = ImageDrawer;\n_ImageDrawer_images = new WeakMap();","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.replaceColorSvg = exports.downloadSvgImage = exports.loadImage = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction loadImage(source) {\n return new Promise(function (resolve, reject) {\n if (!source) {\n reject(\"Error tsParticles - No image.src\");\n return;\n }\n\n var image = {\n source: source,\n type: source.substr(source.length - 3)\n };\n var img = new Image();\n img.addEventListener(\"load\", function () {\n image.element = img;\n resolve(image);\n });\n img.addEventListener(\"error\", function () {\n reject(\"Error tsParticles - loading image: \".concat(source));\n });\n img.src = source;\n });\n}\n\nexports.loadImage = loadImage;\n\nfunction downloadSvgImage(_x) {\n return _downloadSvgImage.apply(this, arguments);\n}\n\nfunction _downloadSvgImage() {\n _downloadSvgImage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(source) {\n var image, response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (source) {\n _context.next = 2;\n break;\n }\n\n throw new Error(\"Error tsParticles - No image.src\");\n\n case 2:\n image = {\n source: source,\n type: source.substr(source.length - 3)\n };\n\n if (!(image.type !== \"svg\")) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", loadImage(source));\n\n case 5:\n _context.next = 7;\n return fetch(image.source);\n\n case 7:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 10;\n break;\n }\n\n throw new Error(\"Error tsParticles - Image not found\");\n\n case 10:\n _context.next = 12;\n return response.text();\n\n case 12:\n image.svgData = _context.sent;\n return _context.abrupt(\"return\", image);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _downloadSvgImage.apply(this, arguments);\n}\n\nexports.downloadSvgImage = downloadSvgImage;\n\nfunction replaceColorSvg(imageShape, color, opacity) {\n var svgData = imageShape.svgData;\n\n if (!svgData) {\n return \"\";\n }\n\n if (svgData.includes(\"fill\")) {\n var currentColor = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\n return svgData.replace(currentColor, function () {\n return (0, Utils_1.getStyleFromHsl)(color, opacity);\n });\n }\n\n var preFillIndex = svgData.indexOf(\">\");\n return \"\".concat(svgData.substring(0, preFillIndex), \" fill=\\\"\").concat((0, Utils_1.getStyleFromHsl)(color, opacity), \"\\\"\").concat(svgData.substring(preFillIndex));\n}\n\nexports.replaceColorSvg = replaceColorSvg;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadImageShape = void 0;\n\nvar ImageDrawer_1 = require(\"./ImageDrawer\");\n\nfunction loadImageShape(_x) {\n return _loadImageShape.apply(this, arguments);\n}\n\nfunction _loadImageShape() {\n _loadImageShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var imageDrawer;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n imageDrawer = new ImageDrawer_1.ImageDrawer();\n _context.next = 3;\n return tsParticles.addShape(\"image\", imageDrawer);\n\n case 3:\n _context.next = 5;\n return tsParticles.addShape(\"images\", imageDrawer);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadImageShape.apply(this, arguments);\n}\n\nexports.loadImageShape = loadImageShape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LineDrawer = void 0;\n\nvar LineDrawer = /*#__PURE__*/function () {\n function LineDrawer() {\n _classCallCheck(this, LineDrawer);\n }\n\n _createClass(LineDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 1;\n }\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius) {\n context.moveTo(-radius / 2, 0);\n context.lineTo(radius / 2, 0);\n }\n }]);\n\n return LineDrawer;\n}();\n\nexports.LineDrawer = LineDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadLineShape = void 0;\n\nvar LineDrawer_1 = require(\"./LineDrawer\");\n\nfunction loadLineShape(_x) {\n return _loadLineShape.apply(this, arguments);\n}\n\nfunction _loadLineShape() {\n _loadLineShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addShape(\"line\", new LineDrawer_1.LineDrawer());\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadLineShape.apply(this, arguments);\n}\n\nexports.loadLineShape = loadLineShape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PolygonDrawer = void 0;\n\nvar PolygonDrawerBase_1 = require(\"./PolygonDrawerBase\");\n\nvar PolygonDrawer = /*#__PURE__*/function (_PolygonDrawerBase_1$) {\n _inherits(PolygonDrawer, _PolygonDrawerBase_1$);\n\n var _super = _createSuper(PolygonDrawer);\n\n function PolygonDrawer() {\n _classCallCheck(this, PolygonDrawer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PolygonDrawer, [{\n key: \"getSidesData\",\n value: function getSidesData(particle, radius) {\n var _a, _b;\n\n var polygon = particle.shapeData;\n var sides = (_b = (_a = polygon === null || polygon === void 0 ? void 0 : polygon.sides) !== null && _a !== void 0 ? _a : polygon === null || polygon === void 0 ? void 0 : polygon.nb_sides) !== null && _b !== void 0 ? _b : 5;\n return {\n count: {\n denominator: 1,\n numerator: sides\n },\n length: radius * 2.66 / (sides / 3)\n };\n }\n }, {\n key: \"getCenter\",\n value: function getCenter(particle, radius) {\n var sides = this.getSidesCount(particle);\n return {\n x: -radius / (sides / 3.5),\n y: -radius / (2.66 / 3.5)\n };\n }\n }]);\n\n return PolygonDrawer;\n}(PolygonDrawerBase_1.PolygonDrawerBase);\n\nexports.PolygonDrawer = PolygonDrawer;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PolygonDrawerBase = void 0;\n\nvar PolygonDrawerBase = /*#__PURE__*/function () {\n function PolygonDrawerBase() {\n _classCallCheck(this, PolygonDrawerBase);\n }\n\n _createClass(PolygonDrawerBase, [{\n key: \"getSidesCount\",\n value: function getSidesCount(particle) {\n var _a, _b;\n\n var polygon = particle.shapeData;\n return (_b = (_a = polygon === null || polygon === void 0 ? void 0 : polygon.sides) !== null && _a !== void 0 ? _a : polygon === null || polygon === void 0 ? void 0 : polygon.nb_sides) !== null && _b !== void 0 ? _b : 5;\n }\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius) {\n var start = this.getCenter(particle, radius);\n var side = this.getSidesData(particle, radius);\n var sideCount = side.count.numerator * side.count.denominator;\n var decimalSides = side.count.numerator / side.count.denominator;\n var interiorAngleDegrees = 180 * (decimalSides - 2) / decimalSides;\n var interiorAngle = Math.PI - Math.PI * interiorAngleDegrees / 180;\n\n if (!context) {\n return;\n }\n\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(0, 0);\n\n for (var i = 0; i < sideCount; i++) {\n context.lineTo(side.length, 0);\n context.translate(side.length, 0);\n context.rotate(interiorAngle);\n }\n }\n }]);\n\n return PolygonDrawerBase;\n}();\n\nexports.PolygonDrawerBase = PolygonDrawerBase;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TriangleDrawer = void 0;\n\nvar PolygonDrawerBase_1 = require(\"./PolygonDrawerBase\");\n\nvar TriangleDrawer = /*#__PURE__*/function (_PolygonDrawerBase_1$) {\n _inherits(TriangleDrawer, _PolygonDrawerBase_1$);\n\n var _super = _createSuper(TriangleDrawer);\n\n function TriangleDrawer() {\n _classCallCheck(this, TriangleDrawer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TriangleDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 3;\n }\n }, {\n key: \"getSidesData\",\n value: function getSidesData(particle, radius) {\n return {\n count: {\n denominator: 2,\n numerator: 3\n },\n length: radius * 2\n };\n }\n }, {\n key: \"getCenter\",\n value: function getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / 1.66\n };\n }\n }]);\n\n return TriangleDrawer;\n}(PolygonDrawerBase_1.PolygonDrawerBase);\n\nexports.TriangleDrawer = TriangleDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadPolygonShape = exports.loadTriangleShape = exports.loadGenericPolygonShape = void 0;\n\nvar PolygonDrawer_1 = require(\"./PolygonDrawer\");\n\nvar TriangleDrawer_1 = require(\"./TriangleDrawer\");\n\nfunction loadGenericPolygonShape(_x) {\n return _loadGenericPolygonShape.apply(this, arguments);\n}\n\nfunction _loadGenericPolygonShape() {\n _loadGenericPolygonShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addShape(\"polygon\", new PolygonDrawer_1.PolygonDrawer());\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadGenericPolygonShape.apply(this, arguments);\n}\n\nexports.loadGenericPolygonShape = loadGenericPolygonShape;\n\nfunction loadTriangleShape(_x2) {\n return _loadTriangleShape.apply(this, arguments);\n}\n\nfunction _loadTriangleShape() {\n _loadTriangleShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return tsParticles.addShape(\"triangle\", new TriangleDrawer_1.TriangleDrawer());\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _loadTriangleShape.apply(this, arguments);\n}\n\nexports.loadTriangleShape = loadTriangleShape;\n\nfunction loadPolygonShape(_x3) {\n return _loadPolygonShape.apply(this, arguments);\n}\n\nfunction _loadPolygonShape() {\n _loadPolygonShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return loadGenericPolygonShape(tsParticles);\n\n case 2:\n _context3.next = 4;\n return loadTriangleShape(tsParticles);\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _loadPolygonShape.apply(this, arguments);\n}\n\nexports.loadPolygonShape = loadPolygonShape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SquareDrawer = void 0;\nvar fixFactor = Math.sqrt(2);\n\nvar SquareDrawer = /*#__PURE__*/function () {\n function SquareDrawer() {\n _classCallCheck(this, SquareDrawer);\n }\n\n _createClass(SquareDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 4;\n }\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius) {\n context.rect(-radius / fixFactor, -radius / fixFactor, radius * 2 / fixFactor, radius * 2 / fixFactor);\n }\n }]);\n\n return SquareDrawer;\n}();\n\nexports.SquareDrawer = SquareDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadSquareShape = void 0;\n\nvar SquareDrawer_1 = require(\"./SquareDrawer\");\n\nfunction loadSquareShape(_x) {\n return _loadSquareShape.apply(this, arguments);\n}\n\nfunction _loadSquareShape() {\n _loadSquareShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var drawer;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n drawer = new SquareDrawer_1.SquareDrawer();\n _context.next = 3;\n return tsParticles.addShape(\"edge\", drawer);\n\n case 3:\n _context.next = 5;\n return tsParticles.addShape(\"square\", drawer);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadSquareShape.apply(this, arguments);\n}\n\nexports.loadSquareShape = loadSquareShape;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StarDrawer = void 0;\n\nvar StarDrawer = /*#__PURE__*/function () {\n function StarDrawer() {\n _classCallCheck(this, StarDrawer);\n }\n\n _createClass(StarDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount(particle) {\n var _a, _b;\n\n var star = particle.shapeData;\n return (_b = (_a = star === null || star === void 0 ? void 0 : star.sides) !== null && _a !== void 0 ? _a : star === null || star === void 0 ? void 0 : star.nb_sides) !== null && _b !== void 0 ? _b : 5;\n }\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius) {\n var _a;\n\n var star = particle.shapeData;\n var sides = this.getSidesCount(particle);\n var inset = (_a = star === null || star === void 0 ? void 0 : star.inset) !== null && _a !== void 0 ? _a : 2;\n context.moveTo(0, 0 - radius);\n\n for (var i = 0; i < sides; i++) {\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius * inset);\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius);\n }\n }\n }]);\n\n return StarDrawer;\n}();\n\nexports.StarDrawer = StarDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadStarShape = void 0;\n\nvar StarDrawer_1 = require(\"./StarDrawer\");\n\nfunction loadStarShape(_x) {\n return _loadStarShape.apply(this, arguments);\n}\n\nfunction _loadStarShape() {\n _loadStarShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addShape(\"star\", new StarDrawer_1.StarDrawer());\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadStarShape.apply(this, arguments);\n}\n\nexports.loadStarShape = loadStarShape;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TextDrawer = exports.validTypes = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nexports.validTypes = [\"text\", \"character\", \"char\"];\n\nvar TextDrawer = /*#__PURE__*/function () {\n function TextDrawer() {\n _classCallCheck(this, TextDrawer);\n }\n\n _createClass(TextDrawer, [{\n key: \"getSidesCount\",\n value: function getSidesCount() {\n return 12;\n }\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(container) {\n var options, shapeOptions, promises, _iterator, _step, character;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n options = container.actualOptions;\n\n if (!exports.validTypes.find(function (t) {\n return (0, Utils_1.isInArray)(t, options.particles.shape.type);\n })) {\n _context.next = 14;\n break;\n }\n\n shapeOptions = exports.validTypes.map(function (t) {\n return options.particles.shape.options[t];\n }).find(function (t) {\n return !!t;\n });\n\n if (!(shapeOptions instanceof Array)) {\n _context.next = 11;\n break;\n }\n\n promises = [];\n _iterator = _createForOfIteratorHelper(shapeOptions);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n character = _step.value;\n promises.push((0, Utils_1.loadFont)(character));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n _context.next = 9;\n return Promise.allSettled(promises);\n\n case 9:\n _context.next = 14;\n break;\n\n case 11:\n if (!(shapeOptions !== undefined)) {\n _context.next = 14;\n break;\n }\n\n _context.next = 14;\n return (0, Utils_1.loadFont)(shapeOptions);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function init(_x) {\n return _init.apply(this, arguments);\n }\n\n return init;\n }()\n }, {\n key: \"draw\",\n value: function draw(context, particle, radius, opacity) {\n var _a, _b, _c;\n\n var character = particle.shapeData;\n\n if (character === undefined) {\n return;\n }\n\n var textData = character.value;\n\n if (textData === undefined) {\n return;\n }\n\n var textParticle = particle;\n\n if (textParticle.text === undefined) {\n textParticle.text = textData instanceof Array ? (0, Utils_1.itemFromArray)(textData, particle.randomIndexData) : textData;\n }\n\n var text = textParticle.text;\n var style = (_a = character.style) !== null && _a !== void 0 ? _a : \"\";\n var weight = (_b = character.weight) !== null && _b !== void 0 ? _b : \"400\";\n var size = Math.round(radius) * 2;\n var font = (_c = character.font) !== null && _c !== void 0 ? _c : \"Verdana\";\n var fill = particle.fill;\n var offsetX = text.length * radius / 2;\n context.font = \"\".concat(style, \" \").concat(weight, \" \").concat(size, \"px \\\"\").concat(font, \"\\\"\");\n var pos = {\n x: -offsetX,\n y: radius / 2\n };\n context.globalAlpha = opacity;\n\n if (fill) {\n context.fillText(text, pos.x, pos.y);\n } else {\n context.strokeText(text, pos.x, pos.y);\n }\n\n context.globalAlpha = 1;\n }\n }]);\n\n return TextDrawer;\n}();\n\nexports.TextDrawer = TextDrawer;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadTextShape = void 0;\n\nvar TextDrawer_1 = require(\"./TextDrawer\");\n\nfunction loadTextShape(_x) {\n return _loadTextShape.apply(this, arguments);\n}\n\nfunction _loadTextShape() {\n _loadTextShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n var drawer, _iterator, _step, type;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n drawer = new TextDrawer_1.TextDrawer();\n _iterator = _createForOfIteratorHelper(TextDrawer_1.validTypes);\n _context.prev = 2;\n\n _iterator.s();\n\n case 4:\n if ((_step = _iterator.n()).done) {\n _context.next = 10;\n break;\n }\n\n type = _step.value;\n _context.next = 8;\n return tsParticles.addShape(type, drawer);\n\n case 8:\n _context.next = 4;\n break;\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](2);\n\n _iterator.e(_context.t0);\n\n case 15:\n _context.prev = 15;\n\n _iterator.f();\n\n return _context.finish(15);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 12, 15, 18]]);\n }));\n return _loadTextShape.apply(this, arguments);\n}\n\nexports.loadTextShape = loadTextShape;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./RangeValue\"), exports);\n\n__exportStar(require(\"./RecursivePartial\"), exports);\n\n__exportStar(require(\"./ShapeData\"), exports);\n\n__exportStar(require(\"./ShapeDrawerFunctions\"), exports);\n\n__exportStar(require(\"./SingleOrMultiple\"), exports);\n\n__exportStar(require(\"./PathOptions\"), exports);","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AngleUpdater = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction updateAngle(particle, delta) {\n var _a;\n\n var rotate = particle.rotate;\n\n if (!rotate) {\n return;\n }\n\n var rotateOptions = particle.options.rotate;\n var rotateAnimation = rotateOptions.animation;\n var speed = ((_a = rotate.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n var max = 2 * Math.PI;\n\n if (!rotateAnimation.enable) {\n return;\n }\n\n switch (rotate.status) {\n case Enums_1.AnimationStatus.increasing:\n rotate.value += speed;\n\n if (rotate.value > max) {\n rotate.value -= max;\n }\n\n break;\n\n case Enums_1.AnimationStatus.decreasing:\n default:\n rotate.value -= speed;\n\n if (rotate.value < 0) {\n rotate.value += max;\n }\n\n break;\n }\n}\n\nvar AngleUpdater = /*#__PURE__*/function () {\n function AngleUpdater(container) {\n _classCallCheck(this, AngleUpdater);\n\n this.container = container;\n }\n\n _createClass(AngleUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var rotateOptions = particle.options.rotate;\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: (0, Utils_1.getRangeValue)(rotateOptions.value) * Math.PI / 180\n };\n var rotateDirection = rotateOptions.direction;\n\n if (rotateDirection === Enums_1.RotateDirection.random) {\n var index = Math.floor(Math.random() * 2);\n rotateDirection = index > 0 ? Enums_1.RotateDirection.counterClockwise : Enums_1.RotateDirection.clockwise;\n }\n\n switch (rotateDirection) {\n case Enums_1.RotateDirection.counterClockwise:\n case \"counterClockwise\":\n particle.rotate.status = Enums_1.AnimationStatus.decreasing;\n break;\n\n case Enums_1.RotateDirection.clockwise:\n particle.rotate.status = Enums_1.AnimationStatus.increasing;\n break;\n }\n\n var rotateAnimation = particle.options.rotate.animation;\n\n if (rotateAnimation.enable) {\n particle.rotate.velocity = rotateAnimation.speed / 360 * this.container.retina.reduceFactor;\n\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= Math.random();\n }\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var rotate = particle.options.rotate;\n var rotateAnimation = rotate.animation;\n return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateAngle(particle, delta);\n }\n }]);\n\n return AngleUpdater;\n}();\n\nexports.AngleUpdater = AngleUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadAngleUpdater = void 0;\n\nvar AngleUpdater_1 = require(\"./AngleUpdater\");\n\nfunction loadAngleUpdater(_x) {\n return _loadAngleUpdater.apply(this, arguments);\n}\n\nfunction _loadAngleUpdater() {\n _loadAngleUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"angle\", function (container) {\n return new AngleUpdater_1.AngleUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadAngleUpdater.apply(this, arguments);\n}\n\nexports.loadAngleUpdater = loadAngleUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorUpdater = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n\n var colorValue = value;\n\n if (!colorValue || !valueAnimation.enable) {\n return;\n }\n\n var offset = (0, Utils_1.randomInRange)(valueAnimation.offset);\n var velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n\n if (!decrease || colorValue.status === Enums_1.AnimationStatus.increasing) {\n colorValue.value += velocity;\n\n if (decrease && colorValue.value > max) {\n colorValue.status = Enums_1.AnimationStatus.decreasing;\n colorValue.value -= colorValue.value % max;\n }\n } else {\n colorValue.value -= velocity;\n\n if (colorValue.value < 0) {\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.value += colorValue.value;\n }\n }\n\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\n\nfunction updateColor(particle, delta) {\n var _a, _b, _c;\n\n var animationOptions = particle.options.color.animation;\n\n if (((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h) !== undefined) {\n updateColorValue(delta, particle.color.h, animationOptions.h, 360, false);\n }\n\n if (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s) !== undefined) {\n updateColorValue(delta, particle.color.s, animationOptions.s, 100, true);\n }\n\n if (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l) !== undefined) {\n updateColorValue(delta, particle.color.l, animationOptions.l, 100, true);\n }\n}\n\nvar ColorUpdater = /*#__PURE__*/function () {\n function ColorUpdater(container) {\n _classCallCheck(this, ColorUpdater);\n\n this.container = container;\n }\n\n _createClass(ColorUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var hslColor = (0, Utils_1.colorToHsl)(particle.options.color, particle.id, particle.options.reduceDuplicates);\n\n if (hslColor) {\n particle.color = (0, Utils_1.getHslAnimationFromHsl)(hslColor, particle.options.color.animation, this.container.retina.reduceFactor);\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var _a, _b, _c;\n\n var animationOptions = particle.options.color.animation;\n return !particle.destroyed && !particle.spawning && (((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h.value) !== undefined && animationOptions.h.enable || ((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s.value) !== undefined && animationOptions.s.enable || ((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l.value) !== undefined && animationOptions.l.enable);\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n updateColor(particle, delta);\n }\n }]);\n\n return ColorUpdater;\n}();\n\nexports.ColorUpdater = ColorUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadColorUpdater = void 0;\n\nvar ColorUpdater_1 = require(\"./ColorUpdater\");\n\nfunction loadColorUpdater(_x) {\n return _loadColorUpdater.apply(this, arguments);\n}\n\nfunction _loadColorUpdater() {\n _loadColorUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"color\", function (container) {\n return new ColorUpdater_1.ColorUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadColorUpdater.apply(this, arguments);\n}\n\nexports.loadColorUpdater = loadColorUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LifeUpdater = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar LifeUpdater = /*#__PURE__*/function () {\n function LifeUpdater(container) {\n _classCallCheck(this, LifeUpdater);\n\n this.container = container;\n }\n\n _createClass(LifeUpdater, [{\n key: \"init\",\n value: function init() {}\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return !particle.destroyed;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n var life = particle.life;\n var justSpawned = false;\n\n if (particle.spawning) {\n life.delayTime += delta.value;\n\n if (life.delayTime >= particle.life.delay) {\n justSpawned = true;\n particle.spawning = false;\n life.delayTime = 0;\n life.time = 0;\n } else {\n return;\n }\n }\n\n if (life.duration === -1) {\n return;\n }\n\n if (particle.spawning) {\n return;\n }\n\n if (justSpawned) {\n life.time = 0;\n } else {\n life.time += delta.value;\n }\n\n if (life.time < life.duration) {\n return;\n }\n\n life.time = 0;\n\n if (particle.life.count > 0) {\n particle.life.count--;\n }\n\n if (particle.life.count === 0) {\n particle.destroy();\n return;\n }\n\n var canvasSize = this.container.canvas.size,\n widthRange = (0, Utils_1.setRangeValue)(0, canvasSize.width),\n heightRange = (0, Utils_1.setRangeValue)(0, canvasSize.width);\n particle.position.x = (0, Utils_1.randomInRange)(widthRange);\n particle.position.y = (0, Utils_1.randomInRange)(heightRange);\n particle.spawning = true;\n life.delayTime = 0;\n life.time = 0;\n particle.reset();\n var lifeOptions = particle.options.life;\n life.delay = (0, Utils_1.getRangeValue)(lifeOptions.delay.value) * 1000;\n life.duration = (0, Utils_1.getRangeValue)(lifeOptions.duration.value) * 1000;\n }\n }]);\n\n return LifeUpdater;\n}();\n\nexports.LifeUpdater = LifeUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadLifeUpdater = void 0;\n\nvar LifeUpdater_1 = require(\"./LifeUpdater\");\n\nfunction loadLifeUpdater(_x) {\n return _loadLifeUpdater.apply(this, arguments);\n}\n\nfunction _loadLifeUpdater() {\n _loadLifeUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"life\", function (container) {\n return new LifeUpdater_1.LifeUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadLifeUpdater.apply(this, arguments);\n}\n\nexports.loadLifeUpdater = loadLifeUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OpacityUpdater = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.opacity.animation.destroy) {\n case Enums_1.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n\n break;\n\n case Enums_1.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n\n break;\n }\n}\n\nfunction updateOpacity(particle, delta) {\n var _a, _b, _c, _d, _e;\n\n if (!particle.opacity) {\n return;\n }\n\n var minValue = particle.opacity.min;\n var maxValue = particle.opacity.max;\n\n 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)))) {\n return;\n }\n\n switch (particle.opacity.status) {\n case Enums_1.AnimationStatus.increasing:\n if (particle.opacity.value >= maxValue) {\n particle.opacity.status = Enums_1.AnimationStatus.decreasing;\n\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n\n particle.opacity.loops++;\n } else {\n particle.opacity.value += ((_d = particle.opacity.velocity) !== null && _d !== void 0 ? _d : 0) * delta.factor;\n }\n\n break;\n\n case Enums_1.AnimationStatus.decreasing:\n if (particle.opacity.value <= minValue) {\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n\n particle.opacity.loops++;\n } else {\n particle.opacity.value -= ((_e = particle.opacity.velocity) !== null && _e !== void 0 ? _e : 0) * delta.factor;\n }\n\n break;\n }\n\n checkDestroy(particle, particle.opacity.value, minValue, maxValue);\n\n if (!particle.destroyed) {\n particle.opacity.value = (0, Utils_1.clamp)(particle.opacity.value, minValue, maxValue);\n }\n}\n\nvar OpacityUpdater = /*#__PURE__*/function () {\n function OpacityUpdater(container) {\n _classCallCheck(this, OpacityUpdater);\n\n this.container = container;\n }\n\n _createClass(OpacityUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var opacityOptions = particle.options.opacity;\n particle.opacity = {\n enable: opacityOptions.animation.enable,\n max: (0, Utils_1.getRangeMax)(opacityOptions.value),\n min: (0, Utils_1.getRangeMin)(opacityOptions.value),\n value: (0, Utils_1.getRangeValue)(opacityOptions.value),\n loops: 0,\n maxLoops: opacityOptions.animation.count\n };\n var opacityAnimation = opacityOptions.animation;\n\n if (opacityAnimation.enable) {\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n var opacityRange = opacityOptions.value;\n particle.opacity.min = (0, Utils_1.getRangeMin)(opacityRange);\n particle.opacity.max = (0, Utils_1.getRangeMax)(opacityRange);\n\n switch (opacityAnimation.startValue) {\n case Enums_1.StartValueType.min:\n particle.opacity.value = particle.opacity.min;\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n break;\n\n case Enums_1.StartValueType.random:\n particle.opacity.value = (0, Utils_1.randomInRange)(particle.opacity);\n particle.opacity.status = Math.random() >= 0.5 ? Enums_1.AnimationStatus.increasing : Enums_1.AnimationStatus.decreasing;\n break;\n\n case Enums_1.StartValueType.max:\n default:\n particle.opacity.value = particle.opacity.max;\n particle.opacity.status = Enums_1.AnimationStatus.decreasing;\n break;\n }\n\n particle.opacity.velocity = opacityAnimation.speed / 100 * this.container.retina.reduceFactor;\n\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= Math.random();\n }\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var _a, _b, _c;\n\n 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));\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateOpacity(particle, delta);\n }\n }]);\n\n return OpacityUpdater;\n}();\n\nexports.OpacityUpdater = OpacityUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadOpacityUpdater = void 0;\n\nvar OpacityUpdater_1 = require(\"./OpacityUpdater\");\n\nfunction loadOpacityUpdater(_x) {\n return _loadOpacityUpdater.apply(this, arguments);\n}\n\nfunction _loadOpacityUpdater() {\n _loadOpacityUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"opacity\", function (container) {\n return new OpacityUpdater_1.OpacityUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadOpacityUpdater.apply(this, arguments);\n}\n\nexports.loadOpacityUpdater = loadOpacityUpdater;","\"use strict\";\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OutOfCanvasUpdater = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_2 = require(\"./Utils\");\n\nvar OutOfCanvasUpdater = /*#__PURE__*/function () {\n function OutOfCanvasUpdater(container) {\n _classCallCheck(this, OutOfCanvasUpdater);\n\n this.container = container;\n }\n\n _createClass(OutOfCanvasUpdater, [{\n key: \"init\",\n value: function init() {}\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return !particle.destroyed && !particle.spawning;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n var _a, _b, _c, _d;\n\n var outModes = particle.options.move.outModes;\n this.updateOutMode(particle, delta, (_a = outModes.bottom) !== null && _a !== void 0 ? _a : outModes.default, Enums_1.OutModeDirection.bottom);\n this.updateOutMode(particle, delta, (_b = outModes.left) !== null && _b !== void 0 ? _b : outModes.default, Enums_1.OutModeDirection.left);\n this.updateOutMode(particle, delta, (_c = outModes.right) !== null && _c !== void 0 ? _c : outModes.default, Enums_1.OutModeDirection.right);\n this.updateOutMode(particle, delta, (_d = outModes.top) !== null && _d !== void 0 ? _d : outModes.default, Enums_1.OutModeDirection.top);\n }\n }, {\n key: \"updateOutMode\",\n value: function updateOutMode(particle, delta, outMode, direction) {\n switch (outMode) {\n case Enums_1.OutMode.bounce:\n case Enums_1.OutMode.bounceVertical:\n case Enums_1.OutMode.bounceHorizontal:\n case \"bounceVertical\":\n case \"bounceHorizontal\":\n case Enums_1.OutMode.split:\n this.bounce(particle, delta, direction, outMode);\n break;\n\n case Enums_1.OutMode.destroy:\n this.destroy(particle, direction);\n break;\n\n case Enums_1.OutMode.out:\n this.out(particle, direction);\n break;\n\n case Enums_1.OutMode.none:\n default:\n this.none(particle, direction);\n break;\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy(particle, direction) {\n var container = this.container;\n\n if ((0, Utils_1.isPointInside)(particle.position, container.canvas.size, particle.getRadius(), direction)) {\n return;\n }\n\n container.particles.remove(particle, undefined, true);\n }\n }, {\n key: \"out\",\n value: function out(particle, direction) {\n var container = this.container;\n\n if ((0, Utils_1.isPointInside)(particle.position, container.canvas.size, particle.getRadius(), direction)) {\n return;\n }\n\n var wrap = particle.options.move.warp,\n canvasSize = container.canvas.size,\n newPos = {\n bottom: canvasSize.height + particle.getRadius() + particle.offset.y,\n left: -particle.getRadius() - particle.offset.x,\n right: canvasSize.width + particle.getRadius() + particle.offset.x,\n top: -particle.getRadius() - particle.offset.y\n },\n sizeValue = particle.getRadius(),\n nextBounds = (0, Utils_1.calculateBounds)(particle.position, sizeValue);\n\n if (direction === Enums_1.OutModeDirection.right && nextBounds.left > canvasSize.width + particle.offset.x) {\n particle.position.x = newPos.left;\n particle.initialPosition.x = particle.position.x;\n\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n } else if (direction === Enums_1.OutModeDirection.left && nextBounds.right < -particle.offset.x) {\n particle.position.x = newPos.right;\n particle.initialPosition.x = particle.position.x;\n\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n\n if (direction === Enums_1.OutModeDirection.bottom && nextBounds.top > canvasSize.height + particle.offset.y) {\n if (!wrap) {\n particle.position.x = Math.random() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n\n particle.position.y = newPos.top;\n particle.initialPosition.y = particle.position.y;\n } else if (direction === Enums_1.OutModeDirection.top && nextBounds.bottom < -particle.offset.y) {\n if (!wrap) {\n particle.position.x = Math.random() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n\n particle.position.y = newPos.bottom;\n particle.initialPosition.y = particle.position.y;\n }\n }\n }, {\n key: \"bounce\",\n value: function bounce(particle, delta, direction, outMode) {\n var container = this.container;\n var handled = false;\n\n var _iterator = _createForOfIteratorHelper(container.plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n plugin = _step$value[1];\n\n if (plugin.particleBounce !== undefined) {\n handled = plugin.particleBounce(particle, delta, direction);\n }\n\n if (handled) {\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (handled) {\n return;\n }\n\n var pos = particle.getPosition(),\n offset = particle.offset,\n size = particle.getRadius(),\n bounds = (0, Utils_1.calculateBounds)(pos, size),\n canvasSize = container.canvas.size;\n (0, Utils_2.bounceHorizontal)({\n particle: particle,\n outMode: outMode,\n direction: direction,\n bounds: bounds,\n canvasSize: canvasSize,\n offset: offset,\n size: size\n });\n (0, Utils_2.bounceVertical)({\n particle: particle,\n outMode: outMode,\n direction: direction,\n bounds: bounds,\n canvasSize: canvasSize,\n offset: offset,\n size: size\n });\n }\n }, {\n key: \"none\",\n value: function none(particle, direction) {\n if (particle.options.move.distance.horizontal && (direction === Enums_1.OutModeDirection.left || direction === Enums_1.OutModeDirection.right) || particle.options.move.distance.vertical && (direction === Enums_1.OutModeDirection.top || direction === Enums_1.OutModeDirection.bottom)) {\n return;\n }\n\n var gravityOptions = particle.options.move.gravity,\n container = this.container;\n var canvasSize = container.canvas.size;\n var pRadius = particle.getRadius();\n\n if (!gravityOptions.enable) {\n if (particle.velocity.y > 0 && particle.position.y <= canvasSize.height + pRadius || particle.velocity.y < 0 && particle.position.y >= -pRadius || particle.velocity.x > 0 && particle.position.x <= canvasSize.width + pRadius || particle.velocity.x < 0 && particle.position.x >= -pRadius) {\n return;\n }\n\n if (!(0, Utils_1.isPointInside)(particle.position, container.canvas.size, pRadius, direction)) {\n container.particles.remove(particle);\n }\n } else {\n var position = particle.position;\n\n if (!gravityOptions.inverse && position.y > canvasSize.height + pRadius && direction === Enums_1.OutModeDirection.bottom || gravityOptions.inverse && position.y < -pRadius && direction === Enums_1.OutModeDirection.top) {\n container.particles.remove(particle);\n }\n }\n }\n }]);\n\n return OutOfCanvasUpdater;\n}();\n\nexports.OutOfCanvasUpdater = OutOfCanvasUpdater;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bounceVertical = exports.bounceHorizontal = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction bounceHorizontal(data) {\n if (!(data.outMode === Enums_1.OutMode.bounce || data.outMode === Enums_1.OutMode.bounceHorizontal || data.outMode === \"bounceHorizontal\" || data.outMode === Enums_1.OutMode.split)) {\n return;\n }\n\n var velocity = data.particle.velocity.x;\n var bounced = false;\n\n if (data.direction === Enums_1.OutModeDirection.right && data.bounds.right >= data.canvasSize.width && velocity > 0 || data.direction === Enums_1.OutModeDirection.left && data.bounds.left <= 0 && velocity < 0) {\n var newVelocity = (0, Utils_1.getRangeValue)(data.particle.options.bounce.horizontal.value);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n\n if (!bounced) {\n return;\n }\n\n var minPos = data.offset.x + data.size;\n\n if (data.bounds.right >= data.canvasSize.width) {\n data.particle.position.x = data.canvasSize.width - minPos;\n } else if (data.bounds.left <= 0) {\n data.particle.position.x = minPos;\n }\n\n if (data.outMode === Enums_1.OutMode.split) {\n data.particle.destroy();\n }\n}\n\nexports.bounceHorizontal = bounceHorizontal;\n\nfunction bounceVertical(data) {\n if (data.outMode === Enums_1.OutMode.bounce || data.outMode === Enums_1.OutMode.bounceVertical || data.outMode === \"bounceVertical\" || data.outMode === Enums_1.OutMode.split) {\n var velocity = data.particle.velocity.y;\n var bounced = false;\n\n if (data.direction === Enums_1.OutModeDirection.bottom && data.bounds.bottom >= data.canvasSize.height && velocity > 0 || data.direction === Enums_1.OutModeDirection.top && data.bounds.top <= 0 && velocity < 0) {\n var newVelocity = (0, Utils_1.getRangeValue)(data.particle.options.bounce.vertical.value);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n\n if (!bounced) {\n return;\n }\n\n var minPos = data.offset.y + data.size;\n\n if (data.bounds.bottom >= data.canvasSize.height) {\n data.particle.position.y = data.canvasSize.height - minPos;\n } else if (data.bounds.top <= 0) {\n data.particle.position.y = minPos;\n }\n\n if (data.outMode === Enums_1.OutMode.split) {\n data.particle.destroy();\n }\n }\n}\n\nexports.bounceVertical = bounceVertical;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadOutModesUpdater = void 0;\n\nvar OutOfCanvasUpdater_1 = require(\"./OutOfCanvasUpdater\");\n\nfunction loadOutModesUpdater(_x) {\n return _loadOutModesUpdater.apply(this, arguments);\n}\n\nfunction _loadOutModesUpdater() {\n _loadOutModesUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"outModes\", function (container) {\n return new OutOfCanvasUpdater_1.OutOfCanvasUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadOutModesUpdater.apply(this, arguments);\n}\n\nexports.loadOutModesUpdater = loadOutModesUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RollUpdater = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nfunction updateRoll(particle, delta) {\n var roll = particle.options.roll;\n\n if (!particle.roll || !roll.enable) {\n return;\n }\n\n var speed = particle.roll.speed * delta.factor;\n var max = 2 * Math.PI;\n particle.roll.angle += speed;\n\n if (particle.roll.angle > max) {\n particle.roll.angle -= max;\n }\n}\n\nvar RollUpdater = /*#__PURE__*/function () {\n function RollUpdater() {\n _classCallCheck(this, RollUpdater);\n }\n\n _createClass(RollUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var rollOpt = particle.options.roll;\n\n if (rollOpt.enable) {\n particle.roll = {\n angle: Math.random() * Math.PI * 2,\n speed: (0, Utils_1.getRangeValue)(rollOpt.speed) / 360\n };\n\n if (rollOpt.backColor) {\n particle.backColor = (0, Utils_1.colorToHsl)(rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n var alterType = Math.random() >= 0.5 ? Enums_1.AlterType.darken : Enums_1.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: alterType === Enums_1.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: Enums_1.AlterType.darken,\n value: rollOpt.darken.value\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: Enums_1.AlterType.enlighten,\n value: rollOpt.enlighten.value\n };\n }\n } else {\n particle.roll = {\n angle: 0,\n speed: 0\n };\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && roll.enable;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateRoll(particle, delta);\n }\n }]);\n\n return RollUpdater;\n}();\n\nexports.RollUpdater = RollUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadRollUpdater = void 0;\n\nvar RollUpdater_1 = require(\"./RollUpdater\");\n\nfunction loadRollUpdater(_x) {\n return _loadRollUpdater.apply(this, arguments);\n}\n\nfunction _loadRollUpdater() {\n _loadRollUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"roll\", function () {\n return new RollUpdater_1.RollUpdater();\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadRollUpdater.apply(this, arguments);\n}\n\nexports.loadRollUpdater = loadRollUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeUpdater = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.size.animation.destroy) {\n case Enums_1.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n\n break;\n\n case Enums_1.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n\n break;\n }\n}\n\nfunction updateSize(particle, delta) {\n var _a, _b, _c, _d;\n\n var sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n var minValue = particle.size.min;\n var maxValue = particle.size.max;\n\n 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)))) {\n return;\n }\n\n switch (particle.size.status) {\n case Enums_1.AnimationStatus.increasing:\n if (particle.size.value >= maxValue) {\n particle.size.status = Enums_1.AnimationStatus.decreasing;\n\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n\n particle.size.loops++;\n } else {\n particle.size.value += sizeVelocity;\n }\n\n break;\n\n case Enums_1.AnimationStatus.decreasing:\n if (particle.size.value <= minValue) {\n particle.size.status = Enums_1.AnimationStatus.increasing;\n\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n\n particle.size.loops++;\n } else {\n particle.size.value -= sizeVelocity;\n }\n\n }\n\n checkDestroy(particle, particle.size.value, minValue, maxValue);\n\n if (!particle.destroyed) {\n particle.size.value = (0, Utils_1.clamp)(particle.size.value, minValue, maxValue);\n }\n}\n\nvar SizeUpdater = /*#__PURE__*/function () {\n function SizeUpdater() {\n _classCallCheck(this, SizeUpdater);\n }\n\n _createClass(SizeUpdater, [{\n key: \"init\",\n value: function init() {}\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var _a, _b, _c;\n\n 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));\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateSize(particle, delta);\n }\n }]);\n\n return SizeUpdater;\n}();\n\nexports.SizeUpdater = SizeUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadSizeUpdater = void 0;\n\nvar SizeUpdater_1 = require(\"./SizeUpdater\");\n\nfunction loadSizeUpdater(_x) {\n return _loadSizeUpdater.apply(this, arguments);\n}\n\nfunction _loadSizeUpdater() {\n _loadSizeUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"size\", function () {\n return new SizeUpdater_1.SizeUpdater();\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadSizeUpdater.apply(this, arguments);\n}\n\nexports.loadSizeUpdater = loadSizeUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StrokeColorUpdater = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nvar Enums_1 = require(\"../../Enums\");\n\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n\n var colorValue = value;\n\n if (!colorValue || !colorValue.enable) {\n return;\n }\n\n var offset = (0, Utils_1.randomInRange)(valueAnimation.offset);\n var velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n\n if (!decrease || colorValue.status === Enums_1.AnimationStatus.increasing) {\n colorValue.value += velocity;\n\n if (decrease && colorValue.value > max) {\n colorValue.status = Enums_1.AnimationStatus.decreasing;\n colorValue.value -= colorValue.value % max;\n }\n } else {\n colorValue.value -= velocity;\n\n if (colorValue.value < 0) {\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.value += colorValue.value;\n }\n }\n\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\n\nfunction updateStrokeColor(particle, delta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n\n if (!((_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color)) {\n return;\n }\n\n var animationOptions = particle.stroke.color.animation;\n var h = (_c = (_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h) !== null && _c !== void 0 ? _c : (_d = particle.color) === null || _d === void 0 ? void 0 : _d.h;\n\n if (h) {\n updateColorValue(delta, h, animationOptions.h, 360, false);\n }\n\n var s = (_f = (_e = particle.strokeColor) === null || _e === void 0 ? void 0 : _e.s) !== null && _f !== void 0 ? _f : (_g = particle.color) === null || _g === void 0 ? void 0 : _g.s;\n\n if (s) {\n updateColorValue(delta, s, animationOptions.s, 100, true);\n }\n\n var l = (_j = (_h = particle.strokeColor) === null || _h === void 0 ? void 0 : _h.l) !== null && _j !== void 0 ? _j : (_k = particle.color) === null || _k === void 0 ? void 0 : _k.l;\n\n if (l) {\n updateColorValue(delta, l, animationOptions.l, 100, true);\n }\n}\n\nvar StrokeColorUpdater = /*#__PURE__*/function () {\n function StrokeColorUpdater(container) {\n _classCallCheck(this, StrokeColorUpdater);\n\n this.container = container;\n }\n\n _createClass(StrokeColorUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var _a, _b;\n\n var container = this.container;\n particle.stroke = particle.options.stroke instanceof Array ? (0, Utils_1.itemFromArray)(particle.options.stroke, particle.id, particle.options.reduceDuplicates) : particle.options.stroke;\n particle.strokeWidth = particle.stroke.width * container.retina.pixelRatio;\n var strokeHslColor = (_a = (0, Utils_1.colorToHsl)(particle.stroke.color)) !== null && _a !== void 0 ? _a : particle.getFillColor();\n\n if (strokeHslColor) {\n particle.strokeColor = (0, Utils_1.getHslAnimationFromHsl)(strokeHslColor, (_b = particle.stroke.color) === null || _b === void 0 ? void 0 : _b.animation, container.retina.reduceFactor);\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var _a, _b, _c, _d;\n\n var color = (_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color;\n return !particle.destroyed && !particle.spawning && !!color && (((_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h.value) !== undefined && color.animation.h.enable || ((_c = particle.strokeColor) === null || _c === void 0 ? void 0 : _c.s.value) !== undefined && color.animation.s.enable || ((_d = particle.strokeColor) === null || _d === void 0 ? void 0 : _d.l.value) !== undefined && color.animation.l.enable);\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateStrokeColor(particle, delta);\n }\n }]);\n\n return StrokeColorUpdater;\n}();\n\nexports.StrokeColorUpdater = StrokeColorUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadStrokeColorUpdater = void 0;\n\nvar StrokeColorUpdater_1 = require(\"./StrokeColorUpdater\");\n\nfunction loadStrokeColorUpdater(_x) {\n return _loadStrokeColorUpdater.apply(this, arguments);\n}\n\nfunction _loadStrokeColorUpdater() {\n _loadStrokeColorUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"strokeColor\", function (container) {\n return new StrokeColorUpdater_1.StrokeColorUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadStrokeColorUpdater.apply(this, arguments);\n}\n\nexports.loadStrokeColorUpdater = loadStrokeColorUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TiltUpdater = void 0;\n\nvar Enums_1 = require(\"../../Enums\");\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction updateTilt(particle, delta) {\n var _a;\n\n if (!particle.tilt) {\n return;\n }\n\n var tilt = particle.options.tilt;\n var tiltAnimation = tilt.animation;\n var speed = ((_a = particle.tilt.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n var max = 2 * Math.PI;\n\n if (!tiltAnimation.enable) {\n return;\n }\n\n switch (particle.tilt.status) {\n case Enums_1.AnimationStatus.increasing:\n particle.tilt.value += speed;\n\n if (particle.tilt.value > max) {\n particle.tilt.value -= max;\n }\n\n break;\n\n case Enums_1.AnimationStatus.decreasing:\n default:\n particle.tilt.value -= speed;\n\n if (particle.tilt.value < 0) {\n particle.tilt.value += max;\n }\n\n break;\n }\n}\n\nvar TiltUpdater = /*#__PURE__*/function () {\n function TiltUpdater(container) {\n _classCallCheck(this, TiltUpdater);\n\n this.container = container;\n }\n\n _createClass(TiltUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var tiltOptions = particle.options.tilt;\n particle.tilt = {\n enable: tiltOptions.enable,\n value: (0, Utils_1.getRangeValue)(tiltOptions.value) * Math.PI / 180,\n sinDirection: Math.random() >= 0.5 ? 1 : -1,\n cosDirection: Math.random() >= 0.5 ? 1 : -1\n };\n var tiltDirection = tiltOptions.direction;\n\n if (tiltDirection === Enums_1.TiltDirection.random) {\n var index = Math.floor(Math.random() * 2);\n tiltDirection = index > 0 ? Enums_1.TiltDirection.counterClockwise : Enums_1.TiltDirection.clockwise;\n }\n\n switch (tiltDirection) {\n case Enums_1.TiltDirection.counterClockwise:\n case \"counterClockwise\":\n particle.tilt.status = Enums_1.AnimationStatus.decreasing;\n break;\n\n case Enums_1.TiltDirection.clockwise:\n particle.tilt.status = Enums_1.AnimationStatus.increasing;\n break;\n }\n\n var tiltAnimation = particle.options.tilt.animation;\n\n if (tiltAnimation.enable) {\n particle.tilt.velocity = tiltAnimation.speed / 360 * this.container.retina.reduceFactor;\n\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= Math.random();\n }\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n var tilt = particle.options.tilt;\n var tiltAnimation = tilt.animation;\n return !particle.destroyed && !particle.spawning && tiltAnimation.enable;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateTilt(particle, delta);\n }\n }]);\n\n return TiltUpdater;\n}();\n\nexports.TiltUpdater = TiltUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadTiltUpdater = void 0;\n\nvar TiltUpdater_1 = require(\"./TiltUpdater\");\n\nfunction loadTiltUpdater(_x) {\n return _loadTiltUpdater.apply(this, arguments);\n}\n\nfunction _loadTiltUpdater() {\n _loadTiltUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"tilt\", function (container) {\n return new TiltUpdater_1.TiltUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadTiltUpdater.apply(this, arguments);\n}\n\nexports.loadTiltUpdater = loadTiltUpdater;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WobbleUpdater = void 0;\n\nvar Utils_1 = require(\"../../Utils\");\n\nfunction updateWobble(particle, delta) {\n var _a;\n\n var wobble = particle.options.wobble;\n\n if (!wobble.enable || !particle.wobble) {\n return;\n }\n\n var speed = particle.wobble.speed * delta.factor;\n var distance = ((_a = particle.retina.wobbleDistance) !== null && _a !== void 0 ? _a : 0) * delta.factor / (1000 / 60);\n var max = 2 * Math.PI;\n particle.wobble.angle += speed;\n\n if (particle.wobble.angle > max) {\n particle.wobble.angle -= max;\n }\n\n particle.position.x += distance * Math.cos(particle.wobble.angle);\n particle.position.y += distance * Math.abs(Math.sin(particle.wobble.angle));\n}\n\nvar WobbleUpdater = /*#__PURE__*/function () {\n function WobbleUpdater(container) {\n _classCallCheck(this, WobbleUpdater);\n\n this.container = container;\n }\n\n _createClass(WobbleUpdater, [{\n key: \"init\",\n value: function init(particle) {\n var wobbleOpt = particle.options.wobble;\n\n if (wobbleOpt.enable) {\n particle.wobble = {\n angle: Math.random() * Math.PI * 2,\n speed: (0, Utils_1.getRangeValue)(wobbleOpt.speed) / 360\n };\n } else {\n particle.wobble = {\n angle: 0,\n speed: 0\n };\n }\n\n particle.retina.wobbleDistance = (0, Utils_1.getRangeValue)(wobbleOpt.distance) * this.container.retina.pixelRatio;\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.options.wobble.enable;\n }\n }, {\n key: \"update\",\n value: function update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n\n updateWobble(particle, delta);\n }\n }]);\n\n return WobbleUpdater;\n}();\n\nexports.WobbleUpdater = WobbleUpdater;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadWobbleUpdater = void 0;\n\nvar WobbleUpdater_1 = require(\"./WobbleUpdater\");\n\nfunction loadWobbleUpdater(_x) {\n return _loadWobbleUpdater.apply(this, arguments);\n}\n\nfunction _loadWobbleUpdater() {\n _loadWobbleUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return tsParticles.addParticleUpdater(\"wobble\", function (container) {\n return new WobbleUpdater_1.WobbleUpdater(container);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadWobbleUpdater.apply(this, arguments);\n}\n\nexports.loadWobbleUpdater = loadWobbleUpdater;","\"use strict\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alterHsl = exports.drawEllipse = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterEffect = exports.drawShape = exports.drawParticle = exports.drawGrabLine = exports.gradient = exports.drawConnectLine = exports.drawLinkTriangle = exports.drawLinkLine = exports.clear = exports.paintBase = void 0;\n\nvar NumberUtils_1 = require(\"./NumberUtils\");\n\nvar ColorUtils_1 = require(\"./ColorUtils\");\n\nvar Enums_1 = require(\"../Enums\");\n\nfunction drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\n\nfunction drawTriangle(context, p1, p2, p3) {\n context.beginPath();\n context.moveTo(p1.x, p1.y);\n context.lineTo(p2.x, p2.y);\n context.lineTo(p3.x, p3.y);\n context.closePath();\n}\n\nfunction paintBase(context, dimension, baseColor) {\n context.save();\n context.fillStyle = baseColor !== null && baseColor !== void 0 ? baseColor : \"rgba(0,0,0,0)\";\n context.fillRect(0, 0, dimension.width, dimension.height);\n context.restore();\n}\n\nexports.paintBase = paintBase;\n\nfunction clear(context, dimension) {\n context.clearRect(0, 0, dimension.width, dimension.height);\n}\n\nexports.clear = clear;\n\nfunction drawLinkLine(context, width, begin, end, maxDistance, canvasSize, warp, backgroundMask, composite, colorLine, opacity, shadow) {\n var drawn = false;\n\n if ((0, NumberUtils_1.getDistance)(begin, end) <= maxDistance) {\n drawLine(context, begin, end);\n drawn = true;\n } else if (warp) {\n var pi1;\n var pi2;\n var endNE = {\n x: end.x - canvasSize.width,\n y: end.y\n };\n var d1 = (0, NumberUtils_1.getDistances)(begin, endNE);\n\n if (d1.distance <= maxDistance) {\n var yi = begin.y - d1.dy / d1.dx * begin.x;\n pi1 = {\n x: 0,\n y: yi\n };\n pi2 = {\n x: canvasSize.width,\n y: yi\n };\n } else {\n var endSW = {\n x: end.x,\n y: end.y - canvasSize.height\n };\n var d2 = (0, NumberUtils_1.getDistances)(begin, endSW);\n\n if (d2.distance <= maxDistance) {\n var _yi = begin.y - d2.dy / d2.dx * begin.x;\n\n var xi = -_yi / (d2.dy / d2.dx);\n pi1 = {\n x: xi,\n y: 0\n };\n pi2 = {\n x: xi,\n y: canvasSize.height\n };\n } else {\n var endSE = {\n x: end.x - canvasSize.width,\n y: end.y - canvasSize.height\n };\n var d3 = (0, NumberUtils_1.getDistances)(begin, endSE);\n\n if (d3.distance <= maxDistance) {\n var _yi2 = begin.y - d3.dy / d3.dx * begin.x;\n\n var _xi = -_yi2 / (d3.dy / d3.dx);\n\n pi1 = {\n x: _xi,\n y: _yi2\n };\n pi2 = {\n x: pi1.x + canvasSize.width,\n y: pi1.y + canvasSize.height\n };\n }\n }\n }\n\n if (pi1 && pi2) {\n drawLine(context, begin, pi1);\n drawLine(context, end, pi2);\n drawn = true;\n }\n }\n\n if (!drawn) {\n return;\n }\n\n context.lineWidth = width;\n\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n\n context.strokeStyle = (0, ColorUtils_1.getStyleFromRgb)(colorLine, opacity);\n\n if (shadow.enable) {\n var shadowColor = (0, ColorUtils_1.colorToRgb)(shadow.color);\n\n if (shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = (0, ColorUtils_1.getStyleFromRgb)(shadowColor);\n }\n }\n\n context.stroke();\n}\n\nexports.drawLinkLine = drawLinkLine;\n\nfunction drawLinkTriangle(context, pos1, pos2, pos3, backgroundMask, composite, colorTriangle, opacityTriangle) {\n drawTriangle(context, pos1, pos2, pos3);\n\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n\n context.fillStyle = (0, ColorUtils_1.getStyleFromRgb)(colorTriangle, opacityTriangle);\n context.fill();\n}\n\nexports.drawLinkTriangle = drawLinkTriangle;\n\nfunction drawConnectLine(context, width, lineStyle, begin, end) {\n context.save();\n drawLine(context, begin, end);\n context.lineWidth = width;\n context.strokeStyle = lineStyle;\n context.stroke();\n context.restore();\n}\n\nexports.drawConnectLine = drawConnectLine;\n\nfunction gradient(context, p1, p2, opacity) {\n var gradStop = Math.floor(p2.getRadius() / p1.getRadius());\n var color1 = p1.getFillColor();\n var color2 = p2.getFillColor();\n\n if (!color1 || !color2) {\n return;\n }\n\n var sourcePos = p1.getPosition();\n var destPos = p2.getPosition();\n var midRgb = (0, ColorUtils_1.colorMix)(color1, color2, p1.getRadius(), p2.getRadius());\n var grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);\n grad.addColorStop(0, (0, ColorUtils_1.getStyleFromHsl)(color1, opacity));\n grad.addColorStop(gradStop > 1 ? 1 : gradStop, (0, ColorUtils_1.getStyleFromRgb)(midRgb, opacity));\n grad.addColorStop(1, (0, ColorUtils_1.getStyleFromHsl)(color2, opacity));\n return grad;\n}\n\nexports.gradient = gradient;\n\nfunction drawGrabLine(context, width, begin, end, colorLine, opacity) {\n context.save();\n drawLine(context, begin, end);\n context.strokeStyle = (0, ColorUtils_1.getStyleFromRgb)(colorLine, opacity);\n context.lineWidth = width;\n context.stroke();\n context.restore();\n}\n\nexports.drawGrabLine = drawGrabLine;\n\nfunction drawParticle(container, context, particle, delta, fillColorValue, strokeColorValue, backgroundMask, composite, radius, opacity, shadow, gradient) {\n var _a, _b, _c, _d, _e, _f;\n\n var pos = particle.getPosition();\n var tiltOptions = particle.options.tilt;\n var rollOptions = particle.options.roll;\n context.save();\n\n if (tiltOptions.enable || rollOptions.enable) {\n var roll = rollOptions.enable && particle.roll;\n var tilt = tiltOptions.enable && particle.tilt;\n var rollHorizontal = roll && (rollOptions.mode === Enums_1.RollMode.horizontal || rollOptions.mode === Enums_1.RollMode.both);\n var rollVertical = roll && (rollOptions.mode === Enums_1.RollMode.vertical || rollOptions.mode === Enums_1.RollMode.both);\n context.setTransform(rollHorizontal ? Math.cos(particle.roll.angle) : 1, tilt ? Math.cos(particle.tilt.value) * particle.tilt.cosDirection : 0, tilt ? Math.sin(particle.tilt.value) * particle.tilt.sinDirection : 0, rollVertical ? Math.sin(particle.roll.angle) : 1, pos.x, pos.y);\n } else {\n context.translate(pos.x, pos.y);\n }\n\n context.beginPath();\n var angle = ((_b = (_a = particle.rotate) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0) + (particle.options.rotate.path ? particle.velocity.angle : 0);\n\n if (angle !== 0) {\n context.rotate(angle);\n }\n\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n\n var shadowColor = particle.shadowColor;\n\n if (shadow.enable && shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = (0, ColorUtils_1.getStyleFromRgb)(shadowColor);\n context.shadowOffsetX = shadow.offset.x;\n context.shadowOffsetY = shadow.offset.y;\n }\n\n if (gradient) {\n var gradientAngle = gradient.angle.value;\n var fillGradient = gradient.type === Enums_1.GradientType.radial ? context.createRadialGradient(0, 0, 0, 0, 0, radius) : context.createLinearGradient(Math.cos(gradientAngle) * -radius, Math.sin(gradientAngle) * -radius, Math.cos(gradientAngle) * radius, Math.sin(gradientAngle) * radius);\n\n var _iterator = _createForOfIteratorHelper(gradient.colors),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var color = _step.value;\n fillGradient.addColorStop(color.stop, (0, ColorUtils_1.getStyleFromHsl)({\n h: color.value.h.value,\n s: color.value.s.value,\n l: color.value.l.value\n }, (_d = (_c = color.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : opacity));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n context.fillStyle = fillGradient;\n } else {\n if (fillColorValue) {\n context.fillStyle = fillColorValue;\n }\n }\n\n var stroke = particle.stroke;\n context.lineWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;\n\n if (strokeColorValue) {\n context.strokeStyle = strokeColorValue;\n }\n\n drawShape(container, context, particle, radius, opacity, delta);\n\n if (((_f = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _f !== void 0 ? _f : 0) > 0) {\n context.stroke();\n }\n\n if (particle.close) {\n context.closePath();\n }\n\n if (particle.fill) {\n context.fill();\n }\n\n context.restore();\n context.save();\n\n if (tiltOptions.enable && particle.tilt) {\n context.setTransform(1, Math.cos(particle.tilt.value) * particle.tilt.cosDirection, Math.sin(particle.tilt.value) * particle.tilt.sinDirection, 1, pos.x, pos.y);\n } else {\n context.translate(pos.x, pos.y);\n }\n\n if (angle !== 0) {\n context.rotate(angle);\n }\n\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n\n drawShapeAfterEffect(container, context, particle, radius, opacity, delta);\n context.restore();\n}\n\nexports.drawParticle = drawParticle;\n\nfunction drawShape(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n\n var drawer = container.drawers.get(particle.shape);\n\n if (!drawer) {\n return;\n }\n\n drawer.draw(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\n\nexports.drawShape = drawShape;\n\nfunction drawShapeAfterEffect(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n\n var drawer = container.drawers.get(particle.shape);\n\n if (!(drawer === null || drawer === void 0 ? void 0 : drawer.afterEffect)) {\n return;\n }\n\n drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\n\nexports.drawShapeAfterEffect = drawShapeAfterEffect;\n\nfunction drawPlugin(context, plugin, delta) {\n if (!plugin.draw) {\n return;\n }\n\n context.save();\n plugin.draw(context, delta);\n context.restore();\n}\n\nexports.drawPlugin = drawPlugin;\n\nfunction drawParticlePlugin(context, plugin, particle, delta) {\n if (plugin.drawParticle !== undefined) {\n context.save();\n plugin.drawParticle(context, particle, delta);\n context.restore();\n }\n}\n\nexports.drawParticlePlugin = drawParticlePlugin;\n\nfunction drawEllipse(context, particle, fillColorValue, radius, opacity, width, rotation, start, end) {\n var pos = particle.getPosition();\n\n if (fillColorValue) {\n context.strokeStyle = (0, ColorUtils_1.getStyleFromHsl)(fillColorValue, opacity);\n }\n\n if (width === 0) {\n return;\n }\n\n context.lineWidth = width;\n var rotationRadian = rotation * Math.PI / 180;\n context.beginPath();\n context.ellipse(pos.x, pos.y, radius / 2, radius * 2, rotationRadian, start, end);\n context.stroke();\n}\n\nexports.drawEllipse = drawEllipse;\n\nfunction alterHsl(color, type, value) {\n return {\n h: color.h,\n s: color.s,\n l: color.l + (type === Enums_1.AlterType.darken ? -1 : 1) * value\n };\n}\n\nexports.alterHsl = alterHsl;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Circle = void 0;\n\nvar Range_1 = require(\"./Range\");\n\nvar NumberUtils_1 = require(\"./NumberUtils\");\n\nvar Circle = /*#__PURE__*/function (_Range_1$Range) {\n _inherits(Circle, _Range_1$Range);\n\n var _super = _createSuper(Circle);\n\n function Circle(x, y, radius) {\n var _this;\n\n _classCallCheck(this, Circle);\n\n _this = _super.call(this, x, y);\n _this.radius = radius;\n return _this;\n }\n\n _createClass(Circle, [{\n key: \"contains\",\n value: function contains(point) {\n return (0, NumberUtils_1.getDistance)(point, this.position) <= this.radius;\n }\n }, {\n key: \"intersects\",\n value: function intersects(range) {\n var rect = range;\n var circle = range;\n var pos1 = this.position;\n var pos2 = range.position;\n var xDist = Math.abs(pos2.x - pos1.x);\n var yDist = Math.abs(pos2.y - pos1.y);\n var r = this.radius;\n\n if (circle.radius !== undefined) {\n var rSum = r + circle.radius;\n var dist = Math.sqrt(xDist * xDist + yDist + yDist);\n return rSum > dist;\n } else if (rect.size !== undefined) {\n var w = rect.size.width;\n var h = rect.size.height;\n var edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);\n\n if (xDist > r + w || yDist > r + h) {\n return false;\n }\n\n if (xDist <= w || yDist <= h) {\n return true;\n }\n\n return edges <= r * r;\n }\n\n return false;\n }\n }]);\n\n return Circle;\n}(Range_1.Range);\n\nexports.Circle = Circle;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CircleWarp = void 0;\n\nvar Rectangle_1 = require(\"./Rectangle\");\n\nvar Circle_1 = require(\"./Circle\");\n\nvar CircleWarp = /*#__PURE__*/function (_Circle_1$Circle) {\n _inherits(CircleWarp, _Circle_1$Circle);\n\n var _super = _createSuper(CircleWarp);\n\n function CircleWarp(x, y, radius, canvasSize) {\n var _this;\n\n _classCallCheck(this, CircleWarp);\n\n _this = _super.call(this, x, y, radius);\n _this.canvasSize = canvasSize;\n _this.canvasSize = {\n height: canvasSize.height,\n width: canvasSize.width\n };\n return _this;\n }\n\n _createClass(CircleWarp, [{\n key: \"contains\",\n value: function contains(point) {\n if (_get(_getPrototypeOf(CircleWarp.prototype), \"contains\", this).call(this, point)) {\n return true;\n }\n\n var posNE = {\n x: point.x - this.canvasSize.width,\n y: point.y\n };\n\n if (_get(_getPrototypeOf(CircleWarp.prototype), \"contains\", this).call(this, posNE)) {\n return true;\n }\n\n var posSE = {\n x: point.x - this.canvasSize.width,\n y: point.y - this.canvasSize.height\n };\n\n if (_get(_getPrototypeOf(CircleWarp.prototype), \"contains\", this).call(this, posSE)) {\n return true;\n }\n\n var posSW = {\n x: point.x,\n y: point.y - this.canvasSize.height\n };\n return _get(_getPrototypeOf(CircleWarp.prototype), \"contains\", this).call(this, posSW);\n }\n }, {\n key: \"intersects\",\n value: function intersects(range) {\n if (_get(_getPrototypeOf(CircleWarp.prototype), \"intersects\", this).call(this, range)) {\n return true;\n }\n\n var rect = range;\n var circle = range;\n var newPos = {\n x: range.position.x - this.canvasSize.width,\n y: range.position.y - this.canvasSize.height\n };\n\n if (circle.radius !== undefined) {\n var biggerCircle = new Circle_1.Circle(newPos.x, newPos.y, circle.radius * 2);\n return _get(_getPrototypeOf(CircleWarp.prototype), \"intersects\", this).call(this, biggerCircle);\n } else if (rect.size !== undefined) {\n var rectSW = new Rectangle_1.Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);\n return _get(_getPrototypeOf(CircleWarp.prototype), \"intersects\", this).call(this, rectSW);\n }\n\n return false;\n }\n }]);\n\n return CircleWarp;\n}(Circle_1.Circle);\n\nexports.CircleWarp = CircleWarp;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getHslAnimationFromHsl = exports.getHslFromAnimation = exports.getLinkRandomColor = exports.getLinkColor = exports.colorMix = exports.getStyleFromHsv = exports.getStyleFromHsl = exports.getStyleFromRgb = exports.getRandomRgbColor = exports.rgbaToHsva = exports.rgbToHsv = exports.hsvaToRgba = exports.hsvToRgb = exports.hsvaToHsla = exports.hsvToHsl = exports.hslaToHsva = exports.hslToHsv = exports.hslaToRgba = exports.hslToRgb = exports.stringToRgb = exports.stringToAlpha = exports.rgbToHsl = exports.colorToHsl = exports.colorToRgb = void 0;\n\nvar Utils_1 = require(\"./Utils\");\n\nvar Constants_1 = require(\"./Constants\");\n\nvar NumberUtils_1 = require(\"./NumberUtils\");\n\nvar Enums_1 = require(\"../Enums\");\n\nfunction hue2rgb(p, q, t) {\n var tCalc = t;\n\n if (tCalc < 0) {\n tCalc += 1;\n }\n\n if (tCalc > 1) {\n tCalc -= 1;\n }\n\n if (tCalc < 1 / 6) {\n return p + (q - p) * 6 * tCalc;\n }\n\n if (tCalc < 1 / 2) {\n return q;\n }\n\n if (tCalc < 2 / 3) {\n return p + (q - p) * (2 / 3 - tCalc) * 6;\n }\n\n return p;\n}\n\nfunction stringToRgba(input) {\n if (input.startsWith(\"rgb\")) {\n var regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n var result = regex.exec(input);\n return result ? {\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n b: parseInt(result[3], 10),\n g: parseInt(result[2], 10),\n r: parseInt(result[1], 10)\n } : undefined;\n } else if (input.startsWith(\"hsl\")) {\n var _regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n\n var _result = _regex.exec(input);\n\n return _result ? hslaToRgba({\n a: _result.length > 4 ? parseFloat(_result[5]) : 1,\n h: parseInt(_result[1], 10),\n l: parseInt(_result[3], 10),\n s: parseInt(_result[2], 10)\n }) : undefined;\n } else if (input.startsWith(\"hsv\")) {\n var _regex2 = /hsva?\\(\\s*(\\d+)°\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n\n var _result2 = _regex2.exec(input);\n\n return _result2 ? hsvaToRgba({\n a: _result2.length > 4 ? parseFloat(_result2[5]) : 1,\n h: parseInt(_result2[1], 10),\n s: parseInt(_result2[2], 10),\n v: parseInt(_result2[3], 10)\n }) : undefined;\n } else {\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\n var hexFixed = input.replace(shorthandRegex, function (_m, r, g, b, a) {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n });\n var _regex3 = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\n\n var _result3 = _regex3.exec(hexFixed);\n\n return _result3 ? {\n a: _result3[4] !== undefined ? parseInt(_result3[4], 16) / 0xff : 1,\n b: parseInt(_result3[3], 16),\n g: parseInt(_result3[2], 16),\n r: parseInt(_result3[1], 16)\n } : undefined;\n }\n}\n\nfunction colorToRgb(input, index) {\n var useIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _a, _b, _c;\n\n if (input === undefined) {\n return;\n }\n\n var color = typeof input === \"string\" ? {\n value: input\n } : input;\n var res;\n\n if (typeof color.value === \"string\") {\n if (color.value === Constants_1.Constants.randomColorValue) {\n res = getRandomRgbColor();\n } else {\n res = stringToRgb(color.value);\n }\n } else {\n if (color.value instanceof Array) {\n var colorSelected = (0, Utils_1.itemFromArray)(color.value, index, useIndex);\n res = colorToRgb({\n value: colorSelected\n });\n } else {\n var colorValue = color.value;\n var rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n\n if (rgbColor.r !== undefined) {\n res = rgbColor;\n } else {\n var hslColor = (_b = colorValue.hsl) !== null && _b !== void 0 ? _b : color.value;\n\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n res = hslToRgb(hslColor);\n } else {\n var hsvColor = (_c = colorValue.hsv) !== null && _c !== void 0 ? _c : color.value;\n\n if (hsvColor.h !== undefined && hsvColor.v !== undefined) {\n res = hsvToRgb(hsvColor);\n }\n }\n }\n }\n }\n\n return res;\n}\n\nexports.colorToRgb = colorToRgb;\n\nfunction colorToHsl(color, index) {\n var useIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var rgb = colorToRgb(color, index, useIndex);\n return rgb !== undefined ? rgbToHsl(rgb) : undefined;\n}\n\nexports.colorToHsl = colorToHsl;\n\nfunction rgbToHsl(color) {\n var r1 = color.r / 255;\n var g1 = color.g / 255;\n var b1 = color.b / 255;\n var max = Math.max(r1, g1, b1);\n var min = Math.min(r1, g1, b1);\n var res = {\n h: 0,\n l: (max + min) / 2,\n s: 0\n };\n\n if (max != min) {\n res.s = res.l < 0.5 ? (max - min) / (max + min) : (max - min) / (2.0 - max - min);\n res.h = r1 === max ? (g1 - b1) / (max - min) : res.h = g1 === max ? 2.0 + (b1 - r1) / (max - min) : 4.0 + (r1 - g1) / (max - min);\n }\n\n res.l *= 100;\n res.s *= 100;\n res.h *= 60;\n\n if (res.h < 0) {\n res.h += 360;\n }\n\n return res;\n}\n\nexports.rgbToHsl = rgbToHsl;\n\nfunction stringToAlpha(input) {\n var _a;\n\n return (_a = stringToRgba(input)) === null || _a === void 0 ? void 0 : _a.a;\n}\n\nexports.stringToAlpha = stringToAlpha;\n\nfunction stringToRgb(input) {\n return stringToRgba(input);\n}\n\nexports.stringToRgb = stringToRgb;\n\nfunction hslToRgb(hsl) {\n var result = {\n b: 0,\n g: 0,\n r: 0\n };\n var hslPercent = {\n h: hsl.h / 360,\n l: hsl.l / 100,\n s: hsl.s / 100\n };\n\n if (hslPercent.s === 0) {\n result.b = hslPercent.l;\n result.g = hslPercent.l;\n result.r = hslPercent.l;\n } else {\n var q = hslPercent.l < 0.5 ? hslPercent.l * (1 + hslPercent.s) : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s;\n var p = 2 * hslPercent.l - q;\n result.r = hue2rgb(p, q, hslPercent.h + 1 / 3);\n result.g = hue2rgb(p, q, hslPercent.h);\n result.b = hue2rgb(p, q, hslPercent.h - 1 / 3);\n }\n\n result.r = Math.floor(result.r * 255);\n result.g = Math.floor(result.g * 255);\n result.b = Math.floor(result.b * 255);\n return result;\n}\n\nexports.hslToRgb = hslToRgb;\n\nfunction hslaToRgba(hsla) {\n var rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r\n };\n}\n\nexports.hslaToRgba = hslaToRgba;\n\nfunction hslToHsv(hsl) {\n var l = hsl.l / 100,\n sl = hsl.s / 100;\n var v = l + sl * Math.min(l, 1 - l),\n sv = !v ? 0 : 2 * (1 - l / v);\n return {\n h: hsl.h,\n s: sv * 100,\n v: v * 100\n };\n}\n\nexports.hslToHsv = hslToHsv;\n\nfunction hslaToHsva(hsla) {\n var hsvResult = hslToHsv(hsla);\n return {\n a: hsla.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v\n };\n}\n\nexports.hslaToHsva = hslaToHsva;\n\nfunction hsvToHsl(hsv) {\n var v = hsv.v / 100,\n sv = hsv.s / 100;\n var l = v * (1 - sv / 2),\n sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h: hsv.h,\n l: l * 100,\n s: sl * 100\n };\n}\n\nexports.hsvToHsl = hsvToHsl;\n\nfunction hsvaToHsla(hsva) {\n var hslResult = hsvToHsl(hsva);\n return {\n a: hsva.a,\n h: hslResult.h,\n l: hslResult.l,\n s: hslResult.s\n };\n}\n\nexports.hsvaToHsla = hsvaToHsla;\n\nfunction hsvToRgb(hsv) {\n var result = {\n b: 0,\n g: 0,\n r: 0\n };\n var hsvPercent = {\n h: hsv.h / 60,\n s: hsv.s / 100,\n v: hsv.v / 100\n };\n var c = hsvPercent.v * hsvPercent.s,\n x = c * (1 - Math.abs(hsvPercent.h % 2 - 1));\n var tempRgb;\n\n if (hsvPercent.h >= 0 && hsvPercent.h <= 1) {\n tempRgb = {\n r: c,\n g: x,\n b: 0\n };\n } else if (hsvPercent.h > 1 && hsvPercent.h <= 2) {\n tempRgb = {\n r: x,\n g: c,\n b: 0\n };\n } else if (hsvPercent.h > 2 && hsvPercent.h <= 3) {\n tempRgb = {\n r: 0,\n g: c,\n b: x\n };\n } else if (hsvPercent.h > 3 && hsvPercent.h <= 4) {\n tempRgb = {\n r: 0,\n g: x,\n b: c\n };\n } else if (hsvPercent.h > 4 && hsvPercent.h <= 5) {\n tempRgb = {\n r: x,\n g: 0,\n b: c\n };\n } else if (hsvPercent.h > 5 && hsvPercent.h <= 6) {\n tempRgb = {\n r: c,\n g: 0,\n b: x\n };\n }\n\n if (tempRgb) {\n var m = hsvPercent.v - c;\n result.r = Math.floor((tempRgb.r + m) * 255);\n result.g = Math.floor((tempRgb.g + m) * 255);\n result.b = Math.floor((tempRgb.b + m) * 255);\n }\n\n return result;\n}\n\nexports.hsvToRgb = hsvToRgb;\n\nfunction hsvaToRgba(hsva) {\n var rgbResult = hsvToRgb(hsva);\n return {\n a: hsva.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r\n };\n}\n\nexports.hsvaToRgba = hsvaToRgba;\n\nfunction rgbToHsv(rgb) {\n var rgbPercent = {\n r: rgb.r / 255,\n g: rgb.g / 255,\n b: rgb.b / 255\n },\n xMax = Math.max(rgbPercent.r, rgbPercent.g, rgbPercent.b),\n xMin = Math.min(rgbPercent.r, rgbPercent.g, rgbPercent.b),\n v = xMax,\n c = xMax - xMin;\n var h = 0;\n\n if (v === rgbPercent.r) {\n h = 60 * ((rgbPercent.g - rgbPercent.b) / c);\n } else if (v === rgbPercent.g) {\n h = 60 * (2 + (rgbPercent.b - rgbPercent.r) / c);\n } else if (v === rgbPercent.b) {\n h = 60 * (4 + (rgbPercent.r - rgbPercent.g) / c);\n }\n\n var s = !v ? 0 : c / v;\n return {\n h: h,\n s: s * 100,\n v: v * 100\n };\n}\n\nexports.rgbToHsv = rgbToHsv;\n\nfunction rgbaToHsva(rgba) {\n var hsvResult = rgbToHsv(rgba);\n return {\n a: rgba.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v\n };\n}\n\nexports.rgbaToHsva = rgbaToHsva;\n\nfunction getRandomRgbColor(min) {\n var fixedMin = min !== null && min !== void 0 ? min : 0;\n return {\n b: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),\n g: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),\n r: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256)))\n };\n}\n\nexports.getRandomRgbColor = getRandomRgbColor;\n\nfunction getStyleFromRgb(color, opacity) {\n return \"rgba(\".concat(color.r, \", \").concat(color.g, \", \").concat(color.b, \", \").concat(opacity !== null && opacity !== void 0 ? opacity : 1, \")\");\n}\n\nexports.getStyleFromRgb = getStyleFromRgb;\n\nfunction getStyleFromHsl(color, opacity) {\n return \"hsla(\".concat(color.h, \", \").concat(color.s, \"%, \").concat(color.l, \"%, \").concat(opacity !== null && opacity !== void 0 ? opacity : 1, \")\");\n}\n\nexports.getStyleFromHsl = getStyleFromHsl;\n\nfunction getStyleFromHsv(color, opacity) {\n return getStyleFromHsl(hsvToHsl(color), opacity);\n}\n\nexports.getStyleFromHsv = getStyleFromHsv;\n\nfunction colorMix(color1, color2, size1, size2) {\n var rgb1 = color1;\n var rgb2 = color2;\n\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n\n return {\n b: (0, NumberUtils_1.mix)(rgb1.b, rgb2.b, size1, size2),\n g: (0, NumberUtils_1.mix)(rgb1.g, rgb2.g, size1, size2),\n r: (0, NumberUtils_1.mix)(rgb1.r, rgb2.r, size1, size2)\n };\n}\n\nexports.colorMix = colorMix;\n\nfunction getLinkColor(p1, p2, linkColor) {\n var _a, _b;\n\n if (linkColor === Constants_1.Constants.randomColorValue) {\n return getRandomRgbColor();\n } else if (linkColor === \"mid\") {\n var sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor();\n var destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();\n\n if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n } else {\n var hslColor = sourceColor !== null && sourceColor !== void 0 ? sourceColor : destColor;\n\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n } else {\n return linkColor;\n }\n}\n\nexports.getLinkColor = getLinkColor;\n\nfunction getLinkRandomColor(optColor, blink, consent) {\n var color = typeof optColor === \"string\" ? optColor : optColor.value;\n\n if (color === Constants_1.Constants.randomColorValue) {\n if (consent) {\n return colorToRgb({\n value: color\n });\n } else if (blink) {\n return Constants_1.Constants.randomColorValue;\n } else {\n return Constants_1.Constants.midColorValue;\n }\n } else {\n return colorToRgb({\n value: color\n });\n }\n}\n\nexports.getLinkRandomColor = getLinkRandomColor;\n\nfunction getHslFromAnimation(animation) {\n return animation !== undefined ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value\n } : undefined;\n}\n\nexports.getHslFromAnimation = getHslFromAnimation;\n\nfunction getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n var resColor = {\n h: {\n enable: false,\n value: hsl.h\n },\n s: {\n enable: false,\n value: hsl.s\n },\n l: {\n enable: false,\n value: hsl.l\n }\n };\n\n if (animationOptions) {\n setColorAnimation(resColor.h, animationOptions.h, reduceFactor);\n setColorAnimation(resColor.s, animationOptions.s, reduceFactor);\n setColorAnimation(resColor.l, animationOptions.l, reduceFactor);\n }\n\n return resColor;\n}\n\nexports.getHslAnimationFromHsl = getHslAnimationFromHsl;\n\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n\n if (colorValue.enable) {\n colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;\n\n if (colorAnimation.sync) {\n return;\n }\n\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.velocity *= Math.random();\n\n if (colorValue.value) {\n colorValue.value *= Math.random();\n }\n } else {\n colorValue.velocity = 0;\n }\n}","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Constants = void 0;\n\nvar Constants = function Constants() {\n _classCallCheck(this, Constants);\n};\n\nexports.Constants = Constants;\nConstants.canvasClass = \"tsparticles-canvas-el\";\nConstants.randomColorValue = \"random\";\nConstants.midColorValue = \"mid\";\nConstants.touchEndEvent = \"touchend\";\nConstants.mouseDownEvent = \"mousedown\";\nConstants.mouseUpEvent = \"mouseup\";\nConstants.mouseMoveEvent = \"mousemove\";\nConstants.touchStartEvent = \"touchstart\";\nConstants.touchMoveEvent = \"touchmove\";\nConstants.mouseLeaveEvent = \"mouseleave\";\nConstants.mouseOutEvent = \"mouseout\";\nConstants.touchCancelEvent = \"touchcancel\";\nConstants.resizeEvent = \"resize\";\nConstants.visibilityChangeEvent = \"visibilitychange\";\nConstants.noPolygonDataLoaded = \"No polygon data loaded.\";\nConstants.noPolygonFound = \"No polygon found, you need to specify SVG url in config.\";","\"use strict\";\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EventListeners = void 0;\n\nvar Enums_1 = require(\"../Enums\");\n\nvar Constants_1 = require(\"./Constants\");\n\nvar Utils_1 = require(\"./Utils\");\n\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n var addOptions = {\n passive: true\n };\n\n if (typeof options === \"boolean\") {\n addOptions.capture = options;\n } else if (options !== undefined) {\n addOptions = options;\n }\n\n element.addEventListener(event, handler, addOptions);\n } else {\n var removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\n\nvar EventListeners = /*#__PURE__*/function () {\n function EventListeners(container) {\n var _this = this;\n\n _classCallCheck(this, EventListeners);\n\n this.container = container;\n this.canPush = true;\n\n this.mouseMoveHandler = function (e) {\n return _this.mouseTouchMove(e);\n };\n\n this.touchStartHandler = function (e) {\n return _this.mouseTouchMove(e);\n };\n\n this.touchMoveHandler = function (e) {\n return _this.mouseTouchMove(e);\n };\n\n this.touchEndHandler = function () {\n return _this.mouseTouchFinish();\n };\n\n this.mouseLeaveHandler = function () {\n return _this.mouseTouchFinish();\n };\n\n this.touchCancelHandler = function () {\n return _this.mouseTouchFinish();\n };\n\n this.touchEndClickHandler = function (e) {\n return _this.mouseTouchClick(e);\n };\n\n this.mouseUpHandler = function (e) {\n return _this.mouseTouchClick(e);\n };\n\n this.mouseDownHandler = function () {\n return _this.mouseDown();\n };\n\n this.visibilityChangeHandler = function () {\n return _this.handleVisibilityChange();\n };\n\n this.themeChangeHandler = function (e) {\n return _this.handleThemeChange(e);\n };\n\n this.oldThemeChangeHandler = function (e) {\n return _this.handleThemeChange(e);\n };\n\n this.resizeHandler = function () {\n return _this.handleWindowResize();\n };\n }\n\n _createClass(EventListeners, [{\n key: \"addListeners\",\n value: function addListeners() {\n this.manageListeners(true);\n }\n }, {\n key: \"removeListeners\",\n value: function removeListeners() {\n this.manageListeners(false);\n }\n }, {\n key: \"manageListeners\",\n value: function manageListeners(add) {\n var _this2 = this;\n\n var _a;\n\n var container = this.container;\n var options = container.actualOptions;\n var detectType = options.interactivity.detectsOn;\n var mouseLeaveEvent = Constants_1.Constants.mouseLeaveEvent;\n\n if (detectType === Enums_1.InteractivityDetect.window) {\n container.interactivity.element = window;\n mouseLeaveEvent = Constants_1.Constants.mouseOutEvent;\n } else if (detectType === Enums_1.InteractivityDetect.parent && container.canvas.element) {\n var canvasEl = container.canvas.element;\n container.interactivity.element = (_a = canvasEl.parentElement) !== null && _a !== void 0 ? _a : canvasEl.parentNode;\n } else {\n container.interactivity.element = container.canvas.element;\n }\n\n var mediaMatch = !(0, Utils_1.isSsr)() && typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\");\n\n if (mediaMatch) {\n if (mediaMatch.addEventListener !== undefined) {\n manageListener(mediaMatch, \"change\", this.themeChangeHandler, add);\n } else if (mediaMatch.addListener !== undefined) {\n if (add) {\n mediaMatch.addListener(this.oldThemeChangeHandler);\n } else {\n mediaMatch.removeListener(this.oldThemeChangeHandler);\n }\n }\n }\n\n var interactivityEl = container.interactivity.element;\n\n if (!interactivityEl) {\n return;\n }\n\n var html = interactivityEl;\n\n if (options.interactivity.events.onHover.enable || options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, Constants_1.Constants.mouseMoveEvent, this.mouseMoveHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchStartEvent, this.touchStartHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchMoveEvent, this.touchMoveHandler, add);\n\n if (!options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, Constants_1.Constants.touchEndEvent, this.touchEndHandler, add);\n } else {\n manageListener(interactivityEl, Constants_1.Constants.touchEndEvent, this.touchEndClickHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.mouseUpEvent, this.mouseUpHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.mouseDownEvent, this.mouseDownHandler, add);\n }\n\n manageListener(interactivityEl, mouseLeaveEvent, this.mouseLeaveHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchCancelEvent, this.touchCancelHandler, add);\n }\n\n if (container.canvas.element) {\n container.canvas.element.style.pointerEvents = html === container.canvas.element ? \"initial\" : \"none\";\n }\n\n if (options.interactivity.events.resize) {\n if (typeof ResizeObserver !== \"undefined\") {\n if (this.resizeObserver && !add) {\n if (container.canvas.element) {\n this.resizeObserver.unobserve(container.canvas.element);\n }\n\n this.resizeObserver.disconnect();\n delete this.resizeObserver;\n } else if (!this.resizeObserver && add && container.canvas.element) {\n this.resizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (e) {\n return e.target === container.canvas.element;\n });\n\n if (!entry) {\n return;\n }\n\n _this2.handleWindowResize();\n });\n this.resizeObserver.observe(container.canvas.element);\n }\n } else {\n manageListener(window, Constants_1.Constants.resizeEvent, this.resizeHandler, add);\n }\n }\n\n if (document) {\n manageListener(document, Constants_1.Constants.visibilityChangeEvent, this.visibilityChangeHandler, add, false);\n }\n }\n }, {\n key: \"handleWindowResize\",\n value: function handleWindowResize() {\n var _this3 = this;\n\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n delete this.resizeTimeout;\n }\n\n this.resizeTimeout = setTimeout(function () {\n var _a;\n\n return (_a = _this3.container.canvas) === null || _a === void 0 ? void 0 : _a.windowResize();\n }, 500);\n }\n }, {\n key: \"handleVisibilityChange\",\n value: function handleVisibilityChange() {\n var container = this.container;\n var options = container.actualOptions;\n this.mouseTouchFinish();\n\n if (!options.pauseOnBlur) {\n return;\n }\n\n if (document === null || document === void 0 ? void 0 : document.hidden) {\n container.pageHidden = true;\n container.pause();\n } else {\n container.pageHidden = false;\n\n if (container.getAnimationStatus()) {\n container.play(true);\n } else {\n container.draw(true);\n }\n }\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown() {\n var interactivity = this.container.interactivity;\n\n if (interactivity) {\n var mouse = interactivity.mouse;\n mouse.clicking = true;\n mouse.downPosition = mouse.position;\n }\n }\n }, {\n key: \"mouseTouchMove\",\n value: function mouseTouchMove(e) {\n var _a, _b, _c, _d, _e, _f, _g;\n\n var container = this.container;\n var options = container.actualOptions;\n\n if (((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element) === undefined) {\n return;\n }\n\n container.interactivity.mouse.inside = true;\n var pos;\n var canvas = container.canvas.element;\n\n if (e.type.startsWith(\"mouse\")) {\n this.canPush = true;\n var mouseEvent = e;\n\n if (container.interactivity.element === window) {\n if (canvas) {\n var clientRect = canvas.getBoundingClientRect();\n pos = {\n x: mouseEvent.clientX - clientRect.left,\n y: mouseEvent.clientY - clientRect.top\n };\n }\n } else if (options.interactivity.detectsOn === Enums_1.InteractivityDetect.parent) {\n var source = mouseEvent.target;\n var target = mouseEvent.currentTarget;\n var canvasEl = container.canvas.element;\n\n if (source && target && canvasEl) {\n var sourceRect = source.getBoundingClientRect();\n var targetRect = target.getBoundingClientRect();\n var canvasRect = canvasEl.getBoundingClientRect();\n pos = {\n x: mouseEvent.offsetX + 2 * sourceRect.left - (targetRect.left + canvasRect.left),\n y: mouseEvent.offsetY + 2 * sourceRect.top - (targetRect.top + canvasRect.top)\n };\n } else {\n pos = {\n x: (_b = mouseEvent.offsetX) !== null && _b !== void 0 ? _b : mouseEvent.clientX,\n y: (_c = mouseEvent.offsetY) !== null && _c !== void 0 ? _c : mouseEvent.clientY\n };\n }\n } else {\n if (mouseEvent.target === container.canvas.element) {\n pos = {\n x: (_d = mouseEvent.offsetX) !== null && _d !== void 0 ? _d : mouseEvent.clientX,\n y: (_e = mouseEvent.offsetY) !== null && _e !== void 0 ? _e : mouseEvent.clientY\n };\n }\n }\n } else {\n this.canPush = e.type !== \"touchmove\";\n var touchEvent = e;\n var lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n\n var _canvasRect = canvas === null || canvas === void 0 ? void 0 : canvas.getBoundingClientRect();\n\n pos = {\n x: lastTouch.clientX - ((_f = _canvasRect === null || _canvasRect === void 0 ? void 0 : _canvasRect.left) !== null && _f !== void 0 ? _f : 0),\n y: lastTouch.clientY - ((_g = _canvasRect === null || _canvasRect === void 0 ? void 0 : _canvasRect.top) !== null && _g !== void 0 ? _g : 0)\n };\n }\n\n var pxRatio = container.retina.pixelRatio;\n\n if (pos) {\n pos.x *= pxRatio;\n pos.y *= pxRatio;\n }\n\n container.interactivity.mouse.position = pos;\n container.interactivity.status = Constants_1.Constants.mouseMoveEvent;\n }\n }, {\n key: \"mouseTouchFinish\",\n value: function mouseTouchFinish() {\n var interactivity = this.container.interactivity;\n\n if (interactivity === undefined) {\n return;\n }\n\n var mouse = interactivity.mouse;\n delete mouse.position;\n delete mouse.clickPosition;\n delete mouse.downPosition;\n interactivity.status = Constants_1.Constants.mouseLeaveEvent;\n mouse.inside = false;\n mouse.clicking = false;\n }\n }, {\n key: \"mouseTouchClick\",\n value: function mouseTouchClick(e) {\n var container = this.container;\n var options = container.actualOptions;\n var mouse = container.interactivity.mouse;\n mouse.inside = true;\n var handled = false;\n var mousePosition = mouse.position;\n\n if (mousePosition === undefined || !options.interactivity.events.onClick.enable) {\n return;\n }\n\n var _iterator = _createForOfIteratorHelper(container.plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n plugin = _step$value[1];\n\n if (plugin.clickPositionValid !== undefined) {\n handled = plugin.clickPositionValid(mousePosition);\n\n if (handled) {\n break;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!handled) {\n this.doMouseTouchClick(e);\n }\n\n mouse.clicking = false;\n }\n }, {\n key: \"doMouseTouchClick\",\n value: function doMouseTouchClick(e) {\n var _this4 = this;\n\n var container = this.container;\n var options = container.actualOptions;\n\n if (this.canPush) {\n var mousePos = container.interactivity.mouse.position;\n\n if (mousePos) {\n container.interactivity.mouse.clickPosition = {\n x: mousePos.x,\n y: mousePos.y\n };\n } else {\n return;\n }\n\n container.interactivity.mouse.clickTime = new Date().getTime();\n var onClick = options.interactivity.events.onClick;\n\n if (onClick.mode instanceof Array) {\n var _iterator2 = _createForOfIteratorHelper(onClick.mode),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var mode = _step2.value;\n this.handleClickMode(mode);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n } else {\n this.handleClickMode(onClick.mode);\n }\n }\n\n if (e.type === \"touchend\") {\n setTimeout(function () {\n return _this4.mouseTouchFinish();\n }, 500);\n }\n }\n }, {\n key: \"handleThemeChange\",\n value: function handleThemeChange(e) {\n var mediaEvent = e;\n var themeName = mediaEvent.matches ? this.container.options.defaultDarkTheme : this.container.options.defaultLightTheme;\n var theme = this.container.options.themes.find(function (theme) {\n return theme.name === themeName;\n });\n\n if (theme && theme.default.auto) {\n this.container.loadTheme(themeName);\n }\n }\n }, {\n key: \"handleClickMode\",\n value: function handleClickMode(mode) {\n var container = this.container;\n var options = container.actualOptions;\n var pushNb = options.interactivity.modes.push.quantity;\n var removeNb = options.interactivity.modes.remove.quantity;\n\n switch (mode) {\n case Enums_1.ClickMode.push:\n {\n if (pushNb > 0) {\n var pushOptions = options.interactivity.modes.push;\n var group = (0, Utils_1.itemFromArray)([undefined].concat(_toConsumableArray(pushOptions.groups)));\n var groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;\n container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);\n }\n\n break;\n }\n\n case Enums_1.ClickMode.remove:\n container.particles.removeQuantity(removeNb);\n break;\n\n case Enums_1.ClickMode.bubble:\n container.bubble.clicking = true;\n break;\n\n case Enums_1.ClickMode.repulse:\n container.repulse.clicking = true;\n container.repulse.count = 0;\n\n var _iterator3 = _createForOfIteratorHelper(container.repulse.particles),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var particle = _step3.value;\n particle.velocity.setTo(particle.initialVelocity);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n container.repulse.particles = [];\n container.repulse.finish = false;\n setTimeout(function () {\n if (!container.destroyed) {\n container.repulse.clicking = false;\n }\n }, options.interactivity.modes.repulse.duration * 1000);\n break;\n\n case Enums_1.ClickMode.attract:\n container.attract.clicking = true;\n container.attract.count = 0;\n\n var _iterator4 = _createForOfIteratorHelper(container.attract.particles),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _particle = _step4.value;\n\n _particle.velocity.setTo(_particle.initialVelocity);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n container.attract.particles = [];\n container.attract.finish = false;\n setTimeout(function () {\n if (!container.destroyed) {\n container.attract.clicking = false;\n }\n }, options.interactivity.modes.attract.duration * 1000);\n break;\n\n case Enums_1.ClickMode.pause:\n if (container.getAnimationStatus()) {\n container.pause();\n } else {\n container.play();\n }\n\n break;\n }\n\n var _iterator5 = _createForOfIteratorHelper(container.plugins),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n plugin = _step5$value[1];\n\n if (plugin.handleClickMode) {\n plugin.handleClickMode(mode);\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }]);\n\n return EventListeners;\n}();\n\nexports.EventListeners = EventListeners;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcEasing = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.getDistance = exports.getDistances = exports.getValue = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = void 0;\n\nvar Enums_1 = require(\"../Enums\");\n\nvar Vector_1 = require(\"../Core/Particle/Vector\");\n\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nexports.clamp = clamp;\n\nfunction mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\n\nexports.mix = mix;\n\nfunction randomInRange(r) {\n var max = getRangeMax(r);\n var min = getRangeMin(r);\n\n if (max === min) {\n min = 0;\n }\n\n return Math.random() * (max - min) + min;\n}\n\nexports.randomInRange = randomInRange;\n\nfunction getRangeValue(value) {\n return typeof value === \"number\" ? value : randomInRange(value);\n}\n\nexports.getRangeValue = getRangeValue;\n\nfunction getRangeMin(value) {\n return typeof value === \"number\" ? value : value.min;\n}\n\nexports.getRangeMin = getRangeMin;\n\nfunction getRangeMax(value) {\n return typeof value === \"number\" ? value : value.max;\n}\n\nexports.getRangeMax = getRangeMax;\n\nfunction setRangeValue(source, value) {\n if (source === value || value === undefined && typeof source === \"number\") {\n return source;\n }\n\n var min = getRangeMin(source),\n max = getRangeMax(source);\n return value !== undefined ? {\n min: Math.min(min, value),\n max: Math.max(max, value)\n } : setRangeValue(min, max);\n}\n\nexports.setRangeValue = setRangeValue;\n\nfunction getValue(options) {\n var random = options.random;\n\n var _ref = typeof random === \"boolean\" ? {\n enable: random,\n minimumValue: 0\n } : random,\n enable = _ref.enable,\n minimumValue = _ref.minimumValue;\n\n return enable ? getRangeValue(setRangeValue(options.value, minimumValue)) : getRangeValue(options.value);\n}\n\nexports.getValue = getValue;\n\nfunction getDistances(pointA, pointB) {\n var dx = pointA.x - pointB.x;\n var dy = pointA.y - pointB.y;\n return {\n dx: dx,\n dy: dy,\n distance: Math.sqrt(dx * dx + dy * dy)\n };\n}\n\nexports.getDistances = getDistances;\n\nfunction getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\n\nexports.getDistance = getDistance;\n\nfunction getParticleDirectionAngle(direction) {\n if (typeof direction === \"number\") {\n return direction * Math.PI / 180;\n } else {\n switch (direction) {\n case Enums_1.MoveDirection.top:\n return -Math.PI / 2;\n\n case Enums_1.MoveDirection.topRight:\n return -Math.PI / 4;\n\n case Enums_1.MoveDirection.right:\n return 0;\n\n case Enums_1.MoveDirection.bottomRight:\n return Math.PI / 4;\n\n case Enums_1.MoveDirection.bottom:\n return Math.PI / 2;\n\n case Enums_1.MoveDirection.bottomLeft:\n return 3 * Math.PI / 4;\n\n case Enums_1.MoveDirection.left:\n return Math.PI;\n\n case Enums_1.MoveDirection.topLeft:\n return -3 * Math.PI / 4;\n\n case Enums_1.MoveDirection.none:\n default:\n return Math.random() * Math.PI * 2;\n }\n }\n}\n\nexports.getParticleDirectionAngle = getParticleDirectionAngle;\n\nfunction getParticleBaseVelocity(direction) {\n var baseVelocity = Vector_1.Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\n\nexports.getParticleBaseVelocity = getParticleBaseVelocity;\n\nfunction collisionVelocity(v1, v2, m1, m2) {\n return Vector_1.Vector.create(v1.x * (m1 - m2) / (m1 + m2) + v2.x * 2 * m2 / (m1 + m2), v1.y);\n}\n\nexports.collisionVelocity = collisionVelocity;\n\nfunction calcEasing(value, type) {\n switch (type) {\n case Enums_1.EasingType.easeOutQuad:\n return 1 - Math.pow(1 - value, 2);\n\n case Enums_1.EasingType.easeOutCubic:\n return 1 - Math.pow(1 - value, 3);\n\n case Enums_1.EasingType.easeOutQuart:\n return 1 - Math.pow(1 - value, 4);\n\n case Enums_1.EasingType.easeOutQuint:\n return 1 - Math.pow(1 - value, 5);\n\n case Enums_1.EasingType.easeOutExpo:\n return value === 1 ? 1 : 1 - Math.pow(2, -10 * value);\n\n case Enums_1.EasingType.easeOutSine:\n return Math.sin(value * Math.PI / 2);\n\n case Enums_1.EasingType.easeOutBack:\n {\n var c1 = 1.70158;\n var c3 = c1 + 1;\n return 1 + c3 * Math.pow(value - 1, 3) + c1 * Math.pow(value - 1, 2);\n }\n\n case Enums_1.EasingType.easeOutCirc:\n return Math.sqrt(1 - Math.pow(value - 1, 2));\n\n default:\n return value;\n }\n}\n\nexports.calcEasing = calcEasing;","\"use strict\";\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Plugins = void 0;\nvar plugins = [];\nvar interactorsInitializers = new Map();\nvar updatersInitializers = new Map();\nvar interactors = new Map();\nvar updaters = new Map();\nvar presets = new Map();\nvar drawers = new Map();\nvar pathGenerators = new Map();\n\nvar Plugins = /*#__PURE__*/function () {\n function Plugins() {\n _classCallCheck(this, Plugins);\n }\n\n _createClass(Plugins, null, [{\n key: \"getPlugin\",\n value: function getPlugin(plugin) {\n return plugins.find(function (t) {\n return t.id === plugin;\n });\n }\n }, {\n key: \"addPlugin\",\n value: function addPlugin(plugin) {\n if (!Plugins.getPlugin(plugin.id)) {\n plugins.push(plugin);\n }\n }\n }, {\n key: \"getAvailablePlugins\",\n value: function getAvailablePlugins(container) {\n var res = new Map();\n\n var _iterator = _createForOfIteratorHelper(plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var plugin = _step.value;\n\n if (!plugin.needsPlugin(container.actualOptions)) {\n continue;\n }\n\n res.set(plugin.id, plugin.getPlugin(container));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return res;\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions(options, sourceOptions) {\n var _iterator2 = _createForOfIteratorHelper(plugins),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var plugin = _step2.value;\n plugin.loadOptions(options, sourceOptions);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n key: \"getPreset\",\n value: function getPreset(preset) {\n return presets.get(preset);\n }\n }, {\n key: \"addPreset\",\n value: function addPreset(presetKey, options) {\n var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (override || !Plugins.getPreset(presetKey)) {\n presets.set(presetKey, options);\n }\n }\n }, {\n key: \"addShapeDrawer\",\n value: function addShapeDrawer(type, drawer) {\n if (!Plugins.getShapeDrawer(type)) {\n drawers.set(type, drawer);\n }\n }\n }, {\n key: \"getShapeDrawer\",\n value: function getShapeDrawer(type) {\n return drawers.get(type);\n }\n }, {\n key: \"getSupportedShapes\",\n value: function getSupportedShapes() {\n return drawers.keys();\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(type) {\n return pathGenerators.get(type);\n }\n }, {\n key: \"addPathGenerator\",\n value: function addPathGenerator(type, pathGenerator) {\n if (!Plugins.getPathGenerator(type)) {\n pathGenerators.set(type, pathGenerator);\n }\n }\n }, {\n key: \"getInteractors\",\n value: function getInteractors(container) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var res = interactors.get(container);\n\n if (!res || force) {\n res = _toConsumableArray(interactorsInitializers.values()).map(function (t) {\n return t(container);\n });\n interactors.set(container, res);\n }\n\n return res;\n }\n }, {\n key: \"addInteractor\",\n value: function addInteractor(name, initInteractor) {\n interactorsInitializers.set(name, initInteractor);\n }\n }, {\n key: \"getUpdaters\",\n value: function getUpdaters(container) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var res = updaters.get(container);\n\n if (!res || force) {\n res = _toConsumableArray(updatersInitializers.values()).map(function (t) {\n return t(container);\n });\n updaters.set(container, res);\n }\n\n return res;\n }\n }, {\n key: \"addParticleUpdater\",\n value: function addParticleUpdater(name, initUpdater) {\n updatersInitializers.set(name, initUpdater);\n }\n }]);\n\n return Plugins;\n}();\n\nexports.Plugins = Plugins;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Point = void 0;\n\nvar Point = function Point(position, particle) {\n _classCallCheck(this, Point);\n\n this.position = position;\n this.particle = particle;\n};\n\nexports.Point = Point;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QuadTree = void 0;\n\nvar Rectangle_1 = require(\"./Rectangle\");\n\nvar Circle_1 = require(\"./Circle\");\n\nvar CircleWarp_1 = require(\"./CircleWarp\");\n\nvar NumberUtils_1 = require(\"./NumberUtils\");\n\nvar QuadTree = /*#__PURE__*/function () {\n function QuadTree(rectangle, capacity) {\n _classCallCheck(this, QuadTree);\n\n this.rectangle = rectangle;\n this.capacity = capacity;\n this.points = [];\n this.divided = false;\n }\n\n _createClass(QuadTree, [{\n key: \"subdivide\",\n value: function subdivide() {\n var x = this.rectangle.position.x;\n var y = this.rectangle.position.y;\n var w = this.rectangle.size.width;\n var h = this.rectangle.size.height;\n var capacity = this.capacity;\n this.northEast = new QuadTree(new Rectangle_1.Rectangle(x, y, w / 2, h / 2), capacity);\n this.northWest = new QuadTree(new Rectangle_1.Rectangle(x + w / 2, y, w / 2, h / 2), capacity);\n this.southEast = new QuadTree(new Rectangle_1.Rectangle(x, y + h / 2, w / 2, h / 2), capacity);\n this.southWest = new QuadTree(new Rectangle_1.Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);\n this.divided = true;\n }\n }, {\n key: \"insert\",\n value: function insert(point) {\n var _a, _b, _c, _d, _e;\n\n if (!this.rectangle.contains(point.position)) {\n return false;\n }\n\n if (this.points.length < this.capacity) {\n this.points.push(point);\n return true;\n }\n\n if (!this.divided) {\n this.subdivide();\n }\n\n return (_e = ((_a = this.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) || ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) || ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) || ((_d = this.southWest) === null || _d === void 0 ? void 0 : _d.insert(point))) !== null && _e !== void 0 ? _e : false;\n }\n }, {\n key: \"queryCircle\",\n value: function queryCircle(position, radius) {\n return this.query(new Circle_1.Circle(position.x, position.y, radius));\n }\n }, {\n key: \"queryCircleWarp\",\n value: function queryCircleWarp(position, radius, containerOrSize) {\n var container = containerOrSize;\n var size = containerOrSize;\n return this.query(new CircleWarp_1.CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));\n }\n }, {\n key: \"queryRectangle\",\n value: function queryRectangle(position, size) {\n return this.query(new Rectangle_1.Rectangle(position.x, position.y, size.width, size.height));\n }\n }, {\n key: \"query\",\n value: function query(range, found) {\n var _a, _b, _c, _d;\n\n var res = found !== null && found !== void 0 ? found : [];\n\n if (!range.intersects(this.rectangle)) {\n return [];\n } else {\n var _iterator = _createForOfIteratorHelper(this.points),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p = _step.value;\n\n if (!range.contains(p.position) && (0, NumberUtils_1.getDistance)(range.position, p.position) > p.particle.getRadius()) {\n continue;\n }\n\n res.push(p.particle);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (this.divided) {\n (_a = this.northEast) === null || _a === void 0 ? void 0 : _a.query(range, res);\n (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, res);\n (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, res);\n (_d = this.southWest) === null || _d === void 0 ? void 0 : _d.query(range, res);\n }\n }\n\n return res;\n }\n }]);\n\n return QuadTree;\n}();\n\nexports.QuadTree = QuadTree;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Range = void 0;\n\nvar Range = function Range(x, y) {\n _classCallCheck(this, Range);\n\n this.position = {\n x: x,\n y: y\n };\n};\n\nexports.Range = Range;","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Rectangle = void 0;\n\nvar Range_1 = require(\"./Range\");\n\nvar Rectangle = /*#__PURE__*/function (_Range_1$Range) {\n _inherits(Rectangle, _Range_1$Range);\n\n var _super = _createSuper(Rectangle);\n\n function Rectangle(x, y, width, height) {\n var _this;\n\n _classCallCheck(this, Rectangle);\n\n _this = _super.call(this, x, y);\n _this.size = {\n height: height,\n width: width\n };\n return _this;\n }\n\n _createClass(Rectangle, [{\n key: \"contains\",\n value: function contains(point) {\n var w = this.size.width;\n var h = this.size.height;\n var pos = this.position;\n return point.x >= pos.x && point.x <= pos.x + w && point.y >= pos.y && point.y <= pos.y + h;\n }\n }, {\n key: \"intersects\",\n value: function intersects(range) {\n var rect = range;\n var circle = range;\n var w = this.size.width;\n var h = this.size.height;\n var pos1 = this.position;\n var pos2 = range.position;\n\n if (circle.radius !== undefined) {\n return circle.intersects(this);\n } else if (rect.size !== undefined) {\n var size2 = rect.size;\n var w2 = size2.width;\n var h2 = size2.height;\n return pos2.x < pos1.x + w && pos2.x + w2 > pos1.x && pos2.y < pos1.y + h && pos2.y + h2 > pos1.y;\n }\n\n return false;\n }\n }]);\n\n return Rectangle;\n}(Range_1.Range);\n\nexports.Rectangle = Rectangle;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.cancelAnimation = exports.animate = exports.isSsr = void 0;\n\nvar Enums_1 = require(\"../Enums\");\n\nvar NumberUtils_1 = require(\"./NumberUtils\");\n\nvar Vector_1 = require(\"../Core/Particle/Vector\");\n\nfunction rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {\n var res = {\n bounced: false\n };\n\n if (pOtherSide.min >= rectOtherSide.min && pOtherSide.min <= rectOtherSide.max && pOtherSide.max >= rectOtherSide.min && pOtherSide.max <= rectOtherSide.max) {\n if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0 || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n }\n\n return res;\n}\n\nfunction checkSelector(element, selectors) {\n if (selectors instanceof Array) {\n var _iterator = _createForOfIteratorHelper(selectors),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var selector = _step.value;\n\n if (element.matches(selector)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n } else {\n return element.matches(selectors);\n }\n}\n\nfunction isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\n\nexports.isSsr = isSsr;\n\nfunction animate() {\n return isSsr() ? function (callback) {\n return setTimeout(callback);\n } : function (callback) {\n return (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || window.setTimeout)(callback);\n };\n}\n\nexports.animate = animate;\n\nfunction cancelAnimation() {\n return isSsr() ? function (handle) {\n return clearTimeout(handle);\n } : function (handle) {\n return (window.cancelAnimationFrame || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || window.clearTimeout)(handle);\n };\n}\n\nexports.cancelAnimation = cancelAnimation;\n\nfunction isInArray(value, array) {\n return value === array || array instanceof Array && array.indexOf(value) > -1;\n}\n\nexports.isInArray = isInArray;\n\nfunction loadFont(_x) {\n return _loadFont.apply(this, arguments);\n}\n\nfunction _loadFont() {\n _loadFont = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(character) {\n var _a, _b;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return document.fonts.load(\"\".concat((_a = character.weight) !== null && _a !== void 0 ? _a : \"400\", \" 36px '\").concat((_b = character.font) !== null && _b !== void 0 ? _b : \"Verdana\", \"'\"));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 5]]);\n }));\n return _loadFont.apply(this, arguments);\n}\n\nexports.loadFont = loadFont;\n\nfunction arrayRandomIndex(array) {\n return Math.floor(Math.random() * array.length);\n}\n\nexports.arrayRandomIndex = arrayRandomIndex;\n\nfunction itemFromArray(array, index) {\n var useIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var fixedIndex = index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array);\n return array[fixedIndex];\n}\n\nexports.itemFromArray = itemFromArray;\n\nfunction isPointInside(point, size, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius !== null && radius !== void 0 ? radius : 0), size, direction);\n}\n\nexports.isPointInside = isPointInside;\n\nfunction areBoundsInside(bounds, size, direction) {\n var inside = true;\n\n if (!direction || direction === Enums_1.OutModeDirection.bottom) {\n inside = bounds.top < size.height;\n }\n\n if (inside && (!direction || direction === Enums_1.OutModeDirection.left)) {\n inside = bounds.right > 0;\n }\n\n if (inside && (!direction || direction === Enums_1.OutModeDirection.right)) {\n inside = bounds.left < size.width;\n }\n\n if (inside && (!direction || direction === Enums_1.OutModeDirection.top)) {\n inside = bounds.bottom > 0;\n }\n\n return inside;\n}\n\nexports.areBoundsInside = areBoundsInside;\n\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius\n };\n}\n\nexports.calculateBounds = calculateBounds;\n\nfunction deepExtend(destination) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n for (var _i = 0, _sources = sources; _i < _sources.length; _i++) {\n var source = _sources[_i];\n\n if (source === undefined || source === null) {\n continue;\n }\n\n if (typeof source !== \"object\") {\n destination = source;\n continue;\n }\n\n var sourceIsArray = Array.isArray(source);\n\n if (sourceIsArray && (typeof destination !== \"object\" || !destination || !Array.isArray(destination))) {\n destination = [];\n } else if (!sourceIsArray && (typeof destination !== \"object\" || !destination || Array.isArray(destination))) {\n destination = {};\n }\n\n var _loop = function _loop(key) {\n if (key === \"__proto__\") {\n return \"continue\";\n }\n\n var sourceDict = source;\n var value = sourceDict[key];\n var isObject = typeof value === \"object\";\n var destDict = destination;\n destDict[key] = isObject && Array.isArray(value) ? value.map(function (v) {\n return deepExtend(destDict[key], v);\n }) : deepExtend(destDict[key], value);\n };\n\n for (var key in source) {\n var _ret = _loop(key);\n\n if (_ret === \"continue\") continue;\n }\n }\n\n return destination;\n}\n\nexports.deepExtend = deepExtend;\n\nfunction isDivModeEnabled(mode, divs) {\n return divs instanceof Array ? !!divs.find(function (t) {\n return t.enable && isInArray(mode, t.mode);\n }) : isInArray(mode, divs.mode);\n}\n\nexports.isDivModeEnabled = isDivModeEnabled;\n\nfunction divModeExecute(mode, divs, callback) {\n if (divs instanceof Array) {\n var _iterator2 = _createForOfIteratorHelper(divs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var div = _step2.value;\n var _divMode = div.mode;\n var divEnabled = div.enable;\n\n if (divEnabled && isInArray(mode, _divMode)) {\n singleDivModeExecute(div, callback);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n } else {\n var _divMode2 = divs.mode;\n var _divEnabled = divs.enable;\n\n if (_divEnabled && isInArray(mode, _divMode2)) {\n singleDivModeExecute(divs, callback);\n }\n }\n}\n\nexports.divModeExecute = divModeExecute;\n\nfunction singleDivModeExecute(div, callback) {\n var selectors = div.selectors;\n\n if (selectors instanceof Array) {\n var _iterator3 = _createForOfIteratorHelper(selectors),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var selector = _step3.value;\n callback(selector, div);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n } else {\n callback(selectors, div);\n }\n}\n\nexports.singleDivModeExecute = singleDivModeExecute;\n\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n\n if (divs instanceof Array) {\n return divs.find(function (d) {\n return checkSelector(element, d.selectors);\n });\n } else if (checkSelector(element, divs.selectors)) {\n return divs;\n }\n}\n\nexports.divMode = divMode;\n\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: Vector_1.Vector.create((0, NumberUtils_1.getValue)(p.options.bounce.horizontal), (0, NumberUtils_1.getValue)(p.options.bounce.vertical))\n };\n}\n\nexports.circleBounceDataFromParticle = circleBounceDataFromParticle;\n\nfunction circleBounce(p1, p2) {\n var xVelocityDiff = p1.velocity.x;\n var yVelocityDiff = p1.velocity.y;\n var pos1 = p1.position;\n var pos2 = p2.position;\n var xDist = pos2.x - pos1.x;\n var yDist = pos2.y - pos1.y;\n\n if (xVelocityDiff * xDist + yVelocityDiff * yDist >= 0) {\n var angle = -Math.atan2(pos2.y - pos1.y, pos2.x - pos1.x);\n var m1 = p1.mass;\n var m2 = p2.mass;\n var u1 = p1.velocity.rotate(angle);\n var u2 = p2.velocity.rotate(angle);\n var v1 = (0, NumberUtils_1.collisionVelocity)(u1, u2, m1, m2);\n var v2 = (0, NumberUtils_1.collisionVelocity)(u2, u1, m1, m2);\n var vFinal1 = v1.rotate(-angle);\n var vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n }\n}\n\nexports.circleBounce = circleBounce;\n\nfunction rectBounce(particle, divBounds) {\n var pPos = particle.getPosition();\n var size = particle.getRadius();\n var bounds = calculateBounds(pPos, size);\n var resH = rectSideBounce({\n min: bounds.left,\n max: bounds.right\n }, {\n min: bounds.top,\n max: bounds.bottom\n }, {\n min: divBounds.left,\n max: divBounds.right\n }, {\n min: divBounds.top,\n max: divBounds.bottom\n }, particle.velocity.x, (0, NumberUtils_1.getValue)(particle.options.bounce.horizontal));\n\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n\n var resV = rectSideBounce({\n min: bounds.top,\n max: bounds.bottom\n }, {\n min: bounds.left,\n max: bounds.right\n }, {\n min: divBounds.top,\n max: divBounds.bottom\n }, {\n min: divBounds.left,\n max: divBounds.right\n }, particle.velocity.y, (0, NumberUtils_1.getValue)(particle.options.bounce.vertical));\n\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\n\nexports.rectBounce = rectBounce;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./CanvasUtils\"), exports);\n\n__exportStar(require(\"./Circle\"), exports);\n\n__exportStar(require(\"./CircleWarp\"), exports);\n\n__exportStar(require(\"./ColorUtils\"), exports);\n\n__exportStar(require(\"./Constants\"), exports);\n\n__exportStar(require(\"./EventListeners\"), exports);\n\n__exportStar(require(\"./NumberUtils\"), exports);\n\n__exportStar(require(\"./Plugins\"), exports);\n\n__exportStar(require(\"./Point\"), exports);\n\n__exportStar(require(\"./QuadTree\"), exports);\n\n__exportStar(require(\"./Range\"), exports);\n\n__exportStar(require(\"./Rectangle\"), exports);\n\n__exportStar(require(\"./Utils\"), exports);","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadFull = void 0;\n\nvar slim_1 = require(\"./slim\");\n\nvar Trail_1 = require(\"./Interactions/External/Trail\");\n\nvar Tilt_1 = require(\"./Updaters/Tilt\");\n\nvar Wobble_1 = require(\"./Updaters/Wobble\");\n\nvar plugin_1 = require(\"./Plugins/Absorbers/plugin\");\n\nvar plugin_2 = require(\"./Plugins/Emitters/plugin\");\n\nvar plugin_3 = require(\"./Plugins/PolygonMask/plugin\");\n\nvar Roll_1 = require(\"./Updaters/Roll\");\n\nfunction loadFull(_x) {\n return _loadFull.apply(this, arguments);\n}\n\nfunction _loadFull() {\n _loadFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0, slim_1.loadSlim)(tsParticles);\n\n case 2:\n _context.next = 4;\n return (0, Trail_1.loadExternalTrailInteraction)(tsParticles);\n\n case 4:\n _context.next = 6;\n return (0, Roll_1.loadRollUpdater)(tsParticles);\n\n case 6:\n _context.next = 8;\n return (0, Tilt_1.loadTiltUpdater)(tsParticles);\n\n case 8:\n _context.next = 10;\n return (0, Wobble_1.loadWobbleUpdater)(tsParticles);\n\n case 10:\n _context.next = 12;\n return (0, plugin_1.loadAbsorbersPlugin)(tsParticles);\n\n case 12:\n _context.next = 14;\n return (0, plugin_2.loadEmittersPlugin)(tsParticles);\n\n case 14:\n _context.next = 16;\n return (0, plugin_3.loadPolygonMaskPlugin)(tsParticles);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadFull.apply(this, arguments);\n}\n\nexports.loadFull = loadFull;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.tsParticles = exports.pJSDom = exports.particlesJS = exports.Main = exports.Rectangle = exports.Point = exports.Constants = exports.CircleWarp = exports.Circle = void 0;\n\nvar pjs_1 = require(\"./pjs\");\n\nvar main_1 = require(\"./main\");\n\nObject.defineProperty(exports, \"Main\", {\n enumerable: true,\n get: function get() {\n return main_1.Main;\n }\n});\n\nvar Utils_1 = require(\"./Utils\");\n\nObject.defineProperty(exports, \"Circle\", {\n enumerable: true,\n get: function get() {\n return Utils_1.Circle;\n }\n});\nObject.defineProperty(exports, \"CircleWarp\", {\n enumerable: true,\n get: function get() {\n return Utils_1.CircleWarp;\n }\n});\nObject.defineProperty(exports, \"Constants\", {\n enumerable: true,\n get: function get() {\n return Utils_1.Constants;\n }\n});\nObject.defineProperty(exports, \"Point\", {\n enumerable: true,\n get: function get() {\n return Utils_1.Point;\n }\n});\nObject.defineProperty(exports, \"Rectangle\", {\n enumerable: true,\n get: function get() {\n return Utils_1.Rectangle;\n }\n});\n\nvar full_1 = require(\"./full\");\n\nvar tsParticles = new main_1.Main();\nexports.tsParticles = tsParticles;\ntsParticles.init();\n\nvar _ref = (0, pjs_1.initPjs)(tsParticles),\n particlesJS = _ref.particlesJS,\n pJSDom = _ref.pJSDom;\n\nexports.particlesJS = particlesJS;\nexports.pJSDom = pJSDom;\n(0, full_1.loadFull)(tsParticles);\n\n__exportStar(require(\"./Core/Particle/Vector\"), exports);\n\n__exportStar(require(\"./Core/Container\"), exports);\n\n__exportStar(require(\"./Enums\"), exports);\n\n__exportStar(require(\"./Plugins/Absorbers/Enums\"), exports);\n\n__exportStar(require(\"./Plugins/Emitters/Enums\"), exports);\n\n__exportStar(require(\"./Plugins/PolygonMask/Enums\"), exports);\n\n__exportStar(require(\"./Utils/CanvasUtils\"), exports);\n\n__exportStar(require(\"./Utils/ColorUtils\"), exports);\n\n__exportStar(require(\"./Utils/NumberUtils\"), exports);\n\n__exportStar(require(\"./Utils/Utils\"), exports);\n\n__exportStar(require(\"./Types\"), exports);\n\n__exportStar(require(\"./Core/Interfaces\"), exports);\n\n__exportStar(require(\"./Core/Particle\"), exports);\n\n__exportStar(require(\"./Core/ExternalInteractorBase\"), exports);\n\n__exportStar(require(\"./Core/ParticlesInteractorBase\"), exports);","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar __classPrivateFieldSet = this && this.__classPrivateFieldSet || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\n\nvar __classPrivateFieldGet = this && this.__classPrivateFieldGet || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\n\nvar _Main_initialized;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Main = void 0;\n\nvar Utils_1 = require(\"./Utils\");\n\nvar Loader_1 = require(\"./Core/Loader\");\n\nvar Main = /*#__PURE__*/function () {\n function Main() {\n _classCallCheck(this, Main);\n\n _Main_initialized.set(this, void 0);\n\n __classPrivateFieldSet(this, _Main_initialized, false, \"f\");\n }\n\n _createClass(Main, [{\n key: \"init\",\n value: function init() {\n if (!__classPrivateFieldGet(this, _Main_initialized, \"f\")) {\n __classPrivateFieldSet(this, _Main_initialized, true, \"f\");\n }\n }\n }, {\n key: \"loadFromArray\",\n value: function () {\n var _loadFromArray = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tagId, options, index) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Loader_1.Loader.load(tagId, options, index));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function loadFromArray(_x, _x2, _x3) {\n return _loadFromArray.apply(this, arguments);\n }\n\n return loadFromArray;\n }()\n }, {\n key: \"load\",\n value: function () {\n var _load = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(tagId, options) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", Loader_1.Loader.load(tagId, options));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function load(_x4, _x5) {\n return _load.apply(this, arguments);\n }\n\n return load;\n }()\n }, {\n key: \"set\",\n value: function () {\n var _set = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id, element, options) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Loader_1.Loader.set(id, element, options));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function set(_x6, _x7, _x8) {\n return _set.apply(this, arguments);\n }\n\n return set;\n }()\n }, {\n key: \"loadJSON\",\n value: function () {\n var _loadJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(tagId, pathConfigJson, index) {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", Loader_1.Loader.loadJSON(tagId, pathConfigJson, index));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function loadJSON(_x9, _x10, _x11) {\n return _loadJSON.apply(this, arguments);\n }\n\n return loadJSON;\n }()\n }, {\n key: \"setJSON\",\n value: function () {\n var _setJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id, element, pathConfigJson, index) {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", Loader_1.Loader.setJSON(id, element, pathConfigJson, index));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n function setJSON(_x12, _x13, _x14, _x15) {\n return _setJSON.apply(this, arguments);\n }\n\n return setJSON;\n }()\n }, {\n key: \"setOnClickHandler\",\n value: function setOnClickHandler(callback) {\n Loader_1.Loader.setOnClickHandler(callback);\n }\n }, {\n key: \"dom\",\n value: function dom() {\n return Loader_1.Loader.dom();\n }\n }, {\n key: \"domItem\",\n value: function domItem(index) {\n return Loader_1.Loader.domItem(index);\n }\n }, {\n key: \"refresh\",\n value: function () {\n var _refresh = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {\n var _iterator, _step, instance;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(this.dom());\n _context6.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context6.next = 9;\n break;\n }\n\n instance = _step.value;\n _context6.next = 7;\n return instance.refresh();\n\n case 7:\n _context6.next = 3;\n break;\n\n case 9:\n _context6.next = 14;\n break;\n\n case 11:\n _context6.prev = 11;\n _context6.t0 = _context6[\"catch\"](1);\n\n _iterator.e(_context6.t0);\n\n case 14:\n _context6.prev = 14;\n\n _iterator.f();\n\n return _context6.finish(14);\n\n case 17:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this, [[1, 11, 14, 17]]);\n }));\n\n function refresh() {\n return _refresh.apply(this, arguments);\n }\n\n return refresh;\n }()\n }, {\n key: \"addShape\",\n value: function () {\n var _addShape = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(shape, drawer, init, afterEffect, destroy) {\n var customDrawer;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (typeof drawer === \"function\") {\n customDrawer = {\n afterEffect: afterEffect,\n destroy: destroy,\n draw: drawer,\n init: init\n };\n } else {\n customDrawer = drawer;\n }\n\n Utils_1.Plugins.addShapeDrawer(shape, customDrawer);\n _context7.next = 4;\n return this.refresh();\n\n case 4:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function addShape(_x16, _x17, _x18, _x19, _x20) {\n return _addShape.apply(this, arguments);\n }\n\n return addShape;\n }()\n }, {\n key: \"addPreset\",\n value: function () {\n var _addPreset = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(preset, options) {\n var override,\n _args8 = arguments;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n override = _args8.length > 2 && _args8[2] !== undefined ? _args8[2] : false;\n Utils_1.Plugins.addPreset(preset, options, override);\n _context8.next = 4;\n return this.refresh();\n\n case 4:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function addPreset(_x21, _x22) {\n return _addPreset.apply(this, arguments);\n }\n\n return addPreset;\n }()\n }, {\n key: \"addPlugin\",\n value: function () {\n var _addPlugin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(plugin) {\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n Utils_1.Plugins.addPlugin(plugin);\n _context9.next = 3;\n return this.refresh();\n\n case 3:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function addPlugin(_x23) {\n return _addPlugin.apply(this, arguments);\n }\n\n return addPlugin;\n }()\n }, {\n key: \"addPathGenerator\",\n value: function () {\n var _addPathGenerator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(name, generator) {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n Utils_1.Plugins.addPathGenerator(name, generator);\n _context10.next = 3;\n return this.refresh();\n\n case 3:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function addPathGenerator(_x24, _x25) {\n return _addPathGenerator.apply(this, arguments);\n }\n\n return addPathGenerator;\n }()\n }, {\n key: \"addInteractor\",\n value: function () {\n var _addInteractor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(name, interactorInitializer) {\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n Utils_1.Plugins.addInteractor(name, interactorInitializer);\n _context11.next = 3;\n return this.refresh();\n\n case 3:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function addInteractor(_x26, _x27) {\n return _addInteractor.apply(this, arguments);\n }\n\n return addInteractor;\n }()\n }, {\n key: \"addParticleUpdater\",\n value: function () {\n var _addParticleUpdater = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(name, updaterInitializer) {\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n Utils_1.Plugins.addParticleUpdater(name, updaterInitializer);\n _context12.next = 3;\n return this.refresh();\n\n case 3:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function addParticleUpdater(_x28, _x29) {\n return _addParticleUpdater.apply(this, arguments);\n }\n\n return addParticleUpdater;\n }()\n }]);\n\n return Main;\n}();\n\nexports.Main = Main;\n_Main_initialized = new WeakMap();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initPjs = void 0;\n\nvar initPjs = function initPjs(main) {\n var particlesJS = function particlesJS(tagId, options) {\n return main.load(tagId, options);\n };\n\n particlesJS.load = function (tagId, pathConfigJson, callback) {\n main.loadJSON(tagId, pathConfigJson).then(function (container) {\n if (container) {\n callback(container);\n }\n }).catch(function () {\n callback(undefined);\n });\n };\n\n particlesJS.setOnClickHandler = function (callback) {\n main.setOnClickHandler(callback);\n };\n\n var pJSDom = main.dom();\n return {\n particlesJS: particlesJS,\n pJSDom: pJSDom\n };\n};\n\nexports.initPjs = initPjs;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadSlim = void 0;\n\nvar Circle_1 = require(\"./Shapes/Circle\");\n\nvar Life_1 = require(\"./Updaters/Life\");\n\nvar Connect_1 = require(\"./Interactions/External/Connect\");\n\nvar Opacity_1 = require(\"./Updaters/Opacity\");\n\nvar Image_1 = require(\"./Shapes/Image\");\n\nvar Polygon_1 = require(\"./Shapes/Polygon\");\n\nvar Bubble_1 = require(\"./Interactions/External/Bubble\");\n\nvar Attract_1 = require(\"./Interactions/External/Attract\");\n\nvar Grab_1 = require(\"./Interactions/External/Grab\");\n\nvar Star_1 = require(\"./Shapes/Star\");\n\nvar Attract_2 = require(\"./Interactions/Particles/Attract\");\n\nvar Square_1 = require(\"./Shapes/Square\");\n\nvar StrokeColor_1 = require(\"./Updaters/StrokeColor\");\n\nvar Color_1 = require(\"./Updaters/Color\");\n\nvar Collisions_1 = require(\"./Interactions/Particles/Collisions\");\n\nvar Angle_1 = require(\"./Updaters/Angle\");\n\nvar OutModes_1 = require(\"./Updaters/OutModes\");\n\nvar Repulse_1 = require(\"./Interactions/External/Repulse\");\n\nvar Line_1 = require(\"./Shapes/Line\");\n\nvar Bounce_1 = require(\"./Interactions/External/Bounce\");\n\nvar Text_1 = require(\"./Shapes/Text\");\n\nvar Links_1 = require(\"./Interactions/Particles/Links\");\n\nvar Size_1 = require(\"./Updaters/Size\");\n\nfunction loadSlim(_x) {\n return _loadSlim.apply(this, arguments);\n}\n\nfunction _loadSlim() {\n _loadSlim = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tsParticles) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0, Attract_1.loadExternalAttractInteraction)(tsParticles);\n\n case 2:\n _context.next = 4;\n return (0, Bounce_1.loadExternalBounceInteraction)(tsParticles);\n\n case 4:\n _context.next = 6;\n return (0, Bubble_1.loadExternalBubbleInteraction)(tsParticles);\n\n case 6:\n _context.next = 8;\n return (0, Connect_1.loadExternalConnectInteraction)(tsParticles);\n\n case 8:\n _context.next = 10;\n return (0, Grab_1.loadExternalGrabInteraction)(tsParticles);\n\n case 10:\n _context.next = 12;\n return (0, Repulse_1.loadExternalRepulseInteraction)(tsParticles);\n\n case 12:\n _context.next = 14;\n return (0, Attract_2.loadParticlesAttractInteraction)(tsParticles);\n\n case 14:\n _context.next = 16;\n return (0, Collisions_1.loadParticlesCollisionsInteraction)(tsParticles);\n\n case 16:\n _context.next = 18;\n return (0, Links_1.loadParticlesLinksInteraction)(tsParticles);\n\n case 18:\n _context.next = 20;\n return (0, Circle_1.loadCircleShape)(tsParticles);\n\n case 20:\n _context.next = 22;\n return (0, Image_1.loadImageShape)(tsParticles);\n\n case 22:\n _context.next = 24;\n return (0, Line_1.loadLineShape)(tsParticles);\n\n case 24:\n _context.next = 26;\n return (0, Polygon_1.loadPolygonShape)(tsParticles);\n\n case 26:\n _context.next = 28;\n return (0, Square_1.loadSquareShape)(tsParticles);\n\n case 28:\n _context.next = 30;\n return (0, Star_1.loadStarShape)(tsParticles);\n\n case 30:\n _context.next = 32;\n return (0, Text_1.loadTextShape)(tsParticles);\n\n case 32:\n _context.next = 34;\n return (0, Life_1.loadLifeUpdater)(tsParticles);\n\n case 34:\n _context.next = 36;\n return (0, Opacity_1.loadOpacityUpdater)(tsParticles);\n\n case 36:\n _context.next = 38;\n return (0, Size_1.loadSizeUpdater)(tsParticles);\n\n case 38:\n _context.next = 40;\n return (0, Angle_1.loadAngleUpdater)(tsParticles);\n\n case 40:\n _context.next = 42;\n return (0, Color_1.loadColorUpdater)(tsParticles);\n\n case 42:\n _context.next = 44;\n return (0, StrokeColor_1.loadStrokeColorUpdater)(tsParticles);\n\n case 44:\n _context.next = 46;\n return (0, OutModes_1.loadOutModesUpdater)(tsParticles);\n\n case 46:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadSlim.apply(this, arguments);\n}\n\nexports.loadSlim = loadSlim;","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.all-settled.js');\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","import React, { Fragment } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport Particles from \"react-tsparticles\";\n\nimport config from \"../configs/particles.json\";\n\nconst Home = () => {\n return (\n \n \n noah.\n \n \n \n );\n};\n\nexport default Home;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","isArray","arrayLikeToArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","self","this","args","arguments","apply","err","undefined","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","prototype","superPropBase","_get","Reflect","get","property","receiver","base","desc","getOwnPropertyDescriptor","call","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","subClass","superClass","create","constructor","iter","Symbol","iterator","from","_i","_s","_e","_arr","_n","_d","next","push","_typeof","assertThisInitialized","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","object","hasOwnProperty","arrayWithoutHoles","iterableToArray","nonIterableSpread","obj","minLen","n","toString","slice","name","test","equal","a","b","keys","RegExp","source","flags","valueOf","$$typeof","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","it","size","entries","has","message","match","console","warn","ex","React","React__default","_defineProperty","canUseDOM","window","document","createElement","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","map","SideEffect","_PureComponent","peek","rewind","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","PureComponent","displayName","getDisplayName","e","t","d","Z","v","r","c","l","s","f","p","ReferenceError","construct","sham","Proxy","Boolean","library","destroy","setState","refresh","init","tsParticles","loadParticles","width","height","className","canvasClassName","id","style","assign","container","current","loaded","url","loadJSON","load","params","options","u","Component","defaultProps","AnimationStatus","increasing","decreasing","MoveDirection","bottom","bottomLeft","bottomRight","left","none","right","top","topLeft","topRight","OutModeDirection","RotateDirection","clockwise","counterClockwise","random","TiltDirection","__createBinding","__exportStar","InteractivityDetect","canvas","parent","ClickMode","attract","bubble","remove","repulse","pause","trail","CollisionMode","absorb","bounce","DestroyMode","split","DivMode","HoverMode","connect","grab","light","slow","OutMode","bounceHorizontal","bounceVertical","out","ResponsiveMode","screen","RollMode","both","horizontal","vertical","SizeMode","precise","percent","ThemeMode","any","dark","AlterType","darken","enlighten","DestroyType","max","min","DivType","circle","rectangle","EasingType","easeOutBack","easeOutCirc","easeOutCubic","easeOutQuad","easeOutQuart","easeOutQuint","easeOutExpo","easeOutSine","GradientType","linear","radial","InteractorType","External","Particles","OrbitType","front","back","ShapeType","char","character","edge","image","images","line","polygon","square","star","triangle","StartValueType","default","toStringTag","_loop","ReactParticles","_slicedToArray","_classCallCheck","_createClass","_createForOfIteratorHelper","allowArrayLike","_arrayLikeToArray","_unsupportedIterableToArray","F","_e2","normalCompletion","didErr","step","_e3","return","Canvas","Utils_1","Utils_2","context","generatedCanvas","resize","initStyle","initCover","initTrail","initBackground","paint","_a","Constants","canvasClass","element","originalStyle","deepExtend","offsetHeight","offsetWidth","getContext","retina","_this","draw","ctx","clear","_this2","actualOptions","backgroundMask","enable","cover","coverColor","paintBase","getStyleFromRgb","_this3","particles","move","trailFillColor","needsRefresh","updateActualOptions","setDensity","_step","_iterator","plugins","plugin","pxRatio","pixelRatio","oldSize","started","resizeFactor","p1","p2","_this4","lineStyle","pos1","getPosition","pos2","drawConnectLine","linksWidth","particle","lineColor","opacity","mousePos","beginPos","drawGrabLine","delta","_b","_c","_f","_this5","spawning","destroyed","pfColor","getFillColor","psColor","getStrokeColor","_this$getPluginPartic","getPluginParticleColors","_this$getPluginPartic2","fColor","sColor","twinkle","twinkling","Math","frequency","twinkleRgb","colorToHsl","color","zIndexOptions","zIndex","zOpacityFactor","pow","zIndexFactor","opacityRate","radius","getRadius","strokeOpacity","stroke","zOpacity","fillColorValue","getStyleFromHsl","zSizeFactor","sizeRate","zStrokeOpacity","strokeColorValue","_step2","_iterator2","updaters","updater","beforeDraw","drawParticle","composite","shadow","gradient","_step3","_iterator3","_updater","afterDraw","drawPlugin","drawParticlePlugin","background","elementStyle","colorToRgb","backgroundColor","backgroundImage","backgroundPosition","position","backgroundRepeat","repeat","backgroundSize","cb","coverRgb","g","fillColor","_trail","_step4","_iterator4","particleFillColor","particleStrokeColor","fullScreen","baseColor","_this6","_this7","connectOptions","interactivity","modes","links","_regeneratorRuntime","_asyncToGenerator","Container","Canvas_1","Particles_1","Retina_1","FrameManager_1","Options_1","Vector_1","sourceOptions","fpsLimit","duration","lifeTime","firstStart","paused","lastFrameTime","zLayers","pageHidden","_sourceOptions","_initialSourceOptions","Retina","drawer","FrameManager","_len","presets","_key","pathGenerator","generate","Vector","angle","PI","update","mouse","clicking","inside","drawers","density","_options","Options","eventListeners","EventListeners","IntersectionObserver","intersectionObserver","intersectionManager","_init","_start","_loadTheme","force","needsUpdate","autoPlay","play","drawAnimationFrame","cancelAnimation","refreshTime","animate","timestamp","nextFrame","noiseOrGenerator","setPath","pathOrGenerator","stop","delete","callback","exportImage","type","quality","toBlob","JSON","stringify","start","removeListeners","HTMLElement","observe","_step5","_iterator5","_step6","_iterator6","linksColors","grabLineColor","linksColor","mark","_callee","wrap","_context","prev","currentTheme","_x","_callee2","_iterator7","_step7","_step7$value","_context2","abrupt","addListeners","startAsync","t0","finish","el","clickOrTouchHandler","pos","posRetina","x","y","quadTree","queryCircle","touched","touchMoved","addEventListener","mouseEvent","offsetX","clientX","offsetY","clientY","touchEvent","lastTouch","touches","changedTouches","canvasRect","getBoundingClientRect","radiusX","radiusY","responsive","newMaxWidth","setResponsive","setTheme","responsiveMaxWidth","_callee3","_iterator8","_step8","preset","shapes","_iterator9","_step9","availablePlugins","_iterator10","_step10","_step10$value","_iterator11","_step11","_step11$value","_drawer","_iterator12","_step12","_step12$value","_plugin","pathOptions","customGenerator","_iterator13","_step13","_step13$value","_plugin2","_context3","Plugins","getPreset","getSupportedShapes","getShapeDrawer","set","getRangeValue","getAvailablePlugins","initAsync","t1","path","generator","getPathGenerator","particlesSetup","pauseOnOutsideViewport","_step14","_iterator14","entry","isIntersecting","ExternalInteractorBase","Enums_1","deltaValue","factor","getAnimationStatus","InteractionManager","externalInteractors","particleInteractors","getInteractors","interactor","isEnabled","interact","reset","_interactor","m","k","k2","Loader","Container_1","tsParticlesDom","_setJSON","_loadJSON","_set","_loadRemoteOptions","_loadOptions","dom","item","tagId","domContainer","currentOptions","oldIndex","old","canvasEl","existingCanvases","newItem","concat","floor","getElementById","querySelector","append","itemFromArray","findIndex","domItem","tagName","toLowerCase","getElementsByTagName","appendChild","loadCanvas","jsonUrl","response","data","fetch","sent","ok","statusCode","status","json","loadOptions","_x2","_x3","_x4","_x5","_x6","_callee4","_context4","loadRemoteOptions","_x7","_x8","_x9","_callee5","newId","newIndex","_context5","_x10","_x11","_x12","_x13","addClickHandler","Particle","ParticlesOptions_1","Shape_1","Vector3d_1","fixOutMode","isInArray","outMode","checkModes","coord","maxCoord","setCb","overrideOptions","group","_g","_h","_j","fill","close","lastPathTime","unbreakable","splitCount","misplaced","maxDistance","mainOptions","particlesOptions","ParticlesOptions","shapeType","shape","reduceDuplicates","overrideShapeType","shapeOptions","Shape","shapeData","loadShapeData","pathDelay","getValue","delay","zIndexValue","initParticle","sizeOptions","sizeRange","animation","getRangeMax","getRangeMin","loops","maxLoops","count","sizeAnimation","startValue","randomInRange","velocity","sizeAnimationSpeed","reduceFactor","sync","direction","getParticleDirectionAngle","inRange","initialVelocity","calculateVelocity","copy","moveDecay","decay","calcPosition","clamp","initialPosition","offset","origin","needsSort","lastZIndex","z","sides","loadShape","sideCountFunc","getSidesCount","life","loadLife","spin","spinPos","spinCenter","distance","getDistance","center","acceleration","spinAcceleration","shadowColor","particleInit","particleCreated","isInsideCanvas","canvasSize","getHslFromAnimation","roll","backColor","alter","alterHsl","strokeColor","override","particleDestroyed","mode","splitOptions","rate","addSplitParticle","tryCount","_step5$value","pluginPos","particlePosition","Vector3d","outModes","fixHorizontal","fixVertical","checkOverlap","collisionsOptions","collisions","overlapOptions","overlap","retries","overlaps","array","res","getParticleBaseVelocity","moveOptions","rad","radOffset","range","straight","setRangeValue","speed","lifeOptions","delayTime","time","Mover","moveParticle","moveParallax","particleOptions","slowFactor","getProximitySpeedFactor","baseSpeed","moveSpeed","moveDrift","drift","maxSize","applyPath","gravityOptions","gravity","gravityFactor","inverse","multTo","mult","maxSpeed","zVelocityFactor","velocityRate","addTo","vibrate","sin","cos","_ref","getDistances","dx","dy","dxFixed","abs","dyFixed","hDistance","vDistance","vel","applyDistance","updateFunc","maxCanvasSize","isSsr","events","onHover","parallax","parallaxForce","canvasCenter","parallaxSmooth","smooth","tmp","particlePos","dist","slowModeRadius","defX","defY","coords","atan2","updateFromAngle","sqrt","sub","getLengthSq","clone","_inherits","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","_Vector_1$Vector","_super","Particle_1","InteractionManager_1","Mover_1","nextId","zArray","mover","limit","freqs","triangles","interactionManager","QuadTree","Rectangle","getUpdaters","handled","particlesInitialization","addManualParticles","groups","groupOptions","j","number","addParticle","quantity","deleted","zIdx","removeAt","particlesToDelete","_particle","particleUpdate","insert","Point","_i2","_particlesToDelete","externalInteract","_particle2","particlesInteract","sort","nb","pushing","countToRemove","removeQuantity","pushParticle","hsl","sizeOffset","setTimeout","p3","id1","id2","id3","_ref2","_ref3","_ref4","manualParticles","applyDensity","manualCount","numberOptions","densityFactor","initDensityFactor","optParticlesNumber","optParticlesLimit","particlesNumber","particlesCount","filter","densityOptions","area","initializer","canAdd","ParticlesInteractorBase","detectRetina","devicePixelRatio","motionOptions","motion","disable","reduce","matchMedia","mediaQuery","handleMotionChange","handleChange","catch","addListener","ratio","attractDistance","linksDistance","orbit","orbitRadius","connectModeDistance","connectModeRadius","grabModeDistance","repulseModeDistance","bounceModeDistance","attractModeDistance","bubbleModeDistance","bubbleModeSize","moveDistance","matches","Attractor","ExternalInteractorBase_1","_ExternalInteractorBa","clickPosition","onClick","hoverMode","clickMode","mouseMoveStatus","mouseMoveEvent","hoverEnabled","clickEnabled","hoverAttract","clickAttract","attractRadius","processAttract","Circle","attractOptions","query","attractFactor","calcEasing","easing","normVec","subFrom","loadExternalAttractInteraction","Attractor_1","_loadExternalAttractInteraction","addInteractor","Bouncer","divs","onDiv","isDivModeEnabled","processMouseBounce","divModeExecute","selector","div","singleSelectorBounce","tolerance","processBounce","querySelectorAll","forEach","elem","offsetLeft","offsetTop","circleBounce","circleBounceDataFromParticle","mass","rectBounce","calculateBounds","loadExternalBounceInteraction","Bouncer_1","_loadExternalBounceInteraction","Bubbler","ProcessBubbleType_1","calculateBubbleValue","particleValue","modeValue","optionsValue","_value","divBubble","hoverBubble","clickBubble","singleSelectorHover","selectors","repulseRadius","contains","divMode","hoverBubbleSize","hoverBubbleOpacity","hoverBubbleColor","distMouse","timeSpent","bubbleParam","bubbleObj","optValue","bubbleDuration","bubbleDistance","particlesParam","particlesObj","pObjBubble","pObj","durationEnd","ProcessBubbleType","mouseClickPos","Date","getTime","clickTime","sizeData","process","opacityData","pointDistance","mouseLeaveEvent","modeSize","optSize","modeOpacity","optOpacity","bubbleOptions","finalColor","modeColor","bubbleColor","mix","pColor","rgbToHsl","colorMix","loadExternalBubbleInteraction","Bubbler_1","_loadExternalBubbleInteraction","Connector","distMax","xDiff","yDiff","loadExternalConnectInteraction","Connector_1","_loadExternalConnectInteraction","Grabber","grabLineOptions","lineOpacity","opacityLine","optColor","linksOptions","getLinkRandomColor","blink","consent","colorLine","getLinkColor","loadExternalGrabInteraction","Grabber_1","_loadExternalGrabInteraction","Repulser","divRepulse","hoverRepulse","clickRepulse","singleSelectorRepulse","processRepulse","repulseOptions","repulseFactor","repulseDistance","vect","setTo","loadExternalRepulseInteraction","Repulser_1","_loadExternalRepulseInteraction","TrailMaker","trailOptions","optDelay","canEmit","pauseOnStop","lastPosition","loadExternalTrailInteraction","TrailMaker_1","_loadExternalTrailInteraction","_ParticlesInteractorB","rotate","ax","ay","p1Factor","p2Factor","loadParticlesAttractInteraction","_loadParticlesAttractInteraction","Collider","radius1","round","resolveCollision","fps","_factor","loadParticlesCollisionsInteraction","Collider_1","_loadParticlesCollisionsInteraction","LinkInstance","linkParticle","pOptions","save","p1Links","getLinkFrequency","destination","link","vertices","vertex","getTriangleFrequency","drawLinkTriangle","drawLinkLine","restore","link1","link2","triangleOptions","opacityTriangle","pos3","colorTriangle","linkColor","lines","twinkleFreq","warp","Linker","getLinkDistance","optDistance","pos2NE","pos2SE","pos2SW","linkOpt1","CircleWarp","linkOpt2","setColor","loadParticlesLinksInteraction","loadInteraction","Linker_1","plugin_1","_loadInteraction","_loadParticlesLinksInteraction","loadPlugin","LinkInstance_1","Plugin","_loadPlugin","addPlugin","AnimatableColor","OptionsColor_1","HslAnimation_1","_OptionsColor_1$Optio","HslAnimation","colorAnimation","h","OptionsColor","GradientColorOpacityAnimation","GradientAngleAnimation","AnimatableGradientColor","GradientColorOpacity","GradientAngle","AnimatableGradient","AnimatableColor_1","colors","AnimationOptions","Background","BackgroundMask","BackgroundMaskCover_1","BackgroundMaskCover","ColorAnimation","FullScreen","ColorAnimation_1","ClickEvent","DivEvent","ids","elementId","replace","Events","ClickEvent_1","DivEvent_1","HoverEvent_1","HoverEvent","onclick","ondiv","onhover","Parallax_1","Parallax","Interactivity","Events_1","Modes_1","detectsOn","Modes","detect_on","active","Attract","Bounce","Bubble","BubbleDiv_1","_BubbleBase_1$BubbleB","BubbleDiv","BubbleBase","Connect","ConnectLinks_1","ConnectLinks","lineLinked","line_linked","Grab","GrabLinks_1","GrabLinks","Light","LightArea_1","LightShadow_1","LightArea","LightShadow","LightGradient_1","LightGradient","Bubble_1","Connect_1","Grab_1","Remove_1","Push_1","Repulse_1","Slow_1","Trail_1","Attract_1","Light_1","Bounce_1","Push","Remove","Repulse","Slow","Trail","particles_nb","RepulseDiv_1","_RepulseBase_1$Repuls","RepulseDiv","RepulseBase","ManualParticle","Motion","MotionReduce_1","MotionReduce","_Options_instances","_Options_findDefaultTheme","__classPrivateFieldGet","kind","Interactivity_1","BackgroundMask_1","Background_1","Theme_1","FullScreen_1","Motion_1","ManualParticle_1","Responsive_1","add","pauseOnBlur","themes","importPreset","retina_detect","fps_limit","backgroundMode","optResponsive","Responsive","maxWidth","theme","optTheme","Theme","defaultDarkTheme","defaultLightTheme","chosenTheme","find","mediaMatch","clientDarkMode","defaultTheme","defaultOptions","responsiveOptions","availWidth","WeakSet","BounceFactor_1","BounceFactor","_ValueWithRandom_1$Va","minimumValue","ValueWithRandom","Collisions","CollisionsOverlap_1","CollisionsOverlap","Destroy","Split_1","Split","SplitFactor_1","SplitRate_1","SplitFactor","SplitRate","Life","LifeDelay_1","LifeDuration_1","LifeDelay","LifeDuration","Links","LinksShadow_1","LinksTriangle_1","LinksShadow","LinksTriangle","blur","rotateX","rotateY","Move","Path_1","MoveAngle_1","MoveGravity_1","OutModes_1","Spin_1","MoveAngle","MoveGravity","Path","OutModes","Spin","out_mode","noise","PathDelay_1","PathDelay","Density","value_area","ParticlesNumber","Density_1","Opacity","OpacityAnimation_1","ValueWithRandom_1","OpacityAnimation","anim","_AnimationOptions_1$A","opacity_min","Orbit","OrbitRotation_1","AnimationOptions_1","rotation","OrbitRotation","Links_1","Move_1","ParticlesNumber_1","Opacity_1","Size_1","Rotate_1","Shadow_1","Stroke_1","Collisions_1","Twinkle_1","Life_1","Destroy_1","Wobble_1","Tilt_1","Roll_1","ZIndex_1","Orbit_1","AnimatableGradient_1","Roll","Rotate","Shadow","Size","Stroke","tilt","Tilt","Twinkle","wobble","Wobble","ZIndex","strokeToLoad","gradientToLoad","enabled","RollLight_1","RollLight","RotateAnimation_1","RotateAnimation","custom","mainKey","altKey","altOverride","SizeAnimation_1","SizeAnimation","size_min","TiltAnimation_1","TiltAnimation","TwinkleValues_1","TwinkleValues","Random","Infinity","ThemeDefault_1","ThemeDefault","auto","Random_1","AbsorberInstance","absorbers","dragging","draggable","downPosition","sizeFactor","absorberOrbit","needsNewPosition","updateParticlePosition","isPointInside","translate","beginPath","arc","closePath","fillStyle","percentPosition","orbits","minSize","absorberOrbitDirection","orbitAngle","orbitDirection","addV","Absorbers","AbsorberInstance_1","Absorber_1","interactivityAbsorbers","overridableContainer","getAbsorber","idxOrName","addAbsorber","Absorber","absorberOptions","absorber","modeAbsorbers","AbsorberClickMode","absorbersModeOptions","absorbersOptions","aPosition","AbsorberSize_1","AbsorberSize","AbsorberSizeLimit_1","AbsorberSizeLimit","loadAbsorbersPlugin","Absorbers_1","loadAbsorbers","needsPlugin","optionsCast","_absorberOptions","_loadAbsorbersPlugin","_EmitterInstance_firstSpawn","_EmitterInstance_startParticlesAdded","__classPrivateFieldSet","EmitterInstance","EmitterSize_1","ShapeManager_1","emitters","emitterOptions","currentDuration","currentEmitDelay","currentSpawnDelay","spawnDelay","ShapeManager","getShape","wait","spawnColor","EmitterSize","lifeCount","immortal","emitDelay","prepareToDie","emitParticles","startCount","emit","removeEmitter","hueAnimation","setColorAnimation","hslAnimation","pPosition","randomPosition","initValue","maxValue","colorOffset","emitFactor","WeakMap","Emitters","EmitterInstance_1","Emitter_1","interactivityEmitters","getEmitter","addEmitter","playEmitter","emitter","externalPlay","pauseEmitter","externalPause","Emitter","modeEmitters","EmitterClickMode","emitterModeOptions","emittersOptions","ePosition","EmitterShapeType","EmitterRate_1","EmitterLife_1","EmitterLife","EmitterRate","CircleShape","theta","randomTheta","atan","tan","maxRadius","randomRadius","randomSquareCoordinate","SquareShape","halfW","halfH","side","loadEmittersPlugin","Emitters_1","CircleShape_1","SquareShape_1","EmittersPlugin","_emitterOptions","_loadEmittersPlugin","addEmitterShape","addShape","InlineArrangement","MoveType","Type","Draw","DrawStroke_1","DrawStroke","lineWidth","stringToAlpha","Inline","arrangement","onePerPoint","LocalSvg","PolygonMask","Draw_1","Inline_1","LocalSvg_1","inline","scale","inlineArrangement","PolygonMaskInstance","PolygonMask_1","Enums_2","utils_1","dimension","path2DSupported","Path2D","polygonMaskMoveRadius","_initRawData","_downloadSvgPath","_initAsync","polygonMaskOptions","initRawData","redrawTimeout","clearTimeout","redraw","raw","paths","perPoint","drawPoints","randomPoint","polygonBounce","checkInsidePolygon","polygonDraw","rawData","path2d","path2dSupported","drawPolygonMaskPath","drawPolygonMask","_delta","outside","closest","pi","pj","calcClosestPtOnSegment","segmentBounce","noPolygonFound","xml","forceDownload","doc","DOMParser","parseFromString","svg","svgPaths","getTotalLength","parseFloat","getAttribute","parsePaths","svgUrl","req","text","t2","parseSvgPath","getRandomPoint","randomLength","getRandomPointByLength","equidistant","getEquidistantPointByIndex","getPointByIndex","noPolygonDataLoaded","point","getPointAtLength","totalLength","tot","pathDistance","pathData","matrix","createElementNS","createSVGMatrix","finalPath","transform","addPath","moveTo","lineTo","downloadSvgPath","join","createPath2D","SVGPathSeg","typeAsLetter","owningPathSegList","pathSegType","pathSegTypeAsLetter","_owningPathSegList","classname","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_REL","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","_segmentChanged","segmentChanged","SVGPathSegClosePath","_asPathString","SVGPathSegMovetoAbs","_y","SVGPathSegMovetoRel","SVGPathSegLinetoAbs","SVGPathSegLinetoRel","SVGPathSegCurvetoCubicAbs","x1","y1","x2","y2","_x1","_y1","_y2","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegArcAbs","r1","r2","largeArcFlag","sweepFlag","_r1","_r2","_angle","_largeArcFlag","_sweepFlag","SVGPathSegArcRel","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathElement","createSVGPathSegClosePath","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoRel","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","getPathSegAtLength","isFinite","measurementElement","setAttribute","lastPathSegment","pathSegList","numberOfItems","removeItem","SVGPathSegList","pathElement","_pathElement","_list","_parsePath","_mutationObserverConfig","attributes","attributeFilter","_pathElementMutationObserver","MutationObserver","_updateListFromPathMutations","bind","_checkPathSynchronizedToList","_pathSegList","takeRecords","mutationRecords","hasPathMutations","record","attributeName","_writeListToPath","disconnect","_pathSegArrayAsString","pathSeg","initialize","_checkValidIndex","isNaN","getItem","insertItemBefore","replaceItem","appendItem","pathSegArray","string","first","Builder","appendSegment","Source","_string","_currentIndex","_endIndex","_previousCommand","_skipOptionalSpaces","_isCurrentSpace","_skipOptionalSpacesOrDelimiter","charAt","hasMoreData","peekSegmentType","lookahead","_pathSegTypeFromChar","_nextCommandHelper","previousCommand","initialCommandIsMoveTo","command","_parseNumber","exponent","integer","frac","decimal","sign","expsign","startIndex","startIntPartIndex","scanIntPartIndex","multiplier","_parseArcFlag","flag","flagChar","parseSegment","points","arcAngle","arcLarge","arcSweep","builder","__setModuleDefault","__importStar","mod","loadPolygonMaskPlugin","PolygonMaskInstance_1","polygonOptions","_loadPolygonMaskPlugin","strokeStyle","segments","segment","svgPathSeg","absSeg","relSeg","s1","s2","dxx","dyy","isOnSegment","wallAngle","wallNormalX","wallNormalY","CircleDrawer","loadCircleShape","CircleDrawer_1","_loadCircleShape","_ImageDrawer_images","ImageDrawer","_loadImageShape","_loadImagesFromParticlesOptions","containerImages","getImages","manualParticle","interactiveEmitters","_emitter","loadImagesFromParticlesOptions","idx","imageOptions","optionsImage","groupName","loadImageShape","imageShape","imageFunc","replaceColor","downloadSvgImage","loadImage","src","addImage","svgData","globalAlpha","drawImage","imageRes","imageData","svgColoredData","replaceColorSvg","Blob","domUrl","URL","webkitURL","createObjectURL","img","Image","replace_color","pImage","revokeObjectURL","img2","substr","_downloadSvgImage","includes","preFillIndex","substring","ImageDrawer_1","imageDrawer","LineDrawer","loadLineShape","LineDrawer_1","_loadLineShape","PolygonDrawer","_PolygonDrawerBase_1$","nb_sides","denominator","numerator","PolygonDrawerBase","getCenter","getSidesData","sideCount","decimalSides","interiorAngleDegrees","interiorAngle","TriangleDrawer","loadPolygonShape","loadTriangleShape","loadGenericPolygonShape","PolygonDrawer_1","TriangleDrawer_1","_loadGenericPolygonShape","_loadTriangleShape","_loadPolygonShape","SquareDrawer","fixFactor","rect","loadSquareShape","SquareDrawer_1","_loadSquareShape","StarDrawer","inset","loadStarShape","StarDrawer_1","_loadStarShape","TextDrawer","validTypes","promises","loadFont","allSettled","textData","textParticle","randomIndexData","weight","font","fillText","strokeText","loadTextShape","TextDrawer_1","_loadTextShape","AngleUpdater","rotateOptions","rotateDirection","rotateAnimation","updateAngle","loadAngleUpdater","AngleUpdater_1","_loadAngleUpdater","addParticleUpdater","ColorUpdater","updateColorValue","valueAnimation","decrease","colorValue","hslColor","getHslAnimationFromHsl","animationOptions","updateColor","loadColorUpdater","ColorUpdater_1","_loadColorUpdater","LifeUpdater","justSpawned","widthRange","heightRange","loadLifeUpdater","LifeUpdater_1","_loadLifeUpdater","OpacityUpdater","updateOpacity","minValue","checkDestroy","opacityOptions","opacityAnimation","opacityRange","loadOpacityUpdater","OpacityUpdater_1","_loadOpacityUpdater","OutOfCanvasUpdater","updateOutMode","newPos","sizeValue","nextBounds","particleBounce","bounds","pRadius","bounced","newVelocity","minPos","loadOutModesUpdater","OutOfCanvasUpdater_1","_loadOutModesUpdater","RollUpdater","rollOpt","alterType","updateRoll","loadRollUpdater","RollUpdater_1","_loadRollUpdater","SizeUpdater","updateSize","sizeVelocity","loadSizeUpdater","SizeUpdater_1","_loadSizeUpdater","StrokeColorUpdater","strokeWidth","strokeHslColor","_k","updateStrokeColor","loadStrokeColorUpdater","StrokeColorUpdater_1","_loadStrokeColorUpdater","TiltUpdater","tiltOptions","sinDirection","cosDirection","tiltDirection","tiltAnimation","updateTilt","loadTiltUpdater","TiltUpdater_1","_loadTiltUpdater","WobbleUpdater","wobbleOpt","wobbleDistance","updateWobble","loadWobbleUpdater","WobbleUpdater_1","_loadWobbleUpdater","drawEllipse","drawShapeAfterEffect","drawShape","NumberUtils_1","ColorUtils_1","drawLine","begin","end","afterEffect","fillRect","clearRect","drawn","pi1","pi2","endNE","d1","yi","endSW","d2","xi","endSE","d3","_yi2","globalCompositeOperation","shadowBlur","drawTriangle","gradStop","color1","color2","sourcePos","destPos","midRgb","grad","createLinearGradient","addColorStop","rollOptions","rollHorizontal","rollVertical","setTransform","shadowOffsetX","shadowOffsetY","gradientAngle","fillGradient","createRadialGradient","rotationRadian","ellipse","Range_1","_Range_1$Range","xDist","yDist","w","edges","Range","Rectangle_1","Circle_1","_Circle_1$Circle","posNE","posSE","posSW","biggerCircle","rectSW","getStyleFromHsv","getRandomRgbColor","rgbaToHsva","rgbToHsv","hsvaToRgba","hsvToRgb","hsvaToHsla","hsvToHsl","hslaToHsva","hslToHsv","hslaToRgba","hslToRgb","stringToRgb","Constants_1","hue2rgb","q","tCalc","stringToRgba","input","startsWith","exec","parseInt","_result","_result2","hexFixed","_m","_result3","useIndex","randomColorValue","colorSelected","rgbColor","rgb","hsvColor","hsv","g1","b1","hslPercent","hsla","rgbResult","sv","sl","tempRgb","hsvPercent","hsva","rgbPercent","xMax","fixedMin","size1","size2","rgb1","rgb2","hsvResult","hslResult","rgba","sourceColor","destColor","midColorValue","resColor","touchEndEvent","mouseDownEvent","mouseUpEvent","touchStartEvent","touchMoveEvent","mouseOutEvent","touchCancelEvent","resizeEvent","visibilityChangeEvent","_toConsumableArray","manageListener","event","handler","addOptions","passive","capture","removeOptions","removeEventListener","canPush","mouseMoveHandler","mouseTouchMove","touchStartHandler","touchMoveHandler","touchEndHandler","mouseTouchFinish","mouseLeaveHandler","touchCancelHandler","touchEndClickHandler","mouseTouchClick","mouseUpHandler","mouseDownHandler","mouseDown","visibilityChangeHandler","handleVisibilityChange","themeChangeHandler","handleThemeChange","oldThemeChangeHandler","resizeHandler","handleWindowResize","manageListeners","detectType","parentElement","parentNode","removeListener","interactivityEl","html","pointerEvents","ResizeObserver","resizeObserver","unobserve","resizeTimeout","windowResize","hidden","clientRect","currentTarget","sourceRect","targetRect","_canvasRect","mousePosition","clickPositionValid","doMouseTouchClick","handleClickMode","themeName","loadTheme","pushNb","removeNb","pushOptions","collisionVelocity","pointA","pointB","num","comp1","comp2","weight1","weight2","baseVelocity","v1","v2","m1","m2","c1","interactorsInitializers","updatersInitializers","interactors","pathGenerators","getPlugin","presetKey","values","initInteractor","initUpdater","CircleWarp_1","capacity","divided","northEast","northWest","southEast","southWest","subdivide","containerOrSize","found","intersects","w2","h2","singleDivModeExecute","areBoundsInside","arrayRandomIndex","rectSideBounce","pSide","pOtherSide","rectSide","rectOtherSide","checkSelector","_loadFont","fonts","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","handle","cancelAnimationFrame","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","fixedIndex","sources","_sources","sourceIsArray","isObject","destDict","_divMode","_divMode2","getMass","xVelocityDiff","yVelocityDiff","u1","u2","vFinal1","vFinal2","divBounds","resH","resV","loadFull","slim_1","plugin_2","plugin_3","_loadFull","loadSlim","pJSDom","particlesJS","Main","pjs_1","main_1","full_1","initPjs","_Main_initialized","Loader_1","_addParticleUpdater","_addInteractor","_addPathGenerator","_addPlugin","_addPreset","_addShape","_refresh","_load","_loadFromArray","pathConfigJson","setJSON","_x14","_x15","setOnClickHandler","_callee6","_context6","_callee7","customDrawer","_context7","addShapeDrawer","_x16","_x17","_x18","_x19","_x20","_callee8","_args8","_context8","addPreset","_x21","_x22","_callee9","_context9","_x23","_callee10","_context10","addPathGenerator","_x24","_x25","_callee11","interactorInitializer","_context11","_x26","_x27","_callee12","updaterInitializer","_context12","_x28","_x29","main","Image_1","Polygon_1","Star_1","Attract_2","Square_1","StrokeColor_1","Color_1","Angle_1","Line_1","Text_1","_loadSlim","global","isCallable","tryToString","argument","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","O","uncurryThis","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","tag","tryGet","callee","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","DESCRIPTORS","createPropertyDescriptor","bitmap","fails","EXISTS","getBuiltIn","version","userAgent","Deno","versions","v8","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","aCallable","that","Function","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","callBind","aFunction","namespace","method","classof","getMethod","Iterators","ITERATOR","anObject","getIteratorMethod","usingIterator","iteratorMethod","V","P","func","check","globalThis","toObject","propertyIsEnumerable","store","functionToString","inspectSource","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","ArrayPrototype","replacement","feature","detection","normalize","POLYFILL","NATIVE","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","isArrayIteratorMethod","getIterator","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","innerResult","innerError","toLength","V8_VERSION","getOwnPropertySymbols","symbol","PromiseCapability","C","promise","$$resolve","$$reject","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","Attributes","propertyIsEnumerableModule","$getOwnPropertyDescriptor","internalObjectKeys","getOwnPropertyNames","names","$propertyIsEnumerable","NASHORN_BUG","pref","val","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","InternalStateModule","CONFIGURABLE_FUNCTION_NAME","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","uid","SHARED","IS_PURE","copyright","toIntegerOrInfinity","IndexedObject","requireObjectCoercible","ceil","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","NATIVE_SYMBOL","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","$","newPromiseCapabilityModule","perform","iterate","capability","promiseResolve","counter","remaining","alreadyCalled","reason","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","classCallCheck","createClass","defineProperties","_extends","objectWithoutProperties","possibleConstructorReturn","encodeSpecialCharacters","str","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","rafPolyfill","now","currentTime","cafPolyfill","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","title","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","attribute","indexToSave","removeAttribute","tags","headElement","head","tagNodes","indexToDelete","newElement","innerHTML","styleSheet","cssText","createTextNode","some","existingTag","isEqualNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","meta","noscript","script","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","propTypes","defaultTitle","titleTemplate","mappedState","renderStatic","Fragment","config","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","ctor","awrap","async","pop","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode"],"sourceRoot":""}